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.
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.
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.
To start your app, cd
into its directory, execute bin/maji start
and navigate to http://localhost:9090/ with your browser.
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
.
To build a static HTML5 app, run bin/maji build
.
To build a native app, run bin/maji build <platform>
.
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
Maji will work in evergreen browsers, IE10+, Android 4.4+ and iOS 8+. Maji's additional documentation offers more details about browser support.
Maji's frequently asked questions are answered in the additional 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.
See the CONTRIBUTING for documentation on developing Maji itself.
Maji Mobile is released under the MIT License.