SlideShare una empresa de Scribd logo
1 de 99
55%
90%
80%
47%
81%
60%
69%
23%
66%
60%
74%
29%
88%
37%
82%
Source: https://www.braze.com/blog/be-your-customers-ritual-consistent-engagement-results-in-90-audience-retention-after-one-month/
Week 1 Week 2 Week 3
55%
90%
80%
47%
81%
60%
69%
23%
66%
60%
74%
29%
88%
37%
82%
Source: https://www.braze.com/blog/be-your-customers-ritual-consistent-engagement-results-in-90-audience-retention-after-one-month/
Week 1 Week 2 Week 3
Design
Code
TestTune
Specify
Design
Code
TestTune
Specify
Design
Code
TestTune
Specify
iOS .NET UI Android .NET UI
Shared .NET Code
Windows .NET UI
Edit
Compile
DeployDebug/Run
Test
Compile
Deploy
Debug/RunTest
Edit
Compile
Deploy
Debug/RunTest
Edit
Compile
Deploy
Debug/RunTest
Edit
Compile
Deploy
Debug/RunTest
Edit
Without Eager Deploy With Eager Deploy
First Run
Master Detail App
106 seconds 81 seconds
First Run
Smart Hotel 360
179 seconds 161 seconds
Version Google Play
Services
Speed CPUs Docker, UWP,
nested
virtualization
No
virtualization
From Google,
latest
Yes Slow AMD, Intel Yes
Intel HAXM
virtualization
From Google,
latest
Yes Fast Intel only No
MS VS
Emulator
Ancient (4.0) No† Fast AMD, Intel Yes
Xamarin
Emulator
Ancient (4.0) No† Fast AMD, Intel No, uses
VirtualPC.
† Google Play Services available if you download fishy binary from a random internet site, run an
installer, and copy files to the right places. YMMV.
5/6/2018 Working with Entitlements - Xamarin | Microsoft Docs
https://docs.microsoft.com/en-us/xamarin/ios/deploy-test/provisioning/entitlements?tabs=vsmac 4/10
5. Select and configure any entitlements required for the Xamarin.iOS
application so that they match the setup that was defined when the App
ID was created.
6. Save the changes to the Entitlements.plist file.
Adding a new Entitlements.plist file
Entitlements are added to an app via the Entitlements.plist file. This file is
included in Xamarin.iOSprojects by default but may be missing from older
projects.
To add an Entitlements.plist file to your Xamarin.iOSdo the following:
1. Right-click on the project file and browse to Add > New File…:
Add Files context menu
2. In the New File dialog select iOS > Property List and name it Entitlements:
5/6/2018 Working with Capabilities - Xamarin | Microsoft Docs
https://docs.microsoft.com/en-us/xamarin/ios/deploy-test/provisioning/capabilities/index?tabs=vsmac 5/14
Developer Center
Using the developer center is a two step process that requires creating an App
ID and then using that App ID to create a provisioning profile. These steps are
detailed below.
Creating an App ID with an app service
1. Browse to the Apple Developer Center on a Mac (the build host mac if using
a windows machine) and log in.
2. Select Certificates, Identifiers, and Profiles:
Apple Developer Center
3. Under Identifiers, select App IDs:
4. Press the + button in the top right corner to create a new App ID.
5/6/2018 Working with Capabilities - Xamarin | Microsoft Docs
https://docs.microsoft.com/en-us/xamarin/ios/deploy-test/provisioning/capabilities/index?tabs=vsmac 6/14
5. Enter an App ID description, select Explicit App ID, and enter a bundle ID in
the format com.domain.appname . This bundle ID should match the bundle ID
in your project:
Adding App ID details
6. Under App Services select the service or services that are required in your
app:
7. Press Continue.
5/6/2018 Working with Capabilities - Xamarin | Microsoft Docs
https://docs.microsoft.com/en-us/xamarin/ios/deploy-test/provisioning/capabilities/index?tabs=vsmac 6/14
5. Enter an App ID description, select Explicit App ID, and enter a bundle ID in
the format com.domain.appname . This bundle ID should match the bundle ID
in your project:
Adding App ID details
6. Under App Services select the service or services that are required in your
app:
7. Press Continue.
5/6/2018 Working with Capabilities - Xamarin | Microsoft Docs
https://docs.microsoft.com/en-us/xamarin/ios/deploy-test/provisioning/capabilities/index?tabs=vsmac 9/14
Creating a Provisioning Profile
Now create a provisioning profile that contains this App ID. Follow the steps
below:
1. In the Apple Developer Center, browse to Provisioning Profiles > All:
Provisioning Profile section
2. Press the + button in the top right corner to create a new provisioning
profile.
3. Select the type of provisioning profile that you need, and click Continue:
5/6/2018 Working with Capabilities - Xamarin | Microsoft Docs
https://docs.microsoft.com/en-us/xamarin/ios/deploy-test/provisioning/capabilities/index?tabs=vsmac 10/14
4. From the dropdown list, select the App ID that was created in the steps
above and press Continue:
App ID selection
5/6/2018 Working with Capabilities - Xamarin | Microsoft Docs
https://docs.microsoft.com/en-us/xamarin/ios/deploy-test/provisioning/capabilities/index?tabs=vsmac 11/14
5. Select the certificates used to sign the app and press Continue:
6. Select the devices to be included in this profile and press Continue:
Select devices for Provisioning Profile
7. Give the profile a name so that it can be identified and press Continue to
generate the profile:
Name provisioning Profile
Compile
Deploy
Debug/RunTest
Edit
Compile
Deploy
Debug/RunTest
Edit
Baseline Executable
Sizes
Release 15.6 Release 15.7 Improvement
.NET iOS App 7.52 4.98 (2.54 MB)
(34%)
.NET iOS Extension 5.40 4.14 (1.26 MB)
(23%)
Swift 4.14
Objective-C 3.30
Strong native reference to user type
UIKit
UserList
UserListDelegate
GC Root (Reference)
Xamarin
Runtime
Toggle Reference
Weak Reference
Reference
UIKit
UserList
UserListDelegate
GC Root (Reference)
Xamarin
Runtime
Toggle Reference
Weak Reference
Reference
macOS
https://github.com/fsprojects/Elmish.XamarinForms
/// The messages dispatched by the view
type Msg = |
/// The model from which the view is generated
type Model = { : }
/// Returns the initial state
let init() = { =false }
/// The funtion to update the view
let update msg Msg model Model =
match with | -> { with = true }
/// The view function giving updated content for the page
let view model Model dispatch =
if then
="I was pressed!"
else
="Press Me!" = fun ->
type App () =
inherit ()
let runner =
|>
|>
|>
https://github.com/praeclarum/Ooui
http://ooui.mecha.parts/
MaterialShell
Shell
DataTemplate
Grid
Label Text "{x:Bind HeaderText}"
Grid
DataTemplate
Shell
ShellItem Title "My music" ItemsSource "{x:Bind MyMusicModels}"
ShellItem
local:MyMusicItemTemplateSelection
ShellItem
ShellItem
ShellItem Title "Home" Icon "home.png" GroupBehavior "ShowTabs"
ShellTabItem Title "My Friends"
local:FriendsPage
ShellTabItem
local:FeedPage
local:ProfilePage
ShellItem
local:SettingsPage
MenuItem Text "Log Out" Command "{x:Bind LogOutCommand}"
MaterialShell
<?xml version="1.0" encoding="UTF-8" ?>
<Shell xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:Xamarin.Store"
x:Class="Xamarin.StoreDemoApp"
Route="s">
<Shell.FlyoutHeader>
<local:HeaderView />
</Shell.FlyoutHeader>
<Shell.MenuItems>
<MenuItem x:Name="preferencesMenuItem" Text="Preferences" Icon="prefs.png" />
<MenuItem x:Name="logOutMenuItem" Text="Logout" Icon="logout.png" />
</Shell.MenuItems>
<ShellItem Route="home" Title="Home" Icon="home.png" GroupBehavior="ShowTabs">
<ShellTabItem Route="updates" Title="Home" Icon="home.png"
ContentTemplate="{DataTemplate local:HomePage}" />
<ShellTabItem Route="games" Title="Games" Icon="games.png"
ContentTemplate="{DataTemplate local:GamesPage}" />
<ShellTabItem Route="settings" Title="Settings" Icon="games.png"
ContentTemplate="{DataTemplate local:SettingsPage}" />
</ShellItem>
<ShellItem Route="apps" Title="Media" Icon="media.png">
<ShellTabItem Route="books" Title="Books" Icon="books.png"
ContentTemplate="{DataTemplate local:BooksPage}" />
<ShellTabItem Route="music" Title="Music" Icon="music.png"
ContentTemplate="{DataTemplate local:MusicPage}" />
<ShellTabItem Route="movies" Title="Movies" Icon="movies.png"
ContentTemplate="{DataTemplate local:MoviesPage}" />
</ShellItem>
</Shell>
Visual Studio and Xamarin: The future of app development
Visual Studio and Xamarin: The future of app development
Visual Studio and Xamarin: The future of app development

