Web_Designer_Issue_262_2017
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Which front-end frameWork?<br />
FRAMEWORKS: SIMPLIFY YOUR WORKFLOW<br />
frameworks can help you develop better, faster<br />
code. but is it worth the efort to learn one?<br />
When we talk about front-end frameworks,<br />
fundamentally we’re thinking of collections of<br />
tools and libraries that aim to simplify web<br />
development practices. You’ve probably heard of<br />
some of these or used them already; Angular and<br />
React are currently the most popular.<br />
The strongest argument for the use of<br />
frameworks is looking at the problems that exist in<br />
‘vanilla’ web development: convoluted code, lack<br />
of modularity and a great deal of time devoted to<br />
building basic functionality. Frameworks solve this<br />
by ofering a layer of abstraction between the code<br />
written by a developer and that which is rendered<br />
by the browser, providing simplified ways of<br />
achieving common requirements. Essentially, you<br />
no longer have to worry about implementation<br />
details for simple things like manipulating the<br />
DOM. Frameworks also generally focus around<br />
component-driven development, which can make a<br />
huge diference to the maintainability of a page.<br />
For many years, jQuery was the go-to<br />
abstraction solution for web developers. However,<br />
as app complexity has increased, the need has<br />
emerged for more extensive rethinks of how we<br />
develop for the web. As a result, there is now a<br />
proliferation of front-end frameworks, each with a<br />
diferent opinion on how things should be done.<br />
Along with Angular and React, we also have<br />
Backbone, Ember, Vue and more. In spite of their<br />
diferences, ultimately each of these will ofer<br />
improved code organisation and reuse, while<br />
helping to enforce good design patterns.<br />
There are downsides to framework use,<br />
however. Each comes with its own learning curve<br />
and often an ‘opinionated’ design, which forces<br />
developers to adhere to design patterns that the<br />
framework author considers correct. For many the<br />
learning curve will be overcome quickly through<br />
improved productivity. But perhaps the biggest<br />
watch-out when adopting frameworks is how<br />
quickly the marketplace is changing. It’s possible<br />
to learn a framework then find it discontinued or<br />
redesigned, as many found with AngularJS. You<br />
need to be prepared to keep up with the latest<br />
releases, updating code when needed.<br />
A HISTORY OF THE WEB<br />
1991<br />
birth of the world wide web<br />
The first ever website is published,<br />
describing the project itself<br />
1993<br />
html<br />
The venerable HTML<br />
specification is published<br />
for the first time<br />
amazingly, the world wide web is only 26 years old. it’s come a tremendous way, and a look at its<br />
history helps understand why we need frameworks to manage the increasing complexity of apps<br />
1995<br />
Javascript<br />
A scripting language is<br />
introduced to enable more<br />
dynamic pages<br />
2004<br />
web 2.0<br />
The term <strong>Web</strong> 2.0 is coined<br />
to describe the emergence of<br />
user-generated content<br />
1996<br />
flash<br />
The release of Flash opens up<br />
never-before-seen freedom<br />
for page design<br />
1996<br />
css<br />
Cascading style sheets<br />
are introduced to separate<br />
presentation from content<br />
2006<br />
Jquery<br />
Limitations are becoming<br />
apparent. jQuery is released to<br />
help simplify development<br />
2007<br />
mobile<br />
The iPhone is released,<br />
marking a huge shift towards<br />
mobile web browsing<br />
2008<br />
html5<br />
The first working draft of<br />
HTML5 is published, allowing<br />
for a richer web experience<br />
2010<br />
knockout.Js<br />
2010<br />
angularJs<br />
The first release of Angular, which<br />
would quickly become one of the<br />
most popular frameworks on the web<br />
2010<br />
backbone.Js<br />
2011<br />
ember.Js<br />
2009<br />
node.Js<br />
Server-side JavaScript rapidly<br />
gains ground after the release<br />
of Node<br />
2012<br />
meteor.Js<br />
IF YOU’RE SLIGHTLY BEWILDERED BY THE WIDE RANGE<br />
OF WEB FRAMEWORKS, TOOLS AND LIBRARIES, THE<br />
GOOD NEWS IS THAT IT ISN’T JUST YOU. THERE’S A<br />
HUGE AMOUNT OF CHOICE OUT THERE. RESEARCH AND<br />
EXPERIMENTATION WILL HELP YOU FIND ONE THAT<br />
SUITS YOUR STYLE THE BEST, AND YOU’LL QUICKLY SEE<br />
GREAT IMPROVEMENTS IN PRODUCTIVITY.<br />
Simon Jones<br />
Software engineering director<br />
feature ________________________________________________________________ 67