SlideShare a Scribd company logo
1 of 25
Download to read offline
Meetup dotTech
15 Mai 2018
dotTech
Pierre-Yves HEMERY
Retour sur la
Microsoft //Build
2018
@hemerypi
Timothé LARIVIERE
@tim_lariviere
timothelariviere.com
Windows 10
Retour sur la Microsoft //Build 2018
Your Phone app
Windows 10
Sortie fin d’année – Android & iOS
SMS / Photos / Timeline sur PC
Notifications Windows
Progressive Web App
Windows 10
Une PWA = Une app comme les autres dans le store
Indexe automatiquement pour le Microsoft Store
Propose des outils
½ https://sonarwhal.com/
½ https://www.pwabuilder.com/
Accès aux API Windows (ex : Tiles, notifications), aux
fonctionnalités du store, F12…
Sets & Timeline
Windows 10
DEMO
.NET
Retour sur la Microsoft //Build 2018
.NET
.NET
.NET Conf 2018 – 12/13/14 Septembre
.NET Core 2.1 RC 1
.NET Core 3.0 Alpha (.NET Core App Bundler)
C# in the Browser (WebAssembly – Blazor/Ooui)
Xamarin
.NET
Xamarin.Forms 3.0
Hyper-V compatible VMs officielles Android
XAML Standard Preview (Xamarin.Forms 3.1)
Performance (Android Eager Deploy, iOS Full Static
Build)
Visual Studio
.NET
Visual Studio 15.7 / VS for Mac 7.5
C# 7.3 (dispo) – C# 8.0 Preview
Visual Studio Live Share
IntelliCode
C# 8.0 – Nullable Reference Type
.NET
public class MyClass
{
public string HasValue { get; set; }
public string NotAssigned { get; set; }
public string NullAssigned { get; set; }
public string? NullableNullAssigned { get; set; }
public MyClass() // Warning: NotAssigned is not assigned
{ // and will be null, but is not explicit about it
HasValue = “Mon texte”;
NullAssigned = null; // Warning : NullAssigned is null
// but not explicits about it
NullableNullAssigned = null; // Ok
}
}
C# 8.0 – Nullable Reference Type
.NET
var a = new MyClass();
a.HasValue.Length; // Ok
a.NotAssigned.Length; // Warning: NotAssigned might be null
a.NullableNullAssigned.Length // Warning: NullableNullAssigned is marked as
// nullable
C# 8.0 – Pattern Matching v2
.NET
C# 6 et avant
public string Print(Person v)
{
if (v.GetType() == typeof(Professor))
{
var p = v as Professor;
return "Prof." + v.Name + "-" + v.Type;
}
else if (v.GetType() == typeof(Student))
{
var s = v as Student;
return "Std." + p.Name + "-" + p.Mark;
}
}
public class Person
{
string Name { get; set; }
}
public class Professor : Person
{
string Type { get; set; }
}
public class Student : Person
{
double Mark { get; set; }
}
C# 8.0 – Pattern Matching v2
.NET
C# 7
public string Print(Person v)
{
switch (v)
{
case Professor p:
return "Prof." + p.Name + "-" + p.Type;
case Student s:
return "Std." + s.Name + "-" + v.Mark;
default:
return "Someone";
}
}
public class Person
{
string Name { get; set; }
}
public class Professor : Person
{
string Type { get; set; }
}
public class Student : Person
{
double Mark { get; set; }
}
C# 8.0 – Pattern Matching v2
.NET
C# 8
public string Print(Person v)
{
return v switch
{
Professor { Name = "R.", Type = var t } =>
"Principal. R. -" + t,
Professor p =>
"Prof." + p.Name + "-" + p.Type,
Student s =>
"Std." + s.Name + "-" + s.Mark,
_ =>
"Someone"
};
}
public class Person
{
string Name { get; set; }
}
public class Professor : Person
{
string Type { get; set; }
}
public class Student : Person
{
double Mark { get; set; }
}
C# 8.0 – Ranges
.NET
C# 7 et avant
public void Range()
{
var text = "Hello world";
text.Substring(1, 2); // el
text.Substring(1, text.Length – 2); // ello world
text.Substring(0, text.Length – 2); // Hello worl
text.Substring(1); // ello world
text; // Hello world
}
C# 8.0 – Ranges
.NET
C# 8
public void Range()
{
var text = "Hello world";
text.Substring(1..3); // el
text.Substring(1..^1); // ello world
text.Substring(..^1); // Hello worl
text.Substring(1..); // ello world
text.Substring(..); // Hello world
}
Visual Studio Live Share & IntelliCode
.NET
DEMO
Azure
Artificial Intelligence
Retour sur la Microsoft //Build 2018
Services
Azure – IA
Azure Cosmos DB
Azure SignalR Service
Microsoft Graph
BotBuilder v3 / Bot Framework Emulator Preview
Machine Learning
Azure – IA
WinML (Format ONNX) / Embarqué dans IoT
½ Drones DJI
½ Camera
ML.NET
Cognitive Services améliorés (Text Analysis,
QnAMaker, Luis, etc.)
Snip Insights
Azure – AI
DEMO
https://aka.ms/SampleSnipInsight
Bot & IA – Litware demos
Azure – AI
DEMO
https://retail.litwaredemos.com/en-us/
https://retail.litwaredemos.com/en-us/kiosk
https://retail.litwaredemos.com/en-us/associates/lock
Adaptive Cards in Outlook
Azure – AI
DEMO
En savoir plus
Retour sur la Microsoft //Build 2018
Replays //Build 2018 :
https://channel9.msdn.com/Events/Build/2018
Nos récapitulatifs en direct de la //Build
https://blog.infeeny.com/category/applications-
digital/evt-microsoft-build-2018/

