Table of Contents
Welcome dear reader! As you venture into the world of AngularJS, let me walk you through building your first basic "Hello World" app step-by-step.
Origins of AngularJS
Before we dive into code, it‘s useful to understand where AngularJS comes from.
AngularJS was originally developed in 2009 by Miško Hevery at Brat Tech LLC as a side project. The first production-ready version was released in 2012.
Over the years, AngularJS became very popular as a client-side JavaScript framework for building dynamic web apps. Here is a look at its adoption timeline:
| Year | Users | Description |
| 2013 | 100,000 | v1.0 released |
| 2015 | 1,000,000 | v1.4 released |
| 2017 | 1,500,000 | Long Term Support till 2021 |
As of 2022, over 1.5 million websites use AngularJS according to Wappalyzer. Well-known companies like Paypal, Nike, UPS, Intel, Autodesk etc use it extensively.
The design goals of AngularJS that contribute to its popularity are:
- Simplify development and testing for web apps
- Extensibility through modules
- Facilitate code reuse through components
- Declarative templating and data binding
- Dependency injection for effective coding
With this background, let‘s see how to build your first app.
Development Environment Setup
Before you write your first line of code, make sure your dev environment is ready. Here are the prerequisites:
1. Editor & Tools
You need the following installed:
- A code editor like VS Code
- Node.js >= 12+
- npm package manager
These allow you to easily code, run commands, import libraries and build your app.
2. Browser
You can run AngularJS web apps on most modern browsers like Chrome, Firefox etc. Make sure to disable caching for easier development.
With that setup done, let‘s proceed!
Build Your First App
We will build a simple Hello World app that displays a greeting message.
Here are the key steps involved:
- Import AngularJS library
- Initialize app
- Create a controller
- Define data
- Link view with controller
Let me explain each step. Clone the starter files as we begin.
Step 1: Import AngularJS
Create a new index.html file and include the AngularJS CDN link:
<!-- index.html -->
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular.min.js"></script>
This allows us access to all AngularJS directives and services.
Step 2: Initialize App
We need to bootstrap our app next. This activates the AngularJS framework for our code.
Use the ng-app directive for this:
<!-- index.html -->
<html ng-app>
...
</html>
That‘s it! Angular will now initialize upon page load.
Step 3: Controller
Controllers are where app logic resides in AngularJS. We define variables, functions, APIs etc here.
Add the following controller code:
// app.js
var app = angular.module(‘helloApp‘, []);
app.controller(‘HelloController‘, function($scope) {
// controller logic
});
Some key points:
angular.module()defines app module- Controller is registered with the module
$scopeservice is injected into controller

Controllers facilitate a clear separation of concerns. This promotes reusability and maintainability.
Step 4: Define Data
Let‘s add a message variable to hold our greeting text:
app.controller(‘HelloController‘, function($scope) {
$scope.message = "Welcome to AngularJS!";
});
$scope acts as the view-model to hold data that can be displayed.
Step 5: Link View
We need to link our HTML view template to the controller.
<!-- index.html -->
<div ng-controller="HelloController">
{{message}}
</div>
ng-controllerconnects HTML with the controller{{ }}interpolates data values from$scope
This wiring allows seamless data binding between the view and model.
And we are done!
Our angular app is ready. You can also modularize the code into separate files like:
app/
- index.html
- app.module.js
- HelloController.js
This separation of modules keeps code cleanly separated and maintainable.
See Live Demo
You can see this app live here:
https://codepen.io/my-angular-hello/
It displays the greeting message through data binding.

This shows how the core AngularJS directives like ng-app, ng-controller etc wire up the flow between the view, controller and model.
With this foundation, you can start building more complex, dynamic single page apps!
Key Benefits
Here is a quick recap of the key benefits of AngularJS:
| Feature | Description |
| Declarative Templates | HTML enhanced for dynamic data binding |
| Controllers | Houses app logic and data |
| Scopes | Context for data binding features |
| Modules | Encapsulates code into logical units |
| Components | Reusable UI elements |
These features allow you to build well-structured, testable and flexible web apps.
How AngularJS Compares
AngularJS sparked a whole new generation of JavaScript frameworks like React, Vue etc.
Here is how it compares to them:
| AngularJS | React | Vue | |
| Release Year | 2010 | 2013 | 2014 |
| Type | MVC Framework | Library | Progressive Framework |
| Data binding | Two-way | One-way | Two-way |
| Code Style | Declarative | Imperative | Declarative |
While AngularJS adoption has decreased over time, it continues to power a significant portion of web applications globally due to its flexibility.
The concepts you learn with AngularJS transfer well in understanding other modern frameworks too.
Closing Thoughts
Well reader, we have covered a lot of ground here!
We looked at how to setup an AngularJS app, define controllers, wire everything together and display output.
This should equip you with a basic mental model of an AngularJS application.
So what next?
Here are some directions you can take your learning journey to:
- Components
- Routing
- Directives
- End-to-end testing
- …and much more!
The world of AngularJS is rich. I hope you enjoyed this overview.
Please feel free to reach out in comments if you have any other questions.
Happy learning!