Get to know Angular

First of all: I am a loyal user of Angular. Our company has used Angular to build Worktile and PingCode, two medium and large toB SaaS Web applications. We really enjoy the convenience that Angular framework brings to startups. At the same time, I also hope that Angular can be recognized and accepted by more people in China. I have always wanted to do something for the Angular community and share our experience and gains with everyone, but I am often too busy with work and some things have been put on hold. The following is a section of Getting to Know Angular that I wrote while I was organizing the Ngnice.com site for beginners and those who want to try Angular but fear barriers.

Angular is an application design framework and development platform for creating efficient, complex, sophisticated single-page applications, and an excellent cross-platform Web framework.

Introductory tutorial

If you’re looking to learn more about Angular, the official documentation is the best tutorial, in English or Chinese.

Angular documentation is a constant iteration, with big changes in each major release. The changes are not new apis, but easier to understand and read. As you can see, Angular documentation is very, very important, and well written.

Because the knowledge background of everybody is different, so have different understanding of the website, if you don’t have much ideas about software development engineering of some understanding, then look at the official documentation may be a bit difficult, but don’t try so hard, the slowly to, when you move beyond these concepts, you will find your own field of vision will be more open.

  • Come fromQuick learningStart yourAngulartour
  • After a quick start, you can have an in-depth understanding of the basic knowledge columns of official documents

To study the threshold

Angular is a large, comprehensive framework that includes: Routing, forms, security, HttpClient, testing, animation, services, and all the other scenarios you might encounter in Web development. For routing, forms, security, HttpClient, testing, animation, whatever framework you use, you need to know and use it. Other frameworks are not officially provided, but handed over to the community.

Official benefits:

  • Unity and standardization, each module name and style consistent
  • With the official version of the upgrade and upgrade, the official will be unified compatibility, users do not need to worry too much
  • There is no need to choose among various technical solutions

Benefits provided by the community:

  • The official focus is on the core features of the framework
  • Gather the wisdom of the community and let a hundred flowers bloom
  • You can choose different solutions based on your company’s scenario and customize your own framework

No matter what framework you choose, even if it is native development, there are points to learn and understand, and even the latter requires schema selection, which may be more expensive. But is Angular with built-in routing, forms, security, HttpClient, testing, and animation the reason for the higher learning barrier? Judge for yourself.

Presents the thought

Angular does have more concepts than other frameworks: modules, services, dependency injection

  • The moduleisAngularFrameworks are controversial, and their benefits may only be seen in medium to large projects, for most projectsmayIt’s really redundant
  • AngularNot only does it solve the problem of the view layer, but it also constrains or provides best practices for how we can better organize our business code. RightserviceandDependency injection

Whether it’s modules or services and dependency injection, the Angular framework tries to help us write better software, constraining developers to write business logic through services, and constraining us to use dependency injection in components or other services. They also constrain us to organize our components, directives, pipes, services, and so on through modules.

The more things a framework does, the more likely it is to have two extremes:

  • likeAngularPeople who agree with its ideas are becoming more and more dependent on it becauseAngularThat’s so sweet. It cleared the way for us
  • People who like freedom hate to gnash their teeth, this can not be done, that can not be done, very anxiousAngularOut early, out early

But in retrospect, modularity and dependency injection are not concepts that Angular invented. They have been around for a long time in software development and were introduced by Angular for the first time in a front-end framework.

The TypeScript and RxJS

We have to say that TypeScript is becoming more and more accepted and used by most companies, so Angular’s bold adoption of TypeScript in 2016 is a sign of the official team’s foresight, and even Angular has a lot to do with the popularity and popularity of TypeScript today.

Strong Angular and TypeScript binding certainly creates barriers for beginners, but the barriers are huge, and once a project reaches a certain size, TypeScript may become necessary. Also, TypeScript is perfectly compatible with ES, and is a seamless entry point. The hardest thing about TypeScript is its type system, but you can’t define complex types for normal projects unless you’re developing a library or framework.

RxJS is also a technology selection that the Angular team helped us make. The entry barrier to RxJS is a bit high, but even if you don’t know RxJS well, it doesn’t seem to affect our ability to write Angular apps. Once you understand RxJS, it makes the front end much easier. Features that were previously difficult to implement are now very easy to use with RxJS.

The last

Modules, services, dependency injection, TypeScript, and RxJS have nothing to do with the Angular framework. However, using the Angular framework requires an understanding of these technologies and concepts. But these concepts and knowledge can be applied anywhere and will help us become good engineers sooner. It will even be easier to learn other frameworks after we have mastered Angular, and we will even consciously introduce Angular ideas. The Angular CLI allows you to quickly build an application. Start with template bindings and components and follow the steps provided on the Angular CLI website.

Angular is a great example of engineering practice because it is designed for medium and large projects. It is a great way to build software that is easy to maintain and easy to read. Without further elaboration, start with this excellent front-end framework.