D1J1T Article Categories:

Programming   Management   Development   Design   HTML   JavaScript   CSS   PHP   MySQL   Database   Server   Audio   Object-oriented Programming   Hosting   Mobile   Social Networking   Java  

Mobile Application Types

Before You Jump Into Mobile App Dev...

by D1J1T — in Development — Updated: Feb 9, 2015 at 1:39 pm

Web, Native, or Hybrid?

Interested in have a mobile application developed for your company or website? Your first step should be to decide which of these basic types to choose. The reason for this is simple: time and cost. If your company has an unlimited budget, I'd recommend developing a native mobile application for each mobile device OS and then move on to another article of interest.

For the rest of us, both time and cost are huge determining factors in software decisions. I will attempt to give a basic description of both "web" and "native" mobile application types, starting with "native."

Native Mobile Application Development

If I had chosen to start with "web", you may not have continued reading. The fact is that native applications take a lot longer and more resources to develop than web applications for many reasons. An Android app for example, requires knowledge of the Java programming language with typically Eclipse IDE (along with Android SDK/AVD/other tools). For the iPhone/iPad, developers use Xcode and the Objective C programming language. This is just the beginning of the differences. You have to factor in registering and setting up developer accounts, publishing, screenshots, and marketing for each service type (Google Play, and the AppStore in particular). Want a Windows Phone, Blackberry, or Tizen native app? Sure, but have fun realistically implementing it, selling it and most importantly, affording the extra development time...

Now that I have bashed native applications thoroughly, know that I love developing them! Android in particular is one of my favorite development environments (probably due to my love of Java). The main advantage of a native application is that it is developed using OS/some device specifics and can in turn do more, faster and better than a web app on that device that uses that OS at least, is installed on the local device, and is not dependent (ideally) on having a web connection. The native code can, put simply, "talk" to the device more efficiently than a web mobile application can.

Web Mobile Applications

These are dependent on both a web connection as well as a web browser to run them. In most cases, this isn't a problem of course. A consideration however is the browser limitations. Don't get me wrong, HTML5, CSS3, and JavaScript combined can be very powerful. A browser still has its limitations though, and will simply not be as powerful/fast/featured as the stand-alone languages like C/C++ and Java can provide for a desktop application.

The great thing about web apps is that your website can be "wrapped" even (using PhoneGap) for example to be delivered as an application on multiple mobile devices and OSs. So, no matter what type of mobile device you are using, your app should function and render. The same cannot be said for native applications of course. The only downsides of web apps are the requirement of the connection, limitations of the device browser, and the limitations of the languages used. In sum, to be able to target most devices on a budget, web apps are the best initial route to take. As your company expands, and you can track the profit of your web app, you'll be able to better determine whether or not a custom native mobile application for different platforms should be implemented.

If you find these articles to be helpful, I could always use another cup of coffee! Social media likes/+1s are also much appreciated. Thanks for reading!

Add Comment to Post: