What Is the Angular Framework and Why Should Developers Use It?

Today, Angular is thriving, following Angular 2’s launch in September 2016. But every great framework has a beginning, an early stage from whence it came in the development world.

Angular 1 was introduced in October 2014 as a new framework to enable developers to build complex applications for mobile and Web platforms. Since then, Angular has become a cornerstone for many within the developer community. For fledgling developers just beginning to use it, and for seasoned veterans with an interest in its history, let’s take a moment to examine Angular and consider the fundamentals: What did the early days of Angular look like? Who is responsible for maintaining Angular? Who should (and should not) use Angular? What other options are out there?

The Initiation of Angular

In 2009, developers Miško Hevery and Adam Abrons unveiled a side project called <angular />. The project aimed to help Web designers and developers build Web apps with simple HTML tags. Abrons came up with the name “Angular,” associating it with HTML’s angle brackets (for example: <div>).

“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 so that they could turn a static form to something they could actually send in an email,” said Hevery in a 2013 interview. “The idea would be that you could have a mom-and-pop shop that sells pizza or something, maybe you could [have] a simple ordering system just by adding a bunch of these tags and they could send an email to the server.”

Although it’s not for the pizza shop example, the code below shows how it’s relatively easy to put together a Web-based form using Angular to capture and deliver information for a variety of purposes:

<div ng-app="myApp" ng-controller="formCtrl">
 <form>
    First Name: <input type="text" ng-model="firstname">
 </form>
</div>

<script>
var app = angular.module('myApp', []);
app.controller('formCtrl', function($scope) {
    $scope.firstname = "John";
});
</script>

This idea led to Hevery and Abron’s development of the first iteration of the Angular framework. Shortly after Hevery and Abrons released Angular, Hevery began working at Google. There, he worked on Google Feedback, a project that he convinced his manager to rewrite with his own Angular project. Angular ended up saving the team a substantial amount of coding and time (roughly six months reduced to three weeks), which thoroughly convinced Google of Angular’s prowess and potential.

From this Angular-fueled rewrite of Google Feedback, the team open sourced the library and released Angular 1 in May 2011. Fast forward to today: More than 1.5 million developers are using Angular for their Web and app development endeavors.

Angular Maintenance Today

Today, the Angular Core Team consists of a worldwide group and the Angular developer community. Most day-to-day development is still done by teams at Google, and all the top contributors to Angular work at Google.

While Google controls Angular, the Angular library is very much a community effort. Over two thousand people have contributed to the open-source Angular repositories, and there are a plethora of community-scribed tutorials and guides. Numerous companies today provide training and tooling around the Angular framework for developers to leverage.

Angular: What is it Good For?

It’s no secret why this impressive number of developers use Angular: It’s a superior-to-many JavaScript framework whose library offers features that make it super easy to implement complex requirements of modern apps (like data binding, routing and animations). And, Angular is one of a few JavaScript libraries that gives developers a style guide with guidelines on how to structure and build apps with the framework. Applications that must run in multiple environments benefit from the Angular framework.

Angular can be used to build virtually anything. However, Angular works the best in non-trivial applications that involve collecting data from forms and then doing something with that data. (Take a look the list of Angular applications made to see this theme.) While most Angular tutorials out there will guide developers through setting up a form-based app, developers can use Angular to build games, and even applications with virtual reality elements.

Angular 1 or 2?

An updated version of Hevery’s original Angular library, version 1 from 2011, is still available for developers to use. In nearly all use cases, developers should use the most recent version of Angular for new projects. The modern Angular is a redesigned version of the original library meant for newer browsers, workflows and platforms.

Angular 1 doesn’t allow usage of its library outside of Web browsers, so developers can’t leverage libraries like NativeScript for building native mobile applications. Yes, the Angular team at Google has made a commitment to maintaining the Angular 1 framework for the foreseeable future, but developers should not assume that this means forever.

When You Should Look at Other Options

Angular is well-suited for large and complex applications. However, it is not the simplest or smallest JavaScript framework. If a developer is building a smaller app, they’re better off using a simple library like jQuery. Given its boilerplate code and conventions, the Angular framework is best for applications being built by medium or large teams.

Ember and ReactJS are two competitors to Angular’s frameworks. Like Angular 2, Ember is fully featured. Ember does not provide developers with a way to run code on multiple platforms; as Ember is a framework for Web apps only, you can’t use it (like Angular or React) to create native mobile apps with NativeScript or React Native respectively. Therefore, developers using Ember can’t share code across multiple development environments.

React, with React Native, does let developers run code on multiple platforms. Compared to Angular, React is a more minimal framework, so developers must use different community-written tools for their app. Conversely, the Angular framework maintains these dependencies in the core project.

Why Developers Should Choose Angular

Yes, Angular is not the most simple or easy-to-use framework out there. It takes time to fully understand some of the concepts that Angular builds on. But once developers get a grasp on Angular, they’re able to achieve powerful results with a small amount of code. Let’s say you want to add data binding, or build a form to drive an app, and then want the form to have validation and two-way data binding – you can do all that with Angular, and there are guides to teach you how.

With Angular, developers have an amazingly robust, well-documented framework to build powerful applications. Millions of developers around the world can attest to that. The Angular community, supported by guides, Google searches and Stack Overflow, is a force to be reckoned with.

TJ VanToll TJ VanToll is a front-end developer, author, and a Principal Developer Advocate for Progress. TJ has over a decade of web development experience, including a few years working on the jQuery team. Nowadays, he spends his time helping web developers build mobile apps through projects like NativeScript.

Comments

Comments(2)

Robert Bernstein

Thanks for your thoughts on this and the links to other relevant content.  I agree with you on Angular 2, but is there any reason you didn't cover Aurelia as well?  I understand this is the other major player in this space.