desenvolvimento em .net - introducao a framework
DESCRIPTION
TRANSCRIPT
![Page 1: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/1.jpg)
Desenvolvimento em .Net
Introdução
![Page 2: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/2.jpg)
Objectivos● Forças Externas● .Net vs Java● C# vs VB.Net● Execução de Aplicações● Ambientes de desenvolvimento .Net● Criar Projecto em VStudio● Ferramentas básicas de debug
![Page 3: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/3.jpg)
● Porque queremos mudar?– Se está feito e funciona porquê mudar?
● Desafios de hoje iguais aos de à 10 anos?● Empresas / Utilizadores / Mercado trabalho?● Novos paradigmas?
Forças Externas
![Page 4: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/4.jpg)
Forças Externas● Ciclo de vida de um produto: Matriz BCG
![Page 5: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/5.jpg)
Forças Externas● Investimento vs Retorno
![Page 6: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/6.jpg)
Forças Externas● Formação vs Resposta necessidades cliente
![Page 7: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/7.jpg)
● Empresas– integração de sistemas– toda a informação disponível a qualquer hora em
qualquer lugar● Utilizadores
– mais funcionalidades mais facilmente acessíveis – smart-client, off-line, sincronização automática
Forças Externas
![Page 8: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/8.jpg)
● Mercado de trabalho– Especialização vs generalização do conhecimento
● Exemplo: criar um relatório em Crystal Reports que seja acessivel via browser
– Browser – Browser => JScript– Browser => JScript => Crystal Reports– Browser => JScript => Crystal Reports => XML/XSD– Browser => JScript => Crystal Reports => XML/XSD => .Net– Browser => JScript => Crystal Reports => XML/XSD => .Net =>
OOP => desenvolvimento n-tier– Browser => JScript => Crystal Reports => XML/XSD => .Net =>
OOP => desenvolvimento n-tier => SQL Ansi / Progress
Forças Externas
![Page 9: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/9.jpg)
● Novos paradigmas, novas competências – .Net, Java, padrões de desenho, testes unitários,
service-oriented architecture, …● Pesquisa / formação constante
– sites de referência, blogs, workshops, motores de pesquisa
Forças Externas
![Page 10: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/10.jpg)
Precisamos de novas ferramentas
paranovos desafios
.Net / Java / ...
![Page 11: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/11.jpg)
.Net vs Java● Semelhanças Plataforma / Linguagem
– Perspectiva histórica
C C++
VB.Net
C#
![Page 12: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/12.jpg)
.Net vs Java● Conceitos
– Compilação● .Net e Java usam o conceito de Intermediate Language
(IL)● A linguagem de programação é compilada para a IL e
depois executada
![Page 13: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/13.jpg)
.Net vs Java– S.O. vs Linguagens de Programação
● Java corre em diferentes hardwares / sistemas operativos mas só suporta uma linguagem de programação
– Existem algumas linguagens de programação que produzem IL java
● .Net suporta várias linguagens de programação mas só corre em Windows…
– Em curso “porting” da .Net Framework para Linux (projecto Mono)
![Page 14: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/14.jpg)
● Serviços disponibilizados
.Net vs Java
.NET JAVA2EEADO.NET JDBC
Web Client ASP.NET
Windows Forms AWT/Swing
.NET Remoting RMI/IDL
XML
Messaging
Web Services
Relational Database Access
Java Server Pages (JSP) and Servlets
Standalone Client Distributed Components
System.Xml and .NET in general is built around XML.
JAX Pack (JAXM, JAXR, JAXB, JAXP)
Microsoft Message Queuing (MSMQ)
Java Messaging Service (JMS)
Support Built directly into .NET and Visual Studio
Java Web Services Developer Pack (JWSDP) as well as vendor specific tools.
![Page 15: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/15.jpg)
.Net vs Java● IDE
– Notepad + Command Prompt
– VStudio vs Eclipse / Net Beans
● Eclipse => próximo ambiente de desenvolvimento Progress
![Page 16: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/16.jpg)
.Net vs Java● Conclusão – Opinião Pessoal
– .Net ● melhor documentação● melhor IDE● mais produtivo mais rapidamente
– Java● mais projectos autónomos
![Page 17: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/17.jpg)
C# e VB.Net
2 linguagensa mesma plataforma
![Page 18: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/18.jpg)
C# vs VB.Net● Comparação
●
![Page 19: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/19.jpg)
C# vs VB.Net● VB.Net + VStudio = rápida produtividade
– Sintaxe VB.Net mais simples e intuitiva● Excepto para quem já tenha bom domínio de C/C++ ou
Java– IDE de VB.Net mais amigável que o IDE de C#
● Permite que mais rapidamente nos concentremos nos conceitos (métodos, propriedades, herança, …) e não na sintaxe (if then else…)
![Page 20: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/20.jpg)
C# vs VB.Net● Performance
Both have access to the same framework libraries. Both will perform largely equivalently (with a few small differences which are unlikely to affect most people, assuming VB.NET is used with Option Strict on)
Now hitting on some touchy issues, many developers believe that VB.NET is slower then C#. That’s not entirely true. The only place I see VB.NET slower than C# is where developers use old-style functions like Len and Mid instead of calling reciprocal methods available within the .NET Framework library classes and as mentioned by Heath Stewart (see post below) using old syntax like FunctionName = ReturnValue.
.NET framework comes with a single class library. And thats all programmers need to learn!! Whether they write the code in C# or VB.NET or J#, it doesn't matter, you just use the .NET class library. There is no classes specific to any language. There is nothing more you can do in a language, which you can't do in any other .NET language. You can write code in C# or VB.NET with the same number of lines of code, same performance and same efficiency, because eveyone uses same .NET class library.
![Page 21: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/21.jpg)
Compiladores e Runtimes
![Page 22: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/22.jpg)
Execução de Aplicações● Aplicação Tradicional
– Source => Parser / Compilador => Executável
![Page 23: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/23.jpg)
Execução de Aplicações● Progress
– Source p-code– Intermediate r-code
● R-code portável... dentro de algumas restrições● Aplicação .Net
– Source (vb, c#, jscript, cobol.net, …)– PE – portable executable (.exe, .dll)
![Page 24: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/24.jpg)
Execução de Aplicações● .Net
– CIL – Common Intermediate Language– CLR – Common Language Runtime
![Page 25: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/25.jpg)
Execução de Aplicações● .Net
– Componentes Comuns● CLS – Common Language Specification - conjunto de
regras que se aplicam a todas as linguagens .Net● CTS – Common Type System – especificação de todos
os tipos de dados e sua utilização– Permitem que todas as Linguagens .Net tenham
um conjunto predefinido de tipos e funcionalidades base
–
![Page 26: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/26.jpg)
Ambientes de Desenvolvimento
![Page 27: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/27.jpg)
Ambientes de desenvolvimento .Net– Notepad + Command Prompt– VStudio– SharpDevelop– Eclipse– ...
![Page 28: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/28.jpg)
Hello World● Hello world
– Definição e muitos exemplos● http://encyclopedia.laborlawtalk.com/Hello_world_program
![Page 29: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/29.jpg)
● Trabalho Prático– Criar um programa em .net usando notepad
( gravar como Module1.vb)
Hello World - Notepad
![Page 30: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/30.jpg)
Hello World - Notepad● Trabalho Prático
– Compilar e Executar● Start / Programs / Visual Studio .Net 2003 / Visual Studio
.Net Tools / Visual Studio .Net 2003 Command Prompt– vbc /target:exe Module1.vb
![Page 31: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/31.jpg)
Hello World - VStudio● Trabalho Prático
– Criar um programa em .net usando visual studio
● Visual Studio .Net 2003
● File / New / Project / Visual Basic Projects / Console Application
![Page 32: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/32.jpg)
Hello World - VStudio● Trabalho Prático
– Código
![Page 33: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/33.jpg)
Hello World - VStudio● Trabalho Prático
– Compilar – Build / Build Solution– Executar – Debug / Start
![Page 34: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/34.jpg)
Ferramentas básicas de debug● Break points
– Conditional break points● Watch● Step-By-Step● Call stack
![Page 35: Desenvolvimento em .Net - Introducao A Framework](https://reader033.vdocuments.mx/reader033/viewer/2022061207/5485ee865806b5c7588b4862/html5/thumbnails/35.jpg)
Objectivos● Forças Externas● .Net vs Java● C# vs VB.Net● Execução de Aplicações● Ambientes de desenvolvimento .Net● Criar Projecto em VStudio● Ferramentas básicas de debug