View
99
Download
0
Category
Preview:
Citation preview
Mahmoud Ali (iamakamud@gmail.com)@akamud
.NET 2015, ASP.NET 5, C# 6 e tudo mais
1. Microsoft ♥ Open source2. Abertura das plataformas3. O ASP.NET 5
As 3 mudanças no mundo da Microsoft
Microsoft ♥ Open source
.NET ReferenceSource.NET 4.5.2Código inteiro aberto para pesquisa
https://github.com/Microsoft/referencesource/blob/master/mscorlib/system/reflection/emit/methodbuilder.cs#L736
• Por que não Codeplex?
Microsoft no GitHub
http://dotnet.github.io/
Crescimento da comunidade .NET OSS
98 repositories13557 forks2360 contributors
Crescendo diariamente
OpennessCommunityRapid innovation
.NET Foundation .NET API for Hadoop WebClient
.NET Compiler Platform ("Roslyn").NET Map Reduce API for Hadoop
.NET Micro Framework
ASP.NET MVCASP.NET Web API
ASP.NET Web Pages
ASP.NET SignalR
MVVM Light Toolkit
.NET Core 5
Orleans
MEF (Managed Extensibility Framework)
OWIN Authentication MiddlewareRx (Reactive Extensions)
Orchard CMS Windows Azure .NET SDK
Thinktecture IdentityManager
WnsRecipe
Mimekit Xamarin.AuthXamarin.Mobile
Couchbase for .NET
Meet the people behind the .NET Foundationhttp://www.dotnetfoundation.org/team
Join the conversation with the community http://www.dotnetfoundation.org @dotnetfdn
MailkitSystem.Drawing
ASP.NET 5
Salesforce Toolkits for .NET
NuGetKudu Cecil
Qualquer app, qualquer plataforma
.NETC#VB
F#
JavaScript
Inovação .NET
Cross-Platform
Open Source
O caminho à frente do .NET.NET Core
ASP.NET 5
Abertura das plataformas
Windows Desktop.NET
A história dos .NETs verticais
AppModel
Framework
Runtime
Windows Store Windows Phone
ASP.NET 4 ASP.NET 5
AppModel
Framework
Runtime
Runtime
App
Model
Framewor
k
Runtime
App
Model
Framework Runtime
App
Model
Framework
O que é o .NET Core?
ASP.NET 5App Model
Universal Windows Apps Model
Any otherapp model
.NET Core Unified BCL(Base Class
Library)
Runtime Adaption Layer.NET Nativeand Runtime
Core CLR Other Runtime
.NET Core
NuGet é mainstream no .NET Core
.NET 2015Versão simplificada
Next gen JITSIMD
Runtime Compilers.NET Compiler PlatformLanguages innovation
.NET Core 5 Libraries
.NET Framework 4.6 Libraries
NuGet packagesCommon
.NET Framework 4.6
.NET Core 5
.NET 2015
RyuJIT + SIMDGarbage Collector
Runtime components
Compilers.NET Compiler Platform (Roslyn)Languages innovation
.NET Framework 4.6 .NET Core 5
Fully-featured and integrated .NET libraries and runtime for Windows
Modular and optimized .NET libraries and runtimes
WPF ASP.NET (4 & 5)
Windows Forms
ASP.NET 5 Universal Windows Apps
CoreCLR .NET Native
Base class librariesNuGet packages
LibrariesShared
.NET Compiler Platform (“Roslyn”) AntesCompiladores fechados/isoladosDifícil de estender
C#, VBCódigo fonte
.exe/.dilIL assemblies
Compiladores .NET atuais
DepoisAPI: plataforma abertaRefatoração e melhor experiência nas IDEsCode analysisDiagnósticos customizadosCompiladores open source .NET Compiler Platform
(Roslyn)
C#, VBCódigo fonte
.exe/.dilIL assemblies
Plataforma abertapara desenvolvedores
Omnisharp
Code Cracker
Intellisense completo para qualquer plataforma
Análises de código e code fix feitos pela comunidade
https://github.com/code-cracker/code-cracker
http://www.omnisharp.net/
Demo: Roslyn
O ASP.NET 5
ASP.NET 5
.NET Framework 4.6 stack e libs
.NET Core 5 stack e libs
Framework unificado para MVC, Web API e SignalR
Framework .NET completo para qualquer cenário esuporte às bibliotecas
Runtime pequeno otimizado para servidores e computação nas nuvens
Onde entra o ASP.NET 5 nisso tudo?
• 1996 - Active Server Pages (ASP) • 2002 – ASP.NET• 2008 – ASP.NET MVC• 2010 – ASP.NET Web Pages• 2012 – ASP.NET Web API, SignalR• 2014 – ASP.NET 5 (e o Core CLR)
História do ASP (19 anos)
ASP.NET 5 e a Modern Web
Escolha seus editorese ferramentas
Open Source com contribuições Cross-PlatformOSS
Transição simples de on-premises para nuvem
Ciclo de desenvolvimento mais ágilTotalmente Modular
Rápido
Modern Web – Agilidade
Ciclo de desenvolvimento mais ágilRecursos são lançados como pacotesFramework é lançado como parte da aplicação
Mais controleBugs de segurança são arrumados pela MicrosoftFaça suas alterações em um fork do projeto e use-o nas suas aplicaçõesAtualização de módulos separados de acordo com sua necessidade
Modern Web - RápidoPerformance de execução
Inicialização mais rápida (50%+)Menos memória / maior densidade (> redução de 90%)Use um socket, um framework, ou ambos
Produtividade de desenvolvimento e baixo atritoEdite o código e atualize o browserFlexibilidade de um ambiente dinâmico com a força do .NETDesenvolva com Visual Studio, editores de terceiros ou editores na nuvemPadrões da web moderna
• Ferramentas da Modern Web• Arquivos de configurações em JSON• Visual Studio Code (Linux, Mac, Windows)
Modern Web – Ferramentas padrões
Demo: ASP.NET 5 no Visual Studio 2015 RC
Modern Web – Cross Platform
EditoresVisual Studio, Code, Texto, editors na nuvemSem editores (linha de comando)
Open Source com contribuições
RuntimeWindows, Mac, Linux
OSS
Tudo pode ser feito pela linha de comando
.NET Cross-Platform
Mono
.NET Core cross-platform Desenvolvimento Mobile e parceria .NET/Xamarin
.NETXamarin
Unity
Services e Web applications
Mobile apps
Windows Linux Mac OS X .NET Core
ASP.NET 5
Como adquirir os runtimes?
• .NET Core already installed as part of VS2015 RC
• Clone repo on GitHub and build from source (advanced)
• Download & install tar file
• Use Homebrew formula on GitHub
• Download & install tar file
• Create VM on Azure Marketplace
• Use Dockerfile on Docker Hub (coming)
Instalando e rodando no Mac
• brew tap aspnet/dnx• brew update• brew install dnvm• dnx . kestrel
• Homebrew(http://brew.sh)
Fonte: https://channel9.msdn.com/Events/Build/2015/3-670
Instalando e rodando no Linux
• tar zxvf PartsUnlimited-demo-app-linux.tar.gz -C ~/• source ~/.dnx/dnvm/dnvm.sh• dnvm use 1.0.0-beta5-11624 -r coreclr -arch x64• dnx . kestrel
• tar file (*.tar.gz)
Fonte: https://channel9.msdn.com/Events/Build/2015/3-670
Demo: ASP.NET 5 no Mac com VS Code
Vai funcionar? ¯\_(ツ )_/¯
ASP.NET 5
.NET Framework 4.6 stack e libs
.NET Core 5 stack e libs
Framework unificado para MVC, Web API e SignalR
Framework .NET completo para qualquer cenário esuporte às bibliotecas
Runtime pequeno otimizado para servidores e computação nas nuvens
O que isso significa pra veteranos .NET?
ASP.NET 5 - Compatibility• Web Forms, MVC 5, Web API 2, Web Pages 3, EF 6• Suporte total ao ASP.NET 5 (com .NET 4.6)
• MVC, Web API, Web Pages 6, EF 7• Breaking changes:• Novo Sistema de projetos • Novo Sistema de configuração• Junção do MVC / Web API / Web Pages• Sem System.Web, novo HttpContext peso-leve (que não é System.Net.Http)
• .NET 5 no Core CLR• Subset do .NET Framework completo• Coisas das quais você depende podem não estar disponíveis
O que é o .NET Framework 4.6?.NET Framework 4.x ainda vai ser o mais usado por um bom tempo
.NET Framework
4
.NET Framework
4.5
.NET Framework
4.5.1
.NET Framework
4.5.2
.NET Framework 4.6
Evolution in time
• Substituto in-place altamente compatível para o .NET 4, 4.5, 4.5.1, e 4.5.2
• Suporte total a qualquer API .NET e bibliotecas atualmente no mercado
• ASP.NET 5 também pode rodar em cima do .NET 4.6
• .NET também ganha todo o investimento nos novos compiladores, novo JIT e novas inovações das linguagens (C# 6 e VB 14)
ASP.NET 5 - Resumo
Recurso Rodando no .NET 4.6
Rodando no .NET Core 5
Pronto para nuvem * *Design modular * *Injeção de dependência * *Tracing / Debugging consistente * *Desenvolvimento mais ágil (Sem necessidade de Build)
* *
Open Source * *Totalmente lado a lado (framework enviado junto com a aplicação)
*
Startup rápido, pouca memória / alta responsividade *
MVC 6 (MVC + Web API + Web Pages), SignalR 3
Entity Framework 6.xEvolução do EF atualContinuará rodando no .NET Framework 4.6
Entity Framework 7Suas habilidades em LINQ e EF serão reusadas, fácil
de migrar a maioria dos aplicativos existentes hojeOtimizado para nuvem (baixo consumo de memória e
alta eficiência)Otimizado para dispositivos (leve, funciona com
SQLite)Suporta bases relacionais e não-relacionaisRoda no .NET Core 5 e .NET Framework 4.6Pronto para closs-platform (baseado no .NET Core 5)Feito com cenários desconectados em mente (web
services)Ambas são OPEN SOURCE!
Acesso a dados / investimentos ORM no .NET
Participe!
• Visual Studio Community 2015 RC (grátis para sempre)
http://bit.ly/vs2015dl• Visual Studio Code (cross-platform)https://code.visualstudio.com/
Como testar o ASP.NET 5 hoje
• Linkinception! (Esta apresentação)http://1drv.ms/1zPTRM3
• Community Roundupshttps://www.youtube.com/playlist?list=PL0M0zPgJ3HSftTAAHttA3JQU4vOjXFquF
• Documentação ASP.NET (open source)http://docs.asp.net/en/latest/
• Jabbrhttps://jabbr.net/#/rooms/AspNetvNext
• GitHub AspNethttps://github.com/aspnet/
• Projetos do .NET Foundationhttp://www.dotnetfoundation.org/projects
Links + Bônus
• Ferramentas da Modern Web no Visual Studio 2015http://high5devs.com/2015/02/o-visual-studio-2015-e-a-modern-web-2/
• ASPNET 5 rodando numa Raspberry Pi 2http://www.hanselman.com/blog/HowToRunASPNET5Beta3OrGoLangOnARaspberryPi2.aspx
• Omnisharphttp://www.omnisharp.net/
• Code Crackerhttp://code-cracker.github.io/
• Código-fonte do .NET completohttp://referencesource.microsoft.com/
• Analisando algumas mudanças do Entity Framework 7http://bit.ly/1DX2rne
Links + Bônus
Recommended