It is not a secret that robots are better at tedious, repetitive tasks than humans. Angular CLI took care about code scaffold and significantly improve DX (developer experience) for Angular. Tooling used behind it was exposed as the separate package. It gave us the ability to create new generators collections like NgRx. You can and should create your schematics to reduce copy-paste development style. During this talk, I am gonna to show how to implement custom schematics and make machines work for us.
You're building a large data-driven app? Lots of form fields, selects, autocompletes,...validation? You're tired of typing all the HTML inputs? Maybe Angular wasn't the right choice for this after all? Stop it!In this talk we're going to level up our skills and uncover the true power of Angular forms. We'll dive deep into fully configuration based, model driven, dynamic forms that will supercharge every Angular app. We will see how to create an abstraction layer around our forms that facilitate high reusability and allows us to create new forms in minutes.
In this talk, we are going to look at what web components are, why we need them and how we can construct them according to best practices. In order to do this we will see several examples, and each example will be tackled with its own approach. Through these examples we will be able to see the pros and cons of different ways of structuring web components.
Then we will take a look at how we can construct these with Angular and Angular Elements. Thanks to the Angular team and their latest release (version 6) we can create Angular Elements more efficiently. In our code examples will with use version 6 because of this and show the best approach to creating Angular Elements.
Recursion and iteration are two alternative paradigms for solving problems by breaking them down into smaller chunks; this talk is a deep dive into how these paradigms work, and how JS supports them both. There's a fundamental tradeoff between the two: the stateful repetition of iteration is often more performant as it's closer to the way our machines "think", whereas many programmers find the self-referential abstraction of recursion easier to read & write. In JS prior to ES6, neither paradigm was especially easy to work with: iterative loops were laborious to read and write (not human-efficient), and recursion was limited by the fact that subsequent recursive calls to a function require additional frames added to the stack, potentially leading to stack overflow (not machine-efficient). Eventually, however, all three - recursion, iteration, and JS - were finally brought closer together. In this talk we'll dive into the nature of the two paradigms, examine what an Iterable and a tail-recursive function are, and learn how Tail Call Optimization unites the two paradigms, allowing us to write code recursively and run it iteratively.
Progressive Web Apps! We're constantly hearing about PWAs and why we should care about them.
But when it comes to making one, we're often left to build out all the core features of a PWA, by hand. Thankfully, we have Angular, and have the right tools to help us out. We'll looks at patterns you can take in your Angular app to start to make it an Progressive Web App, and what tools are available to make sure our app is ready to be a PWA.
Do you have a web app, but you also need a mobile app?Would you like to be able to build both with a single project?Would you like to reuse your existing code and also share it with a mobile app project?Come and see how you can use the Angular CLI to extend your existing web application with mobile applications for Android and iOS.
The main use-case for using dynamic components is when we can decide only in run-time which component is loaded. They’re also the only solution when we want to embed Angular components in non-Angular ones. In many cases, replacing in-template components with dynamic ones is beneficial to performance and code quality. In this talk we’ll learn how to create and use dynamic components, and discuss several types of usages.
2018 is an existing year for the Angular platform. Join me in this session where we will cover this year's roadmap of the upcoming features of the Angular platform. We will discuss the new build system, the Material CDK, Observables, the new rendering engine and many other great features. Get ready!
When we talk about UI tests, the first thing that comes to mind is probably Selenium. No wonder, it’s the most widely used testing framework for web applications. It was originally developed in 2004 and now, after 14 years, it still takes a dedicated team of QA engineers to implement it correctly. Tests are often flaky, painful to debug, and the overall developer experience is rather poor. But for many years there wasn’t another choice, until Cypress was born. Cypress tries to solve the biggest testing challenges, e.g. painless setup, easy to write tests, support for async testing, performance, and a good understanding of why tests fail. Cypress is made from scratch focusing on developer experience, debuggability and consistency. In this talk, we’ll look at how to get started with Cypress and dive into some basic tests. We’ll also see how to work with http requests and explore the debugging capabilities of Cypress.
Some developers believe that Angular has different types of modules like shared, feature or routing module. They’d be surprised to learn that Angular has none. Using a simple application, this talk will demonstrate how Angular uses a compiler to merge all modules into a single injector. We’ll learn where lazy loaded modules fit into this picture and why modules hierarchy and encapsulation simply don’t exist at runtime. By the end of the talk, you’ll have enough knowledge to avoid unexpected results and will be able to link, load or compile modules like a pro.
Get your ticket today!