Java Language Mobile Application Development
Mobile Application Development
Mobile Applications
Mobile Apps are apps or services that can be pushed to a mobile device or downloaded and installed locally
Applications Classification
Browser-based: apps/services developed in a markup language Native: compiled applications (device has a runtime environment). Interactive apps such as downloadable games. Hybrid: the best of both worlds (a browser is needed for discovery)
Mobile Platforms
A wide variety of devices supporting different platforms • BlackBerry • Palm OS • Windows Mobile/Phone • Symbian • iPhone Runtime environments & apps • Browser-based apps (WAP) • Flash-lite • Java ME • Qualcomm’s BREW • Google’s Android • IOS
Mobile Generations
Device platform generations • Cellular Phone • Personal Digital Assistance • Business Phone • Smart Phone
Mobile specifications • 1st Generation • 2nd Generation influence of Web 2.0 • 3rd Generation influence of Web 3.0
Web Content for Mobile Devices
Markup languages to deliver Web content to device browsers: HDML • Phone.com (now Openwave) Compact HTML (cHTML) • NTT DoCoMo’si-mode network WAP Forum’s WML • A standard for content delivered to mobile devices • Now: openmobilealliance.org HTML, CSS, JS HTML5, CSS3, JS, JQuery
Language for Mobile Devices
Programming languages to dynamic Applications: • C/C++ • Java (J2ME, RIM, Android, etc SDKs) • MFC/WinCE • C# • Objective C • Flash/Air
Note: C/C++ becomes native language for most of the mobiles for serious developers.
WAP Network Structure
The WAP Gateway plays an important role
WAP Programming Model
Similar to the Web programming model with extensions for the wireless environment
Programming Language Model
Java and Android A Typical development
Android 1. Inside Android 2. Android Development 3. Android UI
Inside Android
• Open source OS • Uses Linux kernel • Optimized for limited-resource environment • Apps typically written in Java • Apps run on the Dalvik Virtual Machine • Not a JVM, but works similarly from developer’s point of view • Usually one app per DVM • Each DVM runs under Linux as a separate user • App permissions set at install time • Possible to use C or C++ compiled to machine code, but still runs on VM. It’s not clear to me how this works.
Android Development
• Well-defined framework for app development • Apps are typically coded using Java syntax, but other parts of the Java platform are missing • Some standard Java SE or ME APIs and class libraries are not included
Android Development
• Standard development environment is Eclipse + Android Development Tools/Plugin+ Android SDK • Development requires either an Android OS device or an emulator • Emulator has limitations: • Performance is poor • Camera, etc., simulated using your computer’s hardware • No real phone calls or texts • GPS data, battery readings, etc. must be simulated • Real device is affected by specific hardware and software configuration Android vs. Other Mobile OS
Choosing kind of smart phone to get according to platform to use, to try mobile development
Android Programming: • Large Java backend code readily available to go Android Platform: • Familiar programming environment • Currently the market leader • Broad market, unlike more focused iOS, Blackberry,Symbian, etc • Development tools are open source and are free even for commercial use, unlike Visual Studio
Android App vs. Mobile- Optimized RIA
Android Flash plugins available; Silverlight coming soon Could develop in JavaScript and/or HTML5
WWW App • Easier for users to run; no need to install • For a paid app, avoid the 30% App Store commission • Easier to write cross-platform apps
Android Apps • Fewer security hurdles • Use APIs for access to built in GPS, camera, etc. • Probably better performance
Android Apps: Marketing • Usually market apps through Android App Market • There are other markets, also • App store will dominate the market due to access through built in app • Can set up for download directly on a website • User must agree to “install apps from unknown sources”
Android Apps: Marketing
Revenue from app sales prices and/or advertising • Conventional wisdom is that IOS users will pay for apps, but Android users won’t • 57% of Android App Store apps are free, vs. 28% for Apple App Store • Android Market takes 30% commission Any purchase model other than one-time purchase must be homegrown, using Paypal or similar service PPC ads • My guess is that response to these is extremely low • Probably need to be very aggressive with banner ads Sell to companies?
APIs for Android built-ins
Android OS ships with many built in apps • Web Browser • Google Maps • Navigation • Camera apps Built in access for these as well as TTS and Voice Recognition, etc.
About the Author
Subramanyam Somayajulu is an Mobile team project manager of - Android Application Software Development Company expert Etisbew Technology Group. Etisbew has an impressive track record and expertise in the latest Information Technology, Website Redesign, Custom Application Development, ColdFusion, iphone, Blackberry, Android, Dotnet, Php and Java.
Tell others about
this page:
Comments? Questions? Email Here