VueConf Toronto 2019 — stands out in its way

Maya Shavin
The Vue Storefront Journal
9 min readDec 30, 2019

Last November, I was honored to speak at Vue Toronto (VueConfTO) — a 3-day Vue.js conference in Toronto, Canada. Sharing the stage with me was the creator of Vue.js — Evan You and other excellent speakers, some of whom became my friends and teammates in many ways. It was not my first time being on stage with these fantastic people, but it was a unique and memorable experience for me in many aspects.

The MC, the quizzes and the prizes

Vue Toronto is my 4th Vue conference in 2019, but it stands out a lot.

MC — master of ceremonies — tops the list of what I love about Vue Toronto. Phil Hawksworth is just charming and astounding when interacting with the crowd and the speakers. He makes everything flow flawlessly and in a relaxing manner with full of joy.

Phil and Damian in a twin moment
Phil and Damian in a twin moment

The next unique thing about Vue Toronto is the tremendous amount of quizzes with prizes available for attendees. All the quizzes are super fun and easy to play, but requires a bit of luck (your device’s 3G or Wifi reception 😉) and a bit of speed (clicking the right answer).

The prizes? They come not only in quantity but also on the quality, varies from Amazon Firestick, Google Home to GoPro, etc 🤤. Can any other conference beat this generosity?

The speakers and the content

The next top thing, as always, is about the speakers and content level.

Vue 3.0 talks — concise but informative

One of the focus of Vue Toronto is about Vue 3.0 APIs, starting with Evan You and Design Principals of Vue 3.0. It is such an interesting talk, where he compared Vue 3.0 with different frameworks on the matter of performance, from compiling to run-time. Vue.js is well-known for being lightweight, and Vue 3.0 will be more performant by embracing this concept wholeheartedly to the next level — only install what you need to use (tree-shaking). That’s something to look out towards the end of Q1 2020 🎉!

Evan You and Vue 3.0 performance
Evan You in his keynote about Vue 3.0 compilation changes

Evan’s talk kicked off the conference well, giving the crowd enough curiosity for Vue 3.0. Alex Kyriakidis from Vue School continues flaming up the excitement by a live coding demo of how to use Vue 3.0 Composition API right in the browser console,

Alex and Vue 3.0 Composition API
Alex and Vue 3.0 composition API

While Damian Dulisz later showed library authors (like me) what benefits Vue 3.0 could bring to us through the use case of Vuelidate v2.0. Lighter weight and no more vuelidate-error-extractor!

Vuelidate v2.0
Vue 3.0 for Vuelidate v2.0 improvement

Exciting right? But that’s not it. Even though Vue 3.0 is pretty trendy at the moment of speaking, Vue Toronto is not overwhelmed with only Vue 3.0 related talks. On the contrary, there are only three talks on this topic, and the rest is pretty diverse.

JAMstack, graphQL, Gridsome, and Nuxt.js

JAMstack — all about serverless and static site development architecture — is considered a hot topic of 2019. Through her talk about being progressive as developers in dealing with legacy code, Debbie O’Brien introduced the performance benefits of combining Nuxt.js static sites with some other tools briefly, and as expected, making the audience all craving for more information.

How to deal with legacy code? Migrating — by Debbie O’Brien
How to deal with legacy code? Migrating — Debbie O’Brien

While Nuxt.js is cool for building (any) applications, it’ll be a loss if mentioning about JAMstack without a talk on @Gridsome, the fastest static site generator for Vue.js. Jake Dohm made me happy with an incredible live demo of how to build blazing fast sites with Gridsome and GraphQL in 5 minutes (yes, he nailed it in the last minute 😉).

Gridsome is easy and fast — Jake Dohm
Gridsome is easy and fast — Jake Dohm

And to connect every piece correctly, Devlin Duldulao did a super-easy-to-follow introduction live demo (without any typo fault and sweat 🙇‍♀️) on GraphQL with Hasura, Auth0, and Apollo. Simply outstanding!

GraphQL vs REST
GraphQL VS REST

Besides, Charles Ouellet made JAMstack shine brightly with his lightning talk about Sanity Headless CMS with Nuxt.js to automate documentation.

Nevertheless, hat impressed me the most is how open-minded these speakers are. Despite being fans of or talking about a specific framework, they didn’t leave the other options out of sights, such as Jake Dohm and Debbie mentioned VuePress being excellent for docs, etc. Every tool shines in its use cases, and developers should be open to making the correct choices ✌️!

Which frameworks (Gridsome, Nuxt, Vuepress) work best when?
What works best when?

Best practices in building a component library and CSS-in-JS 😉

Levering up the conference was talking about different lessons learned while building a UI component library. Filip Rakowski, from Vue Storefront and also my fellow maintainer of Storefront UI, gave a very informative talk on what are the best approaches in building customizable and reusable Vue components when it comes to performance. We encountered all of these challenges during our development of Storefront UI, which makes it more relaxed for me to hear it on stage.

