Featured image of post My Brain Dump from VueFes Japan 2024

My Brain Dump from VueFes Japan 2024

Weab went to Japan for the first time just for VueFes!!!

Konnichiwatzup whoever even read this post haha.

Just shared my VueFes Japan 2024 journey on LinkedIn yesterday (still processing that I actually made it there). The post got some engagement which feels weird honestly, but I’m glad the incredible warmth and knowledge I experienced there is resonating with others in the tech community (I hope).

While my LinkedIn post covered the personal side, I wanted to dive deep into the technical insights I gathered. I took tons of photos and notes during the sessions because there was just so much valuable content to absorb (but break it down to top 3).

Let me share these technical goodies - both for my future reference and for anyone interested in the cutting-edge developments in the Vue ecosystem.

The Evolution of Frontend Tooling: VoidZero

Evan You presenting !

Photo credit to VueFes team

So the most interesting part for me was seeing how the entire frontend tooling ecosystem is evolving. Evan You showed this amazing diagram of where things are heading, and honestly, it’s pretty exciting.

The Big Picture

Big Picture about VoidZero

The whole ecosystem is getting a massive overhaul:

  1. Vite is Becoming the Core

    • It’s not just about Vue anymore - Vite is becoming this universal dev server

    • What’s cool is how it supports basically every major framework now while being faster

  2. VoidZero

    • This is where things get interesting - they’re rewriting JavaScript tooling in Rust (I never do Rust but according to internet is one of top fastest language)

    • From the cross-talk session, learned that this isn’t just about speed - it’s about making tools more reliable

    • What caught my attention was how they’re tackling the webpack/Babel legacy problems

  3. The Oxc Foundation

    To be clear I never use this tool ok, but..

    • Apparently it’s replacing a bunch of separate tools with one solid foundation

    • Has all these built-in tools:

      • Super fast linter (might actually replace ESLint)

      • Code formatter

      • Parser that actually understands your code

      • Smart minifier for production builds

  4. Rolldown: The Next-Gen Bundler

    • Yep never use this too tho I believe it’s like webpack? but more modern JavaScript.

    • Built to work seamlessly with Vite.

Why I’m Actually Excited About This

I’ve been through the pain of configuring webpack, fighting with Babel, and dealing with slow build times.

Damn hassle.

What’s happening now is different:

  1. Everything’s Getting Faster

    • The Rust rewrite isn’t just hype - the performance gains are real
  2. Less Configuration Headaches

    • Tools actually work together now

    • No more “webpack config from hell”

    • More standardized approach across projects

  3. Future-Ready

    • Built for modern JavaScript from the ground up

    • Ready for the latest ES modules and features

    • Better prepared for what’s coming next

What This Means For Me

After seeing all this, I’m actually optimistic about where frontend development is heading. It feels like we’re finally getting tools that are built for the modern web, not just patched together solutions.

I’m particularly interested in exploring Oxc slowly. The promise of not needing external ESLint configurations while getting better performance is compelling. While I haven’t worked with Rust directly, seeing its impact on tooling performance makes me want to understand better.

Testing Strategy Revelations

stres!!

A relatable moment came during a presentation showing the common developer struggles with maintenance and updates. The slide showing a developer overwhelmed by multiple tasks (haha omegalul damn who this can’t be me ;_;)

Looking at those thought bubbles in the slide:

  1. script setup構文に書き換えたい (wanting to rewrite everything in script setup syntax)

  2. TypeScriptに書き換えたい (needing to migrate to TypeScript)

  3. テストコードを追加したい (adding test coverage)

  4. ToolChainを変更したい (updating the toolchain)

  5. Rewriting legacy code portions

Tbh, I’m pretty sure every developer who cares about their work wants the same things - keeping codebases modern, writing proper tests, using the latest features, and improving tooling.

We all want to be proud of what we build. But then reality hits, and you’re caught in this battle between ideal and practical. It’s especially tricky when you have to explain these technical decisions to seniors and managers (especially me who struggles with communication)

Even though I know well they (especially the ones I worked together in the past up until now) care about quality too, finding that balance between modernization and project demands is a constant struggle.

Strategy ① Determine the necessary test viewpoints

But looking at other side seems like there is a hope, like the conference introduced a practical funnel approach to testing strategy:

