Introdução ao C# e ao visual studio

Slides:



Advertisements
Apresentações semelhantes
C/C++ para Sistemas Operacionais Professor: André Luis Meneses Silva /msn: Página:
Advertisements

Paulo Marques Hernâni Pedroso
Tipos de Sites Web gerados pelo VS2005
Criar uma Aplicação Web em ASP.NET v Tipos de Sites Web gerados pelo VS2005 File-system Web sites Ficheiros armazenados num directório local É utilizado.
Personalização Objecto Profile. 1 O objecto Profile O objecto Profile permite armazenar informação única de um utilizador. Quando o utilizador visita.
.Net Para Web Plataforma.Net 2º Semestre 2009 > PUCPR > Tecnologia de Programação II Bruno C. de Paula.
Introdução ao ASP.NET 2º Semestre 2009 > PUCPR > Tecnologia de Programação 2 Bruno C. de Paula.
Conhecendo o VS2008: Windows Forms X Web Forms X Web Services
Componentes ASP.NET 2º Semestre 2009 > PUCPR > Tecnologia de Programação 2 Bruno C. de Paula.
Iniciando na plataforma Eclipse
Java: Pacotes e Modificadores de Visibilidade
Artur Rauen Luciano Peixoto
Linguagens de programação
1 Professor Rogério B. de Andrade - Aula 001- Dez/2008 Técnicas e Linguagem de Programação.
Tecnologia para Web JavaScript
Laboratório de Programação de Computadores I
Métodos Programação II 1 Métodos de Programação II (Mestrado Integrado em Engenharia de Comunicações) 1º Ano, 2º Semestre Elementos de Classe, class wrappers.
Outubro/2008 Engenharia do Computação Sistema de Gestão de Manutenção Desenvolvimento Equipe Antônio Deyvyson Diego Nascimento Paollo Maciel Marcelo Pereira.
Conhecendo o Visual Studio.NET
C# Documentando código em XML Sharp Shooters.NET Universidade Federal de Pernambuco Centro de Informática Recife, 10/10/2002 Autor: Marden Menezes Costa.
Programação Web com PHP
DOCUMENTO CONFIDENCIAL DA MICROSOFT Set 2009 | Página 1 | Apresentação para BDMs.
JAVA: Conceitos Iniciais
Linguagem de Programação C#
Elizeu Madeira Eduardo Cardoso João Paulo Duarte
C# Sharp Shooters.NET Universidade Federal de Pernambuco Centro de Informática Recife, 23/09/2002 Autor: Marden Menezes Costa Propriedades.
Flávia Andrade de Souza Rodrigo Mibielli Peixoto
Tecnologias.NET Equipe: Ayrton Johab Rejane Roosevelt Wanessa.
Framework gpnet.
Linguagem Técnica de Programação VI Prof.: Luiz Gustavo Jordão Soares.
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Tecnologia para Web Tratamento de Exceções
Integração com Banco de Dados
Paradigmas da Programação – Semestre 2 – Aula 2 Introdução ao VS.Net Professores: Fábio de Paula Santos Eduardo Mantovani.
Higher Education Statistics in C# Language
Tarefa 02 Visual Studio 2005 Visual C# Programa Hello World.
Curso de ISI (Implantação de Sistemas de Informação)
Introdução à Plataforma Microsoft .NET
Ruby Viviane Souza (vess).
XIV Jornada de Cursos .NET com C# Antônio Júnior Bruno Inojosa.
Adriano Melo Introdução ao ASP.NET Adriano Melo
CURSO DE EXTENSÃO PROGRAMAÇÃO C# .NET
Professor: Márcio Amador
PROGRAMAÇÃO PARA INTERNET Prof.: Jean Carlo Mendes
Arquitetura de Desenvolvimento Web MVC vs. Three Tiers
Bruno Inojosa MCP .NET Framework
Paradigmas da Programação – Semestre 2 – Aula 13 Professor: Eduardo Mantovani Prof. Fábio de Paula Santos
Módulo I Capítulo 1: Introdução ao curso
 Introdução  Estrutura de um projeto Silverlight  XAML  Ligação com Javascript  Demo.
