Square

Let’s Talk About Angular

Angular and single page apps (SPA) in general, are at the forefront of tech.

The last ten years have seen some interesting changes to the way we do business:

  • Working remotely
  • Cloud computing offerings
  • More wider customer base
  • Demand from clients to be ever more accessible
  • Quicker pace of updates to API’s & of tech adopted
  • The need to scale up quickly
  • Increased client interactions via an online presence

Traditionally businesses wishing to keep up-to-date with tech, would incur heavy costs. Costs of hiring and employing a number of IT specialists to maintain systems, database, website hosting, website design, website administration, support staff.  Enter the era of the single page applications

Angular is a framework for building web applications.  It is a TypeScript based, open-source, web application framework led by the Angular Team at Google.

single programmer can be responsible for developing a SPA.  The costs of development and maintenance can be much much more affordable using a stack of technology such as Firebase, PrimeNg (or other UI components or styling offerings) and Angular.

I am very excited to see the power Angular apps gives businesses of all sizes.  Its adaptability to be used in such a broad way, means it can be adopted for the smallest of needs to the biggest!

Experience

I came across Angular towards the end of 2019. I have enjoyed learning more about it’s power, bringing many apps to life.  A couple more solo projects are:

“Roll-a-dex” For Clients – Roll-a-dex type app as a quick/simple way for freelancers to view clients on their books.  (click here for more info)

Cyrillic Alphabet Language App & 99 Verbs  –  Bring 2 existing android apps to the web, albeit minus audio. (click here for more info)

Additional Details Of Experience With Angular:

Projects I have worked on featured lazy loading, PrimeNg UI components, Firebase backend, services (CRUD, behaviour subjects, observables for data management and auth access checks), dynamic dialogues, confirm dialogues,  message service/ toast messages, data as list views, form edit/new (with validation), reactive and template driven forms, image upload, drop down options taken from observables (read from backend, then mapping the value/label as needed), built in Visual Studio Code, GIT version control, cloud based project repository.

How I Code

Some key comments I would like to make about how I work:

  • Always be pessimistic, but smile!– In terms of both end user usage, and data.  Is the data present, will it be of the type you expect, pre-empt errors.  Program to specification of what needs to be done from a functional p.o.v, but consider how the end user may try to use it!
  • Keep it running!  Make smaller changes then test, and be focused on incoming changes (i.e. from a git repo.)
  • Write clear comments, comment as you go
  • Write powerful and clean functions (single responsibility, focused on input-output concerns while not getting distracted by other tasks in the wider app)
  • Predictable format  – Keep the position of your methods similar in every application (i.e ngOnDestroy you will find at the end of the component .ts file, ngOnInit will be positioned under the constructor).  Applies to the working file structure also.

Top Dev Resources & Tools

https://angular.io

https://www.typescriptlang.org

https://developer.mozilla.org/en-US/docs/Web/JavaScript

https://cli.angular.io

https://rxjs.dev/guide/overview

https://firebase.google.com

https://www.npmjs.com

https://nodejs.org

https://primefaces.org/primeng

https://www.postman.com

https://fontawesome.com

https://stackoverflow.com

https://getbootstrap.com 

https://webpack.js.org

https://reactjs.org

https://lodash.com

https://www.mongodb.com

https://mongoosejs.com

https://stackblitz.com