More Related Content

Similar to Retour sur la Microsoft //Build 2018

C# for C++ programmers
C# for C++ programmersC# for C++ programmers
C# for C++ programmers
Mark Whitaker
 
Chapter27 polymorphism-virtual-function-abstract-class
Chapter27 polymorphism-virtual-function-abstract-classChapter27 polymorphism-virtual-function-abstract-class
Chapter27 polymorphism-virtual-function-abstract-class
Deepak Singh
 
Data structures and algorithms lab1
Data structures and algorithms lab1Data structures and algorithms lab1
Data structures and algorithms lab1
Bianca Teşilă
 
classes object fgfhdfgfdgfgfgfgfdoop.pptx
classes object  fgfhdfgfdgfgfgfgfdoop.pptxclasses object  fgfhdfgfdgfgfgfgfdoop.pptx
classes object fgfhdfgfdgfgfgfgfdoop.pptx
arjun431527
 

Similar to Retour sur la Microsoft //Build 2018 (20)

Groovy Introduction - JAX Germany - 2008
Groovy Introduction - JAX Germany - 2008Groovy Introduction - JAX Germany - 2008
Groovy Introduction - JAX Germany - 2008
 
麻省理工C++公开教学课程(二)
麻省理工C++公开教学课程(二)麻省理工C++公开教学课程(二)
麻省理工C++公开教学课程(二)
 
TypeScript Introduction
TypeScript IntroductionTypeScript Introduction
TypeScript Introduction
 
C# 6.0 Introduction
C# 6.0 IntroductionC# 6.0 Introduction
C# 6.0 Introduction
 
Local SQLite Database with Node for beginners
Local SQLite Database with Node for beginnersLocal SQLite Database with Node for beginners
Local SQLite Database with Node for beginners
 
Srgoc dotnet
Srgoc dotnetSrgoc dotnet
Srgoc dotnet
 
C# for C++ programmers
C# for C++ programmersC# for C++ programmers
C# for C++ programmers
 
[PL] O klasycznej, programistycznej elegancji
[PL] O klasycznej, programistycznej elegancji[PL] O klasycznej, programistycznej elegancji
[PL] O klasycznej, programistycznej elegancji
 
Chapter27 polymorphism-virtual-function-abstract-class
Chapter27 polymorphism-virtual-function-abstract-classChapter27 polymorphism-virtual-function-abstract-class
Chapter27 polymorphism-virtual-function-abstract-class
 
C# Variables and Operators
C# Variables and OperatorsC# Variables and Operators
C# Variables and Operators
 
TechTalk - Dotnet
TechTalk - DotnetTechTalk - Dotnet
TechTalk - Dotnet
 
Oop Presentation
Oop PresentationOop Presentation
Oop Presentation
 
Objective c intro (1)
Objective c intro (1)Objective c intro (1)
Objective c intro (1)
 
C# 6.0
C# 6.0C# 6.0
C# 6.0
 
Data structures and algorithms lab1
Data structures and algorithms lab1Data structures and algorithms lab1
Data structures and algorithms lab1
 
.Net passé, présent et futur
.Net passé, présent et futur.Net passé, présent et futur
.Net passé, présent et futur
 
Java oops PPT
Java oops PPTJava oops PPT
Java oops PPT
 
classes object fgfhdfgfdgfgfgfgfdoop.pptx
classes object  fgfhdfgfdgfgfgfgfdoop.pptxclasses object  fgfhdfgfdgfgfgfgfdoop.pptx
classes object fgfhdfgfdgfgfgfgfdoop.pptx
 
02-OOP with Java.ppt
02-OOP with Java.ppt02-OOP with Java.ppt
02-OOP with Java.ppt
 
.NET and C# introduction
.NET and C# introduction.NET and C# introduction
.NET and C# introduction
 

Recently uploaded

Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
FIDO Alliance
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
FIDO Alliance
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 

