Why you should use Angular [Webapp from Scratch 0.001]
What is Angular?
Taken straight from the Angular Docs:
Angular is an application design framework and development platform for creating efficient and sophisticated single-page apps.
A framework is a set of tools/codebase that provides a set of general utilities or tools that software engineers can use to build more complicated/specific code. They can then package this code into an application and deploy it to their users.
The terminology can be a bit confusing but the idea is very simple.
If you had to chop down a tree, you would probably first find an axe.
You wouldn't start karate chopping the tree with your bare hand, would you?
For any software engineer, developing a new application from scratch is a bit like chopping down a tree. Without the appropriate tools, the only thing you will accomplish is hurting your hand and wounding your ego. It's okay to admit you need help, everyone needs the right tools for the job, a framework provides you with those tools.
Why a single page application?
Because humans are impatient. No, seriously!
Back in my day, whenever you wanted to visit a website or switch to a new page on that website you would have to send a request to a web server. That server would then compile and send you a complete, static (unchangeable), page to you after a few agonizing seconds. Someone along the way decided that rather than sending you a static page, they could send your browser code that your computer could then run asynchronously (without contacting the server). This saves you the hassle of contacting the server for every change on the website and saves the server time responding to thousands of your requests.
Most new websites and web-applications are asynchronous now, and only contact the server with requests for the underlying data displayed on the page. Everything else, including how the page is formatted is handled by your browser.
These are two key reasons why I have decided to develop my web-app utilizing the Angular framework. Let me know in the comments how you are using Angular for your projects.
About the author:
I am a Software Engineer with a large technology company based in the United States. I currently have 2 years of industry experience outside of college and have taught myself what I know of web development on the side.