Skip to content

Latest commit

 

History

History
305 lines (244 loc) · 36.6 KB

README.md

File metadata and controls

305 lines (244 loc) · 36.6 KB

Blitz.js


The Fullstack React Framework

Built on Next.js — Inspired by Ruby on Rails — New Fullstack Data Layer


New “no-API” data layer lets you import server code into your React components instead of having to fetch from an API.

Includes everything you need for production apps. Everything end-to-end from the database to the frontend.

Blitz brings back the simplicity and conventions of server-rendered frameworks like Ruby on Rails while preserving everything we love about React and client-side rendering!


Quick Start

You need Node.js 12 or newer

Install Blitz

Run npm install -g blitz

Create a New App

  1. blitz new myAppName
  2. cd myAppName
  3. blitz start
  4. View your baby app at http://localhost:3000



Architecture diagram



Features:
⚡️ Built on Next.js
⚡️ Don't have to build an API for client-side rendering
⚡️ Client-side rendering, Server-side rendering, and fully static pages all in the same app
⚡️ Full Typescript support with static, end-to-end typing (no code generation step needed like with GraphQL)
⚡️ React Concurrent Mode enabled
⚡️ Database/ORM agnostic, but Prisma 2 is default
⚡️ CLI with code scaffolding, Rails-style console REPL, etc
⚡️ GraphQL Ready
⚡️ Deploy serverless or serverful

Other key features coming:
⚡️ Highly secure authentication
⚡️ Authorization you can use on both server and client
⚡️ Model validation you can use on both server and client
⚡️ Plugins for easily adding libraries like Tailwind, CSS-in-JS, etc.
⚡️ React native support
⚡️ GUI so you don't have to use the CLI


The Foundational Principles

  1. Fullstack & Monolithic
  2. API Not Required
  3. Convention over Configuration
  4. Loose Opinions
  5. Easy to Start, Easy to Scale
  6. Stability
  7. Community over Code

The Blitz Manifesto explains these principles in detail.


What is Blitz Designed For?

Blitz is designed for tiny to large database-backed applications that have one or more graphical user interfaces.

While we currently only support web, we are pursuing the dream of a single monolithic application that runs on web and mobile with maximum code sharing and minimal boilerplate.


Welcome to the Blitz Community 👋

The Blitz community is warm, safe, diverse, inclusive, and fun! LGBTQ+, women, and minorities are especially welcome. Please read our Code of Conduct.

Join our Slack Community where we help each other build Blitz apps. It's also where we collaborate on building Blitz itself.

For questions and longer form discussions, post in our forum.

There's still a lot of work to do, so you are especially invited to join us in building Blitz! A good place to start is The Contributing Guide.


Sponsors and Donations

Sponsor Blitz and display your logo and hiring status here. This is a great way to get in front of early adopters!

View our Bronze Sponsors


Core Team ✨


Brandon Bayer

Creator

Rudi Yardley

Node.js Wizard

Dylan Brookes

Friendly Generalist

Maintainers (Level 2) ✨

Code ownership, pull request approvals and merging, etc (see MAINTAINERS.md)


Adam Markon

CLI

Robert Rosenberg

Website/Docs

Maintainers (Level 1) ✨

Issue triage, pull request triage, community encouragement and moderation, etc (see MAINTAINERS.md)

We need more woman & nonbinary level 1 maintainers. See MAINTAINERS.md for what this entails


Lori Karikari

Corey Brown

Simon Knott

Elias Johansson

Jeremy Liberman

Jaga Santagostino

Simon Debbarma

Jack Clancy

Ivan Medina

Contributors ✨

Thanks to these wonderful people (emoji key):


Brandon Bayer

💻 🖋 🤔 👀

Rudi Yardley

💻 🤔 👀 ⚠️

Dylan Brookes

💻 🤔 👀 ⚠️ 📖

Adam Markon

💻 🤔 👀 ⚠️ 🚧

Corey Brown

💻 👀 🚧

Lori Karikari

💻 👀 🚧 📖

Elias Johansson

💻 👀 🚧

Michael Edelman

🚇 💻

Todd Geist

💵

Robert Rosenberg

💻 🚧 📖

Beata Obrok

💻

Tahir Awan

💻

Camilo Gonzalez

💻

Daniel Kempner

💻

Giel

💻

Jeremy Liberman

💻 🚧 ⚠️

Jim Cummins

💻

Kristina Matuška

🎨

Jason Blalock

💻

aej11a

💻

marcoseoane

🤔

Rishabh Poddar

🤔

Lorenzo Rapetti

💻

Justin Hall

💻 📖

Sajjad Hashemian

💻

Eduardo Lopes

💻

Matthew Leffler

📖

Matt

📖

Sonny

📖

Fran Zekan

💻 📖

Jan Baykara

📖

Mike Perry Y Attara

📖

Devan

📖

Jack Clancy

💻 🚧

Nicolas Torres

⚠️ 💻

Simon Knott

💻 ⚠️ 🚧

Jaga Santagostino

💻 📖 🚧

João Portela

💻

Da-Jin Chu

💻

Shinobu Hayashi

💻

Karan Kiri

💻

Alan Long

📖

codingsh

💻

Rafael Nunes

👀 💻

Simon Debbarma

🎨 🚧 📖

0xflotus

💻 📖

tmns

💻 📖

Jru Harris

📖

Ivan Medina

💻 🚧

Dwight Watson

💻

Horie Issei

💻

Nhat Khanh

💻

Abu Uzayr

💻

Nabiullah elham

💻

Lachlan Campbell

💻

Enzo Ferey

💻

Pierre Grimaud

💻

John Letey

💻

Andreas Adam

💻

Kevin Tovar

💻

Ante Primorac

💻 📖

Mykal Machon

💻

Jamie Davenport

💻

GaneshMani

💻

reymon359

💻

gvasquez11

💻

José Miguel Ochoa

💻

Oscar Sirvent

💻 📖

Daniel Molnar

📖 💻

Kevin Wu Won

📖

John Duong

💻

Noah Fleischmann

💻

Matsumoto Toshi

💻 📖

Simon Edelmann

💻

Shaun Church

📖 💻

Steven

📖

Sigurd Moland Wahl

💻

Brian Andrews

📖

This project follows the all-contributors specification. Contributions of any kind welcome!