Disruption is a cliché currently used to communicate the idea of radical change that technology is bringing to commercial life: new technologies, new models of working and new companies, so the story goes, are ripping old industries apart.
The idea of disruption might provide a sexier headline but a deeper undertow in the new economy is convergence: things coming together.
In the media industry the internet is shredding the regional press with local papers closing at a hectic rate. but, traditional newspapers, TV and Radio networks are converging on the same model as online multimedia news sites, offering video, podcasts, text journalism and photojournalism, (Recently the Daily Telegraph in Britain was auditioning among its newsroom journos for TV broadcasters).
This drive is paralleled in Telco companies: they used to just sell mobile network services but are now bundling those with TV and broadband.
And it’s happening in the the web development business as well: more functionality is being taken from the server back-end and loaded onto the front-end.
According to the graph below from Ohloh, Angular and Ember JS have zoomed in from nowhere to become two of the leading app development frameworks.
There’s currently a shortage of Angular developers but this particular tech demographic is growing all the time and The Huffington Post reports that requests for extensions of Backbone JS and Knockout JS have dropped as Angular surges.
It was conceived by a group of independent coders and was incubated in Google after they joined the company. Miško Hervey, one of Angular’s founders, first applied the technology on the partial rewrite of DoubleClick while working for Google; he reduced a 6 month project of 17,000 lines of Java to approx 1,000 lines of JS written in 3 weeks!
Today Angular is an open source project maintained by Google. An arrangement that isn’t without tension but also one that hasn’t inhibited Angular’s uptake.
The idea behind the framework was to give HTML an extended vocabulary that makes it much more potent and dynamic.
Traditionally HTML is a markup language that’s static and gives a web page its structure. This extended HTML functionality contains the directives that makes Angular distinct from other JS frameworks.
“It started back, I think, in 2009. Back then it was just a thing that I started with a friend of mine. We wanted to see if we could make it easier for Web designers, not necessarily Web developers, but Web designers, to sprinkle a little bit of extra HTML into their code…”
Misko Hevery talking to InfoWorld 29th October 2013.
An important feature is Data Binding: This connects the HTML elements which display data, with variables in the Model part of the MVC. The HTML display the initial model variables it’s bound to but when a user inputs data the variables in the model are updated as well.
Angular also enables URLs to be routed or mapped to selected controllers or templates, whether this is via an app button or the forward and back buttons in the browser, or a bookmark.
Another aspect of the framework is dependency injection, this automates how different parts of the Model View Controller (MVC) framework operate together. It makes testing Angular applications much more effective.
Dependency injection works by passing or injecting a component client with an external service (on which a client component depends); if the service’s code changes the injection process means that the client doesn’t need to know the details of the changes because locating and accessing the service is taken over by a third party component, the injector.
More with Less
All these features allow Angular developers to obviate the copious amount of code that would otherwise be necessary to have the same functionality in the application.
It’s major selling point is irresistible: it offers more power in a single page application for less code. It’s optimising coding and pushing the industry along a path where designers and non-developers with a great business idea can switch focus from coding and focus instead on the market and customer.
Angular is, however, a work in progress, documentation is improving and version 2.0 has been announced but release is still in prototype stage.
The plan is to make it future proof and target evergreen browsers that are updated automatically. Also, it will be a framework for mobile apps, an acknowledgement that mobility whether on Smartphones or wearables is the future of consumer tech.