SlideShare a Scribd company logo
1 of 27
Xamarin
   Seminar
       19th April 2012
    Copyright 2012 © Xamarin Inc. All rights reserved
Agenda
Cross-Platform Mobile Development

                            Greg Shackles
                            Senior Software Engineer
                            OLO Online Ordering
                            greg@gregshackles.com

                            gregshackles.com
                            @gshackles
                            github.com/gshackles
                                                             Xamarin
         Copyright 2012 © Xamarin Inc. All rights reserved
Introduction
This session will discuss how to use C# to develop
iOS, Android and Windows Phone applications.


We’ll cover:

 •Why use C#?
 •Code sharing techniques and patterns
 •Useful libraries

                                                                     Xamarin
                 Copyright 2012 © Xamarin Inc. All rights reserved
Native Platform Languages




                                                            Xamarin
        Copyright 2012 © Xamarin Inc. All rights reserved
Write Once, Run Anywhere?




    !=                                                       !=



                                                                  Xamarin
         Copyright 2012 © Xamarin Inc. All rights reserved
C# to the Rescue!




                                                        Xamarin
    Copyright 2012 © Xamarin Inc. All rights reserved
Benefits

•C# and .NET are mature and powerful
•Skill reuse on all platforms
•Apps are still completely native
•Code can be reused across platforms
 (even non-mobile platforms!)

                                                               Xamarin
           Copyright 2012 © Xamarin Inc. All rights reserved
Architecture
                                                                         Mono#for#
  UI#      Silverlight#                   MonoTouch#
                                                                         Android#


  C##                                   Business#Logic#



Run)me#       .NET#                                              Mono#



Pla/orm#      WP7#                                iOS#                   Android#




                                                                                     Xamarin
             Copyright 2012 © Xamarin Inc. All rights reserved
What Code Can Be Shared?

•Most non-UI or platform code
•Core application logic
•Entities
•LINQ (objects, XML)
•Network access (System.Net)
                                                               Xamarin
           Copyright 2012 © Xamarin Inc. All rights reserved
Requirements
•MonoTouch
  •Mac OS X
  •MonoDevelop
•Mono for Android
  •Mac OS X or Windows
  •MonoDevelop or Visual Studio 2010
•Windows Phone
  •Windows
  •Visual Studio 2010

                                                                            Xamarin
                        Copyright 2012 © Xamarin Inc. All rights reserved
File Linking

•All profiles are not created equal
•Single copy of file
•Compile-time verification
•Project Linker extension for VS2010
 http://msdn.microsoft.com/en-us/library/ff648745


                                                                  Xamarin
              Copyright 2012 © Xamarin Inc. All rights reserved
Abstraction

•Separate common logic from UI
•Interfaces, base classes, etc.
public interface IContactManager
{
  IList<Person> GetContacts();
}

public class AndroidContactManager : IContactManager
{
    public IList<Person> GetContacts()
    {
  
   return null;
    }
}                                                                         Xamarin
                      Copyright 2012 © Xamarin Inc. All rights reserved
Library: Xamarin.Mobile

•Abstraction layer over platform APIs
  •Contacts
  •Geolocation
  •Camera
  •...
          http://xamarin.com/mobileapi


                                                                     Xamarin
                 Copyright 2012 © Xamarin Inc. All rights reserved
Observer Pattern

•Decouple UI from business logic
•Business layer can publish updates
•UI layer subscribes to updates
public EventHandler<EventArgs> MessageReceived;

MessageReceived += (sender, args) =>
{
   Console.WriteLine("Message received");
};

                                                                           Xamarin
                       Copyright 2012 © Xamarin Inc. All rights reserved
Library: TinyMessenger

•Event aggregator/messenger
•Publish/subscribe
•Single file
•Supports iOS, Android, Windows Phone
   https://github.com/grumpydev/TinyMessenger


                                                                  Xamarin
              Copyright 2012 © Xamarin Inc. All rights reserved
Partial Classes and
                  Methods
public partial class MyClass
{
   // partial methods are private, and must return void
  partial void Foo();

    public void Bar()
    {
      Foo();
    }
}

public partial class MyClass
{
  partial void Foo()
  {
     Console.WriteLine("Foo");
  }
}

                                                                            Xamarin
                        Copyright 2012 © Xamarin Inc. All rights reserved
Conditional Compilation

#if __ANDROID__
   Console.Write(“Only on Android”);
#elif WINDOWS_PHONE
   Console.Write(“Only on Windows Phone”);
#else
   Console.Write(“Everything else”);
#endif



                                                                  Xamarin
              Copyright 2012 © Xamarin Inc. All rights reserved
Conditional Compilation
•MonoTouch
  •No default symbols
•Mono for Android                              •Windows Phone
  •__ANDROID__                                         •WINDOWS_PHONE
  •__ANDROID_1__                                       •SILVERLIGHT
  •__ANDROID_2__
  •...

                                                                    Xamarin
                Copyright 2012 © Xamarin Inc. All rights reserved
File Access
•Direct file access
    •System.IO
    •Works on iOS and Android
    •Not supported by Windows Phone
    •Paths are different on iOS and Android
