• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
State of the Platforms
 

State of the Platforms

on

  • 383 views

Presentation from SDP 2014 covering the new announcements in Microsoft Azure, .NET, mobile development, and C++.

Presentation from SDP 2014 covering the new announcements in Microsoft Azure, .NET, mobile development, and C++.

Statistics

Views

Total Views
383
Views on SlideShare
330
Embed Views
53

Actions

Likes
0
Downloads
3
Comments
0

2 Embeds 53

https://twitter.com 46
http://lanyrd.com 7

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    State of the Platforms State of the Platforms Presentation Transcript

    • © 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!