[meta]
A stack. A framework. A conversation.
Meta is developed and maintained by Degree9
What is [meta]?
[meta] is a stack for building software using Clojure(Script).
Why [meta]?
We built [meta] out of the idea that a single Open Source package could be used to build any tech startup. We named it [meta] as a reminder that software takes many forms and like ideas, should continuously evolve. [meta] is an attempt at building the quickest path from an idea to a startup.
Things [meta] has been used for:
- Application Prototyping
- Enterprise Applications
When should I use [meta]?
[meta] Internals
[meta] is written in Clojure(Script) and built using:
- Boot - Build tooling for Clojure.
- Hoplon - ClojureScript Web Framework.
- Feathers.js - An open source REST and realtime API layer for modern applications.
- Node.js - JavaScript runtime built on Chrome's V8 JavaScript engine.
- Electron - Build cross platform desktop apps with JavaScript, HTML, and CSS.
- Atom - A hackable text editor for the 21st Century.
Using [meta] ... with Boot
[meta] is powered by Boot, an environment for building applications using clojure.
Generate an empty project:
$ boot -d degree9/meta generate --name my-app
Start a development workflow:
$ boot develop
Thanks to Boot, [meta] is built with itself.
- boot-exec - Boot-clj external process execution using Apache Commons Exec.
- boot-semver - Semantic Versioning for boot projects.
- boot-semgit - Semantic Git access from boot tasks.
- boot-welcome - ASCII art banners with boot-clj.
ClojureScript in the Browser ... with Hoplon
We believe in building universal technologies and the web is the most accessible platform available. [meta] builds upon Hoplon to provide abstractions for the DOM.
(page "index.html")
(html
(head
(title "[meta]"))
(body
(p "Hello!")))
- material-hl - Material Design Components for Hoplon
- uikit-hl - UIkit v3 Components for Hoplon
Realtime Communication ... with Feathers.js
[meta] provides both REST and Realtime communication via FeatherScript, a wrapper around Feathers.js implemented in ClojureScript. Feathers enables event-based communication between clients and servers and other API's including persistent data stores.
- featherscript - A feathers.js wrapper for ClojureScript.
ClojureScript on the Server ... with Node.js
[meta] is built entirely out of Clojure(Script) including the backend. This means compiling to JavaScript and running on Node.js.
- boot-nodejs - Node.js tasks for boot-clj.
- boot-npm - Node Package Manager (NPM) wrapper task for boot-clj.
- nodejs-cljs - CLJS bindings for the Node.js API.
ClojureScript on the Client ... with Electron
[meta] can package Client/Server applications with Electron. Building cross-platform Clojure(Script) applications.
- electron-cljs - Electron bindings for CLJS.
- boot-electron - Electron tasks for boot-clj.
Developed ... with Atom
[meta] is being cultivated within Atom, a hackable text editor for the 21st Century.
- proto-repl - A Clojure Development Environment package for Atom.
Containerization ... with Docker
[meta] server applications can be containerized for scalability through docker.
- boot-docker - Docker wrapper for boot-clj.
Support this and other open-source projects on Patreon!