Skip to content
This repository has been archived by the owner on Oct 6, 2021. It is now read-only.
/ maji Public archive

Maji is a framework to build great hybrid mobile apps.

License

Notifications You must be signed in to change notification settings

kabisa/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:

  • Node.js >= 8
  • NPM
  • Yarn >= 1.0
  • Bash

Note that MacOS and Linux are best supported as development platform. Windows is supported in principle, but currently Maji has a hard dependency on Bash which is not ideal for Windows.

Getting started

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

yarn create maji-app com.example.myapp ~/Code/myapp

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

Using Maji apps

Starting in the browser

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

Running tests

To run test, you have several options:

  • To run JavaScript tests, run bin/maji test --watch. This will start a Karma server with headless Chrome and will continuously watch your Javascript files and run tests on changes.
  • To run JavaScript tests once, run bin/maji test --unit.
  • To run features specs once, run bin/maji test --integration.
  • To run all tests once, run bin/maji test.

Creating builds

To build a static HTML5 app, run bin/maji build.

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

Frameworks and libraries

A Maji Mobile app comes with several frameworks and libraries built-in and configured to work together. It's this combination of frameworks that makes a Maji Mobile app so easy to develop.

  • Apache Cordova facilitates the translation from web technologies to mobile platforms.
  • Preact.js is our JavaScript view framework
  • FastClick disables the delay between a click and the corresponding action on older mobile devices
  • Sentry is used for exception tracking
  • Webpack is a JavaScript module bundler
  • Karma is a JavaScript test runner
  • MochaJS is a JavaScript testing framework that supports a BDD style of writing tests
  • Chai is an assertion library that enables a BDD style of developing
  • I18n-js is a library for internationalisation

Browser support

Maji will work in evergreen browsers, IE10+, Android 4.4+ and iOS 8+. Maji's additional documentation offers more details about browser support.

FAQ

Maji's frequently asked questions are answered in the additional documentation.

Documentation

Links to the documentation of Maji's components are available in the section about frameworks and libraries above.

More details are available in Maji's additional documentation.

Developer docs

See the CONTRIBUTING for documentation on developing Maji itself.

License

Maji Mobile is released under the MIT License.