16
DECIDING MOBILE DEVELOPMENT STRATEGY FOR COMPANY MOBILE DEVELOPMENT Salim Bhonhariya [Email address] Which Cross-Platform Framework should we use for Mobile strategy?

Decide if PhoneGap is for you as your mobile platform selection

Embed Size (px)

Citation preview

Page 1: Decide if PhoneGap is for you as your mobile platform selection

DECIDING MOBILE DEVELOPMENT STRATEGY FOR company

MOBILE DEVELOPMENT

Salim Bhonhariya[Email address]

Which Cross-Platform Framework should we use for Mobile strategy?

Page 2: Decide if PhoneGap is for you as your mobile platform selection

ContentsLet’s begin with the purpose.......................................................................................................................1

Decide what types of mobile app you want to build?.................................................................................2

Web Applications......................................................................................................................2

Hybrid applications.......................................................................................................................2

Native Applications.......................................................................................................................2

HTML5..............................................................................................................................................2

Phonegap.........................................................................................................................................2

Xamarin............................................................................................................................................2

Mobile Platforms comparisons:...................................................................................................................5

Factor to consider before you decide your mobile application development strategy...............................7

Performance survey:...............................................................................................................................7

User Experience:......................................................................................................................................8

Time to decide:............................................................................................................................................8

Which technology to user to develop the Mobile app................................................................................9

Platform Pros and Cons.............................................................................................................................10

PhoneGap............................................................................................................................................10

Xamarin................................................................................................................................................11

Plugins supported for all platforms.......................................................................................................12

Telerik plugins........................................................................................................................................12

Cordova plugins.....................................................................................................................................12

Demo.....................................................................................................................................................12

Resources:.................................................................................................................................................12

Visual studio tools for Apache Cordova/PhoneGap...................................................................................12

Let’s begin with the purposeFirst, the basic idea emerges and the list of goals for the application is created. Such goals can be purely marketing, engineering or a combination of both. For example: to attract new and increase loyalty among existing users, to simplify the process of leading the customer from the first acquaintance to purchase, to optimize the online store’s

Page 1 of 14

Page 3: Decide if PhoneGap is for you as your mobile platform selection

interface for mobile devices, to identify the main target audience, to increase the coverage of the target audience. The business goals should dictate the choice of technology, not the other way around.

Decide what types of mobile app you want to build?Web

Applications

Hybrid applications

Native Applications

HTML5 Phonegap XamarinIf the application does not require the deep interaction with the device features or the offline mode, you can consider implementing it as a web service. The user needs only to know the URL to access the application through a web browser.

Many applications the execution of the advanced features, such as reading files from and writing to the SD-card, taking pictures via cameras, receiving the system events messages, etc., is extremely important. The usual web applications, being run in the browser, give no such opportunities.

http://www.ymedialabs.com/hybrid-vs-native-mobile-apps-the-answer-is-clear/

While 79 percent of consumers would retry a mobile app only once or twice if it failed to work the first time, only 16 percent would give it more than two attempts. Poor mobile app experience is likely to discourage users from using an app again.

This option is well suited for the applications that require the constant presence of an Internet connection and do not impose special requirements to graphics and the device’s hardware and is called the HTML5 mobile app development.

As a result, the tools that allow developing the application’s business logic and interfaces with the use of JavaScript and HTML5, while having access to device resources, appeared. Almost all the mobile platforms’ SDKs provide a special browser component for native integration - WebView in Android, UIWebView in iOS, etc. This is the same web browser with the ability to transfer native code calls to the web application (written with the use of JavaScript), as well, as dispatch JavaScript messages back to the native part of the application.

Native applications have the best performance, highest security, and best user experience.

Page 2 of 14

Page 4: Decide if PhoneGap is for you as your mobile platform selection

Therefore, web applications, "wrapped" by a native code, can get access to all of the device’s hardware resources. That’s what hybrid mobile app development means.

