Until Xamarin was launched, the approach used while programming in Cordova, Titanium and other similar frameworks was similar to this:
Let’s now get deep into the problems this kind of programming was causing:
- Browser fragmentation, was often causing developers issues because of deprecated components on updated browsers and unsupported components on old, not updatable, browsers.
- The app was designed only for one platform, and often the design of an Android app has to be radically different than the design of the very same app running on Windows Phone or iOS.
This often caused unhappy users, which can’t use an app that was natively built for their phone and unhappy developers which received lots of complaints from their unhappy users. Unhappy developers means abandones apps, which will no longer receive updates. Also, the said frameworks have strong implementation limitations, and often can’t access all of the APIs on the target device.
And this is why Xamarin became important, thanks to its ability to easily cope with all these problems. The image down here describes how exactly Xamarin works:
The UI is built natively per platform, leveraging C#. The approach is having one shared app logic code base for all of the following platforms: iOS, Android, Mac, Windows phone, Windows Store, Windows. And, most importantly, Xamarin is built around C#, and if you want to know what’s so awesome about C#, you will have to wait until the fifth post of the series! 😀
See you soon!