SlideShare uma empresa Scribd logo
1 de 17
© Copyright SELA software & Education Labs Ltd. | 14-18 Baruch Hirsch St Bnei Brak, 51202 Israel | www.selagroup.com
SELA DEVELOPER PRACTICE
JUNE 29 – JULY 3, 2014
Sasha Goldshtein
State of the Platforms
It’s been 8 months since we last
met.
There’s enough new technology
from Microsoft to fill three
conferences.
Azure .NET Mobile C++
New Azure Features
Azure File
Service
API
Management
Automation
Remote App
Hybrid
Connections
Redis Cache
Service
Azure .NET Mobile C++
Related session: Microsoft Cloud, Monday 9:00am
Major Azure Updates
Web Sites
• Java support
• Backup and restore
• Staged publishing
Virtual Machines
• Chef and Puppet
agents
• A8 and A9 compute
instances
Mobile Services
• .NET backend
• Offline sync
• Sencha touch
support
• Xamarin support
Storage
• Read-only geo-
redundant storage
• Import/export
service
Azure .NET Mobile C++
Related session: Microsoft Cloud, Monday 9:00am
.NET Native
Precompiles .NET apps to optimized native code
Uses the C++ optimizing compiler backend
End result does not depend on the .NET
Framework installation
C# code
IL
assembly
.ildll
Native
.exe/.dll
csc ilc nutsi
CoreFX MRT
.NET Native Toolchain
Azure .NET Mobile C++
RyuJIT
RyuJIT is a rewrite of the CLR JIT compiler
Better throughput and code quality
Currently in CTP4
Azure .NET Mobile C++
Source: Microsoft .NET Team Blog
Microsoft.Bcl.Simd
Modern processors can issue 4-8 integer/fp
operations per cycle; RyuJIT supports it
int ArithmeticSeriesSumSimd(int n) {
Vector4f vsums = new Vector4f(0, 0, 0, 0);
Vector4f viter = new Vector4f(1, 2, 3, 4);
Vector4f vstep = new Vector4f(4, 4, 4, 4);
for (int i = 1; i <= n / 4; ++i) {
vsums = vsums + viter; // ADDPS
viter = viter + vstep; // ADDPS
}
return (int)(vsums.W + vsums.X + vsums.Y + vsums.Z);
}
Azure .NET Mobile C++
32-bit float 32-bit float 32-bit float 32-bit float
32-bit float 32-bit float 32-bit float 32-bit float
32-bit float 32-bit float 32-bit float 32-bit float
XMM0
XMM1
XMM0
Roslyn and C# 6.0
Roslyn is coming, in the meantime many new
C# 6.0 features were publicly revealed
And Roslyn went open source!
var salaries = new Dictionary<string, int> {
["Kate"] = 1200,
["Dave"] = 1100
};
if (int.TryParse(1700, out var result)) {
Console.WriteLine(result);
}
customer?.Address?.AddressLine[0]?.Print();
Azure .NET Mobile C++
Dictionary
initializer
Declaration
expression
Null
propagation
More C# 6.0 Features
using System.Math;
class Point(int x, int y) {
public int X { get; set; } = x;
public int Y { get; set; } = y;
public double Magnitude => Sqrt(X*X + Y*Y);
}
try {
Parallel.ForEach(...);
} catch (AggregateException ex) if (ex.Count > 1) {
...
}
Azure .NET Mobile C++
Using static
membersPrimary
constructor
Auto-property
initializers
Expression
member
Exception filter
ASP.NET vNext
Redesigned
ASP.NET
stack (MVC
6)
Cloud-
optimized
.NET (11MB)
available
through
NuGet
Multiple
side-by-side
versions of
.NET
Live refresh
of edited
code
through
Roslyn
Open
source and
cross-
platform
Related session: Introducing ASP.NET vNext, Tuesday 1:30pm
Azure .NET Mobile C++
Universal Apps
Windows Phone 8.1 is sufficiently converged
with WinRT to allow most code and UI to be
shared
Universal app templates in Visual Studio (still creates
two projects and shared files)
Azure .NET Mobile C++
Related session: Developing XAML Apps for Multiple Devices, Tuesday 1:30pm
Cordova Tools for Visual Studio
Bringing Cordova tools
for mobile apps into
Visual Studio
Multi-device hybrid app
templates
Azure .NET Mobile C++
Related workshop: Building Mobile Web Apps with jQuery Mobile and PhoneGap,
Wednesday
Xamarin Partnership
Xamarin allows building iOS and Android apps
in C# and Visual Studio
Xamarin Forms beta announced with shared UI
controls in addition to business logic
Azure .NET Mobile C++
Related session: C# Everywhere: Introduction to Xamarin, Tuesday 2:35pm
C++ Conformance and Library
Updates
C++ 14 is done, C++ 17 work is underway
Largest focus is on libraries: file system*, networking,
concurrency*, parallel STL*
* Previews available on CodePlex/Visual Studio “14” CTP
Azure .NET Mobile C++
Related workshop: Making the Most of C++ 11/14, Wednesday/Thursday
This Is, Or Could Be, C++
async optional<string> translate_async(string term);
async auto translate(vector<string> terms)
{
decltype(terms) results;
for (auto term : terms)
{
auto translated = await translate_async(term);
results.push_back(translated ? translated : "N/A"s);
}
parallel_sort(results.begin(), results.end());
return results;
}
Azure .NET Mobile C++
Related workshop: Making the Most of C++ 11/14, Wednesday/Thursday
Questions
© Copyright SELA software & Education Labs Ltd. | 14-18 Baruch Hirsch St Bnei Brak, 51202 Israel | www.selagroup.com
SELA DEVELOPER PRACTICE
JUNE 29 – JULY 3, 2014
Azure .NET Mobile C++
Sasha Goldshtein blog.sashag.net
CTO, Sela Group @goldshtn
Thank You!