Más contenido relacionado

La actualidad más candente

TESTING Checklist
TESTING Checklist TESTING Checklist
TESTING Checklist Febin Chacko
 
Enable Authentication and Authorization with Azure Active Directory and Sprin...
Enable Authentication and Authorization with Azure Active Directory and Sprin...Enable Authentication and Authorization with Azure Active Directory and Sprin...
Enable Authentication and Authorization with Azure Active Directory and Sprin...VMware Tanzu
 
Resume of Ashish Deshmukh
Resume of Ashish DeshmukhResume of Ashish Deshmukh
Resume of Ashish DeshmukhAshish Deshmukh
 
Secure mvc application saineshwar
Secure mvc application   saineshwarSecure mvc application   saineshwar
Secure mvc application saineshwarSaineshwar bageri
 
Force.com Canvas - a Quick Introduction
Force.com Canvas - a Quick IntroductionForce.com Canvas - a Quick Introduction
Force.com Canvas - a Quick IntroductionSteven Herod
 
Installing Applications
Installing ApplicationsInstalling Applications
Installing ApplicationsProdigyView
 
Build 2016 - P505 - Windows Store Analytics APIs: New Ways to Get Your Hands ...
Build 2016 - P505 - Windows Store Analytics APIs: New Ways to Get Your Hands ...Build 2016 - P505 - Windows Store Analytics APIs: New Ways to Get Your Hands ...
Build 2016 - P505 - Windows Store Analytics APIs: New Ways to Get Your Hands ...Windows Developer
 
