12.07.2015 Views

Volume 1 - Issue 8 - ICTACT.IN

Volume 1 - Issue 8 - ICTACT.IN

Volume 1 - Issue 8 - ICTACT.IN

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Tech TalkMobilityUmadevi Balakrishnan, Lead-Technical Trainer, CSS CorpMobile application development orMobility is the process by which applicationsoftware is developed for low - powerhandheld devices , such as personal digitalassistants , enterprise digital assistantsor mobile phones . These applicationscan be pre - installed on phones duringmanufacturing , downloaded by customersfrom various mobile software distributionplatforms, or delivered as webapplications using server-side or clientsideprocessing (e.g. JavaScript) to providean “application-like” experience withina Web browser.Developing application software formobile devices requires considering theconstraints of these devices. Mobile devicesrun on battery and have less powerfulprocessors than personal computers.Developers also have to consider alengthy array of screen sizes, hardwarespecifications and configurations becauseof intense competition in mobile softwareand changes within each of the platforms.Mobile application development requiresuse of specialized integrated developmentenvironments. Mobile applicationsare first tested within the development environmentusing emulators and later subjectedto field testing. Emulators providean inexpensive way to test applications onmobile phones to which developers maynot have physical access.Native AppsThe most basic way to build apps formobile devices is to write them for a specifickind of device. For instance, iPhoneapps are written in Objective-C, Androidapps in Java, etc.There are a number of advantages ofwriting apps in this way:• They offer the fastest, most reliableand most responsive experience to users• Can tap into the wider functionalityof the device, such as the camera, compass,accelerometer, notifications, etc.The downside is :• Writing apps for a specific kind ofdevice is that it will not work with otherdevices.• If an app is written in Objective-C foriOS, it’s not going to run on Android withoutbeing completely re-written in Java.This makes native apps the preferencefor particular categories of app development.More demanding apps suchas games tend to be written natively totake full advantage of the device’s capabilitiesand wider functionality. Large organizationsoften choose native apps becausethey have the money to fund thelonger development cycle and want a reallyslick final product. Native apps are basicallythe ideal. Some examples: AngryBirds, Shazam, InstagramMobile-Optimized Web AppsAt the other end of the scale are mobile-optimizedweb apps. These have oftenbeen the choice of companies who arenot ready to invest in a more robust mobilepresence. They’re usually just a condensedversion of the usual website, resizedto fit a Smart phone screen.The advantages of a mobile-optimizedwebsite or web app are, with a few exceptions,• They will run on any mobile devicewith a web browser and internet connection.• They don’t require any mobile developmentexpertise, so a usual web designercan probably throw one together.The downsides are :• They’re extremely limited in whatthey can do effectively.• They will display text and images.• Videos will work on most devices,with the big exception of Flash videos oniPhone/iPad.• The content will only be availablewhen they have an internet connection –there are no options for offline viewing.Some examples : Cisco website, MercedesBenz websiteHybrid AppsSomewhere between native and web appsare hybrid apps. They are quicker to build(and thus cheaper) than native apps, but astep up from what you can expect out ofbrowser-based web apps. Hybrid apps areweb apps built into a native mobile framework.This essentially means that theytake advantage of the cross-compatibilityof web. Technologies such as-HTML5,CSS and Java script, but sidestep the dis-June 2013 I 22

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!