TL;DR Vue.js is getting its high interest for a valid reason. Its 1st official conference has proven that it's backed up by the active & open community, its ecosystem is developing in interesting directions & in the end - there are valid (& safe) JS web app development options that are not about React or Angular. But this event was not only about Vue as tech - by participating one could learn a lot about where OSS or general webdev are heading to.

As you may have already read, I've decided to move my focus from general software development conferences to more specialized events - ones dedicated either to specific technology, practice or method. Vue Conf 2017 fits into this category perfectly, so as I'm also a big fan of this framework (even if I consider myself primarily a back-end guy ...) & this was its first official conference with a decent line-up of speakers (including its author & few of its core team members) - I couldn't let go of such a promising event (especially as it was hosted in Poland, where I live).

To keep the long story short, I wasn't disappointed. Talks were really interesting, focused & "to the point", I've actually learned some stuff & got truly inspired by ideas, findings & achievements of speakers (all of them very humble & approachable, including Evan). But I don't want this post to become a typical conf review (best talks, worst talks, blah, blah) - what I'd prefer to do is to share some not-so-random observations & musings that I find particularly interesting (even if somehow chaotic) - probably also for people who may be not that much into front-end stuff ;D

Here we go then:

Visual Studio Code is the new MacBook ;)

One or two years ago it was a bit passe to present (during conferences) using something different than MacBook. Especially if you were in the Front-End business. This is slowly changing - one: because last year's MBP was a big mishit; two: recent Windows-based laptops (like XPS 13, HP Spectre x360 or Surfacebook) are of similar quality if not even better (in terms of spec, but also looks & ergonomy).

But there's another element that has dominated all the practical (code-oriented) presentations - surprisingly ... it's Visual Studio Code. It's unbelievable how fast it has won the hearts of so many developers - not just the Windows ones, but also many of these who work on Macs. Frankly, I don't remember even one live-coding session with Neovim or Spacemacs (usual nerd "darlings") while Code was practically omnipresent. Kudos to Microsoft for coming up with such a great tool & (what's more important) cultivating a community-based ecosystem around it.

I did something > I know something

This was an unofficial theme of the conference & I love it so, so much. Majority of speakers were speaking about their very practical experiences, like:

  • hey, I've created this framework (Vue, Nuxt) ...
  • hey, I've created this seed / starter (ssr starter) ...
  • hey, I've written this book ("Learning Vue.js 2") ...
  • hey, I've created this library (Vuelidate, Onsen UI, vue-apollo) ...
  • hey, I've created this editor extensions (Vetur) ...
  • hey, these are the animations I've built (S. Drasner) ...

This was not just very informative, educational & "meaty". What counts even more is that it was very inspirational & uplifting (hopefully not only for me, but also the rest of the audience) - as it was showing that even a single person w/o large corporate support can build an insanely popular framework (take Vue - 2nd most-popular JS app-building framework/library on GitHub, in terms of stars), useful tool or appreciated book.

Thumbs, freakin', up.

Choice is not obligatory

It's a cliché, I know, but seriously: quality over quantity. I already remember some nice examples from the past of conferences (e.g. Scalar) that didn't provide any choice in terms of picking the sessions: 1 slot = 1 session available only. It really worked well for Vue Conf 2017 as well, there were no single session I'd disqualify (as uninteresting / non-applicable) based on its title / description - one could clearly see that preparing such an agenda took a tremendous effort, the effort that has paid off.

Frankly, even the average level of the lightning talks was higher than the standard for events like that.

Server-Side Rendering is the new darling

Back-enders are knee-deep into microservices, containers & (especially recently) serverless stuff. Front-enders have different idols & SSR (server-side rendering) is currently the king among them. If you think about that for moment, it's very amusing - we were massively abandoning server-side MVC frameworks with various templating engines just few years ago. Now we're abandoning client-side rendering in the browser for pretty much the same reasons: performance & smooth UI/UX. With the major difference being the new server-side rendering based almost solely on JavaScript (Node.js frameworks like express or hapi).

How insane is this? Would anyone believe in that, let's say, 7 years ago?

Docs do matter

They really, really do. Pretty much all of the tech that's gaining a nice traction these days is explicitly known of its at-least-good documentation & generally high "approachability" (newbie-friendly learning curve). Some examples from the top of my head: Golang, Elixir, Elm, Julia or at last but not least - Vue.

People don't expect just tiny masterpieces of smart engineering - they want low entry threshold. These days barely anyone has patience to read through lengthy, dry specifications - developers demand well-structured, up-to-date, linked, practical guidelines that will kickstart them in minutes & provide easily understandable answers to typical beginner questions.

OSS Communities understand that pretty well & they deliver. Core teams have members dedicated almost solely to documentation, no release gets to GA without having this stuff updated properly, both SIRs & PRs are just as welcome for code as for accompanying docs. I'm really happy to see that as it's a clear proof OSS has matured up a lot in general.

Open Source VS Money

I've actually written about that some time ago already - quality OSS requires funding & people are already actively exploring various scenarios that would keep everyone happy: contributors due to being regularly paid for their effort & skills, beneficients because of getting the quality product for a fraction of what's worth.

Based on what I've seen during Vue Conf 2017, the option that's getting a lot of love recently is Internet patronage - e.g. here's Evan You's page on Patreon.

Honestly, I think it's a step in right direction - it provides a very simple & transparent "financial vehicle", especially for companies that understand the value of OSS components they use - and what is more: it scales superbly - the more enlightened sponsors who support the creators, the lower (& still enough) may be their financial contribution.

F-E Devs look for simplicity

So-called "JavaScript fatigue" is clearly visible, even among the youngest developers, even among people (theoretically) dedicated to particular framework (like Vue). F-E Devs miss the simplicity of past era development tools, but on the other hand don't want to give up on what the recent goodies can provide. As a result one can clearly see large demand for various helper tools like:

  • command-line basic manipulation tools (*-cli)
  • seeds, starters & generators
  • meta-frameworks that extend actual frameworks with default config-sets & standard implementations of various standard concerns (like bundling, PWA support, etc.) - e.g. Nuxt as a "container" for Vue apps

Is it a good trend (especially the last point from the list above)?

I'm not 100% sure. If designed & maintained well, it may be a great boost for building new products as your team can focus on what's important - building actual functionality. But one can't just ignore the side effects: this functionality will be built on the top of a really complex platform - maybe even so complex that you won't really understand how it works end-to-end. That has several implications, e.g.: troubleshooting, supporting or updating such a platform (e.g. due to found vulnerabilities) may not be trivial (order of magnitude harder than in case of a single, well understood framework).

Pic: © Vue Conf - https://conf.vuejs.org/