justsharing: lessons in xamarin development
TRANSCRIPT
• 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
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>()
}
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
Conclusions
• Potentially a lot to learn
• An investment
• Finding devs is harder
• Cheapest/best way to get to both platforms with
delightful user experience?