As a developer, we should accept the fact that our profession requires constant learning. Once we stay at the same level and get too comfortable with the knowledge that we know, we will be left out, easily.
I came across this blog post by Paul Boag entitled “The Future of Digital Agency” where he tells why adaptability is very essential in our field. He believes that our industry is slowly collapsing. Why? He explained it this way:
There are 2 ends of the market, the bottom and the top. The bottom end, which includes small business and individuals, are being eaten up by programs (Squarespace, Wix) that allows anybody, even without former knowledge of web development, to create attractive and easy-to-use web applications. On the other hand, the top end of the market is moving in-house. Enterprises prefer to employ their own developers instead of getting help from third party agencies. Leaving startups and freelancers to a really competitive environment.
However, he also believes that there is still business in the middle of the market. Where you create your own applications and sell them to the public. Carpooling apps, ERP Systems, these systems can be created by anyone. The competition here is not only the idea but also how they are developed. That is why, adaptability is very essential for us developers. We should know the latest trends in our industry so we can use them to create competitive apps.
It’s 2017, new year. Perfect timing to learn new technologies. I myself have numerous choice of technologies in my ‘to learn’ list. And on top of my list: Angular 2. Angular 2 was released this year and I believe it’s going to be successful.
Why do I think it is going to be successful?
TEAM BEHIND ANGULAR 2
Angular 2 is developed by 2 giants in the industry: Angular team from Google and Typescript team from Microsoft. Angular 1 is a good framework already, but It has become way better with the inclusion of Typescript, to which I’ll talk about more later.
SIMPLER, BUT MORE POWERFUL
Let me start by saying: Angular 2 is not backward compatible with Angular 1. Meaning, you can learn Angular 2 even without learning Angular 1 first. BUT, knowledge of Angular 1 is a plus since some of the concepts are still implemented (More on this on the later sections). However, If you are thinking of learning Angular (which you should be!), I suggest you skip 1 and move on to learning 2 directly.
Why? The discipline on Angular 1 MIGHT confuse you a little bit. The fundamental concepts are KIND OF the same but the practices are very different. For example, Angular 2 totally ditched Controllers and Scopes and replaced them with Components. With the use of components, you can efficiently create apps with a much smaller amount of code, making it easier to remember, easier to reuse, and above all, easier to learn.
Angular 2 may be simpler but it is more performant than Angular 1. One reason is because it is incredibly fast. Relatively faster than Angular 1.
CORE CONCEPTS ARE STILL INTACT
I was talking earlier that the Angular 2 concepts are kind of still the same with that of Angular 1’s: Modular, Maintainable, and Scalable. These concepts are no longer convenient features, but is now considered requirements for frameworks and platforms.
I can easily say, Angular 2 is Modular. It allows us to gracefully segment different application concerns by using Components. If you want to reuse the component for a different part of the application, you just simply call it. And it will just work.
Another good thing about Angular 2 is that it helps us write shorter code. As they say: The shorter the code, the more maintainable it will be. With the addition of decorators and its newly improved syntax, Angular 2 makes it easy for us to create maintainable applications.
UP TO DATE TECHNOLOGIES
Strongly typed variable is a concept where you initialize variables along with its data type. Basically, you make it more strict and verbose. But, isn’t it better if the type of the variable is flexible? Well at some cases, it MIGHT be, but if you want to be confident that your application will run as you expect it to be, strongly-typed variables are essential. For example:
In Angular 1, we are allowed to use undefined objects like the code above. But for instance: a typo like this: “$scope.user.firstname” , will not raise any error and will just continue declaring a new object with the wrong field. Meaning, a weak typed variable like this is error prone. With the absence of intensive reviews or unit-tests, you might easily miss that. With Angular 2, we are given the option to initialize variables or objects with a valid type. Non-conformant to the type will result to an error.
It may require a little more code, but it guarantees consistency. Cool right? And revolutionary.
Lastly, let me emphasize this: Angular 2 is written in Typescript; You are not required to use Typescript when developing with Angular 2 BUT I highly recommend using Typescript. Some other platforms you can use are Coffeescript and Dart.
As developers, we should keep in mind that technology is fast changing, and we should always be ready to move on and learn new stuff that are up to date with current trends. If you are looking for specialization, I would highly suggest you look into Angular 2. No doubt, Angular 1 has been a massive success in web development industry, and with the addition of new features, I believe, Angular 2 will surpass the success Angular 1 met.