File.WriteAllText(
 Environment.GetFolderPath(Environment.SpecialFolder.Personal),
 "Writing directly to a file");

                                                                         Xamarin
                     Copyright 2012 © Xamarin Inc. All rights reserved
File Access
•Isolated Storage
    •Works on iOS, Android, and Windows Phone
    •Higher level API
    •Don’t need to worry about file paths

using (var store = IsolatedStorageFile.GetUserStoreForApplication())
using (var writer = store.OpenFile("MyFile", FileMode.Create))
{
  // write to the file
}

                                                                             Xamarin
                         Copyright 2012 © Xamarin Inc. All rights reserved
Database Access

•iOS and Android
  •SQLite
  •Native APIs or ADO.NET
•Windows Phone
  •SQL Server CE
  •LINQ to SQL
                                                                  Xamarin
              Copyright 2012 © Xamarin Inc. All rights reserved
Library: C#-SQLite


•C# port of SQLite database
•File based
•Useful for Windows Phone, Silverlight
     http://code.google.com/p/csharp-sqlite



                                                                 Xamarin
             Copyright 2012 © Xamarin Inc. All rights reserved
Library: sqlite-net

•Layer over SQLite database
•Strongly-typed queries
•Single file
•Supports iOS, Android, Windows Phone
      http://code.google.com/p/sqlite-net


                                                                 Xamarin
             Copyright 2012 © Xamarin Inc. All rights reserved
Library: TinyIoC


•Inversion of Control container
•Single file
•Supports iOS, Android, Windows Phone
     https://github.com/grumpydev/TinyIoC



                                                                 Xamarin
             Copyright 2012 © Xamarin Inc. All rights reserved
Library: MonoCross

•Cross-platform MVC framework
•Shared models and controllers
•Views specific to platforms
•Supports iOS, Android, Windows Phone
•Sits atop MonoTouch, Mono for Android
      http://code.google.com/p/monocross/
                                                                 Xamarin
             Copyright 2012 © Xamarin Inc. All rights reserved
More Links

MWC 2012 App
https://github.com/xamarin/mobile-samples/tree/master/MWC


NYC Code Camp 6 App
https://github.com/gshackles/NycCodeCamp6


Mobile Development in C#
http://amzn.com/1449320236


                                                                      Xamarin
                  Copyright 2012 © Xamarin Inc. All rights reserved
Xamarin
    Seminar
   Please give us your feedback
  http://bit.ly/xamfeedback


      Follow us on Twitter
        @XamarinHQ

           19th April 2012
        Copyright 2012 © Xamarin Inc. All rights reserved

More Related Content

What's hot

Xamarin University Presents: Building Your First Intelligent App with Xamarin...
Xamarin University Presents: Building Your First Intelligent App with Xamarin...Xamarin University Presents: Building Your First Intelligent App with Xamarin...
Xamarin University Presents: Building Your First Intelligent App with Xamarin...Xamarin
 
Developing and Designing Native Mobile Apps in Xamarin Studio
Developing and Designing Native Mobile Apps in Xamarin StudioDeveloping and Designing Native Mobile Apps in Xamarin Studio
Developing and Designing Native Mobile Apps in Xamarin StudioXamarin
 
Xamarin Platform
Xamarin PlatformXamarin Platform
Xamarin PlatformRui Marinho
 
Xamarin 4 - the future of apps
Xamarin 4  - the future of appsXamarin 4  - the future of apps
Xamarin 4 - the future of appsJames Montemagno
 
Developing Cross-platform Native Apps with Xamarin
Developing Cross-platform Native Apps with XamarinDeveloping Cross-platform Native Apps with Xamarin
Developing Cross-platform Native Apps with Xamarindanhermes
 
Flying High with Xamarin
Flying High with XamarinFlying High with Xamarin
Flying High with XamarinSam Basu
 
Native App Development for iOS, Android, and Windows with Visual Studio
Native App Development for iOS, Android, and Windows with Visual StudioNative App Development for iOS, Android, and Windows with Visual Studio
Native App Development for iOS, Android, and Windows with Visual StudioXamarin
 
Native i os, android, and windows development in c# with xamarin 4
Native i os, android, and windows development in c# with xamarin 4Native i os, android, and windows development in c# with xamarin 4
Native i os, android, and windows development in c# with xamarin 4Xamarin
 
Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#
Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#
Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#Xamarin
 
Cross Platform Development with Xamarin
Cross Platform Development with XamarinCross Platform Development with Xamarin
Cross Platform Development with XamarinXpand IT
 
Dotnetconf - Introduction to Xamarin and Xamarin.Forms
Dotnetconf - Introduction to Xamarin and Xamarin.FormsDotnetconf - Introduction to Xamarin and Xamarin.Forms
Dotnetconf - Introduction to Xamarin and Xamarin.FormsJames Montemagno
 
State of Union: Xamarin & Cross-Platform .NET in 2016 and Beyond
State of Union: Xamarin & Cross-Platform .NET in 2016 and BeyondState of Union: Xamarin & Cross-Platform .NET in 2016 and Beyond
State of Union: Xamarin & Cross-Platform .NET in 2016 and BeyondNick Landry
 
