NOVA ITE 100 - Software Development for Mobile Devices

Unformatted text preview:

Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31Slide 32Slide 33Slide 34Slide 35Slide 36Slide 37Slide 38Developing Software for Mobile Devices An Overview by Mr. Yermo LamersFeb 17, 2012 NVCC-WoodbridgeVSYermo LamersCo-Founder: Mobile Dev Partners, LLCTech Organizer: [email protected]@yermolamersfacebook.com/yermolinkedin.com/in/yermolamersMeetup.com/modevdcThe Good 'ol Days of PC Software DevelopmentDevelopers could build anything.The user was in control.Direct to User Relationship.Few if any rules in the way.PC's are pre-“jailbroken”.A single common platform to target.PC Software Development ToolsWide choice of: Development tools/IDE's Languages Libraries Interface design styles. Variety of install managers.Developers were free to choose.PC Software Development Process Choose Tools/Languages/Libs Code – Compile – Test – Debug Package (or not)PC Software Distribution/Support Process Upload to 1000's of sites Publish to stores (CD's) Distribute from Website Click to run installer.  Software Updates in Software Developer controls conversation.PC Software Monetization Direct to Developer Payment Publishing Advertising LicensingPC Software Model Advantages Developer is in control. Single platform to target. Relationship direct to user. Can build anything. High $$/seat possible.PC Software Model Disadvantages No single step install method. No single marketing channel. Need to build a website. Need to handle Ecommerce. Need to market everywhere.Developing for the PC:YOU COULD DO WHATEVER YOU WANTEDBut the business was left up to you.Enter Smart Mobile DevicesNot a Phone! A Powerful Hand-Held PC:Applications/Filesystem/DatabasesNear Full-time Internet ConnectivityGPS, Accelerometer, Camera, etc.(Real OS's: e.g. Android is Linux)The New Days of Mobile Software DevelopmentSimilar to PC development but :Access to the device is limited.(Apps are 'jailed')The carriers/platforms have control.Markets are gate-keepers.There are many things you may not do.“jailbreaking” may become illegal.Mobile Software Development ToolsVaries greatly by platform:Java/Eclipse for AndroidObjective-C/Xcode for iPhoneC# VB/Visual Studio for WinPhoneC++ Java/Blackberry SDKMobile Software Development Process Choose Platform Choose DevTools/Lang/Libs for platform (if there are any options) Code (follow rules!) – Compile Test on Simulator or Device  Deal with form factors.Mobile Software Distribution/Support Process Package according to platform Submit to App Store/Market. Wait for Approval. Modify if rejected and resubmit. Very hard to distribute w/o market.Mobile Software Monetization – AppStores/Markets App Adoption through Market/Store App Sales. In App Advertising. Subscriptions. Licensing/Services Markets takes 30% cut of sales! Per-app-install revenue very small.Mobile Software Advantages Easy distribution channel. No need for website, ecommerce, or upgrade management.  Central marketing hub. Greatly lowers barrier of entry. GPS, Camera, etc are game changers.Mobile Software Disadvantages Limits to what one can build. Applications are sandboxed. Must follow (draconian) rules. Area of active litigation. Too many platforms/versions. Markets get 30% cut.Developing for Mobile Devices:There's much you're not allowed to do and supporting multiple platforms is hardBut the business side is taken care ofand you can build game changing apps.So you want to build an appWhich platform(s) do you target? The market is fragmented. Build it from scratch for each platform. Different tools, equipment, skills. Different processes, rules, form factors. Expensive. Difficult for small shops.We chose to build a Native Android AppBad Move: 9 months to build in Java.First question everyone asked: Do you have an iPhone version?Not enough time to learn/build a version in Objective-C.Then it was: Kindle Fire? Blackberry? WinPhone7? Even big shops can't build for all. Android, iPhone, Blackberry, WinPhone Kindle Fire, iPad, Playbook, and more. A 2 man shop? No way! But there was something we missed ...But there are so many devices!There is only one technology stack common to almost all devices. i.e. Next Generation Web Technologies(and there's little the platform vendors can do about it.)Javascript?!? You've got to be kidding me!Now a very serious development language.Many consider it the “must-know” language.Microsoft making JS/HTML5 first class citizen.Not to be believed projects in Javascript: PC Emulator/Game of DOOM in Javascript  Google Apps Anyone? Calc, Doc, Maps, etc Other languages implemented in JavascriptHTML5/CSS3 makes app-like UI possible.HTML5 <canvas> flash-like graphics to HTML.Many very cool libraries available. e.g. Box2DJsWeb apps that look and behave like desktop apps.But HTML5 Apps have a serious limitationWork inside a web browser.Sandboxed. No accessing the phone.No access to local files.Typically served from a web server.Cannot be installed on a phone. Big Problem!HTML5 apps are web-apps not phone-apps.Bridging the Gap between Web and PhoneThe browser is just a control. What if an app could load the brower control?Feed it pages?Provide hooks to allow pages to access the phone?Camera, Databases, Contacts, Files, GPS, etcCould a web-app then be packaged like a real app?Enter PhoneGapBridges the Gap between a web-app and phone.Wraps browser control in an app. HTML5/CSS/Javascript stored on phone.Access to local APIsPackage as an installable local app.Same code runs on a large range of devices.http://phonegap.comPhoneGap Provides the base LayerAPI's for phone, camera, gps, accelerometer, audio, video, contacts, file system, etc.No assumptions about look and feel. In “native phonegap” you just build web pages.Making web pages look/act “native” is work.(iTunes recently started allowing PhoneGap apps.)http://phonegap.comFor look & feel: UI ToolkitsWeb javascript libraries work in phonegap apps.Mobile UI frameworks make building apps easier.Many others ...http://phonegap.comhttp://jquerymobile.com http://sencha.comhttp://jqtouch.comPhoneGap AdvantagesLeverage existing web dev skill sets.Skills


View Full Document

NOVA ITE 100 - Software Development for Mobile Devices

Download Software Development for Mobile Devices
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Software Development for Mobile Devices and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Software Development for Mobile Devices 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?