What I understand it goes like this:

  • Abstract Foundation (抽象的なプロンプト)

    • Start with high-level test objectives

    • Consider business requirements

    • Think about user journeys

    • Map out critical paths

    • Consider every possible edge case

    • Example focus areas:

      • User experience flows

      • Business logic validation

      • Security considerations

      • Performance expectations

      • Accessibility requirements

  • Technical Framework (使用する技術を指定する)

    • Choose testing tools and frameworks

    • Define testing architecture

    • Set up testing environment

    • Key considerations:

      • Unit testing tools (Jest, Vitest)

      • E2E testing (Cypress, Playwright)

      • Component testing (Vue Test Utils)

      • CI/CD integration

      • Code coverage tools

  • Vue 3 Specialization (目的をVue3化に絞る)

    • Focus on Vue 3 specific features:

      • Composition API testing strategies

      • Component lifecycle hooks

      • Reactivity system testing

      • Props and emits validation

      • Vuex/Pinia state management

    • Consider Vue 3 best practices:

      • Component composition

      • Performance optimization

      • TypeScript integration

      • Setup() function testing

  • Cost-Benefit Analysis (コスパが良い観点に絞る)

    • Prioritize tests based on:

      • Risk assessment

      • Business impact

      • Development velocity

      • Maintenance costs

    • Focus on high-value testing:

      • Critical user paths

      • Complex business logic

      • Error-prone areas

      • Security-sensitive features

  • Human Optimization (最後は人間が調整する)

    • Final validation and adjustment:

      • Team review and feedback

      • Test coverage assessment

      • Resource allocation

      • Timeline planning

    • Continuous improvement:

      • Test effectiveness monitoring

      • Feedback incorporation

      • Strategy refinement

      • Knowledge sharing

What’s fascinating is also they included how particular approach combines traditional testing wisdom with modern tooling and AI assistance. The focus isn’t just on achieving high coverage numbers, but on smart, strategic testing that delivers real value.

Amazing Results !

The Real Numbers From the Conference 📊

  • 66/102 test suites passing

  • 65% success rate

  • About 5 days of work

  • ¥8,000 for API costs

This makes me feel happy cus instead of the usual “AI will replace developers” kinda talk I usually saw on internet (lol), they showed how we can actually work together with AI to be more efficient. There was one of the presentations, they showed how they used AI tools like Alder to help with code.

It’s refreshing to see such a practical and positive take on AI in development. It was such an open talk, I really enjoyed it and even saw the speaker’s live demo.

Component Architecture: The Atomic Approach

The conference covered tons of amazing content, but I’ll wrap up with one last topic that really caught my attention (keeping it to my top 3 takeaways, else this post would be too long to digest!).

So for this session it is on component architecture introduced a systematic approach to organizing Vue components. It’s based on atomic design principles but specifically adapted for Vue applications.

Visualization of Atomic Approach

To break it down:

  • ATOMS → The tiniest, simplest components (like buttons, inputs)

  • MOLECULES → Small groups of atoms working together (like a search bar)

  • ORGANISMS → Bigger component groups (like a whole header)

  • TEMPLATES → The wireframes

  • PAGES → The final, complete views

This structure provides clear guidelines for:

  • Component composition

  • Code reusability

  • Refactoring strategies

  • Team communication

This actually connects back to our earlier discussion about managing complex codebases - having a clear structure like this makes those big refactoring tasks feel way more manageable.

Final Thoughts

My smol hand with smol Vue logo tattoo lol

There is a short youtube video about “Reality of Frontend” by BigBox SWE, it really reminds me of it when digesting everything here about VueFes 2024. We can’t deny that frontend development never stands still, and this conference showed me just how exciting (scary and overwhelming too lol) about these changes can be.

The Vue ecosystem is growing up in ways I didn’t expect. Seeing stuff like Rust-based tooling that actually solves real problems, testing strategies that make practical sense, and component architecture that doesn’t feel over-engineered - it all adds up to something pretty cool.

I’m particularly hyped to play around with VoidZero, plus, that atomic component pattern might finally help me organize my spaghetti code into something more manageable (I am trying my best haha)

I guess this is it, thank you for reading hopefully my future self read this again.

本当にありがとうございました!

Built with Hugo
Theme Stack designed by Jimmy