Making External Web Pages Interact With Visualforce
Making External Web Pages Interact With VisualforceMaking External Web Pages Interact With Visualforce
Making External Web Pages Interact With VisualforceSalesforce Developers
 
Advance appium workshop.pptx
Advance appium workshop.pptxAdvance appium workshop.pptx
Advance appium workshop.pptxVodqaBLR
 
Secure Coding: Field-level Security, CRUD, and Sharing
Secure Coding: Field-level Security, CRUD, and SharingSecure Coding: Field-level Security, CRUD, and Sharing
Secure Coding: Field-level Security, CRUD, and SharingSalesforce Developers
 
Seamless Authentication with Force.com Canvas
Seamless Authentication with Force.com CanvasSeamless Authentication with Force.com Canvas
Seamless Authentication with Force.com CanvasSalesforce Developers
 
Understanding Dependency
Understanding DependencyUnderstanding Dependency
Understanding Dependencydearhwj
 
Osx workflow guide (1)
Osx workflow guide (1)Osx workflow guide (1)
Osx workflow guide (1)Pragati Singh
 

La actualidad más candente (20)

TESTING Checklist
TESTING Checklist TESTING Checklist
TESTING Checklist
 
Enable Authentication and Authorization with Azure Active Directory and Sprin...
Enable Authentication and Authorization with Azure Active Directory and Sprin...Enable Authentication and Authorization with Azure Active Directory and Sprin...
Enable Authentication and Authorization with Azure Active Directory and Sprin...
 
Resume of Ashish Deshmukh
Resume of Ashish DeshmukhResume of Ashish Deshmukh
Resume of Ashish Deshmukh
 
Secure mvc application saineshwar
Secure mvc application   saineshwarSecure mvc application   saineshwar
Secure mvc application saineshwar
 
Force.com Canvas - a Quick Introduction
Force.com Canvas - a Quick IntroductionForce.com Canvas - a Quick Introduction
Force.com Canvas - a Quick Introduction
 
Installing Applications
Installing ApplicationsInstalling Applications
Installing Applications
 
Android MVVM
Android MVVMAndroid MVVM
Android MVVM
 
Android MVVM TDD
Android MVVM TDDAndroid MVVM TDD
Android MVVM TDD
 
Chapter 9
Chapter 9Chapter 9
Chapter 9
 
Sharbani bhattacharya Visual Basic
Sharbani bhattacharya Visual BasicSharbani bhattacharya Visual Basic
Sharbani bhattacharya Visual Basic
 
Build 2016 - P505 - Windows Store Analytics APIs: New Ways to Get Your Hands ...
Build 2016 - P505 - Windows Store Analytics APIs: New Ways to Get Your Hands ...Build 2016 - P505 - Windows Store Analytics APIs: New Ways to Get Your Hands ...
Build 2016 - P505 - Windows Store Analytics APIs: New Ways to Get Your Hands ...
 
Test driving an MVVM App
Test driving an MVVM AppTest driving an MVVM App
Test driving an MVVM App
 
Making External Web Pages Interact With Visualforce
Making External Web Pages Interact With VisualforceMaking External Web Pages Interact With Visualforce
Making External Web Pages Interact With Visualforce
 
Advance appium workshop.pptx
Advance appium workshop.pptxAdvance appium workshop.pptx
Advance appium workshop.pptx
 
Secure Coding: Field-level Security, CRUD, and Sharing
Secure Coding: Field-level Security, CRUD, and SharingSecure Coding: Field-level Security, CRUD, and Sharing
Secure Coding: Field-level Security, CRUD, and Sharing
 
