Skip to content

wouterbin/maji

 
 

Repository files navigation

Maji Mobile

Build Status

Maji Mobile is a mobile platform development solution, that allows you to quickly create mobile applications for any platform, using web technologies. It allows any (Web-)developer to quickly start developing mobile applications for any mobile platform.

Maji Mobile is not a framework on itself; it generates a ready-to-go project that integrates several frameworks and custom scripts to allow building and running on mobile platforms. You can build Maji Mobile Apps for all mobile platforms and you can submit the apps to their respective Stores.

Whether you want to develop for iOS or Android, mobile or tablet, or any of the other mobile platforms, you can use Maji Mobile to develop applications for it.

Your Idea. Our Technology. For Everyone.

Prerequisites

Before you can use Maji, make sure you have the following:

General

  • Ruby, for the Cucumber specs
  • NodeJS, for the build system (bin/setup will install this if you've got Homebrew)
  • Homebrew (bin/setup will use this to hook you up with all of the dependencies, except Ruby)

Mac OS X

Linux

  • Nodejs allows JavaScript to be run Server-side
  • Apache Ant is used for building Java Applications
  • PhantomJS is a headless WebKit Browser, scriptable with a JavaScript API

Getting started

To create a new app execute the following commands in your shell:

$ npm install kabisa/maji
$ ./node_modules/.bin/maji new org.example.my-app /desired/path/to/your/project/
$ cd /desired/path/to/your/project/
$ bin/setup

Your new Maji app will now be generated at the supplied path.

bin/maji

Usage: bin/maji [options] [command]

Commands:

run [options] <platform>    build and run a native app for the specified platform
build [options] <platform>  build a native app for the specified platform
new <package_name> <path>   create a new Maji app

Options:

-h, --help     output usage information
-V, --version  output the version number

Using Maji Apps

Starting in the browser

To start your app, cd into its directory, execute make watch and navigate to http://localhost:9090/ with your browser.

Running tests

To run test, you have several options:

  • To run JavaScript tests run bin/karma start. This will start a Karma server with Phantomjs and will continuously watch your Javascript files and run tests on changes.
  • To run JavaScript tests once, run bin/karma start --single-run.
  • To run features specs once, run bundle exec rspec.
  • To run all tests once, run bin/ci.

Creating builds

To build a static HTML5 app, run make dist.

To build a native app, run bin/maji build <platform>.

For CI docker files are included, which can be used incombination with the kabisa jenkins-docker tooling. dockerfiles includes files for tests only or build android packages.

Build-up

You can find the sources in the src/ folder. Compiled javascript is stored in lib/. It is included in this repository so this module can be used straight from Github. Now an application using Maji doesn't have to compile its sources to javascript first.

Frameworks

A Maji Mobile App comes with several frameworks built-in and configured to work together. It's these combinations of frameworks that makes a Maji Mobile App so easy to develop!

  • Apache Cordova facilitates the translation from web technologies to mobile platforms.
  • BackboneJS our JavaScript MV* framework
  • MarionetteJS Marionette simplifies Backbone Views
  • FastClick disable the delay between click and the action on iOS
  • jQuery JavaScript library for working with the DOM
  • Browserify is a JavaScript module system that supports CommonJS syntax
  • BugSnagJS JavaScript client for BugSnag exception tracker
  • Karma is a JavaScript test runner
  • MochaJS a JavaScript testing framework that supports a BDD style of writing tests
  • Chai is an assertion library that enables a BDD style of developing

FAQ

For our Frequently Asked Questions, see here.

Documentation

Here are some links to documentation you might need:

License

Maji Mobile is released under the MIT License.

About

Maji is a framework to build great hybrid apps. http://majimobile.com/

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CoffeeScript 51.5%
  • JavaScript 14.9%
  • CSS 12.6%
  • Shell 12.0%
  • Makefile 5.3%
  • Ruby 2.1%
  • HTML 1.6%