This project aims to let you start a new app as fast as possible.
Just clone it and you are ready to do ! Many boilerplate code is already written and most usefull libs are included. I'm trying to follow best practices with Angular & Ionic so it could be a good kick start :)
Feel free to open an issue for any question or suggestion you could have.
This application (mostly) follows the John Papa's style guide.
- install nodejs, npm, gulp, bower, cordova, ionic & sass (if not already done)
git clone [email protected]:loicknuchel/ionic-starter.git
: clone this repocd ionic-starter
: go to folderbower install
: install app dependenciesnpm install
: install build dependenciesionic setup sass
: use sassionic serve
: start the app on your browser
For the impatients, you can run all these commands in one time : git clone [email protected]:loicknuchel/ionic-starter.git && cd ionic-starter && bower install && npm install && ionic setup sass && ionic serve
To run the app on your android device :
ionic platform add android
: add android platform to the projectionic resources
: generate icon & splash-screen for project platformsionic run android
: run your app !
Once again, in one command : ionic platform add android && ionic resources && ionic run android
- User authentication
- Storage helpers & caching
- REST & Parse Api helpers
- Error handling & async remote logger
- Angular wrappers & browser mocks for plugins :
- org.apache.cordova.device (ngCordova)
- org.apache.cordova.dialogs (ngCordova)
- https://github.com/EddyVerbruggen/Toast-PhoneGap-Plugin (ngCordova)
- org.apache.cordova.inappbrowser (ngCordova)
- org.apache.cordova.geolocation
- org.apache.cordova.camera
- https://github.com/EddyVerbruggen/SocialSharing-PhoneGap-Plugin
- org.apache.cordova.media
- https://github.com/loicknuchel/cordova-device-accounts
As it's only a template project, you may want to change its name. For that, you just have to open :
config.xml
(widget id, name, description & author)www/index.html
(title)bower.json
(name, homepage, author & description)package.json
(name & description)ionic.project
(name)
- Node v0.10.26 (
node -v
) - Cordova 4.2.0 (
cordova -version
) - Bower 1.3.12 (
bower -v
) - Angular 1.3.13 (see bower.json)
- Ionic 1.0.0-rc.5 (see bower.json)
- Mettre en place des analytices (segment.io, google analytics...)
- tell Ionic CLI to not add empty cordova.js :(
- improve _log.js : get device uuid instead of userId...
- Geolocation plugin : check if geolocation is enabled
- add tests & comments (plugins services & mocks, utils services...) (http://forum.ionicframework.com/t/unit-tests-for-ionic/3711/5)
- add standard usefull plugins :
- http://mcgivery.com/using-custom-url-schemes-ionic-framework-app/
- sqlite db (https://blog.nraboy.com/2015/01/deploy-ionic-framework-app-pre-filled-sqlite-db/)
- org.apache.cordova.statusbar (ngCordova)
- de.appplant.cordova.plugin.local-notification (ngCordova)
- webintent
- org.apache.cordova.splashscreen (ngCordova)
- https://github.com/pushandplay/cordova-plugin-apprate (ngCordova)
- https://github.com/whiteoctober/cordova-plugin-app-version (ngCordova)
- Chrome cordova : https://chrome.google.com/webstore/detail/cordova-mocks/iigcccneenmnplhhfhaeahiofeeeifpn (https://github.com/pbernasconi/chrome-cordova)
- android remote debug : https://developer.chrome.com/devtools/docs/remote-debugging
- activate developer mode on android
Use these custom urls to open other apps using inappbrowser (org.apache.cordova.inappbrowser)
- "tel:0123456789" => call this number
- "sms:0123456789?body=coucou" => send sms to this number
- "geo:lat,lon" => open google map to this geoloc
- "mailto:[email protected]" => send an email
- "market:???"