Mais conteúdo relacionado

Semelhante a State of the Platforms

Visual Studio 2017 Launch Event
Visual Studio 2017 Launch EventVisual Studio 2017 Launch Event
Visual Studio 2017 Launch EventJames Montemagno
 
Using Spatial Data Streams In Real-Time
Using Spatial Data Streams In Real-TimeUsing Spatial Data Streams In Real-Time
Using Spatial Data Streams In Real-TimeLars Schmitz
 
An Introduction to the Microsoft Cloud
An Introduction to the Microsoft CloudAn Introduction to the Microsoft Cloud
An Introduction to the Microsoft CloudShaping Cloud
 
[Td 2015]general session 세상을 품은 플랫폼과 그 가능성에 대하여(기술에반젤리스트)
[Td 2015]general session 세상을 품은 플랫폼과 그 가능성에 대하여(기술에반젤리스트)[Td 2015]general session 세상을 품은 플랫폼과 그 가능성에 대하여(기술에반젤리스트)
[Td 2015]general session 세상을 품은 플랫폼과 그 가능성에 대하여(기술에반젤리스트)Sang Don Kim
 
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0Thomas Conté
 
Cloudy with a Chance of Cross Platform (for Bay.NET)
Cloudy with a Chance of Cross Platform (for Bay.NET)Cloudy with a Chance of Cross Platform (for Bay.NET)
Cloudy with a Chance of Cross Platform (for Bay.NET)Craig Dunn
 
Gab17 lyon-app servicelinux-by-benjamin-talmard.
Gab17 lyon-app servicelinux-by-benjamin-talmard.Gab17 lyon-app servicelinux-by-benjamin-talmard.
Gab17 lyon-app servicelinux-by-benjamin-talmard.AZUG FR
 
SharePoint Mobile App Development with Xmarin
SharePoint Mobile App Development with XmarinSharePoint Mobile App Development with Xmarin
SharePoint Mobile App Development with XmarinHector Luciano Jr
 
Visual Studio | Lanzamiento VS2017 en Buenos Aires - 11/03/2017
Visual Studio | Lanzamiento VS2017 en Buenos Aires - 11/03/2017Visual Studio | Lanzamiento VS2017 en Buenos Aires - 11/03/2017
Visual Studio | Lanzamiento VS2017 en Buenos Aires - 11/03/2017Pablo Ariel Di Loreto
 
Teched India Vijay Interop Track
Teched India Vijay Interop TrackTeched India Vijay Interop Track
Teched India Vijay Interop Trackvijayrvr
 
Multi channel advantage
Multi channel advantageMulti channel advantage
Multi channel advantageDipesh Mukerji
 
A Linux Enthusiast's Perspective on Microsoft OSS & Azure
A Linux Enthusiast's Perspective on Microsoft OSS & AzureA Linux Enthusiast's Perspective on Microsoft OSS & Azure
A Linux Enthusiast's Perspective on Microsoft OSS & AzureMicheal Colhoun
 
