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 Perspectiva histórica C 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 Relational Database Access.NET ADO.NET JAVA2EE JDBC Web Client Standalone Client Distributed Components XML Messaging Web Services ASP.NET Windows Forms.NET Remoting System.Xml and.net in general is built around XML. Microsoft Message Queuing (MSMQ) Support Built directly into.net and Visual Studio Java Server Pages (JSP) and Servlets AWT/Swing RMI/IDL JAX Pack (JAXM, JAXR, JAXB, JAXP) Java Messaging Service (JMS) Java Web Services Developer Pack (JWSDP) as well as 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 Java melhor documentação melhor IDE mais produtivo mais rapidamente 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