Sounds like native is the way to go. Thanks for the time you've put into
this email Greg

On Monday, 7 September 2015, Greg Keogh <[email protected]> wrote:

> Folks, it's not Friday, so hang on to your hats and fascinators...
>
> I hope you'll agree that what the Xamarin Platform product attempts to
> achieve is very ambitious and technically amazing. For 6 full working days
> I have been learning and using Xamarin in anger to prove its primary claim
> of writing, emulating and deploying an app on three platforms from a common
> C# code base. This is part of an investigation into how to replace a
> Silverlight 5 app.
>
> I'm going to summarise my experience in the hope it will help guide others
> or possibly produce helpful advice. This post is not for young children or
> people with heart conditions.
>
> If you have a $2500 iMac, Windows 8 or higher, $130 Parallels, a $125
> Apple developer account, a $1750 Xamarin licence for both platforms (look
> for a small business discount) and the required mobile hardware
> ($thousands), then you can start installing the several gigabytes of
> dependent software on Mac and Windows. It took me about 12 hours to install
> and configure all components to the point where I thought I could start
> coding. I had initial terrible trouble activating all the licences on the
> machines and software, and it was unclear which software or SDK components
> needed to be installed where.
>
> There are many, many links in the chain of Xamarin development for
> targeting 3 platforms: Windows, OS X, WinPhone 8 components, Android SDK,
> Android Player, iOS Build Host, Parallels, VirtualBox, Xcode, Visual
> Studio, and much more. As you start to develop you will find that every
> single one of these links in the long chain will fuck up, all the fucking
> time with incomprehensible errors that will utterly confound you. After
> learning most of the quirks, timing, commands and options in failed build
> attempts over 12 hours I managed to get the word "Hello" to display on the
> Windows Phone emulator. Several later I stumbled upon the Android Player
> and managed to see "Hello" in an emulator on OS X. The same iOS app was
> unresponsive and after being stopped dead for almost 2 days, Xamarin
> support found that the "busy indicator" control was transparently covering
> the iPhone window, so a workaround finally got all 3 sanity test apps
> running in three emulators after about three 14 hour working days. Xamarin
> helped me with good online documentation and samples.
>
> I am now slowly developing a small realistic app with a login screen, 2
> pick list screens and a detail screen. I have it running on three emulators
> and my real Nexus 5 phone, mostly. But here's the sobering news: I quite
> seriously estimate that at least 60% of all time coding in Xamarin is spent
> trying to get all the links in the chain to work, or searching the web for
> answers to mind-boggling errors. I have read reports from other developers
> with a similar experience, and possibly worst figures. While developing,
> absolutely everything will blow up at any time: communication errors,
> stalls, build errors, conflicts, lock-ups and incredible error messages.
>
> Here's an example: On Friday night I stopped coding while everything was
> working acceptably well and I was testing on the Android Player. At 9am
> this Monday morning I very carefully start it all up again and return to
> where I think I was, but first I get weird compile errors, then it won't
> deploy and all I see is a blinking cursor in VS2015. After several
> desperate reboots, commands, reconnects and more useless web searching,
> something came good (I have no damn idea what) and it started working at
> around 10:15am. A little later the iOS simulator is miraculously working
> OK. Then the Windows Phone test dies with "metadata file is invalid" in the
> 2nd service call, which has never happened before and there are no clues
> anywhere about what to do. This is all typical, it's SNAFU at almost all
> times and quite often FUBAR.
>
> Writing Xamarin Forms in VS2015 is a poor experience compared to writing
> WPF and Silverlight, as there is no intellisense in the XAML subset, which
> is crippling on productivity. In fact the intellisense fights you and
> continuous Ctrl+z is needed to keep backing out the crazy auto-completion.
> Also, many familiar shortcut keys in VS2015 (Ctrl+Shift+Arrow for example)
> are absorbed by OS X and you will find yourself flipping into weird Mac
> modes. I'm sure there are ways around this, but I'm spreading myself really
> thin to do more research.
> So in summary, developing in the environment I have described is like
> flying on an airline with a fleet of gigantic expensive all-purpose planes
> that have pieces constantly falling off them in the air and everyone on
> board is patching them up on-the-fly and improvising to keep them flying.
> You may have unexpected stopovers for days while some incredible technical
> glitch is fixed. You'll probably finish your journey eventually, but it's
> an endurance test of funds, sanity and skill. I am actually wondering if it
> would be quicker to learn to write iOS, Android and Windows mobile apps in
> their native languages and kits instead of using Xamarin ... and it's
> frightening that I would even consider such an alternative. Perhaps Xamarin
> productivity will rise as I get used to the pain and quirks. And, I have
> not even mentioned the learning curve or the struggle to get unified
> behaviour.
>
> *Greg K*
>

Reply via email to