i m working with ionic since a few months now.
I really love this framework and the development speed is amazing.
But now i need some ideas to structure the development environment a bit better, since I m not the only person who works on an app.
My current setup looks like
Netbeans 8.0 ( great cordova support )
Grunt with following tasks
- ng-annotate ( prepare files for minification and to combine all files into one bundle file )
- uglify ( to make the bundle file hard to read ( production only )
- docular ( to generate a nice documentation )
- karma + istanbul for ( testing and coverage )
- cordova-icon ( generate icons for all supported platforms )
Structure of the app :
Instead of working on the www folder of cordova i ve added a www_dev folder next to the www.
grunt cares about adding all necessary files to the www ( in most cases the minified and uglyfied js files and all html and css stuff via grunt watch )
inside the www_dev folder the app has following structure
- css ( all css files )
- lib ( lib files like lodash )
- ionic ( ionic files ( in production only the bundle.min.js )
- app ( my app )
- view 2
- some more views …
- some other stuff
The final app is build with jenkins ( cordova build ) and checked against several rules with sonar cube
Is this a good way to setup a project right ?
Any ideas or suggestion to keep the development speed and the quality of the product high.
For android the generated apk is available as jenkins artifact. The testers have to download them manually. Is there a possibility to update an android app on the fly to all testing devices ( apk only since i m working on custom cordova plugins -> serving the web part does not help here ). Its not possible to add the files to a cloud service due to some company restrictions. --> Looking for an inhouse solution