Book Image

Angular for Enterprise-Ready Web Applications - Second Edition

By : Doguhan Uluca
Book Image

Angular for Enterprise-Ready Web Applications - Second Edition

By: Doguhan Uluca

Overview of this book

This second edition of Angular for Enterprise-Ready Web Applications is updated with in-depth coverage of the evergreen Angular platform. You’ll start by mastering Angular programming fundamentals. Using the Kanban method and GitHub tools, you’ll build great-looking apps with Angular Material and also leverage reactive programming patterns with RxJS, discover the flux pattern with NgRx, become familiar with automated testing, utilize continuous integration using CircleCI, and deploy your app to the cloud using Vercel Now and GCloud. You will then learn how to design and develop line-of-business apps using router-first architecture with observable data anchors, demonstrated through oft-used recipes like master/detail views, and data tables with pagination and forms. Next, you’ll discover robust authentication and authorization design demonstrated via integration with Firebase, API documentation using Swagger, and API implementation using the MEAN stack. Finally, you will learn about DevOps using Docker, build a highly available cloud infrastructure on AWS, capture user behavior with Google Analytics, and perform load testing. By the end of the book, you’ll be familiar with the entire gamut of modern web development and full-stack architecture, learning patterns and practices to be successful as an individual developer on the web or as a team in the enterprise.
Table of Contents (19 chapters)
15
Another Book You May Enjoy
16
Index

Setting Up Your Development Environment

This chapter demonstrates how you and your team members can create a consistent development environment so that your entire team has the same great web development experience – the importance of which is highlighted in the preface of the book. It can be tough for beginners to create the right development environment, which is essential for a frustration-free development experience. For seasoned developers and teams, achieving a consistent and minimal development environment remains a challenge. Once achieved, such a development environment helps avoid many IT-related issues, including ongoing maintenance, licensing, and upgrade costs.

Instructions on installing GitHub Desktop, Node.js, the Angular CLI, and Docker are a useful reference for those from absolute beginners to seasoned teams, along with strategies for how to automate and ensure the correct and consistent configuration of your development environment.

Feel free to skip this chapter if you already have a robust development environment set up; however, beware that some of the environmental assumptions declared in this chapter may result in some instructions not working for you in later chapters. Come back to this chapter as a reference if you run into issues or need to help a colleague, pupil, or friend to set up their development environment. Automated installation scripts to set up your development environment can be found at https://github.com/duluca/web-dev-environment-setup.

To make the most of this book, you should be familiar with JavaScript ES2015+, frontend development basics, and RESTful APIs.

The recommended operating systems are Windows 10 Pro v1903+ with PowerShell v7+, or macOS Sierra v10.15+ with Terminal (Bash or Oh My Zsh). Most of the suggested software in this book also works on Linux systems, but your experience may vary depending on your particular setup.

It is standard practice for developers to use Google Chrome 80+ when developing web applications. However, you may also use the Chromium-based Microsoft Edge browser 80+. You should definitely install the cross-platform PowerShell on Windows from https://github.com/PowerShell/PowerShell/releases, which gives you access to chain operators && and ||. Additionally, get the new Windows Terminal from the Microsoft Store for a superior command-line experience on Windows.

In this chapter, you are going to learn how to do the following:

  • Work with the CLI package managers Chocolatey and Homebrew to install and update software
  • Use those package managers to install GitHub, Node.js, and other essential programs
  • Use scripting to automate installation using PowerShell or Bash
  • Generate an Angular application using the Angular CLI
  • Achieve a consistent and cross-platform development environment using automated tools

Let's start by learning about CLI-based package managers that you can use to install your development tools. In the next section, you'll see that using CLI tools is a superior method compared to dealing with individual installers. It is much easier to automate CLI tools, which makes setup and maintenance tasks repeatable and fast.