Checklist of creating phonegap project

by Abhishek Sharma, November 19, 2013

QUESTIONS FOR THE CLIENT

  1. What we will be Doing Core HTML5 development, Single page Application?
  2. Which Version We Support iOS 5+ and Android 2.3+ and WP8+?
  3. Which Hardware We Support iPad 1 and Above etc?
  4. UI transitions Identified by Client or Developer?
  5. Splash screen / Branding Screen – *Loading screen Required or Not?
  6. Application offline support / everything is ever picked from server?
  7. Application HTTP caching required?
  8. Application updated without app store sync required?
  9. Application time critical support since push notification and Local Notification?
  10. Back Button Navigation to be coded for android or NOT?
  11. Unicode Support , Multi Language Support Required or Not?
  12. Analytics Flurry Or Google Analytics required or Not?
  13. AdMob With InMobi etc Mediation required or Not?
  14. We will be supporting resolutions of 320*480 and Above. For that we can have a UI Designs for 320*480 (mobile Portrait) / 768*1024 (tablet Portrait) / 1280*720 (Desktop Like)
  15. Responsive layout, UI Transformation Break Up endpoints pixels?
  16. Horizontal Swipe gesture required?
  17. Sharing enabled of all the content from the application? Web Sharing or Native Sharing?
  18. XSL/XSLT: Bringing html directly from server with UI just being a container of view?
  19. Technical/architectural documentation and functional Documentation of the application required or NOT?
  20. Code comments / Code Obfuscation/ Minify required or Not?
  21. Do We need to load High resolution or Bandwidth Heavy content based on connection quality?
  22. If any data sync is necessary or NOT?
  23. Batching of Syncing the data Required in case of Connection time out, data Load Errors?
  24. If File Sync: File Version of files required Or Not Like abc_v1.PDF to have differential download in case of Updates?
  25. Local Database is required or Not for storing data and Limit of LocalStorage + Websql DB is ~5MB?
  26. Admin panel to manage some application attributes & data is needed or NOT?
  27. Audio / tactile vibration feedback support required or NOT?
  28. SSL Secure API provided for data access or We have to write it ourselves?
  29. Any Payment gateway integration in mobile?
  30. G+,FB, twitter sign in via web sign in Or Application sign in? We will Be importing corresponding SDKs for sign In?
  31. Application Static resources Such as ~20+ different size icons and splash to be done by development team or the client?
  32. Maps integration required or NOT? Near By coordinate API?
  33. Creation and Maintaining of App Store Admin Panels & certificates (itunes connect, ios provisining portal, play console, windows store) Developer Team or Client?
  34. Security , Authentication , Sliding expiry Tokens for application API access?
  35. Button CSS change when Tapped is required or NOT?
  36. Lists are Infinite Loading List Or Load More is a Button Below?
  37. Click Area Issues with HTML5 Because of Dense UI?

