React? Angular? Vue? It seems like today there's a new frontend library every single week. But how can the enterprise world keep up with that reality? How can we build frontend libraries that are up to date with the latest technologies while still making sure they are durable and ready for the enterprise world? In this talk, we'll present Clay, the component library we built to implement the Lexicon Experience Language. We will share all the best practices from years building frontend libraries and show the result of using new technologies such as Web Components today.
Bio
Frontend Engineer at Liferay by Day, Cat Lover at home by night, Chema is hard at work trying to bring balance to the fight between the quick pace of modern JavaScript and the robustness of enterprise software.
As was the word "cloud" a few years ago, "chatbot" is becoming one of the most trending topic in the tech industry. But even if most have heard of it, few really know what hides behind this term. My first goal through this talk will be to demistify the world of chatbots. Then, I will guide you through the implementation of a chatbot by sharing the mistakes and pitfalls we came across while creating our own.
Bio
Deputy CTO at BAM and open source contributor, I have worked on dozens of mobile applications and backends for startups as well as big companies. As a mobile centric developer and JS lover I am always looking into new ways to leverage this language to find better solutions to user problems.
This is your introduction to the distributed web in the incarnation of IPFS. A really cool platform that retains the original vision of the web and makes it truly distributed. Firstly we will go through a couple of problem areas with the current internet infrastructure and how IPFS fits into this vision. We will then move on to how IPFS actually works and show some examples with JavaScript. We will look at - how the files are fingerprinted, versioned and identified - how the network of IPFS nodes finds the relevant data for us - decentralized and human friendly addressing with IPNS - deploying a web site with IPFS Lastly we will look at some typical use cases for IPFS. We will note how it fits rather nicely as a storage option for blockchain applications.
Bio
Fredrik Rubensson is a mentor and senior consultant at Go See Talents - providing key expertise to the startup scene of Stockholm.
Docker, Kubernetes, event bus, microservices, API gateway... So many unknown words and more important, unknown architecture. I’ve written a lot of microservices and found some best practices to develop scalable and maintainable apps. This is the definitive guide for building the Node microservices.
Bio
Ivan is the senior software engineer, team lead, speaker, and mentor. His focus is on building scalable JS applications and experimenting with new languages and frameworks. He is into functional and reactive programming. Leading teams and mentoring junior developers is his everyday duty. He loves to share knowledge and to write on his tech blog.
Video technologies are "The Upside Down” of the web for sure. Being a frontend engineer writing HTML5 video players, WebRTC broadcast clients, supporting 360/VR videos is just like to live in a parallel universe where everything and nothing is the same. Working with video is an exciting combination of all the trendy stuff out there what we like: new Web APIs, ByteArrays, Workers, MSE/DRM, WebRTC, WebGL, etc. In my talk I would like to use the Stranger Things analogy to tell the story of a video engineer who wants to craft a 360/VR html5 player from scratch using some handcrafted DASH/HLS stream. The purpose of sharing this adventure is to talk about this universe, give a detailed walkthrough of the implementation and its challenges and to point out that everyone has the power in their browser to write such a cool thing and it’s an amazing adventure.
Bio
I'm a Frontend Tech Lead at IBM Cloud Video (called Ustream previously :) ). In my freetime I'm also a curator and organizer of JSConf Budapest. I've joined the fight of the web as a frontendeer eight years ago and I call myself a workaholic loving to advocate performance and scalability. Thanks to the characteristics of my daily job I love to experiment with HTML5 video playback related technologies, multi-threading and any kind of client side optimisation.
Depression and anxiety are enormous problems in our work and world in general. But they are topics that are not discussed enough and topics that we feel are kind of shameful. In this talk Sara will expose her personal mental health issues that she had for a long time so you don’t ever feel embarrassed again. She will go through what she learned in this horrible horrible journey of putting a fix flag on her brain in the hope that it helps as many people as possible.
Bio
Front-End Developer at @ YLDio, open sorcerer, maker of useless modules, blogger, drummer and horror movie fan girl.
Let's mix web standards, modern frontend patterns & some functional programming to invent a new way to develop vanilla js applications!
Bio
Front-end Engineer @ Immobiliare.it, functional programming enthusiast & performance paladin. I'm here because i won the past edition's unconference (and I would suggest you to give it a try).
A case study of the from-scratch, 3-month rewrite of Pinterest's mobile web app. Learn about how they optimized for mobile, and the bottom-line benefits of investing in the mobile web.
Bio
Zack Argyle is the engineering manager for Pinterest's progressive web app. His free time is consumed by his offspring and littering github with open-source shenanigans.
Very often, people ask me if it is possible to take pictures or to geolocate a user with a React Native application. The answer is yes, yes and yes! In 50 minutes, we’ll look at how to code an app half way between The Fork and Instagram. I’d like to show you why I believe that React Native is the mobile technology of the future, whether in terms of user experience or developer experience.
Bio
Mobile Engineer at BAM, I've built React Native applications, for small startups as well as for big companies
We've all heard of Progressive Web Apps but who knows what a PWA is? How can I add PWA features to my existing Website/Web application? During this talk, we use Lighthouse, an open-source, automated tool for improving the quality of web pages, understanding which features we need to transform our website into a full-fledged PWA. We're going to run Lighthouse, using it as a checklist for creating the perfect PWA.
Bio
Google Developers Expert, Microsoft TAG member. Milano JS & JS Girls founder. I love Progressive Web Apps, Web Components and all things Javascript
🎵Everything is cool when you’re part of a team! The Lego Movie came out almost 4 years ago, and it taught children everywhere the importance of teamwork. And what teamwork, and working in harmony, actually is. Let’s just hope that those lessons really stick with these kids. Because let’s be honest, we’re making a mess of it. But it’s not too late for us. We can learn from the Lego Movie as well. I’ll show you how you can help to make sure everyone feels safe and respected in your team and your company. How you can feel better being the unique person you are within your team. And how you can make your, and everyone else’s, life more awesome!
Bio
Jayne is an Engineering Manager based in The Netherlands, and organiser of QueerJS, Global Diversity CFP Day, and CSSClasses. She’s passionate about welcoming everyone into tech and making the web work for everyone. Nowadays, she gives talks about topics like ethics, diversity, and inclusivity, to help make everyone feel as welcome as she was 10 years ago.
The Artificial Intelligence and Machine Learning fields are incredibly vast, but only going to grow bigger. Right now, the majority of individuals in the field are not JavaScript developers, but rather Python and other high-level programming languages. This talk aims to show people an entry point into writing and using AI/ML in the browser using some newer technologies, and how these powerful tools can be harness to help with development, accessibility, personalization, and interactivity on the web.
Bio
Keyfer Mathewson is currently a Front End Developer working for Shopify, from his home in Edmonton, Canada. Before Shopify, Keyfer worked for a small Canadian design agency leading a team of developers building award-winning websites. When he's not in front of his computer, you can find Keyfer hiking with his fiance and puppy, playing hockey, or pretending to be good at video games.
"OK Google, ask Alexa to check if Siri can recommend Cortana a movie to watch with Bixby." Voice assistants are one of the biggest emerging technologies in 2018, and every company wants in. At NPR, the largest public radio producer in the United States, our interest in voice-based interfaces is obvious; they're a natural fit for our content, which has always taken an audio-first approach. But given that it's still such a new field, the development process is anything but straightforward: how do you even prototype a screenless interface? How does the Alexa platform differ from, say, Google Assistant, and can you develop one app for both? What's a Lambda, and do you have to use it? In this talk, we'll run through these confusing, high-level questions, and then go over some real-world code samples for a Node.js API that powers a voice-based UI. For demo purposes, we'll use Amazon Alexa, but we'll also discuss strategies we've used to develop an infrastructure that can support other voice assistants once they are further along. Finally, we'll discuss the mistakes we made, the things we wish we'd done differently, and the things we wished we'd known up front as we set out on our journey to build a next-generation voice UI framework in-house at NPR.
Bio
Nara Kasbergen is a senior full-stack developer in NPR (National Public Radio)’s Digital Media group, where she's worked on a variety of projects, most notably the third-party developer platform for NPR One. She recently joined the tech conference speaking circuit because of her interest in Developer Experience (DX), community-building, the intersection of humans and code, and her volunteer work for Open Sourcing Mental Illness, a non-profit organization raising awareness about mental health in the tech industry. Though she has no noticeable accent, she hails from The Netherlands and lived in Munich, Houston, Pittsburgh, Tokyo, and New York City prior to settling down in Washington, DC. In her spare time, she satisfies her foodie habits by trying out all of the best restaurants in the city, collects board games, and watches too much Netflix.
Your app is bigger and slower than it needs to be. Without rewriting app code we can squeeze more performance out of your code by tweaking Webpack and Babel. These tools are immensely powerful but it’s a delicate dance to get them to play nice. This talk is full of tips and tricks to get you there. After three years of tooling around with Webpack and Babel at Netflix, LinkedIn, and Reddit I’ve gotten some battle-won knowledge that I’d like to share with you all. Some non-intuitive tricks that lead to smaller bundles, faster parse times, browser-engine opts and de-opts, and faster perceived load times. While these examples will use Preact to make examples this apply to any application that uses these two phenomenal tools. You’ll be surprised at what you can do just turning a few knobs.
Bio
Brian is currently working as a senior cloud developer advocate at Microsoft and he's all about developers, developers, developers. Previously he was a JavaScript engineer at Netflix, LinkedIn and Reddit. When not working, Brian finds time to teach on Frontend Masters, run his mouth on Front End Happy Hour, travel all over the world, and play with his adorable dog. Brian is currently a resident of Seattle, WA.
The frontend community shifted from simple websites with jQuery to complex Single Page Applications with Angular, React and so on. With this community getting bigger and "older" there's another kind of problems that we need to solve. How to manage Legacy frontend codebases. But when we can call a frontend codebase “legacy” and how we can manage it in a safe way? During the talk, we are going to see how we applied the StranglerApplication pattern to make an AngularJS 1.2 Application in a shiny new codebase that our team really love.
Bio
Francesco Strazzullo is a Front-End Engineer, speaker and writer for codingjam.it. When not working for e-xtrategy or his personal github projects, Francesco likes to relax playing with his Playstation or cooking some strange ethnic dish for him and his friends.
Node Files. Take #1337. ~ * Action! * ~ INT. jsDay CONFERENCE VENUE The camera zooms in on an intense discussion between Scully and Mulder. Both are huddled around a terminal, both are uncertain about the next steps. Ghosts of old TCP connections wail in the background. Scully is frantically typing. The left hand side shows a new session starting. Soon a new stream created. Multiple requests come in and Scully and Mulder frantically look at each other with a single face expression -- what. do. we. do. now? A minute passes. Scully looks like she has an idea. ~ * Scene * ~ In this fresh off the press episode of Node Files, I will take you to a set of Node.js' implementation of HTTP2. Its quirks, its benefits, and its workings explained and illustrated. How do we get from an established connection to TLS decryption? How does the concept of session come in to play? How does node handle memory usage when it comes to HTTP2? And what are these frame things everyone keeps talking about? This and more explained in HTTP2, one frame at a time. Coming to theatre near you from Spring 2018.
Bio
tl;dr javascript, infrastructure. The not so short: Irina is a Berlin via London via Vancouver software developer who is, oh hey, hello, really into node.js. When she is not in front of a computer, she is exploring the outdoors, gushing over trains, and you will probably find her at your nearest ramen shop™ reading some Beatniks.
Software development is on the verge of a new revolution that will change the rules of the Cloud Computing game... again! The new wind of change is called "Serverless" and you should definitely get ready for it! In this talk I will illustrate why I believe Serverless will be a game changer in the industry, how did we get to have Serverless and how to get started with it to build real products. Few reasons why you will love this talk: - It will cover the history of cloud computing so far (you will have goosebumps seeing how far we got in less than a decade!)
- It will explain what Serverless actually is (and surprise... there are still servers somewhere...)
- It will underline the major pros and cons of Serverless
- It will provide a quick tour of the available providers and supported languages/technologies
- It will show how to get started with the Serverless paradigm, either migrating existing apps or building a new one from scratch.
- I will tell some real-life experience I have after almost 2 years of developing Serverless applications In Node.js/JavaScript
Bio
I am a software engineer born in 1987, the same year that 'Super Mario Bros' was released in Europe, which, by chance is my favourite game! I started coding early at the age of 12, hacking away with my father's old i386 armed only with MS-DOS and the QBasic interpreter and I have been professionally a software developer for more than 10 years. I am currently a Solution Architect at Vectra AI in Dublin where I am working on automating the hunt for cyberattackers and speeding-up incident response. I love the fullstack web, Node.js and Serveless so I co-authored the book 'Node.js design patterns', launched fstack.link (a semi-automated newsletter for Fullstack developers) and Serverlesslab.com (in-house serverless training).
In 2017, Airbnb supported 27 languages and had developed robust translation tools that made it easy to add more. We launched Croatian in May with little overhead beyond setting up the new domain and translating phrases. However, this was not true for all new languages; our next most requested language, Hebrew, posed a unique challenge. Because it reads right-to-left, the entire Hebrew UI must be flipped. Browsers only handle reversing the DOM structure, but styling and interactions must be coded manually. This talk covers the journey of enabling right-to-left languages on airbnb.com. Recently, Airbnb has moved to a React frontend and away from Sass to a CSS-in-JS paradigm. We developed a performant and cross-browser solution for RTL that leveraged a CSS-in-JS abstraction layer to isolate the logic from our codebase. Our efforts led us most of the way to launching in Arabic and Hebrew while requiring little effort from our product engineers and with minimal disruption to their work.
Bio
Maja is a frontend software engineer at Airbnb. Her focus is on shared UI systems and writing sustainable code, and she maintains Airbnb's react-dates library and contributes to many other open-source repos as well
At 10am on Black Friday, your phone rings: the new JS application you deployed came under too much load, and the site has gone down! Your employer is losing sales opportunities... your employer is losing money! But you don’t lose your cool. You log into your cloud provider and tweak your autoscaling settings. Now the deployment can handle the load spike but with four times the number of servers, which is four times the cost. The next day, you try to analyze what happened and begin to optimize your application to prepare for future load spikes. This talk is a journey into the world of Node.js performance, taking a look at the available tools and optimization techniques inspired by insight gained from glimpsing under the hood of Node and V8.
Bio
Matteo is a code pirate and mad scientist. He spends most of his days programming in Node.js, but in the past he worked with Ruby, Java and Objective-C. In 2014, he defended his Ph.D. thesis titled 'Application Platforms for the Internet of Things'. Now he is a Principal Architect at [nearForm](http://nearform.com), where he consults for the top brands of the world. Matteo is also the author of the Node.js MQTT Broker, [Mosca](http://mosca.io), the fast logger [Pino](https://github.com/mcollina/pino) and of the [Fastify](https://www.fastify.io) web framework. Matteo is also a member of the Node.js Technical Steering Committee. Matteo spoke at several international conferences: Node.js Interactive, NodeConf.eu, NodeSummit, LXJS, Distill by Engine Yard, and JsDay to name a few. He is also co-author of the book 'Javascript: Best Practices' edited by FAG, Milan. In the summer he loves sailing the _Sirocco_.
We’ve been discovering how to write performant JavaScript in Node.js since the beginning. Before we knew how it was it done it all seemed so magical. But as we became better at understanding fast-scrolling text littered with hex addresses we began a journey to solidify our approach and share it with others. Our primary strategy? Build tools that make optimizing Node easier, then formalize a workflow process around those tools. The workshop is extremely interactive. We make sure that each participant solves several performance issues in a given HTTP application. Our methods and tools include 0x for flamegraph generation, autocannon for HTTP/1.1 benchmarking, v8 trace analysis, and bytecode interpretation all within a structured analysis workflow.
Requirements: Participation requires a recent version of either Linux, Windows or macOs. You will need root/admin access, and the ability to build native node modules (XCode and command line tools on Mac OS X, Visual Studio on Windows).
Bio
Matteo is a code pirate and mad scientist. He spends most of his days programming in Node.js, but in the past he worked with Ruby, Java and Objective-C. In 2014, he defended his Ph.D. thesis titled 'Application Platforms for the Internet of Things'. Now he is a Principal Architect at [nearForm](http://nearform.com), where he consults for the top brands of the world. Matteo is also the author of the Node.js MQTT Broker, [Mosca](http://mosca.io), the fast logger [Pino](https://github.com/mcollina/pino) and of the [Fastify](https://www.fastify.io) web framework. Matteo is also a member of the Node.js Technical Steering Committee. Matteo spoke at several international conferences: Node.js Interactive, NodeConf.eu, NodeSummit, LXJS, Distill by Engine Yard, and JsDay to name a few. He is also co-author of the book 'Javascript: Best Practices' edited by FAG, Milan. In the summer he loves sailing the _Sirocco_.
Luca is Principal Architect and Mad Scientist at nearForm. His expertise varies from designing enterprise architecture to designing programming languages, bringing innovation with a touch of craziness. Active sustainer of open-source and bleeding edge technologies, he was attracted by node.js from 0.2.0. He is an active Node.js collaborator and contributor while he enjoys his free time playing golf, kite-surfing and snowboarding.
Modules are an essential part of any non-trivial JavaScript application which requires more than a single code file. And while modules have been a standard part of JavaScript Since ES2015, it has taken browsers a while to support them. During this time, developers have turned to tools such as WebPack, Rollup, and Browserify. These solutions have completely changed the way we write and deploy our web applications. But now that browsers are starting to support ES2015 modules, it's a good time to examine if these solutions are still relevant. In this session I will show why built-in browser support for ES2015 modules is a Game Changer, and how, when combined with additional new JavaScript features and network protocols, can revolutionize the way in which we package and deploy web applications. I will explain in detail, the benefits and limitations of browser support for ES2015 modules, and highlight their advantages over existing JavaScript packaging solutions.
Bio
Nir Noy is a Full stack Consultant at Sela Group, with over a decade of professional experience in building Full Stack solutions. He has served as a Consultant, developer and Team Leader in companies of all shapes and sizes. In the course of his career he has built web applications using a wide array of client and server technologies, more recently focusing on Angular, React, NodeJS, ASP.NET MVC, ASP.NET Web API. Nir is also the lead of israel's FrontEnd.IL community and meetup group.
TypeScript, as the superset of JS uses compile-time type checkings with latest specification standard and proposals. The community chose it for thousands of projects, and it is not limited to the Angular ecosystem. It brings such powerful features like interfaces, generics, abstract classes into JS. With all-powerful tooling, it will make your JavaScript, React, Vue cleaner and less error-prone. It could involve back-end developers with Java or C# background into the client-side code. I want to show that with TypeScript you will be more productive no matter what front end technology you use.
Bio
Vitalii is a Front-end engineer from Ukraine with more than 5 years of experience in web development. He started his career with PHP & Drupal CMF and later realized that JavaScript and front-end are the exiting most things technologies. Currently, Vitalii lives in Poland, in the old nice city called Wroclaw. In delays of work at office and open source projects maintenance, he loves to spend time with his wife and little daughter, play different musical instruments and driving.
Progressive Web Apps - one of the hottest topics of last years. It is populated by big companies and become competition for native applications. The main API for PWA creation is Service Workers. But have you think about it as a possible browsers vulnerability? Is it secure enough? Should users use it carefully? All those questions are very actual in times when almost all vendors have implemented or put in development Service Workers support.
Bio
Vitalii is a Front-end engineer from Ukraine with more than 5 years of experience in web development. He started his career with PHP & Drupal CMF and later realized that JavaScript and front-end are the exiting most things technologies. Currently, Vitalii lives in Poland, in the old nice city called Wroclaw. In delays of work at office and open source projects maintenance, he loves to spend time with his wife and little daughter, play different musical instruments and driving.
Server Side Rendering (SSR) is a technique to reuse client-side JavaScript code on the server. The main advantage is to speed up the first rendering time and improve the user experience on page load. It is considered one of the most complicated features to implement in the JS ecosystem. Yet, web apps with a high traffic often need it. In this talk, I’ll start by introducing the concept of SSR, followed by examples with React, Vue and some other frameworks (like Next or Nuxt). The last part will be dedicated to what I've learned building the new Mozilla Add-ons frontend.
Bio
William is a former researcher in software testing, and now a polyglot developer at TailorDev where he helps academics to open their research. He is also an Open Source evangelist, a public speaker and a traveler.
In the past years I've had chance to work on different WebGL projects, from particles simulation to games. In this talk I'm going to show my journey with WebGL, I'll talk about common pitfalls, performance tricks and how to debug it. Everything using real world examples and production code.
Bio
Implementing the standard Web Payment APIs will not just improve the user experience, but increase the chance of maintaining your users. Thanks to the safety nature of the process of payment, the APIs will make the decision of clicking "pay" easier like never before. In this presentation we will discuss the basics of implementing the APIs, the available gateways, and show some demos and how they resonate in the era of PWA. We will also discuss the current limitations, and how the future will look like towards standardizing those APIs. In this presentation I will give an intro about web payment APIs, why they are needed, comparison with autofill APIs, and how to implement them with sample code. I will also cover some important use cases, and current limitations.
Bio
Jonni has strong technical skills originating from 10+ years of web frontend and full stack development. For the past 5 years he has been working at Vaadin, helping customers reach their dreams when it comes to Vaadin UI’s and doing Vaadin trainings around Europe. When it comes to technology choices, Jonni always strives to use open-source alternatives. His work emphasizes on modern web front-end technologies. In his free time Jonni often finds himself in a hobby project involving electronics or 3D printing. When he is not geeking out with tech stuff he enjoys taking a bicycle ride, going rock climbing or doing some woodworks. As a person Jonni is calm and relaxed, but always ready for an adventure!
Test doubles? Assertions? Code coverage? Jest has it all! There are many testing frameworks and test utilities in the JavaScript ecosystem, but jest is the one which is quickly becoming a favorite for many developers. The talk will introduce jest as a testing framework, the reasons why developers love it, and explore its hidden features, testing patterns, and Jest's extensions ecosystem.
Bio
Liran has been advocating for Node.js and JavaScript, through core lead for the MEAN.js framework, and other projects like docker container tool Dockly. He’s the author of Essential Node.js Security, and a regular contributor on the OWASP Node.js project. Liran is strongly passionate about Open Source since an early age, and enjoys mentoring, and empowering others as they make their way in the community.
Node.js and JavaScript adoption is high and application security plays a big part in shipping your products in the midst of cyber security threats. We will deep-dive into practical Node.js security measures which you can easily implement in your current projects. Covering topics such as OWASP Top 10 vulnerabilities, Secure Code Guidelines, Leveraging recommended npm libraries, Hardening ExpressJS, and Secure Dependencies Management with CI/CD integration.
Bio
Liran has been advocating for Node.js and JavaScript, through core lead for the MEAN.js framework, and other projects like docker container tool Dockly. He’s the author of Essential Node.js Security, and a regular contributor on the OWASP Node.js project. Liran is strongly passionate about Open Source since an early age, and enjoys mentoring, and empowering others as they make their way in the community.