Dark side of Xamarin: day-to-day usage exeprience

Preview:

Citation preview

Dark side of Xamarinday-to-day usage experience

NorApps AS & Konstantin Loginov

Konstantin Loginov

9 years in mobile development• Windows Mobile• webOS• Windows Phone• iOS• Android

loginov.k@gmail.com

Football & mobile applications fanatic

| NorApps AS

Small team of 6 (soon 7!) people from Bergen, Oslo and Guadalajara

FotMob is our main product

We love football (yes, it’s a pre-requirement)

Featured by Google & Apple

2009. It’s a dark time for mobile developers. iPhone is taking over the market and changing the mobile world.

Obj-C is the last hope iOS-developers have. Android 1.5 has been released, people use Eclipse for Android-software development. Monotouch 1.0 finally released.

Angry Birds yet to be released in a few months.

Objective-C-developers have never been in THAT demand

Microsoft is still dominating

Rumors about brand new Windows Mobile / Phone

C# is one of the most advanced languages

* Miguel de Icaza, creator of GNOME, Mono and Xamarin

*

WHEN YOU FOUND A NEW FRAMEWORK

Xamarin is cool

I ❤ C#, I’m sure you too

Xamarin apps are fairly reliable and fast*

* Millions of FotMob users can confirm!

Complete API coverageSame-day support for new releases

After all… It’s cross-platform!

Sounds like Xamarin is perfect… But?

But it’s not

Xamarin

Extra layer between you and user

You still need to be an expert in Obj-C, Swift, Java

No StackOverflow support!

No cocoapods, JCenter

Bugs

... and other 300 (opened / confirmed “iOS” bugs); 5000+ bugs for all categories

Xamarin-apps are “heavy”

46.0 47.1 47.2Download size 48.0 MB* 50.1 MB 39.9 MB

Install size 73.3 MB 80.1 MB 69.6 MB

Features Core appwatchOS 1.0 AppToday Extension

Core appUNNotificationContentExtensionUNNotificationServiceExtension

watchOS 1.0 AppToday Extension

Core appUNNotificationContentExtensionUNNotificationServiceExtension

watchOS 3.0 AppToday Extension

Xamarin-writtenSwift-written

* Device Type: iPhone 6s

46.1 (summer 2016)

54.0(now)

Download size 68.8 MB 58 MB

Install size 110 MB 60.1 MB

Features Core appUNNotificationContentExtensionUNNotificationServiceExtension

watchOS 1.0 AppToday Extension

Core appUNNotificationContentExtensionUNNotificationServiceExtension

watchOS 3.0 AppToday Extension

Xamarin-writtenSwift-written

* Device Type: iPhone 6s

Xamarin Studio*

* Visual Studio doesn’t sound like an ideal solution either

Microsoft

* Not only because I’ve been working there for 3.5 years

Acquisition is always a risk

Windows Phone is dead

Apple

– Can we be featured? – Sure, do you watchOS 2.0 support? – .... – And what about now? – Have you watched WWDC? Our new notifications are amazing! –

You don’t want this to happen. Trust me.

Same-day support != working product

We gave up

We rewrote all application from Xamarin to Swift in 2 months

Public release scheduled in Q2 2017

We have released semi-Swift-version with support all new iOS 10 features and have been featured

Xamarin still does not support 3D-touch-notifications *

* 19th of February

Subjective Takeaways

Not suitable for UI-intensive

applications

Often Xamarin.Android-developer and Xamarin.iOS-developer are 2 different

people

Limited job-market

Very few successful consumer-focused showcases*

*even with React-Native

To a man with a hammer, everything looks like a nail

Warren Buffett