Razzle: Who's using Razzle?

Created on 28 Aug 2017  ·  25Comments  ·  Source: jaredpalmer/razzle

If your company is using Razzle in production, please let me know who are you so I can mention you in the README.

pinned question

Most helpful comment

Just playing around with it but it's exactly filling the gap between the beginner orientated create-react-app and the full fledged frameworks such as Next etc.
Hope it stays this way as the temptation to put in more stuff and pick defaults can be big.

All 25 comments

Just playing around with it but it's exactly filling the gap between the beginner orientated create-react-app and the full fledged frameworks such as Next etc.
Hope it stays this way as the temptation to put in more stuff and pick defaults can be big.

I work for an agency and we are currently using Razzle in production for a large public facing react site. I can't say which but just wanted to express that we are using it in production/at scale and are loving it.

I don't have a company, therefore my production use case is not a top secret at all and the application is tiny as well. It is not fully finished yet, but the implemented features are working nicely. It is called Facebook Searcher and you can easily make custom searches currently for persons using the form. It is inspired by Search is Back! and my goal was to create a more current version of it. The implemented input fields are already providing more flexibility. For example you can list Facebook users who are interested in both sexes which Facebook supports.

@jaredpalmer You can add this application to a showcase section if you feel like. However at it's current state it could be a static site as well, which would be better performance wise.

I'm using it as a starting point for my student's final project. I teach in an NGO which takes youth in difficulty and makes junior full stack web devs from 0 of them. They understand everything but lack familiarity with the tools so Razzle comes as a welcome relief from having to wire everything.

On a personal level, it's the fastest way to test an idea, and the only actually workable scenario of isomorphic rendering that works well with typescript.

Thanks for this!

Poor person using razzle installed on a Google vm to try to understand and learn modern js development.

We're using Razzle in Untitled Kingdom, for new VOD Platform Facets Edge.
Facets Edge is a new service for our NGO partner Facets.
It's all about art and independent films from all over the world. We're currently in closed beta stage, but if you are interested, contact me for free trial access.

Datnoid is a crowd sourced platform to find the best cryptocurrencies.

Using Razzle and Docker to deploy onto GKE. Google kubernetes engine.

We at Thorgate are using Razzle to build our SPA projects.

Awesome stuff. Keep it going.

razzle and afterjs is awesome!, I make a HackerNews clone built with razzle, afterjs, typescript, rematch, react-router with universal rendering razzle-hackernews

YOLO Technology is currently using Razzle for our SAAS product.

Check it out! https://bossjob.ph

Our new and upcoming project on https://www.totalmilk.com umbrella are built with razzle(node, graphql, mongodb)

Production Apps
https://payme.totalmilk.com/
https://hauler.totalmilk.com/

Beta Apps
https://payroll-beta.totalmilk.com
https://principal-beta.totalmilk.com
https://docs.totalmilk.com/

And soon the main website https://www.totalmilk.com will be converted too

Podchaser is using razzle in production as of a couple of weeks ago: https://www.podchaser.com

We switched to it as part of a process to modularize all of our code for better code splitting and tree shaking, while still server rendering everything. It's helped simplify our build process a lot!

We're using razzle at Grain Discovery for our shiny new website, just went up last week: https://www.graindiscovery.com!

FotonTech is using at https://confy.app
We have a open source repo following the same approach we did internally: https://github.com/FotonTech/golden-stack

I'm using it on Influence Grid: https://www.influencegrid.com/

CloudHospital just started using it.
Https://icloudhospital.com
We started off with next.js but moved to this recently.

Using razzle for all my projects, mostly local small webpages on Docker.

The default setup for all projects i start: https://github.com/fivethreeo/razzle-with-docker-nginx

https://teleport.us We're using it

We are using it, new social media app https://ecency.com

I wrote these notes whilst comparing razzle to nextjs (had a lot of time on my hands) and making a decision, I thought I would post it up here as it may help someone out. Hope this is the appropriate place to post.

I have been refactoring https://www.memory.com (medium sized CRA SPA with poor SEO and lots of pages) in 2 branches simultaneously.

