evolução do .net framework e do visual basic
TRANSCRIPT
.NET Framework e a evolução do Visual Basic
Ricardo Guerra Freitas
http://about.me/ricardoguerra
@ricardoguerra
Quem sou eu?− Meu nome é Ricardo Guerra Freitas, mas
pode me chamar de “Guerra”
− Ex-Curioso de .NET− Ex-Lider de Célula Acadêmica− Ex-Primeiro Estudante Embaixador
Microsoft do RJ− Ex-Microsoft Student Partner Lead− Ex-Coordenador Regional da INETA Brasil− Ex-Microsoft Student Partner Mentor− Ex-Colaborador do Channel 8− Ex-Responsável pelo SDK do
Projeto Hoshimi em Português− Ex-Moderador do MSDN Wiki Brasil− Ex-Sei lá mais o que...
Quem sou eu?− Analista de Processos na ME DIGITAL− MVP
Visual Basic− Microsoft Certified Professional − Líder de Grupo de Usuários .Net
Code4All − Colaborador de diversas Células
Acadêmicas e Grupos de Usuários, tanto no Rio de Janeiro como em todo Brasil
− Microsoft Windows Vista Official Speaker− Microsoft Windows 7 Official Beta Tester− Desde 1994 no Mercado de TI
Programador, Analista e Gerente− Palestrante Oficial Microsoft
Agenda
− Missão da Microsoft− Introdução a plataforma .NET− Histórico do Visual Basic− Novidades do VB e VS 2010− DEMO− Conclusão − Webgrafia
Missão da Microsoft
“Ajudar pessoas a realizar seu potencial máximo, através do uso de software de
alta qualidade, em qualquer lugar, a qualquer momento e em qualquer
dispositivo”
INTRODUÇÃO A PLATAFORMA .NET
Evolução Tecnológica
− Aumento do Poder de Processamento−Dobra a cada 18 meses
− Diminuição dos Custos de Hardware−Escala−Distribuição−Crédito facilitado
Evolução Tecnológica
− Internet e Conectividade− Internet Rápida− Redução de Custos− Conexões Wireless− Novos Dispositivos
Evolução Tecnológica
− Proliferação de novos dispositivos−Smart Devices−SPOT (Smart Personal Objects
Technology )−Handhelds−PDAs−Video Games−Smartphones−TV Digital
Evolução Tecnológica
− Padrões− Padrões abertos para troca de
informações− Conectividade− Segurança− Transações− Apresentação
??
?
?
Evolução Tecnológica
PLATAFORMA .NET
Plataforma .NET
Developer Tools
Clients
User Experienc
es
ASP.NET Web Applications
XML Web Services
Databases
.NET Framework
Onde posso usar o .NET Framework 4?
Um pouco de história
.Net 1.0
CLR 1.0
2002
.Net 1.1
CLR 1.1
2003
.Net 2.0
CLR 2.0
2005-08
.Net 4
CLR 4
2010
.Net 3.0
.Net 3.5
SP 1
Versões do framework
231 MB 48.1 MB.NET Framework 3.5 SP1 .NET Framework 4
COMO FUNCIONA UMA MAQUINA VIRTUAL
Como Funciona uma Máquina Virtual
Hardware (Processador, Memória, Placa de Vídeo, etc...)
Sistema Operacional
Programa Programa Máquina Virtual
Programa Programa
ENTENDENDO O .NET FRAMEWORK
Caracteristicas
Caracteristicas
Caracteristicas
O .NET Framework
Common Language Runtime (CLR)
Base Class Libraries (BCL)
Common Type System (CTS)
JIT & NGEN
Garbage Collector
Security Model
Exception Handling
Loader & Binder
Common Language Specification (CLS)
O .NET Framework
Common Language Runtime (CLR)
Base Class Libraries (BCL)
Common Type System (CTS)
JIT & NGEN
Garbage Collector
Security Model
Exception Handling
Loader & Binder
Common Language Specification (CLS)
− Common Language Runtime:− É a fundação do .Net Framework, é o
gerenciador do código em tempo de execução.
− Fornece serviços básicos de gerenciamento de memória, remoting etc.
− Código gerado é denomiado código gerenciado (managed code).
.NET Framework - CLR
O .NET Framework
Common Language Runtime (CLR)
Base Class Libraries (BCL)
Common Type System (CTS)
JIT & NGEN
Garbage Collector
Security Model
Exception Handling
Loader & Binder
Common Language Specification (CLS)
− Base Class Library (BCL)− A Biblioteca de classes do .NET Framework é
uma coleção de tipos reutilizáveis que se integram rigidamente com o Common Language Runtime.
− A biblioteca de classes é orientada a objetos, fornecendo tipos que seu próprio código gerenciado pode derivar. Isso não só torna os tipos do .NET Framework fáceis de usar, como também reduz o tempo associado ao aprendizado de novos recursos do .NET Framework.
− Além disso, componentes de terceiros podem se integrar totalmente com classes do .NET Framework.
.NET Framework - BCL
O .NET Framework
Common Language Runtime (CLR)
Base Class Libraries (BCL)
Common Type System (CTS)
JIT & NGEN
Garbage Collector
Security Model
Exception Handling
Loader & Binder
Common Language Specification (CLS)
− Um dos fatores de independência de linguagem:− O .NET Framework introduz um sistema
de tipos comuns (Common Type System).
.NET Framework - CTS
− O CTS define como os tipos são declarados, usados e gerenciados no CLR e também é uma parte importante do suporte do runtime para a integração entre as linguagens.
− O CTS executa as seguintes funções:− Estabelece uma estrutura que ajuda a habilitar
integração de entre linguagens, segurança de tipos e execução de código de alto desempenho.
− Fornece um modelo orientado a objetos que oferece suporte à implementação completa de muitas linguagens de programação.
.NET Framework - CTS
− Define regras que as linguagens devem seguir, que ajudam a assegurar que objetos escritos em linguagens diferentes podem interagir entre si.
− Fornece uma biblioteca de tipos de dados primitivos (sistema autônomo, por exemplo, Boolean, Byte, Char, Int32, e Int64) usado no desenvolvimento de aplicativo
.NET Framework - CTS
O .NET Framework
Common Language Runtime (CLR)
Base Class Libraries (BCL)
Common Type System (CTS)
JIT & NGEN
Garbage Collector
Security Model
Exception Handling
Loader & Binder
Common Language Specification (CLS)
− O CLS (Common Language Specification) é um conjunto de recursos básicos de linguagens necessários para muitos aplicativos.
− O CLS ajuda a aperfeiçoar e a garantir a interoperabilidade de linguagem definindo um conjunto de recursos nos quais os desenvolvedores podem confiar por estarem disponíveis em uma variedade de linguagens.
− É aberto, você pode criar sua propria linguagem
.NET Framework - CLS
http://en.wikipedia.org/wiki/Common_Language_Infrastructure
PLATAFORMAS ALÉM DO WINDOWS
Projeto Mono
http://www.mono-project.com/Supported_Platforms
Outras linguagens
− http://www.dotnetpowered.com/languages.aspx
MODELO DE EXECUÇÃO
Common Language Runtime
VBCódigo Fonte
C++C#
Serviços do Sistema Operacional
Código Nativo
Código Gerenciado
Modelo de Execução
Componente Não-Gerenciado
Compilador JIT
Compilador CompiladorCompilador
Executável (.EXE), Página (.ASPX), LocalService (.DLL) ou WebService (.ASMX)
HISTÓRICO DO VISUAL BASIC
Timeline
1991 – VB 1.0 – Desenvolvimento para plataforma windows
1992 – VB 2.01993 – VB 3.01996 – VB 4.01997 – VB 5.01998 – VB 6.0
2002 – VB 7.0 – VS2002 – Poder do .NET e simplicidade do VB
2003 – VB 7.1 – VS20032005 – VB 8.0 – VS20052008 – VB 9.0 – VS2008
2010 – VB 10.0 – VS2010
Histórico
DEMO
Co-evolução
− Time do C# e VB agora são 1 só− Novas funcionalidades presente nas 2
linguagens− Funcionalidades de uma linguagem
migrada para outra − Permanência das características de
cada linguagem
Linguagens VB e C# 2010Funcionalidades VB C#
Auto-implemented Properties
Collection Initializers
Array Literals
Statement Lambdas
Implicit Line Continuation N/A
Named/Optional Parameters
Latebinding support (dynamic)
Omit ref em chamadas COM
Indexed Properties
Interop com Linguagens Dinamicas
Co/contravariance
PIA deployment not neededNovo no VS 2010Existentes no VS 2008
Recursos da IDE VB & C# 2010Feature VB C#
Generate From Usage: Generate Method
Type colorization
Background Squiggles: Top Level Analysis
IntelliSense: Builder UI
IntelliSense: Prefix Filtering Completion List
Generate From Usage: Generate Type, Constructor, Property, Field
IntelliSense: Consume First Mode
IntelliSense: Substring & Camel-Case Match
Navigate To
Highlight References
Call Hierarchy Novo no VS 2010Existentes no VS 2008
NOVIDADES DO VISUAL BASIC E VISUAL STUDIO 2010
Os alvos do Visual Studio…
Audiência
Funcionalidades
Mínimo
Completo
Hobby Empresarial
Professional
Ultimate
Express
Premium
Visual Studio
Funcionalidades Básicas
Visual Studio 2010Professional
Novo Editor WPF
IDE Customizável
Ferramentas para Silverlight
Desenvolvimento Multi-Core
Desenvolvimento para a Nuvem
DesenvolvimentoWeb
DesenvolvimentoWindows
Desenvolvimento Office
Desenvolvimento SharePoint
Novo Look & FeelWeb Deploy
web.config Transformation
Call Hierarchy
Inline Call Tree
Highlight de Referências
Document Map Margin
Test Runner Extensível
Editor WPF
Ferramentas para Sharepoint
Intellisense para JQuery
HTML Snippets
Debugging Histórico
Concurrency Profiler
Janela Parallel Tasks
Janela Parallel Stacks
Quick Search
Multi-Monitor Melhorado
Ferramentas para ASP.NET MVC
Dynamic Data Tooling
Melhorias no Click-Once para o Office
64-bit Mixed-Mode
Minidump Debugging
Agrupamento de breakpoints
Nomes para Breakpoints
Import / Export de Breakpoints
Melhorias nas ferramentas de WPF
Novas funcionalidades, a ponta do iceberg…
http://brad_abrams.members.winisp.net/Projects/PDC2008/DotNet4Poster/DotNetFramework4PosterDeepZoom.htm
As duas faces do Visual Studio 2010
Visual Studio como Editor
Visual Studio como Plataforma
… Como Editor
Melhorias focadas em…
Escrever código,Entender código,
Navegar pelo código,Publicar código
… Como Editor
O novo editor é extensível e permite fácil customização para uma experiência rica e robusta na edição de seus códigos
Online Visual Studio Gallery Integrada diretamente no Visual
Studio
Interface em português
− Baixe o pacote da atualização para pt-br e tenha um ambiente totalmente em português!
DEMO
CONCLUSÃO
Conclusão
− Faça mais com menos código− Tenha mais produtividade− Desenvolva para diversas plataformas
reutilizando o conhecimento adquirido− Maior interação com equipes
WEBGRAFIA
Webgrafia
− http://about.me/ricardoguerra− http://www.slideshare.net/GuerraRJ− http://code4all.ning.com− http://unemployedunderscores.com/ − http://msdn.microsoft.com/vbasic− http://channel9.msdn.com/tags/
Visual+Basic/− www.macoratti.net
MENSAGEM FINAL
Obrigado
Seu potencial. Nossa inspiração.MR
Ricardo Guerra Freitas
http://about.me/ricardoguerra