Unidade 1 – Introdução a J2EE Prof.: Henrique Santos
Introdução ao ASP.Net 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.
PHP – Aula01 Ferramentas -Web.
Introdução JAVA Faculdade Mauricio de Nassau
Fundamentos da Linguagem C#
JavaServer Faces Rapid Web Application Development em Java Ricardo Cavalcanti Jobson Ronan
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
.NET com C#.  Conceitos e Características  Vantagens do SOAP  Descrição do WebService  Gerenciamento de Estados  UDDI  Novidades do Framework 2.0.
Bruno Inojosa MCP.NET Framework.NET com C#. Orientação a Objeto parte II.
Programação Orientada a Objetos 2
Web Services Marden Menezes Sharp Shooters.NET User’s Group Recife-PE11/11/2002.
Módulo II Capítulo 1: Orientação a Objetos
 é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado.
Universidade Federal de Sergipe Departamento de Sistemas de Informação Bruno Cruz Jessica Rodrigo Aragão – ASP.NET MVC 3.
Equipe: Kéren Glaucya Marco Aurélio. INTRODUÇÃO  JCreator é um IDE, ou seja, é um Ambiente de Desenvolvimento Integrado, criado pela empresa Xinox Software.
Desenvolvimento WEB II Ajax – Utilização de Frameworks Javascript Professora: Kelly de Paula Cunha.
LINGUAGEM DE PROGRAMAÇÃO I
Raniere ferreira do prado
ASP.NET Passo a Passo Controles com Processamento Personalizado Criando um controle personalizado 1. Abra ou copie a solução ControlORama desenvolvido.
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
Introdução à Orientação a Objetos em Java Prof. Gustavo Wagner (Alterações) Slides originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB.
Transcrição da apresentação:

Introdução ao C# e ao visual studio Amirton Chagas Baseado nas apresentações de Mauro Sant’Anna e Renato Haddad para o programa Desenvolvedor 5 Estrelas

O que é C#? Linguagem de programação recente Menos de 10 anos de existência Líder de desenvolvimento: Anders Hejlsberg O mesmo de Delphi, TurboPascal, e Visual J++ Padronizada pela ISO e ECMA Desenvolvida “do zero”. Influências de Java, C++ e Delphi Usada pela Microsoft para escrever Class Libraries (inclusive o Framework .NET) e o Runtime de ASP.NET

C# - Aprendendo com a experiência A experiência de Anders Hejlsberg levou C# a aproveitar o melhor dos mundos... ... E a não incluir o que geralmente trazia problemas. Sintaxe consolidada Orientação a Objetos (Tudo é objeto) Garbage Collection Exceções Tipos Seguros Limites de arrays são verificados Gera arquivos executáveis Ponteiros Unions “Excesso de liberdade” ao programador Argumentos Default

E não é só isso... C# não é apenas uma mistura das boas práticas que já existiam. Ele incorpora várias idéias originais e interessantes como: Propriedades Eventos (diretamente na linguagem) Tudo é objeto (implementado eficientemente) Generics Nullable Types

Uma breve introdução ao ambiente Visual studio 2005

O que é o Visual Studio? Ambiente integrado de desenvolvimento Ferramenta consolidada – desde 1997 no mercado Editor de código, debugger e compilador num só lugar... Além de visualizador de banco de dados, informações de servidores, ...

Linguagens Suportadas Todas as linguagens Microsoft C#, VB.NET, Managed C++, J#, ... Linguagens de terceiros Fujitsu COBOL, Perl, F#, Python, Ruby, ... Lista “completa”: http://dotnetpowered.com/languages.aspx Suporte a linguagens usadas na web HTML, Javascript, CSS Suporte à edição de XML

Certo... O que dá pra fazer? Aplicativos com Janela Aplicativos de Console DLLs Controles Websites ASP.NET Webservices Serviços Instalação Aplicativos para Dispositivos Móveis Jogos ...

Como o Visual Studio me ajuda? Debugger eficiente Ambiente integrado, posso fazer tudo no mesmo lugar, sem ficar mudando de janela Intellisense – Ajuda na maioria das vezes Code Snippets Comentários XML Visualizador de Propriedades Não há a necessidade de configurações “bizarras” de ambiente.

Como desenvolver usando o Visual Studio? Solução É seu grande agrupamento lógico de Projetos. A solução permite compartilhamento de configurações entre Projetos Dá o poder de criar dependências entre os Projetos que a consiste Projetos podem ser de diferentes tipos e escritos em diferentes linguagens!

Finalmente... Um pouco de ação

