SlideShare ist ein Scribd-Unternehmen logo
1 von 94
Disclaimer
More Platforms = More Opportunities
Growing Reach with Universal
Windows Apps
Windows Developer Platform
Improving User Engagement
Integrazione
Browser-based applications
Visual Studio tools for
Apache Cordova
Visual C++ for cross-platWin32
ObjC/Swift, Java, .NET/UWANative
Fast, x86 image built from AOSP
Runs on Hyper-V
Comes with Visual Studio
Speaks Android Debugging
Native capabilities and sensors
Zoom, Rotation, Network, Location, Accelerometer, Battery, OpenGL
SD Card, Camera, Audio playback, Keyboard Input, Screenshots,
Version and Screen Size Configurations, Drag&Drop APKs
Polita Paulus
Principal PM Manager
Getting Started with Cross-Platform Mobile Development with
Apache Cordova
2-706
Native Wrapper
<webview>
Your JavaScript App
Cordova Plugin JS API
• HTML, CSS, JS
• Assets
• HTML, CSS, JS, assets
• HTML, CSS, JS, assets
• HTML, CSS, JS, assets
:)
Black Box
Microsoft OSS contributions to Cordova:
• Cordova Browser Platform + Browser Support
for Top 30 Plugins
• Ripple, v2
• Cordova Windows Platform
• Cordova Test Infrastructure (MEDIC)
• Cordova CLI (--list, --save, --restore, --arch)
• Filling out the Plugin support matrix
• Hosted app support for File, Media Capture,
and Camera plugins
Template per:
Demo: Visual Studio Tools for Apache Cordova™
Run on Android and iOS
DOM Explorer
There is a general perception that apps built using
HTML, CSS, and JavaScript are slow.
(Hint: We are going to change that in this session)
1. The Webview Tax
2. Document Object Model (DOM)
3. Images
4. Animation
5. Garbage Collection
6. UI Controls
#perfmatters
Methodology
Go Mobile with C#, Visual Studio and
Xamarin
Native compilation, native performance
Xamarin.iOS does full Ahead Of Time (AOT)
compilation to produce an ARM binary suitable
for Apple’s App Store
Xamarin.Android takes advantage of
Just In Time (JIT) compilation on the Android device
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
Shared C# or F# codebase • 100% native API access • High performance
iOS F# UI Windows F# UIAndroid F# UI
Shared F# Mobile F# Server
Linux/Mono
CoreCLRAzure
Shared F# Client/Server
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
Xamarin.iOS e Xamarin.Android
vs
Xamarin Forms
Create UI with drag and drop simplicity
Target multiple screen sizes, resolutions,
and OS platform and versions
Layouts saved in native
resource formats
World’s best Android designer
available in Visual Studio
UI design iOS app designer in Visual Studio
Android app designer in Visual Studio
DESIGN – DEVELOP - INTEGRATE TEST MONITOR
LEARN
Xamarin Inspector
Salmaan Ahmed
- PM Windows
Jim Radigan
- Compiler Technologies
Compiling Objective-C
Using the Visual Studio 2015 C++ Code Generation that Builds
Windows, SQL, .Net, and Office
3-610
Growing Reach with Universal
Windows Apps
Windows Developer Platform
Improving User Engagement
Wherever your code was born, you can bring it to Windows
Middleware Platforms
Middleware Partners (e.g., Xamarin)
Game Engine Partners (e.g., Unity)
Other Mobile Platforms
‘Project A’ (Java/C++)
‘Project I’ (Objective C/C++)
Windows Platform
Universal Windows 8 Apps (C++/C#/JS)
Universal Windows 10 Apps (C++/C#/JS)
‘Project Centennial’ (Classic Apps)
Web Platform
‘Project Spartan’ Rendering Engine
Cordova Tooling (HTML/JS)
‘Project Westminster’ (Web Apps)
Universal Windows
Platform
XboxIoT
Universal
Windows Platform
Project Islandwood
Candy Crush Saga
Sviluppato originariamente per iOS, in
Objective-C
Write Universal Windows Apps in Objective-C
Objective-C language support
• Compiler and Runtime
Useful and usable APIs
• iOS API compat
Tools
• Editor / Workflow
• Project import
Xcode projects
imported to Visual
Studio
Shared project
settings, imported
from Xcode
Tooling
Integrated Visual Studio Development
Xcode projects
imported to
Visual Studio
Integrated
language
support:
syntax
highlighting,
autocomplete
Full
debugging:
breakpoints,
stack traces, …
Universal API
Interop
Project Islandwood
• You are writing a Windows App
• With ObjC as a supported lang
• Interop with Universal API surface
• And reuse code that uses some
iOS APIs
Quindi
Works across Win10 devices
Deploy to more devices
Across multiple form-factors
Running ARM and x86/64 CPUs
API Compatibility
Supports a subset of iOS
APIs
Does not track a
particular version of iOS
Most used APIs are
implemented first
• Games: OpenGL (ANGLE,
CAEAGLLayer, EAGLContext),
OpenAL, Sensors
• UI: UIKit, CoreAnimation,
CoreGraphics, CoreText, Touch
• Objective-C: ARC, blocks
• Foundation / CoreFoundation
• Services: StoreKit, Social,
Notifications, …
Windows does the heavy lifting for you
We translate and redirect iOS concepts to Windows concepts
User experience Monetization services Platform
Windows 10
Proven compatibility
Candy Crush Saga: Brought to Windows
Phone with very few code changes
Interop used for native integration
• In-App Purchase
• Local Notifications
Next Steps
Rolling out the SDK over the summer
http://aka.ms/islandwood
John Justice, Director of Program Management, OSG
Rajesh Sundaram, Director of Software Engineering, OSG
2-702
XboxIoT
Universal
Windows Platform
Middleware Platforms
Middleware Partners (e.g., Xamarin)
Game Engine Partners (e.g., Unity)
Windows Platform
Universal Windows 8 Apps (C++/C#/JS)
Universal Windows 10 Apps (C++/C#/JS)
Project Centennial (Classic Apps))
Web Platform
Microsoft Edge HTML Engine
Cordova Tooling (HTML/JS)
Hosted Web Apps (HTML/JS)
Other Mobile Platforms
Project Astoria (Java/C++)
Project Islandwood (Objective C/C++)
Other Mobile Platforms
Project Islandwood
Project Astoria
Use your Java / C++ code
Use Android IDE
High code reuse
Use your Objective C code
Use Visual Studio
Medium-high code reuse
Wherever your code was born, you can bring it to Windows
Windows app built from Android code
Apps built with Project Astoria are Windows apps
Users acquire apps built with Project
Astoria through the Windows Store
User experience
Cloud services
Platform
Apps built with Project Astoria are Windows apps
v/sv/sv/s
User experience
Cloud services
Platform
Building a Windows app with "Project Astoria”
We translate and redirect Android concepts to Windows concepts
User experience Cloud services Platform
• Acquisition
• Input and interaction
• App-to-app interactions
• Windowing & navigation
• Notifications and live tiles
• …
• In-App Purchases
• Ads
• Maps
• Game Services
• Analytics
• Notification service
• …
• File system
• Contacts, photos,…
• Sensors
• Camera
• Hardware accelerated
graphics & Direct X
• …
Microsoft Services
AppInsights
MS Ads
In-app Purchases
Windows Notification Service
Xbox Live Services
Bing Maps
Windows Location services
…
• Project Astoria SDK in Java
• Use Microsoft services with minimal
code change
• Get Started in Dev Center
Windows apps built with Project Astoria use Microsoft cloud services
User experience
Cloud services
Platform
Android platform capabilities are redirected to Windows
• File system
• Contacts, photos,…
• Sensors
• Camera
• Hardware accelerated graphics &
Direct X
• Networking/sockets
• Application lifecycle
• Resource management
• Background execution model
• Security model
User experience
Cloud services
Platform
Visual Studio 2015
 Windows 10 Mobile Only
+
Your Android Code
(Project Astoria SDK & App analysis)
+
Your app in the
Windows Store
Your IDE
(Project Astoria Plugins)
Your dev
machine
Build a Windows app with your Android code
+
Windows
Magic
Live tiles
…
IntelliJ
Android
Studio
Eclipse
Windows
Mac
Learn more about Project Astoria at
http://aka.ms/projectastoria
Building Cross-Platform Mobile Apps in
C++ with Visual Studio 2015
C++ C++C++
• Code Reuse
• Performance
• Security
.appx .apk .ipa
C#, C++/Cx Java
Dex / ART
ObjC
Swift
Dynamic Link
Library (.dll)
Static Library (.lib)
Dynamic shared
library (.so)
Static library (.a)
Static library (.a)
Shared C++ backend is compiled as:
DropBox
• 80%
C++
• Facebook Messenger
• Facebook
• Pandora
• Clean Master
• Go Keyboard
• Instagram
• SnapChat
• Super-Bright LED
• Candy Crush Soda
• Spotify
• CrossRoads
• Netflix
• Subway Surfers
• Kik
• WhatsApp Messenger
• Skype
• Clash of Clans
• Jelly Jump
• DubsMash
• Temple Run 2
• Surgery Simulator
• Pinterest
• Candy Crush Saga
• CM Security Antivirus
• Trivia Crack
• Zedge Ringtones
• Apus Launcher
• Bingo Crush
• Amazon Shipping
• Texas Holdem
• ZigZag
• 8 ball pool
• Yahoo Mail
• Game of War
• Despicable Me
• Fast and Furious Legacy
• Five Nights at Freddy’s
• Sound Cloud – Music and Audio
• iHeart Radio
• Twitter
• Fruit Ninja Free
• The Weather Channel
• Flow Free 2
• Minicraft
• Magic Piano
• ooVoo video call
• Solitare
• Wish Shopping Made Fun
• Google Earth
• Angry Birds
Compilers Visual C++ Compiler
GCC
Clang/LLVM
Clang/LLVM
Build Engine MSBuild, Nmake
NDK Build, Make files,
Gradle, Ant
Xcode Build
IDE(s) Visual Studio Eclipse CDT Xcode
Host Platform Windows 8/8.1/10
MacOS X, Linux,
Windows
Mac OS X
Development tools for C++ cross-platform
Office su mobile
Visual Studio 2015
Demo 1: Developing for the Android Platform
Demo 2: Building a C++ cross-platform mobile application
Demo 3: Debugging an existing Android Application
blog
Demo: Visual C++ for Cross Platform Mobile Development
• VS Tools for Apache Cordova
• Xamarin
• Project Islandwood:
• Objective-C => UWA
• Esempio: Candy Crush su WP
• Editor: Visual Studio
• Project Astoria:
• Java => UWA
• Editor: Eclipse, Android Studio, …
• C++ Crossplatform
• Esempio: Office su iOS e Android
• Editor: Visual Studio
Recap
Go Mobile!
Login, sync data, and connect to enterprise APIs with
Azure App Service
RESTAPI
Offline
sync
Facebook Twitter Microsoft Google Azure Active
Directory
Windows
iOS
Android
HTML 5/JS
Xamarin
PhoneGap
Sencha
WindowsAndroid
Chrome
iOS
OSX
In-AppKindle
Backend code
SQL MongoTables O365 API Apps
Offline Sync
Visual Studio 2015
Richard diZerega (@richdizz)
http://www.richdizz.com
Principal Software Engineer - Microsoft
Overview of Cross-Platform Mobile Development with
Office 365
2-655
Cross-platform localization with the
Multilingual App Toolkit
Visual Studio 2015
Visual Studio 2015: novità per gli sviluppatori iOS, Android e Cross-Platform
Visual Studio 2015: novità per gli sviluppatori iOS, Android e Cross-Platform
Visual Studio 2015: novità per gli sviluppatori iOS, Android e Cross-Platform

Weitere ähnliche Inhalte

Was ist angesagt?

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
 
Azure MobileApp & Xamarin.Forms
Azure MobileApp & Xamarin.FormsAzure MobileApp & Xamarin.Forms
Azure MobileApp & Xamarin.FormsAlessandro Pozone
 
Your choices for building a mobile app in 2016
Your choices for building a mobile app in 2016Your choices for building a mobile app in 2016
Your choices for building a mobile app in 2016Jad Salhani
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarinDaniel Fikre
 
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows PhoneWinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows PhoneAndreas Jakl
 
Mobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDKMobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDKIntel® Software
 
Intel XDK in Brief
Intel XDK in BriefIntel XDK in Brief
Intel XDK in BriefCamilo Corea
 
Smartface ile Crossplatform Uygulama Geliştirme
Smartface ile Crossplatform Uygulama GeliştirmeSmartface ile Crossplatform Uygulama Geliştirme
Smartface ile Crossplatform Uygulama GeliştirmeMobile İstanbul
 
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#Alexey Strakh
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to XamarinGuy Barrette
 
Microsoft Tools for Android Developers
Microsoft Tools for Android DevelopersMicrosoft Tools for Android Developers
Microsoft Tools for Android DevelopersNick Landry
 
Xamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikXamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikMukteswar Patnaik
 
Phonegap/Cordova vs Native Application
Phonegap/Cordova vs Native ApplicationPhonegap/Cordova vs Native Application
Phonegap/Cordova vs Native ApplicationMuhammad Hakim A
 
The Future of Cross-Platform is Native
The Future of Cross-Platform is NativeThe Future of Cross-Platform is Native
The Future of Cross-Platform is NativeJustin Mancinelli
 
Hybrid Mobile Development
Hybrid Mobile DevelopmentHybrid Mobile Development
Hybrid Mobile DevelopmentShai Raiten
 
Flash Builder and Flex Future - Multiscreen Development
Flash Builder and Flex Future - Multiscreen DevelopmentFlash Builder and Flex Future - Multiscreen Development
Flash Builder and Flex Future - Multiscreen DevelopmentRyan Stewart
 
Native vs Hybrid vs Web
Native vs Hybrid vs WebNative vs Hybrid vs Web
Native vs Hybrid vs WebRuckit
 

Was ist angesagt? (20)

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
 
Azure MobileApp & Xamarin.Forms
Azure MobileApp & Xamarin.FormsAzure MobileApp & Xamarin.Forms
Azure MobileApp & Xamarin.Forms
 
Your choices for building a mobile app in 2016
Your choices for building a mobile app in 2016Your choices for building a mobile app in 2016
Your choices for building a mobile app in 2016
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
 
INTEL XDK
INTEL XDKINTEL XDK
INTEL XDK
 
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows PhoneWinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
 
Mobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDKMobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDK
 
Intel XDK in Brief
Intel XDK in BriefIntel XDK in Brief
Intel XDK in Brief
 
Cross-Platform Development
Cross-Platform DevelopmentCross-Platform Development
Cross-Platform Development
 
Smartface ile Crossplatform Uygulama Geliştirme
Smartface ile Crossplatform Uygulama GeliştirmeSmartface ile Crossplatform Uygulama Geliştirme
Smartface ile Crossplatform Uygulama Geliştirme
 
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#
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to Xamarin
 
Microsoft Tools for Android Developers
Microsoft Tools for Android DevelopersMicrosoft Tools for Android Developers
Microsoft Tools for Android Developers
 
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
 
Phonegap/Cordova vs Native Application
Phonegap/Cordova vs Native ApplicationPhonegap/Cordova vs Native Application
Phonegap/Cordova vs Native Application
 
The Future of Cross-Platform is Native
The Future of Cross-Platform is NativeThe Future of Cross-Platform is Native
The Future of Cross-Platform is Native
 
Hybrid Mobile Development
Hybrid Mobile DevelopmentHybrid Mobile Development
Hybrid Mobile Development
 
Flash Builder and Flex Future - Multiscreen Development
Flash Builder and Flex Future - Multiscreen DevelopmentFlash Builder and Flex Future - Multiscreen Development
Flash Builder and Flex Future - Multiscreen Development
 
Native vs Hybrid vs Web
Native vs Hybrid vs WebNative vs Hybrid vs Web
Native vs Hybrid vs Web
 

Ähnlich wie Visual Studio 2015: novità per gli sviluppatori iOS, Android e Cross-Platform

Mobile development with visual studio
Mobile development with visual studioMobile development with visual studio
Mobile development with visual studioSergey Seletsky
 
Mobile Development with Visual Studio by Sergey Seletsky
Mobile Development with Visual Studio by Sergey SeletskyMobile Development with Visual Studio by Sergey Seletsky
Mobile Development with Visual Studio by Sergey SeletskySoftServe
 
The Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App DevelopmentThe Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App DevelopmentNick Landry
 
Олександр Краковецький - UWP
Олександр Краковецький - UWPОлександр Краковецький - UWP
Олександр Краковецький - UWPHackraft
 
Lviv MD Day 2015 Олександр Краковецький "Universal Windows Platform Bridges д...
Lviv MD Day 2015 Олександр Краковецький "Universal Windows Platform Bridges д...Lviv MD Day 2015 Олександр Краковецький "Universal Windows Platform Bridges д...
Lviv MD Day 2015 Олександр Краковецький "Universal Windows Platform Bridges д...Lviv Startup Club
 
Dev days 1 Introduction to Xamarin Taswar Bhatti
Dev days 1 Introduction to Xamarin Taswar BhattiDev days 1 Introduction to Xamarin Taswar Bhatti
Dev days 1 Introduction to Xamarin Taswar BhattiTaswar Bhatti
 
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 XamarinJames Montemagno
 
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 XamarinAmal Dev
 
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 xamarinDan Ardelean
 
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
 
Introduccion Xamarin Open Closed
Introduccion Xamarin Open ClosedIntroduccion Xamarin Open Closed
Introduccion Xamarin Open ClosedIvan Martinez
 
Hybrid Mobile App Development - Xamarin
Hybrid Mobile App Development - XamarinHybrid Mobile App Development - Xamarin
Hybrid Mobile App Development - XamarinDeepu S Nath
 
Build Your First iPhone or Android App with Telerik AppBuilder
Build Your First iPhone or Android App with Telerik AppBuilderBuild Your First iPhone or Android App with Telerik AppBuilder
Build Your First iPhone or Android App with Telerik AppBuilderJeffrey T. Fritz
 
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
 
C# no bolso - desenvolvendo apps multiplataforma
C# no bolso - desenvolvendo apps multiplataformaC# no bolso - desenvolvendo apps multiplataforma
C# no bolso - desenvolvendo apps multiplataformaAllan Cleysson
 
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 XamarinJames Montemagno
 
Windows Development Story with Xamarin
Windows Development Story with XamarinWindows Development Story with Xamarin
Windows Development Story with XamarinJoshua Drew
 
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 XamarinMatthew Soucoup
 
Mono for Android... for Google Devs
Mono for Android... for Google DevsMono for Android... for Google Devs
Mono for Android... for Google DevsCraig Dunn
 

Ähnlich wie Visual Studio 2015: novità per gli sviluppatori iOS, Android e Cross-Platform (20)

Mobile development with visual studio
Mobile development with visual studioMobile development with visual studio
Mobile development with visual studio
 
Mobile Development with Visual Studio by Sergey Seletsky
Mobile Development with Visual Studio by Sergey SeletskyMobile Development with Visual Studio by Sergey Seletsky
Mobile Development with Visual Studio by Sergey Seletsky
 
The Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App DevelopmentThe Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App Development
 
Олександр Краковецький - UWP
Олександр Краковецький - UWPОлександр Краковецький - UWP
Олександр Краковецький - UWP
 
Lviv MD Day 2015 Олександр Краковецький "Universal Windows Platform Bridges д...
Lviv MD Day 2015 Олександр Краковецький "Universal Windows Platform Bridges д...Lviv MD Day 2015 Олександр Краковецький "Universal Windows Platform Bridges д...
Lviv MD Day 2015 Олександр Краковецький "Universal Windows Platform Bridges д...
 
Dev days 1 Introduction to Xamarin Taswar Bhatti
Dev days 1 Introduction to Xamarin Taswar BhattiDev days 1 Introduction to Xamarin Taswar Bhatti
Dev days 1 Introduction to Xamarin Taswar Bhatti
 
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
 
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
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to 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
 
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#
 
Introduccion Xamarin Open Closed
Introduccion Xamarin Open ClosedIntroduccion Xamarin Open Closed
Introduccion Xamarin Open Closed
 
Hybrid Mobile App Development - Xamarin
Hybrid Mobile App Development - XamarinHybrid Mobile App Development - Xamarin
Hybrid Mobile App Development - Xamarin
 
Build Your First iPhone or Android App with Telerik AppBuilder
Build Your First iPhone or Android App with Telerik AppBuilderBuild Your First iPhone or Android App with Telerik AppBuilder
Build Your First iPhone or Android App with Telerik AppBuilder
 
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
 
C# no bolso - desenvolvendo apps multiplataforma
C# no bolso - desenvolvendo apps multiplataformaC# no bolso - desenvolvendo apps multiplataforma
C# no bolso - desenvolvendo apps multiplataforma
 
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
 
Windows Development Story with Xamarin
Windows Development Story with XamarinWindows Development Story with Xamarin
Windows Development Story with 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
 
Mono for Android... for Google Devs
Mono for Android... for Google DevsMono for Android... for Google Devs
Mono for Android... for Google Devs
 

Mehr von Stefano Ottaviani

Accessibility Days: esperienze e condivisioni per l'accessibilità
Accessibility Days: esperienze e condivisioni per l'accessibilitàAccessibility Days: esperienze e condivisioni per l'accessibilità
Accessibility Days: esperienze e condivisioni per l'accessibilitàStefano Ottaviani
 
Come organizzare un evento in cui nessuno sia escluso (versione ICM Summit)
Come organizzare un evento in cui nessuno sia escluso (versione ICM Summit)Come organizzare un evento in cui nessuno sia escluso (versione ICM Summit)
Come organizzare un evento in cui nessuno sia escluso (versione ICM Summit)Stefano Ottaviani
 
Introduzione allo Unit Testing
Introduzione allo Unit TestingIntroduzione allo Unit Testing
Introduzione allo Unit TestingStefano Ottaviani
 
Le meta-community: quando l'unione fa la forza
Le meta-community: quando l'unione fa la forzaLe meta-community: quando l'unione fa la forza
Le meta-community: quando l'unione fa la forzaStefano Ottaviani
 
Save ourselves with unit testing :)
Save ourselves with unit testing :)Save ourselves with unit testing :)
Save ourselves with unit testing :)Stefano Ottaviani
 