Seamless Authentication with Force.com Canvas
Seamless Authentication with Force.com CanvasSeamless Authentication with Force.com Canvas
Seamless Authentication with Force.com Canvas
 
Salesforce.com Lightning
Salesforce.com LightningSalesforce.com Lightning
Salesforce.com Lightning
 
Understanding Dependency
Understanding DependencyUnderstanding Dependency
Understanding Dependency
 
Osx workflow guide (1)
Osx workflow guide (1)Osx workflow guide (1)
Osx workflow guide (1)
 
Salesforce Summer'13 - Chennai DUG
Salesforce Summer'13 - Chennai DUGSalesforce Summer'13 - Chennai DUG
Salesforce Summer'13 - Chennai DUG
 

Similar a Visual Studio and Xamarin: The future of app development

Hospital app project (how to upload app)
Hospital app project (how to upload app)Hospital app project (how to upload app)
Hospital app project (how to upload app)MAHFUZ RAIHAN
 
OpenID Connect and Single Sign-On for Beginners
OpenID Connect and Single Sign-On for BeginnersOpenID Connect and Single Sign-On for Beginners
OpenID Connect and Single Sign-On for BeginnersSalesforce Developers
 
Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps  Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps Chetan Gordhan
 
Chicago ALM User Group - Nov 2014 - Application Insights 101
Chicago ALM User Group - Nov 2014 - Application Insights 101Chicago ALM User Group - Nov 2014 - Application Insights 101
Chicago ALM User Group - Nov 2014 - Application Insights 101Angela Dugan
 
Optimizing windows phone apps
Optimizing windows phone appsOptimizing windows phone apps
Optimizing windows phone appsSeo Jinho
 
visual basic 2005 programmer certification
visual basic 2005 programmer certificationvisual basic 2005 programmer certification
visual basic 2005 programmer certificationVskills
 
Dev ops for cross platform mobile modeveast 12
Dev ops for cross platform mobile   modeveast 12Dev ops for cross platform mobile   modeveast 12
Dev ops for cross platform mobile modeveast 12Sanjeev Sharma
 
Sandboxes: The Future of App Development by Evan Barnet & Pam Barnet
Sandboxes: The Future of App Development by Evan Barnet & Pam BarnetSandboxes: The Future of App Development by Evan Barnet & Pam Barnet
Sandboxes: The Future of App Development by Evan Barnet & Pam BarnetSalesforce Admins
 
Dynamics 365 self hosting bots
Dynamics 365 self hosting botsDynamics 365 self hosting bots
Dynamics 365 self hosting botsAmit Patil
 
Building an SSO platform in php (Zendcon 2010)
Building an SSO platform in php (Zendcon 2010)Building an SSO platform in php (Zendcon 2010)
Building an SSO platform in php (Zendcon 2010)Ivo Jansch
 
Using galen framework for automated cross browser layout testing
Using galen framework for automated cross browser layout testingUsing galen framework for automated cross browser layout testing
Using galen framework for automated cross browser layout testingSarah Elson
 
Introduction to the Salesforce Mobile SDK for Android
Introduction to the Salesforce Mobile SDK for AndroidIntroduction to the Salesforce Mobile SDK for Android
Introduction to the Salesforce Mobile SDK for AndroidSalesforce Developers
 
Iphone Apps Developer Certification
Iphone Apps Developer CertificationIphone Apps Developer Certification
Iphone Apps Developer CertificationVskills
 
Cocoa Programming Certification
Cocoa Programming CertificationCocoa Programming Certification
Cocoa Programming CertificationVskills
 
MuleSoft Nashik Virtual Meetup#4 - Implementing CI/CD pipeline for deploying ...
MuleSoft Nashik Virtual Meetup#4 - Implementing CI/CD pipeline for deploying ...MuleSoft Nashik Virtual Meetup#4 - Implementing CI/CD pipeline for deploying ...
MuleSoft Nashik Virtual Meetup#4 - Implementing CI/CD pipeline for deploying ...Jitendra Bafna
 
Cordova Mobile Application Developer Certification
Cordova Mobile Application Developer CertificationCordova Mobile Application Developer Certification
Cordova Mobile Application Developer CertificationVskills
 
Building Mobile Friendly APIs in Rails
Building Mobile Friendly APIs in RailsBuilding Mobile Friendly APIs in Rails
Building Mobile Friendly APIs in RailsJim Jeffers
 
Installing community surveys in connections 5.5
Installing community surveys in connections 5.5Installing community surveys in connections 5.5
Installing community surveys in connections 5.5Roberto Boccadoro
 
Flutter Android / iOS Build Preparation
Flutter Android / iOS Build PreparationFlutter Android / iOS Build Preparation
Flutter Android / iOS Build Preparation9 series
 

