CPET 565/499 Mobile Computing Systems
Developing Cloud-based Mobile Apps
Nov. 24, 2014
Topics
· HTML, CSS, JavaScript
· Serverside JavaScript,
· Types of Mobile Apps
o Mobile web apps: Use web browsers
§ Cross-platform
§ Standards compliant
§ Lower cost, rapid development
§ Low friction deployment
o Purely native apps
§ Objective-C for iPhone
§ Java for Android
o Hybrid native apps
· Using Web Content
§ Intent.ACTION_VIEW(), uri.parse()
o Customizing a Web Browser
§ WebView
§ Native Internet-based app:
· HTTP Get to retrieve XML or JSON data, Google REST API (Representational State Transfer)
· HTTP Post
References
·
The Mobile Web Is Dead, It’s All About Apps, by
Jay Yarow, April 1, 2014, http://www.businessinsider.com/the-mobile-web-is-dead-its-all-about-apps-2014-4
· Mobile Apps are Killing the Free Web, Handing a Censored Duopoly to Google and Apple, by Jim Edwards, April 7, 2014, http://www.businessinsider.com/mobile-web-vs-app-usage-statistics-2014-4
· Apps and Mobile Web: The State of the Debate, by Joe Laszio, May 7, 2014, http://www.clickz.com/clickz/column/2343327/apps-and-mobile-web-the-state-of-the-debate
·
Mobile Website vs. Mobile App: What’s the
Difference, by Sara Angeles, July 15, 2014, http://www.businessnewsdaily.com/6783-mobile-website-vs-mobile-app.html
· W3C Mobile Web Initiative, http://www.w3.org/Mobile/
· Standards for Web Applications on Mobile: Current State and Roadmap, http://www.w3.org/Mobile/mobile-web-app-state/
· The Android Developer’s Cookbook, 2nd Ed, by Ronan Schwarz, Phil Duston, James Steels, and Nelson To, published by Addison Wesley, pp. 263-274
·
Android Wireless Application Development Volume
II: Advanced Topics, 3rd Edition, by Lauren Darcey
and Shane Conder, published by Addison Wesley, pp.
183-196
· The WebKit Open source project, https://www.webkit.org/
o Android
o iPhone
· jQuery Mobile, http://jquerymobile.com/
o Demos, http://jquerymobile.com/demos/
· Apache Cordova for building Mobile Apps using HTML and JavaScript, http://cordova.apache.org/
· Best Practice for Web Apps, https://developer.android.com/guide/webapps/best-practices.html
· Server-Side JavaScript, http://en.wikipedia.org/wiki/Comparison_of_server-side_JavaScript_solutions
· Beginning Mobile Application Development in the Cloud, Richard Rodger, Wrox.com, http://www.wrox.com/WileyCDA/WroxTitle/Beginning-Mobile-Application-Development-in-the-Cloud.productCd-1118034694,descCd-DOWNLOAD.html
Web Apps, https://developer.android.com/guide/webapps/index.html
· Web browser-based
· Android client-side application (WebView framework)
package android. WebKit, https://developer.android.com/reference/android/webkit/package-summary.html
· javascriptInterface, https://developer.android.com/reference/android/webkit/JavascriptInterface.html
· Interfaces
o DownloadListener
o GeolocationPermissions.Callback
o PluginStub
o ValueCallback<T>
o WebView.PictureListener, https://developer.android.com/reference/android/webkit/WebView.PictureListener.html
o WebChromeClient.CustomViewCallback
o WebResourceRequest, https://developer.android.com/reference/android/webkit/WebResourceRequest.html
o WebStorage.QuotaUpdater, https://developer.android.com/reference/android/webkit/ValueCallback.html
o WebView.FindListener
o WEbView.PictureListener
· Classes
o ClientCertRequest
o ConsoleMessage
o CookieManager
o CookueSyncManager
o DateSorter
o GeolocationPermissions
o HttpAuthHandler
o JsPromptResult
o JsResult
o MimeTypeMap
o PermissionRequest
o SslErrorHandler
o URLUtil
o WEbbackForwardList
o WebChromeClient, https://developer.android.com/reference/android/webkit/WebChromeClient.html
o WebChromeClient.FileChooserParams
o WebHistoryItem
o WebIconDatabase
o WebResourceResponse
o WebSettings
o WebStorage
o WebStorage.Origin
o WebView
o WebView.HitTestResult
o WebView.WEbViewTransport
o WebViewClient
o WebViewDatabase
o WebViewFragment
Best Practice for Web Apps, https://developer.android.com/guide/webapps/best-practices.html
· Redirect mobile devices to a dedicated mobile version of your web site
· Use a valid markup DOCTYPE that’s appropriate for mobile devices
· Use viewport meta data to properly resize your web page
· Avoid multiple file request
· Use a vertical linear layout