Programmiamo iPhone e iPad (e non solo!) con MonoTouch
Programmiamo iPhone e iPad (e non solo!) con MonoTouchProgrammiamo iPhone e iPad (e non solo!) con MonoTouch
Programmiamo iPhone e iPad (e non solo!) con MonoTouchStefano Ottaviani
 
Utilizzare Windows Vista come Software Developer
Utilizzare Windows Vista come Software DeveloperUtilizzare Windows Vista come Software Developer
Utilizzare Windows Vista come Software DeveloperStefano Ottaviani
 
Sviluppo Web Agile Con MonoRail
Sviluppo Web Agile Con MonoRailSviluppo Web Agile Con MonoRail
Sviluppo Web Agile Con MonoRailStefano Ottaviani
 
Generazione Dinamica di Codice in .NET
Generazione Dinamica di Codice in .NETGenerazione Dinamica di Codice in .NET
Generazione Dinamica di Codice in .NETStefano Ottaviani
 

Mehr von Stefano Ottaviani (12)

Accessibility Days: esperienze e condivisioni per l'accessibilità
Accessibility Days: esperienze e condivisioni per l'accessibilitàAccessibility Days: esperienze e condivisioni per l'accessibilità
Accessibility Days: esperienze e condivisioni per l'accessibilità
 