Mobile web applications are developed with the help of the tools that are classic already. HTML is used to markup the interface elements, CSS – to describe the visual component and the relative position of controls and widgets, JavaScript – to implement the application’s business logic.

A special case of hybrid applications are tools for multi-platform mobile development such as PhoneGap. The result of their work is the web application with the native language wrappers.

Pros of hybrid applications

• Allows using the platform-specific features in the already existing web application. If this is not an issue, PhoneGap is the best.

• Relatively quick and inexpensive ideas implementation given the fact that most of the hybrid frameworks are open source. If this is not an issue, PhoneGap is the best.

Cons of hybrid applications

• Roughly the same as the web applications, as part of the app is an actual web application – performance issues and non-native user experience.Not a rich user experienceSpeed performance. If this is not an issue, PhoneGap is the best.

Page 3 of 14

Page 5: Decide if PhoneGap is for you as your mobile platform selection

Pros of web applications• Web applications run on devices of every form-factor and can easily be ported to any device (no additional tools/licenses needed).• Little or no differences in terms of security and smartphone functions access between different devices and browsers.• Unified development platform - HTML5.Cons of web applications• Scant access to advanced device features: access to cameras, geolocation, gyroscope and other gadgets is not possible.• Web applications can manifest the logic that is uncharacteristic for the specific platform.• Lesser performance than that of native application due to the browsers’ Java Virtual Machine high resource consumption.

Page 4 of 14

Page 6: Decide if PhoneGap is for you as your mobile platform selection

JQuery mobile rendering doesn’t look great on IOS devices. If this is not an issue, PhoneGap is the best.

Update to an app:With a hybrid application, unless a company adds a completely new feature that dramatically changes the user experience, the user doesn’t need to update the app in the app store. If the update in question is on a page that is loaded from the server, as the user navigates through your app they will instantly see the update. It’s that simple.

Update to an app:In contrast, for native applications the user needs to update the app to see the changes. For most users who set up auto-updates when their phones are on Wi-Fi this is acceptable, but it doesn’t work for everyone. Nobody wants to exasperate their user by having him/her update the app every month or so. It attracts unnecessary negative attention to the app which could cause the user to simply uninstall it.

While deciding the explicit implementation methods, such as the integrated development environment, SDKs and third-party libraries, can be chosen depending on secondary factors – target audience, project budget.

Mobile Platforms comparisons:However, if the desired time to market is less than six months, then hybrid could be a better alternative(PhoneGap) because the app can be built in one source code, can be released across platforms, and development time and effort is considerably less as compared to that of native applications.

Page 5 of 14

Page 7: Decide if PhoneGap is for you as your mobile platform selection

Page 6 of 14

Page 8: Decide if PhoneGap is for you as your mobile platform selection

Factor to consider before you decide your mobile application development strategy.Performance survey:

If this is not an issue, PhoneGap is the best.

Page 7 of 14

Page 9: Decide if PhoneGap is for you as your mobile platform selection

User Experience:

If this Is not an issue, PhoneGap is the best.

Time to decide:If you think, if this is not an issue statement is true for all the options then above then PhoneGap is for you.

Cross Platform Hybrid development sounds great. Single code base across multiple platforms. Don’t have to update each app in the app store to wait for approvals. You can use your existing web talent and don’t need to bring on additional resources. Don’t need to do any API development since it’s all handled via the web.

Page 8 of 14

Page 10: Decide if PhoneGap is for you as your mobile platform selection

Who wouldn’t you use Hybrid? You know who wouldn’t want you to follow a hybrid approach? The customers using your app.

They don’t know what a hybrid mobile app is, but they don’t like it.

Which technology to user to develop the Mobile app

Page 9 of 14

Page 11: Decide if PhoneGap is for you as your mobile platform selection

