At the 2019 conference, brought a programme of 30+ sessions from world-renowned Angular experts, including members of the Angular team at Google! covering topics such as Angular Ivy, performance, tooling, authentication, security, testing, accessibility, PWAs, NgRx, and lots more.
Currently, there is a specification floating around on GitHub called the Accessibility Object Model (AOM). This specification will make it easier to make applications more accessible, by leveraging the power of JavaScript. The AOM specification will allow for a dynamic and easy to maintain application without having to diminish the Accessibility. There is also support for ShadowDOM & WebComponents, something ARIA is unable to do at the moment.Other cool features include processing specific events from Assistive Technologies, which means giving the user a better experience using the web application. Even better, it will be possible to make the HTML5 Canvas accessible.
This basically means that we can allow people to play games using Assistive Technology. In the end, this specification will allow the developer to apply the Inclusive Design Principles in a familiar way, through javascript. In this talk we'll go over the current technology and how browsers process application to make it available for Assistive Technology, and what the AOM will solve and add to the current state of accessibility.
Until now, end-to-end testing wasn’t easy. It was the part developers hated. Cypress is a solution that makes setting up, writing, running and debugging end-to-end tests easy. In this mini-workshop, we're going to demonstrate how Cypress works, take a look at its features, and write a couple of tests as well!
Read the mini-workshop joining instructions and pre-requisites here.
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 :)
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!
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.
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.
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.
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?
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.
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.
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.
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.
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.
VS Code has been taking the dev community by storm, quickly climbing the ranks of popular code editors - especially among front-end developers. One of its most powerful (and often overlooked) features is its extensibility, which allows it to be tailored to the diverse needs and preferences of thousands of developers.
But what if none of the 10000+ freely available extensions does exactly what you want?
In this workshop, you will learn how to take advantage of VS Code's public extensibility model - using the same tools you use for your day-to-day work - and make your (and your team's) dev experience truly yours.
In particular, you will learn (by doing) how to:
Remember...you are only as good as your tools ;)
Read the mini-workshop joining instructions and pre-requisites here.
Angular developers rarely have the need to write super optimized code. In application development we tend to favor readability over optimization. But this approach doesn’t guarantee fast execution of the code. With frameworks, the situation is reversed. Frameworks have to be really fast. Interestingly, there are techniques that make JavaScript code run faster. You’ve probably heard about monomorphism, bit fields or bloom fliters, right? Maybe you've even used some of them. Over the past year I’ve seen them all and a bunch of other interesting techniques while reverse-engineering Angular. In this talk I want to share my findings with you. You may end up applying this knowledge at work or, who knows, may even use it to make Angular run even faster.
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.
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.
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.
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.
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.
Stephen and Igor team up to deliver this year's Keynote session with the latest on Angular in 2019.
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.
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.
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.
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.
For most of us, the Angular compiler is just a part of the build - it's that thing that happens before the "real" work of compilation: 92% chunk asset optimization. But how does it actually work? What does the Angular compiler _do_ when it's taking our Angular code and generating Javascript?
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.
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.
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.
We will learn how to create a blogging app, similar to Wordpress, using Angular on frontend and Google cloud Firestore as a database provider. This will be a mini-workshop of around 90 minutes. We'll explore the following concepts:
This sample application is hosted at blogsite-30c69.firebaseapp.com. Read the full mini-workshop joining instructions and pre-requisites here.
Learn what the new Angular Workspace offers developers and teams to create an efficient workflow. Learn best practices for working many applications and libraries in a single environment. This session demonstrates how the Workspace supports good programming practices (DRY) and principles (Separation of Concerns). You will learn:
Read the mini-workshop joining instructions and pre-requisites here.
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?
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.
Minko takes to the stage together to share the latest technical Angular updates.
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.
Interested in sponsoring? Please get in touch with our sponsorship team to request a sponsor pack and find out more.
Premier Sponsor
Platinum Sponsors
Gold Sponsors
Sponsors
Sign up to receive updates about AngularConnect, including speaker previews, ticket launches, Call for Proposal details and other exclusive content. We won’t spam you and will only send you emails we genuinely think you’ll find interesting. You can unsubscribe at any time and you can find more information in our Data Promise.