Give a talk
ViennaJS at home
Watch our Videos
Our Talk Recordings
Introduction to Verdaccio
Verdaccio is an npm package which allows you to create a local npm registry, without any configuration. It’s a batteries included project, coming with its own database. It does so by acting as a local caching/proxy server.
GraphQL in the Enterprise: From Legacy to Bleeding Edge
This talk shows best practices, implementation challenges, and the impact on the development process when you implement GraphQL in a legacy RESTful environment with enterprise requirements. (Hands-on with nodejs, nestjs, graphql, swagger and typescript...
HTML5 & SVG pipeline for interactive experiences
Coming from Console development with very strict rules we had to find our way into the modern frontend world. ...
Async/await in JS
Selected by community request – This talk will explain how ES2017 async/await works with respect to older approaches and non-blocking code. We will see how this integrates into legacy codebases, ...
Towards Verified Compilation of CakeML to WebAssembly
V8-GC-optimizations for WeakMaps
Describe/explain GC-optimizations on V8 for WeakMaps I did in my internship in the V8 team in Munich.
Lessons learned re-writing Neos CMS UI with ReactJS
Image your task would be to build one of the biggest open source ReactJS applications. Dmitri has exactly that experience as a Neos CMS core member. Neos CMS is a modern open source content management system. ...
Improving server rendering performance of React
Using React and server-side rendering doesn't automatically give you the best performance. In this talk, I'll describe additional steps we took to improve page speeds in our new React architecture. ...
Micro Frontends with Single Page Applications
A micro frontend approach can make your life easier. We will look at different kind of micro frontend architectures and their benefits and drawbacks. ...
Framework Compass Chart
Jumpstart into Swagger / OpenAPI Tools
Design is the foundation of your API development. Swagger makes API design easy and Rainer will show you how he uses Swagger in his daily life.
A minimalistic approach to building connected forms in react and the new context api
Basically I am not somebody who prefers to reinvent the wheel. There are already a ton of solutions out there on handling data binding and and validation within forms in ReactJS. ...
Code generation for fun and profit
If you want to translate your react app, you usually end up using react-intl. But doing so has a few problems. react-intl is 42k minified, which is quite a lot. it also parses all your translation strings at start time, ...
Willhaben Markup Language (WHML)
We usually associate changes in the UI with frontend developers, but that's not always true. At willhaben we have developed a new markup language that helped us to decouple the UI from the frontend team, ...
VR Maps - Putting OpenStreetMap data into WebVR
"VR Maps" is a small demo as a side project by Robert. It puts OpenStreetMap data into WebVR using Mozilla's A-Frame toolkit. ...
Make your Google Apps talk to each other
I am sure that you use Google Sheets to organize your data and that you are familiar with the built-in functions, too. Just imagine a huge sheet with hundreds of columns and rows. Now try to edit them, ...
World-class frontend engineering at scale
Over the last months, the Jira development team has been busy shipping an all-new UI layer, all written in React, redux, and rx.js. Learn about the strategies and tools that Atlassian has developed to create a high-velocity, ...
Difficulties in understanding the problem, crystal-balling for meaningful functionality, puzzling about user acceptance/technological feasibility and speed in delivery are the key challenges in driving ideas to business applications. ...
Using the Flux pattern in combination with Relay on a charting use-case
The flux pattern is around for a while and has found its implementations in popular libraries like e.g. Redux. When using a GraphQL server for the data representation of an application, Relay and Apollo are the two widely used GraphQL clients. ...
Orga-Talk: Google Pagespeed all the way
How to achieve score 100, why page speed matters, what are the important trend - and why you want a score of almost 100.
Making .map & .filter even more functional using transducers with .reduce
A-frame and vanilla JS
Vlad will tell us how he build a simple 3D version of space invaders using A-frame and vanilla JS.
Why we should care about Code Splitting
Shipping apps is easy, but shipping GREAT apps takes quite some effort. Our mission now is to build faster web apps and deliver as less code as needed. But how? Dynamic imports have arrived! ...
Web App Development
Topics: 1) Client DB for Offline-First Apps (via IndexedDB) 2) Server Graph DB (via Neo4j) 3) JS Async/Await (No Callbacks)
D3 + React
How to use D3 for rendering in an React app.
Coherence: Conflict-free* Distributed Version Control System
A lightning talk how you could have a conflict free distributed version control system, inspired by Google Docs simultanious editing.
Animating the virtual DOM
How to animate the virtual Dom, by Sarah Drasner.
Out of the Tarpit, Revisited
How to Learn to stop worrying and Love Datomic.
Apollo Client 2.0: More than just GraphQL
Apollo Client is a fully-featured caching GraphQL client with integrations for React, Angular, and more. It allows you to easily build UI components that fetch data via GraphQL.
Using Logux in Production
Replace AJAX-REST by Redux actions synchronization between client and server
Geogebra.org is an highly sophisticated visual math app that is used my milliones of users each month. Zbyněk will share how he went from a pure Java desktop app to a cross-compiled web app.
Zipping Files Fun - Server Side
A follow-up talk to Zipping Files Fun
Ladda: A New Library for Client-Side Caching
Everyone wants to offer a snappy experience to their users, but it often comes at a cost. One common solution for increasing performance in a web application is to introduce client-side caching, ...
FrintJS - Building Modular Web Applications with React and RxJS
React with TypeScript
A short practical demo about using React and Typescript. No slides, just code.
Make Linting Great Again
Watch how you can create fewer bugs and make the code more readable with linting tools. But does linting really make code reviews faster? If so, how?
Typesafety with TypeScript and Live-Coding
Keyboard Controls for an International User Base
The UI Events specification comes with two new properties for keyboard events: key and code. They replace the previously existing (and still existing) charCode, keyCode, and which. ...
An Introduction to HTML5 Responsive Images
This opinionated 5min talk will motivate you to use responsive images everywhere.
GraphQL and ApolloData
Find out what GraphQL and ApolloData are, plus play around with GraphiQL, and have an in-depth code view with a sample app.
Zipping Files Fun
Learn how to zip files on the fly in the browser and on your server. You'll see how easy it is to put remote files into a zip archive and streaming parts of the archive to the client at the same time.
Leveraging code-splitting in React Apps
Code-splitting allows you to split your code into separate bundles which you can load them on demand. How do you do it? Why is it useful? How would you do it in React? Answers to these questions and more in the talk.
Introducing Svelte: The Compile-Time Non-Framework
Rollups creator Rich Harris has started a new project called svelte. In this talk we will describe the reasoning behind the project, show some examples and discuss possible future directions.
Interprocess Communication in NodeJS
Node is single threaded and uses non-blocking event loops for IO but for CPU intensive tasks it still blocks. If we want to use more CPU cores to parallelize the processing we must create new processes and distribute the load. ...
View Source: Twitter.com
An overview of twitter.com's front-end architecture.
Wombat Driven Understanding - An Interactive Guide to Using Npm
So you want to write some software. And you decide to use npm, because everyone's saying it's the coolest thing ever. Great! But... where do you start? And once you've started, how do you take advantage of the advanced features? ...
This was 2016
A look back at the last year and all the things happening in ViennaJS.
Greensock Animation Platform for Interactive Animations
Ever tried to use jQuery.animate, Angular.$animate, Animate.css, and so on for a bit more than button hover effects? We honestly got quickly fucked up. GSAP came to the rescue and helped us animating SVG buttons, cubic b splines, ...
Rendering complex 3d models in WebGL
In this talk Roland will speak about rendering realistic models in WebGL. This great talk was held by Roland Schütz at the monthly ViennaJS meetup in Vienna: http://viennajs.org
Arpad will explain what the web platform (browsers) are doing to increase rendering performance, how he thinks the hype of React, immutable data and fractal app architectures is actually really bad for performance. ...
Optimistic Updates in a Pessimistic World
This great talk was held by Daniel Woelfel at the React October Meetup in Vienna, organised by ViennaJS together with ReactJS and Clojure Vienna.
What's Next? Exploring the future of React, now
This great talk was held by Guillermo Rauch at the React October Meetup in Vienna, organised by ViennaJS together with ReactJS and Elm Vienna.
Universal Rendering with React
This great talk was held by Mark Dalgleish at the React October Meetup in Vienna, organised by ViennaJS together with ReactJS and Elm Vienna.
DataScript - A Database for the Client
This great talk was held by Nikita Prokopov at the React October Meetup in Vienna, organised by ViennaJS together with ReactJS and Elm Vienna.
Me, myself and AI
Meet North, a trained neural network specialised in colours. See how North started as a clumsy toddler, but quickly became a colour expert to reckon with. With North's story, learn how neural networks actually work, ...
TJ Holowaychuk is a Hive Mind
The productivity, conspiracy and code behind one of the Node community's most prolific contributors. This great talk was held by Aaron Cruz at the monthly ViennaJS meetup in Vienna.
Microsoft Bot Framework
This talk gives you an introduction to the Microsoft Bot Framework and the Bot Builder SDK for NodeJS that helps you build bots with free form or guided interaction models and that you can publish to popular communication channels. ...
A Journey to Cerebral
Happy with your framework of choice? Think you're highly productive? Creating maintainable apps? I was... A journey from Ember to Cerebral via Angular, Flux, and others. ...
Building a static (web)site with the Great Gatsby and React.js web components
This great talk was held by Gerald Bauer at the monthly ViennaJS meetup in Vienna: http://viennajs.org
Real live experience with Dart
Sebastian shows his Slack Chatbot written in Dart. It covers websockets, an API w/ redstone and a little bit AngularDart for the frontend. ...
Developing a Messenger chatbot with node.js
With the example of http://toni.football/, the Euro 2016 Chatbot, he will show how to create a bot for Facebook Messenger using node.js. The technology stack includes a bot engine for natural language processing (NLP) and MongoDB for storing data. ...
Switching Libraries in a running project is never and easy decision. I want to show you why we transitioned from Angular to VueJS. VueJS is simple and elegant and we got a performance boost of over 50% at no cost. ...
ConvNetJS – Deep Learning in your browser
Peter Ferak shows how utilising the built in methods of Array allows the usage of functional concepts (map, filter, reduce, etc) and then hacks around a little on a few examples. ...
Andrey shows us how to create a Slack Bot. In the talk he will show us how he developed one for displaying code snippets for files hosted on Beanstalk. This great talk was held by Andrey Okonetchnikov at the monthly ViennaJS meetup in Vienna.
Simple Mobile Development With Iconic
Ionic is the beautiful, open source front-end SDK for developing hybrid mobile apps with web technologies. By building only one single AngularJS web app with Cordova extensions you can deliver up to 8 different native mobile apps. ...
Eight shortcomings of the waterline ORM
I recently had the opportunity to investigate the sails.js Web framework. It comes with an ORM called waterline. In my experiments, I found some deficiencies and outright bugs. ...
Video rendering while swiping
We built a digital publishing tablet app for a major Austrian mobile network operator. The result is basically a digital magazine with our own developed swipe engine. In this talk we will show you our architecture, ...
The Golden Age of Continuous Integration
Learn about options for cloud hosting Continuous Integration, ala Travis, AppVeyor, StyleCI and so on. This great talk was held by Florian Eckerstorfer at the monthly ViennaJS meetup in Vienna: http://viennajs.org
Arpad will dissect common patterns and conventions to raise awareness of their runtime costs. This great talk was held by Arpad Borsos at the monthly ViennaJS meetup in Vienna.
Everything from Scratch vs. Libraries all the way
a.k.a. http://lalo.li/lsd/ vs http://lalo.li/ddd/ A short talk about coding experiences: what happens if you code everything without any 3rd party crap vs. ...
Wondering what all the fuss with ES6 is about? Max Stoiber (@mxstbr), co-organizer of the React Vienna meetup, gives you a quick and simple overview. First he explains the confusion about the acronyms (ES5, ES6, ES2016 & ...
- Coercion and dynamical typing problems, e.g. why (2 > 1 > 0) == false - Hoisting and Lexical Environment - What and What? - Why first class functions are awesome and why the new class keyword is a mistake IMHO this, that, self, _proto_, ...
"I am trying to work but nothing happens!"
You are always busy but somehow nothing really get’s done? Or at least not the stuff that should have gotten done? There’s always something that’s gotten in the way of starting the important tasks on time? Welcome to procrastination! ...
Composition vs. Inheritance
Differences between the composition and inheritance patterns and why you should strive to create composable units in your code.
Kick your CSS up a notch with PostCSS
Learn how to bring your CSS to the next level with PostCSS. Explore the endless possibilities and master writing a CSS transformation plugin! This great talk was held by Max Stoiber at the monthly ViennaJS meetup in Vienna.
React & Redux (Classic from 2015)
Introduction to React in combination with Redux. Redux helps you to develop applications in a simple way while having features like time-travel available during development. ...
Your code will explode
Why Page Transitions Matter
Roland gives a small talk explaining the reasons why you should care about page transitions and what you can do.
D3.js - Data driven visualizations
After explaining the main principles of D3 (Data transformations, Data joins, Update pattern), Christoph will focus on visualizations (Charts, Graphics, Games, etc.) with D3 (Drawing Shapes, Paths, Axis, Transitions, etc.). In the end, ...
An introduction and status-quo summary for backend web developers. This great talk was held by Lars Dieckow at the monthly ViennaJS meetup in Vienna.
Adding Anchor Links to Your Static Website
You might have noticed in some web pages (e.g. GitHub README) the option to link to a specific paragraph or heading. This is called deep (anchor) linking. ...
Website Development with Instant Feedback
Fast-live-reload is the swiss army knife of live reloading that works with all the browsers. Learn from the core developer how to use it, and about all it's awesomeness! ...
Offline First and Service Workers
Offline first web applications are a much discussed topic at the moment. Thanks to a new method called ServiceWorker, implementing an application that is available without a network connection is easier than ever. ...
Node.js & Redis at Scale
Learn about his journey in building a realtime chat system with 200 000 concurrent users. You will be blown away by some of his stats. This great talk was held by Max Kossatz at the monthly ViennaJS meetup in Vienna.
Steams in Gulp.js
In contrast to other other task runners/build tools (like Make, Rake, Phing or Grunt) Gulp.js operates on streams. In this talk you will learn what streams are and how Gulp.js uses them. ...
Node.js development for unbelievers
In this talk Bogdan will compare Python, Java, and Node.js as development platforms, with small node.js code samples (mostly on modules, and general commands) and see where are the strengths of each platform. ...
Complementing Norbert Kehrer's talk from June on static conversions and emulation in JS, a classic emulation topic: "Spacewar!", the very first video game (1962) for the DEC PDP-1, the "first toy computer" (© J.M. Graetz). – Probably, ...