making the transition from desktop application development to mobile application development - a...

Upload: kavyanidhi

Post on 14-Apr-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/30/2019 Making the Transition from Desktop Application Development to Mobile Application Development - A Whitepaper b

    1/20

    A RapidValue Solutions Whitepaper

    MAKING THE TRANSITION FROMDesktop/Web Application Development

    toMobile Application Development

  • 7/30/2019 Making the Transition from Desktop Application Development to Mobile Application Development - A Whitepaper b

    2/20

    Contents

    Executive Summary

    What Skills Do Desktop/Web Developers Have?

    What Skills Do Mobile Developers Need?

    Mobile Development Options

    The Mobile Mindset-Factors to Consider

    Migration Paths-Desktop/Web Application Development to Mobile Application Development

    From Desktop/Web to Mobile: An Eight-Week Plan

    Syllabus

    Training Resources

    Conclusion

    About RapidValue

    3

    4

    6

    7

    8

    11

    11

    12

    16

    19

    20

    RapidValueEnabling Mobility A RapidValue Solutions Whitepaper April - 2013 02

  • 7/30/2019 Making the Transition from Desktop Application Development to Mobile Application Development - A Whitepaper b

    3/20RapidValueEnabling Mobility

    Executive SummaryPeople rely on their smart phones, tablet devices and laptops for all kinds of activities. Consumers use theirmobile devices for shopping and entertainment, while professionals rely on them as extension of theiroffices, to collaborate, engage with customers and get work done. As the power and capabilities of mobiledevices continue to grow, taking advantage of powerful new mobile applications and the unique capabilities

    of mobile devices become even more valuable.

    Many desktop/web developers (and their organizations) are eager to participate in the mobile revolution.RapidValue has been approached many times by desktop/web developers and CIOs, asking if they cantransfer their existing desktop skills (or those of their staff) to mobile application development. Weve creat-ed this paper to help them get started.

    This paper provides a guide for enterprise desktop/web developers who are interested in becoming mobiledevelopers. The paper examines the main technologies that desktop/web developers use today (Java, .NET

    and HTML) and various mobile development technologies (mobile web applications, native apps andcross-platform development frameworks. The paper also addresses the migration path depending on adevelopers current skill set and the mobile platform(s) you want your applications to run on.

    In many cases, desktop/web developers already have a strong foundation to become successful mobiledevelopers. Well look at the additional skills and knowledge they need to acquire, the differences betweendeveloping for desktop/web and mobile environments, as well as the requirements for specific platforms.Well also examine resources that are available to help your desktop/web developers make a smooth andcost-effective transition.

    Definition: Enterprise desktop/web developers are those who build applications to be accessed via PC/Desktop. The application is either accessed through webbrowser or is installed on the system.

    03 A RapidValue Solutions Whitepaper April - 2013

  • 7/30/2019 Making the Transition from Desktop Application Development to Mobile Application Development - A Whitepaper b

    4/20RapidValueEnabling Mobility

    What Skills Do Desktop/Web Developers Have?

    Web or thin client applications primarily execute on a remote server, with the user engaging withthem through their browser (e.g. Google Gmail).

    Desktop or thick client applications are installed on each device and execute on the device (e.g.Microsoft Outlook).

    Java Enterprise Edition (J2EE) for developing web applications

    Java Standard Edition (JSE) for developing thick client desktop applications

    Spring is an open source application framework and inversion of control container for the Javaplatform.

    Hibernate is an object-relational mapping (ORM) library for the Java language, providing a framework for mapping an object-oriented domain model to a traditional relational database. Hibernate solvesobject-relational impedance mismatch problems by replacing direct persistence-related databaseaccesses with high-level object handling functions.

    There are two main types of enterprise applications:

    Most enterprises use both.

    A number of technologies can be used for building both types of applications. The most popular are Java,.NET and HTML for both thin and thick client applications.

    Most enterprises have developers who are familiar with Java, .NET or HTML for building their solutions.

    These developers will also know the software stack and frameworks associated with each platform. Becauseof their popularity and their applicability to mobile, these are the platforms we will address in thiswhitepaper.

    There are also application development frameworks such as Spring 1 and Hibernate 1 which are most popularfor enterprise Java developers. These run on top of Java, and are used for building web and thick clientapplications.

    Java has two main flavors used to develop desktop and web applications:

    Java

    04 A RapidValue Solutions Whitepaper April - 2013

  • 7/30/2019 Making the Transition from Desktop Application Development to Mobile Application Development - A Whitepaper b

    5/20RapidValueEnabling Mobility

    Microsoft .NET

    The second part of the desktop/web development world is Microsofts .NET Framework. .NET 1 is a softwareframework developed by Microsoft that runs primarily on Microsoft Windows. It includes a large library andprovides language interoperability (each language can use code written in other languages) across severalprogramming languages. Programs written for .NET Framework execute in a software environment known asCommon Language Runtime (CLR), an application virtual machine that provides services such as security,memory management, and exception handling. The class library and the CLR together constitute the .NETFramework.

    Web applications for the .NET Framework are developed using ASP.NET, while native applications aredeveloped using Windows Presentation Framework (WPF) and C#.

    HTML

    HyperText Markup Language (HTML) 1 is the main markup language for creating web pages and other infor-mation that can be displayed in a web browser.

    HTML has gone through a number of revisions and experienced a variety of extensions. The most recentversion used is HTML5, which is also an attempt to define a single markup language that can be written ineither HTML or XHTML syntax. It includes detailed processing models to encourage more interoperableimplementations; it extends, improves and rationalizes the markup available for documents, and introducesmarkup and application programming interfaces (APIs) for complex web applications. HTML5 has also beenbuilt with consideration for low-powered devices such as smart phones and tablets.

    ASP.NET is a server-side Web application framework designed for Web development to producedynamic Web pages

    WPF is a computer-software graphical subsystem for rendering user interfaces in Windows-basedapplications

    C# is a multi-paradigm programming language encompassing strong typing, imperative, declarative,functional, generic, object-oriented (class-based) and component-oriented programming disciplines

    1Source: Wikipedia definitions

    05 A RapidValue Solutions Whitepaper April - 2013

  • 7/30/2019 Making the Transition from Desktop Application Development to Mobile Application Development - A Whitepaper b

    6/20RapidValueEnabling Mobility

    What Skills Do Mobile Developers Need?Mobile applications can be developed in three fundamental ways: mobile web, native or cross- platform.Each approach requires different skill sets. Mobile technology is also more fragmented compared to desktop,with four main platforms, each with multiple form factors, screen sizes, etc.

    The application is built to run over the internet from a central server, from where it can be accessed by anydevice with a web browser.

    Mobile Web App

    Technologies: JavaScript

    HTML5

    The application is built in its native code to run on a specific device and operating system. The app is down-loaded from an app store and resides on the device.

    Native Apps

    Technologies: iPhone and iPad: Objective C

    BlackBerry: Java technologies

    Android: Java technologies

    Windows tablet and Windows phone: .NET / C# using the Microsoft Windows tablet SDK

    The application is built once using a cross-platform framework and run it on multiple mobile platforms afterfine-tuning for each platform. The application is downloaded from an app store and resides on the device.

    Cross-Platform Frameworks

    Technologies used with leading frameworks: Appcelerator: JavaScript, HTML

    PhoneGap: JavaScript, HTML

    IBM Worklight: JavaScript, HTML

    RhoMobile: Ruby on Rails

    06 A RapidValue Solutions Whitepaper April - 2013

  • 7/30/2019 Making the Transition from Desktop Application Development to Mobile Application Development - A Whitepaper b

    7/20RapidValueEnabling Mobility

    Mobile Development OptionsDue to differences in underlying technology, each development approach has inherent advantages,drawbacks and appropriate use cases. Careful analysis is required to ensure that an application is built usingthe right technology for the functionality required. The following table summarizes the different approaches:

    iPhone SDK Android SDK Windows Phone SDK

    Development Approach

    Definitionand Tools

    Native Cross-Mobile Platforms Mobile Web

    Build the app using nativeframeworks:

    RhoMobile Titanium Appcelerator PhoneGap Worklight Etc.

    HTML5 Sencha JQuery Mobile Etc.

    Build once, deploy on multipleplatforms as native apps:

    Build using web technologies:

    iPhone: Objective C Android: Java Windows Phone: .NET

    RhoMobile: Ruby on Rails Appcelerator: JavaScript, HTML PhoneGap: JavaScript, HTML Worklight: JavaScript, HTML

    JavaScript, HTMLUnderlyingTechnology

    App stores App stores Over the webDeployment

    Apps requiring high-enduser experience, moretransactional in nature

    Large user base on onedevice (e.g. physicians withiPad)

    Offline usage Apps requiring extensive

    device and/or OSfunctions

    Generic user experi-ence, performancedepends on Internetconnection

    Distributed user baseacross smart phoneplatforms

    Need to maintain singlecode base

    Moderate amount of device functions

    Simpler apps, moreinformational in nature

    Offline Usage

    Multiple device typesdistributed across key users

    Works well for a number of enterprise applications that donot require heavy devicefunctions

    Key Use Cases

    For more information about the different development options, please refer to the RapidValue Whitepaper How to Choose the Right Architecture for Your Mobile Application

    http://www.rapidvaluesolutions.com/whitepaper/

    07 A RapidValue Solutions Whitepaper April - 2013

  • 7/30/2019 Making the Transition from Desktop Application Development to Mobile Application Development - A Whitepaper b

    8/20RapidValueEnabling Mobility

    The Mobile Mindset-Factors to ConsiderDeveloping for a mobile device platform is not just a technology change; it requires a different mindset andnew design skills. There are certain important factors which developers need to consider that are inherent tosmart phones and other mobile devices, including:

    Device Fragmentation

    Screen size

    Screen density

    User experience Memory capacity

    Battery life

    Multiple Platforms and Devices

    Traditional desktop and laptop PCs are Windows-based with a standard screen size, features and form factor.The mobile landscape is much more fragmented, with four main platforms (Android, iOS, Windows Phone

    and BlackBerry) that are continually evolving.

    Accordingly, building mobile applications requires more factors to consider when planning, including whichdevice platform to build first, what mobile technology option to choose, what capabilities should the mobilephone support, and the need for a long-term roadmap with deployment on additional, next platforms. Incontrast to traditional Windows-based desktop development, mobile developers need to think about creatingapplication code for multiple platforms-Android, Windows Phone, iPhone and BlackBerry. Designing anapplication that is optimized for various devices with different screen densities and screen sizes is even morechallenging.

    Screen Size

    User Interaction

    Enterprise applications designed for a desktop or laptop client work with a screen size that far exceeds thatof mobile devices. How to design for a device that fits in your pocket requires simplification and a rethink about navigation. While a desktop application may have tabs, options and links on all sides of the screenand in line with text, for mobile you need to concentrate on the immediate function, reducing the number of options to only those needed for the immediate task or feature.

    Instead of a mouse and keyboard, there is a quite different mode for user input: touch. Even a single touchcan involve a variety of interactions, including single-tap, double-tap, long touch, move and fling. All theseactions have to be captured.

    08 A RapidValue Solutions Whitepaper April - 2013

  • 7/30/2019 Making the Transition from Desktop Application Development to Mobile Application Development - A Whitepaper b

    9/20RapidValueEnabling Mobility

    Desktop PCs and laptops provide keyboards for data entry, allowing comfortable, fast typing with both handsand all fingers. Since mobile devices do not have that capability, even those with keyboards, manual dataentry should be minimized. Instead, wherever possible, provide options for selecting instead of asking forspecifics through data entry.

    Unlike clicking links with a mouse, tapping links using your fingers on a touchscreen mobile device is not

    easy. Users can easily activate a link they did not intend to tap and accidentally land on an undesired page.Bigger bars, tabs or buttons let users tap with more precision.

    Smart phones are sophisticated communication devices. Making phone calls is their most basic function.While mobile platforms place many limitations on design and content, they also open up new opportunitiesthat traditional desktops cannot provide. For example, integration with phone functions such as direct callingand text messaging lets users select a phone number from a list, then call or text that number without

    having to type it.

    Another example: capabilities such as GPS can be integrated into location based services like mobile search.Many mobile devices can automatically detect user presence and provide them with local search results,creating powerful opportunities for businesses to promote their offerings based on a persons proximity totheir place of business and their immediate intent.

    Mobile devices lack the computing power and memory capacity of most desktop and server systems. Devel-opers need to write algorithms and perform code optimization to support the mobile device capacity. Forexample, 1 GB of memory is a constraint in mobile phones which is not found in todays desktop applica-tions.

    Thats not quite the same as far as the phones go. Devices available from different manufacturers vary from120 dpi for the lower-end HTC Tattoo / Wildfire and 240 dpi for the higher end Droid seriesa difference of 100% in screen density. This means that using hardcoded values for pixels and a single set of images willlead to one of two things on a higher end phone: either your UI will be up-scaled and fuzzy, or the controls

    will be too small to allow comfortable targeting with a finger. Therefore you need to bundle multipleresolution images and use display metrics to scale your custom drawing code.

    Screen Density

    Integration with Phone Functions

    Limited CPU/Memory/Battery Resources

    09 A RapidValue Solutions Whitepaper April - 2013

  • 7/30/2019 Making the Transition from Desktop Application Development to Mobile Application Development - A Whitepaper b

    10/20RapidValueEnabling Mobility10

    Another issue that enterprise applications do not have to address is battery life. With enterprise applications,you can have complex algorithms running on the server because there are no battery constraints. But whenit comes to mobile, a complex algorithm or suboptimal code will drain the battery quickly. When designingalgorithms, developers need to think about battery consumption, and design for optimal usage.

    There is another approach to building applications which works efficiently across multiple devicetypes including desktops, mobile phones and tablets. The RapidValue whitepaper Responsive WebDesign vs. Mobile Web AppWhat Approach Is Best for Your Enterprise? explains the differencebetween Mobile Web App and Responsive Web Design, and provides a framework for resolvingsome of the key questions decision makers have. These questions include what factors to considerwhen choosing between Responsive Web Design and Mobile Web App, and what types of industriesResponsive Web Design is most suitable for.

    As the paper guides you in how to make the right choice, it draws upon RapidValues experience

    helping enterprises succeed in the complex and evolving mobile ecosystem. Download thewhitepaper: http://www.rapidvaluesolutions.com/responsive-web-design-whitepaper/

    A RapidValue Solutions Whitepaper April - 2013

  • 7/30/2019 Making the Transition from Desktop Application Development to Mobile Application Development - A Whitepaper b

    11/20RapidValueEnabling Mobility11

    Migration Paths-Desktop/Web ApplicationDevelopment to Mobile Application Development

    From Desktop/Web to Mobile: An Eight-Week Plan

    Desktop/web developers can map their skill sets to mobile technology. The following are typical migrationpaths:

    Current Development Languages/ Platforms

    JavaScript, HTML

    Migrate to Mobile Technology

    Mobile Web App (HTML5),Cross-platform Mobile Apps (PhoneGap, Appcelerator, Worklight)

    Native Apps (Android, BlackBerry)Java

    Native Apps (Windows Phones, Windows Tablets).Net, C#

    Native Apps (iPhone, iPad)Objective C

    Cross-platform Mobile Apps (Rhomobile)Ruby on Rails

    iBuildApp (iOS)C# using Mono Framework

    How to design forperformance

    Android devices Device versions Factors such as

    memory, batterylife, screen size,etc. of the devices

    Migration Path

    Java to Android

    Week 1 Week2 Week3 Week4 Week5 Week6 Week7 Week8

    Learn the platform fundamentals.(Refer to the detailed Androidsyllabus in the next section.)

    Starting with thePOC (Proof Of Concept), build adummy application

    Completelyreviewand testthedummyapplication

    DESKTOP/WEB TO MOBILE MIGRATION

    Various training programs, online tutorials, study materials, resources and learning tools are available foreach mobile platform to help desktop/web developers acquire the skills they need. The following sectionsprovide more details about these learning resources.

    This plan assumes you are a desktop/web developer with good knowledge in Java or .NET. This sectionillustrates two scenarios: 1) how a Java developer can become an Android application developer in eightweeks and 2) how a .Net developer can become a mobile application developer for iOS devices in eightweeks.

    Learn:

    A RapidValue Solutions Whitepaper April - 2013

  • 7/30/2019 Making the Transition from Desktop Application Development to Mobile Application Development - A Whitepaper b

    12/20

    How to design forperformance

    iOS devices Device versions Factors such as

    memory, batterylife, screen size,etc. of the iOSdevices

    .Net to iOS Learn the platform fundamentals.(Refer to the detailed iOS syllabus inthe next section.)

    Starting with thePOC (Proof Of Concept), build adummy application

    Completelyreviewand testthedummyapplication

    Learn:

    SyllabusThe following syllabus will help enterprise desktop/web developers learn what they need to know to buildapplications for Android and iOS devices.

    Android Devices

    Introduction

    Session

    Application Structure (in detail)

    Emulator Android VirtualDevice

    What is Android? Setting up the development environment Dalvik virtual machine and .apk file extension Fundamentals

    Resources and R.java Assets Android training course syllabus ipsr solutions ltdValues strings.xml

    Layouts and drawable resources Activities and activity lifecycle First sample application Deploying sample application on a real device

    Launching emulator Editing emulator settings Emulator shortcuts

    Android API levels (versions and version names)

    AndroidManifest.xml

    Basic building blocks: activities, services, broadcast receivers and content providers UI components: views and notifications Components for communication: intents and intent filters

    Uses-permission and uses-SDK Activity/services/receiver declarations

    12 RapidValueEnabling Mobility A RapidValue Solutions Whitepaper April - 2013

  • 7/30/2019 Making the Transition from Desktop Application Development to Mobile Application Development - A Whitepaper b

    13/20

    Basic UI design

    Menu and Preferences

    UI Design

    SQL Lite Programming

    Logcat usage Introduction to DDMS File explorer Second app (switching between activities)

    Shared preferences Preferences from xml Option menu Context menu Sub menu Android training course syllabus ipsr solutions ltd menu from xml menu via code

    SQLiteOpenHelper SQLiteDatabse Cursor Content providers Defining and using content providers Example: sharing database among two different applications using content providers Reading and updating contacts Reading bookmarks

    Time and date Images and media Composite AlertDialogs and Toast Popup Tabs and TabActivity

    styles.xml colors.xml: declaring colors and drawables Drawable resources for shapes, gradients (selectors) Shapes drawables State drawables Transition drawables 9 Patch drawables Style attribute in layout file Applying themes via code and manifest file Examples

    Form widgets Text Fields Layouts

    Develop an app for demonstrating the communication between intents

    RelativeLayout ,TableLayout, FrameLayout, LinearLayout Nested layouts [dip,dp,sip,sp] versus px

    13 RapidValueEnabling Mobility A RapidValue Solutions Whitepaper April - 2013

  • 7/30/2019 Making the Transition from Desktop Application Development to Mobile Application Development - A Whitepaper b

    14/20

    Adapters and Widgets

    Advanced Topics

    Adapters

    Broadcast receivers Services and notifications Toast Alarms Custom Toast Custom dialogs Custom Tabs Custom animated popup panels Other components Threads running on UI thread (runOnUiThread) Worker thread Handlers and Runnable AsynTask (in-detail)

    Example: Efficient Adapter ListView and ListActivity Custom listview GridView using adapters

    Gallery using adapters

    ArrayAdapters BaseAdapters

    14 RapidValueEnabling Mobility

    iOS Devices

    Introduction

    Session

    UI Design

    Traditional vs. iPhone development

    Capabilities Constraints Phone software architecture Setting up iPhone app development Pointers Arrays String operations malloc, calloc Data structures Examples and Lab

    Creating projects in Xcode Organization of your project Interface Builder Learning the basics of Nib file Working with Objective-C, Cocoa, Interface Builder and Xcode The MVC pattern Learning the model, the controller and the view Cocoa Touch

    A RapidValue Solutions Whitepaper April - 2013

  • 7/30/2019 Making the Transition from Desktop Application Development to Mobile Application Development - A Whitepaper b

    15/20

    Device Capabilities

    Basic UI Controls Basics of user interaction Delegation Taking keyboard inputs Handling events Selecting table items Editing table items

    Searching a table Navigation Various UI controls Using labels, buttons, sliders Working with alerts Working with multiple views Issues with long running tasks Multiple threads Issues with threading and UI NSOperation NSQueue

    Creating a responsive application Tabs Pickers Table views Tapping Tracing touches Multi-touch gestures Playing video Audio recording and playing Camera

    Accelerometer GeoLocation Application sandbox Data storage and archiving Navigating the file system Reading and writing files Working with database Core data Connecting to the internet Working with Web Services Understanding settings

    Working with Settings Bundle Securing settings

    15 RapidValueEnabling Mobility A RapidValue Solutions Whitepaper April - 2013

  • 7/30/2019 Making the Transition from Desktop Application Development to Mobile Application Development - A Whitepaper b

    16/20

    Training ResourcesThe following table lists some useful resources for desktop/web developers to get started with buildingapplications on platforms such as Mobile Web, iOS, Android, BlackBerry and Windows Phone.

    Resource Description URL

    This course teaches developers how tobuild mobile apps for Android and iOS,and how to deploy them in AndroidMarket and the App Store. Developerslearn how to write native apps for

    Android using Eclipse and the AndroidSDK, how to write native apps foriPhones, iPod touches and iPads usingXcode and the iOS SDK, and how to writeweb apps for both platforms.

    How to Build Mobile Applications foriOS and Android by Dan Armendarizand David J. Malan, Instructors atHarvard Extension School

    This audio podcast explains the tools and APIs (updated for iOS 5) required tobuild applications for the iPhone and iPadplatform using the iOS SDK. Topicscovered include user interface designs formobile devices, unique user interactionsusing multi-touch technologies andobject-oriented design using themodel-view-controller paradigm, memorymanagement and the Objective Cprogramming language. Other topicsinclude the object-oriented database API,animation, multi-threading and perfor-mance considerations

    iPhone and iPad Developmentby Paul Hegarty from StanfordUniversity

    http://cs76.tv/2011/spring/

    https://itunes.apple.com/us/itunes-u /ipad-iphone-application-development /id473757255?ls=1

    These videos from the Google I/Oconference cover 90+ sessions featuringin-depth content about a number of technologies and developer products.

    Mobile Application Development on Android Platform by Google

    http://www.google.com/events/io /2010/sessions.html

    This course presents an introduction tothe design and construction of softwaresystems using techniques that view asystem as a set of objects that work

    together to realize the system's function-ality. Includes examples of object-orient-ed systems written in Java, Python, Rubyand Objective-C. It also explains the

    Android and iOS frameworks as examplesof large-scale, modern frameworks usedby developers worldwide.

    Object-Oriented Analysis andDesign Learning Material by Ken

    Anderson, Associate Professor and Associate Chair of the Department

    of Computer Science, University of Colorado, Boulder

    http://www.cs.colorado.edu/~kena /classes/5448/s11/lectures/

    16 RapidValueEnabling Mobility A RapidValue Solutions Whitepaper April - 2013

  • 7/30/2019 Making the Transition from Desktop Application Development to Mobile Application Development - A Whitepaper b

    17/20

    A quick guide to building Windowsmobile applications. Developers canreuse their existing Visual Studio and.NET development skills and serverinfrastructure to extend their applicationsto mobile devices.

    Windows Mobile ApplicationsFundamentals by Microsoft

    A guide to creating application forBlackBerry tablets. The tutorial guidesdevelopers to:

    Tutorial: Creating your First Application by BlackBerry DeveloperForum(HTML5 Web Works)

    http://msdn.microsoft.com/en-us /windowsmobile/bb264318.aspx

    https://developer.blackberry.com /html5/documentation/tutorial_ create_first_app_intro_1969476_ 11.html

    Lessons on how to use basic platformfeatures that leverage alternativeresources and other features so that anapp can provide an optimized userexperience on a variety of Androidcompatible devices, using a singleapplication package (APK)

    A Guide for Android Developers by Android Developer Forum

    http://developer.android.com /training/basics/supporting-devices /index.html

    iOS Development Centertechnicalresources for developing innovative appsfor iOS

    Developers Guide to Design, Code,Build, Innovate by Apple

    https://developer.apple.com/

    PhoneGap is a free and open sourceframework that allows developers tocreate mobile apps using standardizedweb APIs for various platforms. This

    guide helps developers easily create appsusing web technologies (HTML, CSS andJavaScript).

    User Guide to Build Cross-platform Apps Using Web Technologies byPhoneGap

    http://phonegap.com/

    A developers guide which includesdocuments on Titanium SDK andTitanium Studio:

    Quick Start Guide for BuildingCross- platform Mobile Apps Usingthe Titanium Platform by

    Appcelerator

    http://docs.appcelerator.com /titanium/latest/

    Create a basic web application thatuses JavaScript, HTML5 and CSS

    Create a button that triggers anevent

    Retrieve the GPS coordinates forthe user's location

    Run and test the application onthe Ripple emulator

    Set up and create a BlackBerry

    WebWorks configuration document(config.xml)

    Package the application using theRipple emulator

    Launch the application on theBlackBerry Tablet Simulator

    17 RapidValueEnabling Mobility A RapidValue Solutions Whitepaper April - 2013

  • 7/30/2019 Making the Transition from Desktop Application Development to Mobile Application Development - A Whitepaper b

    18/20

    18 RapidValueEnabling Mobility

    http://msdn.microsoft.com/en-us /windowsmobile/bb264318.aspx

    http://www-01.ibm.com /software/in/worklight/

    A quick start guide for this touch-opti-mized UI framework built with jQueryand HTML5. jQuery Mobile can be usedto build sites and apps that are accessi-ble on all popular smartphone, tablet anddesktop devices.

    Build Mobile Web Applicationsusing jQuery Mobile

    A cross-platform application developmenttool which provides an open,comprehensive and advanced mobileapplication platform for smart phonesand tablets, helping organizations of allsizes efficiently develop, connect, runand manage HTML5, hybrid and nativeapplications. The platform consists of acomprehensive developmentenvironment, mobile-optimized middle-ware and an integrated management and

    analytics console, supported by a varietyof security mechanisms.

    Worklight Mobile ApplicationPlatform by IBM

    http://jquerymobile.com /demos/1.2.0/http://www.motorola.com

    /Business/US-EN/Business+Product+and+Services/Software+and+Applications/RhoMobile+Suite

    A user guide to build mobile web appsusing Sencha 2.0. It also includes APIdocuments for developers.

    Develop Mobile Web Applicationsusing Sencha 2.0

    http://docs.sencha.com/touch/2-0/

    Tutorials for developers to build cross-platform applications using the Xamarindevelopment platform.

    Develop Cross- platform AppsUsing C# and .Net Technology

    http://xamarin.com/monotouch

    The Titanium SDK lets you developnative, hybrid and mobile webapplications from a singlecodebase

    Titanium Studio is an extensible,Eclipse-based IDE for buildingTitanium applications and webapplications

    A RapidValue Solutions Whitepaper April - 2013

  • 7/30/2019 Making the Transition from Desktop Application Development to Mobile Application Development - A Whitepaper b

    19/20

    19 RapidValueEnabling Mobility

    ConclusionWith the wide popularity of smart phones and mobile applications, enterprise developers in many companiesare looking to contribute to the mobile revolution. This revolution is influencing many companies to shifttowards a Mobile First, Desktop Second strategy for their business. However, the shift from desktop tomobile requires developers to refocus-not completely away from desktop application development, but

    certainly with an inclination towards mobile.

    Enterprise desktop/web developers within an organization who are interested in becoming mobiledevelopers need to understand that developing for mobile is not just a technology change; it requiresacquiring a different mindset and new design skills. There are certain hurdles for enterprise developers toovercome and several important factors to consider when building applications on mobile platforms. Some of these factors are fragmentation, screen size, resolution, user experience, memory space, battery life andcapabilities inherent to smart phones and other mobile devices.

    RapidValue has a team of domain experts and mobility consultants to help you build innovative andcomprehensive mobile applications for your enterprise. If youd like more information on this topic or needguidance on building your first mobile application, please contact us at [email protected]

    A RapidValue Solutions Whitepaper April - 2013

  • 7/30/2019 Making the Transition from Desktop Application Development to Mobile Application Development - A Whitepaper b

    20/20

    RapidValue

    About RapidValueRapidValue is a leading provider of mobility solutions to enterprises worldwide. Armed with a team of 175+experts in mobility consulting and application development, along with experience delivering over 200mobility projects, we offer a range of mobility services across industry verticals. RapidValue delivers itsservices to the worlds top brands and Fortune 1000 companies, and has offices in the United States andIndia.

    www.rapidvaluesolutions.com www.rapidvaluesolutions.com/blog

    +1 877.690.4844 [email protected]