Saturday 12 September 2015

CROSS PLATFORM (MOBILE) APPS DEVELOPMENT


CAVEAT: Am not an experienced developer and most of which is expressed here
is based on my shallow research, do feel free to learn more via the various resources in the internet.

I had to get that out of the way.

Well, this series of blogs will take you through my journey as Xamarin developer from a noob(-which I currently am as I write this post) to a pro(-which I plan to be). I do warn you that I've chosen C# as my primary development language and am not turning back.

So, let's tackle the elephant in the room; cross-platform mobile application development.




This is where you-as a developer- develop a single app to target more than one operating system(mobile or desktops).This is the simplest definition I could come up with, to avoid being misinformed ,use Bing or Google or Yahoo or something!.

This is itself a brilliant step to take as you partake in your development journey. It means you'll be able to hit millions(-if not billions) of consumers worldwide with your great app.




To get you through this, there are tens of development environment out there that'll help you leverage your skills and reach your target. Well, most have very steep learning curves while some offer you the benefit of doubt that you'll get comfortable in "5 minutes after installation"(-Corona). The environments also vary, some offer you the opportunity to develop and emulate offline in your local machine(-Xamarin) others run fully in the cloud(-Rhomobile).With all these the languages used for each platform also vary. C#-Xamarin,C++/QML-Qt others rely on web technologies-Intel XDK;with some relying heavily on JavaScript-Appcelerator,or HTML5 -Phonegap/Apache Cordova,others rely on "exotic languages" like Lua - Corona...

That's a lot! Guess what you have your options narrowed down to 3 choices;
  1. Have a native app,
  2. Have a hybrid app,
  3. Have a web app.
There are trade-offs in making each of the options. You may run into issues such as problems normalizing your UI across platforms, laggy applications, having plugins not supported in certain APIs, lack of updates for certain plugins...

On the positive side most are FREE. Other come coupled with Mobile Backend-as-a-service(-Appcelerator) ,others even offer Cloud hosted testing devices for your apps-Xamarin. Plus a lot of great offerings from the multitude of companies.

Out of all these I chose Xamarin.

Why? Simple, I've never met a language as versatile as C#;run on web, run on mobile devices, run on desktops, run on IoT devices...etc and it does all these without breaking a sweat. Plus it's way more secure and great at garbage collection. Argue all you want, C# is great. ! :)

About Xamarin,you get to write your codes in C# for Android,Windows Phone(-Visual Studio) and iOs(-Desktop and Mac) with code sharing of up to 95%(-www.microsoftvirtualacademy.com).Whatever you want to do in Objective-C,Java or whatever, you can comfortably do it in C#;take lambda expressions for example.




Most of all Xamarin, is free for students!!! As long as you're a student and can prove it-go get it from xamarin.com/students. And it blends nicely with the best IDE in the world(-keep hating)-Visual Studio. You can also easily build cross platform games with so much ease.

I'll leave you with some great articles on cross-platform mobile application development and you'll surely see why Xamarin cut's it.

  1. Xamarin Home → xamarin.com
  2. Xamarin for students xamarin.com/students
  3. Xamarin Developer portal →developer.xamarin.com
  4. Xamarin blogs → blog.xamarin.com
  5. Cross-platform mobile app development options in Visual Studion https://www.visualstudio.com/en-us/features/mobile-app-development-vs.aspx
  6. Learn about PhoneGap features →http://phonegap.com/about/feature/
  7. Get Phonegap →http://phonegap.com/install/
  8. Get to know Corona → https://coronalabs.com/
  9. Some trade-offs of various platforms →http://www.developereconomics.com/pros-cons-top-5-cross-platform-tools/
  10. Featured list of most well known Cross-platform tools →http://appindex.com/blog/ten-best-cross-platform-development-mobile-enterprises/
  11. Intel XDK →https://software.intel.com/en-us/intel-xdk
  12. Over-view of cross-platform options including game development →http://thinkapps.com/blog/development/develop-for-ios-v-android-cross-platform-tools/
  13. Get to know Rhomobile →http://thinkapps.com/blog/development/develop-for-ios-v-android-cross-platform-tools/
Well this is not the exhausted list of dev tools available you surely find many more.

Read the articles and make your choice depending on the needs for your app or game.

Over the next series of blogs I'll walk you through getting Xamarin, Installing and some issues you may encounter and solutions.


See you in the next post!!

No comments:

Post a Comment