Choo Choo (week 44, ‘17)

Yoshua Wuyts
choo

--

Heyyy, hello. How are you doing? Hope you’ve been well. It’s me – Yosh.

I was thinking about you; wanted to share some of the things we’ve been up to in Choo land, ‘cause we’ve been busy.

If this is your first time you’re hearing about Choo: we’re the tiny frontend framework you’ve always wanted to use. True story. Check out create-choo-app to have your first application working 5 minutes from now.

What’s new?

Funding!

Well, to kick things off — we’re now funded full-time till March! All the credit to nearForm for believing in what we’re building — and providing us with the financial means to continue building out Choo for the next 6 months. Check out the announcement on their blog 🎉.

Choo-devtools

We’ve deprecated the choo-log package in favor of choo-devtools . It’s now the one-stop development train station stop for Choo development fascination. Or something. See it in action:

Talks talks

Yosh (me) did a talk in Ireland last week. It was good fun! — the video should be up soonish, but in the mean time, here are the slides.

Speaking of Ireland, we’ll be back there next week for NodeConf EU with a workshop (Millennial’s guide to JS development). There’ll be a bunch of Choo folks at the conf; come say hi if you’re around!

Bankai v9 Release Client

We’ve been hard at work on a new version of Bankai, our Browserify based project compiler. We’re hard at work trying to make Bankai not only produce the best output for your web projects, but also make it the easiest to use. We think we should have v9 stable out very soon. Once we release it, we’ll do a full rundown on what’s new. Check out a preview below:

$ bankai start
$ bankai build

Web Speech API support

Yerko Palma has done an amazing job at wrapping the Web Speech API as part of native Choo events. Check out choo-tts and choo-stt for text-to-speech and speech-to-text respectively. Using it is really easy too:

var choo = require('choo')
var app = choo()
app.use(require('choo-tts'))

What are we working on this week?

Bankai Bankai Bankai

So yeah, Bankai isn’t quite done yet. We want to round out what we’re missing, and make sure we don’t need to make any breaking changes in the foreseeable future. Probably put out a final RC out too. And once that’s done, write up a changelog, announcement notes, and the rest of it. It’s not much, but it’s work that needs doing. Ah well — excited to be releasing it all!

Also huge shoutout to Dan Flettre and Renée Kooi for doing stellar work on Bankai. We’re getting closer to a v9 release thanks to the work they’ve poured in during recent weeks 🙏.

NodeConf

Workshops are hard work — for the people making them. It requires a good amount of hours to get the material in order, presentations right, run through it yourself, and make it flow. That’s probably what most of this week is going to be spent on, so err — well yeah. It’s work, haha.

HTTP/2 push experiments

NodeConf means hanging out with Node folk — and the biggest feature that’s recently landed is HTTP/2. We definitely want to experiment a bit with what’s possible, and figure out which bits are needed to make this all work. No idea what will come of it, but the process is guaranteed to be fun!

Components

It’s no secret that we want to add a component system to Choo. There’s a discussion issue on choojs/choo#593. The current state of components might end up create something that’s slightly different what folks are used to in other frameworks, but people seem to be happy with the direction we’re doing.

We’ll probably put out a module at some point so Choo can be extended with experimental component support. Maybe this week, but probably next week (yay for a busy schedule).

What’s cool things to work on?

Like many OSS projects, Choo is entirely built by volunteers. This means that if you want to help out on our project, there’s plenty of cool things to tackle.

Us Choo maintainers would be thrilled to help out with anyone that decides to tackle any of these issues!

Wanted: Bankai test drivers

Take Bankai for a spin. Let us know what works for you, what doesn’t. We could also use a hand with getting more tests in — the more tests we got, the more stable we’ll be. npm install bankai@9.0.0-rc9 is all it takes 🙏.

Nanomorph Benchmarks

Choo’s performance on load is pretty great; but there are some edge cases where our DOM diffing algorithm isn’t as fast as it could be. Folks are investigating on how to improve performance there, but what would be amazing would be to have a benchmark suite that we can run from within the repo to test our diffing performance. See nanomorph#91 for more information.

Making awesome-choo more awesome

Awesome-choo is an overview of what’s going on in the Choo community. We could definitely use a hand on it — whether you’re working on a cool project, made a cool module, or spotted a typo. We could use your help!

Oh, if you really want to tackle a project — turning awesome-choo into a dedicated site would be amazing. We’re working on a new site in the background; and automating the markdown to a JSON API, or static site would be amazing — whatever folks come up with would be amazing!

Bots bots bots 🤖

Writing change logs with a small team can be hard — it’d be amazing if we could automate the creation of change logs, so people have a better sense of what’s changing between versions. Check out choojs/discuss#4 for the discussion on building little bots to help us out.

GitHub topic pages

GitHub has added topic pages to their search. Adding Choo as a topic would help folks find things faster. Check out choojs/discuss#6 for more info on how to build splashy highlight pages.

Wrapping up

And that’s about it. We’ve probably forgotten to cover many things, but we only have limited time, so here goes! If you’re working on something cool using Choo, let us know through Twitter (@4kilobytes) or IRC (Freenode#choo).

Thanks so much for making it this far; we’re thrilled for the future of Choo, and excited for you to be part of this journey with us. Catch you next time! 🚂

--

--