Sydney Mobile .Net
Developers
Cross Platform Native App Development
iOS, Android, Windows Phone, Windows 8

Alec Tucker
He...
Inaugural Meetup
• Introductions
• Focus on Mobile, .Net, Xamarin
• Planned format
• Group Details
• http://xamarin.meetup...
Leaders in Finance Technology

(also pretty good at supplying venue and pizza!!)
• Sign up at xamarin.com/university
• Learn to build native iOS, Android, and Windows
apps with C# in just 30 days.
• Live...
Nokia & Microsoft
• Vaughn Knight, Nokia Australia
The Plan
• Approaches to Cross Platform Mobile Dev
• WORA / WOOE

• Cross Platform AND Native
• Code Sharing Approaches
• ...
Android Fragmentation

July 2012 – 3,997 distinct devices

July 2013 – 11,868 distinct devices

Source: http://opensignal....
Android Fragmentation

Source: http://opensignal.com/reports/fragmentation-2013/
OS Versions Out There (iOS & Android)

Source: http://opensignal.com/reports/fragmentation-2013/
Screen Sizes (iOS and Android)

iOS – Distinct Screen Sizes

Android – Distinct Screen Sizes

Source: http://opensignal.co...
Approaches
• App dev – multiple platforms
• Mobile Web  Hybrid  Native
• Historically native has been overlooked as it’s...
Cross Platform AND Native
Xamarin
Write one shared C# codebase, and separate platform-specific
user interfaces also in C#....
Code Sharing Approaches
• File linking
• Quick demo

• Pros
• Shared code can be put within precompiler directives to cont...
(shamelessly pinched from James Montemagno’s presentation at the Seattle Mobile .Net
Developers meetup)
Code Sharing Approaches
• Portable Class Library (PCL)
• Quick demo
MVVM Pattern
Views

Platform
specific

UI – how to display information

Data Binding

View Models
What information to disp...
MvvmCross
• Best illustrated with a demo
Questions / Discussion / Pizza
Contact Details / References
Group
http://www.meetup.com/SydneyMobileDot
NetDevelopers/

Xamarin

Further Contacts
Vaughan...
SydMobDev Feb 2014 - Cross Platform Native App Development with Xamarin and MvvmCross
Upcoming SlideShare
Loading in …5
×

SydMobDev Feb 2014 - Cross Platform Native App Development with Xamarin and MvvmCross

1,026 views
838 views

Published on

Sydney Mobile .Net Developers Meetup - Feb 2014

Published in: Technology
1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total views
1,026
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
15
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide
  • https://components.xamarin.com/view/googleglasshttp://xamarin.com/test-cloud
  • Although this looks good in theory, and does have it’s uses, it is open to being overused.Heavy use of precompiler directives can quickly lead to unmaintainable code.
  • SydMobDev Feb 2014 - Cross Platform Native App Development with Xamarin and MvvmCross

    1. 1. Sydney Mobile .Net Developers Cross Platform Native App Development iOS, Android, Windows Phone, Windows 8 Alec Tucker Head of Mobile Product Development, APAC White Clarke Group
    2. 2. Inaugural Meetup • Introductions • Focus on Mobile, .Net, Xamarin • Planned format • Group Details • http://xamarin.meetup.com/ • http://www.meetup.com/SydneyMobileDotNetDevelopers/ • Current sponsors…
    3. 3. Leaders in Finance Technology (also pretty good at supplying venue and pizza!!)
    4. 4. • Sign up at xamarin.com/university • Learn to build native iOS, Android, and Windows apps with C# in just 30 days. • Live online, interactive classes with live coding. • Labs with full source code solutions. • Nearly 600 pages of curriculum documentation. • Access to Xamarin Certified Developer exam. • First March session is filling up fast.
    5. 5. Nokia & Microsoft • Vaughn Knight, Nokia Australia
    6. 6. The Plan • Approaches to Cross Platform Mobile Dev • WORA / WOOE • Cross Platform AND Native • Code Sharing Approaches • File Linking • Portable Class Libraries • MVVM Pattern Suitability • Using MVVM in iOS and Android Apps
    7. 7. Android Fragmentation July 2012 – 3,997 distinct devices July 2013 – 11,868 distinct devices Source: http://opensignal.com/reports/fragmentation-2013/
    8. 8. Android Fragmentation Source: http://opensignal.com/reports/fragmentation-2013/
    9. 9. OS Versions Out There (iOS & Android) Source: http://opensignal.com/reports/fragmentation-2013/
    10. 10. Screen Sizes (iOS and Android) iOS – Distinct Screen Sizes Android – Distinct Screen Sizes Source: http://opensignal.com/reports/fragmentation-2013/
    11. 11. Approaches • App dev – multiple platforms • Mobile Web  Hybrid  Native • Historically native has been overlooked as it’s assumed to mean developing separately for each platform • Cross platform AND native…
    12. 12. Cross Platform AND Native Xamarin Write one shared C# codebase, and separate platform-specific user interfaces also in C#. The result is native apps that share business logic, data access, networking code and more. Compilation Xamarin.iOS does ahead-of-time compilation to produce ARM binaries for Apple’s App Store. Xamarin.Android uses just-in-time compilation. In both cases the app is native. Not cross compiled. Not interpreted. Native.
    13. 13. Code Sharing Approaches • File linking • Quick demo • Pros • Shared code can be put within precompiler directives to control which bits are compiled for which platforms • Can be used to implement platform specific code / features • Cons • Can seem like a good idea, but you can quickly come unstuck and end up with unmaintainable code…
    14. 14. (shamelessly pinched from James Montemagno’s presentation at the Seattle Mobile .Net Developers meetup)
    15. 15. Code Sharing Approaches • Portable Class Library (PCL) • Quick demo
    16. 16. MVVM Pattern Views Platform specific UI – how to display information Data Binding View Models What information to display Flow of interaction Reference Models Data entities Portable
    17. 17. MvvmCross • Best illustrated with a demo
    18. 18. Questions / Discussion / Pizza
    19. 19. Contact Details / References Group http://www.meetup.com/SydneyMobileDot NetDevelopers/ Xamarin Further Contacts Vaughan Knight – Nokia @vaughanknight vaughan.knight@nokia.com www.xamarin.com MvvmCross Dave Glover – Microsoft dglover@microsoft.com Slodge.blogspot.co.uk Mvvm Background http://blogs.msdn.com/b/kashiffl/archive/2 010/11/14/mvvm-technicaldescription.aspx Andrew Coates – Microsoft andrew.coates@Microsoft.com Alec Tucker atucker@whiteclarkegroup.com @alecdtucker UX Design Guidelines Apple https://developer.apple.com/library /ios/documentation/userexperience /conceptual/mobilehig/ Android https://developer.android.com/desi gn/index.html Windows Phone http://dev.windowsphone.com/enus/design/principles

    ×