The Advent of Agile Software Development Methodology
Fri 12/10/2018 25m read 5160 views
Angular once upon a time
Prior to the year 2005, when ‘web development’ job was still a hundred percent handled by a Web Developer, there was no clear distinction between the Front-End Developer & the Back-End Developer as it is nowadays. At the time, Web Developers had to be familiar with some programming languages such as C #, PHP or Java to program on the server side. They should also be knowledgeable about HTML and CSS. Back then, Javascript was pretty useless because most of the logics resided on the server side, and JS was only used for validation purpose or creating a few simple effects.
However, things are getting more dynamic from 2005 to 2010, with the arrival of Ajax, jQuery, and AngularJS. JavaScript has gradually gained more space in the web development industry, and the front-end developer position has since appeared.
The success of jQuery has made JavaScript more popular because of its simplicity and ease of use. Developing a website using AJAX is not that difficult, you can use jQuery to do this with ‘$.ajax’. Nevertheless, building a software that is scalable, easy to test, upgrade and maintain is not simple since JavaScript itself was not designed in the first place to cover these things. Subsequently, frameworks that support developer in building web applications systematically were emerged.
The History of AngularJS
AngularJS was originally developed in 2009 by Google’s developer Miško Hevery as a ‘fun side’ project. At the moment, Miško and his team were engaged in a Google project called Google Feedback. With AngularJS, Miško has reduced the number of front-end codes from 17,000 lines to about 1,500 lines. Upon that success, the Google Feedback team decided to open source AngularJS. Currently AngularJS project has nearly 59,000 followers and more than 29,000 forks. It is still a widely used framework to date.
AngularJS: An Overview
AngularJS is a structured framework for dynamic web applications. It allows you to use HTML as a template language and allows you to extend the HTML syntax to express your application components in a clear and concise fashion. Two core features of AngularJS (Data Binding and Dependency Injection) eliminate most of the codes you usually have to write. It works in all browsers, making it the ideal cooperator of any Server-side technology.
AngularJS: What About Its Advantages and Disadvantages
Advantages
- Enable the creation of applications in a simple way with ‘clean’ code.
- Utilize data binding similarly to .NET with HTML linking features to make it easier for developersto use
- Run on most browsers including mobile ones.
- Provide the ability to reuse components.
- Unit test can be done easily.
Disadvantages
- Unsafe: Developed from JavaScript and thus it is not secure, server side must regularly do authorization for the system to run safely.
- If end users disable JavaScriptengine, they can see nothing ratherthan a blank page.
Angular 2: The Beginning
In the turbulent era of the Front-End development, when new technologies and frameworks came out very fast, AngularJS the ‘big boss’ also has to yield to the other ‘younger’ and ‘stronger’ ones such as ReactJS, VueJS.
What opportunities for the Angular Team to regain their lost position?
Finally, on September 14, 2016, they released Angular 2, a version that completely transformed from previous versions of 1.x.x.
The appearance of Angular 2 does not mean that Angular 1 is not good enough to serve the web development needs. Nor does it mean Angular 1 will stop working immediately as soon as Angular 2 is officially released. It is the beauty of our web development world. Along with the upgrade is always the improvements, and the better. Some highlights are as follows:
- Performance: Angular 2 offers a faster detection approach, template pre-compilation to speed up client-side rendering, faster bootstrap time, view catching, lazy loading, less memory usage, immutable data structures, incremental loading support for dependencies injection, and dozens of other things that make it faster.
- Better template support – Angular 2 has a new, easier to read template syntax, with fewer directives and better integrated with the Web Component. In the future, they would like to also create a debugging tool that provides support during the development, as in other traditional languages (legacy languages).
- Angular 2 has been split up into two parts, an application layer and a render layer. This enables Angular to run in environments other than web browsers such as Web Workers or even servers.
- TypeScript: TypeScript is originated from Microsoft so it is very well supported and popular in the .NET Developers community. Though being developed under object-oriented methodology including class, inheritance, and so on, it can be compiled into JavaScript, which gives it high compatibility. Since Angular 2 ties toTypeScript language, it completely has easy access to TypeScript libraries. All of those will help you to understand the logic code extremely fast and effectively.
There are also a number of other improvements, such as Routing, Form Builder, etc. It can be said that the birth of Angular is a significant stage for not only Angular development team but also the entire Web Development community.
Angular 6: The Sweet Revenge
Up to today, Angular has gone through several transformation stages, turning itself into a more perfect and convenient version. In just two years Angular has undergone 3 major upgrades.
But all those efforts are still not enough to regain what was lost after the Angular 4 and Angular 5 failed to win the crown in the eyes of Front-End developer community.
Until recently, in May 2018, the latest version of Angular continues to appear, Angular 6. It is a high-value advancement from the ultimate efforts of the development team, to eliminate the weaknesses that previous Angular versions were not yet able to overcome.
- The Angular CLI has become mature and complete, and is a tool that makes developing an Angular application more simple than ever.
- Angular 6 organizes codes effectively and scientifically, with a high expansion. It also simplifies the previous APIs to make them as friendly as possible to developers.
- One of the most difficult aspects of Angular is that it is hard to integrate into existing systems. For example, integrating Angular 5 into a WordPress website is animpossible mission, while ReactJS or VueJS can easily handle this integration. However with Angular elements, Angular 6 has made the impossible possible. Developers can now build a component from Angular 6, then package and ‘embed’ it into any web page that uses HTML & JavaScript. Isn’t it great?
In addition, improvements include RxJS 6.0 library, the new Angular Ivy rendering engine, i18n multi-language, Animation and dozens of other things. All of those shows Angular is still a formidable name in the Front-End development chaos world. The constant developments and changes of Angular are like series of punches in the face of its rivals. Fanboys who follow Angular can totally trust this Big Brother in the Front-End development world.
Epilogue
One of the differences between Angular Framework and other UI Libraries is that Angular is a toolbox that includes a complete set of tools, everything that a builder needs to build a complete home. Instead of searching everywhere among thousands of options, you just need to focus on sketching the home design, and leave the rest to Angular.
Related articles