Web Application Framework

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

Web Application Frameworks – Angular

Every web based application should be separated into different technological stacks. By taking a
consideration to create a web based application, first of all you have to search for the most appropriate
frameworks on which you will be comfortable and a framework who will provide efficiency in use.

By taking into consideration all of these crucial point, in this document I am describing the framework
that I feel more comfortable working on a web based application which is the reason why I choose
Angular.

Angular is a platform and framework for building single-page client applications using HTML and
TypeScript. Angular is written in TypeScript. It implements core and optional functionality as a set of
TypeScript libraries that you import into your apps.

The architecture of an Angular application relies on certain fundamental concepts. The basic building
blocks are NgModules, which provide a compilation context for components. NgModules collect related
code into functional sets; an Angular app is defined by a set of NgModules. An app always has at least a
root module that enables bootstrapping, and typically has many more feature modules.

Components define views, which are sets of screen elements that Angular can choose among and
modify according to your program logic and data.

Components use services, which provide specific functionality not directly related to views. Service
providers can be injected into components as dependencies, making your code modular, reusable, and
efficient.

Angular NgModules differ from and complement JavaScript (ES2015) modules. An NgModule declares a
compilation context for a set of components that is dedicated to an application domain, a workflow, or a
closely related set of capabilities. An NgModule can associate its components with related code, such as
services, to form functional units.

Every Angular app has a root module, conventionally named AppModule, which provides the bootstrap
mechanism that launches the application. An app typically contains many functional modules.

Like JavaScript modules, NgModules can import functionality from other NgModules, and allow their
own functionality to be exported and used by other NgModules. For example, to use the router service
in your app, you import the Router NgModule.

Organizing your code into distinct functional modules helps in managing development of complex
applications, and in designing for reusability. In addition, this technique lets you take advantage of lazy-
loading—that is, loading modules on demand—to minimize the amount of code that needs to be loaded
at startup.
-Reasons for using Angular
Supported by Google

Angular is backed by Google, most people will consider this to be a benefit but certainly not all. Some
prefer frameworks that are supported by small teams that have no corporate sponsorship, they worry
about corporations having agendas or simply not being as agile unable to make changes as quickly but
again this will depend on peoples opinion because this is something that people may or may not
consider as a benefit.

TypeScript

Angular is written using TypeScript which is a superset of JavaScript that also adds types to it, this is also
optional and you don’t have to use types with typescript but you really do need to use TypeScript in
order to use Angular, although it is not technically required but it will be extremely difficult to use
Angular without TypeScript.

Some developers will consider TypeScript to be a benefit, it will seem a lot more similar to server-side
languages so it will be easier for server-side developers to begin using Angular and also there is a
general consensus that types reduce bugs.

Progressive Web Apps

With Angular you can fairly easily to build progressive web apps. Progressive web apps are an emerging
standard which allows a web application to be installed like a mobile application, to have an icon on a
phone and to open on a phone even be available offline. Angular provides significant support for
progressive web apps.

Lazy Loading

Angular supports lazy loading, this allows to reduce the size of the data that initially needs to be
downloaded to the browser in order for the application to begin working, this can improve the
perceived performance of the application by restricting the unnecessary loading of components.

Performance

Angular is very performant, against current generation frameworks it is as fast or faster than
any of them, against previous generation frameworks it is significantly faster and more
powerful.

Atomic Design

Atomic design is a mental model to help you think of user interfaces as a cohesive whole and a
collection of parts at the same time. Through the comparison to atoms, molecules, and organisms, we
can think of the design of our UI as a composition of self-containing modules put together.

Atomic Design helps you create and maintain robust design systems, allowing you to roll out higher
quality, more consistent UIs faster than ever before. 

You might also like