Navigating the Mobile App Development Landscape



Similar documents
Native mobile apps: The wrong choice for business?

ios SDK possibilities & limitations

Whitepaper. Trans. for Mobile

How to Choose Right Mobile Development Platform BROWSER, HYBRID, OR NATIVE

SYST35300 Hybrid Mobile Application Development

separate the content technology display or delivery technology

Here s how to choose the right mobile app for you.

Lecture 4 Cross-Platform Development. <lecturer, date>

The Suitability of Native Application for University E-Learning Compared to Web-Based Application

White Paper INTRODUCTION. In mobile development, there are three different types of applications: PRE-SMARTPHONE MOBILITY NATIVE MOBILE APPLICATIONS

Mobile web apps: The best option for business? A whitepaper from mrc

WEB, HYBRID, NATIVE EXPLAINED CRAIG ISAKSON. June 2013 MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER

HTML5 the new. standard for Interactive Web

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

The Bootstrapper's Guide to the Mobile Web by Deltina Hay. Mobile App Strategy Worksheet. I. Target Market, App Category, Platforms

Building Mobile Applications Creating ios applications with jquery Mobile, PhoneGap, and Drupal 7

Developing and deploying mobile apps

Enterprise Mobile Application Development: Native or Hybrid?

Native, web or hybrid mobile-app development

Bridging the Gap: from a Web App to a Mobile Device App

Choosing a Mobile Application Development Approach

Mobile Development Frameworks Overview. Understand the pros and cons of using different mobile development frameworks for mobile projects.

Retool your HTML/JavaScript to go Mobile

A Beginners Guide To Responsive, Mobile & Native Websites 2013 Enhance.ie.All Rights Reserved.

Executive Summary. Three Key Takeaways

Mobile Application Development

Cross-Platform Mobile Apps Solution

Analysis of Native and Cross-Platform Methods for Mobile Application Development. [ Whitepaper] Praveen Kumar S

Developing Cross-platform Mobile and Web Apps

Smartphone Application Development using HTML5-based Cross- Platform Framework

Enabling Cordova (aka PhoneGap) on Tizen. René Pourtier / Luc Yriarte

Cross-Platform Phone Apps & Sites with jquery Mobile

CROSS PLATFORM DEVELOPMENT The HTML5 Way

Choosing a Mobile Strategy for Your Business

Middleware- Driven Mobile Applications

Mobile App Proposal Magazine company- @address.com. January 12, y. Direct Contact.

Solutions for higher performance! Fundamentals of Mobile App Development Technology

HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS

Best practices building multi-platform apps. John Hasthorpe & Josh Venman

Developing And Marketing Mobile Applications. Presented by: Leesha Roberts, Senior Instructor, Center for Education Programmes, UTT

Mobile application testing is a process by which application software developed for hand held mobile devices is tested for its functionality,

Technical and Business Challenges for Mobile Application Developers. Tony Wasserman Carnegie Mellon Silicon Valley Mobicase 2010

ipad, a revolutionary device - Apple

How To Develop A Mobile App In Html5

CiviMobile & CiviSync Mobile. Peter McAndrew Rohit Thakral

Mobile Learning Application Based On Hybrid Mobile Application Technology Running On Android Smartphone and Blackberry

Accelerating Business Value by

A Roundtable Discussion about When to Go Mobile App, Mobile Web, or Somewhere in Between. Higher Education Enterprise Mobile App Conference

NATIVE VS. WEB APP DEVELOPMENT 2012 White Paper Series

Issues of Hybrid Mobile Application Development with PhoneGap: a Case Study of Insurance Mobile Application

Etanova Enterprise Solutions

Article. One for All Apps in HTML5

The Anatomy of a Native App

Mobilozophy L.L.C. All Rights Reserved

Porting Existing PhoneGap Apps to Tizen OS - Development Story

CROSS PLATFORM APP A COMPARATIVE STUDY

Rich Internet Applications

The biggest mistake we made as a company was betting too much on HTML5 as opposed to native.

How to pick the right development model for your next mobile project

Native ipad Apps? Why should I care?

Mobile App Infrastructure for Cross-Platform Deployment (N11-38)

Armedia. Drupal and PhoneGap Building Mobile Apps

Evaluating Cross-Platform Development Approaches (WORA Tools ) for Mobile Applications

How To Develop A Mobile App With Phonegap

Introduction to IBM Worklight Mobile Platform

Making Sense of Mobile Development Options. Luis Sala Director, Technology

Mobile Phones Operating Systems

Not All Apps Are Created Equal. The key to a seamless app-building experience is to dig deep, ask questions and examine all variables at the onset.

Evaluating Enterprise Mobile Platforms Go Big or Go Small?

Native v HTML5 An Event Planner s Primer