Red Hat and kubernetes: awesome stuff coming your way
Red Hat and kubernetes:  awesome stuff coming your wayRed Hat and kubernetes:  awesome stuff coming your way
Red Hat and kubernetes: awesome stuff coming your wayJohannes Brännström
 
Build 2017 - B8083 - The future of Visual Studio
Build 2017 - B8083 - The future of Visual StudioBuild 2017 - B8083 - The future of Visual Studio
Build 2017 - B8083 - The future of Visual StudioWindows Developer
 
End to End .NET Development on Mac
End to End .NET Development on MacEnd to End .NET Development on Mac
End to End .NET Development on MacMike James
 
Introduction to Xamarin for Visual Studio 2017
Introduction to Xamarin for Visual Studio 2017Introduction to Xamarin for Visual Studio 2017
Introduction to Xamarin for Visual Studio 2017Xamarin
 
Vijay Mix Presentation
Vijay Mix PresentationVijay Mix Presentation
Vijay Mix Presentationvijayrvr
 

Semelhante a State of the Platforms (20)

Visual Studio 2017 Launch Event
Visual Studio 2017 Launch EventVisual Studio 2017 Launch Event
Visual Studio 2017 Launch Event
 
C# rocks
C# rocksC# rocks
C# rocks
 
Using Spatial Data Streams In Real-Time
Using Spatial Data Streams In Real-TimeUsing Spatial Data Streams In Real-Time
Using Spatial Data Streams In Real-Time
 
An Introduction to the Microsoft Cloud
An Introduction to the Microsoft CloudAn Introduction to the Microsoft Cloud
An Introduction to the Microsoft Cloud
 
[Td 2015]general session 세상을 품은 플랫폼과 그 가능성에 대하여(기술에반젤리스트)
[Td 2015]general session 세상을 품은 플랫폼과 그 가능성에 대하여(기술에반젤리스트)[Td 2015]general session 세상을 품은 플랫폼과 그 가능성에 대하여(기술에반젤리스트)
[Td 2015]general session 세상을 품은 플랫폼과 그 가능성에 대하여(기술에반젤리스트)
 
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
 
Cloudy with a Chance of Cross Platform (for Bay.NET)
Cloudy with a Chance of Cross Platform (for Bay.NET)Cloudy with a Chance of Cross Platform (for Bay.NET)
Cloudy with a Chance of Cross Platform (for Bay.NET)
 
Gab17 lyon-app servicelinux-by-benjamin-talmard.
Gab17 lyon-app servicelinux-by-benjamin-talmard.Gab17 lyon-app servicelinux-by-benjamin-talmard.
Gab17 lyon-app servicelinux-by-benjamin-talmard.
 
SharePoint Mobile App Development with Xmarin
SharePoint Mobile App Development with XmarinSharePoint Mobile App Development with Xmarin
SharePoint Mobile App Development with Xmarin
 
Visual Studio | Lanzamiento VS2017 en Buenos Aires - 11/03/2017
Visual Studio | Lanzamiento VS2017 en Buenos Aires - 11/03/2017Visual Studio | Lanzamiento VS2017 en Buenos Aires - 11/03/2017
Visual Studio | Lanzamiento VS2017 en Buenos Aires - 11/03/2017
 
.NET Overview & Roadmap
.NET Overview & Roadmap.NET Overview & Roadmap
.NET Overview & Roadmap
 
Teched India Vijay Interop Track
Teched India Vijay Interop TrackTeched India Vijay Interop Track
Teched India Vijay Interop Track
 
Abdullah CV
Abdullah CVAbdullah CV
Abdullah CV
 
Multi channel advantage
Multi channel advantageMulti channel advantage
Multi channel advantage
 
A Linux Enthusiast's Perspective on Microsoft OSS & Azure
A Linux Enthusiast's Perspective on Microsoft OSS & AzureA Linux Enthusiast's Perspective on Microsoft OSS & Azure
A Linux Enthusiast's Perspective on Microsoft OSS & Azure
 
Red Hat and kubernetes: awesome stuff coming your way
Red Hat and kubernetes:  awesome stuff coming your wayRed Hat and kubernetes:  awesome stuff coming your way
Red Hat and kubernetes: awesome stuff coming your way
 
Build 2017 - B8083 - The future of Visual Studio
Build 2017 - B8083 - The future of Visual StudioBuild 2017 - B8083 - The future of Visual Studio
Build 2017 - B8083 - The future of Visual Studio
 
