SlideShare une entreprise Scribd logo
1  sur  32
Riccardo Cappello
Responsabile Tecnico
COO
@rcappello
rcappello@outlook.com
www.riccardocappello.com
#Build2016dnt
DESIGN – DEVELOP - INTEGRATE TEST MONITOR
LEARN
Native User Interfaces Native API Access Native Performance
iOS WindowsAndroid
Objective-C
Xcode
C#
Visual Studio
Java
Android Studio
No shared code • Many languages & development environments • Multiple teams
App Generator
Lua
Javascript
Actionscript
HTML+CSS
Limited native API access • Slow performance • Poor user experience
Shared C# codebase • 100% native API access • High performance
iOS C# UI Windows C# UIAndroid C# UI
Shared C# Mobile
Traditional Xamarin
Approach
With Xamarin.Forms:
More code-sharing, all native
iOS C# UI Windows C# UIAndroid C# UI
Shared C# Backend
Shared UI Code
Shared C# Backend
Shared C# codebase • 100% native API access • High performance
iOS C# UI Windows C# UIAndroid C# UI
Shared C# Mobile C# Server
Linux/Mono
CoreCLRAzure
Shared C# Client/Server
Write Beautiful & Maintainable Code
C# with Xamarin
Objective-C
C# with XamarinJava
C# & Async with Xamarin
• World’s first iOS Remote
Simulator will be available in
Xamarin Studio and Visual
Studio soon
• Xamarin is available
at no extra charge
to every Visual
Studio Developer
Text-to-speech ActionBar Printing Framework Renderscript NFC
System.Data System.Windows System.Numerics System.Core System.ServiceModel
System.Net System System.IO System.Linq System.Xml
MapKit UIKit iBeacon CoreGraphics CoreMotion
Microsoft.Phone Microsoft.Networking Windows.Storage Windows.Foundation Microsoft.Devices
Xamarin.iOS does full Ahead Of Time
(AOT) compilation to produce an ARM
binary for Apple’s App Store.
Xamarin.Android takes advantage of
Just In Time (JIT) compilation on the
Android device.
Xamarin.iOS Xamarin.Android
https://github.com/DotNetToscana/see4me
https://github.com/jamesmontemagno/Xamarin.Plugins
http://www.mvvmlight.net
https://github.com/DotNetToscana/see4me
https://channel9.msdn.com/Events/Build/2016/B836
https://channel9.msdn.com/Events/Build/2016/KEY02#time=10m23s

Contenu connexe

Tendances

Tendances (20)

Google flutter the easy and practical way IEEE Alazhar
Google flutter the easy and practical way IEEE AlazharGoogle flutter the easy and practical way IEEE Alazhar
Google flutter the easy and practical way IEEE Alazhar
 
IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009
 
Xamarin Dev Days - Intro to Xamarin
Xamarin Dev Days - Intro to XamarinXamarin Dev Days - Intro to Xamarin
Xamarin Dev Days - Intro to Xamarin
 
T2 Web Framework
T2 Web FrameworkT2 Web Framework
T2 Web Framework
 
Hybrid application development
Hybrid application developmentHybrid application development
Hybrid application development
 
Google flutter the easy and practical way
Google flutter the easy and practical wayGoogle flutter the easy and practical way
Google flutter the easy and practical way
 
Flutter Online Study jam 10-7-2019
Flutter Online Study jam 10-7-2019Flutter Online Study jam 10-7-2019
Flutter Online Study jam 10-7-2019
 
Getting started with flutter
Getting started with flutterGetting started with flutter
Getting started with flutter
 
Build web applications using google flutter
Build web applications using google flutterBuild web applications using google flutter
Build web applications using google flutter
 
Flutter - DevFestDC
Flutter - DevFestDCFlutter - DevFestDC
Flutter - DevFestDC
 
Silverlight 2 with Visual Studio 2008 and Expression Blend
Silverlight 2 with Visual Studio 2008 and Expression BlendSilverlight 2 with Visual Studio 2008 and Expression Blend
Silverlight 2 with Visual Studio 2008 and Expression Blend
 
What is a Native Application and Why We Need Them
What is a Native Application and Why We Need ThemWhat is a Native Application and Why We Need Them
What is a Native Application and Why We Need Them
 
Xamarin Overview
Xamarin OverviewXamarin Overview
Xamarin Overview
 
Mobile Devolpment Slides
Mobile Devolpment SlidesMobile Devolpment Slides
Mobile Devolpment Slides
 
BlackBerry WebWorks
BlackBerry WebWorksBlackBerry WebWorks
BlackBerry WebWorks
 
