.NET (r)evolution

27
.NET (r)evolution

Transcript of .NET (r)evolution

Page 1: .NET (r)evolution

.NET(r)evolution

šŸ˜€šŸ•¶

Page 2: .NET (r)evolution

William S. Rodriguez 28 bytes / Monkey Nights / .NET Curitiba

@williamsrodz - williamsrz.com.br

šŸ’

Page 3: .NET (r)evolution

Any developer, any app, any platform

.NET

Page 4: .NET (r)evolution

.NET (re)evolution

.NET CORE Cross-platform, high performance .NET ASP.NET CORE Cloud-optimized framework for microservices

UNIVERSAL WINDOWS PLATFORM Unified development across Windows devices XAMARIN Extend your reach to any device with .NET

MODERN DEVICE EXPERIENCES

.NET FRAMEWORK

Multi-purpose, comprehensive framework for desktop and web applications

MODERN CLOUD EXPERIENCES

Page 5: .NET (r)evolution

.NET today is huge

Platform for .Net applications on Windows

Distributed with Windows

.NET FRAMEWORK

Cross-platform and open source framework optimized for modern app needs and

developer workflow

.NET CORE

Distributed with app

Cross-platform and open source Mono-based runtime

for iOS, OS X and Android Devices

XAMARIN

Distributed with app

Page 6: .NET (r)evolution

.NET today

.NET FRAMEWORK .NET CORE XAMARIN

APP

MO

DEL

SBA

SE

LIBR

ARIE

S

Compilers Languages Runtime components

COMMON INFRASTRUCTURE

Base Class Library Core Library Mono Class Library

ASP.NET

Windows FormsWPF UWP

ASP.NET Core

iOS

Android

OS X

Page 7: .NET (r)evolution

.NET FRAMEWORK .NET CORE XAMARIN

APP

MO

DEL

SBA

SE

LIBR

ARIE

S

Compilers Languages Runtime components

COMMON INFRASTRUCTURE

Base Class Library Core Library Mono Class Library

ASP.NET

Windows FormsWPF UWP

ASP.NET Core

iOS

Android

OS X

desafios

Difficult to reuse skills ā€¢ Need to master 3+1 base class libraries

Difficult to reuse code ā€¢ Need to target a small common denominator

Difficult to innovate ā€¢ Need implementations on each platform

CHALLENGES

Page 8: .NET (r)evolution

O novo .NET

Compilers Languages Runtime components

COMMON INFRASTRUCTURE

iOSAndroid

OS X

.NET STANDARD LIBRARY One library to rule them all

.NET FRAMEWORK

ASP.NET

Windows FormsWPF

.NET CORE

UWP

ASP.NET Core

XAMARIN

Page 9: .NET (r)evolution

Compilers Languages Runtime components

COMMON INFRASTRUCTURE

iOSAndroid

OS X

.NET STANDARD LIBRARY One library to rule them all

.NET FRAMEWORK

ASP.NET

Windows FormsWPF

.NET CORE

UWP

ASP.NET Core

XAMARIN

BenefĆ­cios

Reuse skills ā€¢ Master one library, not a platform

Reuse code ā€¢ Big surface area - no small common denominator

Faster innovation ā€¢ .NET Standard can grow without updating platforms

BENEFITS

Page 10: .NET (r)evolution

O novo .NET e inovaĆ§Ć£o

*

Compilers Languages Runtime components

COMMON INFRASTRUCTURE

iOSAndroid

OS X

.NET STANDARD LIBRARYOne library to rule them all

.NET FRAMEWORK

ASP.NET

Windows FormsWPF

.NET CORE

UWP

ASP.NET CoreAPP

MO

DEL

IN

NO

VATI

ON

.NET

INN

OVA

TIO

N

TOOLS

Visual Studio

Visual Studio Code

Xamarin Studio

XAMARIN

Page 11: .NET (r)evolution

*

