Xamarin certainly is the hottest thing on the plate recently, popping up in news and discussions everywhere. I feel compelled to become familiar with it just to keep myself viable. Last April I downloaded and fired-up the full Android SDK but despite several hours of suffering I couldn't even get the Hello World app to run (due to emulator problems). I haven't gathered the courage to return to that suffering and overcome it, so I might as well discard it and learn something more generally useful, like Xamarin ... and best of all it's C# instead of Java.
I would like to create a simple demo app for phones or iPad that gets XML from a web service and shows it as a table or chart, which could generate some interest in "real" development. However I notice on the Pricing Page <https://store.xamarin.com/> that $1000/year for the "Business" level, which is pretty steep for a one man business who just wants to try it out. The FAQ says software built in trial mode is crippled or splashed. I also see that you variously need iOS, Google and Android SDKs installed, which is a huge footprint. You need an OS X 10.8 machine to build for iOS. Fair enough, but phew! Xamarin is expensive and has cruel trial system. *Greg K* On 25 October 2014 01:22, William Luu <[email protected]> wrote: > There's a free preview of a Xamarin Forms book being written by Charles > Petzold if anyone is interested - > http://blogs.msdn.com/b/microsoft_press/archive/2014/10/06/free-ebook-creating-mobile-apps-with-xamarin-forms-preview-edition.aspx > > > — > Sent from Mailbox <https://www.dropbox.com/mailbox> > > > On Fri, Oct 24, 2014 at 4:40 PM, Michael Ridland <[email protected]> wrote: > >> >> Nice blog post... but if they had just used Xamarin their job would have >> been alot easier. >> >> They wouldn't of had to write their own persistance layer, with Xamarin >> you can use the Native SQLite instances. Their serious backend code eg >> Offline, Caching, would have been able to use C# and the full .net >> framework. >> >> Actually the project I'm working on at the moment is more complicated >> than the dropbox app, more feature with offline support etc.... and I've >> been able to implement as a single developer... >> >> For serious applications Xamarin is hands down the best! >> >> >> >> >> >> >> >> >> >> >> >> >> >> On Fri, Oct 24, 2014 at 4:29 PM, William Luu <[email protected]> wrote: >> >>> On a related note, Dropbox used C++ for their Android/iOS apps - >>> http://oleb.net/blog/2014/05/how-dropbox-uses-cplusplus-cross-platform-development/ >>> >>> >>> On 24 October 2014 15:22, Michael Ridland <[email protected]> wrote: >>> >>>> >>>> http://ionicframework.com/ >>>> >>>> >>>> On Fri, Oct 24, 2014 at 3:22 PM, Michael Ridland <[email protected]> >>>> wrote: >>>> >>>>> >>>>> ... but that said, Xamarin is pretty heavy weight, it's s big learning >>>>> curve.. if you want something lightweight and 'pretty' good you should try >>>>> out Ionic... >>>>> >>>>> >>>>> >>>>> >>>>> On Fri, Oct 24, 2014 at 3:19 PM, Michael Ridland <[email protected]> >>>>> wrote: >>>>> >>>>>> >>>>>> Go Xamarin it's the best! (Opinion may be bias www.michaelridland.com >>>>>> ) >>>>>> >>>>>> Traditional Xamarin (Native API) as the platform is awesome and solid >>>>>> and fast, the IDE and some of the tools around it can be a bit buggy. >>>>>> Xamarin.Forms is pretty early, and can be frustrating but I have build >>>>>> some >>>>>> XPlat app pretty rapidly with it. >>>>>> >>>>>> Actually I'm doing a 'Introduction to Xamarin' at SydMobile in a few >>>>>> weeks, you should come along I'd love to answer any questions you have. >>>>>> http://www.meetup.com/SydMobile/ >>>>>> >>>>>> Below is a unpublished blog post on why you should use Xamarin... >>>>>> >>>>>> *Should I use Xamarin for Mobile Development? YES you should!* >>>>>> >>>>>> In my opinion you'd be insane if you didn't use Xamarin for mobile >>>>>> development. Many people don't know what they're missing out on by not >>>>>> using Xamarin so I'm going to highlight some reasons I think people >>>>>> should be using Xamarin. >>>>>> 1) It's Native but with 80%+ code share? >>>>>> >>>>>> So for those that aren't aware of Xamarin or how it works, Xamarin allows >>>>>> you to develop apps for iOS, Android and Mac from a single code base. >>>>>> When >>>>>> I say this I don't mean in a webview or customised API, it actually >>>>>> usesthe Native APIs. So when developing you use UITableView which is >>>>>> the same API that a native developer would be using. >>>>>> 2) C# and F# are Modern languages >>>>>> >>>>>> C# might not be the hipster language of the year it is a continually >>>>>> evolving language with solid features like type interference, dynamic >>>>>> types, language integrated query (LINQ), async/await and first class >>>>>> functions. C# is designed for developing large robust applications. >>>>>> >>>>>> And for the functional types there's F#, which from what I've been >>>>>> told it's like scala but faster and better thought out. >>>>>> >>>>>> I'd argue they're better languages than java, javascript and >>>>>> objective-c... and seeing that they're currently the only languages with >>>>>> built in async you could say their even better than swift... >>>>>> 3) async/await >>>>>> >>>>>> .. 'wait but javascript is all async' i hear you say... C#/F# >>>>>> async/await is different to what people normally think async is. C#/F# >>>>>> async/await tackles the callback hell problems in rich clients, anyone >>>>>> who >>>>>> works with rich clients will know of these problems. This is a problem >>>>>> that's attempted to be solved with promises and generators but neither >>>>>> are >>>>>> at the level of async/await. >>>>>> >>>>>> Here's a little before/after sample: >>>>>> >>>>>> *Before:* >>>>>> >>>>>> doAsync1(function () { >>>>>> >>>>>> doAsync2(function () { >>>>>> >>>>>> doAsync3(function () { >>>>>> >>>>>> doAsync4(function () { >>>>>> }) >>>>>> }) >>>>>> }) >>>>>> }) >>>>>> >>>>>> *After:* >>>>>> >>>>>> await doAsync1() >>>>>> await doAsync2() >>>>>> await doAsync3() >>>>>> await doAsync4() >>>>>> 4) Watches, Google Glass wearables and the future of devices. >>>>>> >>>>>> In case you haven't noticed the future isn't just mobiles it's >>>>>> wearables, devices and IOT. Xamarin has same day support for all >>>>>> these platforms including android wear, google glass, Amazon TV and more. >>>>>> As I've said beforeXamarin uses the Native APIs and compiles down to >>>>>> native so using Xamarin you're in the perfect position develop all >>>>>> modern platforms. >>>>>> 5) It's ready now! >>>>>> >>>>>> All the time I hear people say 'html is a fast moving target' or 'it >>>>>> will get there eventually'. Xamarin is here now, it's Native and >>>>>> it's cross platform. Why wait to have a great app when you can have it >>>>>> now >>>>>> and as a bonus know that your application is future proof for future >>>>>> devices. >>>>>> 6) It's fast and stable >>>>>> >>>>>> From personal experience the Xamarin traditional (Xamarin.iOS and >>>>>> Xamarin.Android) platform is solid, fast and stable. You'd be hard >>>>>> pressed to find a problem with the core parts of the platform, any app >>>>>> bugs >>>>>> will probably be your own bugs. >>>>>> 7) Documentation >>>>>> >>>>>> The documentation for Xamarin is solid, it's generally better than >>>>>> the Apple and Android documentation. >>>>>> 8) Xamarin.Forms >>>>>> >>>>>> So how about 100% codeshare and still be Native? Xamarin.Forms >>>>>> allows you to program against a single API and have that single API >>>>>> mapped >>>>>> to native controls on each platform. Hanselman describes it well, 'Write >>>>>> Once Run Everywhere AND Be Native'. >>>>>> >>>>>> It's still early days for the product but the top component >>>>>> developers like Telerik and DevExpress are already developing components >>>>>> for Xamarin.Forms. >>>>>> 9) It's the best of all worlds (Hybrid and Native) >>>>>> >>>>>> If you've taken a look at my Xamarin mashup blog >>>>>> <http://www.michaelridland.com/mobile/asp-net-mvc-xamarin-mashups/> you'd >>>>>> already know that the possibilities with Xamarin are vast, you can >>>>>> essential create your own Cordova and you can completely integrate it >>>>>> with >>>>>> your C# Mvvm/c# Native Code. So you have the full power of the .net >>>>>> framework to build your client application architecture which becomes >>>>>> very >>>>>> useful when you have complex requirements like Offline. >>>>>> 10) Large Community >>>>>> >>>>>> Xamarin uses the .net framework and because of this it's inherited >>>>>> the pre-existing community, this means that even though it's a fairly new >>>>>> platform we already have support for Awesome projects like Json.net, Fody >>>>>> and ReactiveExtensions/ReactiveUI. >>>>>> 11) Profitable Innovative Company >>>>>> >>>>>> Xamarin as a company has a passion for enabling mobile developers to >>>>>> deliver leading experiences. Their products cost money Yes but it's good >>>>>> for us, I see many people complain about the pricing but Xamarin charging >>>>>> money for products allows them to put money back into building amazing >>>>>> products for us. This year at EvolveXamarin released some great new >>>>>> products, a Analytics Cloud Service, a faster Android emulator and a >>>>>> performance profiler. In the future Xamarin is on the rise and this >>>>>> means our tools are only going to get better and better. >>>>>> >>>>>> This is why I choose Xamarin and I think you should too.... >>>>>> >>>>>> If you have any questions regarding Xamarin or need any help please >>>>>> contact me I'm always happy to help. >>>>>> >>>>>> Thanks >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> On Fri, Oct 24, 2014 at 2:58 PM, Stuart Kinnear < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> I've got a bit of free time so I'm starting to play around with >>>>>>> mobile development and getting somewhat bewildered with the options >>>>>>> offered. >>>>>>> >>>>>>> The dream is to knock up a business style app that will allow >>>>>>> persistence of data to the local database eg. sqlite then a transfer to >>>>>>> a >>>>>>> base server. >>>>>>> >>>>>>> Looked at Android dev kit, and that is OK but of course that strikes >>>>>>> out Ios & Windows. >>>>>>> >>>>>>> Looked at PhoneGap/Cordova and got infuriated by the simple task of >>>>>>> posting data (jsonp is a bit of a security risk in my books) >>>>>>> >>>>>>> Early last year I did play with Xamarin and found it unstable, >>>>>>> crashing at a whim. Is it worth giving it another go, or should I just >>>>>>> suck >>>>>>> it up and work on platform specific development tools. >>>>>>> >>>>>>> -- >>>>>>> >>>>>>> ----------------------------------------------------------------------------- >>>>>>> Stuart Kinnear >>>>>>> Mobile: 040 704 5686. Office: 03 9589 6502 >>>>>>> >>>>>>> SK Pro-Active! Pty Ltd >>>>>>> acn. 81 072 778 262 >>>>>>> PO Box 6082 Cromer, Vic 3193. Australia >>>>>>> >>>>>>> Business software developers. >>>>>>> SQL Server, Visual Basic, C# , Asp.Net, Microsoft Office. >>>>>>> >>>>>>> ----------------------------------------------------------------------------- >>>>>>> >>>>>> >>>>>> >>>>> >>>> >>> >> >