Come organizzare un evento in cui nessuno sia escluso (versione ICM Summit)
Come organizzare un evento in cui nessuno sia escluso (versione ICM Summit)Come organizzare un evento in cui nessuno sia escluso (versione ICM Summit)
Come organizzare un evento in cui nessuno sia escluso (versione ICM Summit)
 
Introduzione allo Unit Testing
Introduzione allo Unit TestingIntroduzione allo Unit Testing
Introduzione allo Unit Testing
 
Le meta-community: quando l'unione fa la forza
Le meta-community: quando l'unione fa la forzaLe meta-community: quando l'unione fa la forza
Le meta-community: quando l'unione fa la forza
 
Un anno di DevMarche
Un anno di DevMarcheUn anno di DevMarche
Un anno di DevMarche
 
Mobile e Smart Client
Mobile e Smart ClientMobile e Smart Client
Mobile e Smart Client
 
Save ourselves with unit testing :)
Save ourselves with unit testing :)Save ourselves with unit testing :)
Save ourselves with unit testing :)
 
MonoTouch, un anno dopo
MonoTouch, un anno dopoMonoTouch, un anno dopo
MonoTouch, un anno dopo
 
Programmiamo iPhone e iPad (e non solo!) con MonoTouch
Programmiamo iPhone e iPad (e non solo!) con MonoTouchProgrammiamo iPhone e iPad (e non solo!) con MonoTouch
Programmiamo iPhone e iPad (e non solo!) con MonoTouch
 