Compilers Languages Runtime components

COMMON INFRASTRUCTURE

iOSAndroid

OS X

.NET STANDARD LIBRARYOne library to rule them all

.NET FRAMEWORK

ASP.NET

Windows FormsWPF

.NET CORE

UWP

ASP.NET CoreAPP

MO

DEL

IN

NO

VATI

ON

.NET

INN

OVA

TIO

N

TOOLS

Visual Studio

Visual Studio Code

Xamarin Studio

XAMARIN

O novo .NET e inovaĆ§Ć£o

Page 12: .NET (r)evolution

Platform support

Page 13: .NET (r)evolution

.NET Standard vs PCL

ā€¢ Similarities ā€¢ Defines APIs that can be use for code share

ā€¢ Differences ā€¢ .NET Standard Library is a curate set of APIā€™s, not an

intersection ā€¢ Linear versions ā€¢ PCL profiles represent MS platforms, while the .NET

Standard Library is independent of platform;

Page 14: .NET (r)evolution

Ferramental

Visual Studio Visual Studio Code Xamarin Studio Command Line Interface

ā€¢ Any App: Desktop, Mobile, Server, Cloud ā€¢ Any Developer: IDE, Code editor, CLI ā€¢ Any OS: Windows, OS X, Linux

OPEN

ā€¢ Easy and quick installation ā€¢ Better productivity with reimagined inner loop ā€¢ First-class .NET experiences

POWERFUL

Page 15: .NET (r)evolution

*

Compilers Languages Runtime components

COMMON INFRASTRUCTURE

iOSAndroid

OS X

.NET STANDARD LIBRARYOne library to rule them all

.NET FRAMEWORK

ASP.NET

Windows FormsWPF

.NET CORE

UWP

ASP.NET CoreAPP

MO

DEL

IN

NO

VATI

ON

.NET

INN

OVA

TIO

N

TOOLS

Visual Studio

Visual Studio Code

Xamarin Studio

XAMARIN

.NET Core?

Page 16: .NET (r)evolution

.NET Core?

ā€¢ Flexible deployment ā€¢ Cross-platform Runs on Windows, macOS and Linux ā€¢ Command-line tools ā€¢ Compatible, NET Core is compatible with .NET

Framework, Xamarin and Mono, via the .NET Standard Library.

ā€¢ Open source

Page 17: .NET (r)evolution

DEMO

šŸ’€šŸ•¶

Page 18: .NET (r)evolution

.NET Open Source

Page 19: .NET (r)evolution

Shared Source ā€œRotorā€

Mono

.NET Reference Source

ASP.NET Open Sourced TypeScript

.NET Foundation .NET Core - Open Sourced

Roslyn

.NET Core everywhere Xamarin OSS

.NET Core RTM June 27th

2001 2004 2008 2012 2014 2016

Linha do tempo

Page 20: .NET (r)evolution

ContribuiƧƵes para .NET OSS em 2015

Page 23: .NET (r)evolution

EstĆ” tudo no Github

ASP.NET

github.com/aspnet github.com/fsharp github.com/dotnet open.xamarin.com

Page 24: .NET (r)evolution

Developed in the open together

Fully open development process Open Source Open to community contributions Open process: roadmap, design docs, standupsā€¦

+ Great community momentum >175 repositories >24,000 forks >4,000 contributors

= Amazing results 1.15+ Million requests/second! New performance record for .NET Core 8x node.js performance in our labs ~40% performance gains contributed by community

github.com/dotnet

Page 25: .NET (r)evolution

microsoft.com/net/core

Para saber mais

Page 26: .NET (r)evolution

fb.com/dotnetcuritiba

Para saber quando tem evento da comunidade, vagas ou meetups?

Page 27: .NET (r)evolution

William S. Rodriguez 28 bytes / Monkey Nights / .NET Curitiba

@williamsrodz - williamsrz.com.br

šŸ’Obrigado