Mobile Web Apps vs. Native Apps

Guest Room

Mobile Web Apps vs. Native Apps

By TMCnet Special Guest
Max Katz, Mobile Developer Strategist, Tiggzi
  |  February 04, 2013

Web apps versus native apps is a topic that still excites readers to this day, as if it were anticipated that one side will win and the other will lose.

Contrary to popular belief, the discussion doesn't need to produce a winner and a loser. Instead of classifying apps as Web apps or as native apps, why not just call them mobile apps? 

I believe “mobile app” is a great name. Under it, there are simply two variations of mobile app that can be created: Web app and native app. A Web app is an HTML5, JavaScript, CSS (News - Alert) app running in a mobile browser. Now, you might wonder, why not just call this a mobile site? This is a fair point, and I believe the term “mobile site” can also be used.

However, it is common to distinguish a mobile Web app by one important extra feature: it is invoking some remote services, usually a REST API (instead of just loading a static mobile website). The second variation is the native app, and one that is downloaded and installed on the mobile device.

It's important to note that a third variation of mobile app can also be created: a hybrid app. A hybrid mobile app takes an HTML mobile app and inserts it inside a native wrapper. So while the inside of this app is made with HTML, JavaScript and CSS, the outside is a native shell. This kind of app is also downloaded and installed on a device. Although there are differences in how hybrid apps are implemented compared to native apps, most consumers can't tell native apps apart from hybrid apps. Hybrid apps are distributed in the app stores, just like native apps.

There are a number of important factors to consider when deciding whether to go with a mobile Web app or a mobile native app.

Skills 

Building native apps requires strong knowledge of Objective C (iOS), Java (Android) and C# (Windows Phone (News - Alert)). Finding developers with the necessary experience is still not easy. On the other hand, we’ve been building Web applications for the past 20 years – even though building a mobile Web app requires more specialized skills, the foundation is still HTML, JavaScript and CSS.

Finding strong developers should be easier in this case.

Platforms

With native development, the number of apps you need to build directly relates to the number of platforms you need to support. Today, most companies must support at least iOS, Android and probably Windows 8/Phone, followed distantly by BlackBerry (News - Alert). A mobile Web app can be opened on any device with a browser, phone, tablet or anything in between. Even though the notion of "build once, run anywhere" sounds very nice, differences in mobile browsers and their support for the latest HTML5 features will require extensive testing and possibly coming up with workarounds (unless, of course, it's okay for your app not to support all the browsers.)

Features and Performance 

Without a doubt, native apps have full access to the underlying mobile platform. Native apps are usually very fast and polished, making them great for high-performance apps or games. Mobile Web apps, on the other hand, have limited (but growing) access to device features and APIs.

With JavaScript engines in the browsers getting faster, mobile Web apps perform well but still fall behind native app performance.  

The extra jolt of performance that dominates natively developed apps is not always necessary. Many business applications do not necessarily require such high levels of performance. In these cases, Web and hybrid apps are more cost effective, efficient and dynamic due to API adaptability.

On the other hand, games that require more advanced performance features should utilize native development.

 Publishing to App Stores and Updating Apps 

Regardless of the platform, native and hybrid apps are published to an app store. Apple has the strictest rules for accepting apps into its store. It requires the app to run fast and follow some basic UI principles.

It could take anywhere from one to two weeks for Apple to either accept or reject an app. 

Apple's stringency in App Store acceptance is contended by Google's (News - Alert) somewhat more lenient rules, which don't necessarily adhere to the same rigid standards, and therefore accept apps more readily into its Google Play marketplace. Windows, on the other hand, takes a more middle-of-the-road approach when it comes to app acceptance.

For whichever platform, any updates to native apps would fall under the same rules and regulations.

A mobile Web app doesn't need to be published to any store, because it is simply accessed by its URL in the browser or an app icon/bookmark on the phone home screen. App updates are very simple as well. Just push any changes, and the next time the app is opened, the user will get all the new features.

Summary 

A native mobile app can produce the best user experience, can give you the best access to device features, and can be discovered in the app stores. Then again, building a native app on every major platform requires more socialized skills, a longer time to market and a bigger budget to build and maintain. 

For this reason, many apps get built as Web apps or hybrid apps.

A mobile Web application can produce a good user experience that is consistent across a broader range of platforms. As browser and JavaScript engines get faster with every release, the user experience gets better and better and the apps run faster and faster. Once created, this kind of app can be run on any platform, device, phone, or tablet with a browser.

On the other hand, browsers on different platforms do not uniformly support all the latest HTML features and API, which can make developing and testing challenging.

A hybrid app offers many of the advantages of both approaches: discoverability in the app stores, access to the most common device APIs, and broad device coverage while not requiring the specialized skills, bigger budgets and longer time to market that are more typical of fully native apps.

Tiggzi offers a cloud-based online platform for building mobile apps for iOS, Android (News - Alert) and tablets devices.




Edited by Braden Becker