I’d like to welcome you to the wonderful world of web development! Whether you’re new or a veteran of the industry, you have a lot to learn and keep up with, from why frameworks like Angular and React exist to unit testing to RESTful APIs and delivering highly-available applications on AWS. As a Technical Fellow […]
I’d like to welcome you to the wonderful world of web development! Whether you’re new or a veteran of the industry, you have a lot to learn and keep up with, from why frameworks like Angular and React exist to unit testing to RESTful APIs and delivering highly-available applications on AWS. As a Technical Fellow at Excella and a Google Developers Expert (GDE) in Angular, I’m passionate about learning and teaching easy to use modern web development tools and techniques. This is why, in June 2020, I published my new book, Angular for Enterprise-Ready Web Applications, 2nd Edition. If you’re new to web development, want to brush up on your skills, or would like to deepen your knowledge of delivering professional solutions on the web, then my book is for you. You can get Chapter 1, Introduction to Angular and Its Concepts as a free e-book at the end of this post.
Instead of writing 300 blog posts, I chose to author a 900-page book. Blog posts are great for documenting the outcome of a singular experience, or quickly getting answers regarding a specific topic or issue. However, as one writes 300 blog posts over many years, the patterns, practices, and technologies used by the author changes, even if slightly, by the month. Over the years this adds up to entirely different approaches all together. So, if you read a blog post about how to create a simple web form published in 2018 and delivering a multi-step form with hundreds of fields in 2020 from the same author, chances are the forms will be setup differently. This doesn’t create a great learning experience.
Writing one blog post is hard enough! If you write one blog post a week, it’ll take you roughly 6 years to write 300 of them. In addition, you don’t have to worry about remaining consistent over the years. For Angular for Enterprise-Ready Web Applications, 2nd Edition, I ensured that my patterns, practices, and examples remain consistent throughout, so you can be confident that what you learn in Chapter 3, Creating a Basic Angular App pays off in Chapter 14, Google Analytics and Advanced Cloud Ops.
I designed my book to teach you the fundamentals of the Angular platform. Equipped with useful recipes and practical code examples in the book, I think you can create amazing and wonderful line-of-business applications for small business or enterprises. The book emphasizes a minimalist approach, by maximizing use of built-in libraries and avoiding too many third-party dependencies. As new versions of Angular are released frequently, my minimalist approach will ensure that your code is easy to maintain and upgrade.
The tools and services recommended in the book have been updated to their latest versions, circa 2020. However, tools and services continually evolve, and sometimes outright disappear. When this happens, feel free to reach out to me for alternatives on Twitter or create an issue on GitHub.
Rest assured, the fundamental concepts, technologies, and samples included in the book will remain relevant for some time to come, albeit with slight modifications. The three sample apps for my book have already been updated for Angular 11:
Angular for Enterprise-Ready Web Applications also aims to instill an Agile and DevOps mindset, so that you can confidently create reliable and flexible solutions. These ideas are the cornerstones of how we deliver our solutions at Excella.
The book will start you off with a simple Kanban board, and you will finish by deploying a highly-available, containerized web application on AWS, using continuous integration and push-button blue-green deployments. This can feel intimidating for some. Whether you consider yourself a freelancer, a full-stack developer, an enterprise developer, or a web developer, if you are delivering an application to an audience of users, in a sense, you are always a full-stack developer. To deliver solutions you must be aware of all the technologies surrounding your web application.
Overall, regardless of your environment and your audience, the skills, best practices, and patterns you need to apply to design, architect, develop, maintain, deliver, and deploy a web application don’t vary all that much. In fact, if you master how to deliver Angular applications using TypeScript, it won’t be difficult for you to write your own RESTful APIs using Node, Express, and TypeScript, which is covered in the book.
It is always important to be aware of your surroundings. Team members should understand team leadership. Front-end developers should understand back-end development. Back-end developers should understand front-end development. All developers should understand DevOps, JavaScript, and Serverless. Only by understanding your surroundings, can you be truly successful.
The full-stack developer, who’s an expert at everything, is a myth. By some definitions, a full-stack developer needs to know everything, from catering to international copyright law, to successfully create and operate an application on today’s web. If you’re an entrepreneur, you already know this is true. However, in my book, your culinary skills and law degrees need not apply. My book assumes that you already know how to work with web development basics and have familiarity working with RESTful APIs in the tech stack of your choice, and if not, don’t sweat it, just follow the hands-on, step-by-step instructions and you will be able to create your first Web API-enabled Angular app in no time.
Angular for Enterprise-Ready Web Applications is for beginners and experienced developers alike, who are looking to learn Angular or web development in general. If you are already an Angular developer, you will be exposed to the entire gamut of designing and deploying an Angular application to production. You will learn about Angular patterns that are easy to understand and teach others. If you are a freelancer, you will pick up effective tools and technologies to deliver your Angular apps in a secure, confident, and reliable way. If you an enterprise developer, you will learn patterns and practices to write Angular applications with a scalable architecture.
In a May 2018 talk, Agile Manifesto signatories Ron Jeffries and Chet Hendrickson gave a great talk titled Developers Should Abandon Agile. To sum it up, they highlight that working code is king and all the processes set up around coding are there to help with other things and rarely impact code quality in a positive manner.
So, a 900-page technical book isn’t worth its value on the paper it’s printed on if it’s not backed up by robust engineering. The three sample projects that I linked above are supported by a network of twenty open-source projects and libraries.
With my colleagues and friends, we created:
I published:
.env
to manage and document secrets without leaking them.Below is a visual representation of all these projects coming together to support the sample projects in the book:
I believe Angular for Enterprise-Ready Web Applications, 2nd Edition will make a great addition to your library as a learning resource and a reference for many years to come.
Every chapter of the book has been re-tooled and expanded, so you can jump into them whenever you like. More detailed and auxiliary information has been moved to four new appendices, so the content flows a lot smoother across fourteen redesigned chapters. Dozens of new diagrams, information, and tip boxes were added to explain and demonstrate concepts better and help you avoid common mistakes. Overall, twenty open-source projects, tools, libraries, and extensions work together to support everything you find in the book. All code samples you see have been verified across 60 hours of automated tools runs to bring you the highest quality and as frustration-free as possible learning experience.
You can get Chapter 1, Introduction to Angular and Its Concepts as a free e-book here.