The Magic of flutter Comex oman 2019
The Magic of flutter Comex oman 2019The Magic of flutter Comex oman 2019
The Magic of flutter Comex oman 2019
 
Xamarin Applications - Xamarin Fest
Xamarin Applications - Xamarin FestXamarin Applications - Xamarin Fest
Xamarin Applications - Xamarin Fest
 
Building Apps With Flutter
Building Apps With FlutterBuilding Apps With Flutter
Building Apps With Flutter
 
Flutter beyond hello world
Flutter beyond hello worldFlutter beyond hello world
Flutter beyond hello world
 
Resume - Alsey Coleman Miller - iOS Developer
Resume -  Alsey Coleman Miller - iOS DeveloperResume -  Alsey Coleman Miller - iOS Developer
Resume - Alsey Coleman Miller - iOS Developer
 

Similaire à Le novità di Xamarin e dello sviluppo Cross-Platform

Similaire à Le novità di Xamarin e dello sviluppo Cross-Platform (20)

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 - why not ?
Xamarin -  why not ?Xamarin -  why not ?
Xamarin - why not ?
 
TDC2016SP - Cross-Platform Development with C#
TDC2016SP - Cross-Platform Development with C#TDC2016SP - Cross-Platform Development with C#
TDC2016SP - Cross-Platform Development with C#
 
Android Apps Using C# With Visual Studio And Xamarin
Android Apps Using C# With Visual Studio And XamarinAndroid Apps Using C# With Visual Studio And Xamarin
Android Apps Using C# With Visual Studio And 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
 
Xcoders - iOS & Android Development in C# with Xamarin
Xcoders - iOS & Android Development in C# with XamarinXcoders - iOS & Android Development in C# with Xamarin
Xcoders - iOS & Android Development in C# with Xamarin
 
Azure MobileApp & Xamarin.Forms
Azure MobileApp & Xamarin.FormsAzure MobileApp & Xamarin.Forms
Azure MobileApp & Xamarin.Forms
 
C# everywhere
C# everywhereC# everywhere
C# everywhere
 
Xamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikXamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar Patnaik
 
Mobile development with xamarin
Mobile development with xamarinMobile development with xamarin
Mobile development with xamarin
 
Xamarin Dev Days - Introduction to Xamarin
Xamarin Dev Days - Introduction to XamarinXamarin Dev Days - Introduction to Xamarin
Xamarin Dev Days - Introduction to Xamarin
 
Xamarin: Create native iOS, Android and Windows apps in C#
Xamarin: Create native iOS, Android and Windows apps in C#Xamarin: Create native iOS, Android and Windows apps in C#
Xamarin: Create native iOS, Android and Windows apps in C#
 
Creating Native iOS & Android Apps in C#
Creating Native iOS & Android Apps in C#Creating Native iOS & Android Apps in C#
Creating Native iOS & Android Apps in C#
 
AnDevCon - Android and iOS Apps in C# with Xamarin
AnDevCon - Android and iOS Apps in C# with XamarinAnDevCon - Android and iOS Apps in C# with Xamarin
AnDevCon - Android and iOS Apps in C# with Xamarin
 
Cross-platform mobile development using Xamarin and C#
Cross-platform mobile development using Xamarin and C#Cross-platform mobile development using Xamarin and C#
Cross-platform mobile development using Xamarin and C#
 
Cross Platform Mobile Application Development Using Xamarin and C#
Cross Platform Mobile Application Development Using Xamarin and C#Cross Platform Mobile Application Development Using Xamarin and C#
Cross Platform Mobile Application Development Using Xamarin and C#
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to Xamarin
 
Going Mobile with C#, Visual Studio, and Xamarin
Going Mobile with C#, Visual Studio, and XamarinGoing Mobile with C#, Visual Studio, and Xamarin
Going Mobile with C#, Visual Studio, and Xamarin
 
Xamarin Dev Days 2016 introduction to xamarin
Xamarin Dev Days 2016   introduction to xamarinXamarin Dev Days 2016   introduction to xamarin
Xamarin Dev Days 2016 introduction to xamarin
 
Creating iOS & Android Apps in C# using Xamarin
Creating iOS & Android Apps in C# using XamarinCreating iOS & Android Apps in C# using Xamarin
Creating iOS & Android Apps in C# using Xamarin
 

Plus de Riccardo Cappello

Plus de Riccardo Cappello (12)

AI on the edge
AI on the edgeAI on the edge
AI on the edge
 
VSTS - L'ALM a portata di mano
VSTS - L'ALM a portata di manoVSTS - L'ALM a portata di mano
VSTS - L'ALM a portata di mano
 
