Vue.js Sprint is a new initiative that aims to physically bring together members of the Vue team to work on core projects for at least several days.
- Location: Wrocław, Poland
- 8 core team members (Alex Kyriakidis, Chris Fritz, Denis Karabaza, Guillaume CHAU, Michał Sajnóg, Nick Messing, Rahul Kadyan and me, Damian Dulisz)
- 6 working days
- 8–10 work hours per day
- ~432 total work hours
For the first sprint, organised by Guillaume and me, we ended up picking Wrocław for the location. It’s a pretty special city for us. It’s here where most of us met for the very first time during VueConf EU last year. Another reason for picking Poland was that it’s more on the cheaper side on the cost-of-living-spectrum. This becomes quite important if you plan a stay for 8 people. More details on the total costs later.
Before diving to what we have been working on, in the name of the whole team I would like to say thanks to all those that made it happen.
Biggest thanks goes to the incredible backers on Open Collective — know that all this wouldn’t be possible without your continuous support!
Okay, so now let’s get through the main topics we focused on during the week:
Probably the most prominent project we worked on did during the sprint. Main focus: performance. In terms of devtools performance itself as well as the new performance tab, that should make it possible to benchmark your app and look for possible bottlenecks.
- Overall performance improvements (much lower memory usage, faster scrolling, jumping between Vuex mutations).
- Performance Tab: Track your app performance (measured by frames per second) and correlate it with different events happening inside the application like Vuex mutations, router changes, events.
- Router Tab: Preview Vue-Router history along with params as well as the list of all currently available routes. This feature is heavily based on the awesome work contributed by Armano and Markus Sorg.
- Improvements to the Vuex tab: You can now edit Vuex state from within the devtools.
- Improved support for remote debugging for Cordova and NativeScript based applications by making the devtools backend platform agnostic.
- Support for displaying functional components inside the component tree.
- Improved component name detection for 3rd-party components
- High density display support.
- Support for several new rules.
- Integration with Vue CLI 3.0 UI – You can now change your ESLint configuration using the GUI. Try it out by installing: @vue/cli-plugin-eslint.
Great news for all those that prefer to use JSX instead of templates. Now you will be able to use directives, like
v-model when writing JSX!
- Support for Vue directives inside JSX.
- Support for arguments and modifiers for directives.
- Updated documentation.
- Search functionality for published stories, transforming the website from weekly-news oriented to a potentially, searchable knowledge source.
- Stories now have tags and can be browsed/searched based on those.
- Support for additional story types: images, tweets.
Fixes and features in other libraries
- Improved mutation tracking in Vuex.
- Accessing name-spaced getters in Vuex.
- SSR Documentation improvements.
- Investigating existing issues in Vue core.
The first Vue.js Core Team Summit
We couldn’t miss the occasion that we were all in one place. That’s why we decided to organise a very special meetup. One that we would like to repeat in the future, whenever we’re doing a Vue sprint. That’s how the first Vue.js Core Team Summit was born. We aimed for it to be a free, for-the-community, close-and-personal kind of event and I think we succeeded in doing that. More than 130 people came to the event, which was taking place in the awesome Monterail’s office. Once again thanks to Monterail and Divante for helping us with the hard work of organising the event! ❤️
The event consisted of two talks and a Q&A session with the team.
Sorry about the quality of the 2nd recording — Chris took us all by surprise, when he asked the whole team to join him on stage 2 minutes before the start. Chris really used his background as a teacher and asked the team tough questions on how we use Vue in our work. Sadly we were not ready for that kind of a twist — recording-wise at least. The talk was extremely fun and educational at the same time!
Breakdown of the total costs of the sprint
- Two-way flights: $4 635,79
- 2 four-bed AirBnb apartments: $1 291,83
- Food, stickers and other expenses: ~$1 100,00
- Total: $7 027,62
Those are all the expenses that we kept track of. Food includes breakfast and lunch that we ate on our way to work or had it delivered to the office. It also includes some of the additional travel and accommodation costs (transport from and to the airport, home utilities that were needed in the apartments. etc).
This was far from what we got used to when working on Vue related projects (and open source projects in general). Usually the feedback loop is much longer, things have to be written down properly and the decision making process can take days.
Apart from what we’ve managed to accomplish during the sprint I’m really happy that we finally got to know each other. Spending time with people that share similar values and excitement about doing open source software as you do is a big motivator and a great ice breaker. I feel super encouraged to work on things that I didn’t had a chance to work on before. Can’t wait to meet the rest of the team!
— Michał Sajnóg
During the sprint it was the complete opposite. I think all of us were kind of surprised by how smooth the work was going. It was refreshing how much we can accomplish thanks to having the right people to talk to the very moment we needed them. It made a huge difference.
We were able to brainstorm a lot and maybe some of the ideas we thought of will be implemented in the near future. 😊
We spent a lot of time increasing our future contribution capacities through pairing, open discussion, and informal training. Even when we’re not together, it’ll now be easier for any of us to contribute to a greater variety of projects, in a greater variety of ways!
— Chris Fritz
Hopefully we will be able to have another sprint in the coming months. If you have any suggestions where we should be traveling next — let us know in the comments section!
The Vue.js Sprint was a unique and productive experience. We got the chance to collaborate in person, brainstorm, and pair code. In my opinion, we produced a value that would normally have taken months. I think moves like this prove that supporting the framework you use and love is a great investment. I will be happy to contribute to the Vue Ecosystem again in the next Sprint we will hopefully have.
— Alex Kyriakidis
Once again — big thanks to all the Open Collective supporters! 💚
If you would like to help make the next sprint happen — consider becoming a backer!