End to End .NET Development on Mac
End to End .NET Development on MacEnd to End .NET Development on Mac
End to End .NET Development on Mac
 
Introduction to Xamarin for Visual Studio 2017
Introduction to Xamarin for Visual Studio 2017Introduction to Xamarin for Visual Studio 2017
Introduction to Xamarin for Visual Studio 2017
 
Vijay Mix Presentation
Vijay Mix PresentationVijay Mix Presentation
Vijay Mix Presentation
 

Mais de Sasha Goldshtein

Modern Linux Tracing Landscape
Modern Linux Tracing LandscapeModern Linux Tracing Landscape
Modern Linux Tracing LandscapeSasha Goldshtein
 
The Next Linux Superpower: eBPF Primer
The Next Linux Superpower: eBPF PrimerThe Next Linux Superpower: eBPF Primer
The Next Linux Superpower: eBPF PrimerSasha Goldshtein
 
Staring into the eBPF Abyss
Staring into the eBPF AbyssStaring into the eBPF Abyss
Staring into the eBPF AbyssSasha Goldshtein
 
Visual Studio 2015 and the Next .NET Framework
Visual Studio 2015 and the Next .NET FrameworkVisual Studio 2015 and the Next .NET Framework
Visual Studio 2015 and the Next .NET FrameworkSasha Goldshtein
 
Swift: Apple's New Programming Language for iOS and OS X
Swift: Apple's New Programming Language for iOS and OS XSwift: Apple's New Programming Language for iOS and OS X
Swift: Apple's New Programming Language for iOS and OS XSasha Goldshtein
 
C# Everywhere: Cross-Platform Mobile Apps with Xamarin
C# Everywhere: Cross-Platform Mobile Apps with XamarinC# Everywhere: Cross-Platform Mobile Apps with Xamarin
C# Everywhere: Cross-Platform Mobile Apps with XamarinSasha Goldshtein
 
Modern Backends for Mobile Apps
Modern Backends for Mobile AppsModern Backends for Mobile Apps
Modern Backends for Mobile AppsSasha Goldshtein
 
Performance and Debugging with the Diagnostics Hub in Visual Studio 2013
Performance and Debugging with the Diagnostics Hub in Visual Studio 2013Performance and Debugging with the Diagnostics Hub in Visual Studio 2013
Performance and Debugging with the Diagnostics Hub in Visual Studio 2013Sasha Goldshtein
 
Mastering IntelliTrace in Development and Production
Mastering IntelliTrace in Development and ProductionMastering IntelliTrace in Development and Production
Mastering IntelliTrace in Development and ProductionSasha Goldshtein
 
Delivering Millions of Push Notifications in Minutes
Delivering Millions of Push Notifications in MinutesDelivering Millions of Push Notifications in Minutes
Delivering Millions of Push Notifications in MinutesSasha Goldshtein
 
Building Mobile Apps with a Mobile Services .NET Backend
Building Mobile Apps with a Mobile Services .NET BackendBuilding Mobile Apps with a Mobile Services .NET Backend
Building Mobile Apps with a Mobile Services .NET BackendSasha Goldshtein
 
Building iOS and Android Apps with Mobile Services
Building iOS and Android Apps with Mobile ServicesBuilding iOS and Android Apps with Mobile Services
Building iOS and Android Apps with Mobile ServicesSasha Goldshtein
 
Attacking Web Applications
Attacking Web ApplicationsAttacking Web Applications
Attacking Web ApplicationsSasha Goldshtein
 
Windows Azure Mobile Services
Windows Azure Mobile ServicesWindows Azure Mobile Services
Windows Azure Mobile ServicesSasha Goldshtein
 
First Steps in Android Development
First Steps in Android DevelopmentFirst Steps in Android Development
First Steps in Android DevelopmentSasha Goldshtein
 
First Steps in iOS Development
First Steps in iOS DevelopmentFirst Steps in iOS Development
First Steps in iOS DevelopmentSasha Goldshtein
 

Mais de Sasha Goldshtein (20)

Modern Linux Tracing Landscape
Modern Linux Tracing LandscapeModern Linux Tracing Landscape
Modern Linux Tracing Landscape
 
The Next Linux Superpower: eBPF Primer
The Next Linux Superpower: eBPF PrimerThe Next Linux Superpower: eBPF Primer
The Next Linux Superpower: eBPF Primer
 
Staring into the eBPF Abyss
Staring into the eBPF AbyssStaring into the eBPF Abyss
Staring into the eBPF Abyss
 
