We live in a competitive world. That competition forces change. It has always forced change. Change is normal. The question is not whether our organisations will change, that’s a given, but can we see this change before it hits us, do we know where we’re heading or are we simply floating aimlessly being carried by a river? It certainly feels that way sometimes. To answer the question we need to understand our landscape, the economic forces at play, the context we operate within and our situational awareness of this. Can we navigate the waters, can we see a storm coming or are we being battered by rocks because we refuse to look?
During this talk we will examine the level of situational awareness within business, why it matters and whether we can anticipate and exploit change before it hits us. We look into the changes that are occurring with the development of serverless, why now, what’s important to it, how it will change the way we do business and how this interacts with the API economy. There’s a lot of fuss about serverless and in this session will try to paint a clearer picture or at the very least a map of where it is going.
Mobx State Tree is a simple and powerful solution to manage your application state, based on MobX. You probably heard about it and maybe you tested it out with an “hello world” project, but... are you using it in production ? Do you know how it scales and how to test it? DAZN is a sports streaming company with millions of users around the world, and we just finished to rewrite entirely the Front End.At the core of our front end architecture we have MobX and MobX State Tree, and I’d like to share with you why we made this decision and how it made our lives easier.Reactive Architecture, Model Composition, Mutability and Immutability are just a small subset of all the features that I’m going to walk you through. Join me to find out why MobX State Tree could be your next best friend!
It's easy just to build an app with no real architecture in mind. For the most part Angular as a framework ensures that you don't drive off the road. However as your application grows it becomes more and more apparent that you need to organise your code in a better way. The application state grows and suddenly its everywhere and you realise you don't anything about anything. This is where NGRX comes in to bring order to the chaos. NGRX ensure that your data flows in one direction and that you always know who did what to your state. Are you curious on what NGRX is and how to get started with its paradigms, libraries and tools? Then this session is for you
The Open Web Application Security Project (OWASP) is most famously known for its list of the top ten security risks for websites. After a long wait, the 2017 edition of the list has been released. There have been many changes to the previous editions, including new and refined threats against web applications and APIs alike. We'll have a look at all entries on that list, what's new, what has changed, and what security risks a modern web application will face. This applies to both regular web applications and APIs.
Redux has created an enormous paradigm shift in web application development. This made redux a standard and best practice to handle data changes in an application.
In this session we will talk about- when and how we should use Redux in a react app. Then we will get familiar with redux core concepts with a real-world application (not in a todo app). Finally, we will discover accidentally that Redux is not very good at asynchronous side effects.
This will make prince Redux cry. Then he made a short relationship with Redux-thunk that didn’t last very long. Finally, he will meet his soulmate Redux-Saga. Through a romantic adventure, we will explore redux-saga’s maintainable and testable approach to managing side effects, asynchronous calls (like an AJAX request).
Most importantly we will unveil whether Redux and Saga’s relationship creates any side effects or handles them with care.
You and your team have this great Idea and you have your users using different devices and operating systems to access the same application. Some users are on the Web, some on Mobile some of their Desktop and you also have to worry about what operating system they are on and also have to consider how your application is presented on each device & operating system. What if there was a way to code your app without worrying too much about operating systems/devices/screen sizes and just focusing on getting your idea across to your users regardless. Join me on a journey where I show you how to use Angular, Ionic & the PWA standard to build apps for IOS, Android, Windows, Web, Mac & PC with the same code all using just HTML5.
For scaffolding files, the Angular CLI leverages the code generator schematics. To customize its behavior, everyone can tweak the used templates and even create new ones. In this session, you will learn how Schematics work and how we can write npm-Packages that provide code generators. You will also see how to modify existing source files, e. g. in order to register a generated component with an existing module. At the end you know everything to automate repetitive coding tasks.
Microservices have been a topic for years now. Traditional micro services architectures often choose the UI as it’s platform for integrating the services, which often results in small, decoupled backend services, but a tightly coupled, hard to maintain, monolithic frontend application.Micro frontends are the obvious solution to that problem: we take the learnings from the backend to the frontend. We will discuss different micro-frontend approaches, their up- and their downsides.
VueX is bringing 2 important concepts to the Vue.js world, first of all provides an opinionated architecture to follow heavily based on Elm, Redux and/or Flux, secondly VueX guarantees a quick and easy way to manage the states in our Vue.js applications.
During this talk, we are going to understand how to embrace this library for our projects
With the massive usage of APIs, and the exposure of private and confidential data, companies have become targets of sophisticated cyber-attacks including brute force login attacks, data theft, account takeover, and API DoS/DDoS attacks which require Artificial Intelligence for reliable detection. This presentation from Elastic Beam and Axway will explore how the integration of an Artificial Intelligence engine with a strong API platform automatically detects and blocks new cyberattacks on APIs.
For Philips Hue we use RxJS to control millions of lightbulbs around the world. RxJS offered the right abstractions to allow us to focus on what our code needed to do, therefore less plumbing was needed on how to achieve this. This has reduced the amount of code being developed resulting in less bugs in our cloud infrastructure versus using traditional async methods like promises or callbacks.But using RxJS also has major pitfalls. The learning curve is steep and debugging is difficult. In this talk we will dive into the reasons why debugging RxJS code is complex and show many different options to tackle this problem.
Serverless is the new black - I can deploy my application to the cloud without ever worrying about infrastructure. We all remember the days when we had to spend hours and hours configuring and ebugging web servers when all we wanted was to just code and test our app. Those days are long gone and it’s time for us to unlearn how to provision and manage infrastructure while focusing on building and scaling applications.
Remember when setting up an auth system was easy? Me neither. From the signup form, the login form, password reset form, and all the validation in between it can easily take weeks if not months to get something basic up and running. Then you have to deal with all the security considerations. No thanks. During this presentation, the attendees will be introduced to OpenID and OAuth. They will learn how to leverage these technologies to create secure applications, but most importantly, they will learn why and how to delegate authorization and authentication so they can focus on their real work and forget about all that security stuff.
NativeScript has opened up a whole new world to Angular developers: the ability to share code directly between your web and native iOS/Android applications. Which is awesome! But, just because you can share code across multiple platforms, doesn’t mean that you necessarily should.
In this talk we’ll first take a look at what NativeScript makes possible from a code sharing perspective. We’ll build a few Angular components and use them both in the browser and on mobile devices. Then we’ll take a step back and look at the same code from a pragmatic, maintenance-oriented perspective. Come for practical tips & tricks on sharing code across multiple development environments.
In this session, I want to demystify the reactive streams providing all the knowledge necessary to embrace any library and not only Rx.JS as the most famous reactive library.
Understanding the concepts behind the library will allow us to switch from a library to another one without any problem giving us the freedom to engage any reactive project
(In deep-theatre-guy voice) In a world, where Internet speeds can reach up to 6 megabits per second and cows reign supreme, one developer stands alone to discover the simplest way to cache EVERYTHING! Join her on this epic journey fraught with lag and peril where she'll battle config files and caching external assets, all the while dealing with the conflict of freshness vs cache-first styles looming ominously over her every move! Will her love for cows be forever destroyed by slow network? Or will she embrace the challenge and overcome the lag with service worker power?! Find out, during “Service Workers & Cows — a love story”.
What is the ultimate hack of our lives? What is the one thing that we strive to learn the most about? What is the thing that will truly unlock our potential?
Do you ever wake up in a cold sweat, thinking that your mobile apps are both boring and stupid? When this happens, you start to question yourself, asking why your apps aren’t more empathetic, why they don’t respond better to your users’ needs. Even if you have built a performant app with a great UI, you can improve it by leveraging new methods of adding machine learning to your apps to create a really useful and enticing mobile app experience. In this talk, you’ll learn some basics of machine learning and how to integrate it into your mobile app, first with some clever APIs, and then with custom trained models using TensorFlow. Come learn how to send your apps back to school and level up their innate ‘intelligence’!
Our job is hard. We build things that does everything from makepeoples lives simpler, to changing the world and also let’s face to make someone else rich. Regardless of which, there are a lot of things we need to care about to hammer out the best possible solution:
Architecture, patterns, 3rd party vendors, frameworks, tools, libraries. Did someone say users?
Sometimes we lay awake at night wondering if we can save another CPU cycle or wether we tested everything. Then, if we are “lucky enough” to work on the frontend, we have to say goodbye to one framework a week, by 6 months everything we know is almost guaranteed to be obsolete.
We spend our career in a hamster wheel of continuous learning and retraining while someone throws tasks or bugs at us. It’s easy to feel stressed out, even though we might love our craft. In all that chaos we need to find our inner voice, what we feel passionate about, what makes us bring our A-game.
There are different ways to become awesome, different ways to keep your sanity. Let’s explore what those are and hopefully you will feel inspired enough to look forward to that morning commute.
The web is asynchronous by design, and it has to be. But, there is a slight problem that asynchronous programming has a slight tendency to make people's heads explode. And people really don't like when their heads explode. To get out of the pickle, we need to handle the asynchrony somehow. This talk will explore the reasons for the design of the web, and will try to offer some solutions, from the worst possible to the current state of the art.
By now I bet your company has hundreds, maybe thousands of services, heck you might even consider some of them micro is stature! And while many organizations have plowed headlong down this particular architectural path, your spidey sense might be tingling...how do we keep this ecosystem healthy? In this talk, I will go beyond the buzzwords into the nitty gritty of actually succeeding with a service based architecture. We will cover the principles and practices that will make sure your systems are stable and resilient while allowing you to get a decent night's sleep!
Achieving organisational agility has become one of the most needed, hence desired, goal of most enterprises operating in the digital landscape. There has been a significant growth in the take up of agile approaches specifically in the software industry and beyond. Among these are XP, Scrum, Kanban, Lean, SAFe, LESS and more. DevOps has been one of the latest agile approaches, focusing mainly on collaboration between development and operations through developing technical capabilities for continuous deployment & service delivery. A recent research, carried out by the speaker, suggests six key themes to a DevOps approach. These are as follows: Cultural change; Continuous integration, delivery & deployment; Tooling & cloud automation; Accepting DevOps as part of the business strategy; Problems solved together; Everyone benefits from DevOps. Based on these themes, the purpose of this talk is to explain why DevOps is seen as a cultural change rather than a pure technological change. This allows me to propose a new DevOps model building on the existing principles of promoting collaboration and transparency between teams through a set of technological practices, such as common tooling and automation, continuous integration and deployment to support end-to- end fast delivery of value. The new framework named ‘CALMSLI DevOps Model’, based on the already existing CALMS model (by Edwards and Humble), will be explained with the aim of offering a strategic framework underpinned by seven dimensions; cultural, automation, lean, measurement, sharing, and learning – by small or larger organisations for achieving agility through DevOps.
The Reactive Forms module is powerful. During this session we will live code a complex form from scratch, going through all the main features: validation, reactive state tracking, dynamic
form creation, and much more…
GraphQL is new and exciting query language from Facebook. It's a new way to query data from multiple resources that puts the consumer of the API in charge. Using it you will have happier Developers, less memory consumption and less orchestration. Come learn how this will revolutionise API development as you know it.
In this session you will get familiar with Stencil, a compiler that generates standard-complaint Web Components.
More and more web applications using Angular today need a kind of map, either to just display their location, or visualize their data. These data can be from points/locations of services/places/etc, or a user input, to more complex visuals like heatmaps or paths. These visualizations can easily be achieved with the Google Maps JS API. However, the integration with Angular and the use of its tools is not always straightforward. In this presentation I will show examples of how to integrate Google Maps easily into your Angular application without the use of any external libraries. Part of the presentation will also show some techniques for visualising spatial data on these maps.
As we move beyond a world of using just a handful of internal and external APIs, to a reality where we operate thousands of microservices, and depend on hundreds of 3rd party APIs, modern API infrastructure begins to look as complex as a municipal transit system. Realizing that API operations is anything but a linear life cycle, let’s begin to consider that all APIs are in transit, evolving from design to deprecation, while still also existing to move our value bits and bytes from one place to another. I would like to share with you a look at how API operations can be mapped using an API Transit map, and explored, managed, and understood through the lens of a modern, Internet enabled "transit system".
Functional programming might seem to be a lonely kid that trying to get attention or one of the million buzzwords that front end community has. However, when I started exploring functional programming, it shifted my mindset completely. Now i believe functional programming is the best way to to make your code extensive, testable and perform better.
The goal of this talk is to provide a beginners guide to write functional programming. A set of popular tools, techniques and frameworks with real world example will be presented.
A router is the linchpin of nearly every modern single page application. Angular comes with a new solution for this. It is offering some very interesting advanced concepts such as Child-Routes, Auxiliary Routes, Guards, Resolver and Events as well as Lazy Loading. Using an example, you will discover in this session what lies behind it all and how you can benefit from this innovative router implementation in your projects.
Redux is a popular state management library that rules the modern frontend those days. Through this session, we will reveal the magic behind this tiny yet powerful library by coding it from scratch! If you want to understand what's going on inside your store, let me show you the way.
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.
Web development changed dramatically during the last years. Today, more than ever, when you are building your front-end you will probably want to reuse components across your application. But HTML elements are very limited, so what can we do?
In this one day workshop, we will deep dive into ways you can componentize your front-end. We will start by presenting the new HTML5 Web Components standard. Later on, we will explore libraries such as Polymer and Stencil compiler which can help you to build web components faster and includes a lot of built-in web components.
The term Progressive Web App refers to a group of technologies, such as service workers, and push notifications, that can bring native-like performance and user experience to web apps. Progressive Web Apps are interesting because in some ways they represent a coming of age for the Web. The Angular Service Worker makes it easy to build snappy Web apps that load instantly on any device, even without an internet connection. Take advantage of the searchability, shareability, and no-install-required-ability of the Web without compromise.
During this 100% hands-on session we'll have a look on recent tools and guides from Angular team to help us build Progressive Web Apps. We'll have a look at Angular CLI and plugins/libraries for App Shell, Service Worker, and Application Manifest supporting us in fast and easy creation of installable, offline-capable, mobile-network-friendly apps.
Introduction to PWA and Workshop Setup
Introduction to Angular Service Worker
Create an installable mobile web app with Angular CLI
Make the App Installable with Web App Manifest
App Shell Architecture
Add an app shell component to the App
Deep dive into Service Workers
Add basic offline capabilities with Service Worker
Adding Splash Screen
Sending Push Notifications
Questions and answers
This workshop shows how to structure and build large Angular applications. It discusses architectural approaches as well as the provided building blocks like components, services, modules, and the router. All this is shown in the context of a complete angular application you can use as a blue print for own projects after the works. Consequently, best practices as well as the application's performance are respected. In addition to that, we will discuss options to manage an application's state and you will see in which cases approaches like Redux can help. For this, we are using tried-and-tested tools to improve productivity. These tools include Angular CLI; Angular Material; Augury; and Visual Studio Code, together with veteran plugins.