SlideShare una empresa de 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!

Más contenido relacionado

Similar 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
 

Similar 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
 

Más 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
 

Más 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

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Último (20)

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

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!