A Cyberlynxx está com uma oportunidade para Desenvolvedor de Sistemas Mobile. Segue requisitos da oportunidade: – Programação: ASP.Net, C#, Javascript, PL/SQL; – Banco de dados : SQL Server e/ou Oracle; – Experiência em trabalhar com Framework 3.5 ou superior; – Experiência em desenvolvimento de sistema para Windows Mobile; – Conhecimento de gravação e leitura de [...]
Oportunidade para Desenvolvedor de Sistemas Mobile – Rio de Janeiro
Comparando ASP.net WebForms e ASP.net MVC
Eu confesso que nunca me interessei em desenvolver sites e muito menos aplicações web utilizando ASP.net, sempre achei que a metodologia “drag and drop” que o Web Forms nos proporciona não funciona legal na web, pois ela gera muito “lixo” para o navegador, e isso é crucial em uma WebAPP.
Portanto, desde que migrei de desktop (Delphi 7) para web, tenho trabalhado com o nosso querido Flex no Front End e o C#.net no Back End. Mas desde que o ASP.net MVC foi lançado, tenho acompanhado de perto a sua evolução, e confesso que ele tem me agradado bastante.
Para não perder o costume, venho hoje compartilhar com vocês um pouco do que tenho estudado, este post faz uma comparação de um projeto idêntico criado usando as duas metodologias.
Então chega de conversa e vamos ao que interessa:
As ferramentas que utilizei para criar os projetos foram:
• SQL Server 2008 Express
• Visual Web Developer Express 2010
• Framework ASP.net MVC 2.0
O projeto acessa uma base de dados com apenas uma tabela, com a seguinte estrutura:
Não utilizei nenhum framework ORM, fiz o mapeamento das entidades manualmente, usando as classes nativas do Framework. (SqlConnection, SqlCommand e SqlDataReader).
Quando criei os projetos, utilizei os templates do prório Visual Web Developer:
Para o projeto Web Forms, usei ASP.NET Web Application.
Para o projeto MVC usei: ASP.NET MVC 2 Web Application.
É claro que não vou fazer um passo a passo de como criar o projeto, o foco deste post não é isso, mas depois de pronto, nosso Solution Explorer do projeto WebForms ficará assim:
Já o projeto MVC, tem uma estrutura um pouco maior, porque ele trabalha completamente “tipado”, temos as classes Model, Controller e View, como manda o figurino:
Certo, agora vamos ao objetivo, quando executo o projeto WebForms e acesso a página de clientes, o Framework gera este código HTML:
"-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">"http://www.w3.org/1999/xhtml" xml:lang="en">"../Styles/Site.css" rel="stylesheet" type="text/css" />
Dêem uma olhada em quanto código os componentes criam. É muita coisa, imaginem isso em um grande portal? Americanas.com gerando este código? Meio inviável não? Aproveito para destacar o código gerado pelo ViewState, herói e vilão do Web Forms.
Agora vamos comparar a mesma página gerada pelo projeto MVC:
"-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">"http://www.w3.org/1999/xhtml">Index "Content/Site.css" rel="stylesheet" type="text/css" />class="page">"header">"title">My MVC Application
"logindisplay"> [ "/Account/LogOn">Log On ]"menucontainer">"menu">
- "/">Home
- "/Home/About">About
"main">Listagem completa de clientes:
"/Cliente/Create">Novo cliente...
Código Nome CPF RG Idade 30 Jo?o 123.123.123-12 12.312.123-1 30 "/Cliente/Edit?Id_Cliente=30">Editar | "/Cliente/Delete?Id_Cliente=30" onclick="return confirm('Tem certeza?');">Excluir | 32 Jos? 444.444.444-44 44.444.444-4 21 "/Cliente/Edit?Id_Cliente=32">Editar | "/Cliente/Delete?Id_Cliente=32" onclick="return confirm('Tem certeza?');">Excluir | 31 Maria 999.999.999-99 99.999.999-9 35 "/Cliente/Edit?Id_Cliente=31">Editar | "/Cliente/Delete?Id_Cliente=31" onclick="return confirm('Tem certeza?');">Excluir | "footer">
O que acham? As duas páginas fazem exatamente a mesma coisa, no entato o MVC gera beeeem menos código.
Bom pessoal, essa é apenas uma das vantagens do MVC, posso destacar outras:
- Controle total do código que será enviado ao navegador;
- Arquitetura em camadas, códigos completamente separados;
- Classes que auxiliam a geração do HTML para o browser de acordo com as ações do Controlador, sem lixo!;
- Facilidade de se implementar Ajax (de verdade) no seu projeto.
- Integração com o Jquery usando classes do Framework;
Bom é isso, vou me despedindo, mas antes deixo o código fonte dos dois projetos disponíveis para download.
C# – Generics- Artigo easy .net Magazine 11
A edição número 11 da easy .net Magazine já está disponível no portal DevMedia, a easy .net Magazine é uma revista com conteúdo focado em quem está iniciando na plataforma .net, com uma didática voltada para quem quer entrar na plataforma e gostaria de aprender desde dos recursos mais básicos, como os fundamentos da linguagem C#, introduções ao ASP.NET, acesso a base de dados até tecnologias mais modernas como o Windows Azure, Silverlight e o Windows Phone 7.
A Lista completa das edições lançadas você encontra neste link : Edições da easy .net Magazine
Se você quiser conhecer o conteúdo da revista, a primeira edição é gratuita, acesse através do link:
easy .net Magazine número 1
A edição número 11 traz 4 artigos com conteúdo fundamental para o iniciante na plataforma .net :
- C# – Generics
- Entre Bits e Bytes
- C#, Visual Studio e ASP.NET
- ADO.NET
Nesta edição da easy .net colaborei com o artigo sobre Generics, com foco em coleções de dados, os gererics são um dos principais fundamentos da programação para a plataforma .NET. O artigo apresentará os motivos pelos quais os Generics surgiram, tratando de operações de Box, Unbox e conversões. Nos exemplos práticos os Generics são demonstrados com coleções, como List e Dictionary. Ao final criaremos uma coleção customizada.
Para acessar o artigo no portal da DevMedia acesse:
C# – Generics- Artigo easy .net Magazine 11
A revista easy .net Magazine 11 você encontra no portal DevMedia no link :
Mais informações sobre a revista easy .net você encontra no blog :
Membase – Banco de dados “chave-valor” distribuído
O Membase é um sistema de gerenciamento de banco de dados chave-valor distribuído, otimizado para aplicações web interativas.
O Membase é utilizado em produção em milhares de aplicativos no mundo, entre as grandes empresas que utilizam temos Zynga e NHN. E já também disponível no host compartilhado Heroku.
Infelizmente hoje os hosts brasileiros nos planos compartilhados é dificil encontrar suporte à tecnologias noSQL como o Membase, CouchDb, MongoDb, etc, e com isso forçam os desenvolvedores fazerem software utilizando bancos de dados relacionais que não são aderentes à programação orientada a objetos.
Banco de dados relacional é muito recomendado para persistência de dados que não são utilizados com muita frequência e também para aplicações cujo objetivo é gerar relatórios. Então uma ótima sacada é utilizar as duas tecnologia juntas. Para os dados que são constantemente utilizados por sua aplicação utilize o Membase, para os dados utilizados com menos frequencia use banco de dados relacional.
Porém adotar o modelo chave-valor traz consigo uma pequena “dor”, pois você será forçado a mudar a forma como os dados serão gravados e buscados em sua aplicação, pois o Membase é uma estrutura de dicionário, ou seja, as operações de busca e remoção dependem diretamente de você saber de ante-mão a chave de onde está o registro.
Download
Escolha a versão que mais se adequa a sua necessidade: Enterprise Edition ou Community Edition, eu recomendo a versão Enterprise.
Disponível para Windows, Red Hat e Ubuntu.
O arquivo de instalação tem em média 80MB.
http://www.couchbase.com/downloads
Instalação
A instalação é bem simples seguindo o modelo AVANÇAR, AVANÇAR, …, CONCLUIR.
Após a conclusão da instalação o browser é aberto com a página de SETUP do Servidor Membase.
A primeira etapa da configuração do servidor é definir o local onde serão persistidos os dados, escolher se essa instância será um novo cluster ou se juntará a um cluster existente.
Caso for criar um novo cluster, defina a quantidade máxima de memória você deixará disponível para o Membase utilizar. Ele só alocará a memória quando necessário.
Agora é hora de criar o Bucket Default, container isolado de dados, a área onde ficarão os dados.
Você pode escolher entre os tipos Memcached e Membase as diferenças entre os dois são muitas, mas as mais importantes são: Membase persiste no disco e Memcached não, o Memcached possui o limite de 1MB por valor em cada registro, no Membase o limite são 20MB.
Uma dica, como você pode criar vários Buckets, sugiro você separar os assuntos de dados do seu sistema em Buckets distintos, isso facilitará sua vida quando precisar definir qual o modelo de chave utilizar para guardar os dados, acredite em mim.
![]()
Defina um usuário e senha para acessar o serviço, esses dados também serão utilizados para acessar o painel administrativo do Membase.
Esse é o painel administrativo do Membase.
Assim concluimos a etapa de instalação e configuração do Membase. Simples né?!
Cliente
Agora vamos trabalhar com a integração entre o .NET e o Membase, para isso antes de mais nada é necessário utilizar um client para a linguagem que a sua aplicação foi ou será escrita, no nosso caso .NET.
Hoje as linguagens que já possuem cliente são:
Para fazer o download do cliente acesse: http://techzone.couchbase.com/downloads
Como configurar sua aplicação para usar o Membase
Primeiro copie as DLL’s Enyim.Caching.dll e Membase.dll para a pasta BIN do seu projeto e adicione a referência dessas DLL’s no projeto.
No web.config ou app.config da sua aplicação acrescente as seguintes configurações:
Código de exemplo
Client
Para utilizar o Membase você precisa criar uma instância do MembaseClient passando como prâmetros o nome e senha do bucket:
var membaseClient = new MembaseClient("default", "senha_bucket");
Set
Para armazenar os dados no Membase utilize o método SET:
membaseClient.Set(StoreMode.Set, “key01”, “value01”);
Para o valor o membase aceita qualquer tipo de objeto. O método SET adiciona uma chave inexistente ou substitui uma chave existente.
Get
Para resgatar um valor amazenado utilize o método GET:
var valor = membaseClient.Get(“key01”); // Retorna “value01”
Agora que você foi apresentado ao Membase pode já começar a brincar a fazer testes para aumentar o throughput e a escalabilidade da sua aplicação.
Até o próximo post.
Divita-se.
Silverlight 5 Beta disponível para download
No MIX11, Scott Guthrie anunciou a disponibilização da versão beta do Silverlight 5 para download. Abaixo estão alguns link para os downloads relacionados a essa versão beta:
- Visual Studio 2010 SP1 ou Visual Web Developer Express 2010 SP1 (é necessário ter o Service Pack 1 do Visual Studio para poder usar o Silverlight 5)
- Silverlight 5 Tools for Visual Studio
- Expression Blend Preview for Silverlight 5
- Silverlight 5 SDK CHM
- Runtime de desenvolvimento: Windows ed Mac – não é necessário se você instalar o tools. Só é necessário se for testar aplicações feitas em Silverlight 5 em computadores sem o tools do SL5 instalado.
- Silverlight 5 SDK – para servidores de build. O tools já instala o sdk no computador do desenvolvedor
- Documento de mudanças (breaking changes)
Training Kit – Visual Studio 2010 e .NET Framework 4
A Microsoft liberou o Training Kit para estudos sobre o Visual Studio 2010 e .NET Framework 4 totalmente gratuito.
O kit Inclui apresentações, testes práticos e demonstrações, além de englobar uma série de tecnologias entre elas:
Clique aqui para acessar o Training Kit – Visual Studio 2010 e .NET Framework 4 e fazer o download do pacote.
Os números de 2010
Os duendes das estatísticas do WordPress.com analisaram o desempenho deste blog em 2010 e apresentam-lhe aqui um resumo de alto nível da saúde do seu blog:

