Skip to content

exhibitionist-digital/ultra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


ULTRA

Modern Streaming React Framework

ultrajs.dev

GitHub Workflow Status deno module deno compatibility


Ultra is a web framework that leans hard into your browser's native features. Embrace the future of ES Modules, Import Maps, and Web Streams. All while supporting some of the non-standards that many normal people love for some reason (JSX and TypeScript).

It's driven by the following hot-takes:

  • ESM is non-negotiable in {currentYear}
  • SSR is non-negotiable in {currentYear}
  • Bundling is an anti-pattern in {currentYear}
  • Data can be requested anywhere, and is accessible on the server, always
  • Lazy routing with dynamic imports trumps FS routing
  • Less magic in tooling and frameworks is a good thing
  • Simplify your workflow and tech stack at all costs - life is too short
  • Streams are neat

v0.7.0

This is a near full rewrite of Ultra. It includes:

  • Removal of Oak, in favour of std/http library. This makes it heaps easier to deploy to multiple targets
  • Addition of preloadmodule link header attributes for core and application level assets
  • Main app entry point added to importMap
  • Deno Deploy support via GitHub Actions
  • Fly/Docker support
  • Example projects moved into their own repo for easier hacking

v1.0.0 Roadmap (+ Beyond)

As we await the official release of React 18, here some things we are interested in for the future of Ultra:

  • Deno vendor: Serve remote packages locally
  • Vercel support
  • React 18 ESM support
  • Native import maps: Browser support for import maps is still a bit sketchy. Instead of using import map polyfills, Ultra inlines your imports directly into the served ES modules.
  • Simpler alternatives to esm.sh
  • Dynamic import support on Deno Deploy
  • Native CSS modules
  • A custom request context hook
  • Meaningful Puppeteer tests

Thank you for going on this journey with us.