Utilizzare Windows Vista come Software Developer
Utilizzare Windows Vista come Software DeveloperUtilizzare Windows Vista come Software Developer
Utilizzare Windows Vista come Software Developer
 
Sviluppo Web Agile Con MonoRail
Sviluppo Web Agile Con MonoRailSviluppo Web Agile Con MonoRail
Sviluppo Web Agile Con MonoRail
 
Generazione Dinamica di Codice in .NET
Generazione Dinamica di Codice in .NETGenerazione Dinamica di Codice in .NET
Generazione Dinamica di Codice in .NET
 

Kürzlich hochgeladen

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
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 FresherRemote DBA Services
 
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...Drew Madelung
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
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...apidays
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
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 Scriptwesley chun
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 

Kürzlich hochgeladen (20)

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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
 
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...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
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...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

Visual Studio 2015: novità per gli sviluppatori iOS, Android e Cross-Platform

  • 1.
  • 3.
  • 4.
  • 5.
  • 6. More Platforms = More Opportunities
  • 7.
  • 8. Growing Reach with Universal Windows Apps Windows Developer Platform Improving User Engagement
  • 10. Browser-based applications Visual Studio tools for Apache Cordova Visual C++ for cross-platWin32 ObjC/Swift, Java, .NET/UWANative
  • 11.
  • 12. Fast, x86 image built from AOSP Runs on Hyper-V Comes with Visual Studio Speaks Android Debugging Native capabilities and sensors Zoom, Rotation, Network, Location, Accelerometer, Battery, OpenGL SD Card, Camera, Audio playback, Keyboard Input, Screenshots, Version and Screen Size Configurations, Drag&Drop APKs
  • 13. Polita Paulus Principal PM Manager Getting Started with Cross-Platform Mobile Development with Apache Cordova 2-706
  • 14. Native Wrapper <webview> Your JavaScript App Cordova Plugin JS API
  • 15. • HTML, CSS, JS • Assets • HTML, CSS, JS, assets • HTML, CSS, JS, assets • HTML, CSS, JS, assets
  • 16. :)
  • 17. Black Box Microsoft OSS contributions to Cordova: • Cordova Browser Platform + Browser Support for Top 30 Plugins • Ripple, v2 • Cordova Windows Platform • Cordova Test Infrastructure (MEDIC) • Cordova CLI (--list, --save, --restore, --arch) • Filling out the Plugin support matrix • Hosted app support for File, Media Capture, and Camera plugins
  • 19. Demo: Visual Studio Tools for Apache Cordova™
  • 20. Run on Android and iOS
  • 22.
  • 23. There is a general perception that apps built using HTML, CSS, and JavaScript are slow. (Hint: We are going to change that in this session)
  • 24. 1. The Webview Tax 2. Document Object Model (DOM) 3. Images 4. Animation 5. Garbage Collection 6. UI Controls
  • 26.
  • 27. Go Mobile with C#, Visual Studio and Xamarin
  • 28.
  • 29. Native compilation, native performance Xamarin.iOS does full Ahead Of Time (AOT) compilation to produce an ARM binary suitable for Apple’s App Store Xamarin.Android takes advantage of Just In Time (JIT) compilation on the Android device
  • 30. 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
  • 31. Shared C# or F# codebase • 100% native API access • High performance iOS F# UI Windows F# UIAndroid F# UI Shared F# Mobile F# Server Linux/Mono CoreCLRAzure Shared F# Client/Server
  • 32. 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
  • 34. Create UI with drag and drop simplicity Target multiple screen sizes, resolutions, and OS platform and versions Layouts saved in native resource formats World’s best Android designer available in Visual Studio UI design iOS app designer in Visual Studio Android app designer in Visual Studio
  • 35. DESIGN – DEVELOP - INTEGRATE TEST MONITOR LEARN
  • 37.
  • 38. Salmaan Ahmed - PM Windows Jim Radigan - Compiler Technologies Compiling Objective-C Using the Visual Studio 2015 C++ Code Generation that Builds Windows, SQL, .Net, and Office 3-610
  • 39.
  • 40. Growing Reach with Universal Windows Apps Windows Developer Platform Improving User Engagement
  • 41. Wherever your code was born, you can bring it to Windows Middleware Platforms Middleware Partners (e.g., Xamarin) Game Engine Partners (e.g., Unity) Other Mobile Platforms ‘Project A’ (Java/C++) ‘Project I’ (Objective C/C++) Windows Platform Universal Windows 8 Apps (C++/C#/JS) Universal Windows 10 Apps (C++/C#/JS) ‘Project Centennial’ (Classic Apps) Web Platform ‘Project Spartan’ Rendering Engine Cordova Tooling (HTML/JS) ‘Project Westminster’ (Web Apps) Universal Windows Platform XboxIoT Universal Windows Platform
  • 43. Candy Crush Saga Sviluppato originariamente per iOS, in Objective-C
  • 44. Write Universal Windows Apps in Objective-C Objective-C language support • Compiler and Runtime Useful and usable APIs • iOS API compat Tools • Editor / Workflow • Project import
  • 45. Xcode projects imported to Visual Studio Shared project settings, imported from Xcode
  • 46. Tooling Integrated Visual Studio Development Xcode projects imported to Visual Studio Integrated language support: syntax highlighting, autocomplete Full debugging: breakpoints, stack traces, … Universal API Interop
  • 48. • You are writing a Windows App • With ObjC as a supported lang • Interop with Universal API surface • And reuse code that uses some iOS APIs Quindi
  • 49. Works across Win10 devices Deploy to more devices Across multiple form-factors Running ARM and x86/64 CPUs
  • 50. API Compatibility Supports a subset of iOS APIs Does not track a particular version of iOS Most used APIs are implemented first • Games: OpenGL (ANGLE, CAEAGLLayer, EAGLContext), OpenAL, Sensors • UI: UIKit, CoreAnimation, CoreGraphics, CoreText, Touch • Objective-C: ARC, blocks • Foundation / CoreFoundation • Services: StoreKit, Social, Notifications, …
  • 51. Windows does the heavy lifting for you We translate and redirect iOS concepts to Windows concepts User experience Monetization services Platform Windows 10
  • 52. Proven compatibility Candy Crush Saga: Brought to Windows Phone with very few code changes Interop used for native integration • In-App Purchase • Local Notifications
  • 53. Next Steps Rolling out the SDK over the summer http://aka.ms/islandwood
  • 54. John Justice, Director of Program Management, OSG Rajesh Sundaram, Director of Software Engineering, OSG 2-702
  • 55. XboxIoT Universal Windows Platform Middleware Platforms Middleware Partners (e.g., Xamarin) Game Engine Partners (e.g., Unity) Windows Platform Universal Windows 8 Apps (C++/C#/JS) Universal Windows 10 Apps (C++/C#/JS) Project Centennial (Classic Apps)) Web Platform Microsoft Edge HTML Engine Cordova Tooling (HTML/JS) Hosted Web Apps (HTML/JS) Other Mobile Platforms Project Astoria (Java/C++) Project Islandwood (Objective C/C++) Other Mobile Platforms Project Islandwood Project Astoria Use your Java / C++ code Use Android IDE High code reuse Use your Objective C code Use Visual Studio Medium-high code reuse Wherever your code was born, you can bring it to Windows
  • 56. Windows app built from Android code
  • 57. Apps built with Project Astoria are Windows apps Users acquire apps built with Project Astoria through the Windows Store User experience Cloud services Platform
  • 58. Apps built with Project Astoria are Windows apps v/sv/sv/s User experience Cloud services Platform
  • 59. Building a Windows app with "Project Astoria”
  • 60. We translate and redirect Android concepts to Windows concepts User experience Cloud services Platform • Acquisition • Input and interaction • App-to-app interactions • Windowing & navigation • Notifications and live tiles • … • In-App Purchases • Ads • Maps • Game Services • Analytics • Notification service • … • File system • Contacts, photos,… • Sensors • Camera • Hardware accelerated graphics & Direct X • …
  • 61. Microsoft Services AppInsights MS Ads In-app Purchases Windows Notification Service Xbox Live Services Bing Maps Windows Location services … • Project Astoria SDK in Java • Use Microsoft services with minimal code change • Get Started in Dev Center Windows apps built with Project Astoria use Microsoft cloud services User experience Cloud services Platform
  • 62. Android platform capabilities are redirected to Windows • File system • Contacts, photos,… • Sensors • Camera • Hardware accelerated graphics & Direct X • Networking/sockets • Application lifecycle • Resource management • Background execution model • Security model User experience Cloud services Platform
  • 64.  Windows 10 Mobile Only + Your Android Code (Project Astoria SDK & App analysis) + Your app in the Windows Store Your IDE (Project Astoria Plugins) Your dev machine Build a Windows app with your Android code + Windows Magic Live tiles … IntelliJ Android Studio Eclipse Windows Mac
  • 65. Learn more about Project Astoria at http://aka.ms/projectastoria
  • 66. Building Cross-Platform Mobile Apps in C++ with Visual Studio 2015
  • 67.
  • 68. C++ C++C++ • Code Reuse • Performance • Security
  • 69. .appx .apk .ipa C#, C++/Cx Java Dex / ART ObjC Swift Dynamic Link Library (.dll) Static Library (.lib) Dynamic shared library (.so) Static library (.a) Static library (.a) Shared C++ backend is compiled as: DropBox
  • 70.
  • 72. C++ • Facebook Messenger • Facebook • Pandora • Clean Master • Go Keyboard • Instagram • SnapChat • Super-Bright LED • Candy Crush Soda • Spotify • CrossRoads • Netflix • Subway Surfers • Kik • WhatsApp Messenger • Skype • Clash of Clans • Jelly Jump • DubsMash • Temple Run 2 • Surgery Simulator • Pinterest • Candy Crush Saga • CM Security Antivirus • Trivia Crack • Zedge Ringtones • Apus Launcher • Bingo Crush • Amazon Shipping • Texas Holdem • ZigZag • 8 ball pool • Yahoo Mail • Game of War • Despicable Me • Fast and Furious Legacy • Five Nights at Freddy’s • Sound Cloud – Music and Audio • iHeart Radio • Twitter • Fruit Ninja Free • The Weather Channel • Flow Free 2 • Minicraft • Magic Piano • ooVoo video call • Solitare • Wish Shopping Made Fun • Google Earth • Angry Birds
  • 73.
  • 74. Compilers Visual C++ Compiler GCC Clang/LLVM Clang/LLVM Build Engine MSBuild, Nmake NDK Build, Make files, Gradle, Ant Xcode Build IDE(s) Visual Studio Eclipse CDT Xcode Host Platform Windows 8/8.1/10 MacOS X, Linux, Windows Mac OS X Development tools for C++ cross-platform
  • 77. Demo 1: Developing for the Android Platform
  • 78. Demo 2: Building a C++ cross-platform mobile application
  • 79. Demo 3: Debugging an existing Android Application blog
  • 80. Demo: Visual C++ for Cross Platform Mobile Development
  • 81. • VS Tools for Apache Cordova • Xamarin • Project Islandwood: • Objective-C => UWA • Esempio: Candy Crush su WP • Editor: Visual Studio • Project Astoria: • Java => UWA • Editor: Eclipse, Android Studio, … • C++ Crossplatform • Esempio: Office su iOS e Android • Editor: Visual Studio Recap
  • 82. Go Mobile! Login, sync data, and connect to enterprise APIs with Azure App Service
  • 83. RESTAPI Offline sync Facebook Twitter Microsoft Google Azure Active Directory Windows iOS Android HTML 5/JS Xamarin PhoneGap Sencha WindowsAndroid Chrome iOS OSX In-AppKindle Backend code SQL MongoTables O365 API Apps Offline Sync
  • 84.
  • 86.
  • 87. Richard diZerega (@richdizz) http://www.richdizz.com Principal Software Engineer - Microsoft Overview of Cross-Platform Mobile Development with Office 365 2-655
  • 88.
  • 89.
  • 90. Cross-platform localization with the Multilingual App Toolkit