Introducing Xamarin 3

626 views

Published on

Interested in building cross-platform native mobile apps in C# and sharing, on average, 75% of your business logic across iOS, Android, and Windows Phone? Xamarin is your answer!

On top of all the normal awesomness of Xamarin, Xamarin 3 brought tons of new goodies, including the Xamarin Designer for iOS, major IDE enhancements, improved code sharing, and Xamarin.Forms. Xamarin.Forms allows you to build three native UIs with one shared C# codebase.

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

  • Be the first to like this

No Downloads
Views
Total views
626
On SlideShare
0
From Embeds
0
Number of Embeds
17
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Developer Evangelism Intern @ Xamarin


    From Auburn, Alabama
    Student at Auburn University studying Software Engineering
    Been interning on-and-off for three years in different roles for Xamarin
    Host the Xamarin Podcast with Chris Hardy (spoke here)
  • -Going to go over new features in Xamarin 3
    -A combination of over a year’s worth of development

    -Everything available for download today that we mention!
    -Before we get into Xamarin 3, let’s talk about what Xamarin is for those who are unfamiliar
  • What is Xamarin?
    -Two Products
    -Xamarin Platform
    -Enables you to create iOS, Android, Mac, and Windows apps using C#
    -Backbone of the company
    -Xamarin Test Cloud
    -Still in Beta
    -Test your app on hundreds of physical devices
    -Android and iOS
    -Phones and tablets
    -User interface scripts
    -Identifies issues on apps
    -Xamarin QA actually uses it as well!

    Jumping into the Xamarin Platform
  • -Vender-Specific Silo Approach
    -Most common
    -Three separate languages
    -Three separate toolkits
    -No sharing code
    -Different teams with different expertise
    -Not agile
    -Android rose quickly
    -Supporting new platforms with quick rise is tough
  • -Biggest misconception
    -Cross-Platform = Magic Box
    -Write Once, Run Anywhere
    -Write app once with single codebase
    -Drop into magic box
    -Think Java SWING
    -Good
    -Share code
    -One language
    -Problem
    -Abstraction frameworks cannot express the patterns and variations of each platform’s design language
    -Lowest Common Denominator
    -Want access to 100% native APIs
  • -Fully native mobile apps written in C#
    -Graphic
    -Share lots of code
    -Business logic, input validation, etc.
    -Share ~75% code across platforms
    -Accelerate time to market
    -Productivity
    -Savings
    -Platform-Specific UI stuff
    -Many *think* this is a negative
    -But is actually a positive
    -Build rich applications
    -Deliver optimal performance
    -Leverage every last inch of functionality exposed by the underlying platform and device
    -Power + comfort of C# and .NET
    -.NET BCLs
    -LINQ
    -Start with existing teams
    -C# and Visual Studio = productive from Day 1

  • -Windows developers are familiar with these namespaces
    -Core .NET libraries
    -Windows Phone/Store = more platform-specific APIs
  • -Taken all the native APIs for iOS and made them available for C# developers
    -1-to-1 mapping from Objective-C to C#
    -Some things are C#-ified
    -Button click events
    -.NET BCL access
    -System.Net
    -System.Linq
  • -Android bits also mapped to C#
    -100% API coverage
    -NFC, printing, etc., all works!
    -Power of C# and .NET Framework as well

    Working up towards a theme..
  • As a result of this, C# now runs on 2.6 billion devices
  • Xamarin apps look and feel native because they are native.

    What really is native? What defines native?
    -Native UI
    -Native API Access
    -Just went over both of these
    -Native Performance
    -How do Xamarin apps work and how performant are they?
    -Mono Runtime for Android
    -Compile to IL
    -Converted to native instructions at runtime just JIT
    -Often faster than Dalvik at times
    -AOT on iOS
    -C# compiles down to IL
    -Xamarin creates LLVM bit code and uses same LLVM Compiler/Optimizer that Apple uses for Obj-C
  • -Just gave an overview to Xamarin
    -We are here to celebrate Xamarin 3
    -What is Xmaarin 3
  • Lots of elements, but these are some of the major ones

    Designer
    -Deeply integrated into IDE
    IDE Enhancements
    -For both Xamarin and Visual Studio
    Improved Code Sharing
    -Already could share lots, now can share more
    Xamarin.Forms
    -Build 3 native UIs with a single, shared C# codebase
    -Allows you to share up to 100% code
  • -Shipping for over two years
    -In both Xamarin and Visual Studio
    -Drag-and-Drop
    -Windows world!
    -Multi-layout editing to make it easy to design for all form factors
  • -Full integration into Xamarin and Visual Studio
    -Incorporated elements that people like about VS UI design
    -Develop on the design surface
    -Easily add callbacks to events
    -No Interface Builder
    -Switch between iOS 6 and iOS 7 with a button click
    -Extensive support for AutoLayout
    -Live preview of custom controls
    -Can see data live as you change properties
    -No gray boxes!
  • Play video!
  • Major IDE Enhancments

    Xamarin Studio
    -IDE for Windows and Mac

    What’s new with Xamarin Studio in Xamarin 3?
    -Refreshed UI
    -Added high-resolution artwork for Retina displays
    -Hundreds of new Icons
    -Redesigned Welcome page
    -Portal that helps you get started
    -RSS feed from blogs
    -Starter packs / samples
  • -Fully integrated NuGet Package Manager in Xamarin Studio
    -Beautiful UI
    -Add, update, remove packages
    -Project templates can install NuGet packages when a new project created
    -Xamarin.Forms does this
    -Deep integration with Xamarin Studio
    -Solution Window
    -Universal Search
    -X.S automatically restores NuGet packages that are missing when a solution loads
    -No need to add packages to source control
    -Seamless access to great libraries
    -Xamarin.Auth/Social/Mobile
    -Xamarin.Forms
    -Azure Mobile Services
    -Linq-to-Twitter
    -JSON.NET
    -Couchbase
    -MailKit
  • Old sharing approaches:
    -File linking
    -PCLs

    -Enter: Shared Projects
    -New technology from Microsoft introduced in Visual Studio 2013 Update 2
    -Makes it easy to write common code between multiple platforms
    -Treated as part of the projects that reference it
    -Can switch back and forth between different versions
    -Xamarin.Forms uses this
  • Tooltips now shown when writing code within Editor
  • -F# is now a first-class citizen
    -One year of development work
    -What is F#
    -Type Providers
    -Rachel Reese NYC / NDC Oslo 2014 Talk
    -Use C# and F# together!

    -F# week was two weeks ago
    -Lots of great resources
    -Rachel Reese: Introduction to F# with Xamarin
    -David Siegel: Reproduced Tinder Swipe animation in F#
    -F# contest
    -Finish by July 21st 8AM EDT
    -Build your first F# app, I am
  • Xamarin.Forms: Three UIs, One Shared C# Codebase

    -Write your UI once, and it will run on Android, iOS, and Windows Phone
    -Doesn’t this contract myself?
    -Each control is mapped to a native control on each platform
    -Platform-specific access if you need it
    -Features
    -Phone?
    -UI
    -Camera?
  • Left = traditional Xamarin approach
    Right = Xamarin.Forms approach

    -Highly productive
    -Share code
  • -Build native user interfaces
    -Demo in a second
    -Build out UI on each platform
    -Code
    -XAML
    -Access platform-specific APIs if you need
    -Custom renderers
    -dependencyservice

    -Entirely optional
    -Different approaches
    -All Xamarin.Forms
    -Some Xamarin.Forms
    -Xamarin.Forms -> Non-Xamarin Forms
    -Works with existing MVVM libraries
    -MVVMCross
    -MVVMLight
    -Though has built-in MVVM support
    -Custom databinding
  • -Start at highest-level, then work down to smallest

    -Pages = screen
    -Content
    -Most used
    -MasterDetail
    -Tabbed
    -Native on each platform
    -iOS = bottom
    -Android = top
    -Windows Phone = Pivot
    -Carousel
  • -Inside a page are layouts
    -Handle how a page’s controls are organized and presented
    -Many similar to existing Windows Store / Android layouts
    -StackLayout
    -StackPanel!
  • -Over 40 controls, layouts, and pages to mix and match from
    -Out-of-the-box
    -Can create your own
    -Xamarin.Forms labs
    -Community-supported
    -Bindings
    -Entry
    -UITextField
    -EditText
    -TextBox
  • -I’m wearing a C# shirt!
    -You can get an C# or F# shirt now!

    -Look “sharp”

    Xamarin.com/Shirt
  • Talked about a lot today. Lots to learn. 6 days a week. Live online mobile classes. Around 2 hours each

    New courses available today for:
    Xamarin.Forms
    iOS Designer
    New Code Sharing Strategies and more
    Become a Certified Mobile Developer
  • Introducing Xamarin 3

    1. 1. C# on 2.6 billion devices Pierce Boggan @pierceboggan pierceboggan.com
    2. 2. Automatically test your app on hundreds of mobile devices Create native iOS, Android, Mac and Windows apps in C#
    3. 3. Silo Approach Build Apps Multiple Times
    4. 4. Write Once, Run Anywhere Approach Lowest Common Denominator
    5. 5. Xamarin’s Unique Approach Native with Code Sharing
    6. 6. Windows APIs 100% Coverage
    7. 7. iOS APIs 100% Coverage
    8. 8. Android APIs 100% Coverage
    9. 9. Anything you can do in Objective-C, Swift or Java, can be done in C# with Xamarin.
    10. 10. C# runs on 2.6 Billion Devices
    11. 11. How Xamarin Works  C# + .NET Runtime  Native UI  Native Performance
    12. 12. What’s new in Xamarin 3
    13. 13. Major Elements in Xamarin 3  Xamarin Designer for iOS  Major IDE Enhancements  Improved Code Sharing  Xamarin.Forms
    14. 14. Xamarin Designer for Android Fully integrated into Xamarin Studio & Visual Studio Multi-resolution editing Easy switch between design and Android XML Shipping for over 2 years
    15. 15. Xamarin Designer for iOS Fully integrated into Xamarin Studio & Visual Studio iOS 6 & 7 Storyboard support Intuitive event handling Support for auto-layout Live preview of custom controls
    16. 16. Xamarin Designer in Action
    17. 17. Xamarin Studio: Beautiful New Look
    18. 18. NuGet Package Manager Full support for using NuGet packages Take advantage of the many NuGet packages which are are now shipping with Xamarin compatibility – in Visual Studio or Xamarin Studio
    19. 19. Shared Projects The easiest way to share code Eliminates the hassle of file-linking Easier to collaborate with other Xamarin Studio and Visual Studio users
    20. 20. .NET BCL Documentation Full documentation for the .NET Base Class Libraries (BCL) Recently provided to community by Microsoft Integrated into Xamarin Studio
    21. 21. First Class F# Support
    22. 22. Portable Class Libraries
    23. 23. Xamarin + Xamarin.Forms With Xamarin.Forms: more code-sharing, native controls Traditional Xamarin approach Shared UI Code
    24. 24. Xamarin + Xamarin.Forms Shared UI Code Quickly and easily build native user interfaces using shared code Xamarin.Forms elements map to native controls and behaviors Mix-and-match Xamarin.Forms with native APIs
    25. 25. Pages Content MasterDetail Navigation Tabbed Carousel
    26. 26. Layouts Stack Absolute Relative Grid ContentView ScrollView Frame
    27. 27. Controls ActivityIndicator BoxView Button DatePicker Editor Entry Image Label ListView Map OpenGLView Picker ProgressBar SearchBar Slider Stepper TableView TimePicker WebView EntryCell ImageCell SwitchCell TextCell ViewCell
    28. 28. DEMO
    29. 29. Xamarin 3 Recap  Xamarin Designer for iOS  Major IDE Enhancements  Improved Code Sharing  Xamarin.Forms  So much more!
    30. 30. Get your own C# or F# shirt today!
    31. 31. Learn more Unrivaled Mobile Development Training Live unlimited mobile development training from mobile experts, in your time-zone, on your schedule and as often as you'd like
    32. 32. Key Attendees
    33. 33. Get Started Today: xamarin.com/download

    ×