$25m to scale Tidelift for open source creators and users. Learn more.

Take a trip and enjoy the Vue: A VueJS Amsterdam & Frontend Developer Love trip report

After last year's trip to VueConf New Orleans, Tidelift decided to send me to Amsterdam for the VueJS Amsterdam + Frontend Developer Love conference. Neither they, nor I (having never traveled this far), knew how the jet lag would affect me.

Well, it turns out that, no matter how cool my neck pillow is, it does not help me sleep on planes, so I was pretty dead to the world for the first few days. But that didn’t stop me from checking out as many of the talks as I could, as well as assisting at the Tidelift booth during breaks to spread the word.

But next time I get sent to a conference in Europe, this middle-aged man is arriving two or three days ahead of time.

On with the recap!

The Conference

The Frontend Developer Love conference, a general-purpose conference not focused on a particular view framework, took place on Wednesday. I missed the first half of it, but I did catch Kyle Matthews’ talk on Gatsby.js. I knew very little about Gatsby.js going in, having not needed a new static site generator for my own projects for a while. It was interesting to see how it could combine data from multiple sources quite easily. I’ve never built sites that leverage so many sources for content/commerce/interaction, so I did not realize how such a tool was needed nowadays.

John Lindquist’s talk about JavaScript proxies showed how far metaprogramming in JavaScript has come since I started writing in it oh so many years ago.

The talk I took the most notes on was Evan You’s on becoming a full-time open source developer. His experiences mirrored a lot of other stories and lessons I’ve heard about a side project becoming a main gig, about the illusions of control and safety that can arise, and the emotional cost of self-imposed guilt, setting boundaries, and dealing with the haters.

The two essentials for surviving these conference days: strong espresso, and a tablet I can write on in the dark, as the lights were off during the talks.

Thursday and Friday were the VueJS Amsterdam conference, and I had started to recover from my jet lag for those talks. Here’s the takeaways from the ones I went to:

I came in at the middle of Evan’s State of the Vuenion, but what I caught was pretty cool: Scoped slot performance updates, the core being broken down into ES modules for improved tree shaking, and improved TypeScript support.

Guillaume Chau’s rundown of server side rendering in Vue 2.6 was good to know about. I’ve only done SSR in React a few years back, and it seems Vue 2.6 has a very nice solution for dealing with retrieving data from backends during server rendering.

Tim Benniks gave a great talk about how a massive, multinational organization like L'Oréal deals with consolidating down hundreds (thousands!) of different product line websites using Vue and a backend CMS.

There were a few talks about JavaScript code loading performance: Filip Rakowski provided a huge list of techniques that leverage Webpack, browser Service Workers (perhaps using Workbox to automate the caching), and analysis tools like BundlePhobia to see the physical file size cost of adding a dependency (there are other costs, of course). Eduardo San Martin Morote’s talk also covered the Chrome coverage devtool and using filtering on Webpack imports to make lazily loading multiple components dynamically quite easy.

There were also a number of talks around the Vue CLI tool. The one I took the most notes on was Thorsten Linusborg’s on building reusable, distributable components for Vue. “Keep it simple” was the theme, since you don’t want end users to deal with changing their configurations too much to accommodate your component.

Sean Larkin gave an overview on Webpack internals and how the series of event hooks constructed by the layers of Webpack code & plugins turn your code into something consumable by end users.

I experimented with NativeScript-Vue after last year’s VueConf in New Orleans, so I was excited to see Jen Looper’s talk on it this year. But instead of wanting to build an app, I now want to use TensorFlow to attempt to automatically categorize my massive collections of photos on my home server.

I’ve played a bit with GraphQL in the past, and Sara Vieria’s talk on how to integrate it with Vue showed that, when I’m ready to use both together, it’ll be a piece of cake.

Quique Fernandez Guerra’s talk gave a good overview of TypeScript for me that finally clicked. Maybe I’ll have to take the time to rewrite one of my playground projects in TypeScript one of these days.

Usually when I experiment with Vue in a new project, I’m bringing in the distribution Vue file via CDN into a page, setting up more complex configs later. If I ever start something bigger, I’ll be reaching for Nuxt. After Gregg Pollack’s beginner intro to Nuxt, the Chopin brothers gave a rundown of what the new version of Nuxt will let you do, and it’s looking both very powerful and super easy to use.

Chris Fritz’s talk on drawing visualizations using JavaScript and Vue was fun. As someone who has done a lot with SVG over the years, Vue’s support for it is really great, and, as I’m building my Nuxt/TypeScript app, I’ll have to throw a cool WebGL...something...into it, somewhere.

The talks on accessibility were both interesting and sobering. Maya Shavin’s talk showed off some techniques for testing out and dealing with the challenges of colorblind and low vision users and using semantic HTML to assist screen readers, and Callum Macrae’s talk included a blind user actively trying to use some popular sites which really drove home how a good number of people will interact with your site, and the work needed to ensure your sites work for them.

Finally waking up on Thursday afternoon. Yeah!

When I wasn't in talks I was at the Tidelift booth, and it was really awesome seeing lots of folks stop by, pick up swag, and talk with us, and so many of them really understood just what we're trying to do when it comes to paying the maintainers. There were plenty of conference events as well. Before the conference we all met up at a brewpub across the street from the hotel we were staying at, though to actually cross that street was quite a challenge. We also held a dinner for speakers and others at Pont 13, a short, quiet walk down a pier from the conference venue, where there was good food and great conversations to be had.

Finally, after the conference finished up on Friday, a few of us Tidelift folks went to the official after-party event in central Amsterdam, where Keenan, Oscar, and I hung out and sang karaoke with conference organizers, speakers, and family and friends of the Vue community. Oscar and I even hung out with a few folks on Saturday as well. We couldn’t stop! (...well, Oscar couldn’t stop. I was getting very social-ed out by Saturday afternoon and needed some serious alone time.)

Amsterdam!

After the conference I took a few days to explore Amsterdam. Having never been to Europe before, it took a while to get adjusted to the bike paths, Dutch signage, and general vibe, but by the time Sunday rolled around, I was good to go. I managed to walk all over the city, rent a bike, eat some fabulous food, check out the Van Gogh museum, and take in as much as I could of one of the coolest cities I’ve ever visited.

Did I learn a lot at this conference? Totally. Will I come back to Amsterdam? Oh, for sure. Will I come back for next year’s VueJS Amsterdam conference? We’ll have to see...and, if I do, I’ll be there a few days before the conference (in the hotel, fast asleep, overcoming all that jet lag).