iOS & Android Dev in C# & Visual Studio using Xamarin

2,182 views

Published on

Rarely does a developer have the luxury of building mobile apps for a single mobile platform. The fact is, the smartphone and tablet space is dominated by three big platforms: iOS, Android and Windows. Traditionally, this means using each platform's provided technology and SDK, i.e. Objective-C for iOS, Java for Android and .NET for Windows, or choosing a write-once/run-anywhere cross-platform toolkit which provides a lowest-common-denominator experience on all platforms, and prevents developers from going "to the metal" on any given platform to take advantage of the native features that make a mobile platform great.
With Xamarin, however, this limitation does not exist. Not only do you get a single, modern language (C#) and framework (.NET) across all three platforms, but you also get a native experience on each, giving your code direct access to the underlying SDK and device metal, including platform-specific UI and device capabilities, so that you can deliver a truly amazing native experience on every platform you target.

Published in: Technology
1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total views
2,182
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
54
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

iOS & Android Dev in C# & Visual Studio using Xamarin

  1. 1. iOS & Android Development in C# & Visual Studio
  2. 2. Nishanth Anil Developer Evangelist Xamarin nish@xamarin.com @nishanil
  3. 3. Native Platform Languages
  4. 4. Write Once, Run Anywhere? != !=
  5. 5. C# to the rescue!
  6. 6. How?
  7. 7. What is Mono? • Open source implementation of the .NET platform created by Ximian (ECMA 334/335) • • • 2001: Created to bring Windows applications to Linux 2003: Acquired by Novell with Ximian Matured at Novell in research mode; now a world-class runtime.
  8. 8. C# IronRuby IronPython Visual Basic F#
  9. 9. C# everywhere…
  10. 10. Xamarin • • Founded in May 2011 • Focused on mobile app development Xamarin has a perpetual license to all Mono IP: Copyrights, patents and trademarks
  11. 11. C# Write 100% native iOS, Android and Windows apps in C#

  12. 12. Anything you can do in Objective-C or Java can be done in C# with Xamarin.
  13. 13. Modern language C# Shared code High performance
  14. 14. How does it work? • • Mono “Bindings” • C# 5 .NET 4.5 exposes underlying SDKs as C#
  15. 15. You Us Them
  16. 16. iOS Development
  17. 17. iOS Development
  18. 18. iOS Apps in Visual Studio !?
  19. 19. Android Development
  20. 20. C# Development Environments Mac OS X Windows Xamarin Business Edition IDE + iOS + Mac Android Mac Windows/Phone
  21. 21. Building for Cross Platform • • • • File Linking Portable Class Library Conditional Compilation Other frameworks..
  22. 22. File Linking • Easy/Avoids complexities 
 of PCL • Can use conditional 
 compilation
  23. 23. Portable Class Libraries
  24. 24. Conditional Compilation • Pre-defined Symbols • • • • #if __iOS__ #if __ANDROID__ #if __MOBILE__ #if __NETFX_CORE__
  25. 25. Other Frameworks… • MVVMCross • • MonoCross • • • http://monocross.net http://ifactr.com Reactive Extensions / Reactive UI • • https://github.com/MvvmCross/MvvmCross http://www.reactiveui.net/ Vernacular (Localization) • https://github.com/rdio/vernacular
  26. 26. Maximize Shared Code • • • • • • • SQLite-NET Web Services Business Logic Input Validation File Operations (& caching) Background Tasks Localization
  27. 27. Links • DietCalculator • • • https://github.com/xamarin/monotouch-samples Android • • https://github.com/nishanil/DietCalculatorVS iOS • • https://github.com/nishanil/DietCalculatorPCL https://github.com/xamarin/monodroid-samples Pre-built Apps • https://github.com/xamarin/prebuilt-apps
  28. 28. Cloudy Cross-Platform Apps Xamarin
 C# on iOS and Android Azure Parse
  29. 29. Azure Component
  30. 30. Azure Portal http:/ /windowsazure.com
  31. 31. Azure Demo Initialize await a list of data await inserting a new object
  32. 32. Azure Demo
  33. 33. Cloudy Cross-Platform Apps Xamarin
 C# on iOS and Android Azure Parse
  34. 34. Parse Component
  35. 35. Parse Portal http:/ /parse.com
  36. 36. Parse Demo Initialize await a list of data await inserting a new object
  37. 37. Parse Demo
  38. 38. Links https://github.com/xamarin/mobile-samples/tree/master/ TaskyPortable https://github.com/conceptdev/TaskCloud (Azure & Parse)
  39. 39. Nishanth Anil Developer Evangelist Xamarin nish@xamarin.com @nishanil

×