by Geertjan WeilengaPresentation was based on this article
The industry is ever changing and the latest changes introduced 3 new concepts :
- The concept of multiple devices requiring responsive UI design
- Browsers are everywhere (and by everywhere I mean everywhere, my watch has one)
- Single page applications (SPA)
This caused a few changes to the way we use existing frameworks :
- HTML is now an application framework and not just a text markup language
- CSS is now all about media
- An entire universe of frameworks and tools
Here are the 10 tips that Geertjan gave :
Resist the hype
If it weren't in first place I'd put it there, but it seems that me and him are on the same page. One good pattern is to consider supplementing an existing application instead of changing it, e.g. adding mobile functionality. Another question one might want to ask himself is "do my users actually need this", before embarking on a holy crusade aimed at changing the technology or/and architecture of the application.
Think of HTML as an application framework
"HTML has become a lot more interesting"
CSS i also different than what it used to be
CSS is now capable of creating media queries and thus creating UIs that are rendered in a different way depending on the size of the display of the devices used. See example here.
Response.js is a framework that fully takes into account responsiveness allowing you to define breakpoints and then executing specific actions when these breakpoints are hit.
Evaluate framework vs. library
If Angular is not for me than perhaps I need to build my own framework? There are a lot of libraries which could be used, in combination, so that specific goals are met, some of them include:
- dojo tookit
- Gulp (a better version of Grunt)
- Brunch (a better version of Gulp)
- Knockout (focuses on only one thing - two-way data binding)
- AngularJS (focuses on all-in-one-solution)
- React (the new AngularJS)
Component libraries such as :
- Bootstrap UI
- Yeoman - good for scaffolding
- Node JS - a full fledged JS backend server
EcmaScript 6.0 comes with built in modularity, but in older versions this could be achieved with require.js or Browserfy.
Evaluate the abstractions
Do not worry about volatility
From WORA to WANTA
Write Once Run Everywhere to Write Once, Never Touch Again
Evaluate corporate frameworks
- DoubleClick by Google
- SpectIngular by ING (based on Angular)
- Salesforce Lightning Platform by Salesforce
- MobileFirst Platform Foundation by IBM
- Oracle JET by Oracle
Most of them combine a lot of other frameworks inside them and act as aggregators.
- Never try to read it
- Instead transpire to it from other more friendly languages
- DukeScript - has a view layer in HTML, everything else is in Java, uses maven archetypes