The finale schedule will be revealed at least 2 weeks prior to the event.
Schedule Day 1 - May 29th
breakfast & registration
In this workshop you will get a hands-on technology preview of World-wide Streams (WWS), a new low-latency stream processing platform developed at Nokia Bell Labs.
Workshop participants will get access to a hosted version of the platform. Just bring your laptop with a modern browser.
For more information, please visit https://worldwidestreams.io
In this workshop, you will learn how enterprises such as Oracle, SalesForce, IBM, and PayPal solve problems such as concerns around architecture, data visualization, internationalization, and accessibility.
Introduction to Vue.js
Vue is simple to get started, scales to large cases easily, has everything you need end to end to build small to large scale apps.
In this workshop we'll kickstart you by using the Vue.js tools.
You'll become familiar with the Vue.js syntax to learn how to do databinding using directives.Components will be added to make sure our applications separate functionality nicely.
This workshop targets people starting with Vue.js and will give you hands-on experience and a good basic understanding of Vue.js.
Introduction to advanced RxJS
During this workshop you will receive a hands-on practice on advanced RxJS topics. RxJS is a great library for building scalable, reactive user interfaces.
First we will learn how to think reactively using observables and most important RxJS operators. Then we will understand the difference between Hot and Cold observables and how to multicast. We will implement higher order observables to see their power. Finally we will take a closer look at error handling and debugging in RxJS.
For more information visit: angular-academy.com
Lunch and registration afternoon workshops
Accessible Microservices with Node.js and Docker Ecosystem
This workshop builds on the best practices of microservices architectures, and investigates how to apply these best practices in Node.js and Docker.
Participants will learn how to;
* apply the best practices of microservices
* structure microservices applications and break down a monolith into a microservice
* set up Docker and create Docker images for microservices
* use Docker Compose for managing services
The workshop is also a unique opportunity to experience microservices development in a team setting — attendees will organize in groups to build up a microservices application from the ground up and see the challenges of integration and working in a distributed application.
Participants should have a basic knowledge of microservices and Node.js. No knowledge or practice of Docker or cloud environments is required. Participants should bring either Mac or Linux laptops. While the technologies we use are also available on Windows, no guarantee can be made if they will work coherently on Windows.
Installing latest versions of Node.js and Docker and Docker Compose beforehand will save us time within the workshop.
Introduction to clojure script: 10x more fun with cljs
What is not a myth: after a few decades of tampering with js, jQuery, angular (ouch) and well, even react, doing front-end development in cljs gave me back (10x more?) fun doing front-end development again. Once npm interop is setup well, the development itself is - exaggeration alert! - a odoriferous breeze of pure joy.
I wanted to share this with you in a hands-on workshop, where we'll be using the classic Tetris as starting point, exploring our way through clojurescript as we go.
It will be about how to make resilient applications, what tooling to use in cljs, how to do typing without a type system, optionally how to solve the expression problem but certainly how to convey data around a one-way loop, making the data flow very brain-friendly.
After this workshop, you'll have real hands-on experience with building a cljs app. You'll know how to setup a cljs project, how to make interop with npm libraries work (the hardest part!), what cljs syntax looks like, how a 'components' is actually just a function as any other function, how your code is automatically optimized using the google closure compiler and how to monitor your app state inside your app in cljs.
The workshop targets people willingly to leave their comfort zone and try something different. The only prerequisite is basic programming skills combined with an eagerness to learn. It is preferred to have your editor of choice already configured to allow for clojure code projects.
Clojure has very decent to excellent support in emacs/spacemacs, intellij (cursive plugin), netbeans (enclojure plugin) and eclipse (counterclockwise plugin).
Additionally, Rainer will present the fundamentals of reactive programming with RxJS so that you understand similarities and differences compared to Promises and async/await. In the workshop you will see demos for the server-side (Node.js, MongoDB) and the client-side (jQuery, Angular).
If you want to follow along with the samples, install the following software on your laptop (latest versions):
- Visual Studio Code with the following Plugins
- Angular Language Service
- HTML Snippets
- REST Client
- TypeScript Hero
- Globally installed tools (npm install -g …)
In this workshop, we will explore how basic electronic components can be controlled with Node.js. We will wire some buttons, LEDs and a couple of servo motors on a Raspberry Pi. To conclude the workshop, you will put your newly acquired knowledge to the test in a small challenge.
How fast can you make the Raspberry Pi put a pen in a bottle?
No prior experience with microcontrollers is required.
As usual, we only have one rule: don't blow anything up!
Schedule Day 2 - May 30th
Breakfast & registration
“Impostor syndrome can be defined as a collection of feelings of inadequacy that persist even in face of information that indicates that the opposite is true. It is experienced internally as chronic self-doubt, and feelings of intellectual fraudulence.”
— Caltech Counseling Center
Have you just started your development career and you are overwhelmed by how little you know? Are you a seasoned veteran but you secretly fear that it’s a matter of time before you lose your edge in this fast-paced industry? If the answer is yes, you may be suffering from the impostor syndrome, and you are not alone.
In this demo-packed session you'll discover how to use Babylon.JS for building interactive 3D experiences in the browser and your VR headset.
Unleash your web skills on native!
I’ll explain what NativeScript is, how it compares to other frameworks and demo how easy and fun it is to get started and how to make use of native capabilities.
Do you want to build your own personal assistant like Siri? I'll show you how!
Scalable Angular Architecture
Building scalable software can be a challenging task. When we think about scalable front-end application, we can think of increasing complexity, more and more business rules, growing amount of data loaded into the application and large teams often distributed around the world.
In this talk I would like to present high level recommendations of well designed front-end architecture followed by implementation examples in Angular framework. Angular itself is a quite opinionated framework, forcing developers to do things "proper" way, yet there is also a place where things can go wrong.
Starting from proper abstractions between application layers, modular design and lazy loading to unidirectional data flow and predictable state management attendees will see how all of those help to scale front-end application.
There are many talks about mentioned techniques and patterns, but presented independently. The goal of this talk is to show how those things can fit together to provide solid and scalable architecture for Angular applications.
Motion in React
As client side applications are growing richer with interactivity, motion is entering the conversation as a critical part of user experience. With all the languages, tools, and APIs available, such as CSS Transitions/Animations, GSAP, and React Transition Group, how do you decide to choose one over the other?
This talk will be a comparison of several approaches to implementing motion in React, from using CSS-in-JS tools like Styled Components, as well as animating components with vanilla JS, functional libraries, or libraries more closely tied to the ecosystem like React Motion.
The value of mutants in cljs: about their state and identity
We'll work our way through the core ideas and concepts of clojure(script) in the first part of the talk. Although being an introduction, some advanced features will be live coded to make certain language choices more understandable and easy to grasp.
In the second part of the talk, we will explore what value, state and identity are about. We'll dig into different ways of handling state in clojure(script), we'll discover how immutability can be very performant and memory efficient and we'll find out that proper (immutable) state management is actually brain-friendly.
* Alan Kay, who tossed the term object oriented, doesn't know any other language besides LISP and his own Smalltalk that are object oriented (at least, he didn't back in 2003)
Web VR/AR - using our front-end skills to create mixed reality experiences on the web
VR and AR are happening everywhere these days - and yes, even on the web.
In this talk, we explore how we can use the skills we already master, to create these experiences effortlessly.
- Short history of VR and creating immersive experiences. Spoiler: it's not as recent a trend as we all like to believe
- Use cases of VR. We look at the many applications in diverse business domains
- To apply our knowledge of developing great user experiences on the web to mixed reality, we should just start making apps with it! With webVR/AR, we barrier to entry is very low.
Some years ago we moved into our new home. As a techie I've installed a domotica system. Six years later my wife still can't find the right button to have more light above the dining table without killing all the lights in the living room...
In the session, I'll walk through all steps and hope that at the end of the session I can dim the light without touching anything.
Running Node.js in a Container
In this talk, we'll be presenting what a container is and why you'd want to use it.
We'll walk trough a practical example of running a node.js application in a Linux container, all the way from the first line of code to hosting it in the cloud.
Modern Web Performances
You probably heard stories about applications losing their users due to slowness. What are the issues they ran into? How can you prevent such a scenario in your web application?
During this talk, we will examine modern web techniques for building performant applications. Moreover, we will examine the concept of PWA (Progressive Web Apps) and how this could help you build reliable, fast and engaging applications with extra capabilities like offline.
Last but not least, we will dive into the toolset that helps you measure all these metrics on your application
Techniques to scale UX teamwork
On any meet-up or conference I attend, I overhear the same thing: developers and designers struggle to collaborate every single day.
Although we all strive for the ultimate user experience, the way we approach it is very different. The goal of this talk is to fix this by showing easy steps everybody can implement in their daily office life. No more vague ‘talk to each other’ advices!
There are differences in how we are thinking. Tested on several projects, I will show applicable ways to improve the collaboration between developers and designers.
On this basis, attendees will learn how we as designers and developers can work smoother with each other. For better results and more effective teamwork, we'll take a look at which tools, processes and rules can help to scale a UX team and how a shared language can improve our work.
Baking security into DevOps - a tale of hunting down bugs before breakfast
Do you know that 90% of all vulnerabilities can be prevented by introducing security in every step of your software development lifecycle (SDLC)? Get ready to join Wouter on his journey on how he introduced security into the SDLC at a company.
During his talk, Wouter will introduce you to how development, operations and security can be fitted together into “SecDevOps”.
The talk uses practical examples so that you will be able to experiment with “SecDevOps” yourself and know what you should pay attention to when implementing this into your own SDLC.
Demystifying the future of CSS with sparkles of JS
CSS as a language is at the brink of a great revolution. Once such a closed and magical language, it will open up to you and your creativity in all its glory.
CSS will become an easy to expand and polyfill language, all while keeping the performance at an up-high. All hail Houdini!
A Software Architect's Approach towards SPA-Based Microfrontends
Microservices are popular as they allow a
comprehensive solution to be split into smaller and simpler applications.
Many people are left wondering how single-page applications fit into this.
This session taps a software architect's perspective to answer this
Typical goals one might have when planning a Microservice-based
architecture are first outlined. Using several examples and case studies,
we explore different approaches, such as leveraging npm packages, (project)
monorepos, web components, plugin architecture, or simple ideas like
hyperlinks or even iframes.
By discussing the pros and cons of each
approach works best where. The session ends with a completed matrix to help
you select the right solution for your specific project.
Fun with Bluetooth
Angular, React, Vue JS? Blazor!
The new experimental web framework Blazor is extending the reach of .NET and C# to the browser.
This is made possible by the new web standard WebAssembly. By using C#, Razor, and HTML in the browser you can now use your existing skills for browser-based development.
Blazor promises to greatly simplify the task of building fast and beautiful single-page applications that run in any browser.
In this demo-driven session, you will get a good understanding of the capabilities and opportunities of the new technology WebAssembly in combination with Blazor.
Reception + evening snack + networking
See you next year!