20140207 xamarin-red fabriq-microsoft-techdays-nativemobileappdevelopmentwithxamari-nv1.4

Uploaded on

Session conjointe de Zaak Chalal (RedFabriQ) et de Erik Polzin (Xamarin) au Microsoft Techdays 2014 sur le thème du développement d'applications mobiles en natif.

Session conjointe de Zaak Chalal (RedFabriQ) et de Erik Polzin (Xamarin) au Microsoft Techdays 2014 sur le thème du développement d'applications mobiles en natif.

More in: Mobile , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads


Total Views
On Slideshare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide
  • Slide obligatoire. Ne pas effacer.
  • C# + XAML
    C# + XML
    C# + XIB
  • The write-once-run-anywhere approach means approaches like PhoneGap and similar
  • C# + XAML
    C# + XML
    C# + XIB

    Highlight that thru PCL (Portable Class Libraries) you can also re-used binary-compiled .DLLs between the three platforms rather than just C# code.
  • Latest .NET features, focus on Portability
  • Intelissence pour le button


  • 1. Code/développement#mstechdays #xamarin Depuis votre smartphone sur : http://notes.mstechdays.fr De nombreux lots à gagner toute les heures !!! Claviers, souris et jeux Microsoft… Merci de nous aider à améliorer les Techdays ! Donnez votre avis !
  • 2. Code/Développement Native Mobile App Development for iOS, Android and Windows in C# and Visual Studio Erik POLZIN - Sr. Partner Manager XAMARIN Erik.polzin@xamarin.com - www.xamarin.com Zaak CHALAL - CEO RedFabriQ Zaak.chalal@redfabriq.com - www.redfabriq.com
  • 3. Code/développement#mstechdays #xamarin THE PLATFORM FOR THE MOBILE ENTERPRISE In partnership with
  • 4. Code/développement#mstechdays #xamarin OVERVIEW
  • 5. Code/développement#mstechdays #xamarin Smartphone adoption is happening
  • 6. Code/développement#mstechdays #xamarin Enterprises are going mobile on multiple platforms
  • 7. Code/développement#mstechdays #xamarin Sweet spot for the successful mobile enterprise + + -
  • 8. Code/développement#mstechdays #xamarin NATIVE MOBILE APPS STRATEGY CHOICES
  • 9. Code/développement#mstechdays #xamarin The Siloed approach: Build native apps multiple times
  • 10. Code/développement#mstechdays #xamarin Objective C + XIB Java + XML C# + XAML Native UI Native UI Native UI Optional Remote Services (ASP.NETWeb API or any servertechnology) Siloed approach Build native apps multiple times means: • Client development is completely different for each device type • Only the Services (server-side) can be re-used, with certain differences when consuming them • TCO grows exponentially
  • 11. Code/développement#mstechdays #xamarin The Siloed approach: Build native apps multiple times + + - ✗
  • 12. Code/développement#mstechdays #xamarin The write-once-run-anywhere approach Black Box HTML Hybrid scenarios (Semi-native apps) like PhoneGap
  • 13. Code/développement#mstechdays #xamarin The write-once-run-anywhere approach ✗
  • 14. Code/développement#mstechdays #xamarin C# + XIB C# + XML C# + XAML Native UI Native UI Native UI Optional Remote Services (ASP.NETWeb API or any servertechnology) C# unique approach powered by Xamarin and Microsoft .NET Fully native apps written entirely in C# Xamarin exposes 100% of iOS and Android APIs in C# Mobilize existing code, skills, and tools including Visual Studio Share app logic code across device platforms
  • 15. Code/développement#mstechdays #xamarin ANYTHING YOU CAN DO IN OBJECTIVE-C OR JAVA CAN BE DONE IN C# WITH XAMARIN
  • 17. Code/développement#mstechdays #xamarin C# and Xamarin’s unique approach
  • 18. Code/développement#mstechdays #xamarin THE XAMARIN PLATFORM
  • 19. Code/développement#mstechdays #xamarin Xamarin’s enterprise success
  • 20. Code/développement#mstechdays #xamarin
  • 21. Code/développement#mstechdays #xamarin Native compilation, native performance
  • 22. Code/développement#mstechdays #xamarin • A single solution for iOS, Android, and Windows development • Leverage the entire Microsoft ecosystem: • Team Foundation Server (TFS) • ReSharper • Your favorite code coverage and profiling tools Visual Studio 2013 integration for iOS & Android
  • 23. Code/développement#mstechdays #xamarin UI design in Visual Studio • Create UI with drag and drop simplicity • Target multiple screen sizes, resolutions, and OS versions • Layouts saved in native resource formats • Worlds best Android designer available in Visual Studio • iOS coming soon
  • 24. Code/développement#mstechdays #xamarin Xamarin Component Store Build apps faster Add high quality pre-build app components directly from Visual Studio Beautiful cross-platform UI controls, could services, and enterprise backend integrations are just a few clicks away
  • 25. Code/développement#mstechdays #xamarin Accelerate development with code sharing Code sharing statistics from production Xamarin app:
  • 26. Code/développement#mstechdays #xamarin “With Xamarin, developers combine all of the productivity benefits of C#, Visual Studio 2013 and Windows Azure with the flexibility to quickly build for multiple device targets.” S. Somasegar, Corporate Vice President, Microsoft Technical collaboration for superior developer experience Exclusive MSDN offers that accelerate the transition to mobile development Microsoft and Xamarin Partner Globally
  • 27. Code/développement#mstechdays #xamarin CASE STUDIES
  • 28. Code/développement#mstechdays #xamarin Sharing 50,000 lines of code About Rdio Rdio is the leading music streaming and sharing service started by the founders of Skype Rdio is already in 30 countries with over 20 million songs Available in 31 countries “Rdio’s mobile app is also the best looking and best implemented of the three [music streaming apps reviewed].” Wired Magazine
  • 29. Code/développement#mstechdays #xamarin Sharing 50,000 lines of code Challenge Unable to deliver features on all platforms simultaneously because of multiple, platform-specific code bases High costs to develop and maintain apps Results Using Xamarin, Rdio now shares over 50,000 lines of C# across iOS, Android, and Windows, enabling them to focus on feature-parity and user experience
  • 30. Code/développement#mstechdays #xamarin Sharing 50,000 lines of code
  • 31. Code/développement#mstechdays #xamarin IMPLEMENTATION
  • 32. Code/développement#mstechdays #xamarin Which device to target ? Really, do you have a choice?
  • 33. Code/développement#mstechdays #xamarin Architecture reminder C# + XIB C# + XML C# + XAML Native UI Native UI Native UI Optional Remote Services (ASP.NETWeb API or any servertechnology) SDK : Wrapper + Compiler
  • 34. Code/développement#mstechdays #xamarin Application life cycle Visual Studio and TFS Target UI Design Code & Share Unit Testing Xamarin Test cloud iOSAndroidXAMARIN Project architecture & methodologies Deploy Windows Store iTunesGoogle Play, …
  • 35. Code/développement#mstechdays #xamarin Design UI Use Visual Studio to design Android UI 
  • 36. Code/développement#mstechdays #xamarin Project organization and code sharing Code sharing  Pragma  File Links  PCL  Partial class  Inheritance
  • 37. Code/développement#mstechdays #xamarin Understand the « Binding » : Simple sample with button control Under IOS  Under Android 
  • 38. Code/développement#mstechdays #xamarin Compiler Native compilation Xamarin's compiler is smart - so smart that it can produces exactly the right output for each platform. Xamarin.iOS does full Ahead-of- Time (AOT) compilation to produce an ARM binary suitable for Apple's App Store, while Xamarin.Android takes advantage of Just In Time compilation right on the Android device. Your shared code never needs to know the difference!
  • 39. Code/développement#mstechdays #xamarin FIELD SERVICE https://github.com/xamarin/prebuilt-apps
  • 40. Code/développement#mstechdays #xamarin iOS and Android limitations • Two compiling way = two contexts DotNet runtime limitations under iOS and Android • Android, Apple limitations • IOS, Example: Dynamic code generation is forbidden by Apple. So no VM. • The "DLR" can not be used (cannot use Reflection.System.Emit, …) • For more information about limitations please read : – Android : http://docs.xamarin.com/guides/android/advanced_topics/limitations/offline.pdf – iOS : http://docs.xamarin.com/guides/ios/advanced_topics/limitations/offline.pdf
  • 41. Code/développement#mstechdays #xamarin Recommendations • Engineered for code sharing – PCL to isolate your business logic – Partial class (example on your ViewModel) – Pragma (The preprocessors directives) – Controls / components – … • Architecture and methodologies – Organize and normalize your solutions – Git with TFS – Framework IOC like OpenNetCF ioc / tinyioc – Framework MVVM like mvvmcross – Database : SQLite / NoSQL – TEST, TEST and TEST : Test units (Andr.Unit, Touch.Unit), Xamarin Test Cloud, – … • Develop your components and Framework • Components on XAMARIN STORE
  • 42. Code/développement#mstechdays #xamarin ENTERPRISE GRADE CAPABILITIES
  • 43. Code/développement#mstechdays #xamarin Go Mobile program Live online training from Xamarin experts Lectures and labs Two coaching sessions where you meet one on one with expert Xamarin mobile developers What you’ll learn iOS and Android fundamentals Mobile app lifecycle Native UI and controls Cross-platform architecture Mobile best practices Secure backend integration Xamarin University
  • 44. Code/développement#mstechdays #xamarin Xamarin developer certifications Xamarin skills are increasingly in demand certifications let the market know that you represent top Xamarin talent
  • 45. Code/développement#mstechdays #xamarin Xamarin global support For small business and individuals Email support Xamarin-managed forums Available to all The Xamarin developer center 150+ guides and tutorials 250+ sample apps Release notes, videos, and much more Evolve 2013 videos 50 sessions covering enterprise mobility and cross-platform best practices
  • 46. Code/développement#mstechdays #xamarin NEXT STEPS
  • 47. Code/développement#mstechdays #xamarin MSDN subscriber offers
  • 48. Code/développement#mstechdays #xamarin MSDN subscriber offers
  • 49. Digital is business