Four Languages, One API
Python, Node.js, PHP, and Ruby share the same project structure, CLI, template syntax, route patterns, and .env variables. Learn one, know all four.
One framework, four languages, fifty-five features, zero runtime dependencies.
v3.11.13 (2026-04-16) β full notes
Typed route parameters gain :alpha / :alnum / :slug / :uuid. Unknown types now throw at route registration so typos surface at boot, not in production. Gallery Try-It opens in a new tab. Ruby's sqlite3 is a runtime dep so tina4 init ruby && tina4 serve works on first run. Thirteen book/framework issues closed.
v3.11.12 β sqlite:///X URLs resolve relative to the project root across all four frameworks. DateTimeField ORM reads no longer crash under PostgreSQL. The bogus src/migrations/ directory that confused many users is gone.
v3.11.10 β Hot reload rewrite. The tina4 CLI is the sole file watcher; frameworks no longer run their own. Overlayfs / Podman / distrobox spurious-event loop fixed.
Pick a language. Each book stands on its own β you can read Python cover-to-cover, then pick up the PHP book later and recognise every pattern.
node:http, file-based routing, ESM-only.stream_select server, zero composer deps in core.Every book has a printable PDF with a clickable table of contents. Every chapter stays in sync with the code β release notes, version numbers, and example output are regenerated with every point release.