Desenvolvimento em .Net

Propaganda
Desenvolvimento em .Net
Introdução
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
Forças Externas
●
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
●
Ciclo de vida de um produto: Matriz BCG
Forças Externas
●
Investimento vs Retorno
Forças Externas
●
Formação vs Resposta necessidades cliente
Forças Externas
●
●
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
●
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
●
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
Precisamos de
novas ferramentas
para
novos desafios
.Net / Java / ...
.Net vs Java
●
Semelhanças Plataforma / Linguagem
–
C
Perspectiva histórica
C++
C#
VB.Net
.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
.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)
.Net vs Java
●
Serviços disponibilizados
.NET
ADO.NET
JAVA2EE
JDBC
Web Client
ASP.NET
Standalone
Client
Distributed
Components
XML
Windows Forms
Java Server Pages (JSP) and
Servlets
AWT/Swing
.NET Remoting
RMI/IDL
Relational
Database Access
Messaging
Web Services
System.Xml and .NET in
JAX Pack (JAXM, JAXR, JAXB,
general is built around XML. JAXP)
Microsoft Message Queuing Java Messaging Service (JMS)
(MSMQ)
Support Built directly into .NET Java Web Services Developer
Pack (JWSDP) as well as
and Visual Studio
vendor specific tools.
.Net vs Java
●
IDE
–
Notepad + Command
Prompt
–
VStudio vs Eclipse /
Net Beans
●
Eclipse => próximo
ambiente de
desenvolvimento
Progress
.Net vs Java
●
Conclusão – Opinião Pessoal
–
.Net
●
●
●
–
melhor documentação
melhor IDE
mais produtivo mais rapidamente
Java
●
mais projectos autónomos
C# e VB.Net
2 linguagens
a mesma plataforma
C# vs VB.Net
●
Comparação
●
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…)
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.
Compiladores e Runtimes
Execução de Aplicações
●
Aplicação Tradicional
–
Source => Parser / Compilador => Executável
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)
Execução de Aplicações
●
.Net
–
CIL – Common Intermediate Language
–
CLR – Common Language Runtime
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
Ambientes de Desenvolvimento
Ambientes de desenvolvimento .Net
–
Notepad + Command Prompt
–
VStudio
–
SharpDevelop
–
Eclipse
–
...
Hello World
●
Hello world
–
Definição e muitos exemplos
●
http://encyclopedia.laborlawtalk.com/Hello_world_program
Hello World - Notepad
●
Trabalho Prático
–
Criar um programa em .net usando notepad
( gravar como Module1.vb)
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
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
Hello World - VStudio
●
Trabalho Prático
–
Código
Hello World - VStudio
●
Trabalho Prático
–
Compilar – Build / Build Solution
–
Executar – Debug / Start
Ferramentas básicas de debug
●
Break points
–
Conditional break points
●
Watch
●
Step-By-Step
●
Call stack
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
Download