Similar a Visual Studio and Xamarin: The future of app development (20)

Provisioning Profile
Provisioning ProfileProvisioning Profile
Provisioning Profile
 
Hospital app project (how to upload app)
Hospital app project (how to upload app)Hospital app project (how to upload app)
Hospital app project (how to upload app)
 
OpenID Connect and Single Sign-On for Beginners
OpenID Connect and Single Sign-On for BeginnersOpenID Connect and Single Sign-On for Beginners
OpenID Connect and Single Sign-On for Beginners
 
Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps  Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps
 
Chicago ALM User Group - Nov 2014 - Application Insights 101
Chicago ALM User Group - Nov 2014 - Application Insights 101Chicago ALM User Group - Nov 2014 - Application Insights 101
Chicago ALM User Group - Nov 2014 - Application Insights 101
 
Optimizing windows phone apps
Optimizing windows phone appsOptimizing windows phone apps
Optimizing windows phone apps
 
visual basic 2005 programmer certification
visual basic 2005 programmer certificationvisual basic 2005 programmer certification
visual basic 2005 programmer certification
 
Dev ops for cross platform mobile modeveast 12
Dev ops for cross platform mobile   modeveast 12Dev ops for cross platform mobile   modeveast 12
Dev ops for cross platform mobile modeveast 12
 
Sandboxes: The Future of App Development by Evan Barnet & Pam Barnet
Sandboxes: The Future of App Development by Evan Barnet & Pam BarnetSandboxes: The Future of App Development by Evan Barnet & Pam Barnet
Sandboxes: The Future of App Development by Evan Barnet & Pam Barnet
 
Dynamics 365 self hosting bots
Dynamics 365 self hosting botsDynamics 365 self hosting bots
Dynamics 365 self hosting bots
 
Building an SSO platform in php (Zendcon 2010)
Building an SSO platform in php (Zendcon 2010)Building an SSO platform in php (Zendcon 2010)
Building an SSO platform in php (Zendcon 2010)
 
Using galen framework for automated cross browser layout testing
Using galen framework for automated cross browser layout testingUsing galen framework for automated cross browser layout testing
Using galen framework for automated cross browser layout testing
 
Introduction to the Salesforce Mobile SDK for Android
Introduction to the Salesforce Mobile SDK for AndroidIntroduction to the Salesforce Mobile SDK for Android
Introduction to the Salesforce Mobile SDK for Android
 
Iphone Apps Developer Certification
Iphone Apps Developer CertificationIphone Apps Developer Certification
Iphone Apps Developer Certification
 
Cocoa Programming Certification
Cocoa Programming CertificationCocoa Programming Certification
Cocoa Programming Certification
 
MuleSoft Nashik Virtual Meetup#4 - Implementing CI/CD pipeline for deploying ...
MuleSoft Nashik Virtual Meetup#4 - Implementing CI/CD pipeline for deploying ...MuleSoft Nashik Virtual Meetup#4 - Implementing CI/CD pipeline for deploying ...
MuleSoft Nashik Virtual Meetup#4 - Implementing CI/CD pipeline for deploying ...
 
Cordova Mobile Application Developer Certification
Cordova Mobile Application Developer CertificationCordova Mobile Application Developer Certification
Cordova Mobile Application Developer Certification
 
Building Mobile Friendly APIs in Rails
Building Mobile Friendly APIs in RailsBuilding Mobile Friendly APIs in Rails
Building Mobile Friendly APIs in Rails
 
Installing community surveys in connections 5.5
Installing community surveys in connections 5.5Installing community surveys in connections 5.5
Installing community surveys in connections 5.5
 
Flutter Android / iOS Build Preparation
Flutter Android / iOS Build PreparationFlutter Android / iOS Build Preparation
Flutter Android / iOS Build Preparation
 

Más de Microsoft Tech Community

Removing Security Roadblocks to IoT Deployment Success
Removing Security Roadblocks to IoT Deployment SuccessRemoving Security Roadblocks to IoT Deployment Success
Removing Security Roadblocks to IoT Deployment SuccessMicrosoft Tech Community
 
Building mobile apps with Visual Studio and Xamarin
Building mobile apps with Visual Studio and XamarinBuilding mobile apps with Visual Studio and Xamarin
Building mobile apps with Visual Studio and XamarinMicrosoft Tech Community
 
Best practices with Microsoft Graph: Making your applications more performant...
Best practices with Microsoft Graph: Making your applications more performant...Best practices with Microsoft Graph: Making your applications more performant...
Best practices with Microsoft Graph: Making your applications more performant...Microsoft Tech Community
 
