Hey guys/gals.
I am a software engineer/developer and have extensive knowledge of C, C++, Lua, and a working knowledge of Objective-C, Java and Php.
This will be my first time using C# however, and I am really excited to be learning a new language and toolkit. I have been a software developer for over 10 years, and have made various games and apps over the years.
So after searching for an alternative to native app development, I found Xamarin, and it seems really intruiging. I am currently only interested in developing standard/business apps, games later, probably will use unity for those.
Anyway, i wanted to ask you kind folks if you would steer me toward which libraries I should be looking to use for my next (and first Xamarin) project.
The app i am making basically boils down to this:
Custom UI, probably not using any native widgets/controls. (Buttons, lists, graphs etc)
Http requests (get, post)
SQL (possibly)
JSON
If someone could point me to what they recommend for the UI and http interfaces in particular that would be great. I found docs and such for JSON and SQL already. I will be making this app for Android and iOS initially, so is there a good cross platform Image library I can use? I heard of ngui (or something) that seems very nice.
Sorry for all the questions, i've been using an sdk which spoilt me a little too much over the last year, so i'm unsure of how much Xamarin spoils you in the cross platform aspect.
Hoping this community is active and friendly!
Thank you
Posts
Hey @dannyg86!
First of all, a great big welcome and best of luck with your project!
It seems you're interested in business applications, in which I would highly recommend using MVVMCross. It's a MVVM based framework that has many plugins to get you up and running quickly.
https://github.com/MvvmCross/MvvmCross
As for creating games, you could also use MonoGame. Simply put, it's a framework that was extended after XNA was killed off.
https://github.com/mono/MonoGame
For X-Plat Image loading/etc I would recommend using Splat by @PaulBetts:
https://github.com/paulcbetts/splat
For X-Plat HttpClient, you can either use regular HttpClient or an optimized version by @PaulBetts
https://github.com/paulcbetts/ModernHttpClient
But overall, you will need to learn the iOS/Android/Windows Phone frameworks to understand how everything works. Just understand that what you'll be implementing will be platform specific, however having the ability to share code in those respective platforms. Xamarin typically takes the concept of sharing core logic and implementing each UI/Platform Specific features to make a fully functional application.
But other than that, the Xamarin documentation is a great resource to get up and running quickly regarding iOS/Android tutorials.
http://docs.xamarin.com/
Best of luck!
@JonDouglas thanks very much for the links. I understand the iOS and Android frameworks well, so i already have that under my belt
Cheers!
@dannyg86,
You should also check out the newly released Xamarin.Forms, it allows you to create cross platform UIs from a single codebase.
See the following for more details:
Conceptual docs: http://developer.xamarin.com/guides/cross-platform/xamarin-forms/introduction-to-xamarin-forms/
Api docs: http://iosapi.xamarin.com/?link=N:Xamarin.Forms
University class you can take: https://university.xamarin.com/classes/intro-to-xamarinforms-xam120
Prebuilt app: https://github.com/xamarin/xamarin-forms-samples/tree/master/MobileCRM
Samples repo: https://github.com/xamarin/xamarin-forms-samples