[meta] — Declarative Applications
[meta] A stack. A framework. A conversation.
- Declarative Applications (current)
- Generative Applications
- Application Framework
- Data & Interop Libraries
- Host Libraries
[meta] is an evolving platform designed to help build tech startups. The goal behind [meta] is to create a Clojure(Script) platform that can run anywhere, connect to anything, and power everything. It’s ambitious to say the least, however early versions of the platform have already been used in production to launch several startups.
Today we are going to start at the top of the technical side of [meta] and provide an overview of what [meta] can do in a non-technical way.
The first thing everyone should understand is that [meta] is divided into many layers. The outer most layer provides Declarative Applications.
Declarative Applications are provided by implementing all of the underlying layers. This gives the developer the least amount of control over the application logic however, it provides rapid prototyping. A new [meta] project can build a client/server application in under a minute, with an application interface.
Under the hood [meta] provides templates for an ideal application. These templates implement all of the boilerplate usually required to build an application with technologies from the [meta] stack.
Each template has a corresponding configuration file with a similar name. [meta] will search your project folder for these configurations, if they are not found the default files are used.
By providing configuration files within the project, developers can rapidly prototype application concepts with visual elements.
You can generate an application project with:
boot -d degree9/meta project --generate
This will download [meta] and setup an empty project folder.
To see [meta] in action, you can start a development workflow:
boot project --develop
This will now build a project using the default configuration files.
You can try [meta] and checkout the README over at GitHub.