What is Angular?
Angular is software that developers use to build websites and apps with. It is what is called a framework, meaning that it makes up the core part of the code that powers the website or app. More specifically, it is called a “front-end framework”, meaning that it works mostly on your customer’s devices - in their browser, such as Chrome - rather than on a “web server”, which is essentially a computer in a warehouse. Here’s where it fits in:
As with any “frontend” software, Angular is powered by the JavaScript coding language. Most commonly, developers who use it use a particular version of JavaScript called TypeScript, which is basically a safer and more structured coding language.
Angular is free and open-source software - that anyone can download, use, and modify for free - that was originally developed by Google.
What is an API and what is the backend?
For any website or app, its information - including text, images, videos, etc. - needs to be stored somewhere. For traditional websites, this is either stored as text files alongside the code, or it’s uploaded and stored using a content management system (CMS) such as Drupal or WordPress.
A frontend framework like Angular doesn’t store its own data; it needs to be stored in a central location that can be accessed via the internet. Whenever there’s a team building an Angular app, there will also be a team building software that can store the data, which we call a backend framework. This framework can be built in any of the many languages out there, and will live on a web server in a “data center”.
We refer to the language that the frontend and backend use to communicate as an API, however it’s really more of a list of instructions that the frontend can tell the backend, such as “Give me all the events that start 1 week from today, sorted alphabetically by their titles”.
What is Angular suitable for?
Angular is used to make highly interactive websites - often called web apps - such as Gmail, Twitter, or Facebook, rather than ordinary information-focussed websites that most businesses have. Front-end frameworks like Angular allow a website to respond to things like clicking a button by fetching data from another place on the web - what we refer to as the backend - and updating the webpage to show it without needing to reload the whole webpage.
In particular, frontend frameworks like Angular are great for informational dashboards, mapping, search and results lists, live chat apps, utilities like online calculators, creative software like writing or designing tools, and so on.
What are the alternatives?
Angular is often compared to its two biggest alternatives, React - built by Facebook - and Vue - built independently. Of three, Angular is considered to be the most complex and powerful, but also the hardest to learn because of that. It is often described as a complete system that contains all the components most users need already built in.
React on the other hand is often called simply a “library” rather than a framework, because it is more like a collection of basic components with standard of how to add new ones, meaning that there’s more emphasis on finding and choosing community-built extensions to enhance it. Vue is somewhere between these two, but it is often considered the fastest to get started with, and the easiest to learn.
Should we use Angular?
This is going to be entirely dependent on the sort of website or app that you have in mind as the final product. If it is going to be more “functional” (interactive) than “informational”, then it’s probably a great fit.
Keep in mind that development using Angular may be costly and take a long time, so make sure you choose your developers carefully, set up a clear plan of what will be delivered and by when, and make sure clear communication is a priority for the project from start to finish.
Good luck!