New Home for Primate Framework

2 hours ago 1

Frontend, backend, runtime — Primate lets you pick the tools you love and combine them however you like, without lock-ins or rewrites.

Use any frontend.

Primate supports every major frontend. Split your app across frameworks, or migrate gradually without rewrites.

React Angular Vue Sveltecomponents/Index.jsxcomponents/Index.component.tscomponents/Index.vuecomponents/Index.svelte

export default function Index({ posts }) { return <> <h1>All posts</h1> {posts.map(post => ( <h2 key={post.id}> <a href={`/post/${post.id}`}> {post.title} </a> </h2> ))} </>; };

Combine many backends.

Write routes in JS/TS by default. Extend with WebAssembly backends and mix them freely. New backends are added based on demand.

TypeScript Go Python Rubyroutes/index.tsroutes/index.goroutes/index.pyroutes/index.rb

import response from "primate/response"; import route from "primate/route"; const posts = [{ id: 1, title: "First post", }]; route.get(() => response.view("Index.jsx", { posts }));

Choose your runtime.

Consistent APIs on Node, Deno, and Bun — native execution paths under the hood, no runtime boilerplate.

Extensive ecosystem.

Official modules for real apps: databases, sessions, auth, i18n, native builds — with more coming.

Store Route Componentstores/Post.tsroutes/posts.tscomponents/Posts.jsx

import date from "pema/date"; import primary from "pema/primary"; import string from "pema/string"; import store from "primate/store"; export default store({ id: primary, title: string.max(50), body: string, created: date.default(() => new Date()), });

Get productive.

Short guides for common tasks. Browse topics and jump into the docs.

Read Entire Article