justsharing: lessons in xamarin development

17
Lessons from Xamarin Development Mark Gibaud - Developer @ JustGiving

Upload: jg-hackers-justgiving-software-team

Post on 13-Jul-2015

207 views

Category:

Technology


0 download

TRANSCRIPT

Lessons from Xamarin

DevelopmentMark Gibaud - Developer @ JustGiving

What is Xamarin?

In the beginningHybrid vs Native

Initial Findings

Goodbye Resharper :-/

VS Integration Flaky

• Started talking about product features

• ..while building out technical capabilities

• Team = Team++;

• XS more stable, updates more stable

Things settled

Some utilities

• MvvmCross

• RestSharp -> ModernHttpClient + Json.NET

• SQLite.NET + Async

• Azure Mobile Services

Xamarin Bindings

• Repo of monotouch/xamarin bindings:

• https://github.com/mono/monotouch-bindings

• Make your own with ObjectiveSharpie

• We made a KissMetrics binding

• Official Xamarin Bindings not around yet, merchants

tardy

Architecture

Example: SQLite

public class Repository : IRepository

{

private readonly IPlatform _platform;

private SqliteDB _db;

public Repository(IPlatform platform)

{

_platform = platform;

_db = new SqliteDB(_platform.Path);

}

}

JG.Mobile.Core

JG.Mobile.iOSpublic void Setup()

{

IoC.Bind<IPlatform,JG.Mobile.iOS.Platform>()

}

Our Architecture

Testing

• Unit Testing lite

• Automated UI Testing:

• Spiked Calabash

• Looking at TestCloud

• Xamarin.UITest

Continuous Integration

• Jenkins +

• Signing key

• Github integration

• Hipchat integration

• TestFlight integration

IB vs UI-in-code

Conclusions

• Potentially a lot to learn

• An investment

• Finding devs is harder

• Cheapest/best way to get to both platforms with

delightful user experience?

Questions?

[email protected]

@markgibaud