JUPITER Day One at 11:20 to 11:45
Progressive Web Apps are the next big thing for the web. They combine the advantages of two platforms: searchability and shareability of the web with capabilities and performance of native mobile. As a result, web developers can use their favourite tools to build installable, re-engageable, connectivity independent apps, that can bring native-like performance and user experience.
The Angular Service Worker makes it easy to get started building PWA. It’s developed to automate main routines and provide us with some nice tools to control the progressive app behaviour. During this practical session, we'll have a look at NGSW’s main components, and how they take our web app to the next level. With just some simple updates we’ll get installable, offline-capable, mobile-network-friendly Angular app re-engaging users by push-notifications.View the slides
SATURN Day One at 11:20 to 11:45
Making an application in multiple languages is already such a complex and tedious task that you shouldn't have to worry about all of the technical details. It should all be handled by your framework. Angular is finally catching up on the essential i18n features that you need for your applications and libraries. I will show you the new and upcoming features of Angular v5 and explain the challenges that it will solve for you.View the slides
PLUTO Day One at 11:20 to 12:10
SATURN Day One at 11:50 to 12:15
As an architectural engineer by training, and working as a web dev for the past couple of years, Katerina will explain how architecture has defined the way she designs web apps and pages and how Angular has supported her in organising content.
"A web page for me is like the facade of a house. From day one into web development, I looked at apps as if setting down plans for a new building. The process, like the process of building from the ground an establishment. I want to talk about scaffolding. I want to extend on designing the building blocks, the bricks made out of components. And as the construction is evolving, how materials fill in the empty spaces, making them consistent."View the slides
JUPITER Day One at 11:50 to 12:15
We just need to type `ng serve` to see our Angular app running in front of our eyes. But what about those who can't see? How can we build an experience that is also relevant for sight-challenged people? In this session, we will do it differently. We are going to code without actually using browser - just a screen reader. What does the feel like? Can we make it better by adding some accessibility love to our app? Let's figure it out together!
SATURN Day One at 12:20 to 12:45
Session resources: http://bit.ly/onesie-life
Robert'); DROP TABLE Students;-- The little Bobby Tables is embodying the classical fear of SQL injections when building web applications.
However, SQL injections are just one aspect of things we need to worry about when building web applications. With the recent popularity of Angular, React and other Single Page Application frameworks we got more logic executing on the front-end create new problems and make you forget about others.
In this talk, you will learn about XSS, CSRF, CORS, JWT, HTTPS, SPAs, REST APIs and other weird abbreviations, how to protect yourself and your users from the new generation of Bobby Tables.View the slides
JUPITER Day One at 12:20 to 13:10
Regardless of the power of the Angular platform, developers always struggle UI component Layouts. Using Flexbox CSS, the HTML layouts becomes responsive to viewport size changes. HTML containers will auto-adjust their sizes and child elements will auto-adjust positioning and sizes accordingly.
But using Flexbox CSS is hard... and frustrating... and seemingly complex. You have to become a Flexbox CSS expert! Or do you? With @angular/flex-layout, developers have an Angular-native, HTML markup API that makes it super easy to layout their UI components. And the Flex-Layout will generate and apply, under-the-hood, the best FlexBox CSS for your needs.
And the Flex-Layout will generate and apply, under-the-hood, the best FlexBox CSS for your needs. Even better, Flex Layout has a Responsive API that makes it super easy to adapt the UI to different devices.
Hide or show components, change layout directions, change stylings... all super easy with @angular/flex-layout. Come to this presentation to learn more about @angular/flex-layout, how it compares to Angular Material, how it compares to Bootstrap CSS grids. Come to learn why this should be a critical new tool for your Angular developer toolbox.
MARS Day One at 12:20 to 13:10
PLUTO Day One at 12:20 to 13:10
SATURN Day One at 12:45 to 13:10
One thing is sure - performance matters! Blocking the main thread of an application, causing frame drops, is one of the most efficient ways to get rid of a significant portion of our users. Fortunately, the day could be saved, thanks to functional programming. Coming with, at first, abstract ideas, functional programming brings the concepts of immutability and purity, which combined together can dramatically improve the rendering performance of our application. In this talk, we'll apply concepts from functional programming in the face of pure components, pure pipes and persistent data structures. We'll demonstrate in details how we can use them to build high-performant Angular applications.View the slides
VENUS Day One at 14:10 to 16:10
See how quickly you can build good-looking, highly functional applications from scratch using Angular Material and Flex Layout.
PLUTO Day One at 14:10 to 15:00
MARS Day One at 14:10 to 15:00
JUPITER Day One at 14:15 to 14:40
People with disabilities make the largest minority comprising the market size of China, but their needs are sadly the most misunderstood and ignored. Accessibility is an important part of any projects and not to be used as an afterthought or as a separate part. Also, it’s everyone’s responsibility to make their products and services accessible regardless of the industry. Accessibility benefits everyone and not just those with disabilities - including businesses who can improve their bottom lines due to having more happy and loyal customers.
Sveta will share her personal experiences as a deaf professional and discuss some accessibility examples. Her presentation will be delivered in sign language, voiced by sign language interpreters, and captioned in real time to make it more accessible to a wider audience.View the slides
SATURN Day One at 14:15 to 14:40
If you want your teams to be more engaged, empowered and motivated, if you’re wishing to improve your team or your own personal skills, this session will explain the science that reveals what makes people tick and practical ways to address those challenges successfully. In this interactive, fact-based and entertaining session Alan Furlong will explain the tectonic shifts that are occurring in the workplace today, why tech companies are at the leading edge of that change and as a consequence, why our personal, professional and leadership tool-kits are outdated and need an upgrade. What they share is fascinating research and case studies from positive psychology, neuroscience, social science, systems thinking and other disciplines that ultimately create an “ah ha” moment for anyone who has been struggling personally or with people issues.
JUPITER Day One at 14:45 to 15:35
Angular is a powerful platform with the features you need to build large and complex web applications. Some of these features, though, are more well known than others.
Core team member Alex Rickabaugh will give a tour of Angular's more advanced features, tricks, and patterns. Whether you're looking to design more ergonomic and reusable components, optimize your app's change detection, or architect for performance, beginners and experts alike can benefit from deeper knowledge of Angular's advanced APIs.
SATURN Day One at 14:45 to 15:10
According to builtwith.com over 400,000 AngularJS apps have been created and released into the wild. In this talk I'll present a new migration approach. One that works for even the most complex and challenging legacy AngularJS applications. One that works even if your AngularJS code is not up to todays standards.
One that works even if you are not already an SPA. One that works when you are migrating a number of other legacy libraries at the same time you are migrating AngularJS. If you have already tried migrating your existing AngularJS application and hit a brick wall, or are overwhelmed with the number of changes you'll have to make to your existing AngularJS app to even begin the process of migration, then this talk is for you.
SATURN Day One at 15:10 to 15:35
As much fun as Facebook Spaces experience and watching a basketball game in Virtual Reality headset are, we have not witnessed the real power of WebVR yet.
Neuroscientists and doctors are discovering the how they can utilize WebVR for pain management, depression and Alzheimer disease. Tech leaders like Google is collaborating with teachers to create educational discovery applications to bring experiences to students all around the world that would otherwise never get to explore.
Smithsonian museum is scanning all of their archive for you to experience their collection in a way you have never done before. Join us connecting the world with this new technology. Let’s create your first Angular WebVR component and look at the amazing tools we have together.View the slides
SATURN Day One at 16:15 to 16:40
The Angular pages you know are mostly static. They are fixed component trees, fully described by their templates. In Angular the component template and class are inseparable.
They are compiled together into a single execution unit during the build. It's hard to imagine an Angular application that generates a runtime custom dashboard or a data-driven questionnaire ... or the free-form pages of Angular's own documentation at angular.io.
Can it be done? It is done! In the official, open-source, Angular documentation viewer, each document page is a unique blend of HTML content and Angular components drawn from a widget toolbox. A page can display any of the widgets, in any combination, placed anywhere on the page.
The documentation viewer itself has no idea what these pages look like. Learn how we do it and imagine how you can apply these techniques to build dynamic pages in your own application.View the slides
JUPITER Day One at 16:15 to 16:45
Now that universal rendering support has landed in Angular 4.x, developers should evaluate how they can provide a better user experience by rendering page content before they're delivered it to the browser.
There are many options to consider with pre-rendering, with many complex trade-offs to evaluate.
This talk will help simplify complexity, and provide a framework for thinking about how to best utilize pre-rendering in your applications.View the slides
MARS Day One at 16:15 to 17:05
JUPITER Day One at 16:45 to 17:10
We live in a world where context is often derived from forces such as gravity, friction, velocity, etc. which can determine the entire nature of a user interaction. These factors provide us with a considerable opportunity to direct a user experience to a successful conclusion by giving the right cues and setting the proper tone through motion. Angular Animations provides us with a way to express movement through a powerful yet natural DSL within our applications. In this talk, we will work through how to take a static application and bring it to life in easy, approachable steps so that you can apply the same process to your work.View the slides
JUPITER Day One at 17:15 to 17:55
A Jeopardy-like gameshow which tests the darkest sides of Angular only a few know about. If you know, there are cool prizes, if you don't... you'll learn something cool.
To be in with the chance to compete for prizes and test your Angular knowledge on stage at AngularConnect 2017, fill out the application form.
VENUS Day One at 18:30 to 19:20
Join Vincent Ogloblinsky for a "Game of Code" workshop and test the strength of your algorithm.
Go to battle, and pit your medieval avatar against a fellow AngularConnect attendee or the server’s AI.
If you would like to take part, visit https://coding-game.swat-sii.fr/?lng=en to create your avatar. Please ensure your AI is coded with your preferred language. Starter kits are also available (Node.js/RxJS, Node.js, PHP, Java).
What you need during the workshop:
- a simple REST API to call
- an Angular application to watch in real time the fight
Don't forget to bring your laptop!
SATURN Day One at 18:35 to 20:05
The Discovery Stage is a space for showcasing future talent.
This year our speakers Kristiyan Kostadinov, Jon Terje Aksland, Katerina Skroumpelou and Michael Smith will be opening the lightning sessions.
The lightning sessions are open to all delegates. Anyone can sign up for a 3-minute lightning talk throughout day one of the conference.
The signup form will be located outside Saturn track.
Lightning talks spaces will be available on a first come first serve basis, and the spaces are limited.
All we ask is that you bring your ideas with you to the conference and sign up early on the day to be considered for a slot!
SATURN Day Two at 10:15 to 10:40
A look into the design process and implementation of Angular Material's Data Table.
Come find out how we prototyped different designs to meet our requirements on performance and accessibility with a simple flexible interface.View the slides
JUPITER Day Two at 10:15 to 10:40
Angular Elements is an Angular Labs project that allows Angular developers to use the skills they know from building Angular applications and extend them to make reusable components. This session will provide you an overview of Angular Elements and walk through building one.View the slides
MARS Day Two at 10:15 to 11:05
SATURN Day Two at 11:20 to 11:45
In today's world, mobile is the primary way we access the Internet for our very many important activities. The problem is a lot of apps work great online but become unusable offline. Imagine if you couldn't search for previous emails on your mail app if you had no Internet connection? Creating an offline experience can be challenging with so many things to worry about like how best to sync when the internet comes back or how best to handle conflicts when multiple users change the same data offline? This talk will showcase how we can use PouchDB to achieve 4-way data binding by keeping the Model, View, Serve & Offline Data all in sync while providing the user with a mature offline experience.View the slides
JUPITER Day Two at 11:20 to 12:10
In this talk, we'll start by discussing some helpful patterns for creating successful forms, from error message handling to on-demand validation. We'll also review what's new in Angular forms and what might be coming up next.View the slides
VENUS Day Two at 11:20 to 13:05
Welcome to the amazing world of the Web, where everything is possible. In this session, we are going to combine Angular with cutting edge web technologies and create a Guitar-hero style game, but in a virtual reality world. We will use Web Bluetooth, Web VR, and Web Audio to live-code a unique game experience, with Alex adding some Neuroscience sauce to the mix.
PLUTO Day Two at 11:20 to 12:10
SATURN Day Two at 11:45 to 12:10
There is an acute sense of pain that developers experience as they try to reconcile complex user interactions and interpret the effect those actions will have on the overall application state. This generally starts out as a fairly painless journey, but as application complexity increases, so do the demands that we place on our components.
Let us imagine a scenario where the primary function of components is to expose just enough data for our templates to bind to and capture events to be passed along to a service. On a superficial level, it is obvious that these would be much easier components to work with, but what are some deeper implications of having all of our user events reduced to a series of actions and then broadcasted to the rest of the application? What happens if we bypass the components entirely and just start broadcasting those same actions directly into the application? What if we switched one view layer for another? Could one application share multiple views at the same time? If we know the actions a user takes and we can recreate them, does "time" really matter?
SATURN Day Two at 12:15 to 13:05
The Angular CLI has been very successful, but the Angular tooling does not stop there. The next evolution of the CLI is the Angular DevKit and Schematics.
In this talk, you will learn what the Angular DevKit is, how to customize the CLI with Schematics, how the new build system works and why this can help you as a member of the Angular community.View the slides
JUPITER Day Two at 12:15 to 12:45
NgRx is the default state state-management library for Angular. It’s simple and flexible, and, as a result, a lot depends on how you use it. Victor helps a lot of enterprise companies build large Angular applications with NgRx, and in this talk he will share some of the best practices and patterns that work well.
MARS Day Two at 12:15 to 13:05
PLUTO Day Two at 12:15 to 13:05
JUPITER Day Two at 12:45 to 13:05
The 2 major challenges for frontend apps these days are maintaining a sane architecture, and good performance. MobX introduces a great way to manage a reactive state with a single source of truth, using plain objects and decorators. This talk will introduce the idea and concept behind MobX, and how it can completely turn your web development process around.View the slides
VENUS Day Two at 14:05 to 15:35
Getting started with Angular is now easier than ever ... said no one ever. Yet with the right toolset, we too can create magic. When I code with Angular I can deploy to Azure within minutes. We'll go through a simple development to production workflow. First, we code with a little help from the Angular CLI. Then we build for production - Webpack to the rescue. We then push our code to Github and deploy it on Node to Azure. Mission accomplished, the application is now up in the cloud!View the slides
MARS Day Two at 14:05 to 14:55
PLUTO Day Two at 14:05 to 14:55
JUPITER Day Two at 14:10 to 14:35
Angular became the framework of choice for numerous large-scale projects in the media, e-commerce, financial and banking sectors to name but a few.
However, even though the framework itself has changed and improved dramatically since it was originally introduced, the way we design the acceptance tests and the design patterns we use to do that is still stuck in 2009.
This makes it difficult to write E2E tests and use Protractor at scale, especially on projects where multiple teams are involved. In this talk I will demonstrate Serenity/JS, a TypeScript implementation of the popular Serenity BDD library, that lets you test Angular apps using the Screenplay Pattern and benefit from the powerful reporting features provided by Serenity BDD.
Combining the advantages of Protractor, the expressive Screenplay DSL, tooling support for TypeScript, and the powerful reporting features of Serenity BDD, Serenity/JS is set to become the tool of choice for your Angular automated testing!
SATURN Day Two at 14:10 to 14:35
Technology has given us means to communicate with computers - interfaces such as keyboard, mouse, and touch screen. But when we look to the future, we expect a more natural, intuitive, agile way to use applications: speech. As you can see, the future is already here and voice driven interactions are becoming mainstream. Not only can voice driven interface upgrade our users' experience, but it opens a world of opportunities for unique use cases. Shmuela will show you how you can leverage Google Cloud Speech API with Angular and Firebase to enable your application listen and respond to its users.
JUPITER Day Two at 14:40 to 15:05
Google Cloud Platform's migration story: technical, organizational, and practical considerations for migrating a large and growing project.
SATURN Day Two at 14:40 to 15:05
John Papa's style guide has many great tips for managing code for your Angular app. But...what about when you are managing many different apps? Do you use one monorepo or many smaller repos? Where does your shared code live? How do you manage breaking changes across your apps?
In this talk, I will draw from my own experience to lay out the different options available and provide my recommendations for best practices with the management of many different Angular apps under the same umbrella.
JUPITER Day Two at 15:10 to 15:35
In this talk, Rado will show you how you can build Angular applications using the same stack that Google uses internally. This includes AOT Angular compilation, the Bazel build system and the Closure optimizer.
SATURN Day Two at 15:10 to 15:35
We all heard about GraphQL, a powerful query language, for any data. But what if we could use that powerful query language to manage our local state between components? In this talk, Uri and Kamil will talk about the latest release of apollo-angular 1.0 and the new possibilities it brings to Angular applications, not only over the network but for your local data as well.
Many thanks to our wonderful sponsors. If you’d like to get involved in supporting AngularConnect, please request a sponsor pack.