AngularJS is a big part of life at ElasticBox. We build our front-end with it. The principles of AngularJS and ElasticBox are strikingly similar. One relates to applications while the other to automation. As a huge Angular fan, I enjoy building one of the most powerful automation interfaces using Angular. It’s easy to see why.
- Build rich single-page applications that reduce user experience latency
- Structure content using the client based template system
- Modularize and reuse modules using a client based MVC page routing system
- Integrate with other REST services
- Plugin smoothly with unit and end-to-end tests
- Integrate with modular technologies like RequireJS
Angular includes many tools. A template system, a router, basic components like controllers or services. It includes elements to communicate smoothly with a server, modules for the unit and end-to-end testing, HTTP backend REST call mocks, and an injection subsystem to handle dependencies.
On top of these, we use RequireJS as a package dependency manager. It constructs dependencies and loads classes, modules, and files automatically. RequireJS helps us divide ElasticBox into small chunks of code, which we join and minify later at build time like other compiled programming languages.
One big reason we like AngularJS is the componentization. Componentized architecture gives isolation. It lets you encapsulate logic in a standalone code and then reuse it. Most web applications evolve in that direction today. Even browsers now support the web components working specification.
In Angular, we componentize using directives. It lets us extend HTML syntax to create custom elements. You may ask, why components and not just Angular templates, controllers, and services? That’s because components give us the following advantages:
- Isolates component scope. Isolated scope helps noob Angular developers avoid common problems like scope inheritance.
- Encapsulates things inside. A component can have its template, directive, controller, and in some cases services. Thanks to RequireJS, we also encapsulate all the component assets as images or styles.
- Provides reuse. Once you create a component, you can use it everywhere.
Components give much more. Each component can nest more components. These can interact with each other. Angular2, the next on the horizon for Angular, is built on this principle and so is ElasticBox if you think about it. ElasticBox applies the same principles of AngularJS programming toward application automation. I am proud to claim that with AngularJS, we’ve built one of the best user interfaces to simplify cloud application management and automation out there. Be sure to sign in to your free ElasticBox account and see for yourself.