Angular 1 vs 2: 4 reasons why and 2 simple ways to migrate
Taking the leap to update your application in Angular
Following suit with last year, the NG-Conf 2017 took place in Salt Lake City, Utah, and we most certainly made sure to be there to stay up-to-date with the latest Angular trends and news. Migrating from AngularJS to Angular (AKA: Angular 2 and beyond) was arguably the hottest topic with the most buzz throughout the event.
As you may know, the new versions of Angular came with several groundbreaking changes regarding Angular 1.x, making migration a huge deal. While its learning curve isn’t that high, its stark changes from the earlier versions could be somewhat hard to swallow. The upgrade stirred up a lot of fear and questions within the community. We got to the point of many not knowing if they should really upgrade their applications or just start all over from scratch.
Should I migrate to Angular? Is it the right time to upgrade? Is it even possible? Will it require a ton of work? Will the business accept these changes? Should I hire new developers?
Those were some of the most common concerns among the community regarding this topic. However, we can assure you that the advantages far outweigh the challenges! Keep reading to find out why.
Angular 1 vs 2: why do people hesitate to migrate?
We asked Stephen Fluin, Google Developer Advocate for Angular, what are the top three reasons why companies currently avoid migration:
Fear of the unknown
“Companies who haven’t done the migration before don’t know what sorts of challenges they will run into. Often times companies attempt to address old pains and new requirements at the same time as upgrading a codebase, and these additional factors can put a major project like this at risk.”
Fear of your existing code
“Many companies who have large codebases written in AngularJS haven’t had as strict policies about code control as they might like. Many companies haven’t been following a standardized architecture or best practices. They understand that as part of the migration process, they may have to fix the problems that already exist in their code.”
Fear of change
“Each technology within a company builds up its own momentum of shared understanding, tooling, and a ‘happy path’ is typically worn and distributed socially within a company. Changing technologies means that some of the best practices and shared understandings have to be rebuilt. Angular has attempted to mitigate this by leveraging the same core principles and philosophies as AngularJS.”
In this post we are going to explain why you should be upgrading. Also, we will share some of the best ways to migrate to Angular. Here you will find the experiences of UruIT, the Angular team (represented by Stephen), and the overall Angular community.
Reasons why you should migrate to Angular
#1 Perform like never before
The migration’s main advantage is its boost in performance, sinceAngular is 5 times faster than Angular JS. As Stephen says, you can begin server-rendering your application. “You are looking for better runtime performance.”
During the release candidate period it was noted that numerous developers reduced their final bundles’ size after migrating to the latest version. To accomplish this, the Angular team made some changes to the AOT. With the “Ahead-Of-Time Compilation”, the application is compiled prior to being sent to the browser by the angular compiler. As a result, it’s easier to download the code. Besides, the browser can execute it faster due to that reduced compilation time.
Also, some specific packages (i.e. animations) were separated from the angular core package. Therefore, the app is lighter in size and faster to run. Likewise, this brings security benefits. The application is less prone to injection attacks, as AOT compiles HTML templates into JavaScript files, removing those templates from the final bundle.
#2 Go Mobile with Angular
Another plus is its mobile-driven approach. Unlike version 1.x, latest versions were designed to create native mobile apps by using strategies from other mobile-oriented frameworks such as Nativescript, Ionic Framework or React Native. For example, lazy loading makes Angular compile different modules when they are actually needed instead of compiling all the application at once. It makes the resulting code lighter and faster to download. Moreover, the framework’s improvement in performance will make the mobile application way smoother than it could have been if it had been developed by AngularJS.
#3 Execute better with components
Moreover, the general structure of Angular applications (component-based) makes it easier to understand than 1.x versions. This new approach makes developers focus on building classes, called components, which replace the “Views” and “Controllers” that defined Directives from earlier versions. This helps testability and maintainability as concerns are clearly separated and tests are easier to write.
Along with these changes, the fact that the framework is written in Typescript (a typed superset of JavaScript) helps reduce runtime errors as mistakes can be found before transpiling. This may also help developers experienced in OOP (i.e. C#) learn the framework faster as the syntax and approach is similar to that kind of language. Stephen guarantees that by migrating, you can also take advantage of powerful new capabilities. Some of them are ES2016 syntax, Code Splitting and PWAs. “Moreover, 3rd party tools you rely on are thinking about moving away from AngularJS and towards Angular,” he says.
#4 Migrate smoothly
Finally, another central benefit is the fact that both frameworks could live in the same application. Therefore, it can help developers to upgrade it gradually. Also, it allows third party libraries used in AngularJS to continue working after migrating.
So, for the time being, the time to upgrade is now.
These benefits will keep your users thrilled with your apps as a result of them working more smoothly and faster. Moreover, being up-to-date with the latest technology trends will inspire developers to become more motivated and skilled. That’s how Stephen summarizes why your team will definitely be up for migrating to Angular: "Your developers want to write in Angular."
Would you like to keep reading and also get our Case Study about the Angular migration? Take a look at our Blog Post!