Why SSW is moving to AngularJS and MVC – Great for users and great for devs

AngularJS-hearts-NET

Over the last 6 months, AngularJS has become the frontend framework of choice for SSW developers. They are all excited to be leveraging the combination of AngularJS and MVC in order to provide amazing user experiences.

Senior developers at SSW are excited to use AngularJS to make more responsive client side applications with a clear Separation of Concerns (SoC).

“Basically it’s MVC for your client side”
Mark Liu – Solution Architect at SSW

The pace at which new JavaScript technologies are released is frightening. Angular is currently at version 1.3 and we have had increasing success with those projects. When 2.0 comes it will no doubt be a major change. Whilst some semantic changes are going be paper cuts to many developers, overall we are excited with the suite of improvements that 2.0 brings to the table. It certainly builds on the solid foundations already laid.

FireBootCamp.com attendees found using AngularJS and MVC an enlightening experience while building sswlinkauditor.com. Having the front end being able to leverage the backend power with technologies such as Microsoft Azure and ASP.NET WebAPI2 made AngularJS sing.

“What I loved about Angular was we were able to easily update live data and move between webpages without refreshing.”
Duncan Hunter – FireBootCamp Attendee

AngularJS delivers a better user experience while building maintainable and scalable web applications for the reasons outlined below:

1. Great for users

The main benefit of using AngularJS is it delivers a great user experience. An example of this is Gmail from Google which allows a user to search, read and compose emails all on a single page with no refreshing while being superfast. This type of Single Page Application (SPA) style is more intuitive, fast and smooth and is what AngularJS can help achieve.

Until now, the necessary evil of having to wait for a web application to load while watching a spinning disc or even worse just a blank white screen, have plagued users. AngularJS helps to alleviate this problem by removing the need to refresh the page each time the developer wants to update the UI. AngularJS means a fast and fluent user experience.

The great user experience examples do not stop at page refreshes. There are hundreds of examples from live streaming data for chart updates to instant form validation that help enhance a user’s experience. Previously these types of UI magic were complicated and time consuming to create.

2. Great for developers 

SSW has loved Knockout for years because of its simple two way data binding abilities and it is still a great option, but it is missing many other features AngularJS has. AngularJS provides routing, directives, animations and more making it a more complete frontend framework.

Basic, static CRUD screens may still be faster to build with vanilla MVC thanks to the awesome unobtrusive validation and intellisense support for strongly-typed models within razor. As soon as your forms require dynamic elements, or if you want to improve user experience by eliminating page refreshes, AngularJS brings a huge productivity and maintainability improvement over custom JavaScript and JQuery code.

AngularJS helps developers to make maintainable code for the front end, which previously could end up being a large mess of untestable custom JavaScript. AngularJS was built to be testable and even their official tutorial demonstrates unit tests and end-to-end tests.

AngularJS uses the familiar and standard Model View Controller pattern with Dependency Injection helping keep to the principal of ‘Separation of Concerns’ for different pieces of the code base. This helps make scaling or changing the code base a manageable task.

3. Has a large and increasing market share

AngularJS is by far the most popular frontend framework (see figure 1) but with a new framework being released almost every week it is important to invest in one which has the best promise for a long life span.

There are two main reasons why AngularJS promises to continue to grow and be well supported. Firstly AngularJS is built by Google who have a dedicated full time AngularJS development team which is bigger than most other frontend framework teams, often being run by only a handful or core developers on top of their day jobs.

AngularJS-vs-KnockOutJS

Figure: AngularJS wins the market share on Google (see http://www.google.com/trends/ )

4. A large active community

AngularJS has a thriving open source community contributing to its progression, helping ensure it will not just fizzle out. On GitHub AngularJS has 30k+ likes, over 1k+ contributors, 5K+ commits and is in the top five trending JavaScript repositories each month (see figure). Looking at the GitHub statistics alone makes the future lifespan of AngularJS look very strong.

 

AngularJS-contributors

 

Figure: 1041 contributors for AngularJS – that makes it pretty popular (see https://github.com/angular/angular.js )

5. Awesome third party tools

AngularJS has a big advantage over other frontend frameworks because it has a big number third party tools, both open source and commercial. Popular tools like Telerik’s Kendo UI for example have a suite of frontend charts and widgets fully compatible with Angular UI. However you are spoiled for choice with the open source Angular D3 charts, this being just one example of the numerous third party tools available and growing daily.

 6. The future is 2.0

The next version AngularJS 2.0 is already being built in ecmascript 6, the next version of JavaScript that is due out sometime next year. This puts AngularJS as a framework in the best position to take advantage of future improvements in the JavaScript language and the DOM APIs.

 

Moving to Angular was evolutionary for SSW, not a move to the Virgo Supercluster. SSW will continue to build great enterprise websites and I am excited that most of these in 2015 will be built with AngularJS and MVC. We will keep refining our best practices and how to deliver the best user experience available with a solid, maintainable backend.

Want to get started with AngularJS? Catch SSW’s upcoming webinar, hosted by Ben Cull, to learn how you can combine AngularJS and ASP.NET MVC for next generation web applications.