Making the Most of Existing Public Web Development Frameworks WEB04

Cross-Platform Tools

Interview with Cocomore, agency for marketing and IT services

Dealing with the Dilemma: Mobile App Development Approach & Decisions

All About Android WHAT IS ANDROID?

Building native mobile apps for Digital Factory


MOBILIZE ME! APPS FOR MOBILE DEVICES OR MOBILE WEB APPS TECHNOLOGIES, TOOLS, ASSESSMENTS

True Web Application Management: Fixing the Gaps in EMM Solutions

The approach Microsoft has taken with its Windows Phone 7 platform is

HTML5. An opportunity for innovation. Author: Subu Musti, Principal Consultant, Wipro Mobility Solutions

ios Hybrid Mobile Application Development

Technology Services...Ahead of Times. Enterprise Application on ipad

Nativevs. Cross Platform. Development

place/business fetch details, removefromfavorite () function, 189 search button handler bind, B BlackBerry build environment

Cross-Platform Development

HTML5 as the Core Technology of the Mobile Enterprise

4 Steps to Creating a Mobile Development Strategy

To Study and Design a Cross-Platform Mobile Application for Student Information System using PhoneGap Framework

Analysis of Cross-Platform Development Frameworks for a Smartphone Pediatric Application

Smartphone Interpretation. How does it work?

White Paper. THE GREAT MOBILE APP DEBATE: NATIVE, HTML5 OR HYBRID? Determining the Right Approach for Your Business

Going Mobile-does your website work on mobile devices?

Mobile Cross Platform Development really? Jonathan Marshall, IBM Mobile Technical Specialist IBM Corporation

YOUR MOBILE DEVELOPMENT ROUTE

OpenEdge and Mobile Applications

Adobe Experience Manager Apps

Beyond Strategy: Building Your Mobile Capabilities

MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER

Appery.io Overview. However mobile also presents many challenges for enterprises:

Transcription:

Navigating the Mobile App Development Landscape You keep hearing about user trends towards mobile devices; your 10- year old knows your ipad better than you, and so you figure that your business should also get on board and have its own mobile app. Of course, if your company primarily interacts with a niche audience mostly offline, it s quite possible that you don t really need a mobile app. If you make the caps that go on toothpaste tubes, I m not sure an app would do all that much for you. As more and more people start to access the internet from their mobile devices, many businesses find that having a mobile app is a great way of connecting them with their audience. Case in point when I make a reservation at my favorite restaurant, do I look up their number and call? Nope, I hop on their mobile app, see what times are available, and book my table. I can also see how many people they have on their wait-list. Now, if only the app allowed me to pre-order a glass of Merlot to be ready for me when I got there! As a business considering hiring a company to build a mobile app, the landscape can be confusing, and sometimes even scary it can often mean a huge investment of time and money. You hear talk of ios, Android, Symbian, webos, and people ask you if you re going native or with a Web App. Going native? No, it doesn t mean sporting a loincloth, facepaint, and a spear it refers, rather, to a fundamental decision on which direction to take your mobile app development. And there is no right answer rather pros and cons to each path which you will need to evaluate against your specific business needs. Let Me Count the Ways It is often assumed that there are two ways to build for mobile devices: web apps or native apps. In fact there are more like four:

Native Apps Native refers to building an app in a device s native programming language. For ios devices this means Objective-C, and for Android it s Java. Native apps are typically fast, reliable, and can access all the the device s hardware (camera, accelerometer, compass, etc). Because of this increased performance, mobile games are usually built as native apps. It also means, though, that your app is tied to the platform it is built for. An ios app, for example, won t run on an Android device without first re-coding the entire app to Java. Web Apps A web app is a website that you access from your device s browser, but the site is made to resemble an application rather than a traditional website. It s purpose is also more functional it offers a utility or service rather than a straight-up website which is often more informational. A web app can be accessed by any mobile device that has a browser. Though being browser-based, it s typical that not all of the device s hardware features can be tapped into. To produce a more engaging and interactive experience. HTML5, CSS3 and JavaScript are increasing being used to take advantage of the advanced features offered by this new specification. Platform-specific Web App This is a web app which is specifically designed for certain mobile devices, such as smartphones running ios or Android. Less focus is placed on how the app looks on all mobile devices, and emphasis is placed on making the web app look like a native app as much as possible. Hybrid App Some argue that a hybrid app is a native app, but it s important to make a distinction. A hybrid app is built using web technologies, and then wrapped in a platform-specific shell that allows the it to be installed just