Platform Pros and ConsPhoneGapPhoneGap is an open source and simplest cross-platform framework compared to Xamarin and Titanium. It allows creating mobile apps utilizing Web APIs, i.e. it wraps up web applications in a native app shell and then implements them on native stores for different platforms. It uses a cloud-based service called 'Build' with which you can compile apps for several operating systems without the need to install SDKs of each platform.Any PhoneGap application is simply a collection of HTML pages which is rendered as a Web View. To develop applications in PhoneGap, you need to use HTML5, CSS and JavaScript.

Page 10 of 14

Page 12: Decide if PhoneGap is for you as your mobile platform selection

Pros

Small and simple native API sets enable easy porting to different environments. High reusability with HTML5, CSS and JavaScript. Anything written as a webpage can be easily

wrapped up as a native mobile application. Supports all platforms and operating systems which includes iOS, Android, Windows Phone 8,

Blackberry, Firefox OS and Ubuntu. Developers who are accustomed to HTML/CSS/JavaScript, find it easy to start working with

PhoneGap.Cons

Lower performance of apps as the original codes of the app remains that of a web app and launches via a web browser. This means the performance of PhoneGap apps doesn’t come close to native apps

Too many fragmented libraries and frameworks at a very basic level User interface of app varies depending on the quality of Web View rendered

o See more at: http://www.cygnet-infotech.com/blog/phonegap-or-titanium-or-xamarin-which-cross-platform-should-you-choose#sthash.X3vWghyi.dpuf

Xamarin

Xamarin, originally called MonoTouch is another cross-platform framework that has picked up the development market with its own IDE. It works on C# within .NET framework and allows you to create native apps by utilizing native APIs and UIs of each platform.

Xamarin comes with Xamarin.Forms library which allows you to write native UIs for once and then share and convert them to platform-specific UIs. Xamarin currently supports iOS, Android and Windows platform. It also allows developing apps for Blackberry by compiling Android apps.

Pros

Xamarin has TestCloud which allows you to test your apps automatically Provides 100% code reuse with Xamarin.Forms UI development using shared code base and

logic. This saves a lot of time and resources Supports patterns like MVC and MVVM Xamarin.Android supports Google Glass devices, Android Wear, and Firephone Learning curve is relative. If your team knows C#, it is comparitively easy to get started with

Xamarin

Cons

Does not provide access to certain Android specific UI controls. Impacts load time as it has its own runtime Does not support sharing of codes outside Xamarin environment for native or HTML5

development

Page 11 of 14

Page 13: Decide if PhoneGap is for you as your mobile platform selection

This is just a background analysis of the technical and business differences between PhoneGap, Titanium and Xamarin which clearly says – there is no perfect world. The selection still depends on the purpose, scope and resource availability.

Plugins supported for all platformshttp://docs.phonegap.com/plugin-apis/

Telerik pluginshttp://plugins.telerik.com/cordova

Cordova pluginshttps://cordova.apache.org/plugins/?platforms=cordova-android%2Ccordova-ios%2Ccordova-browser

Demohttp://phonegap.com/

Command Line tool from PhoneGaphttp://docs.phonegap.com/references/phonegap-cli/

Resources:http://www.cygnet-infotech.com/blog/phonegap-or-titanium-or-xamarin-which-cross-platform-should-you-choose

http://blah.winsmarts.com/2014-2-HTML5_vs_PhoneGap_vs__Xamarin_vs_Native.aspx

http://devgirl.org/2014/04/09/phonegapcordova-cli-adding-plugins/

Visual studio tools for Apache Cordova/PhoneGaphttps://www.visualstudio.com/en-us/features/cordova-vs.aspx

Create first mobile app in visual studio

https://taco.visualstudio.com/en-us/docs/get-started-first-mobile-app/

Manage plugins for apps built with Visual Studio

https://taco.visualstudio.com/en-us/docs/manage-plugins/

Page 12 of 14

Page 14: Decide if PhoneGap is for you as your mobile platform selection

Page 13 of 14