O Blog-Health-o-Meter™ indica: Uau.
Números apetitosos
Um Boeing 747-400 transporta 416 passageiros. Este blog foi visitado cerca de 12,000 vezes em 2010. Ou seja, cerca de 29 747s cheios.
?
Em 2010, escreveu 23 novo artigo, aumentando o arquivo total do seu blog para 80 artigos. Fez upload de 2 imagens, ocupando um total de 85kb.
O seu dia mais activo do ano foi 16 de agosto com 110 visitas. O artigo mais popular desse dia foi C#.
De onde vieram?
Os sites que mais tráfego lhe enviaram em 2010 foram social.msdn.microsoft.com, google.com.br, devmedia.com.br, rederia.net e pt-br.wordpress.com
Alguns visitantes vieram dos motores de busca, sobretudo por exemplo de aplicação desktop c# vs 2010, flavia moreira, sites super interessantes, video aula silverlight e reconhecimento de voz c#
Atracções em 2010
Estes são os artigos e páginas mais visitados em 2010.
C# novembro, 2008
3 comentários
Sobre mim agosto, 2008
54 comentários
Sites super interessantes agosto, 2008
3 comentários
Populando Datagrid usando LINQ TO SQL em Silverlight agosto, 2008
16 comentários
WPF E RECONHECIMENTO DE VOZ março, 2009
4 comentários
.net Magazine 80 – WebMatrix e Razor
Link do artigo: http://www.devmedia.com.br/post-18768-WebMatrix-e-Razor.html
Silverlight Business e WCF-RIA SERVICE
Nesta vídeo aula vamos começar a aprender a trabalhar com Business application Silverlight e WCF RIA SERVICE.
Conteúdo:
Introdução ao WCF RIA SERVICE
Primeira Aplicação em Silverlight Business application
Ado. Entity Data Model
Abraços
Flávia Moreira
Silverlight e WCF
Nesta vídeo aula você irá compreender como trabalhar com WCF e Silverlight, pois uma aplicação Silverlight não tem acesso direto a banco de dados. Neste caso, podemos usar um serviço WCF que acessa os dados de um banco de dados usando, por exemplo, Entity Framework, ADO.NET Data Services, LINQ TO SQL, entre outros
Abraços
Flávia Moreira






