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.
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.
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.
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.
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