Interactive emails in Outlook with Adaptive Cards
Interactive emails in Outlook with Adaptive CardsInteractive emails in Outlook with Adaptive Cards
Interactive emails in Outlook with Adaptive CardsMicrosoft Tech Community
 
Unlocking security insights with Microsoft Graph API
Unlocking security insights with Microsoft Graph APIUnlocking security insights with Microsoft Graph API
Unlocking security insights with Microsoft Graph APIMicrosoft Tech Community
 
Break through the serverless barriers with Durable Functions
Break through the serverless barriers with Durable FunctionsBreak through the serverless barriers with Durable Functions
Break through the serverless barriers with Durable FunctionsMicrosoft Tech Community
 
Multiplayer Server Scaling with Azure Container Instances
Multiplayer Server Scaling with Azure Container InstancesMultiplayer Server Scaling with Azure Container Instances
Multiplayer Server Scaling with Azure Container InstancesMicrosoft Tech Community
 
Media Streaming Apps with Azure and Xamarin
Media Streaming Apps with Azure and XamarinMedia Streaming Apps with Azure and Xamarin
Media Streaming Apps with Azure and XamarinMicrosoft Tech Community
 
Real-World Solutions with PowerApps: Tips & tricks to manage your app complexity
Real-World Solutions with PowerApps: Tips & tricks to manage your app complexityReal-World Solutions with PowerApps: Tips & tricks to manage your app complexity
Real-World Solutions with PowerApps: Tips & tricks to manage your app complexityMicrosoft Tech Community
 
Ingestion in data pipelines with Managed Kafka Clusters in Azure HDInsight
Ingestion in data pipelines with Managed Kafka Clusters in Azure HDInsightIngestion in data pipelines with Managed Kafka Clusters in Azure HDInsight
Ingestion in data pipelines with Managed Kafka Clusters in Azure HDInsightMicrosoft Tech Community
 
Getting Started with Visual Studio Tools for AI
Getting Started with Visual Studio Tools for AIGetting Started with Visual Studio Tools for AI
Getting Started with Visual Studio Tools for AIMicrosoft Tech Community
 
Mobile Workforce Location Tracking with Bing Maps
Mobile Workforce Location Tracking with Bing MapsMobile Workforce Location Tracking with Bing Maps
Mobile Workforce Location Tracking with Bing MapsMicrosoft Tech Community
 
Cognitive Services Labs in action Anomaly detection
Cognitive Services Labs in action Anomaly detectionCognitive Services Labs in action Anomaly detection
Cognitive Services Labs in action Anomaly detectionMicrosoft Tech Community
 

Más de Microsoft Tech Community (20)

100 ways to use Yammer
100 ways to use Yammer100 ways to use Yammer
100 ways to use Yammer
 
10 Yammer Group Suggestions
10 Yammer Group Suggestions10 Yammer Group Suggestions
10 Yammer Group Suggestions
 
Removing Security Roadblocks to IoT Deployment Success
Removing Security Roadblocks to IoT Deployment SuccessRemoving Security Roadblocks to IoT Deployment Success
Removing Security Roadblocks to IoT Deployment Success
 
Building mobile apps with Visual Studio and Xamarin
Building mobile apps with Visual Studio and XamarinBuilding mobile apps with Visual Studio and Xamarin
Building mobile apps with Visual Studio and Xamarin
 
Best practices with Microsoft Graph: Making your applications more performant...
Best practices with Microsoft Graph: Making your applications more performant...Best practices with Microsoft Graph: Making your applications more performant...
Best practices with Microsoft Graph: Making your applications more performant...
 
Interactive emails in Outlook with Adaptive Cards
Interactive emails in Outlook with Adaptive CardsInteractive emails in Outlook with Adaptive Cards
Interactive emails in Outlook with Adaptive Cards
 
Unlocking security insights with Microsoft Graph API
Unlocking security insights with Microsoft Graph APIUnlocking security insights with Microsoft Graph API
Unlocking security insights with Microsoft Graph API
 
Break through the serverless barriers with Durable Functions
Break through the serverless barriers with Durable FunctionsBreak through the serverless barriers with Durable Functions
Break through the serverless barriers with Durable Functions
 
Multiplayer Server Scaling with Azure Container Instances
Multiplayer Server Scaling with Azure Container InstancesMultiplayer Server Scaling with Azure Container Instances
Multiplayer Server Scaling with Azure Container Instances
 
Explore Azure Cosmos DB
Explore Azure Cosmos DBExplore Azure Cosmos DB
Explore Azure Cosmos DB
 
Media Streaming Apps with Azure and Xamarin
Media Streaming Apps with Azure and XamarinMedia Streaming Apps with Azure and Xamarin
Media Streaming Apps with Azure and Xamarin
 
DevOps for Data Science
DevOps for Data ScienceDevOps for Data Science
DevOps for Data Science
 