Visual Studio 2015 and the Next .NET Framework
Visual Studio 2015 and the Next .NET FrameworkVisual Studio 2015 and the Next .NET Framework
Visual Studio 2015 and the Next .NET Framework
 
Swift: Apple's New Programming Language for iOS and OS X
Swift: Apple's New Programming Language for iOS and OS XSwift: Apple's New Programming Language for iOS and OS X
Swift: Apple's New Programming Language for iOS and OS X
 
C# Everywhere: Cross-Platform Mobile Apps with Xamarin
C# Everywhere: Cross-Platform Mobile Apps with XamarinC# Everywhere: Cross-Platform Mobile Apps with Xamarin
C# Everywhere: Cross-Platform Mobile Apps with Xamarin
 
Modern Backends for Mobile Apps
Modern Backends for Mobile AppsModern Backends for Mobile Apps
Modern Backends for Mobile Apps
 
.NET Debugging Workshop
.NET Debugging Workshop.NET Debugging Workshop
.NET Debugging Workshop
 
Performance and Debugging with the Diagnostics Hub in Visual Studio 2013
Performance and Debugging with the Diagnostics Hub in Visual Studio 2013Performance and Debugging with the Diagnostics Hub in Visual Studio 2013
Performance and Debugging with the Diagnostics Hub in Visual Studio 2013
 
Mastering IntelliTrace in Development and Production
Mastering IntelliTrace in Development and ProductionMastering IntelliTrace in Development and Production
Mastering IntelliTrace in Development and Production
 
Introduction to RavenDB
Introduction to RavenDBIntroduction to RavenDB
Introduction to RavenDB
 
Delivering Millions of Push Notifications in Minutes
Delivering Millions of Push Notifications in MinutesDelivering Millions of Push Notifications in Minutes
Delivering Millions of Push Notifications in Minutes
 
Building Mobile Apps with a Mobile Services .NET Backend
Building Mobile Apps with a Mobile Services .NET BackendBuilding Mobile Apps with a Mobile Services .NET Backend
Building Mobile Apps with a Mobile Services .NET Backend
 
Building iOS and Android Apps with Mobile Services
Building iOS and Android Apps with Mobile ServicesBuilding iOS and Android Apps with Mobile Services
Building iOS and Android Apps with Mobile Services
 
Task and Data Parallelism
Task and Data ParallelismTask and Data Parallelism
Task and Data Parallelism
 
What's New in C++ 11?
What's New in C++ 11?What's New in C++ 11?
What's New in C++ 11?
 
Attacking Web Applications
Attacking Web ApplicationsAttacking Web Applications
Attacking Web Applications
 
Windows Azure Mobile Services
Windows Azure Mobile ServicesWindows Azure Mobile Services
Windows Azure Mobile Services
 
First Steps in Android Development
First Steps in Android DevelopmentFirst Steps in Android Development
First Steps in Android Development
 
First Steps in iOS Development
First Steps in iOS DevelopmentFirst Steps in iOS Development
First Steps in iOS Development
 

Último

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
 
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
 
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
 
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
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
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
 
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
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
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
 
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
 
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
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Último (20)

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...
 
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
 
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 ...
 
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
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
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...
 
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
 
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
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