Retour sur la Microsoft //Build 2018

  • 1. Meetup dotTech 15 Mai 2018 dotTech
  • 2. Pierre-Yves HEMERY Retour sur la Microsoft //Build 2018 @hemerypi Timothé LARIVIERE @tim_lariviere timothelariviere.com
  • 3. Windows 10 Retour sur la Microsoft //Build 2018
  • 4. Your Phone app Windows 10 Sortie fin d’année – Android & iOS SMS / Photos / Timeline sur PC Notifications Windows
  • 5. Progressive Web App Windows 10 Une PWA = Une app comme les autres dans le store Indexe automatiquement pour le Microsoft Store Propose des outils ½ https://sonarwhal.com/ ½ https://www.pwabuilder.com/ Accès aux API Windows (ex : Tiles, notifications), aux fonctionnalités du store, F12…
  • 7. .NET Retour sur la Microsoft //Build 2018
  • 8. .NET .NET .NET Conf 2018 – 12/13/14 Septembre .NET Core 2.1 RC 1 .NET Core 3.0 Alpha (.NET Core App Bundler) C# in the Browser (WebAssembly – Blazor/Ooui)
  • 9. Xamarin .NET Xamarin.Forms 3.0 Hyper-V compatible VMs officielles Android XAML Standard Preview (Xamarin.Forms 3.1) Performance (Android Eager Deploy, iOS Full Static Build)
  • 10. Visual Studio .NET Visual Studio 15.7 / VS for Mac 7.5 C# 7.3 (dispo) – C# 8.0 Preview Visual Studio Live Share IntelliCode
  • 11. C# 8.0 – Nullable Reference Type .NET public class MyClass { public string HasValue { get; set; } public string NotAssigned { get; set; } public string NullAssigned { get; set; } public string? NullableNullAssigned { get; set; } public MyClass() // Warning: NotAssigned is not assigned { // and will be null, but is not explicit about it HasValue = “Mon texte”; NullAssigned = null; // Warning : NullAssigned is null // but not explicits about it NullableNullAssigned = null; // Ok } }
  • 12. C# 8.0 – Nullable Reference Type .NET var a = new MyClass(); a.HasValue.Length; // Ok a.NotAssigned.Length; // Warning: NotAssigned might be null a.NullableNullAssigned.Length // Warning: NullableNullAssigned is marked as // nullable
  • 13. C# 8.0 – Pattern Matching v2 .NET C# 6 et avant public string Print(Person v) { if (v.GetType() == typeof(Professor)) { var p = v as Professor; return "Prof." + v.Name + "-" + v.Type; } else if (v.GetType() == typeof(Student)) { var s = v as Student; return "Std." + p.Name + "-" + p.Mark; } } public class Person { string Name { get; set; } } public class Professor : Person { string Type { get; set; } } public class Student : Person { double Mark { get; set; } }
  • 14. C# 8.0 – Pattern Matching v2 .NET C# 7 public string Print(Person v) { switch (v) { case Professor p: return "Prof." + p.Name + "-" + p.Type; case Student s: return "Std." + s.Name + "-" + v.Mark; default: return "Someone"; } } public class Person { string Name { get; set; } } public class Professor : Person { string Type { get; set; } } public class Student : Person { double Mark { get; set; } }
  • 15. C# 8.0 – Pattern Matching v2 .NET C# 8 public string Print(Person v) { return v switch { Professor { Name = "R.", Type = var t } => "Principal. R. -" + t, Professor p => "Prof." + p.Name + "-" + p.Type, Student s => "Std." + s.Name + "-" + s.Mark, _ => "Someone" }; } public class Person { string Name { get; set; } } public class Professor : Person { string Type { get; set; } } public class Student : Person { double Mark { get; set; } }
  • 16. C# 8.0 – Ranges .NET C# 7 et avant public void Range() { var text = "Hello world"; text.Substring(1, 2); // el text.Substring(1, text.Length – 2); // ello world text.Substring(0, text.Length – 2); // Hello worl text.Substring(1); // ello world text; // Hello world }
  • 17. C# 8.0 – Ranges .NET C# 8 public void Range() { var text = "Hello world"; text.Substring(1..3); // el text.Substring(1..^1); // ello world text.Substring(..^1); // Hello worl text.Substring(1..); // ello world text.Substring(..); // Hello world }
  • 18. Visual Studio Live Share & IntelliCode .NET DEMO
  • 19. Azure Artificial Intelligence Retour sur la Microsoft //Build 2018
  • 20. Services Azure – IA Azure Cosmos DB Azure SignalR Service Microsoft Graph BotBuilder v3 / Bot Framework Emulator Preview
  • 21. Machine Learning Azure – IA WinML (Format ONNX) / Embarqué dans IoT ½ Drones DJI ½ Camera ML.NET Cognitive Services améliorés (Text Analysis, QnAMaker, Luis, etc.)
  • 22. Snip Insights Azure – AI DEMO https://aka.ms/SampleSnipInsight
  • 23. Bot & IA – Litware demos Azure – AI DEMO https://retail.litwaredemos.com/en-us/ https://retail.litwaredemos.com/en-us/kiosk https://retail.litwaredemos.com/en-us/associates/lock
  • 24. Adaptive Cards in Outlook Azure – AI DEMO
  • 25. En savoir plus Retour sur la Microsoft //Build 2018 Replays //Build 2018 : https://channel9.msdn.com/Events/Build/2018 Nos récapitulatifs en direct de la //Build https://blog.infeeny.com/category/applications- digital/evt-microsoft-build-2018/