Xamarin Overview

2,119 views
1,909 views

Published on

This slide was first presented at the Atlanta Xamarin Users Group. Feel free to join us and share your Xamarin knowledge at the next one @ http://www.meetup.com/Atlanta-Xamarin-Users-Group/

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,119
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
44
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Xamarin Overview

  1. 1. S E A M L E S S L Y B L E N D I N G C r e a t i v e & T e c h n o l o g y o nM o b i l e , T a b l e t a n d W E BW W W . B L U E T U B E I N C . C O M
  2. 2. Introduction to Xamarin
  3. 3. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 3Xamarin?Xamarin Overview• What it is• What it isn‟t• What the future holds• What you‟ll need
  4. 4. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 4Xamarin?Xamarin Overview• Okay… What else?• Tips & tricks• Resources
  5. 5. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 5What it is…Xamarin Overview• Oh, you mean Monotouch?• Mono for android?• Xamarin.ios === Monotouch• Xamarin.Android === Mono for Android• Tip: google both
  6. 6. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 6What it is…Xamarin Overview• Native?• Compiles to native APP using:• Objective C (iOS)• Java (Android)• iOS: Ahead of Time (AOT) Compiler
  7. 7. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 7What it is…Xamarin Overview• Native?• Native Libraries and APIs• iOS: CocoaTouch, CoreGraphics, Quartz 2d, etc.• ANDROID: PINVOKE, bindings, etc.
  8. 8. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 8What it is…Xamarin Overview• C#• C# 2.0 language features• soon to be C# 4.0• “Most” .NET base libraries (via Mono)• Some variation between iOS and Android• LINQ
  9. 9. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 9What it is…Xamarin Overview• C#• Generics• Lambdas• etc.• Garbage Collection• managed C# objects only
  10. 10. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 10What it is…Xamarin Overview• iOS Objective C library support• Xamarin “binding” to Obj C libs• Examples:• Google Maps, Analytics• Red Laser• TestFlight• Etc.
  11. 11. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 11What it is…Xamarin Overview• iOS Objective C library support• Don‟t reinvent the wheel• Many already on Github, etc.• https://github.com/mono/monotouch-bindings
  12. 12. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 12What it‟s not…Xamarin Overview• Shared UI Platform• Not a great idea anyway due to varying UIparadigms• JIT compiling not possible• Limits reflection code
  13. 13. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 13What it‟s not…Xamarin Overview• Limited generics support• Most of the useful stuff is there• Garbage collection not perfect• Due to the native/managed interaction• Needs „help‟ – more disposal code than most.NET-based solutions
  14. 14. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 14What it‟s not…Xamarin Overview• Other limitations• iOS:http://docs.xamarin.com/guides/ios/advanced_topics/limitations
  15. 15. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 15What the future holds…Xamarin Overview• Things in Alpha/Beta channels• C# 4.0 support• Async/await• Portable libraries• iOS Designer in Xamarin Studio
  16. 16. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 16What you need…Xamarin Overview• Xamarin license• Specifics ON Website, RECENT changes• https://store.xamarin.com/• Starter edition for independent devs• FREE• Limited a bit
  17. 17. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 17What you need…Xamarin Overview• Xamarin Studio• iOS specific:• A Mac• XCode• Apple Developer account
  18. 18. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 18What you need…Xamarin Overview• Android specific:• Android SDK• Xamarin STUDIO installation now includes theSDK
  19. 19. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 19Other things it can doXamarin Overview• Visual Studio integration• Still need a Mac for IOS• XCode for iOS UI design• Until Xamarin ios designer ready• No extra needs for Android
  20. 20. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 20Other things it can doXamarin Overview• Code sharing for mobile• Done with file “linking”• Able to share C# code betweeniOS, Android, Windows phone, .NET• Xamarin.Mac for Mac• development in C#
  21. 21. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 21Tips & TricksXamarin Overview• SQLite-net• ORM for SQLite• Maps C# classes to SQLite tables• Easy to use• https://github.com/praeclarum/sqlite-net
  22. 22. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 22Tips & TricksXamarin Overview• Injection• TinyIOC• Simple• https://github.com/grumpydev/TinyIoC
  23. 23. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 23Tips & TricksXamarin Overview• Event Aggregator• TinyMessenger• Loosely coupled communication• https://github.com/grumpydev/TinyMessenger
  24. 24. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 24Tips & TricksXamarin Overview• Android Emulators• Get a test device• X86 has made life easier• In Xamarin Studio, set the project to supportx86 by selecting the x86 checkbox underOptions > Build > Android Build > Advanced
  25. 25. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 25Tips & TricksXamarin Overview• Test cloud!
  26. 26. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 26Tips & TricksXamarin Overview• Garbage collection• Sgen vs. Boehm• SGEN recommended, boehm the default• Unhook button event handlers
  27. 27. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 27Tips & TricksXamarin Overview• Garbage collection• Xamarin examples show:Button.TouchUpInside += (sender, e) = {//do something};• Avoid this• Why?
  28. 28. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 28Tips & TricksXamarin Overview• Xamarin studio tips• Drag & drop files to nest them• Merging iOS storyboards can be difficult• XML, but…
  29. 29. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 29Tips & TricksXamarin Overview• Xamarin studio tips• File linking to share code betweenAndroid, Windows phone, .NET projects, etc.• No platform specific code• Linking is the best option until portable librariesare available to use
  30. 30. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 30Tips & TricksXamarin Overview• Xamarin studio tips• iOS XCode integration gotchas• Sometimes tries to destroy your project• Save early, save often• Commit to SVN, GIT often• Xamarin component store
  31. 31. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 31ResourcesXamarin Overview• Xamarin resources• xamarin.com• Guides: http://docs.xamarin.com/guides• Recipes: http://docs.xamarin.com/recipes• Samples:http://docs.xamarin.com/samples-all
  32. 32. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 32ResourcesXamarin Overview• Android• developer.android:http://developer.android.com/index.html• Device stats:http://developer.android.com/about/dashboards/index.html
  33. 33. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 33ResourcesXamarin Overview• iOS• Developer Library:https://developer.apple.com/library/ios/navigation/index.html
  34. 34. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 34The endXamarin Overview• These slides will be on Bluetube‟s blog• http://blog.bluetubeinteractive.com• Questions?

×