▶Book Description
Angular framework embraces a mature user interface (UI) component architecture, a powerful tool when developing scalable application interfaces. The simple and deterministic design of Angular components supports you in building large and scalable component-based applications.
Mastering Angular Components covers a new holistic way of thinking about UI development, and helps you discover the power of Angular 6 components through various examples. The book starts with an introduction to component-based user interfaces and how Angular 6 manages this concept. Following a step-by-step approach, you will build a fully functional task-management application using Angular. You’ll start with basic layout components, adding some core task-management components before completing the first draft of your application. You will then move on to working through a refactoring exercise in order to learn how to enhance the way you deal with states and data. Once you have got to grips with all this, you will study how to make use of the Angular router within your application.
By the end of this book, you will be able to constantly refine the functionality of your application and create components that render SVG graphics, add a time-tracking feature, visualize data using third-party library Chartist, and even create a plugin architecture using Angular components.
▶What You Will Learn
⦁ Use TypeScript to create Angular 6 components
⦁ Leverage component composition to solve complex UI requirements
⦁ Build an architecture using pure components and container components
⦁ Explore the basics of RxJS observable streams and use them to build your application reactively
⦁ Communicate between components using child queries
⦁ Implement the Angular router to make your application navigable
⦁ Build reusable and dynamic graphical content using Angular components and SVG
⦁ Integrate third-party libraries such as Moment.js and Chartist into your existing Angular application
▶Key Features
⦁ Build better web applications with highly scalable concepts using Angular
⦁ Learn new ways to design your web applications
⦁ Build a fully functional web application that lets you tackle real-world user interface problems using Angular components
▶Who This Book Is For
Mastering Angular Components is for you if you are an Angular developer who already has a good understanding of basic frontend web technologies such as JavaScript, HTML, and CSS.
▶What this book covers
⦁ Chapter 1, Component-Based User Interfaces, looks at a bit of the history of UI development and provides a brief introduction to component-based user interfaces in general. We will see how Angular 2 handles this concept.
⦁ Chapter 2, Ready, Set, Go!, gets the reader started on their journey toward building an Angular 2 component-based application. It covers the basic elements of structuring an application with components.
⦁ Chapter 3, Dealing with Data and State, focuses on how to build a clean data and state architecture into our application. We'll learn about reactive programming using RxJS, the pure component, the container component, and many more concepts, and tools that can be used to combat application state mess.
⦁ Chapter 4, Thinking in Projects, focuses on the structure of the user interface and its basic components. Readers will compose an application by organizing an application layout into components, establishing the composition of components, and creating a reusable tab component to structure the application interface. Readers will also build a re-usable editor component and a commenting system.
⦁ Chapter 5, Component-Based Routing, explains how components react to routing and enables readers to add simple routing to existing components in the task management application. Readers will also work on the login process and gain an understanding of how to protect components using the router.
⦁ Chapter 6, Keeping Up with Activities, covers the creation of components that will visualize activity streams on both the project and task levels.
⦁ Chapter 7, Components for User Experience, guides readers on creating many small reusable components that will have a great effect on the overall user experience of the task management application. Benefits include the in-place editing of text fields, infinite scrolling, popup notifications, and drag-and-drop support.
⦁ Chapter 8, Time Will Tell, focuses on creating time-tracking components that help estimate time on a project and task level, but also for users to log the time they spend on tasks.
⦁ Chapter 9, Spaceship Dashboard, focuses on creating components to visualize data in the task management application using the third-party library Chartist.
⦁ Chapter 10, Putting Things to the Test, covers some basic approaches to testing Angular components. We will look at the options for mocking/overriding specific parts of a component for testing.