Novidades da plataforma .NET
C# 7.0 E O .NET CORE
Renato Groffe
◦ Mais de 15 anos de experiência na área de Tecnologia
◦ Microsoft Most Valuable Professional
◦ Multi-Plataform Technical Audience Contributor (MTAC)
◦ Articulista e Palestrante
Renato Groffe - Contatos
◦ Site: http://renatogroffe.net
◦ Facebook: https://www.facebook.com/renatogroffe
◦ Facebook – Página: https://www.facebook.com/RenatoGroffeSW/
◦ LinkedIn: http://br.linkedin.com/in/renatogroffe
◦ E-mail: renato.groffe@yahoo.com.br
Agenda
◦ A evolução recente do .NET Framework e da linguagem C#
◦ Alguns dos recursos previstos para o C# 7.0
A evolução recente do .NET Framework e da linguagem C#
.NET – Recapitulando
◦ Desenvolvido pela Microsoft
◦ Primeira versão estável lançada em 2002
◦ Web, mobile, cloud, desktop, IoT, games,
Bots...
C# – Recapitulando
◦ Também desenvolvido pela Microsoft
◦ Surgiu em 2000
◦ Linguagem mais popular da plataforma .NET
C# 5.0 – Junho/2013
◦ .NET Framework 4.5
◦ Integrando inicialmente o Visual Studio
2012/2013
◦ Novos recursos: async/await, Caller
Information
C# 6.0 – Julho/2015
◦ .NET Framework 4.6
◦ Integrando inicialmente o Visual Studio
2015
◦ Um novo compilador (agora open
source): Roslyn
C# 6.0 – Julho/2015
Novos recursos:
◦ String Interpolation
◦ Null-conditional operator
◦ Exception Filters
◦ Expression-bodied Members
◦ Auto-Property Initializers
◦ Using Static
C# 6.0 – Julho/2015
Novos recursos (continuação):
◦ Chamadas assíncronas em blocos catch
e finally
◦ O operador nameof
◦ Inicialização de propriedades somente
leitura a partir de um construtor
◦ Inicialização de instâncias do tipo
Dictionary
Surge o .NET Core
.NET Core – Visão geral
◦Desenvolvimento iniciado em 2014
◦Lançamento da versão RTM em
Julho/2016
◦C#, VB e F# já suportam
.NET Core – Visão geral
◦Multiplataforma: Windows, Linux e
Mac
◦Open source e hospedado no GitHub
◦Atualmente na versão 1.1
(Novembro/2016)
.NET Core – Ferramentas
◦ Visual Studio 2015
◦ Visual Studio 2017 Release Candidate
◦ Visual Studio Code (Windows, Linux e Mac)
◦ Visual Studio for Mac
.NET Core – Cenários suportados
◦Aplicações Web (ASP.NET Core)
◦Universal Apps
◦Aplicações Console
◦Bibliotecas (Packages)
.NET Core – Algumas considerações
◦Muitos frameworks populares ainda não
contam com uma versão estável para o
.NET Core
◦Não confundir o .NET Core com o .NET
Full (.NET Framework 4.6, compatível
apenas com ambientes Windows)
Exemplos práticos – .NET Core
Exemplos práticos
◦Os exemplos aqui abordados foram baseados no
.NET Core 1.1
Novidades do C# 7.0
C# 7.0
◦ Apresentado durante o Build 2016
(Março/2016)
◦ Disponível para uso no Visual Studio 2017
(Release Candidate atualmente)
◦ Ainda em desenvolvimento
C# 7.0 – Alguns recursos
◦ Binary Literals
◦ Digit Separators
◦ Local Functions
◦ Ref Returns
◦ Tuplas
◦ Pattern Matching
Exemplos práticos – C# 7.0
Exemplos práticos
◦Os projetos utilizados nesta apresentação foram
implementados a partir do Visual Studio 2017 Release
Candidate
Dúvidas?
Obrigado!

