[bdotnet] cloud connected mobile apps
TRANSCRIPT
Architecting Cloud Connected Mobile Apps
Nish Anil
Microsoft MVP .NET & a Xamarin Evangelist! @nishanil | [email protected]
Mobile Apps• Target 3 platforms (iOS, Android, Windows Phone)
• Create Native User Interface (iOS != Android != Windows Phone)
• Provide Platform specific User Experience
• High Performance
• Scalable
Xamarin
Xamarin.Forms
Shared UI Code!
traditional ui code sharing with all native
Code Sharing?
Platform Divergence• Platforms differ, even in subtle ways
• File locations for DBs, etc.
• Some shared code needs to be platform-aware
• Devices differ widely, even within a platform
• Hardware Features: camera, compass, NFC
• Form Factor: Screen size, ratio, density
So?
X-Plat Architecture
What’s a Pattern?
Patterns Vocabulary• Singleton
• Façade (or Manager)
• Provider (also, Simple Dependency)
• Model View ViewModel (MVVM)
• Model View Controller (MVC)
Singleton
Facade´
Provider
MVC
MVVM
Project Structure
Demo!
public class ExpenseItem { [PrimaryKey, AutoIncrement] public int ID { get; set; } public string Name { get; set; } public double Amount { get; set; }
}
Model
public List<ExpenseItem> Expenses
Scale!
Cloud Connected Apps
Azure
Parse
Demo!
http://xhackers.co/xhacknight/
Questions?@nishanil | [email protected]
Thanks!