PRE PLANING THE DEVELOPMENT TASKS

  1. Back button navigation support in android is very important should be planned from the day 1 of development cycle. In IOS back button must be provided for desired navigation. Remember android and iOS have different navigation patterns.
  2. Avoid using Form elements inside pages because there is just no use, you will never submit.
  3. for phonegap splash screen please use navigator splash hide() rather than auto-hide=true and timeout.
  4. android splash landscape is supported so pls put landscape splash images as well into the system (for iOS we are looking into it)
  5. when using cloud build for phonegap and then native build remember to delete the repo’s images since if using cloud build images will be uploaded as a zip package increasing the size of application.
  6. for android and ios different JS for plugin maintain seperate files remember only one repository will be kept for android and iOS in SVN there will be no exception.
  7. Do not use Javascript confirm box and alerts use Native boxes. They look good

     
  8. When using list select use native option list and check list because they look better. Not the html select items

     
  9. inorder to remove white overlays for android 4.0.3 element use below

     
  10. Never do preferred installation SD card not supported in ~android 2.2
  11. screen width can not change for a mobile app only vertical scroll can come with some exceptions. Screen sometimes moves outside areas should be taken care Only at the time of writing markup and css.
  12. native loading panels for Android and iOS are preferred Due to Their BLOCKING nature. http://abstractlayers.com/2013/03/09/phonegap-adding-progress-dialogspinner/
  13. dynamic and eval script registering and De-registering
  14. Phonegap childbrowser can not be trusted for loading every content we can use, open windows in New Browser outside phonegap instead you can use InAppbrowser.

     
  15. application offline check with html5 features
  16. while creating iOS Native build please copy the references into the folder of the build otherwise build will have issues while porting to another system.
  17. phonegap cloud build must be Locked to particular version of phonegap otherwise it will create build for latest RC versions which may have bugs. config.xml file should be read thoroughly before using the feature of phonegap build.
  18. for creating next android and iOS build the version must be updated to version 1.0 + 0.1 or what is suitable.
  19. keep the application namespace, bundle id correct at the first moment because you Can never change that once app is deployed on app / play store. [*dont put com.demo.demoApp]
  20. Keep the apple provisioning and distribution profiles in backup as well as developer profile for any mac you are using since the application code base & certificates, public keys and p12 file is very dependent on Macs.
  21. disable unwanted permission for android and iOS to avoid unwanted components to be loaded and also its shown on app stores permissions tab and while installation user may get confused by seeing unwanted permissions being required by the application.

     
  22. No hover css classes will be applied for the mobile application for any cases. hover is not used in mobile and otherwise it creates Issue.
  23. Forget about this solution if you want to publish your app to Apple store. It will be promptly rejected. Revisited: Bringing raw data from server and using jQM application to generate front end GUI / Performance improvements depending on a platform, mostly on Android 2.X.Phonegap and jQM are know to badly underperforme on older Android platforms.
  24. Add much more complex set of touch gestures with hammer.js (compatible with jQuery Mobile)
  25. If possible make app more native looking by using Phonegap plugin for native nav/tab bar on iOS and Android platform (will help to make app more acceptable during the publishing process).
  26. Known issue of Tap Highlight
  27. Debug specification for various devices you can deploy wienry remote debugger on node.js settings. Console.log logging, log shipping, Error Handling must be put at each javascript function.
  28. CORS cross domain request must be converted to JSONP requests: CORS is not supported by mobile browsers and sometimes we need cors for running the application for testing on mobile browsers. There is a workaround avaiable. GET.PHP script can be put at the localhost to pick JSON data. This will be reroute cross domain request to localhost request and CORS error will not come.
  29. backup android keystore and protect it like your firstborn child backup all ios certificates and protect them.
  30. disable web security Batch file for chrome

     
  31. Application will not run on tablets

     
  32. disable all unneeded permissions
  33. Android 2.2 and above and IOS 5.1 above
  34. production namespace for android and iOS must be supplied correctly
  35. Application name iOS dot dot showing issue
  36. <preference name="disallowOverscroll" value="true" />
  37. if correct json is not coming from server
  38. How to Apply Touch event instead of click
  39. ipod == ipad in iOS can we can only find out by screen size.
  40. How to Do dynamic click to touch event conversion?[a] touchsliderTopNewsMob = '<li><a data-click="javascript:Review_ShowArticle(' + page_id + ' >' [b]ApplyTouch('classt');
    [c]function ApplyTouch(cssclass) { $.each($('.'+cssclass), function (idx, elm) { var tapping = false; $(elm).on('touchstart', function () { tapping = true; }); $(elm).on('touchmove', function () { tapping = false; }); $(elm).on('touchend', function () { tapping && eval($(this).attr('data-click')); }); $(elm).removeClass(cssclass); });
  41. Smooth Scrolling in iOS
    overflow-scrolling: touch
  42. HOW to hide the keyboard in iOS =>
    phonegap preference = autohide keyboard = true / and take textbox out of focus Keyboard will AutoHide.

 

 

Comments

Join the Discussion

Leave a Reply

Your email address will not be published. Required fields are marked *


two + 4 =

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">