A large and rising sector of today’s software market remains to be the development of applications for mobile devices, specifically cellular phones. But why have companies focused on developing detailed native applications running on the phone’s operating system instead of streamlining their already existing websites, which have taken years to optimize? There are pros and cons for each of these engineering practices, but the market definitively leans towards creating brand new applications for new platforms.

When our team began our current project dealing with taking an already existing Windows application and converting it into a mobile application, we really did not know where to begin. At first we researched many different technologies, platforms, devices, and programming languages, searching for the fastest and most compatible solution. The first decision our team made was to use the up and coming HTML5 along with JavaScript to develop a web application. The reason for this was simple, it just needs to be developed once, and then possibly optimized for different platforms albeit iPhone or Android.

The application could then theoretically be used on any device with a web browser without any seams. While this was working out well for us in the beginning, dealing with the newest and most advanced technology for the web, we ran into many circles. Because HTML5 was recently released there is not much documentation or information available that was of use to us. Any bugs that I personally encountered took serious time to fix, and most of the time still was half functional. Also, HTML5 is only being used in Apple’s Safari web browser, and has yet to be supported in public releases for the other popular browsers.

For instance, I was in charge of administering the client side local storage database. I found that there is little information on this topic on the Internet, which made it difficult to get advanced. The next snag in the development was the concept of speech recognition including voice commands that may be spoken into the phone for ease of use. We researched and discovered that there were little to no plausible options for web applications to achieve this without spending thousands of dollars for software.

We will write a custom essay sample on
Software Native Mobile Apps vs. Mobile Web Apps
Specifically for you for only $16.38 $13.9/page

order now

Moreover, these two development practices, web and native, have been in competition recently, and Starting with web apps, developers have been doing remarkable things in recent news. Apple has been devoting plenty of time and resources in the development of Safari, which is native to the iPhone. “Because it’s open source, the WebKit rendering engine also powers browsers for many other mobile platforms. If you’re surfing the web with a Blackberry, Android, or Symbian phone, you’ll find that your content looks just as good as it does on the iPhone.

The only holdout is Microsoft’s Windows mobile platform which uses a browser based on the IE rendering engine” (Hockenberry). An example of a great website which can be viewed as an application on the iPhone is Showtime (http://showtime-app. com) which allows users to keep track of their favorite television shows. Additionally, the reason why Safari has been so great for Apple is it continues to update itself with the leading edge of technology. Apple knows how important the web and the Internet are in the modern day, and that it must stay on the top for fear of losing out to competitors such as Google.

They began the Safari Dev Center (http://developer. apple. com/devcenter/safari/index. action) which is a widely available resource for anyone interested in developing for the web with HTML5, CSS3, and JavaScript with various plug-ins (Hockenberry). Another advantage is that your web application can be accessed by simply typing in the address URL, no need to download and store a native application to one’s phone. Furthermore, there is no need to submit to the third-party review system in iTunes or Android, which will allow virtually limitless types of content, and also will not require money changing hands.

Google has also been fighting the web app vs. native app battle. Over the summer they have announced that “browser apps will be given access to local hardware capabilities” (Kirkpatrick). This is very useful because the browser will have access to native hardware such as the camera. They have also been pushing for the web application cause. “We’ve been focusing so much on HTML5, which was started before mobile took off. With the exception of offline storage and geolocation, the rest [of HTML5] was started before mobile was big.

Now Google will build this in Webkit and there’s a possibility this stuff will go back into the Webkit core” (Kirkpatrick). It truly is convenient to be able to have a single development process for the web, rather than worry how to reach different platform markets such as iPhone and Android. Our next move was to move on to the topic of this paper, which are native mobile applications. There are two major players in this game, namely Apple’s iPhone and Google’s Android. Applications native to the iPhone are coded in Objective-C, and Android in the more familiar

Java. Android is also open source and more widely available to the general public in a software development kit. Because we have spent a couple years at Temple studying Java, we decided to begin the next leg of our project programming an Android application. It is important to name the advantages to these native mobile applications, which are developed under an entirely different, but related process. There are many wonderful frameworks; the main example is Cocoa Touch, which ends up dealing with most of the tedious and difficult work for the developer.

Another great concept is how similar the Objective-C language is to JavaScript. Hockenberry gives this great example: “To give you an idea of how similar things are, take a look at this snippet of JavaScript code: var beAwesome = true; var myString = “chocklock”; if (beAwesome) { myString = myString. toUpperCase(); } Now, compare it to the same thing in Objective-C: BOOL beAwesome = YES; NSString *myString = @”chocklock”; if (beAwesome) { myString = [myString uppercaseString]; }” Additionally, there are countless other concepts that can be mastered for native applications, which result in positive outcomes.

This compiled code is running directly on the processor with none of the slowdowns that JavaScript is known for. Plus, Cocoa Touch is a great deal easier to develop multifaceted user interfaces without having to worry about style sheets and HTML code, which leaves more time to develop the important back end code. Native applications are usually faster, more streamlined, and much easier to use than the often clunky web applications. Finally, from a marketing standpoint, the native application is definitely a plus.

Companies can submit their application in the App Store and watch customers write reviews and promote their products. If it is a great and popular application, people will know about it, and it will likely been seen in the most downloaded list, which has become increasingly trendy. All in all, this learning process has been a great experience in the ever-changing world of software engineering. For us as a team it seems it was better suited that we develop a native mobile application due to its advantages, but a web application has its market as well.

These concepts will not be changing for quite some time as the market for them has exploded. Works Cited Hockenberry, C. (2010, August 17). Apps vs. the web. Retrieved from http://www. alistapart. com/articles/apps-vs-the-web/ Kirkpatrick, M. (2010, May 20). Google throws a wrench into the native vs. mobile web app debate. Retrieved from http://www. readwriteweb. com/archives/the_impact_of_googles_exposure_of_hardware_to_mobile_web_app s. php Safari dev center. (2010). Retrieved from http://developer. apple. com/devcenter/safari/index. action


I'm Dora!

Would you like to get a custom essay? How about receiving a customized one?

Click here