State of the Platforms

  • 1. © Copyright SELA software & Education Labs Ltd. | 14-18 Baruch Hirsch St Bnei Brak, 51202 Israel | www.selagroup.com SELA DEVELOPER PRACTICE JUNE 29 – JULY 3, 2014 Sasha Goldshtein State of the Platforms
  • 2. It’s been 8 months since we last met. There’s enough new technology from Microsoft to fill three conferences. Azure .NET Mobile C++
  • 3. New Azure Features Azure File Service API Management Automation Remote App Hybrid Connections Redis Cache Service Azure .NET Mobile C++ Related session: Microsoft Cloud, Monday 9:00am
  • 4. Major Azure Updates Web Sites • Java support • Backup and restore • Staged publishing Virtual Machines • Chef and Puppet agents • A8 and A9 compute instances Mobile Services • .NET backend • Offline sync • Sencha touch support • Xamarin support Storage • Read-only geo- redundant storage • Import/export service Azure .NET Mobile C++ Related session: Microsoft Cloud, Monday 9:00am
  • 5. .NET Native Precompiles .NET apps to optimized native code Uses the C++ optimizing compiler backend End result does not depend on the .NET Framework installation C# code IL assembly .ildll Native .exe/.dll csc ilc nutsi CoreFX MRT .NET Native Toolchain Azure .NET Mobile C++
  • 6. RyuJIT RyuJIT is a rewrite of the CLR JIT compiler Better throughput and code quality Currently in CTP4 Azure .NET Mobile C++ Source: Microsoft .NET Team Blog
  • 7. Microsoft.Bcl.Simd Modern processors can issue 4-8 integer/fp operations per cycle; RyuJIT supports it int ArithmeticSeriesSumSimd(int n) { Vector4f vsums = new Vector4f(0, 0, 0, 0); Vector4f viter = new Vector4f(1, 2, 3, 4); Vector4f vstep = new Vector4f(4, 4, 4, 4); for (int i = 1; i <= n / 4; ++i) { vsums = vsums + viter; // ADDPS viter = viter + vstep; // ADDPS } return (int)(vsums.W + vsums.X + vsums.Y + vsums.Z); } Azure .NET Mobile C++ 32-bit float 32-bit float 32-bit float 32-bit float 32-bit float 32-bit float 32-bit float 32-bit float 32-bit float 32-bit float 32-bit float 32-bit float XMM0 XMM1 XMM0
  • 8. Roslyn and C# 6.0 Roslyn is coming, in the meantime many new C# 6.0 features were publicly revealed And Roslyn went open source! var salaries = new Dictionary<string, int> { ["Kate"] = 1200, ["Dave"] = 1100 }; if (int.TryParse(1700, out var result)) { Console.WriteLine(result); } customer?.Address?.AddressLine[0]?.Print(); Azure .NET Mobile C++ Dictionary initializer Declaration expression Null propagation
  • 9. More C# 6.0 Features using System.Math; class Point(int x, int y) { public int X { get; set; } = x; public int Y { get; set; } = y; public double Magnitude => Sqrt(X*X + Y*Y); } try { Parallel.ForEach(...); } catch (AggregateException ex) if (ex.Count > 1) { ... } Azure .NET Mobile C++ Using static membersPrimary constructor Auto-property initializers Expression member Exception filter
  • 10. ASP.NET vNext Redesigned ASP.NET stack (MVC 6) Cloud- optimized .NET (11MB) available through NuGet Multiple side-by-side versions of .NET Live refresh of edited code through Roslyn Open source and cross- platform Related session: Introducing ASP.NET vNext, Tuesday 1:30pm Azure .NET Mobile C++
  • 11. Universal Apps Windows Phone 8.1 is sufficiently converged with WinRT to allow most code and UI to be shared Universal app templates in Visual Studio (still creates two projects and shared files) Azure .NET Mobile C++ Related session: Developing XAML Apps for Multiple Devices, Tuesday 1:30pm
  • 12. Cordova Tools for Visual Studio Bringing Cordova tools for mobile apps into Visual Studio Multi-device hybrid app templates Azure .NET Mobile C++ Related workshop: Building Mobile Web Apps with jQuery Mobile and PhoneGap, Wednesday
  • 13. Xamarin Partnership Xamarin allows building iOS and Android apps in C# and Visual Studio Xamarin Forms beta announced with shared UI controls in addition to business logic Azure .NET Mobile C++ Related session: C# Everywhere: Introduction to Xamarin, Tuesday 2:35pm
  • 14. C++ Conformance and Library Updates C++ 14 is done, C++ 17 work is underway Largest focus is on libraries: file system*, networking, concurrency*, parallel STL* * Previews available on CodePlex/Visual Studio “14” CTP Azure .NET Mobile C++ Related workshop: Making the Most of C++ 11/14, Wednesday/Thursday
  • 15. This Is, Or Could Be, C++ async optional<string> translate_async(string term); async auto translate(vector<string> terms) { decltype(terms) results; for (auto term : terms) { auto translated = await translate_async(term); results.push_back(translated ? translated : "N/A"s); } parallel_sort(results.begin(), results.end()); return results; } Azure .NET Mobile C++ Related workshop: Making the Most of C++ 11/14, Wednesday/Thursday
  • 17. © Copyright SELA software & Education Labs Ltd. | 14-18 Baruch Hirsch St Bnei Brak, 51202 Israel | www.selagroup.com SELA DEVELOPER PRACTICE JUNE 29 – JULY 3, 2014 Azure .NET Mobile C++ Sasha Goldshtein blog.sashag.net CTO, Sela Group @goldshtn Thank You!