Skip to content

Instantly share code, notes, and snippets.

@lundgrea
Last active December 23, 2021 21:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lundgrea/8110437f00cfd36ab0253c75c196c0c8 to your computer and use it in GitHub Desktop.
Save lundgrea/8110437f00cfd36ab0253c75c196c0c8 to your computer and use it in GitHub Desktop.
My Angular Experience

My AngularJS Experience

Given the opportunity to explore new technologies outside of the Turing curiculum took me immediately to the doorstep of AngularJS. I had no previous experience with Angular and solely knew it as a JavaScript framework for building applications. My interest in this topic comes from my love of React and my recent experience utilizing React Native. I was curious to explore the syntatical similarities as well as look into the difference in terms of paradigms, setup and implementation.

Angular, maintained by Google, is a widely-used feature-rich JavaScript framework boasting sites like Google Analytics, PayPal, and even Netflix. It comes out of the box with a robust list of features including Angular UI Routing, dependency injection, templates, component CSS encapsulation, and more.

In my research, there were a couple of big takeaways worth noting: Typescript's place in AngularJS, utilizing RxJS for asynchronous events and operations, as well as testing in Angular testing and mobile development. Rather than utilizing plain JavaScript, Angular is written using TypeScript, a subset of JavaScript. TypeScript compiles down to JavaScript but allows the developer control of data types within the application which assists the developer in debugging down the road. AngularJS, utilizes Reactive Extensions Library for JavaScript (aka RxJS). "The library has been adopted by Angular in their HTTP module... When you perform an HTTP request, it returns an Observable instead of the usual Promise. This approach opens the door for interesting possibilities, such as the ability to cancel a request, retry it multiple times or work with continuous data steams, such as web sockets". As for Native application development NativeScript, a React Native like framework, can be used with Angular. While NativeScript is not made just for Angular the two integrate well for native development. Testing tools come integrated into the Angular framework and my research shows Jasmine testing framework alongside the Karma test runner are effective unit and integration testing suite for Angular.

While my experience with AngularJS is minimal I look forward to continuing to learn more about this framework, its paradigms, and I'm eager to see how it evolves in the future. During this work I was constantly using React as a mental model comparision since I have built numerous applications using the React framework. With that, I was surprised to hear that Angular comes out of the box with more tools than React. Previously I had felt that React came out of the box with a good bit of functionality but that perspective helps me understand the breadth of the AngularJS framework. My biggest roadblock throughout this experience was the number of new terms. I spent a good deal of of time looking up these new words and exploring their definitions while trying to fit them into my current mental model of JavaScript frameworks.

I look forward to building something using Angular to further test out the tool.

Citations:

  1. https://www.youtube.com/watch?v=QETUuZ27N0w
  2. https://angular.io/ & https://angularjs.org/
  3. https://blog.bitsrc.io/the-state-of-angular-in-2019-b5fb7783a1c6
  4. https://www.sitepoint.com/react-vs-angular/
  5. https://dev.to/vaibhavshah/top-20-websites-which-are-built-using-angularjs-20-to-50-1phj
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment