James Montemagno walks you through how Xamarin for Visual Studio 2017 makes it even easier to deliver fully native Android, iOS, and UWP apps from a single C# codebase. You'll learn what's new, including: the Xamarin Inspector and Profiler, new language features in C# 7, and how Visual Studio 2017 streamlines mobile development for .NET developers everywhere.
Watch webinar recording at https://aka.ms/introtoxamarinvs2017
Visual Studio 2017 General Availability and New Value for Developers
1.
2. James
Montemagno
Principal Program Manager – Mobile Developer Tools,
Microsoft
motz@microsoft.com motzcod.es @JamesMontemagno
Weekly development podcast
mergeconflict.fm
Weekly development show
xamarinshow.com
3.
4. Visual Studio
Visual Studio for Mac
Visual Studio Code
Visual Studio Mobile Center
Visual Studio Team Services
10. Android Nougat
Open Source Xamarin.Android
Open Source Xamarin.Forms
Xamarin included in Visual Studio InspectorXamarin.Forms Native Embedding
Xamarin.Forms Previewer Visual Studio for Mac Preview Platform Specifics
iOS 10 .NET Standard
Xamarin.Forms URL Navigation
Remote iOS Simulator on Windows
MIT License Mono
Embedded Native Controls
Multi-process debugging on MacOpen Source Xamarin.iOS WatchOS 3
Open Source Xamarin.Mac Workbooks
Xamarin.Forms Tizen
BitCode support
TLS 1.2Hybrid AOT
Vulkan API
Skia 2D Graphics
12. Xamarin: Anything you can do in Objective-C,
Swift, or Java, you can do in C# and Visual Studio
• Native user interface
• High-fidelity API access
• Native performance
13. Shared C# logic
Windows C# UIAndroid C# UIiOS C# UI
Xamarin’s unique approach
Shared C# codebase • 100% native API access • High performance
14. Xamarin Native approach
3 Native User Interfaces
Shared App Logic
Shared C# Logic
Windows C#Android C#iOS C#
20. Native performance
Xamarin.iOS does full Ahead Of Time
(AOT) compilation to produce an ARM
binary for Apple’s App Store.
Xamarin.Android takes advantage
of Just In Time (JIT) compilation on
the Android device.
ARM
BINARY
Runs
natively
.APPAOT
.NET
C#
Bindings
.APKCompile
and Link
.NET
C#
Bindings
IL
+
JIT
Runs
natively
.NET
C#
Bindings
21. ✓ Always up-to-date
Same-day
support:
• iOS 5
• iOS 6
• iOS 7
• iOS 8
• iOS 9
• iOS 10
Full support for:
• Apple Watch
• Apple TV
• Android Wear
• Amazon Fire TV
• Google Glass
• and much more
37. private static (int Max, int Min) Range(IEnumerable<int> numbers)
{
int min = int.MaxValue;
int max = int.MinValue;
foreach(var n in numbers)
{
min = (n < min) ? n : min;
max = (n > max) ? n : max;
}
return (max, min);
}
var range = Range(numbers);
Or
(int min, int max) = Range(numbers);
38. public static int DiceSum4(IEnumerable<object> values)
{
var sum = 0;
foreach (var item in values)
{
switch (item)
{
case 0: break;
case int val: sum += val; break;
case IEnumerable<object> subList when subList.Any():
sum += DiceSum4(subList);
break;
case IEnumerable<object> subList:
break;
case null:
break;
default:
throw new InvalidOperationException("unknown item type");
}
}
return sum;
}
39. Photo used under CC http://www.wocintechchat.com/
Productivity improvements and C# 7
Demo
43. Pluralsight: 1 year full catalog
Office 365 Dev: 25 seats
Parasoft: 6 months
WhiteSource: 6 months
Announcing
New value for Visual Studio
Enterprise subscribers
44. Announcing
New value for Visual Studio
Dev Essentials members
Opsgility: 3 months of Azure and DevOps training
Xamarin University Training Classes
Azure Credits
So Much More
aka.ms/devessentials
45. A mobile-first, cloud-first IDE. Made for the Mac.
Native mobile and Mac apps in C#
Build from the client to the cloud
Announcing
Visual Studio for Mac
Preview 4
46. Lets developers build apps, not ops
Easy to adopt
Ready for the enterprise
aka.ms/mobilecenter
Announcing
Visual Studio Mobile Center
Preview
49. Thank you.
James
Montemagno
Principal Program Manager – Mobile Developer Tools,
Microsoft
motz@microsoft.com motzcod.es @JamesMontemagno
Weekly development podcast
mergeconflict.fm
Weekly development show
xamarinshow.com