javascript - checklist of creating phonegap project- Can SomeOne add More elements -


for updated list pls see url

http://www.aurigait.com/blog/checklist-of-creating-phonegap-project/

  1. we doing core html dev. jquery mobile can used platform wide range device support & ease in making forms tradeoff of performance on lower-end devices.
  2. ui transitions not supported in various devices either can selectively apply transitions.
  3. ios , android navigation kept same or different since button navigation in available in android
  4. language / audio / tectical support
  5. analytics / notifications , intensity [notificatioin pages history] / adwords / geolocation based
  6. resposive layout resolution breakup
  7. we supporting resolutions of 320*480 , above. (for can have ui designs 320*480 (mobile portrait) / 768*1024 (tablet portrait) / 1280*720 (desktop)
  8. updates & news
  9. event calender & reminders
  10. user feedback forms
  11. swipe gestures
  12. sharing of content application
  13. single page applications [single page layouts implement those. (follow examples of paytm / asana / gmail)]
  14. bringing html directly server ui being container of view.
  15. using application transforms mobstac this. / xslts / transforms
  16. single page applications [single page layouts implement those. (follow examples of paytm / asana / gmail)]
  17. bringing html directly server ui being container of view.
  18. using application transforms mobstac this. / xslts / transforms.
  19. sharing ios , android
  20. back button navigation support
  21. documentation of application/admin panel needed
  22. export options of reports

(1)back button navigation support in android important should planned day 1 of development cycle. in ios button must provided desired navigation. remember android , ios have different navigation patterns.

 document.addeventlistener("backbutton", onbackkeydown, false); //onbackkeydown 

(2)avoid using form elements inside pages because there no use, never submit.

(3)for phonegap splash screen please use navigator splash hide() rather autohide=true , timeout.

<preference name="auto-hide-splash-screen" value="false" /> 

(4)android splash landscape supported pls put landscape splash images system (for ios looking it)

(5)when using cloud build phonegap , native build remember delete repo’s images since if using cloud build images uploaded zip package increasing size of application.

(6)for android , ios different js plugin maintain seperate files remember 1 repository kept android , ios in svn there no exception.

   <!--ios / android cordova     <script src="js/ios/cordova-2.5.0.js"></script>-->      <script src="js/android/cordova-2.5.0.js"></script>      <!--android cordova-->      <script src="js/android/flurry.js"></script>      <script src="js/android/pushnotification.js"></script>      <script src="js/android/admobplugin.js"></script>      <script src="js/android/share.js"></script>      <script src="js/android/executeplugin.js"></script>     <!--ios / android cordova       <script src="js/ios/admobplugin_ios.js"></script>     <script src="js/ios/flurryplugin_ios.js"></script>     <script src="js/ios/pushnotification_ios.js"></script>     <script src="js/ios/ios_execute.js"></script>     <script src="js/ios/share.js"></script>--> 

(7)do not use javascript confirm box , alerts use native boxes. good

navigator.notification.confirm("do want exit km?", function (idx) { if (idx == 2) { navigator.app.exitapp(); } }, 'exit application', 'no,yes');  function native_alert(msg) {     if (navigator.notification != undefined) {         navigator.notification.alert(msg);     }     else         alert(msg); } 

(8)when using list select use native option list , check list because better. not html select items

 <select id="select2" name="select2" data-role="none" >                     <option>town</option>                 </select> 

(9)inorder remove white overlays android 4.0.3 element use below

input{    -webkit-user-modify: read-write-plaintext-only;} 

(10)never preferred installation sd card not supported in ~android 2.2

(11)screen width can not change mobile app vertical scroll can come exceptions. screen moves outside areas should taken care @ time of writing markup , css.

(12)native loading panels android , ios preferred due blocking nature. http://abstractlayers.com/2013/03/09/phonegap-adding-progress-dialogspinner/

(13)dynamic , eval script registering , de-registering

(14)phonegap childbrowser can not trusted loading every content can use, open windows in new browser outside phonegap instead can use inappbrowser.

function openlinkinnewwindow(weblink, sharecontrol, subjectval) {     try {          if (global_devicetype == undefined || global_devicetype == "")             global_devicetype = (navigator.useragent.match(/ipod/i)) == "ipod" ? "ios" : (navigator.useragent.match(/ipad/i)) == "ipad" ? "ios" : (navigator.useragent.match(/iphone/i)) == "iphone" ? "ios" : (navigator.useragent.match(/android/i)) == "android" ? "android" : (navigator.useragent.match(/blackberry/i)) == "blackberry" ? "blackberry" : "other";         switch (sharecontrol) {             case 'facebook':                 weblink = 'http://www.facebook.com/sharer.php?u=' + encodeuri(weblink) + '&t=' + encodeuri(subjectval);                 break;             case 'twitter':                 weblink = 'http://twitter.com/share?text=' + encodeuri(subjectval) +'&url=' + encodeuri(weblink);                 break;             default:                 break;         }         consolelog('sharer weblink : ' + weblink);         //incase of videos android , ios have different problems while loading videos since childbrowser can open vid on ios         if (global_devicetype == "android")             navigator.app.loadurl(weblink, { openexternal: true });         else if (global_devicetype == "ios")             window.open(weblink, '_system', 'location=yes'); //andriod changes         else             window.open(weblink); //andriod changes     }     catch (ex) { consolelog('error in openlinkinnewwindow : ' + ex); window.open(weblink); }  } 

(15)application offline check html5 features

(16)while creating ios native build please copy references folder of build otherwise build have issues while porting system.

(17)phonegap cloud build must locked particular version of phonegap otherwise create build latest rc versions may have bugs. config.xml file should read thoroughly before using feature of phonegap build.

(18)for creating next android , ios build version must updated version 1.0 + 0.1 or suitable.

(19)keep application namespace, bundle id correct @ first moment because can never change once app deployed on app / play store. [*dont put com.demo.demoapp]

(20)keep apple provisioning , distribution profiles in backup developer profile mac using since application code base & certificates, public keys , p12 file dependent on macs.

(21)disable unwanted permission android , ios avoid unwanted components loaded , shown on app stores permissions tab , while installation user may confused seeing unwanted permissions being required application.

<plugins>     <plugin name="app" value="org.apache.cordova.app"/>     <plugin name="geolocation" value="org.apache.cordova.geobroker"/>     <plugin name="device" value="org.apache.cordova.device"/>     <!-- commented <plugin name="accelerometer" value="org.apache.cordova.accellistener"/>     <plugin name="compass" value="org.apache.cordova.compasslistener"/>     <plugin name="media" value="org.apache.cordova.audiohandler"/>     <plugin name="camera" value="org.apache.cordova.cameralauncher"/>     <plugin name="contacts" value="org.apache.cordova.contactmanager"/>-->     <plugin name="file" value="org.apache.cordova.fileutils"/>     <plugin name="networkstatus" value="org.apache.cordova.networkmanager"/>     <plugin name="notification" value="org.apache.cordova.notification"/>     <plugin name="storage" value="org.apache.cordova.storage"/>     <plugin name="filetransfer" value="org.apache.cordova.filetransfer"/>     <plugin name="capture" value="org.apache.cordova.capture"/>     <!-- commented <plugin name="battery" value="org.apache.cordova.batterylistener"/>-->     <plugin name="splashscreen" value="org.apache.cordova.splashscreen"/>     <!--<plugin name="echo" value="org.apache.cordova.echo" />-->     <plugin name="globalization" value="org.apache.cordova.globalization"/>     <plugin name="share" value="com.schaul.plugins.share.share"/>   </plugins> 

(22)no hover css classes applied mobile application cases. hover not used in mobile , otherwise creates issue.

(23)using phonegap native application development

14.. forget solution if want publish app apple store. promptly rejected.

revisited: bringing raw data server , using jqm application generate front end gui

16.. performance improvements depending on platform, on android 2.x. phonegap , jqm know badly underperforme on older android platforms.

17.. add more complex set of touch gestures hammer.js (compatible jquery mobile)

18.. if possible make app more native looking using phonegap plugin native nav/tab bar on ios , android platform (will make app more acceptable during publishing process).


Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

c++ - qgraphicsview horizontal scrolling always has a vertical delta -