Developing with Google Glass and Xamarin
Developing with Google Glass and XamarinDeveloping with Google Glass and Xamarin
Developing with Google Glass and XamarinXamarin
 
Mobile Cross-Platform App Development in C# with Xamarin
Mobile Cross-Platform App Development in C# with XamarinMobile Cross-Platform App Development in C# with Xamarin
Mobile Cross-Platform App Development in C# with XamarinNick Landry
 
Getting Started with iOS & Android Development Using Xamarin & Visual Studio
Getting Started with iOS & Android Development Using Xamarin & Visual StudioGetting Started with iOS & Android Development Using Xamarin & Visual Studio
Getting Started with iOS & Android Development Using Xamarin & Visual StudioMark Arteaga
 
Xamarin and SAP Mobile Platform for Mobile Enterprise Success
Xamarin and SAP Mobile Platform for Mobile Enterprise SuccessXamarin and SAP Mobile Platform for Mobile Enterprise Success
Xamarin and SAP Mobile Platform for Mobile Enterprise SuccessXamarin
 
Cross Platform Development with Xamarin
Cross Platform Development with XamarinCross Platform Development with Xamarin
Cross Platform Development with Xamarinbryan costanich
 

What's hot (20)

Xamarin University Presents: Building Your First Intelligent App with Xamarin...
Xamarin University Presents: Building Your First Intelligent App with Xamarin...Xamarin University Presents: Building Your First Intelligent App with Xamarin...
Xamarin University Presents: Building Your First Intelligent App with Xamarin...
 
Developing and Designing Native Mobile Apps in Xamarin Studio
Developing and Designing Native Mobile Apps in Xamarin StudioDeveloping and Designing Native Mobile Apps in Xamarin Studio
Developing and Designing Native Mobile Apps in Xamarin Studio
 
Xamarin Platform
Xamarin PlatformXamarin Platform
Xamarin Platform
 
Xamarin 4 - the future of apps
Xamarin 4  - the future of appsXamarin 4  - the future of apps
Xamarin 4 - the future of apps
 
Developing Cross-platform Native Apps with Xamarin
Developing Cross-platform Native Apps with XamarinDeveloping Cross-platform Native Apps with Xamarin
Developing Cross-platform Native Apps with Xamarin
 
Flying High with Xamarin
Flying High with XamarinFlying High with Xamarin
Flying High with Xamarin
 
Native App Development for iOS, Android, and Windows with Visual Studio
Native App Development for iOS, Android, and Windows with Visual StudioNative App Development for iOS, Android, and Windows with Visual Studio
Native App Development for iOS, Android, and Windows with Visual Studio
 
Native i os, android, and windows development in c# with xamarin 4
Native i os, android, and windows development in c# with xamarin 4Native i os, android, and windows development in c# with xamarin 4
Native i os, android, and windows development in c# with xamarin 4
 
Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#
Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#
Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
 
Xamarin
XamarinXamarin
Xamarin
 
Cross Platform Development with Xamarin
Cross Platform Development with XamarinCross Platform Development with Xamarin
Cross Platform Development with Xamarin
 
Xamarin.Forms
Xamarin.FormsXamarin.Forms
Xamarin.Forms
 
Dotnetconf - Introduction to Xamarin and Xamarin.Forms
Dotnetconf - Introduction to Xamarin and Xamarin.FormsDotnetconf - Introduction to Xamarin and Xamarin.Forms
Dotnetconf - Introduction to Xamarin and Xamarin.Forms
 
State of Union: Xamarin & Cross-Platform .NET in 2016 and Beyond
State of Union: Xamarin & Cross-Platform .NET in 2016 and BeyondState of Union: Xamarin & Cross-Platform .NET in 2016 and Beyond
State of Union: Xamarin & Cross-Platform .NET in 2016 and Beyond
 
Developing with Google Glass and Xamarin
Developing with Google Glass and XamarinDeveloping with Google Glass and Xamarin
Developing with Google Glass and Xamarin
 
Mobile Cross-Platform App Development in C# with Xamarin
Mobile Cross-Platform App Development in C# with XamarinMobile Cross-Platform App Development in C# with Xamarin
Mobile Cross-Platform App Development in C# with Xamarin
 
Getting Started with iOS & Android Development Using Xamarin & Visual Studio
Getting Started with iOS & Android Development Using Xamarin & Visual StudioGetting Started with iOS & Android Development Using Xamarin & Visual Studio
Getting Started with iOS & Android Development Using Xamarin & Visual Studio
 
Xamarin and SAP Mobile Platform for Mobile Enterprise Success
Xamarin and SAP Mobile Platform for Mobile Enterprise SuccessXamarin and SAP Mobile Platform for Mobile Enterprise Success
Xamarin and SAP Mobile Platform for Mobile Enterprise Success
 
Cross Platform Development with Xamarin
Cross Platform Development with XamarinCross Platform Development with Xamarin
Cross Platform Development with Xamarin
 

Similar to Cross-platform Mobile Development