Everything is tradeoffs — building customizable component library with Filip Rakowski
Everything is tradeoffs — building a customizable component library with Filip Rakowski

On the other hand, Michael Thiessen showed a different exciting point of view during his experience in building a reusable component library, in which some of his points are pretty arguable between library authors.

Michael Thiessen with Lessons learned in building component library
Michael Thiessen with Lessons learned in building component library

When talking about UI, there is a need to talk about CSS, especially in any JavaScript conference 😆. It happened to be my talk, which is about the pros and cons of different approaches to dealing with CSS in Vue.js application. The focus varies from using CSS-in-JS (which is pretty famous for React developers) — such as styled-components and CSS modules, to using other utility-first frameworks such as Tailwind CSS.

Maya’s talk — Why should and shouldn’t we consider CSS-in-JS in development?
Why shouldn’t we consider CSS-in-JS in development?

Although each approach has its use case, there is no black and white separation here. Combining these tools to create the most suitable CSS system in your application (such as scaffolding theming with styled-component and CSS modules together) is even more recommended. And regardless, learning CSS is still required no matter what!

It’s all about Testing — unit test and E2E (CypressIO)

As much as talking about development, there is one aspect that no developer can afford to ignore — writing tests. Sarah Dayan made it clear that testing is the pillars of writing stable software, and we should change our mindset from writing tests later to writing tests first, before actual development. It will provide more confidence and help to troubleshoot the potential bug immediately. Do it later === do it never, so don’t wait!

Sarah Dayan in her talk about unit testing
Sarah Dayan in her talk about Unit testing

If there is a talk on unit testing, there has to be a talk on E2E testing. In this case, we have Amir Rustamzadeh, who showed how cool and comfortable to use Cypress.io’s features are. Being a follower of CypressIO since the alpha day, I’m impressed by how it has become such a valuable tool for developers. Testing is essential, and we shouldn’t leave it as just “an afterthought” since it will save us time and money in the long run in every business aspect.

Accessibility, visualization, form, and AI

There are so many more interesting topics discussed during Vue Toronto, and honestly, one article can’t describe everything. It’s what I like about the conference; developers come home with a lot of knowledge, tools to check out, and concepts to explore themselves in their own free time.

Some of the highlighted talks are how to turn your data into visualization with D3.js from Natalia Tepluhina, the specialty of Vue Router by Eduardo San Martin Morote, the upcoming improvements of Vuetify 2.0 in performance, a11y, etc. from John Leider, how to handle form with Vuelidate by Jennifer Bland, how to use Vuex with a beautiful animated talk by Adam Jahr, and how to manage accessibility with focus management in Vue.js with Maria Lamardo. These talks fed the audience with enough practical and useful information, which will later benefit them at work.

Vue Toronto
The conference is packed with developers

And that’s what counts at the end of the day!

Vue Toronto is indeed impressive, with great organizers. But that’s not what made it special. It is unusual for me because it’s the time for the Storefront UI team meeting.

Storefront UI part-of-the-team meeting

It is not the first time we met each other in real life, nor the first time part of the core team of Storefront UI united. Filip Rakowski and I had our first almost-half of the team encounter in VueConf London, shortly before Vue Toronto. Nevertheless, it is still awesome to have another almost-half team meeting in Toronto, where I finally got a hold on some cute Storefront UI stickers and shared them with the attendees.

StorefrontUI sticker
Storefront UI sticker ❤️

During the conference, we sat down, went through each other’s talk (to the point that we both missed the Scottish flute performance at the beginning of the conference 😢), and, most importantly, discussed the Storefront UI release roadmap.

A selfie of me and Filip — the two core members of StorefrontUI
Me and Filip in a selfie!

At the moment of writing, seven members in our core team and a lot of contributors are working remotely every day towards the release of Storefront UI — the first open-sourced customizable UI component library for eCommerce for Vue.js developers.

The beautiful thing about working in OSS (Open-sourced software) project? We are from 4 different countries, speaking different languages but still connected to work as a team, discuss feature requests, and exchange knowledge. We scheduled an almost-full core team meeting at the Vuejs Amsterdam conference in Feb 2020, and honestly, I can’t wait 😊.

Furthermore, we are not just teammates; we are even friends in real life and hang out whenever we meet. Filip and I marked our Canada trip with the visit to the Niagara Falls together. And that’s simply awesome 😎 !

Our trip to visit Niagara Falls
Filip, I, Maria and Alex at Niagara Falls

In short, Toronto was freezing for me. But my speaker friends and this beautiful community warmed me up. We laughed, we talked, and we had a great time learning from each other, regardless it’s about Vue.js or not. Huge thank you to the organizers for creating such an opportunity for us to connect and share our knowledge. All for a better community ❤️, and I look forward to another fantastic conference next year. Until them, may the Vue be with you 😉!

If you like this post, don’t forget to give me 👏 below ⏬️. It will surely motivate me a lot 😊

If you love to read more from me, feel free to check out my articles.

--

--