Day Two

Thursday, April 04

Breakfast 

09:30-14:00    

 

Workshops

"Gal" Hall

Michel Weststrate

MobX Essentials

"Pnina" Hall

Kyle Simpson

JavaScript:

The Recent Parts

"Mazgega" Hall

Gil Tayar

Frontend Testing: Mapping Out the Territory

08:00 - 09:30

09:30 - 10:10

Can (Jon) Nahum  -  How to Inject TypeScript Into Existing Projects

So you've decided to use TypeScript. Great – but, how do you start?.. Converting countless modules to TypeScript can be overwhelming; however, it’s not necessary. Nobody needs to start building a code base from scratch to accommodate TypeScript – TS and JS are not enemies, they are meant to co-exist. In this presentation, we’ll be going over ways of including TypeScript in existing (or even legacy) projects. With simple examples and a live discussions, we’ll be exploring degrees to which a project can migrate. The first level is so easy that everybody can do it in a few minutes – even during the presentation!

10:20 - 11:00

Maor Frankel - Making Your Grandparents Happy With Web App Performance Monitoring / Main Hall

All users expect a fast experience from web apps. But not all users were created equal, and not all of them have a shiny Mac and high-speed internet connection.

Can you tell if your users are happy about your app performance? Probably not, unless you're monitoring it.

In this talk I will show you how to build a real time monitoring system, with minimal effort and no cost, that will provide insights on how your app performs even on your grandpa's old mobile phone while he's on the subway and provide a breakdown of where your app bottlenecks are.

Break

11:00 - 11:20

11:20 - 12:00

Omer Levi Hevroni - Hacking Like a FED

/ Main Hall

There are so many sophisticated ways to exploit web applications, that it’s almost impossible for a developer to write completely secure code. But we can’t accept this situation. We can’t expose our users (and our user's data) to hackers.

So what we can do? We can switch from defense to offense. We can take hacking tools, used by malicious hackers, and use them to test our web application for security issues.

In this talk, we will take a vulnerable web application, and try to find as many vulnerabilities as we can - using only automated tools. I’ll discuss the vulnerabilities we find, explain why we should care - and how we can remediate it securely. All the tools I’ll use are tools you can start using today - to scan your applications and make sure you deploy more secure applications.

12:10 - 12:50

Yael Balla - Design system - From a Developer Point-of-View / Main Hall

Design Systems is something every UX team is working on, planning to work on, or at least is talking about. But what does it mean for a developer to implement a new design system for the company products? Is it also better for the developer? In the talk I will share my experience with implementing a design system. How to share design tokens in the organization? How to create a component library and separate the visual layer from business logic? How do you keep sync between design and code? In this talk I will try to answer these questions, using code examples and relevant tools.

Break

12:50 - 13:10

13:10 - 13:50

Boris Litvinsky -Your IDE deserves better

/ Main Hall

The Web is a futuristic masterpiece, but it's being written using stone-age tools. Code-editor vendors just don't stand a chance in keeping up with the rapid evolution of the Web development scene. In this talk, we’ll learn how to build an extension that will give your editor new and powerful capabilities, and we'll do it using the knowledge you already possess - Javascript!

Lunch

14:00 - 15:00

15:00 - 15:40

Rich Harris - Rethinking reactivity

/ Main Hall

Modern JavaScript frameworks are all about reactivity. Change your application's state, and the view updates automatically. But there's a catch — tracking state changes at runtime adds overhead that eats into your bundle size and performance budgets. In this talk, we'll discover an alternative approach: moving reactivity into the language itself. Your apps have never been smaller or faster than they're about to become.

Brandon Dail - Algebraic effects, Fibers, Coroutines...Oh my! / Main Hall

15:50 - 16:30

React Fiber was a full re-write of React that will enable new and exciting patterns around control flow, which we've seen previewed with React Suspense. But what is a fiber? How does it relate to a coroutine? What are algebraic effects, and why do I keep hearing about them? This talk will go over these computer science topics in the context of React Fiber, to help shed some light on how React Fiber is implemented and the control flow concepts behind the new APIs.

16:40 - 17:20

Asim Hussain - The Future of JavaScript is A.I. / Main Hall

There are many exciting things happening with AI, from which, until recently, JavaScript developers were largely shut out.

But things are changing, if you can do `npm install @tensorflow/tfjs` or make an API call, you can now do AI. In this fast-paced talk, I'll open your mind to what's possible by demoing several AI-powered JavaScript apps and show you how they were built using either TensorFlow.js or easy to use AI-powered APIs. You don't need a PhD in Maths, you don't need years of experience, you just need imagination and the willingness to try.

17:20 - 17:30

Closing Session - Bruce Lawson / Main Hall