Skip to content

degree9/meta

Repository files navigation

meta

[meta]

Clojars Project CircleCI Downloads Slack

A stack. A framework. A conversation.



Meta is developed and maintained by Degree9


CLJS LogoBoot LogoHoplon LogoFeathers.js LogoNode.js LogoElectron LogoAtom LogoDocker Logo

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]?

Always.


CLJS Logo

[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.

Clojure ClojureScript


Boot Logo

Using [meta] ... with Boot

Boot Wiki

[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.

Clojars Project Clojars Project Clojars Project Clojars Project


Hoplon Logo

ClojureScript in the Browser ... with Hoplon

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

Clojars Project Clojars Project


Feathers.js Logo

Realtime Communication ... with Feathers.js

Feathers

[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.

Clojars Project


Node.js Logo

ClojureScript on the Server ... with Node.js

Node

[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.

Clojars Project Clojars Project Clojars Project


Electron Logo

ClojureScript on the Client ... with Electron

Electron

[meta] can package Client/Server applications with Electron. Building cross-platform Clojure(Script) applications.

Clojars Project Clojars Project


Atom Logo

Developed ... with Atom

Atom

[meta] is being cultivated within Atom, a hackable text editor for the 21st Century.

  • proto-repl - A Clojure Development Environment package for Atom.

Clojars Project


Docker Logo

Containerization ... with Docker

[meta] server applications can be containerized for scalability through docker.

Clojars Project


Patreon
Support this and other open-source projects on Patreon!