Why we went with PreactJs to power the dev.to frontend
Tags: meta, javascript, preact
Published: 2017-12-18 19:03:02

---
title: Why we went with PreactJs to power the dev.to frontend
published: true
description: I've had my eye on PreactJS for quite some time. As I learned more about the project, it became clear that it shared my values.
tags: meta, javascript, preact
cover_image: https://thepracticaldev.s3.amazonaws.com/i/qrmgwqgsbfimfld5yr1j.png
---

What JavaScript framework should we go with? That's a question you've probably seen posed _a lot_, and also answered _a lot_, and yet it's still really hard to settle on. When I started this project, almost two years ago, I was fairly burnt out with the JavaScript landscape. I loved the React API but wasn't in love with the results I was getting. I plowed along with my _professional project_, but from a personal perspective I completely stepped off the ship for therapeutic purposes.

I care a lot about web performance and building applications to stand the test of time. I felt personally helpless in my efforts to accomplish these things with this landscape, so I set off to build a simple server-rendered with virtually no JavaScript dependencies where I'd write everything in plain-old Vanilla JS when I needed to. The idea was that nothing on the web is as important to the user experience as speed/performance, and it's a great priority to hold as #1.

It was a great idea. Not only did I come up with a project I loved working on, but people loved the devotion to performance. What started as a personal project has grown up to serve about a-million-and-a-half monthly unique sessions, a lot of happy members and starting to grow faster than ever. We are now a small team which share these values (or at least accepted them as unmoving constraints). We've learned to treat our CDN as a critical layer in our stack and application logic, and to treat latency as a serious issue on the web—Especially outside of the United States.

I did not renounce JavaScript. As mentioned before, I just took a step back. For all the goodness of the initial choice, the plan was always to evolve when the time was right. Since the start of the project, I've been able to observe the ecosystem evolve and learn about what was most valuable for this project.

I've had my eye on [PreactJS](https://preactjs.com/) for quite some time. As I learned more about the project, it became clear that it shared my values. Here are the headings on the project's home page:

- Closer to the Metal
- Small Size
- Big Performance
- Portable & Embeddable
- Instantly Productive
- Ecosystem Compatible

These values speak to me big-time and I can see that there is a lot of care devoted to them. As mentioned before, I love the React API.  The fact that me and my team can learn Preact by learning React, and then maintain an understanding of the differences and hiccups through attention to detail, is a wonderful way of working. I feel like we have super powers by implementing a _faster React_, even if there are tradeoffs.

The creator of Preact is [Jason Miller](https://dev.to/_developit). I gained more interest in the project as I looked into some of his presentations. I feel like he "gets it" and I'm happy to invest in his passion project.

{% youtube TQptGQlGXqA %}

{% youtube LY6y3HbDVmg %}

_I'm also quite pleased with his choice of attire._

Our team's first Preact feature is a new onboarding flow. The feature itself is live but still pretty minimal, as we shipped with intention to iterate.  It's just the kind of feature we wouldn't have wanted to build with Vanilla and had held off on building altogether until we settled on an actual front end direction. [Jess](/jess) and [Andy](/andy) did most of the work in developing the feature, and they did a great job with it so far.

Jason also recently joined the Google Chrome team, which is an exciting development. [Addy Osmani](/addyosmani) has talked about [and written about](https://medium.com/dev-channel/treebo-a-react-and-preact-progressive-web-app-performance-case-study-5e4f450d5299) Preact and I hope this means that Preact will get even more support and growth. It has been a great project.

[dev.to](/) is driven to be a great citizen of the web. We're having fun leveraging the powers of progressive web apps and I'm really excited for this feature to come to Chrome for desktop. We'll, of course, keep you up to date on all developments.