Build Cross Platform Mobile Apps for iOS & Android with Xamarin & MvvmCross
Build Cross Platform Mobile Apps for iOS & Android with Xamarin & MvvmCrossBuild Cross Platform Mobile Apps for iOS & Android with Xamarin & MvvmCross
Build Cross Platform Mobile Apps for iOS & Android with Xamarin & MvvmCrossIshai Hachlili
 
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...
Building Mobile Cross-Platform Apps foriOS, Android & Windows in C# with Xam...Building Mobile Cross-Platform Apps foriOS, Android & Windows in C# with Xam...
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...Nick Landry
 
Mono for Android... for Google Devs
Mono for Android... for Google DevsMono for Android... for Google Devs
Mono for Android... for Google DevsCraig Dunn
 
MonoTouch 5.2 Introduction
MonoTouch 5.2 IntroductionMonoTouch 5.2 Introduction
MonoTouch 5.2 IntroductionXamarin
 
Introduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual StudioIntroduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual StudioIndyMobileNetDev
 
EastBay.net Building Mobile Apps with Xamarin and Visual Studio
EastBay.net Building Mobile Apps with Xamarin and Visual StudioEastBay.net Building Mobile Apps with Xamarin and Visual Studio
EastBay.net Building Mobile Apps with Xamarin and Visual StudioCraig Dunn
 
Deep Dive in Xamarin.Forms
Deep Dive in Xamarin.FormsDeep Dive in Xamarin.Forms
Deep Dive in Xamarin.FormsJames Montemagno
 
Cross platform mobile development with xamarin and office 365
Cross platform mobile development with xamarin and office 365Cross platform mobile development with xamarin and office 365
Cross platform mobile development with xamarin and office 365SoHo Dragon
 
Xamarin Platform
Xamarin PlatformXamarin Platform
Xamarin PlatformLiddle Fang
 
Essential Tools for Xamarin Developers
Essential Tools for Xamarin DevelopersEssential Tools for Xamarin Developers
Essential Tools for Xamarin DevelopersSam Basu
 
State of Mobile Development
State of Mobile DevelopmentState of Mobile Development
State of Mobile DevelopmentSam Basu
 
Las Vegas Code Camp - iOS Development in C# with Xamarin
Las Vegas Code Camp -  iOS Development in C# with XamarinLas Vegas Code Camp -  iOS Development in C# with Xamarin
Las Vegas Code Camp - iOS Development in C# with XamarinJames Montemagno
 
Hybrid Mobile App Development - Xamarin
Hybrid Mobile App Development - XamarinHybrid Mobile App Development - Xamarin
Hybrid Mobile App Development - XamarinDeepu S Nath
 
Native iOS and Android Development with Xamarin
Native iOS and Android Development with XamarinNative iOS and Android Development with Xamarin
Native iOS and Android Development with XamarinJames Montemagno
 
Xamarin Open House talk - Sela Group - Ofir Makmal
Xamarin Open House talk - Sela Group - Ofir MakmalXamarin Open House talk - Sela Group - Ofir Makmal
Xamarin Open House talk - Sela Group - Ofir MakmalOfir Makmal
 
C# no bolso - desenvolvendo apps multiplataforma
C# no bolso - desenvolvendo apps multiplataformaC# no bolso - desenvolvendo apps multiplataforma
C# no bolso - desenvolvendo apps multiplataformaAllan Cleysson
 
Days Until Xmas: From Windows Phone to iOS to Windows 8 Seminar
Days Until Xmas: From Windows Phone to iOS to Windows 8 SeminarDays Until Xmas: From Windows Phone to iOS to Windows 8 Seminar
Days Until Xmas: From Windows Phone to iOS to Windows 8 SeminarXamarin
 
Xamarin.Forms: a cross-platform mobile UI toolkit - ConFoo 2016
Xamarin.Forms:  a cross-platform mobile UI toolkit - ConFoo 2016Xamarin.Forms:  a cross-platform mobile UI toolkit - ConFoo 2016
Xamarin.Forms: a cross-platform mobile UI toolkit - ConFoo 2016Guy Barrette
 
Intro to Building Mobile Apps with Xamarin
Intro to Building Mobile Apps with XamarinIntro to Building Mobile Apps with Xamarin
Intro to Building Mobile Apps with XamarinHeather Downing
 

Similar to Cross-platform Mobile Development (20)

Build Cross Platform Mobile Apps for iOS & Android with Xamarin & MvvmCross
Build Cross Platform Mobile Apps for iOS & Android with Xamarin & MvvmCrossBuild Cross Platform Mobile Apps for iOS & Android with Xamarin & MvvmCross
Build Cross Platform Mobile Apps for iOS & Android with Xamarin & MvvmCross
 
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...
Building Mobile Cross-Platform Apps foriOS, Android & Windows in C# with Xam...Building Mobile Cross-Platform Apps foriOS, Android & Windows in C# with Xam...
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...
 
Mono for Android... for Google Devs
Mono for Android... for Google DevsMono for Android... for Google Devs
Mono for Android... for Google Devs
 
MonoTouch 5.2 Introduction
MonoTouch 5.2 IntroductionMonoTouch 5.2 Introduction
MonoTouch 5.2 Introduction
 
Introduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual StudioIntroduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual Studio
 
EastBay.net Building Mobile Apps with Xamarin and Visual Studio
EastBay.net Building Mobile Apps with Xamarin and Visual StudioEastBay.net Building Mobile Apps with Xamarin and Visual Studio
EastBay.net Building Mobile Apps with Xamarin and Visual Studio
 
Deep Dive in Xamarin.Forms
Deep Dive in Xamarin.FormsDeep Dive in Xamarin.Forms
Deep Dive in Xamarin.Forms
 
Cross platform mobile development with xamarin and office 365
Cross platform mobile development with xamarin and office 365Cross platform mobile development with xamarin and office 365
Cross platform mobile development with xamarin and office 365
 
Xamarin Platform
Xamarin PlatformXamarin Platform
Xamarin Platform
 
Essential Tools for Xamarin Developers
Essential Tools for Xamarin DevelopersEssential Tools for Xamarin Developers
Essential Tools for Xamarin Developers
 
State of Mobile Development
State of Mobile DevelopmentState of Mobile Development
State of Mobile Development
 
Las Vegas Code Camp - iOS Development in C# with Xamarin
Las Vegas Code Camp -  iOS Development in C# with XamarinLas Vegas Code Camp -  iOS Development in C# with Xamarin
Las Vegas Code Camp - iOS Development in C# with Xamarin
 
Hybrid Mobile App Development - Xamarin
Hybrid Mobile App Development - XamarinHybrid Mobile App Development - Xamarin
Hybrid Mobile App Development - Xamarin
 
Introduction to xamarin
Introduction to xamarin  Introduction to xamarin
Introduction to xamarin
 
Native iOS and Android Development with Xamarin
Native iOS and Android Development with XamarinNative iOS and Android Development with Xamarin
Native iOS and Android Development with Xamarin
 
Xamarin Open House talk - Sela Group - Ofir Makmal
Xamarin Open House talk - Sela Group - Ofir MakmalXamarin Open House talk - Sela Group - Ofir Makmal
Xamarin Open House talk - Sela Group - Ofir Makmal
 
C# no bolso - desenvolvendo apps multiplataforma
C# no bolso - desenvolvendo apps multiplataformaC# no bolso - desenvolvendo apps multiplataforma
C# no bolso - desenvolvendo apps multiplataforma
 
Days Until Xmas: From Windows Phone to iOS to Windows 8 Seminar
Days Until Xmas: From Windows Phone to iOS to Windows 8 SeminarDays Until Xmas: From Windows Phone to iOS to Windows 8 Seminar
Days Until Xmas: From Windows Phone to iOS to Windows 8 Seminar
 
Xamarin.Forms: a cross-platform mobile UI toolkit - ConFoo 2016
Xamarin.Forms:  a cross-platform mobile UI toolkit - ConFoo 2016Xamarin.Forms:  a cross-platform mobile UI toolkit - ConFoo 2016
Xamarin.Forms: a cross-platform mobile UI toolkit - ConFoo 2016
 
Intro to Building Mobile Apps with Xamarin
Intro to Building Mobile Apps with XamarinIntro to Building Mobile Apps with Xamarin
Intro to Building Mobile Apps with Xamarin
 

More from Xamarin

Xamarin University Presents: Ship Better Apps with Visual Studio App Center
Xamarin University Presents: Ship Better Apps with Visual Studio App CenterXamarin University Presents: Ship Better Apps with Visual Studio App Center
Xamarin University Presents: Ship Better Apps with Visual Studio App CenterXamarin
 
Get the Most Out of iOS 11 with Visual Studio Tools for Xamarin
Get the Most Out of iOS 11 with Visual Studio Tools for XamarinGet the Most Out of iOS 11 with Visual Studio Tools for Xamarin
Get the Most Out of iOS 11 with Visual Studio Tools for XamarinXamarin
 
Get the Most out of Android 8 Oreo with Visual Studio Tools for Xamarin
Get the Most out of Android 8 Oreo with Visual Studio Tools for XamarinGet the Most out of Android 8 Oreo with Visual Studio Tools for Xamarin
Get the Most out of Android 8 Oreo with Visual Studio Tools for XamarinXamarin
 
Creative Hacking: Delivering React Native App A/B Testing Using CodePush
Creative Hacking: Delivering React Native App A/B Testing Using CodePushCreative Hacking: Delivering React Native App A/B Testing Using CodePush
Creative Hacking: Delivering React Native App A/B Testing Using CodePushXamarin
 
Build Better Games with Unity and Microsoft Azure
Build Better Games with Unity and Microsoft AzureBuild Better Games with Unity and Microsoft Azure
Build Better Games with Unity and Microsoft AzureXamarin
 
Exploring UrhoSharp 3D with Xamarin Workbooks
Exploring UrhoSharp 3D with Xamarin WorkbooksExploring UrhoSharp 3D with Xamarin Workbooks
Exploring UrhoSharp 3D with Xamarin WorkbooksXamarin
 
