Deploying: Difference between revisions

From NSB App Studio
Jump to navigation Jump to search
Line 108: Line 108:
|-  
|-  
| Sharing data between apps
| Sharing data between apps
| Apps from the same server can share SQLite databases (subject to 5 meg limit)
| Apps from the same server can share SQLite databases (subject to browser space limit)
| Apps are sandboxed and cannot interfere with each other's data.
| Apps are sandboxed and cannot interfere with each other's data.
|-  
|-  

Revision as of 22:26, 12 December 2013

Differences between AppStudio and AppStudioEDU

  • In these sessions, we have been using the full version of AppStudio.
  • In the classroom, the students will be using AppStudioEDU.
  • AppStudioEDU has the following restrictions:
  1. Cannot deploy to other than the Ministry's servers.
  2. Cannot compile apps with PhoneGap
  3. Cannot create Chrome Desktop Apps.
  4. Commercial apps cannot be produced.
  • As part of this training, everyone here gets the full version.
  • Students and and teachers will be able to buy the full version for half price.

Servers

  • In these sessions, we have been using the nsbasic.com server.
  • The students will be using the Ministry's servers.
  • These servers need to be able to process http requests to run apps.
  • They also need to support ftp so apps can be uploaded to them.
  • Files that end in .appcache need to be served with mime type text/manifest.
  • To test this, use http://web-sniffer.net/.
  • Servers can be Apache or Microsoft IIS.

PHP

  • PHP is a server side programming language
  • When a web app talks to a server, the program on the server is most often PHP.
  • There is increasing interest in JavaScript as a replacement.
  • Not all servers have PHP installed or enabled.

Web Apps vs Hybrid Apps

http://www.youtube.com/watch?v=fchbLzwtexk

  • So far, we have been running as our apps as Web Apps.
  • But it is also possible to turn them into native apps.
  • Native apps have a built in web browser control.
  • If create a native app with one of those browsers, it can run an AppStudio in that browser.
  • It's a combination of native code + HTML = Hybrid App.
Web App PhoneGap App
Size of created apps (minimum) About 100K About 250K
Maximum size of app + data 25 megs (iOS) Limited by device itself; 40 megs for PhoneGap Build.
Can apps run offline? yes yes
Where are apps stored on device? In browser's sandbox. In regular file store.
Performance Excellent Slower for CPU bound operations.
Eligible for Store? No. iOS: Yes. Can go into App Store.

Android. Yes. Can go into Marketplace.

Distribute without going through store? Yes. iOS: No.

Android. Yes.

Percent you have to give up 0% iOS: 30%

Android. 30% (MarketPlace)

Security of code OK: obfuscated OK: obfuscated
Additional Plugins Many - see the complete list on PhoneGap's site.
How to deploy To the test server: hit F6.

To your own server: Set up username and password, then hit F6. Then, on the device, enter the app's URL into the browser, then save to Home screen.

iOS: join Apple's developer program, get certificates (Mac required), enter certificates into PhoneGap Build, use Apple's upload tool to submit to App Store, wait for approval or rejection. Customer can then get app through App Store.

Android: Download result file from PhoneGap Build and distribute directly or through Google marketplace.

How to update a deployed app Deploy the app to the server. Next time the user starts the app, it will be automatically updated. iOS: Go through the whole submission process again. Once complete, app will show up as an update in the App Store.

Android: distribute directly or through Google marketplace.

How to delete a deployed app User can delete manually. If app is deleted from server, it will be automatically deleted from user's device. User can delete manually.
How to delete app's data User can delete manually in Settings. If app is deleted from server, it will be automatically deleted from user's device. Will be deleted with app.
Sharing data between apps Apps from the same server can share SQLite databases (subject to browser space limit) Apps are sandboxed and cannot interfere with each other's data.
Other software needed Nothing. iOS: iOS Application Installer

Android: Nothing

Development OS Windows XP, Vista, 7 or 8 iOS: OS X

Android: Windows, OS X or Linux

PhoneGap

Chrome Packaged Apps