Continuous everything with Visual Studio App Center
Continuous everything with Visual Studio App CenterContinuous everything with Visual Studio App Center
Continuous everything with Visual Studio App Center
 
Azure CosmosDB the new frontier of big data and nosql
Azure CosmosDB the new frontier of big data and nosqlAzure CosmosDB the new frontier of big data and nosql
Azure CosmosDB the new frontier of big data and nosql
 
Canzoni sotto l'albero con Azure IoT
Canzoni sotto l'albero con Azure IoTCanzoni sotto l'albero con Azure IoT
Canzoni sotto l'albero con Azure IoT
 
Ai on the edge... and containers
Ai on the edge... and containersAi on the edge... and containers
Ai on the edge... and containers
 
Welcome to Azure DevOps
Welcome to Azure DevOpsWelcome to Azure DevOps
Welcome to Azure DevOps
 
Continuous everything with Visual Studio App Center
Continuous everything with Visual Studio App CenterContinuous everything with Visual Studio App Center
Continuous everything with Visual Studio App Center
 
DotNetToscana - Azure IoT Hub - Il Concentratore
DotNetToscana - Azure IoT Hub - Il ConcentratoreDotNetToscana - Azure IoT Hub - Il Concentratore
DotNetToscana - Azure IoT Hub - Il Concentratore
 
Azure Day - il cloud ibrido con Azure
Azure Day - il cloud ibrido con AzureAzure Day - il cloud ibrido con Azure
Azure Day - il cloud ibrido con Azure
 
Real Solutions Day - Cross-Platform con Xamarin
Real Solutions Day - Cross-Platform con XamarinReal Solutions Day - Cross-Platform con Xamarin
Real Solutions Day - Cross-Platform con Xamarin
 
Windows Azure - Mobile Services
Windows Azure - Mobile ServicesWindows Azure - Mobile Services
Windows Azure - Mobile Services
 

Dernier

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Dernier (20)

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 

Le novità di Xamarin e dello sviluppo Cross-Platform

