Como havia dito no post anterior irei postar uma série de posts á respeito do TECHED 2008 que foi um evento que trouxe informações revelantes sobre as tecnologias Microsoft.
No dia 14/10/2008 eu assisti a várias palestras e irei contar o que foi explanado em cada uma delas e a primeira palestra do dia foi Utilizando o Microsoft Blend com o Microsoft Visual Studio 2008 - do ponto de vista do Desenvolvedor com o palestrante Marcelo Negrini.
Nesta palestra ficou evidente que nós desenvolvedores temos de conhecer um pouco design e arquitetura de aplicações web para podermos construir aplicações que proponham um ambiente mais agradável e acima de tudo eficaz para se trabalhar.
Para você iniciar o desenvolvimento de aplicações com este conceito você tem de ter instalar o Microsoft Blend, Visual Studio 2008 e o plug-in do Silverlight Tools for Developers.
A interface das aplicações feitas com o Blend são descritas em XAML( (pronuncia-se "zamel"), (sigla de eXtensible Application Markup Language) que e é a principal linguagem de interface da Microsoft para o Windows Vista usada para criar interfaces de usuário de forma simples e rápida e é baseada em XML.
Para em um ambiente Windows ter o total aproveitamento dos recursos gráficos existentes na Web contamos com o WPF(Windows Presentation Foundation) recurso que foi inserido na versão 3.0 do framework .NET e tem como objetivo aproveitar o hardware disponível nas máquinas mais novas, o que não acontece atualmente, uma vez que só utilizamos a placa aceleradora em aplicativos específicos como jogos. E é também responsável por gerenciar recursos como: Interface do usuário, imagens 2D e 3D, Impressão, além de recursos de áudio e vídeo.
Dando seqüência ao conteúdo apresentado foi falado que a aplicação em WPF independe de resolução porque através do Blend trabalhamos com hierarquização de objetos e não com árvores de objetos como é feito no Corel Draw e isto pode ser visualizado com o recurso LayoutRoot que diz aos objetos qual é o seu posicionamento e sua função dentro da aplicação.
Ainda no Blend temos outras propriedades que auxiliam neste trabalho que seriam o StackPanel que empilha os objetos,WrapPanel que acaba com essa questão de quebra de linha e coluna,DockPanel que estrutura os elementos da página,Skins que possibilitam a troca de cor instantãnea e os Resources que são dicionários de recursos.
Para quem deseja desenvolver com o Silverlight no ambiente móvel pode ficar sossegado porque já existe a versão Mobile para Download no seguinte link:
Este foi um resumo breve dos conceitos mais revelantes apresentados na primeira palestra assistida e agora irei comentar á respeito da segunda palestra que assisti.
A segunda palestra foi Melhores Práticas com a Linguagem C# 3.0 com o palestrante Alfred Myers.
Este tema resume o que se deve adotar quando estamos em um ambiente de desenvolvimento porque estamos acostumados por comodismo escrevermos códigos sem a devida estruturação para ele ser documentado,fazermos declaração de variavéis sem a devida análise de onde ela vai ser inserida e mais outras práticas errôneas.
Por isso temos de decompilar o nosso código para analisarmos linha a linha o comportamento do mesmo e existem para download vários decompiladores.Mas,eu recomendo que efetuem o download RedGate´s .NET porque ele possibilita a visualização em frameworks anteriores e com isso você pode verificar que adaptações podem e devem serem feitas quando você realiza a migração de um código da versão do VStudio 2003 para a versão 2008 por exemplo.
Abaixo seguem uma pequena lista de boas práticas de desenvolvimento com a linguagem C#.
-Adote o uso do Jitter em propriedades implementadas automaticamente porque ele proporciona um bom desempenho no uso de campos.
-Se os campos forem públicos use as propriedades e não os campos diretamente porque adotando esta prática você ganha em melhora de performance.
-Infira o tipo da variável no lado direito e dessa forma a IL(Intermediate Language) poderá transformá-la no tipo desejado.
-Quando não tiver explicito o resultado da variável busque escrever o tipo da variável.
-Quando for inicializar um objeto use o inicializador composicional para evitar a proliferação de sobrecargas e construtores.
-No construtor da Classe busque sempre colocar os parâmetros neceesários para a classe pelo fato de no construtor termos somente a inicialização de dados somente leitura.
-Usar o extensions quando quiser usar o left e o right em sua classe.
-Quando usar o Extension Method declare o namespace em outra classe.
-Não use os métodos de extensão em todos os objetos e quando eles forem usados faça-os se comportarem como métodos de instância.
-Quando for declarar eventos em seus objetos use expressões do tipo lambda para o código se torna fácil de entendimento e ainda facilitar a sua manutenção.
-Só usar tipos anônimos em variáveis locais.
-Toda classe tem de ter um nome.Porém quando a mesma é tipo do anônima o CLR(Common Language Runtime) gera um nome a ela no momento da compilação e ai usa o Generics para especificação das características de uma classe anônima.
-Nos métodos parciais o tipo de retorno tem de ser void.
-Eventos do tipo público não devem ter o void como retorno.
-As classes parciais estão no mesmo assembly ou seja estão no mesmo projeto.
-Quando for usar LINQ em seu projeto em C# tenha em mente que você pode IENUMERABLE em suas expressões do tipo query.
Este foi um resumo breve dos conceitos mais revelantes apresentados na segunda palestra assistida e agora irei comentar á respeito da terceira palestra que assisti.
A terceira palestra foi VB.NET -Melhores práticas,Dicas e Truques com o palestrante Thiago Cruz.
Ele abordou a questão da Migração do VB 6.0 para versão 9.0 ou seja VB.NET,LINQ,Queries e Refactoring e agora irei detalhar cada tópico.
Quando pensarmos em estratégias de migração temos de levar em consideração o quanto a mesma vai afetar a regra de negócio e a qualidade da aplicação.Por isso o modelo que mais leva em consideração estes itens seria o horizontal.Porque nele não mudamos a Interface do usuário logo de cara e nem a lógica e sim os dados e o tratamento dos mesmos.
Porque assim não afetamos de modo radical a experiência que o usuário tem com a sua aplicação e a migração é realizada aos poucos e de forma gradual não prejudicando os processos existentes no negócio de seu cliente.
Pensamos nesta questão a Microsoft tem um toolkit que trata exatamente dessa questão por isso efetue o download do Microsoft Interop Forms Toolkit 2.0 para assim conseguir efetuar de forma prática o conceito apresentado acima.
Ressaltou a importância de usar o Refactoring porque ele auxilia na produtividade na declaração de variáveis por exemplo.
Irei listar algumas boas práticas que devem ser seguidas para o desenvolvimento de aplicações em VB.NET.
-Transformar métodos em propriedades e vice-versa.
-Sempre trabalhe como parâmetros.
-Reordene os parâmetros de acordo com os dados que estão na base de dados.
-Em relação ao uso de Interface mova os dados da mesma para um "arquivo".
Na versão 9.0 temos uma lista de novidades que serão listadas abaixo.
-Você pode atribuir valor a um objeto através de XML.
-Com o uso LINQ você pode possibilita que múltiplas linguagens acesse objetos.
-Com o LINQ to Sharepoint você disponibiliza os dados através do TaskPanel no Office.
-Com o uso do LINQ você acessa tabelas através de um objeto DATABASE.
-Existe o recurso XML Case Sensivity.
-Você possue ainda expressões do tipo Inline XML.
-Você dinamizar suas pesquisas através do recurso integração de queries.Mas,para isso você tem de efetuar o download da ferramenta XML To Schema Tool For VB 2008.
-Tendo a ferramenta acima instalada se pode entregar os atributos XML em elementos Schema e com isso adicionado eu enxergo este conteúdo em meu projeto.
Este foi um resumo breve dos conceitos mais revelantes apresentados na quatra palestra assistida e agora irei comentar á respeito da última palestra que assisti.
A última palestra assistida foi A Ciência por trás da criação das grandes experiências da Microsoft com o palestrante Alex Souza.
Nesta palestra pode entender o que temos de fazer para os clientes que vão comprar a nossa idéia de software se sentirem saitisfeitos e produtivos em seu ambiente de trabalho.
Quanto mais ia assistindo a palestra ia percebendo que nós desenvolvedores não percebemos o impacto desses detalhes no resultado final de um software.Por exemplo:Quando você parou para perceber o quanto de distância de uma tecla a outra que vai ser pressionada para a realização de uma ação ou número de cliques que se tem de ter realizar afeta a experiência do usuário em relação ao nosso software ?
Por isso foi falado na palestra que a geração de complexidade desnecessária pode gerar a distração em relação a tarefa a ser executada e isto cria uma péssima impressão para o usuário.
Pensando nesses tipos de falhas ocasionadas no desenvolvimento de um software irei listar alguns itens a serem levados em conta nesse processo de criação e concepção de um software.
-Crie modelos de objeto que estabelecem precedência no mundo físico.
Por exemplo quando criar uma aplicação que tenha o objetivo de ser um livro ou caderno de receita virtual crie algo que arremeta ao público - alvo desse sistema a idéia de escrever e guardar receitas.
-Entenda que o cliente não é técnico o quanto você é que ele prefere interfaces que simples ou do que algo conceitual.
Por exemplo para um especialista em lápis a denominação científica lhe é interessante.Mas,para o restante de nós é importante e revelante é saber que ele escreve e desenha coisas.
-Busque apresentar informações com clareza.
-Evite contraste de cores fortes.
-.Busque testar a resolução em um monitor inferior.Porque se nele a sua aplicação ficar com um visual bom tenha certeza que em qualquer monitor a resolução estará boa.
-Não use mais que dois tipos de fontes em seus projetos.
-Estude antes de tudo quem será o público-alvo que utilizará o software para assim você pode desenvolver uma identidade visual de acordo com este item.
Para se aprofundar melhor sobre este tema.
Acesse o link:
http://colourlovers.com lá você pode ver vários templates prontos de contrastes de cores e outros itens e ainda poderá criado o seu e pedir a opinião e porque não ajuda dos membros desta comunidade.
Enfim este foi o meu primeiro dia de TECHED.
Espero que este post auxiliem a todos a entenderem o que foi o TECHED e de como auxilia os profissionais a ampliarem as suas concepções e visões.
Juliana Prado Uchôa
Microsoft Student Partner
Líder do grupo CHANNEL TI