C# 7.0 e .NET Core - Canal .NET Dev Week

  • 1.
    Novidades da plataforma.NET C# 7.0 E O .NET CORE
  • 2.
    Renato Groffe ◦ Maisde 15 anos de experiência na área de Tecnologia ◦ Microsoft Most Valuable Professional ◦ Multi-Plataform Technical Audience Contributor (MTAC) ◦ Articulista e Palestrante
  • 3.
    Renato Groffe -Contatos ◦ Site: http://renatogroffe.net ◦ Facebook: https://www.facebook.com/renatogroffe ◦ Facebook – Página: https://www.facebook.com/RenatoGroffeSW/ ◦ LinkedIn: http://br.linkedin.com/in/renatogroffe ◦ E-mail: renato.groffe@yahoo.com.br
  • 4.
    Agenda ◦ A evoluçãorecente do .NET Framework e da linguagem C# ◦ Alguns dos recursos previstos para o C# 7.0
  • 5.
    A evolução recentedo .NET Framework e da linguagem C#
  • 6.
    .NET – Recapitulando ◦Desenvolvido pela Microsoft ◦ Primeira versão estável lançada em 2002 ◦ Web, mobile, cloud, desktop, IoT, games, Bots...
  • 7.
    C# – Recapitulando ◦Também desenvolvido pela Microsoft ◦ Surgiu em 2000 ◦ Linguagem mais popular da plataforma .NET
  • 8.
    C# 5.0 –Junho/2013 ◦ .NET Framework 4.5 ◦ Integrando inicialmente o Visual Studio 2012/2013 ◦ Novos recursos: async/await, Caller Information
  • 9.
    C# 6.0 –Julho/2015 ◦ .NET Framework 4.6 ◦ Integrando inicialmente o Visual Studio 2015 ◦ Um novo compilador (agora open source): Roslyn
  • 10.
    C# 6.0 –Julho/2015 Novos recursos: ◦ String Interpolation ◦ Null-conditional operator ◦ Exception Filters ◦ Expression-bodied Members ◦ Auto-Property Initializers ◦ Using Static
  • 11.
    C# 6.0 –Julho/2015 Novos recursos (continuação): ◦ Chamadas assíncronas em blocos catch e finally ◦ O operador nameof ◦ Inicialização de propriedades somente leitura a partir de um construtor ◦ Inicialização de instâncias do tipo Dictionary
  • 12.
  • 13.
    .NET Core –Visão geral ◦Desenvolvimento iniciado em 2014 ◦Lançamento da versão RTM em Julho/2016 ◦C#, VB e F# já suportam
  • 14.
    .NET Core –Visão geral ◦Multiplataforma: Windows, Linux e Mac ◦Open source e hospedado no GitHub ◦Atualmente na versão 1.1 (Novembro/2016)
  • 15.
    .NET Core –Ferramentas ◦ Visual Studio 2015 ◦ Visual Studio 2017 Release Candidate ◦ Visual Studio Code (Windows, Linux e Mac) ◦ Visual Studio for Mac
  • 16.
    .NET Core –Cenários suportados ◦Aplicações Web (ASP.NET Core) ◦Universal Apps ◦Aplicações Console ◦Bibliotecas (Packages)
  • 17.
    .NET Core –Algumas considerações ◦Muitos frameworks populares ainda não contam com uma versão estável para o .NET Core ◦Não confundir o .NET Core com o .NET Full (.NET Framework 4.6, compatível apenas com ambientes Windows)
  • 18.
  • 19.
    Exemplos práticos ◦Os exemplosaqui abordados foram baseados no .NET Core 1.1
  • 20.
  • 21.
    C# 7.0 ◦ Apresentadodurante o Build 2016 (Março/2016) ◦ Disponível para uso no Visual Studio 2017 (Release Candidate atualmente) ◦ Ainda em desenvolvimento
  • 22.
    C# 7.0 –Alguns recursos ◦ Binary Literals ◦ Digit Separators ◦ Local Functions ◦ Ref Returns ◦ Tuplas ◦ Pattern Matching
  • 23.
  • 24.
    Exemplos práticos ◦Os projetosutilizados nesta apresentação foram implementados a partir do Visual Studio 2017 Release Candidate
  • 25.
  • 26.