Angular Introduction: What It Is, and Why You Should Use It!

Angular Introduction: What It Is, and Why You Should Use It!


Why Do I Need a Framework?

If you’re not sure what a JavaScript (or client-side) framework is, that’s a technology providing us the right tools to build a web application while also defining how it should be designed and how the code should be organized.

Most JS frameworks these days are opinionated, meaning they have their own philosophy of how the web app should be built and you may need to spend some time to learn the core concepts. Other solutions, like Backbone, do not instruct developers on how they should craft the project, thus some people even call such technologies simply libraries, rather than frameworks.


Angular Introduction: What Angular IS?

AngularJS used to be the “golden child” among JavaScript frameworks, as it was initially introduced by Google corporation in 2012. It was built with the Model-View-Controller concept in mind, though authors of the framework often called it “Model-View-*” or even “Model-View-Whatever”.

Specifically, an interesting concept of data binding was introduced that meant automatic updates of the view whenever the model (data) changed, and vice versa. On top of that, the idea of directives was presented, which allowed inventing your own HTML tags, brought to life by JavaScript.

Another quite important thing was Dependency Injection, which allowed application components to be wired together in a way that facilitated reusable and testable code.

AngularJS became popular very quickly and received a lot of traction. Still, its maintainers decided to take another step further and proceeded to develop a new version which was initially named Angular (later, simply Angular without the “JS” part). It’s no coincidence the framework received a new name: actually, it was fully re-written and redesigned, while many concepts were reconsidered.

The first stable release of Angular was published in 2016, and since then AngularJS started to lose its popularity in favor of a new version. One of the main features of Angular was the ability to develop for multiple platforms: web, mobile, and native desktop (whereas AngularJS has no mobile support out of the box).


Angular Introduction: the Advantages of Angular

So, why Angular? Well, because it’s supported on various platforms (web, mobile, desktop native), it’s powerful, modern, has a nice ecosystem, and it’s just cool

  • Angular presents you not only the tools but also design patterns to build your project in a maintainable way
  • It’s JavaScript, but better. Angular is built with TypeScript, which in turn relies on JS ES6. You don’t need to learn a totally new language, but you still receive features like static typing, interfaces, classes, namespaces, decorators etc.
  • No need to reinvent the bicycle. With Angular, you already have lots of tools to start crafting the application right away.
  • Components are decoupled. Angular remove tight coupling between various components of the application. Injection happens in NodeJS-style and you may replace various components with ease.
  • All DOM manipulation happens where it should happen. With Angular, you don’t tightly couple presentation and the application’s logic making your markup much cleaner and simpler.
  • Testing is at the heart. Angular is meant to be thoroughly tested and it supports both unit and end-to-end testing with tools like Jasmine and Protractor
  • Angular is mobile and desktop-ready, meaning you have one framework for multiple platforms.
  • Angular is actively maintained and has a large community and ecosystem. You can find lots of materials on this framework as well as many useful third-party tools.

So, we can say that Angular is not just a framework, but rather a platform that empowers developers to build applications for the web, mobile, and the desktop. 


Angular Introduction: Angular’s Complexities

I have to say that, unfortunately, Angular is quite a big and complex framework with its own philosophy, which can be challenging for newcomers to understand and get used to. Learning the framework’s concepts is not the only task, however; on top of this, you also have to be comfortable with a handful of additional technologies:

  • It’s recommended to code Angular apps in TypeScript, so you must understand it. It is possible to write the code with modern JavaScript (ES6), though I rarely see people doing this.
  • TypeScript is a super-set of JavaScript, so you’ll need to be comfortable with it as well.
  • It’s a good idea to get the grasp of the Angular CLI to speed up the development process even further.
  • Node’s package manager npm is used extensively to install Angular itself and other components, so you’ll need to be comfortable with that as well.
  • Learning how to set up a task runner like Gulp or Grunt can come in really handy, as there can be lots of things to be done before the application is actually deployed to production.
  • Using minifiers (like UglifyJS) and bundlers (like Webpack) is also very common these days.
  • While developing the app, it’s vital to be able to debug the code, so you should know how to work with debugging tools like Augury.
  • Of course, it’s very important to test Angular applications, which can become very complex. One of the most popular testing tools out there are called Jasmine (which is a framework for testing) and Protractor (which is used for end-to-end testing).

So, as you see, there are quite a lot of things to learn in order to start creating client-side web applications. But don’t be put off: there are numerous resources on the net that may help you learn all these tools and technologies. Of course, you’ll need some time to get the grasp of them, but as a result, you’ll get valuable experience and will be able to create complex apps with confidence.

Conclusion

In this Angular introduction, we’ve discussed Angular, a client-side framework supporting multiple platforms. We’ve covered some of its features and concepts, and also have seen how it differs from AngularJS, the previous version of the framework.

Hopefully you’ve now got a basic idea of what Angular is and in what cases it may come in handy!


要查看或添加评论,请登录

Hasitha Madusanka的更多文章

社区洞察

其他会员也浏览了