xamarin overview

34
SEAMLESSLY BLENDING Creative & Technology on Mobile, Tablet and WEB W W W . B L U E T U B E I N C . C O M

Upload: bluetube

Post on 07-May-2015

1.546 views

Category:

Technology


0 download

DESCRIPTION

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/

TRANSCRIPT

  • 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. Introduction to Xamarin 3. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 3Xamarin?Xamarin Overview What it is What it isnt What the future holds What youll need 4. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 4Xamarin?Xamarin Overview Okay What else? Tips & tricks Resources 5. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 5What it isXamarin Overview Oh, you mean Monotouch? Mono for android? Xamarin.ios === Monotouch Xamarin.Android === Mono for Android Tip: google both 6. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 6What it isXamarin Overview Native? Compiles to native APP using: Objective C (iOS) Java (Android) iOS: Ahead of Time (AOT) Compiler 7. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 7What it isXamarin Overview Native? Native Libraries and APIs iOS: CocoaTouch, CoreGraphics, Quartz 2d, etc. ANDROID: PINVOKE, bindings, etc. 8. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 8What it isXamarin 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. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 9What it isXamarin Overview C# Generics Lambdas etc. Garbage Collection managed C# objects only 10. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 10What it isXamarin Overview iOS Objective C library support Xamarin binding to Obj C libs Examples: Google Maps, Analytics Red Laser TestFlight Etc. 11. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 11What it isXamarin Overview iOS Objective C library support Dont reinvent the wheel Many already on Github, etc. https://github.com/mono/monotouch-bindings 12. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 12What its notXamarin Overview Shared UI Platform Not a great idea anyway due to varying UIparadigms JIT compiling not possible Limits reflection code 13. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 13What its notXamarin 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. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 14What its notXamarin Overview Other limitations iOS:http://docs.xamarin.com/guides/ios/advanced_topics/limitations 15. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 15What the future holdsXamarin Overview Things in Alpha/Beta channels C# 4.0 support Async/await Portable libraries iOS Designer in Xamarin Studio 16. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 16What you needXamarin Overview Xamarin license Specifics ON Website, RECENT changes https://store.xamarin.com/ Starter edition for independent devs FREE Limited a bit 17. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 17What you needXamarin Overview Xamarin Studio iOS specific: A Mac XCode Apple Developer account 18. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 18What you needXamarin Overview Android specific: Android SDK Xamarin STUDIO installation now includes theSDK 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. 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. 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. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 22Tips & TricksXamarin Overview Injection TinyIOC Simple https://github.com/grumpydev/TinyIoC 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. 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. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 25Tips & TricksXamarin Overview Test cloud! 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. 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. 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. 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. 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. 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. 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. 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. SEAMLESSLY BLENDING CREATIVE AND TECHNICAL ON MOBILE, TABLET & WEB WWW.BLUETUBEINC.COM 34The endXamarin Overview These slides will be on Bluetubes blog http://blog.bluetubeinteractive.com Questions?