Micro, for short: (μ) or Mu, is a modular Model View Controller framework (MVC Pull) for rapid web development. Flexible and powerful at the same time, Micro lets you choose your tools from a decently sized pool of well known products:
- Velocity, Markdown, Freemarker, Mustache (java), Stringtemplate; for designing the dynamic content of your web pages.
The easiest way to start developing with Micro is to download the source code from Github
git clone https://github.com/florinpatrascu/micro
cd micro mvn clean install test -Dtest=MicroGenericTest # or: mvn clean install -DskipTests=true # to skip the tests
Creating a new Micro web application
Create a new webapp using the Micro quickstart Maven archetype
cd archetypes/quickstart mvn install
Usage from command line
mvn archetype:generate \ -DarchetypeGroupId=ca.simplegames.micro\ -DarchetypeArtifactId=micro-quickstart \ -DarchetypeVersion=0.2.2 \ -DgroupId=com.mycompany \ -DartifactId=myproject
Open IntelliJ. Choose
File/Import/Existing Project and point it to
myproject directory. Or, you can add the
quickstart archetype in IntelliJ by simply following the few next steps:
Create from archetypeand click the
ca.simplegames.micro:micro-quickstartfrom the list
And simply follow the dialog prompted by IntelliJ :)
<dependencies> <dependency> <groupId>ca.simplegames.micro</groupId> <artifactId>micro-core</artifactId> <version>0.2.2</version> </dependency> </dependencies>
Start your web application from command line
Launching the generated application using the embedded Jetty web server is very easy:
cd myproject mvn compile install exec:java #or: mvn exec:java
You can also easily start your web application from IntelliJ.
When the Micro web app is started, you will almost immediately see something like this:
_ __ ___ ( ) ___ _ __ ___ | '_ ` _ \| |/ __| '__/ _ \ | | | | | | | (__| | | (_) | |_| |_| |_|_|\___|_| \___/ = a modular micro MVC Java framework
and you can visit your web application by pointing your browser to: http://localhost:8080
We hope Micro will help you develop web applications while increasing the fun quotient of programming as well.
Have fun! µ
The documentation is a work in progress and can be found here: micro-docs.simplegames.ca. It is hosted at Heroku, using Micro itself for publishing. You can fork the documentation site and send pull requests. This is the Github repo for the docs: micro-docs
Feedback and contributions to the project, no matter what kind, are always very welcome.
Submitting an Issue
We use the GitHub issue tracker to track bugs and features. Before submitting a bug report or feature request, check to make sure it hasn't already been submitted. When submitting a bug report, please include a Gist that includes a stack trace and any other details that may be necessary to reproduce the bug, including your Java version and operating system. Ideally, a bug report should include a pull request with failing specs.
- to my wife, for understanding my endless passion for programming.
- JPublish.org - a rusty but trusty framework. There are core concepts in Micro designed as continuations of the ideas developed for JPublish; Templates and Repositories, for example.
- Many thanks to Anthony Eden for being an inspiring developer and a model for many of us.
- Many thanks to Frank Carver for contributing ideas to the JRack, many of these being ported back into JRack and used by Micro.
- Spring framework - the localization support in Micro was extracted from selected classes originally developed for the early Spring framework.
- Apache Wink - used as a future support for JSR-311.
- to all our contributors and supporters. Cheers!
Copyright (c) 2012-2016 Florin T.Pătraşcu Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.