Desktop Developer’s Guide to Mobile with Visual Studio Tools for Xamarin
Desktop Developer’s Guide to Mobile with Visual Studio Tools for XamarinDesktop Developer’s Guide to Mobile with Visual Studio Tools for Xamarin
Desktop Developer’s Guide to Mobile with Visual Studio Tools for XamarinXamarin
 
Developer’s Intro to Azure Machine Learning
Developer’s Intro to Azure Machine LearningDeveloper’s Intro to Azure Machine Learning
Developer’s Intro to Azure Machine LearningXamarin
 
Customizing Xamarin.Forms UI
Customizing Xamarin.Forms UICustomizing Xamarin.Forms UI
Customizing Xamarin.Forms UIXamarin
 
Session 4 - Xamarin Partner Program, Events and Resources
Session 4 - Xamarin Partner Program, Events and ResourcesSession 4 - Xamarin Partner Program, Events and Resources
Session 4 - Xamarin Partner Program, Events and ResourcesXamarin
 
Session 3 - Driving Mobile Growth and Profitability
Session 3 - Driving Mobile Growth and ProfitabilitySession 3 - Driving Mobile Growth and Profitability
Session 3 - Driving Mobile Growth and ProfitabilityXamarin
 
Session 2 - Emerging Technologies in your Mobile Practice
Session 2 - Emerging Technologies in your Mobile PracticeSession 2 - Emerging Technologies in your Mobile Practice
Session 2 - Emerging Technologies in your Mobile PracticeXamarin
 
Session 1 - Transformative Opportunities in Mobile and Cloud
Session 1 - Transformative Opportunities in Mobile and Cloud Session 1 - Transformative Opportunities in Mobile and Cloud
Session 1 - Transformative Opportunities in Mobile and Cloud Xamarin
 
SkiaSharp Graphics for Xamarin.Forms
SkiaSharp Graphics for Xamarin.FormsSkiaSharp Graphics for Xamarin.Forms
SkiaSharp Graphics for Xamarin.FormsXamarin
 
Building Games for iOS, macOS, and tvOS with Visual Studio and Azure
Building Games for iOS, macOS, and tvOS with Visual Studio and AzureBuilding Games for iOS, macOS, and tvOS with Visual Studio and Azure
Building Games for iOS, macOS, and tvOS with Visual Studio and AzureXamarin
 
Intro to Xamarin.Forms for Visual Studio 2017
Intro to Xamarin.Forms for Visual Studio 2017Intro to Xamarin.Forms for Visual Studio 2017
Intro to Xamarin.Forms for Visual Studio 2017Xamarin
 
Connected Mobile Apps with Microsoft Azure
Connected Mobile Apps with Microsoft AzureConnected Mobile Apps with Microsoft Azure
Connected Mobile Apps with Microsoft AzureXamarin
 
Introduction to Xamarin for Visual Studio 2017
Introduction to Xamarin for Visual Studio 2017Introduction to Xamarin for Visual Studio 2017
Introduction to Xamarin for Visual Studio 2017Xamarin
 
Building Your First iOS App with Xamarin for Visual Studio
Building Your First iOS App with Xamarin for Visual StudioBuilding Your First iOS App with Xamarin for Visual Studio
Building Your First iOS App with Xamarin for Visual StudioXamarin
 
Building Your First Android App with Xamarin
Building Your First Android App with XamarinBuilding Your First Android App with Xamarin
Building Your First Android App with XamarinXamarin
 

More from Xamarin (20)

Xamarin University Presents: Ship Better Apps with Visual Studio App Center
Xamarin University Presents: Ship Better Apps with Visual Studio App CenterXamarin University Presents: Ship Better Apps with Visual Studio App Center
Xamarin University Presents: Ship Better Apps with Visual Studio App Center
 
Get the Most Out of iOS 11 with Visual Studio Tools for Xamarin
Get the Most Out of iOS 11 with Visual Studio Tools for XamarinGet the Most Out of iOS 11 with Visual Studio Tools for Xamarin
Get the Most Out of iOS 11 with Visual Studio Tools for Xamarin
 
Get the Most out of Android 8 Oreo with Visual Studio Tools for Xamarin
Get the Most out of Android 8 Oreo with Visual Studio Tools for XamarinGet the Most out of Android 8 Oreo with Visual Studio Tools for Xamarin
Get the Most out of Android 8 Oreo with Visual Studio Tools for Xamarin
 
Creative Hacking: Delivering React Native App A/B Testing Using CodePush
Creative Hacking: Delivering React Native App A/B Testing Using CodePushCreative Hacking: Delivering React Native App A/B Testing Using CodePush
Creative Hacking: Delivering React Native App A/B Testing Using CodePush
 
Build Better Games with Unity and Microsoft Azure
Build Better Games with Unity and Microsoft AzureBuild Better Games with Unity and Microsoft Azure
Build Better Games with Unity and Microsoft Azure
 
Exploring UrhoSharp 3D with Xamarin Workbooks
Exploring UrhoSharp 3D with Xamarin WorkbooksExploring UrhoSharp 3D with Xamarin Workbooks
Exploring UrhoSharp 3D with Xamarin Workbooks
 