Prática Abrir o Visual Studio 2005 Criar uma nova solução Criar um novo Projeto Console C# na solução Adicionar um novo item: Class File Usar algum Code Snippet “Brincar” um pouco com o Server Explorer

Agora que você já foi apresentado ao Visual Studio... Voltando ao C#

Sintaxe Poucas diferenças em relação a C++ e Java.

Principais novidades Uso de += em strings Foreach mais intuitivo string a = “lalala”; a += “lelele”; Resultado: a == “lalalalelele” Foreach mais intuitivo Disponível em Java 5.0 Sintaxe não intuitiva: for (int valor : valores) Sintaxe em C#: foreach (int valor in valores) Delegates Resolve o problema de eventos Não usa “adaptor classes” como Java É mais simples para o desenvolvedor

Principais novidades - Uso de Delegates

Principais novidades - Propriedades Reduz a quantidade de métodos São “gets” e “sets” mais intuitivos Permitem o encapsulamento Em uma classe Conta... private int numero; private int saldo; public int Numero { get { return this.numero; } set { this.numero = value; } } public bool IsSaldoPositivo { get { if (this.saldo > 0) { return true; } else { return false;

Principais novidades - Namespace Noção similar aos namespaces em C++ Parecido com o conceito de pacotes de Java Mas não está diretamente ligado à organização dos arquivos em pastas Namespace de uma classe é definido em seu início Para usar (incluir) um namespace, usa-se a palavra-chave using. Da mesma maneira que seria usado import em Java

Principais novidades – Tudo é Objeto C# não possui “tipos mágicos” int, string, double, bool, tudo é objeto O seguinte trecho de código é válido: int x = 10; string s = x.ToString(); Apesar de serem objetos, os tipos primitivos são passados por valor, e não por referência, como os outros objetos

Principais novidades – Boxing/Unboxing Para poder passar um tipo primitivo por referência, usa-se Boxing/Unboxing int x = 10; object o = x; string s = o.ToString(); int y = (int) o;

Principais novidades – Partial Class Uma classe pode ser definida em mais de um arquivo. Isso é bom? SIM! Partial classes permitem a separação, por exemplo, em ASP.NET, do código relativo à interface do código da lógica. Torna possível o uso de Code Behind de maneira elegante

Quem faz a mágica... .NET framework

O Poder do .NET Framework C# é uma linguagem com muitas vantagens sobre suas antecessoras Mas é apenas uma linguagem Boa parte do “seu” poder é devido ao .NET Framework O Framework contém a Base Class Library Conjunto de bibliotecas que realmente facilitam o trabalho do desenvolvedor Padronizada pela ECMA e ISO E várias outras Class Libraries

Algumas das bibliotecas da BCL Collections Coleções como Listas, Dicionários. Podem ser genéricas Data Representa a arquitetura do ADO.NET Diagnostics Permite interação com processos e log de eventos do sistema. Drawing IO Text

E algumas outras do Framework Class Library XML Auxilia (muito...) a desenvolver aplicações que façam uso de XML Web Usada para Webservices e Interface Gráfica web Windows.Forms Usada para interface gráfica desktop (Windows)

MAIS Um pouco de ação

Prática Escreva uma pequena calculadora que funciona da seguinte forma: O usuário digitará números, e os incluirá na memória. Após o usuário incluir todos os números, ele poderá obter o somatório, a média ou o produtório de todos os números inseridos até o momento. Use: Propriedades Foreach Algum conceito de “Tudo é objeto” Partial Classes

Referências Visão Geral do C# - Mauro Sant’Anna. Programa Desenvolvedor 5 estrelas – www.msdnbrasil.com.br/cinco_estrelas IDE - Visual Studio .Net 2005 - Mauro Sant’Anna e Renato Haddad. Programa Desenvolvedor 5 estrelas - www.msdnbrasil.com.br/cinco_estrelas Delegates and Events in C# / .NET - http://www.akadia.com/services/dotnet_delegates_and_events.html Como usar os Delegados (delegates) e Eventos no C# - http://www.linhadecodigo.com.br/Artigo.aspx?id=1441 .NET Framework Class Library - http://msdn2.microsoft.com/en-us/library/ms229335.aspx Data Types – C# vs Java - http://msdn2.microsoft.com/en-us/library/ms228360(vs.80).aspx C# Concepts: Value vs Reference Types - http://www.albahari.com/value%20vs%20reference%20types.html