Notes de l'éditeur

  1. Xamarin is your complete mobile solution. Xamarin Platform is usually what you hear about which is building native iOS, Android, Mac, and Windows Apps all in C# However Xamarin offers a wide range of products for developers to go mobile including Test Cloud, Insights, and a way to learn all of mobile with University.
  2. What makes up a “Native” mobile application? I am sure you have heard the “native” thrown around, but what does that really mean?
  3. A native app needs a lot of things, but three important ones stick out: Native User Interface: Apps need to look and act correct per platform. Full SDK Access: As a developer we need to add the latest and greatest features Native Performance: Needs to be fast and fluid
  4. So we know what we want how do we get there? Let’s talk about the state of mobile development.
  5. Multiple Teams Multiple Code Bases Expensive & Slow Positive = Great apps delivered to user’s platform Negative = Development hampered by multiple code bases & fragmentation
  6. Unhappy Users Unhappy Developers Increase in Abandoned Apps Limited to what is implemented
  7. UI build natively per platform, leveraging C# C# + XAML C# + XML C# + XIB One shared app logic code base, iOS, Android, Mac, Windows Phone, Windows Store, Windows
  8. Xamarin recently introduced Xamarin.Forms a new library for cross platform user interface. We will touch up on this later, but this enables you to be highly productive, share code, but build out UI on each platform and access platform APIs. With Xamarin.Forms you now have a nice Shared UI Code layer, but still access to platform APIs You can start from native, pick a few screens, or start with forms, and replace with native later
  9. With Xamarin it just isn’t your front end in C# it is your full backend server as well. With Azure or even on Linux running Mono or the CoreCLR your app is fully C# end to end!
  10. Let’s talk a bit about C# and why it is awesome.
  11. Use your favorite libraries like Json.NET!
  12. Here is an example of creating a class with a method to get names 1 Line with LINQ to execute this command Take advantage of C# features and set properties easily
  13. The async and await keywords in C# 5.0 now available to Xamarin developers make asynchronous programming incredibly pleasant. You end up with code that is much more linear and much easier to understand. The compiler does a lot of magic for you which simplifies your code and your life.
  14. With Xamarin we even extend native methods with C# Features Here there is no need for a callback block, simply await on the animation to finish before continuing on
  15. Here we can see how easy it is just to do a += for an event and not have to implement a bunch of listeners every time. Easy to read, string.Format, using args, etc. In fact we can make this call Async/Await by just adding async to the delegate!
  16. Applicazione See4Me
  17. Anything you can do in Objective-C, Swift, or Java can be done in C# and Visual Studio with Xamarin.
  18. There is no compromise on performance. Xamarin apps look and feel native because they are native.
  19. Apple has a developer preview where Xamarin has alphas ready. Google does not offer this. Android versions are usually 4 to 8 weeks out for a stable release, but alphas and betas are usually earlier. Xamarin realizes how important having iOS ready because within 24 hours a large portion of iOS users upgrade Android on the other hand is much different. After 4 months on the market Android 4.4 only had 1% adoption
  20. Use all of your favorite libraries from NuGet or share and distribute your own!
  21. Applicazione See4Me
  22. Applicazione See4Me
  23. Applicazione See4Me
  24. Single Solution for iOS, Android, and Windows Leverage Entire Microsoft Ecosystem: ReSharper Team Foundation Server Azure ASP.NET Favorite Code Coverage and Profiling Tools Starter Compatible Visual Studio 2012, 2013, and 2015 including Community Edition
  25. Xamarin Studio is available for Android development on the PC. Xamarin Studio on Mac offers: Android, iOS and Mac development World Class IDE with great features: Code Analysis Upload to Test Flight Git & Subversion Integration Code Completion Code Navigation Easy transition from Visual Studio The same Solution & Projects open in BOTH Xamarin Studio and Visual Studio!
  26. If you are looking to get started will a full baked application simply head over to Xamarin’s pre-built page featuring these apps and many more!
  27. Xamarin Forms is a new set of APIs allowing you to quickly and easily write shared User Interface code that is still rendered natively on each platform, while still providing direct access to the underlying SDKs if you need it.
  28. We see here the Xamarin approach we talked about earlier This enables you to be highly productive, share code, but build out UI on each platform and access platform APIs With Xamarin.Forms you now have a nice Shared UI Code layer, but still access to platform APIs You can start from native, pick a few screens, or start with forms, and replace with native later
  29. Xamarin.Forms is much more that just a framework and includes everything you need to get up and running to build out full native applications. If you are used to MVVM type of development you will feel right at home.
  30. Here is a quick example of a login page: Notice the data binding on the Entries Text fields. Additionally, there is a LoginCommand. Each has a native user interface
  31. Pick what is right for you! Xamarin has this nifty guide to help you decide to go traditional or with Xamarin.Forms
  32. First you have a set of pages for each screen of your application There are things like Content, and MasterDetail which gives you a nice flyout With a tabbed view you get the correct look on each platform iOS on bottom, Android on top, and on WP you have a Pivot control Inside of a page are layouts A lot of options from something simple like a stack panel to complex and powerful grids
  33. A unique aspect of Xamarin.Forms is an abstraction over the user interface, but what about the platform specific functionality that makes these devices so special? That is where plugins for Xamarin come in.
  34. What is this stuff that we talk about up here?
  35. This is the platform specific code no matter how you are developing traditional Xamarin or with Xamarin.Forms. However, many platform APIs are the same bit of functionality, but with different APIs. What if we had 1 API?
  36. For instance text to speech, what if we could just say “Speak” and it would speak text with the underlying API.
  37. This is what Plugins for Xamarin are for! 1 API for all common APIs: Camera GPS Settings Notifications Battery And so much more!
  38. Well there are several challenges that we must overcome as mobile developers including….
  39. First let’s take a look at the shear number of configurations there are between iOS and Android. As iOS progresses this number is only set to increase, and on Android it is already a HUGE number of configurations to even think about testing. iOS: 7, 7.1, 8, 8.1, 8.2
  40. Looking at just a few of the screen sizes of Samsung devices you couldn’t even fit all of them on the screen, so how do you handle this problem?
  41. The fragmentation isn’t just in the devices, but as we start to build on our applications you soon found out they are ever increasingly complex.
  42. With a simple command you can simulate all of your users interactions to build out a great test suite that can be run over and over again.
  43. This is where Xamarin.UITest comes in to help with this shift. Xamarin.UITest is a framework that ties in directly to the Nunit testing framework to write the UI tests. You can even run them directly against a simulator for free to do regression tests on your applications. Freely available for testing on a Simulator*
  44. Take test scripts and test again thousands of physical devices! All Xamarin subscribers get free device time! Check store.xamarin.com for details.
  45. Xamarin Insights is a new product from Xamarin, currently in preview for all of your apps to handle crash reporting and analytics.
  46. Xamarin.Insights, currently in preview, enables us to support all of our apps from a full cross platform API.
  47. Xamarin.Insights, currently in preview, enables us to support all of our apps from a full cross platform API.
  48. Get started today with free 30 day trial of Xamarin at xamarin.com