berlinjs / jsconf2019-special Goto Github PK
View Code? Open in Web Editor NEWJSConf Special 2019 :sparkling_heart:
Home Page: https://jsconf.berlinjs.org/
License: MIT License
JSConf Special 2019 :sparkling_heart:
Home Page: https://jsconf.berlinjs.org/
License: MIT License
If you’re building applications chances are your dependency tree is in the order of hundreds. That can easily scale up to at least a thousand for large applications (like popular OS projects Ghost or Keystone).
Join me in my hindered journey to address a big elephant in the room: managing dependencies. Updating a dependency or following common practices shouldn’t have to be a mysterious thing.
What’s the right thing to do in your package.json? Exact versions? Using a caret? What’s the reason behind lockfiles? What type of tooling is out there? I’ll present answers from my research to these common questions.
Talk duration: 25 minutes
Edit: talk duration 10 minutes
Frontend apps are on the cusp of a revolution—React is about to launch a streaming server renderer that massively improves performance on both low-end and high-end devices. It's a new dawn for performance & accessibility, but raises another question? How should we host the server component? Can we do that without vendor lock-in?
Enter FABs (Frontend Application Bundles), a portable, compact, immutable, server-side JS format that lets you deploy anything from static sites or Next.js to full custom server-rendered React apps anywhere that can run JS, like Cloudflare Workers, Lambda@Edge, Now, etc. Finally, we can have a toolchain that supports the full breadth of frontend projects & server environments, without locking everything to a single host.
My talk aims to draw parallels between the server world of a decade ago & the frontend world of today. In the past, companies like AWS & Heroku were innovating & offering exciting new products, but users had to make a choice of which one to use and lock-in their development to target that platform. Today, it's exciting offerings from platforms like Now and Netlify, but all their innovation is locked down inside their ecosystem.
Docker changed that in a profound way, and FABs are poised to do the same thing. So this talk is a prediction of the future—that with React's new streaming renderer, a lot more companies will be looking to add a server-side component, and a standard, interoperable bundle format like FABs makes that much more accessible.
The project is still in its early stages, and this talk will be a draft of the proper FAB "launch" at React Rally later this year, but I'd love the chance to put this new idea out there and get feedback from a new audience!
Johnny-Five was created 6 years ago and in the process kickstarted the JavaScript robotics movement and JavaScript based IoT. J5, as we call it, has been around ever since the rise of modern IoT, and the project has a lot to teach us.
JavaScript and J5 brings a lot to the table for hardware. The asynchronous nature of JavaScript fits perfectly with real-world sensors, and the digital UI origins of JavaScript dovetail nicely with the physical UI of hardware. Most importantly, we focused the project on non-experts and we cultivated a welcoming, inclusive community.
Knowing these lessons and more are critical going forward if we hope to create open and ethical IoT ecosystem.
This talk will have the following outline:
You've probably heard, and possibly lamented, that Node.js is single threaded. It's true that all JavaScript executed by Node.js is run in a single thread. This means each JavScript file you write, module you require, and even Node.js itself, all contend for processing time.
But JavaScript isn't the only code in Node.js. There's also a lot of C++, most important of which is the event loop. One of the event loops responsibilities is to manage a set of threads called the thread pool. As it turns out, most C++ code in Node.js is multithreaded!
Come learn how the event loop works in detail, how it affects the performance of your app, and how you can use this knowledge to your advantage!
This talk will have the following outline:
A Partial Taxonomy of Test Unreliability
Ah, those vexing tests that fail once in a while but pass as soon as you re-run them. Don’t you hate those things? I hate those things. And Node.js core used to have quite a problem with them. Will a fast-paced run-through of causes that are then placed into a maybe-possibly helpful taxonomy be useful? I don’t know! Maybe we’ll find out! Together! Like a team! Go team!
We’ll cover all your favorite classics like race conditions, deadlocks, side effects, you name it! We’ll also include b-sides and deep cuts that we had to invent names for, names that usually end up sounding like basketball teams. And we’ll talk about tools and techniques for reproducing and debugging these often-hard-to-reproduce-and-debug problems in tests. This talk is not to be missed, but that’s primarily because BerlinJS presumably only has one talk going at any given time, so what else would you be doing?
Talk duration: 20 minutes-ish
Atlassian Jira's front-end has been going through massive transformation over the last two years. With our new front-end codebase starting from 0 and now over 1,200,000 lines of code, 200 packages, and over 180 contributors every month across many teams, we've faced a number of challenges in scaling our development practices to keep up.
Learn about the principles and processes we've developed along the way to bring structure to this growth, allowing us to maintain consistency and minimise overhead, all while bringing us closer to achieving our goal of building a world class front-end architecture.
This talk is an insight into the problems faced as your front-end codebase goes through rapid growth, and some strategies and techniques you can apply in order to manage this growth while maintaining consistency, and delivering customer value.
Variants of this talk have been given and well received in the past - by me at Web Directions Code in 2018, and another member of my team at JS Kongress, and also at ViennaJS and other meetups.
Having several microservices exposing their APIs through an API Gateway isn't uncommon, and it is also expected that we require communication between those microservices. I am currently working on a project with some microservices in Node.js where the communication between them and the clients was kind of a mess.
In this talk, I am going to show you some different options I have explored in order to address this communication; how we improved it with GraphQL and the outcomes of it. By the end of the talk, you will find out if GraphQL and Microservices are Good Friends.
I have spoken before in meetups, but not in International Conferences, so I have not video recordings of it. This talk would be my second one in English, which is not my mother tongue.
15-20 Minutes
Hello!
By the suggestion / encouragement from @MylesBorins , wanted to submit my talk: "WebAssembly for Web Developers". Let me know what you think / if you would like more info 😄
This talk covers the learnings and experiences of developing WasmBoy. A Game Boy Emulation Library for running Game Boy ROMs in both NodeJS and browsers, written in AssemblyScript.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.