like a native app. Thus it is sold/accessed through the device s app store. PhoneGap is an example of a framework that allows you take a web app and turn it into a native app for ios, Android, BlackBerry, Windows 7, WebOS, Symbian and more. The hybrid frameworks typically have APIs as well, that allow you to access the device s hardware and features that are locked out from the browser. A No-Brainer? At first glance you might be thinking hybrid is the way to go. After all, it seems to offer the best of both worlds, or at least the best compromise between development costs and distribution; a single foundational codebase across multiple platforms. Alas, it s not so simple. Let s break down some of the pros and cons for native, web, and hybrid apps to help you make the right choice. The direction you take should be more about matching the technology with your business requirements. Native When Speed Matters Pros: Better performance (at least for now), snappier animations, transitions, and faster load times. The performance difference between native and web apps is far more pronounced on slower devices (e.g. iphone 3G running ios4) Can store more data offline Can be featured and searched for in the app store Full access to the device s hardware and OS features Implicit installation of an app to the device s home screen. On ios devices you can add any web app to your home screen, but it s a manual process The App Store handles purchase transactions on your behalf Cons: Typically more expensive to build, even for a single platform. Build costs increase significantly for each new platform. Because the codebase needs to be re-worked for each OS, the time

to build an app for multiple devices can also be quite involved. Your app must be accessed through the device s app store, which has two important considerations: your app must go through an approval process, which can be lengthy and arbitrary, and if your app generates revenue you must share a percentage with the store (30% for Apple s App Store, including in-app purchases). App updates must go through a new approval process each time. Web Write Once, Run Everywhere Pros: A single codebase which can be accessed by any browser-enabled mobile device. Uses web technologies (HTML/CSS/Javascript), which are arguably easier to learn than native languages like Objective-C or Java. Performance issues are becoming less of an issue as mobile browsers become faster and their Javascript engines keep improving No approval process needed, and updates to the app can happen instantaneously No revenue sharing with an app store Cons: Using web technologies means interpreted code (as opposed to compiled code for native apps), which some people believe means web apps will always be slower than native apps. Don t have full access to all the methods exposed by the device s operating system, meaning you are limited to the APIs made available by the browser. As it stands now in Mobile Safari, this means no camera, compass, video capture, microphone, user contacts, file uploading or push/local notifications. Can t be found on the app store. If you re lucky enough to be a featured app in Apple s store, for example, it is a huge marketing boost. If you are looking to generate revenue, it s up to you to build a commerce model.

Hybrid Fully Loaded with Better Fuel Economy Pros: Allows you to capitalize on the single codebase offered by web technologies yet still market your killer app in each of the major mobile app stores. Gives you APIs to access some, if not all, of the features locked out of the browser, such as camera, compass, contacts. For reference, here s a list of PhoneGap s supported features Purchases are managed by the App Store. Cons: Still subject to the store s approval process and revenue sharing. No instant updating. The app s performance is still dependant on the device s browser capabilities. An Informed Decision As you can see from the above list of pros and cons, the decision of which technology to go with is often dependent on what your app will need to do. Be clear on what your business objectives are, and see which method serves them best. Right now, given the state of web app performance, if you are building a game with fancy graphics, you re probably going to need to go native. If your app is on the simpler, like an app that reminds people of their anniversary (and scolds you if you forget), then perhaps a web app is what you need. Back to the Future In my line of work, I m always looking towards the future, and my crystal ball is telling me very good things about web apps and the expanding capabilities of HTML5 technologies. There are already some great examples of HTML5 based games which produce experiences that were previously only achievable using Flash, see Pirates Love Daisies. The Financial Times recently pulled their native app from Apple s store

and opted instead for an HTML5-based app. HTML5 brings things like video, audio, transitions, transforms, animations, offline storage, and drawing APIs direct to the browser things that previously were only possible with plugin technologies like Flash and Silverlight. Building web apps isn t easy though. It still requires great knowledge of HTML, CSS and Javascript. Javascript is a very robust, efficient, and capable language, and does most of the heavy lifting in web apps (e.g. code logic, animation, database integration, interactivity, etc). And to make developing sophisticated web apps easier, a number of Javascript frameworks have cropped up recently, some of which even employ an MVC (model-view-controller) architecture to really make you feel like a software engineer. After evaluating a number of these new frameworks, I have recently gotten behind one called SproutCore. SproutCore is an open-source framework that leverages HTML5, uses a nice and clean MVC architecture, and is designed around creating fast and responsive web apps that rival the performance found in native applications. SproutCore achieves this by moving all of the business logic to the browser, thus avoiding the bandwidth bottlenecks and network latency that can happen in more traditional web apps that are built around back and forth communication between the client and the server. Mobile Apps for Everyone! This is an exciting time for mobile and web developers. While I don t foresee native apps being completely replaced by web apps, I believe that we will continue to see an increasing number of businesses look to web apps for a more cost and time effective solution when considering mobile app development. And who knows, maybe your toothpaste cap manufacturing company could use a mobile app after all!