Desktop Developer’s Guide to Mobile with Visual Studio Tools for Xamarin
Desktop Developer’s Guide to Mobile with Visual Studio Tools for XamarinDesktop Developer’s Guide to Mobile with Visual Studio Tools for Xamarin
Desktop Developer’s Guide to Mobile with Visual Studio Tools for Xamarin
 
Developer’s Intro to Azure Machine Learning
Developer’s Intro to Azure Machine LearningDeveloper’s Intro to Azure Machine Learning
Developer’s Intro to Azure Machine Learning
 
Customizing Xamarin.Forms UI
Customizing Xamarin.Forms UICustomizing Xamarin.Forms UI
Customizing Xamarin.Forms UI
 
Session 4 - Xamarin Partner Program, Events and Resources
Session 4 - Xamarin Partner Program, Events and ResourcesSession 4 - Xamarin Partner Program, Events and Resources
Session 4 - Xamarin Partner Program, Events and Resources
 
Session 3 - Driving Mobile Growth and Profitability
Session 3 - Driving Mobile Growth and ProfitabilitySession 3 - Driving Mobile Growth and Profitability
Session 3 - Driving Mobile Growth and Profitability
 
Session 2 - Emerging Technologies in your Mobile Practice
Session 2 - Emerging Technologies in your Mobile PracticeSession 2 - Emerging Technologies in your Mobile Practice
Session 2 - Emerging Technologies in your Mobile Practice
 
Session 1 - Transformative Opportunities in Mobile and Cloud
Session 1 - Transformative Opportunities in Mobile and Cloud Session 1 - Transformative Opportunities in Mobile and Cloud
Session 1 - Transformative Opportunities in Mobile and Cloud
 
SkiaSharp Graphics for Xamarin.Forms
SkiaSharp Graphics for Xamarin.FormsSkiaSharp Graphics for Xamarin.Forms
SkiaSharp Graphics for Xamarin.Forms
 
Building Games for iOS, macOS, and tvOS with Visual Studio and Azure
Building Games for iOS, macOS, and tvOS with Visual Studio and AzureBuilding Games for iOS, macOS, and tvOS with Visual Studio and Azure
Building Games for iOS, macOS, and tvOS with Visual Studio and Azure
 
Intro to Xamarin.Forms for Visual Studio 2017
Intro to Xamarin.Forms for Visual Studio 2017Intro to Xamarin.Forms for Visual Studio 2017
Intro to Xamarin.Forms for Visual Studio 2017
 
Connected Mobile Apps with Microsoft Azure
Connected Mobile Apps with Microsoft AzureConnected Mobile Apps with Microsoft Azure
Connected Mobile Apps with Microsoft Azure
 
Introduction to Xamarin for Visual Studio 2017
Introduction to Xamarin for Visual Studio 2017Introduction to Xamarin for Visual Studio 2017
Introduction to Xamarin for Visual Studio 2017
 
Building Your First iOS App with Xamarin for Visual Studio
Building Your First iOS App with Xamarin for Visual StudioBuilding Your First iOS App with Xamarin for Visual Studio
Building Your First iOS App with Xamarin for Visual Studio
 
Building Your First Android App with Xamarin
Building Your First Android App with XamarinBuilding Your First Android App with Xamarin
Building Your First Android App with Xamarin
 

Recently uploaded

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 

Recently uploaded (20)

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 