Real-World Solutions with PowerApps: Tips & tricks to manage your app complexity
Real-World Solutions with PowerApps: Tips & tricks to manage your app complexityReal-World Solutions with PowerApps: Tips & tricks to manage your app complexity
Real-World Solutions with PowerApps: Tips & tricks to manage your app complexity
 
Azure Functions and Microsoft Graph
Azure Functions and Microsoft GraphAzure Functions and Microsoft Graph
Azure Functions and Microsoft Graph
 
Ingestion in data pipelines with Managed Kafka Clusters in Azure HDInsight
Ingestion in data pipelines with Managed Kafka Clusters in Azure HDInsightIngestion in data pipelines with Managed Kafka Clusters in Azure HDInsight
Ingestion in data pipelines with Managed Kafka Clusters in Azure HDInsight
 
Getting Started with Visual Studio Tools for AI
Getting Started with Visual Studio Tools for AIGetting Started with Visual Studio Tools for AI
Getting Started with Visual Studio Tools for AI
 
Using AML Python SDK
Using AML Python SDKUsing AML Python SDK
Using AML Python SDK
 
Mobile Workforce Location Tracking with Bing Maps
Mobile Workforce Location Tracking with Bing MapsMobile Workforce Location Tracking with Bing Maps
Mobile Workforce Location Tracking with Bing Maps
 
Cognitive Services Labs in action Anomaly detection
Cognitive Services Labs in action Anomaly detectionCognitive Services Labs in action Anomaly detection
Cognitive Services Labs in action Anomaly detection
 
Speech Devices SDK
Speech Devices SDKSpeech Devices SDK
Speech Devices SDK
 

Último

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
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
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
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
 

