Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/timothymiller/t4-app

A powerful cross-platform UI toolkit for building actually native iOS, Android, macOS, Windows, Linux, and Progressive Web Apps with React (Native).
https://github.com/timothymiller/t4-app

bun cli cloudflare create-t4-app drizzle expo-router honojs millionjs nextjs react react-native react-native-web serverless supabase-auth t4-stack tamagui tanstack trpc typescript ui

Last synced: about 1 month ago
JSON representation

A powerful cross-platform UI toolkit for building actually native iOS, Android, macOS, Windows, Linux, and Progressive Web Apps with React (Native).

Awesome Lists containing this project

README

        




Logo of Create T4 App



create-t4-app


Interactive CLI to start a full-stack, typesafe, universal Expo & Next.js app on Cloudflare's edge platform.


Get started with the T4 Stack by running bun create t4-app



Join the T4 discord community
ย 

Weekly downloads for create-t4-app on npmjs.org
ย 

VSCode Extension Installs

## ๐Ÿ” The T4 Stack

The T4 Stack is a universal web and native stack made by [Tim Miller](https://twitter.com/ogtimothymiller) focused on **developer experience**, **rapid development**, and **performance**.

Easy integration with **Cloudflare** services, such as R2 & D1 enable developers to build apps with **AI-powered features** at a **lower cost** compared to AWS.

Ship it today and witness **6 second package install** times & **30 second backend deployments**.

๐Ÿ‘‰ Further documentation can be found on the [T4 Stack website](https://t4stack.com). ๐Ÿ‘ˆ





T4 is compatible with Cloudflare Pages
ย 

T4 uses Next.js
ย 

T4 uses Expo
ย 

T4 is written in TypeScript

### ๐Ÿ“ UI Kit

- ๐ŸŽจ [Tamagui](https://tamagui.dev)

### ๐Ÿ”ฎ Frontend

- ๐Ÿ”— [Next.js](https://nextjs.org)
- ๐Ÿ“ฑ [Expo](https://expo.io)

### ๐Ÿ“ก Data Fetching

- ๐Ÿ”„ [tRPC](https://trpc.io)
- โฒ๏ธ [Tanstack Query](https://tanstack.com/query/latest)
- ๐ŸŽ‚ [ts-pattern](https://github.com/gvergnaud/ts-pattern)
- Handle data fetching UI states like this:
![tanstack-ts-pattern](https://github.com/timothymiller/t4-app/assets/46549361/f022b20d-840d-48a9-83b8-c52d5f037880)

### ๐Ÿ“ˆ Performance Improvements

- ๐Ÿ’จ [Million.js](https://million.dev/)
- Virtual DOM replacement for React
- Achieve SolidJS-like performance with React
- ๐ŸŽ‚ [PattyCake](https://github.com/aidenybai/pattycake)
- Zero-runtime pattern matching with ts-pattern

### โœ… Type Validation

- ๐Ÿค– [Valibot](https://valibot.dev)

### ๐Ÿงญ Router

- ๐Ÿ“ฒ [Expo Router](https://docs.expo.dev/routing/introduction/)
- โ˜€๏ธ [Solito](https://solito.dev)

### ๐Ÿข Global State Management

- ๐Ÿงฉ [Jotai](https://jotai.org)

### โš™๏ธ Backend

- ๐Ÿ”ฅ [Hono](https://hono.dev)
- ๐Ÿ’š [Cloudflare Workers](https://workers.cloudflare.com)
- ๐Ÿ“ [Cloudflare D1](https://developers.cloudflare.com/d1)
- [SQLite](https://sqlite.org) database for the edge
- ๐Ÿ—„๏ธ [Drizzle](https://orm.drizzle.team)

### ๐Ÿ”’ Authentication

- ๐Ÿ”‘ [Supabase](https://supabase.com/auth)

## ๐Ÿ“– Background

T4 is a project starter kit for building **type-safe**, **native** & **web** applications in TypeScript using Tamagui, tRPC, and Tauri. Deploy to Cloudflare for a global edge network. All at a fraction of the cost of AWS, Vercel, or Azure.

It provides a unified, opinionated, & minimalistic setup for quickly getting started with building native & web apps, using the same code, without having to worry about the complexities of setting up a development environment.

### ๐Ÿ’ช Build Apps for All Platforms

- ๐Ÿ“ฑ iOS
- ๐Ÿค– Android
- ๐Ÿ•ธ๏ธ Web
- Progressive Web App (PWA) support
- ๐Ÿ’ป macOS
- ๐ŸชŸ Windows
- ๐Ÿง Linux
- ๐Ÿงช (Experimental) Desktop support via Tauri

Build native apps for iOS, Android, macOS, Windows, and Linux using the same codebase.

#### Never worry about using XCode or Android Studio again



Android Studio
ย 

XCode

## ๐Ÿš€ Quick Start

### Basic Setup

> bun v1.0 is required to use `create-t4-app`



bun is required to use `create-t4-app`

To scaffold an app using `create-t4-app`, run any of the following commands.

### **bun**

```bash
bun create t4-app
```

### **Tauri**

If you would like to use Tauri use:

```bash
bun create t4-app --tauri
```

## โ“ Why T4?

T4 is the result of extensive research and testing to identify the best libraries for React Native and Web development. We've done the hard work for you, so you can focus on building amazing apps without worrying about performance bottlenecks.

Whether you're developing a mobile app with React Native or a web app using React, T4 is the perfect choice. Our template is designed to seamlessly integrate with your existing projects, making it easy to enhance performance without starting from scratch.

### ๐Ÿš… Performance

- ๐Ÿ‘‰ 6 second package install time
- ๐Ÿ‘‰ 30 second backend deployments
- ๐Ÿ‘‰ 90 second frontend deployments

- Small learning curve
- Instant feedback, rapid development
- Universal across **React Native** & **React Web**
- [Data fetching](https://tanstack.com/query/latest)
- [Styling](https://tamagui.dev)
- [Authentication](https://supabase.com)
- [Navigation](https://solito.dev)
- [Type Safety](https://valibot.dev)
- High code re-use
- Low bundle size
- Edge compatible
- Fast startup time
- Simple setup
- Allows for platform-specific code when needed.

## ๐Ÿ“ฆ What's Included

- [Tamagui](https://tamagui.dev) - A UI kit for building beautiful and responsive user interfaces.
- [TanStack](https://tanstack.com/) - High-quality open-source software for React developers.
- [tRPC](https://trpc.io) - A TypeScript framework for building end-to-end typesafe APIs.
- [TypeScript](https://www.typescriptlang.org) - A typed superset of JavaScript that compiles to plain JavaScript.

## ๐Ÿงฉ VSCode Extension

The VSCode extension is optional but highly recommended. It provides a better developer experience by providing code actions to help you scaffold your app. You can find more info in the [docs](https://t4stack.com/extension) or install it from the [VSCode Marketplace](https://marketplace.visualstudio.com/items?itemName=albbus.t4-app-tools).

## โœจ Features

- โœ… 6 second package install time
- โœ… 30 second backend deployments
- โœ… 90 second frontend deployments
- โœ… Tamagui UI kit across all platforms.
- โœ… Bun support
- โœ… Million.js Support
- โœ… PattyCake Support
- โœ… Valibot Support
- โœ… Generate Valibot Type Guards from your Drizzle Schema
- โœ… Supabase Auth
- โœ… Uses Next.js for building web apps.
- โœ… Uses Expo for building native mobile apps.
- โœ… PWA by default for native desktop support. No Electron required.
- โœ… Uses Cloudflare Workers for serverless functions.
- โœ… No Docker containers required.
- โœ… Uses tRPC & Tanstack Query for fetching & caching across all platforms.
- โœ… Authentication across all platforms.
- โœ… Powered by TypeScript for type safety and better developer experience.
- โœ… Comes with pre-configured Biome for lightning fast code consistency.
- โœ… Github Action publishing for Expo apps
- โœ… Database migration in CI/CD
- โœ… Tauri Support

## โญ Wish List

๐Ÿ‘‰ The wish list has moved to [the docs website](https://t4stack.com/wish-list).

## ๐Ÿ’ฌ Community

For help, discussion about best practices, or any other conversation that would benefit `create-t4-app`:

[Join the T4 Discord Server](https://discord.gg/wj2GV7AvQd)

## ๐Ÿซถ Contributors

We welcome contributions from anyone and everyone. Please read our [contributing guidelines](https://github.com/timothymiller/t4-app/blob/master/CONTRIBUTING.md) for more information on how to get started.

## ๐Ÿ‘ Special Thanks

- [Nate Birdman](https://twitter.com/natebirdman) - Creator of Tamagui
- [Aiden Bai](https://aiden.mov/) - Creator of Million.js and PattyCake
- [Yusuke Wada](https://twitter.com/yusukebe) - Creator of Hono.js
- [Daishi Kato](https://twitter.com/dai_shi) Creator of Jotai
- [Fernando Rojo](https://twitter.com/fernandotherojo) - Inspiration behind Solito
- [Tanner Linsley](https://twitter.com/tannerlinsley) - Creator of TanStack
- [Expo Developers](https://twitter.com/expo) - Insightful office hours

## โ„ข๏ธ Disclaimer

The T4 App is not affiliated with or endorsed by [EquipmentShare](https://www.equipmentshare.com/t3) or [T3 app](https://www.equipmentshare.com/t3#apps).

## โš–๏ธ License

**Create T4 App** is licensed under the [MIT License](https://github.com/timothymiller/t4-app/blob/master/LICENSE).