Cross-platform Mobile Development

  • 1. Xamarin Seminar 19th April 2012 Copyright 2012 © Xamarin Inc. All rights reserved
  • 2. Agenda Cross-Platform Mobile Development Greg Shackles Senior Software Engineer OLO Online Ordering greg@gregshackles.com gregshackles.com @gshackles github.com/gshackles Xamarin Copyright 2012 © Xamarin Inc. All rights reserved
  • 3. Introduction This session will discuss how to use C# to develop iOS, Android and Windows Phone applications. We’ll cover: •Why use C#? •Code sharing techniques and patterns •Useful libraries Xamarin Copyright 2012 © Xamarin Inc. All rights reserved
  • 4. Native Platform Languages Xamarin Copyright 2012 © Xamarin Inc. All rights reserved
  • 5. Write Once, Run Anywhere? != != Xamarin Copyright 2012 © Xamarin Inc. All rights reserved
  • 6. C# to the Rescue! Xamarin Copyright 2012 © Xamarin Inc. All rights reserved
  • 7. Benefits •C# and .NET are mature and powerful •Skill reuse on all platforms •Apps are still completely native •Code can be reused across platforms (even non-mobile platforms!) Xamarin Copyright 2012 © Xamarin Inc. All rights reserved
  • 8. Architecture Mono#for# UI# Silverlight# MonoTouch# Android# C## Business#Logic# Run)me# .NET# Mono# Pla/orm# WP7# iOS# Android# Xamarin Copyright 2012 © Xamarin Inc. All rights reserved
  • 9. What Code Can Be Shared? •Most non-UI or platform code •Core application logic •Entities •LINQ (objects, XML) •Network access (System.Net) Xamarin Copyright 2012 © Xamarin Inc. All rights reserved
  • 10. Requirements •MonoTouch •Mac OS X •MonoDevelop •Mono for Android •Mac OS X or Windows •MonoDevelop or Visual Studio 2010 •Windows Phone •Windows •Visual Studio 2010 Xamarin Copyright 2012 © Xamarin Inc. All rights reserved
  • 11. File Linking •All profiles are not created equal •Single copy of file •Compile-time verification •Project Linker extension for VS2010 http://msdn.microsoft.com/en-us/library/ff648745 Xamarin Copyright 2012 © Xamarin Inc. All rights reserved
  • 12. Abstraction •Separate common logic from UI •Interfaces, base classes, etc. public interface IContactManager { IList<Person> GetContacts(); } public class AndroidContactManager : IContactManager { public IList<Person> GetContacts() { return null; } } Xamarin Copyright 2012 © Xamarin Inc. All rights reserved
  • 13. Library: Xamarin.Mobile •Abstraction layer over platform APIs •Contacts •Geolocation •Camera •... http://xamarin.com/mobileapi Xamarin Copyright 2012 © Xamarin Inc. All rights reserved
  • 14. Observer Pattern •Decouple UI from business logic •Business layer can publish updates •UI layer subscribes to updates public EventHandler<EventArgs> MessageReceived; MessageReceived += (sender, args) => { Console.WriteLine("Message received"); }; Xamarin Copyright 2012 © Xamarin Inc. All rights reserved
  • 15. Library: TinyMessenger •Event aggregator/messenger •Publish/subscribe •Single file •Supports iOS, Android, Windows Phone https://github.com/grumpydev/TinyMessenger Xamarin Copyright 2012 © Xamarin Inc. All rights reserved
  • 16. Partial Classes and Methods public partial class MyClass { // partial methods are private, and must return void partial void Foo(); public void Bar() { Foo(); } } public partial class MyClass { partial void Foo() { Console.WriteLine("Foo"); } } Xamarin Copyright 2012 © Xamarin Inc. All rights reserved
  • 17. Conditional Compilation #if __ANDROID__ Console.Write(“Only on Android”); #elif WINDOWS_PHONE Console.Write(“Only on Windows Phone”); #else Console.Write(“Everything else”); #endif Xamarin Copyright 2012 © Xamarin Inc. All rights reserved
  • 18. Conditional Compilation •MonoTouch •No default symbols •Mono for Android •Windows Phone •__ANDROID__ •WINDOWS_PHONE •__ANDROID_1__ •SILVERLIGHT •__ANDROID_2__ •... Xamarin Copyright 2012 © Xamarin Inc. All rights reserved
  • 19. File Access •Direct file access •System.IO •Works on iOS and Android •Not supported by Windows Phone •Paths are different on iOS and Android File.WriteAllText( Environment.GetFolderPath(Environment.SpecialFolder.Personal), "Writing directly to a file"); Xamarin Copyright 2012 © Xamarin Inc. All rights reserved
  • 20. File Access •Isolated Storage •Works on iOS, Android, and Windows Phone •Higher level API •Don’t need to worry about file paths using (var store = IsolatedStorageFile.GetUserStoreForApplication()) using (var writer = store.OpenFile("MyFile", FileMode.Create)) { // write to the file } Xamarin Copyright 2012 © Xamarin Inc. All rights reserved
  • 21. Database Access •iOS and Android •SQLite •Native APIs or ADO.NET •Windows Phone •SQL Server CE •LINQ to SQL Xamarin Copyright 2012 © Xamarin Inc. All rights reserved
  • 22. Library: C#-SQLite •C# port of SQLite database •File based •Useful for Windows Phone, Silverlight http://code.google.com/p/csharp-sqlite Xamarin Copyright 2012 © Xamarin Inc. All rights reserved
  • 23. Library: sqlite-net •Layer over SQLite database •Strongly-typed queries •Single file •Supports iOS, Android, Windows Phone http://code.google.com/p/sqlite-net Xamarin Copyright 2012 © Xamarin Inc. All rights reserved
  • 24. Library: TinyIoC •Inversion of Control container •Single file •Supports iOS, Android, Windows Phone https://github.com/grumpydev/TinyIoC Xamarin Copyright 2012 © Xamarin Inc. All rights reserved
  • 25. Library: MonoCross •Cross-platform MVC framework •Shared models and controllers •Views specific to platforms •Supports iOS, Android, Windows Phone •Sits atop MonoTouch, Mono for Android http://code.google.com/p/monocross/ Xamarin Copyright 2012 © Xamarin Inc. All rights reserved
  • 26. More Links MWC 2012 App https://github.com/xamarin/mobile-samples/tree/master/MWC NYC Code Camp 6 App https://github.com/gshackles/NycCodeCamp6 Mobile Development in C# http://amzn.com/1449320236 Xamarin Copyright 2012 © Xamarin Inc. All rights reserved
  • 27. Xamarin Seminar Please give us your feedback http://bit.ly/xamfeedback Follow us on Twitter @XamarinHQ 19th April 2012 Copyright 2012 © Xamarin Inc. All rights reserved

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n