1) razzle, with react-router-6-beta (locked in after a previous refactor),
2) nextjs

To compare against current production which is:
v.0) custom prerendering solution (hackery: if cache miss, spin up chromedp inline on request, serve html, render instead of hydrate due to differences, only if UA = google/bing etc, with a cron prerendering 0.5M pages round the clock - high maintenance)

App Overview:

9MB total JS build in CRA vanilla (with code splitting - ~7MB without)
Front end TSX LOC: 118k
1826 components
~500k front end active pages (mostly user generated content)
Single entry point

What I am finding is:

1) Razzle
- Plug and play, no code rewrite except server.tsx and client.tsx
- easy setup; but to get it right with correct DOM reconciliation: lots of trial and error - similar difficulty to running a custom webpack SPA
- far more tweakable than next with react-router
- easy to swap back in CRA in / out whenever needed, can run CRA in same repo
- code splitting very good out of the box with @loadable/server
- easy to reconcile SSR markup with hydration
- Zero lock in
- Config feels shaky, easy to break, hard to mend

2) NextJS
- i18n, Link and Trans needed huge refactoring
- /pages structure seems pretty ridiculous, reminds me of a PHP MVC - needed a lot of hackery to get current params working. I did the whole lot but am hoping to stash the branch
- Supposedly OK docs but end up on stackoverflow a lot anyway;
- Poor dev experience for an SPA single-entry app with lots of routes, building pages on demand is painful; e2e testing on dev box also painful - maybe you can configure it to build up front - I can't find how without CURLing every page with bash to warm it up.
- Poor code splitting out the box, makes bundle total 16MB
- Nightmare to reconcile SSR with hydration (Material ui)
- But, there is just something about it you trust. You know yarn start is going to work.
- Codemod to eject out of next is too hard to write, the Trans and Link are just too inefficient to automate - so end up tied in with the only exit being manual find-replace

Overall, nextjs with "dynamic" and my best efforts is outputting a really heavy app compared to Razzle with @loadable.

I can't get nextjs to beat a pagespeed of 77 on the homepage. With a JS total download of 525kb, vs Razzle 98 pagespeed 332kb (with both using aggressive splitting)

Razzle, I can code split how I like and get it to 98 page speed with a JS total 332kb

Typically, other screens with next have a far bigger payload on both navigation AND first hit with next.

Nextjs puts a lot of junk into a shared bundle with default config.

NextJS - auto prefetch seems dangerous: Without manually disabling them, loading all the left nav links is a HUGE and inappropriate payload post initial render. Also, it only prefetches /pages and you can't instruct it to prefetch specific components.

Razzle + loadable server + onMouseEnter={component.preload} with a RAF callback = superior, but more maintenance burden.

Basically, I am finding that razzle is a drop in replacement for CRA that performs like a bullet.

Hoping to delete the nextjs branch and get Razzle into production.

Edit - basically, to do anything useful with Next you need a custom server anyway, so with Razzle available, I can't yet see the point in nextjs at all..... except reliability and environments with multiple developers on rails with an opinionated api.

Great to hear a Razzle success story :) Being highly configurable is a goal of Razzle. We should have more plugins and docs, but we need more contributors. Everything depends on me for the time being. The Bus factor is 1 atm.

We have a big success story with Razzle

We are now in the App Store, Play Store, Web, and Web Installable using Razzle.

We've created a separate build inside razzle that runs on top of Cordova:
https://apps.apple.com/us/app/noritex/id1556098652

The only issue we havent figured out is the fallowing:

Is there a way in razzle config to change the client.js to use client.standalone.js?

I am trying to create two separate build proceses one for web and for our iOS app

Here is how we did it: https://nesbtesh.medium.com/pwas-one-code-base-3-app-stores-30cecbee07b7

Was this page helpful?
0 / 5 - 0 ratings

Related issues

piersolenski picture piersolenski  ·  4Comments

Jayphen picture Jayphen  ·  4Comments

knipferrc picture knipferrc  ·  5Comments

corydeppen picture corydeppen  ·  3Comments

kkarkos picture kkarkos  ·  3Comments