I did my mid-term paper on mobile web app, which supposedly would operate on any smart phone’s browser. The major benefit for mobile web app is its ability to cross platform since it work only via your browser. By using frameworks such as PhoneGap and Sencha Touch you can build a kind of hybrid between regular webpage and native app that work on mobile browsers and use native features of mobile phone. For instance geolocation can be used on Google Map and microphone feature can implement on search text box. In order to create web app native feel and integrate with native features, it would count on HTML5, CSS3, and JavaScript.
The idea of cross platform enticed me. However, since the web app work via browser there are bound to have some limitations that wouldn’t match with native app. Furthermore, few weeks ago I heard a speaker from the Mobile UX Camp said, in order to create native-like user experience such as continuous flow of scroll gesture, hundred lines code of JavaScript needed to be written to have the same effect. This is cumbersome for the developer and the performance might even act sluggish.
Then I read this.
Xamarin debuts iOS and Android app development inside Visual Studio for C# programmers
To say it in simple way, Xamarin is an integrated development environment that uses C# code to develop mobile native app, also it can work as plug-in on Microsoft Visual Studio. C# Developers can now use Xamarin to create iOS and Android applications.You can have different UI depend on the platform, but the code behind can be the same and written in C#.
The concept to develop native apps that cross multiple platforms via a single framework intrigues me. In the past (?) time, applications on certain platform have to be coded by its dedicated language, Objective-C for iOS, Java for Android, and C++ for Windows. Each platform also has their own main framework, Xcode for iOS, Eclipse for Android, and Visual Studio for Windows. For developer, the burden to learn and familiarize with these abundant of computer languages and frameworks seems like a never ending journey. It would be awesome if I could use one coding language to create cross platform native app!
Back in college I had learned Java and Visual Basic. When I worked as web developer I fumbled with C#, which turned out all right for me. When mobile apps became famed, new and old languages all wanted to take the lead of market, which made diverge of codes and user interface. Could Xamarin become the savior (for developer) for the code behind as we follow the UI guideline (AKA the bible) of Apple, Google, and Windows?
In recent years, the vast varieties of frameworks that work on development of mobile web app thrived and probably have reached its climax. Never had I thought there is a framework to build cross platform native app. Perhaps it will create another trend in the future, and become the foundation to develop mobile solution.
Xamarin
http://xamarin.com/