Version 18 (modified by Fran Boon, 5 years ago) ( diff )


Development Environment

Table of Contents

    Eden Mobile is built on the Apache Cordova platform (sometimes known as Adobe PhoneGap).

    1. Cordova runs on NodeJS. If your OS distribution does not provide a NodeJS bundle, you can get one from here:
    1. Use the NodeJS package manager npm to install Cordova:
    npm install -g cordova 

    See also:

    1. If you want to build and test EdenMobile, you also need
    1. You can fork/clone EdenMobile from here:
    1. Run the application
    • You canot run in the 'browser' platform as it doesn't support the local database
    • It is easier to run on a real device than the emulator
    • to run on a real device, you need to enable 'Developer Options' by tapping 7 times on the 'Build Number' in the About section ( and then open the new Developer Options panel & enable USB Debugging to allow access in Chrome's Developer Tools (More | Remote Devices | Inspect) NB Do NOT 'reconnect dev-tools' when reinstalling, close window & 'inspect' again, otherwise you will have lots of browser windows left open)
    • to run on emulator you need to create an avd: android avd
      cd eden_mobile
      npm install q-io
      cordova platform add android
      adb uninstall org.sahanafoundation.eden_mobile # Needed on some platforms anyway, on others just to clear data, when-desired
      cordova run android # Builds apk & adb install platforms\android\build\outputs\apk\android-debug.apk
    1. Accessing your developer PC's version of Sahana Eden.

    Uisng Chrome Tools' Port Forwarding, you can redirect e.g. localhost:8000 on the Android device to localhost:8000 on your Developer PC when connected via USB. This allows you to use that in your Sync Settings.

    1. jshint is a tool recommended to ensure Code Quality:

    npm install -g jshint

    Suggested .jshintrc attached (store in the folder just up from eden_mobile):

    Attachments (1)

    Download all attachments as: .zip

    Note: See TracWiki for help on using the wiki.