- Angular has become the leading framework for building dynamic, enterprise-scaled web applications, and its ranking at the second most used technology after Node.js in the 2018 Stack Overflow survey is not a surprise. In short, Angular constitutes a good solution for single-page dynamic applications, offer advanced testing features and it’s a component based architecture, while it guarantees fast development process and well-structured code base.
- This program will provide a clear overview of Angular framework that powers some of the top websites in the world, and will enable participants to fully exploit its features, for writing readable, maintainable and easy-to-use code.
Web applications now resemble desktop native applications in scope and complexity, which also reflects to added complexity as a developer. For example Single-Page Applications (SPAs) have become a very common choice in building frontend experiences, as they allow for great user experiences in terms of speed and responsiveness. Once the initial application has loaded into a user’s browser, further interactions only have to worry about loading the additional data needed, without reloading the entire page as was the case with server-side rendered pages of the past.
AngularJS first was started to bring structure and consistency to single-page web application development, while providing a way to quickly develop scalable and maintainable web applications. However, it wasn’t always the default mode and required unlearning concepts that were believed to be best practices from earlier releases. Simply put, writing well-designed applications was possible because of workarounds from the original concepts that AngularJS embraced. Angular then was rewritten from scratch as a completely new framework, built for the new-age web. It leveraged a lot of the newer advances, from modules to web components, while improving the existing features of AngularJS. Angular as a framework now brings a few significant advantages while also providing a common structure for developers on a team to work with. It allows us to develop large applications in a maintainable manner. To summarize just a few:
- Custom Components: It allows you to build your own declarative components that can pack functionality along with its rendering logic into bite-sized, reusable pieces.
- Data Binding: Angular allows you to seamlessly move your data from your core Typescript code to the view, and react to view events without having to write the glue code yourself.
- Dependency Injection: Angular allows you to write modular services, and have them injected wherever they are needed. This greatly improves testability and reusability of the code.
- Testing: Tests are first-class citizens, and Angular has been built from the ground up with testability in mind. You can (and should!) test every part of your application.
- Comprehensive: Angular is a full-fledged framework, and provides out-of-the-box solutions for server communication, routing within your application, and more.
- Development tooling included, customizations available: Angular provides a common developer experience through its CLI tooling (for generating, building, testing, and deploying apps), while making those same tools available to custom solutions and third-party tools
- Powerful ecosystem with a large community: There is an ever-growing number of third-party libraries, UI libraries, blog posts, and events. Angular’s large and active community provides a great foundation for continuous learning and it is expected to remain a valuable technology.
Overall, Angular is a modern web application platform that promises to provide developers with a comprehensive set of tools and capabilities to build large, robust applications. The core value proposition of Angular is to make it possible to build applications that work for nearly any platform—whether mobile, web, or desktop.
- This Code.Learn program lasts 4 weeks (2 Fridays & 4 Saturdays) with 40 hours of lectures and hands-on exercise on real life case studies and projects.
Key Objectives – Curriculum
This program is designed to be a comprehensive walk through Angular. At the end the participant will be able to design and implement high quality and robust Angular applications and will have the foundational knowledge and experience to build or enrich his/her career path. The program will discuss all key aspects of the framework in a hands-on approach in order to give to participants the opportunity to see the diverse concepts come to life. The key learning objectives can be summarized as follows:
- Starter kit – Development Setup (Node.JS, DB, GIT)
- Angular Concepts & Framework
- TypeScript basics
- Components, Directives, Pipes, Services, Routing
- Events & Forms
- Consuming HTTP services
- Troubleshoot common Angular errors
- Bundling & Publishing
- Architecture considerations for enterprise apps
Education & Experience
Computer scientists, software engineers and developers that want to boost their career as web developers (client side, server side, full stack) are welcome to participate to this code.learn program and unlock the full potentiality of the topics taught by upskilling their future career.