Último (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
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...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
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...
 

Visual Studio and Xamarin: The future of app development

  • 1.
  • 2.
  • 3.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 30.
  • 31. iOS .NET UI Android .NET UI Shared .NET Code Windows .NET UI
  • 32.
  • 34.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 43.
  • 44.
  • 45.
  • 47.
  • 49. Without Eager Deploy With Eager Deploy First Run Master Detail App 106 seconds 81 seconds First Run Smart Hotel 360 179 seconds 161 seconds
  • 50. Version Google Play Services Speed CPUs Docker, UWP, nested virtualization No virtualization From Google, latest Yes Slow AMD, Intel Yes Intel HAXM virtualization From Google, latest Yes Fast Intel only No MS VS Emulator Ancient (4.0) No† Fast AMD, Intel Yes Xamarin Emulator Ancient (4.0) No† Fast AMD, Intel No, uses VirtualPC. † Google Play Services available if you download fishy binary from a random internet site, run an installer, and copy files to the right places. YMMV.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63. 5/6/2018 Working with Entitlements - Xamarin | Microsoft Docs https://docs.microsoft.com/en-us/xamarin/ios/deploy-test/provisioning/entitlements?tabs=vsmac 4/10 5. Select and configure any entitlements required for the Xamarin.iOS application so that they match the setup that was defined when the App ID was created. 6. Save the changes to the Entitlements.plist file. Adding a new Entitlements.plist file Entitlements are added to an app via the Entitlements.plist file. This file is included in Xamarin.iOSprojects by default but may be missing from older projects. To add an Entitlements.plist file to your Xamarin.iOSdo the following: 1. Right-click on the project file and browse to Add > New File…: Add Files context menu 2. In the New File dialog select iOS > Property List and name it Entitlements: 5/6/2018 Working with Capabilities - Xamarin | Microsoft Docs https://docs.microsoft.com/en-us/xamarin/ios/deploy-test/provisioning/capabilities/index?tabs=vsmac 5/14 Developer Center Using the developer center is a two step process that requires creating an App ID and then using that App ID to create a provisioning profile. These steps are detailed below. Creating an App ID with an app service 1. Browse to the Apple Developer Center on a Mac (the build host mac if using a windows machine) and log in. 2. Select Certificates, Identifiers, and Profiles: Apple Developer Center 3. Under Identifiers, select App IDs: 4. Press the + button in the top right corner to create a new App ID. 5/6/2018 Working with Capabilities - Xamarin | Microsoft Docs https://docs.microsoft.com/en-us/xamarin/ios/deploy-test/provisioning/capabilities/index?tabs=vsmac 6/14 5. Enter an App ID description, select Explicit App ID, and enter a bundle ID in the format com.domain.appname . This bundle ID should match the bundle ID in your project: Adding App ID details 6. Under App Services select the service or services that are required in your app: 7. Press Continue. 5/6/2018 Working with Capabilities - Xamarin | Microsoft Docs https://docs.microsoft.com/en-us/xamarin/ios/deploy-test/provisioning/capabilities/index?tabs=vsmac 6/14 5. Enter an App ID description, select Explicit App ID, and enter a bundle ID in the format com.domain.appname . This bundle ID should match the bundle ID in your project: Adding App ID details 6. Under App Services select the service or services that are required in your app: 7. Press Continue. 5/6/2018 Working with Capabilities - Xamarin | Microsoft Docs https://docs.microsoft.com/en-us/xamarin/ios/deploy-test/provisioning/capabilities/index?tabs=vsmac 9/14 Creating a Provisioning Profile Now create a provisioning profile that contains this App ID. Follow the steps below: 1. In the Apple Developer Center, browse to Provisioning Profiles > All: Provisioning Profile section 2. Press the + button in the top right corner to create a new provisioning profile. 3. Select the type of provisioning profile that you need, and click Continue: 5/6/2018 Working with Capabilities - Xamarin | Microsoft Docs https://docs.microsoft.com/en-us/xamarin/ios/deploy-test/provisioning/capabilities/index?tabs=vsmac 10/14 4. From the dropdown list, select the App ID that was created in the steps above and press Continue: App ID selection 5/6/2018 Working with Capabilities - Xamarin | Microsoft Docs https://docs.microsoft.com/en-us/xamarin/ios/deploy-test/provisioning/capabilities/index?tabs=vsmac 11/14 5. Select the certificates used to sign the app and press Continue: 6. Select the devices to be included in this profile and press Continue: Select devices for Provisioning Profile 7. Give the profile a name so that it can be identified and press Continue to generate the profile: Name provisioning Profile
  • 64.
  • 66.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79. Baseline Executable Sizes Release 15.6 Release 15.7 Improvement .NET iOS App 7.52 4.98 (2.54 MB) (34%) .NET iOS Extension 5.40 4.14 (1.26 MB) (23%) Swift 4.14 Objective-C 3.30
  • 80.
  • 81. Strong native reference to user type
  • 84.
  • 85.
  • 86. macOS
  • 87.
  • 88.
  • 89.
  • 90.
  • 91. https://github.com/fsprojects/Elmish.XamarinForms /// The messages dispatched by the view type Msg = | /// The model from which the view is generated type Model = { : } /// Returns the initial state let init() = { =false } /// The funtion to update the view let update msg Msg model Model = match with | -> { with = true } /// The view function giving updated content for the page let view model Model dispatch = if then ="I was pressed!" else ="Press Me!" = fun -> type App () = inherit () let runner = |> |> |>
  • 93.
  • 94. MaterialShell Shell DataTemplate Grid Label Text "{x:Bind HeaderText}" Grid DataTemplate Shell ShellItem Title "My music" ItemsSource "{x:Bind MyMusicModels}" ShellItem local:MyMusicItemTemplateSelection ShellItem ShellItem ShellItem Title "Home" Icon "home.png" GroupBehavior "ShowTabs" ShellTabItem Title "My Friends" local:FriendsPage ShellTabItem local:FeedPage local:ProfilePage ShellItem local:SettingsPage MenuItem Text "Log Out" Command "{x:Bind LogOutCommand}" MaterialShell
  • 95.
  • 96. <?xml version="1.0" encoding="UTF-8" ?> <Shell xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:Xamarin.Store" x:Class="Xamarin.StoreDemoApp" Route="s"> <Shell.FlyoutHeader> <local:HeaderView /> </Shell.FlyoutHeader> <Shell.MenuItems> <MenuItem x:Name="preferencesMenuItem" Text="Preferences" Icon="prefs.png" /> <MenuItem x:Name="logOutMenuItem" Text="Logout" Icon="logout.png" /> </Shell.MenuItems> <ShellItem Route="home" Title="Home" Icon="home.png" GroupBehavior="ShowTabs"> <ShellTabItem Route="updates" Title="Home" Icon="home.png" ContentTemplate="{DataTemplate local:HomePage}" /> <ShellTabItem Route="games" Title="Games" Icon="games.png" ContentTemplate="{DataTemplate local:GamesPage}" /> <ShellTabItem Route="settings" Title="Settings" Icon="games.png" ContentTemplate="{DataTemplate local:SettingsPage}" /> </ShellItem> <ShellItem Route="apps" Title="Media" Icon="media.png"> <ShellTabItem Route="books" Title="Books" Icon="books.png" ContentTemplate="{DataTemplate local:BooksPage}" /> <ShellTabItem Route="music" Title="Music" Icon="music.png" ContentTemplate="{DataTemplate local:MusicPage}" /> <ShellTabItem Route="movies" Title="Movies" Icon="movies.png" ContentTemplate="{DataTemplate local:MoviesPage}" /> </ShellItem> </Shell>

Notas del editor

  1. 79
  2. 84
  3. 85