- Day One
- Deep Dive into the Angular Compiler
- How to save the world … one line at a time?
- Less servers for your Angular app
- Angular and the OWASP top 10
- The science of authenticating Angular apps
- My journey on the Angular Team
- How we make Angular fast
- It’s Alive! Machine Learning writes your code! 🧠
- The architecture of components: Managing complexity without a State Management Solution
- Finding Angular
- The secrets behind Angular’s lightning speed
- Mocking made easy
- Profiling Angular apps like a shark
- Offline first in Angular
- Automating your Angular projects with Schematics
- The coming FAD: Future of accessibility for developers
- Day Two
- GitHub at scale: How Angular manages community contributions and repositories
- Let’s build a form around it
- Performance optimizations in Angular
- The art of humanizing Pull Requests (PR’s)
- Creating a better culture in tech through diversity and inclusion
- Power in constraints
- How Angular works
- ngTemplateOutlet: The secret to customisation
- Building with Ivy: Rethinking Reactive Angular
- Building Angular apps with internationalization (i18n) in mind
- Quantum Facades: Why NgRx Facades are terrible or awesome depending on how you observe them
- Migrating breaking changes with TSLint and Schematics
- Angular Panel
Presented by Stephen Fluin and Igor Minar
Stephen and Igor team up to deliver this year’s Keynote session with the latest on Angular in 2019.
Deep Dive into the Angular Compiler
Presented by Alex Rickabaugh
Alex Rickabaugh has been preparing ngc for Ivy, and will unwrap some of the deep mysteries of the compiler. How does @NgModule really work? What are metadata.json files? Come learn these and many more secrets of the Angular compiler.
How to save the world … one line at a time?
Presented by Asim Hussain
The world is dying; you can help save it. Data Centres consume 2% of all the power in the world and produce about 3% of the greenhouse gases. This is set to treble in the next 10 years. When building apps, we focus on minimising costs, time to market, bugs, bundle size, application speed, SEO, but we spend almost no effort trying to minimise the damage our applications are making to the environment. In this talk, I’ll show you how to write, deploy and run a green web application.
Less servers for your Angular app
Presented by John Papa
Fast, secure, and easy … serve your angular app from cloud storage, deploy your APIs to serverless functions. The right tool for the right job - this is an important decision to make. You can build your Angular client and back-end infrastructure using Node.js and express with TypeScript and host it on a server with docker in the cloud. You can build your Angular app and your same APIs in serverless in the cloud. What’s the difference? Learn how these architectures work, where they each shine, and how you can leverage them today.
Angular and the OWASP top 10
Presented by Philippe De Ryck
The OWASP top 10 is one of the most influential security documents of all time. A couple of years ago, these 10 security issues impacted almost every web application. However, today, the web application landscape has vastly changed, and so has security.
In this talk, we explore the relationship between the OWASP top 10 and Angular applications. We will see how some issues are barely relevant in an Angular world. We will discover that Angular addresses some issues out of the box. Moreover, we will learn which issues require the most attention in an Angular application.
The science of authenticating Angular apps
Presented by Kim Maida
Authentication can be a daunting topic for many developers, including those of us working in the landscape of web apps. How does cookie-based authentication work? How does token-based authentication work? Don’t store tokens in local storage? New SPA authorization best practices from the IETF?! What are the shortcomings and advantages we need to consider when adding authentication to Angular Single Page Applications? I’ll also talk about the tools the Angular platform provides out of the box to make adding authentication and protecting routes easier for the developer.
Slides (video format to preserve animated diagrams)
My journey on the Angular Team
Presented by Manu Murthy
I’ve been on the Angular team for the last year and a half. Seen high and low moments. In this session, I’ll share real stories and what I learned while on the Angular team. Guiding principles, experiences and pitfalls that would help you in your projects.
How we make Angular fast
Presented by Miško Hevery
During Ivy’s development, the team has focused intensely on performance. Learn about how to think about and measure metrics such as execution speed, memory pressure, and compressibility. Learn about some of the gotchas we have encountered along the way while building the new compiler and runtime, and how our design choices around performance will drive user experiences in the future.
It’s Alive! Machine Learning writes your code! 🧠
Presented by Dominic Elm and Uri Shaked
As developers, we get paid to write bugs and then fix them. At first, it’s exciting, but after some time, bugs tend to start repeating, and that’s why we come up with new libraries, tools and framework all the time - to make things more exciting (and our lives easier). But what if the code could be written for us instead?
In this session, Dominic and I are going to employ state-of-the-art machine learning algorithms to automatically write TypeScript code. You will see how we trained a model using a large dataset of open-source code, and learn how we cleaned up and prepared the data. We will also go over the basics of machine learning as we show you what we did. It’s going to be mind-blowing, much fun, and a little bit dangerous. Are you prepared?
The architecture of components: Managing complexity without a State Management Solution
Presented by Erin Coughlan
In the past few years, centralized state management (NgRx and others) has grown in popularity, with some teams saying it saved their application while others swearing never to use it. How far can we reduce complexity without a Reducer?
This talk will show you how to build your application in small, manageable chunks that increase reusability. You will learn how to create simple interfaces between components and maintain a single, focused responsibility all without a state management solution.
Presented by Elana Olson
Learn how to swim in the big blue sea! Grab your fins and take a dive into the Angular ecosystem to discover the best practices for building web applications. Angular.io’s recently updated Getting Started guide enables new developers to hit the ground running on day one. In addition, Angular’s new search engine, Angular Ecosystem, brings together best practices and community tooling to allow developers to compare recommend resources and improve collaboration across the Angular world.
The secrets behind Angular’s lightning speed
Presented by Max Koretskyi
Mocking made easy
Presented by Dave Cooper
Injecting mock data into web applications is still an absolute pain in 2019. I’ve come up with some opinionated opinions and built some cool things to hopefully tackle that problem. Join me in a live coding journey to hopefully change your mind about how you’ve been dealing with mock data until now :)
Profiling Angular apps like a shark
Presented by Gil Fink
As front-end developers we strive to build fast and fluid web apps. But how can you find performance problems or memory leaks? How do you profile a web app or Angular oriented app? In this session you will get to know how the browser works. Then, you will learn how to use that information to profile web apps and Angular oriented apps.
Offline first in Angular
Presented by Marta Wiśniewska
Are your apps fast and stable when the network isn’t? Let’s take a deep dive into Progressive Web Apps and Offline First approach! I’ll show you some tricks how to handle offline state and manage your app and its resources in various network conditions. We’ll build fast and reliable apps using Angular and PWA features.
I’ll show how build a PWA using Angular with Offline First approach. I’ll introduce fundamentals of this strategy and show how to manage an app’s resources in various network conditions, how to use PouchDB and CouchDB for data sync and make an app fast and reliable. I’ll also share useful web APIs to do this.
Automating your Angular projects with Schematics
Presented by Brandon Roberts
When building Angular applications, each project is different but there are things you can do to provide some consistency. Angular Schematics provide you a way to standardize on how your apps and libraries are constructed, generate custom code, adding custom install logic and handle upgrades. This talk shows you how schematics work, how to write schematics, including migrations to upgrade your projects automatically.
The coming FAD: Future of accessibility for developers
Presented by Gerhard Boer
Presented by Minko Gechev
Minko takes to the stage together to share the latest technical Angular updates.
GitHub at scale: How Angular manages community contributions and repositories
Presented by Joey Perrott
Ever wondered how the Angular team manages the hundreds of issues and pull requests we receive? Come by and gain some insight into the processes and tooling we use to do our best as we build Angular and engage with the community. We’ll cover some of our pain points, successes and touch on some ideas we have for what else we can try to do.
Let’s build a form around it
Presented by Sani Yusuf
Reactive Forms are a mainstay in the Angular ecosystem yet a lot of developers limit their usage to just Login pages or traditional input collection. In this talk, I will showcase how you can take advantage of the full power of Reactive Forms to build some really powerful state-driven solutions. This talked will be based on real-world personal experience of building complex data-driven healthcare solutions with Reactive Forms. I will also showcase some really common use cases in a lot of angular applications that may not be obvious for the application of Reactive Forms. We will explore the hierarchy of Reactive Form Controls and showcase some smart ways to implement custom validation inside of your Angular application. The main aim of this talk is to enable users to be aware of what is at their disposal and how they can take advantage of the full power of Reactive Forms.
Performance optimizations in Angular
Presented by Mert Değirmenci
Angular and RxJS are cool technologies that make it easy to develop web pages. Unfortunately, they also make it easy to build an inefficient page that will bring the browser to its knees. While rewriting Google Cloud Platform (GCP) in Angular, we have observed and tackled significant performance degradations. In this talk, a summary of learnings and common pitfalls will be shared.
The art of humanizing Pull Requests (PR’s)
Presented by Ankita Kulkarni
Code reviews are an important part of a developer’s life. It’s very easy to perform code reviews, but hard to do it with empathy. In today’s online world, online criticism can be misinterpreted easily. Hence in this talk, we will go through what is a pull request, how to effectively create one, how to give constructive feedback and also how to respond to one using empathy. This talk will also teach you techniques to breakdown your feature, testing strategies, learning when to take the conversation offline, resolving disagreements, going above and beyond in your job as a developer and more. We often forget that we are reviewing our co-workers PR who we like to hang out with.
After this talk, you will learn how your choice of words will help you get the point across but also build a positive relationship with your team and you are all set to focus on the most important thing i.e. writing great software.
Creating a better culture in tech through diversity and inclusion
Presented by Tracy Lee and Rob Ocel
Everyone is talking about diversity and inclusion these days. But why does it really matter? And if you’ve had a hard time finding women to hire, how do you solve that problem? What are some ways companies have done D&I right, and how can you learn from them? We’ll explore some practical reasons why you should be aware of how D&I impacts your business and easy tips to begin changing how you and your team think today. We’ll also cover do’s and don’ts of how to build an inclusive team culture and creating a sustainable environment that includes everyone.
Power in constraints
Presented by Rado Kirov
Have you ever worked in a system that didn’t let you do something? Did that leave you frustrated and wanting to rant on Twitter? This talk will help you cope with that frustration by showing you the number of wonderful things constraints provide - performance, security and ease of change. We will show examples from TypeScript, Bazel, and Angular where the tool/frameworks critically rely on the inability to do something, to allow even better outcomes.
How Angular works
Presented by Kara Erickson
Angular is many things to many people, but at its heart, it’s a set of tools to render content, organize applications, and manage data. Find out about how Angular works under the hood and get insights into the challenges we faced and the decisions we’ve made by learning how everyday Angular features from change detection to queries actually work.
ngTemplateOutlet: The secret to customisation
Presented by Stephen Cooper
Are you trying to create a customisable component with Angular? TemplateRefs and the ngTemplateOutlet directive could be the secret you are missing to achieve full user template customisation. Join us in this talk to see how we transformed our components to achieve this.
We will show how TemplateRefs enable you to provide default templates whilst accepting custom display templates that seamlessly integrate into your component. Users can even target variables from your component’s internal scope that you choose to expose. Most importantly we will examine the differences between ngTemplateOutlet and ngInclude (Transclusion) and give examples when you should use each approach to template customisation.
After this talk you will have all the knowledge and skills you need to start using ngTemplate and ngTemplateOutlet in your own components and wonder how you ever survived without them!
Building with Ivy: Rethinking Reactive Angular
Presented by Mike Ryan
Ivy is making fundamental changes to the way Angular renders our applications and in doing so unlocks new patterns and techniques for writing components. Explore how these new techniques allow developers to layer in reactive programming at the view level with higher order components, observable life cycle methods, and Zone-less change detection. In addition to these new changes you will also get a sneak peak into how Ivy may transform state management libraries like NgRx.
Building Angular apps with internationalization (i18n) in mind
Presented by Naomi Meyer
At Adobe we build products for the world, this talk with provide a high level overview of internationalization (i18n), globalization (g11n), and localization (l11n) learnings. Why these are important and how to implement in design, UX, and within the codebase - using Angular code examples and 3rd party library recommendations.
Quantum Facades: Why NgRx Facades are terrible or awesome depending on how you observe them
Presented by Sam Julien
NgRx facades are terrible! No wait, they’re the best thing ever! What the heck is a facade, anyway? You may have heard recently about a topic whizzing around the Angular community: facades in NgRx. But are facades good or bad? Much like the age-old controversy of whether light is a particle or a wave, the answer depends on how you look at them. In this talk, you’ll learn what facades are, why you should embrace them, why you should never, ever use them, and how to implement one without making Mike Ryan wake up in a cold sweat somewhere in Alabama.
Migrating breaking changes with TSLint and Schematics
Presented by Stanimira Vlaeva
Have you ever been scared to update because of breaking changes? Worry no more - the Angular CLI comes to rescue! The command
ng update will migrate your project to the latest, automatically applying all necessary changes along the way. But… what kind of sorcery is this?, you may be wondering. Let’s demystify the update process! At the end of this session, we will have the answers to the following questions: What is a TSLint rule and how to write one? What are these schematics things everyone is talking about? How to combine the powers of TSLint and schematics to write our own migration scripts?
Presented by the core team