30.05.2017 Views

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!