-
Data Abstraction Layer / Object Relational Model
-
Event Model
-
Plugin / Extension system
-
Frontend Extensions
- Tailwind CSS (tailwind-cli)
-
Persistence Extensions
- Memory (default)
- Disk (file)
- Databases (SQLite, PostgreSQL)
- Memory (default)
- Defer JS so page renders while loading
- Serve static files with Agoo
- Split Porous JavaScripts from application scripts
- Production Mode
porous build production
porous server
- Needs
ssl/cert.pem
andssl/key.pem
- Binds on :80 and :443
- Development Mode
porous dev
- Binds on :9292
- Serves favicon from
static/favicon.svg
- WebSockets support
- Server-side hot reloading (browser reloads on changes)
- Dynamic page metadata (title and description)
- Less noisy logging (silence logging for Rack::Static)
- Client-side component rendering (sans SVG support)
- Client-side routing / navigation
- Client-side hot reloading
- Server-side reloading (server requests reflect changes)
porous server
to run apps- Only server-side HTML rendering
- Component-based server-side routing
- No Entity support
- No Event support
- No persistence
- No client-side (transpiled) components