Arquivo

Arquivo de julho, 2009

Qual a próxima onda?

31, julho, 2009 egomesbrandao 1 comentário

Já que é sexta-feira quero convidar a todos para fazer um exercício de futorologia e opinarem… o que vem em seguida? Qual a próxima onda?
Estamos entrando em uma onda chamada Cloud Computing, mas eu acho que ela não é o fim, é um meio.
Para mim,  a internet nunca foi um fim, e sim um meio de comunicação. Sempre vi como ela foi criada uma rede global, portanto sempre pensei que seria o meu suporte para conexão de sistemas, troca de informações, integração e não como o sistema em si, as chamadas web aplicações. Que ao meu ver são muito específicas, nem tudo dá para ser web.
Hoje o Giovanni Bassi twitou com o link de um vídeo em que a MS mostra a visão de futuro dela. É uma série de vídeos muito legais, tem um mais específico na área médica, outro da área de manufatura, eles estão aqui.
Logo mais teremos o Win7 chegando com suporte a telas por toque, a próxima versão do .Net framework vai trazer facilidades nesse aspecto, temos Silverlight rodando fora do navegador, MS Surface, …
Dito isto,  acho que a próxima revolução não será o Cloud Computing, que vai “apenas” (não é pouca coisa concordo) abstrair o computador pessoal em vários dispositivos e integrar muita coisa, mas acho que a próxima onde será a das interfaces! Integrá-las mais harmoniosamente ao nosso dia-a-dia, ter mais usabilidade, mais poder e mais facilidades.
O que você acha?

Categories: Sem categoria Tags: ,

Campanha: Atalho para atualizar design no ASP.Net

28, julho, 2009 egomesbrandao 2 comentários

Atualização (06/Ago/09): Conforme dica do Caio Proiete lá nos comentários o atalho é CTRL+SHIFT+Y, valeu Caio!

Comecei a programar em ASP.Net e logo uma coisa me deixou desconfortável.

Eu gosto de programar em código, mas vez por outra é legal dar uma “olhadela” em como esta ficando o seu design, existe um atalho para isso: SHIFT+F7, e você fica alternando entre design e source. Legal…

Mas legal mesmo é você programar com a janela dividida entre código, só tem um problema. Como fazer um Refresh no Design quando você altera o código sem usar o mouse? Sou programador, escrevo código, não gosto de ficar arrastando o mouse.

Simplesmente não dá! Você tem que clicar na linha amarela, como essa aí embaixo:

Split de tela entre código e design

Split de tela entre código e design

Então resolvi comunicar a MS que ela deveria mudar isso e segui a recomendação do André Dias e postei uma sugestão no MS Connect, site da Microsoft para sugestões, críticas, …

Se você também acha pertinente a sugestão, vote, e twitte sobre ele!

Aqui vai o link https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=476075&wa=wsignin1.0

Categories: Sem categoria Tags:

Padrão MVC <> arquitetura em camadas

27, julho, 2009 egomesbrandao 3 comentários

(Nota: publiquei esse post inicialmente aqui, como movi o meu blog , e recebi pedidos para comentar mais a respeito, estou revisando e postando aqui para continuar a série de posts do blog antigo)

Estou desenvolvendo um novo sistema baseado na arquitetura MVC, ou melhor, pensei que estava.

Em 2007, participei da integração de um sistema legado ASP.Net com SAP que estava sendo implantado. O sistema já estava construído e basicamente deveríamos integrá-lo ao SAP usando Web Services disponibilizados através do serviço XI da SAP. Ou seja, ao invés de continuar buscando os dados no banco de dados Oracle, iríamos agora buscar no SAP, através de Web Services.

O sistema usava a arquitetura MVC. Usava? Bom, eu tinha uma DLL onde ficavam as classes Model, outra de Controller, tinha a interface gráfica em ASP.Net, mas eram somente camadas… Opa, mas MVC não são camadas?

Esse foi o meu primeiro contato com MVC e a partir daí comecei a estudar mais sobre padrões e arquitetura, e lógico vi que era hora de me aprofundar em Orientação a Objetos… Sim isso mesmo, aprofundar.

Eu vim do VB6 (por favor, VB6 é sim uma linguagem de gente grande!), quando comecei a programar o ADO estava sendo lançado, praticamente. Logo em seguida tive contato com a arquitetura Win DNA (Windows Distributed interNet Applications Architecture), como o link diz é um nome marketeiro para tecnologias que já existiam mas foram agrupadas em uma arquitetura (COM, COM+, antigo MTS; ADO, ActiveX, ASP). Na época a minha bíblia era o livro Mary Kirtland, posteriormente li também o livro do Fábio Câmara.

E foi aí que surgiu para mim o conceito de camadas, dividir para conquistar, já que na época tínhamos o DLL Hell, era muito bom você criar pequenos componentes que sofreriam manutenção em separado, e nada melhor do que juntar esses componentes por funcionalidades! Assim os componentes usados para a interface gráfica ficavam juntos, o de acesso a dados ficavam em outro, o que diminuía a possibilidade de dar um problemão quando alguma coisa sofria manutenção, eu disse diminuía…

Daí pra frente eu só desenvolvia em camadas, camadas lógicas, pois na verdade o software ficava instalado todo na máquina cliente, ou seja, eram instaladas várias DLL’s, mas todas no mesmo lugar. Algum projeto saiu usando o COM+, aí tinhamos Tiers, componentes usados em interface gráfica ficava na máquina cliente e compoentes de negócio e banco de dados ficavam no servidor.

Mas onde entra o MVC aí? Aí é que está… Não entra!! O MVC não é sinônimo de desenvolvimento em camadas! Nem em tiers! O MVC é um padrão de arquitetura, e ele é baseado no comportamento dos objetos. Sim, comportamento!! E mais, o MVC é padrão para interface gráfica, e não para todo o sistema.
Muitos de nós, principalmente que viemos do VB6, Win DNA, …; começamos desenvolvendo em OO criando classes que tem os atributos como os RecordSets do ADO, ou seja somente dados! Mas um objeto por definição possui comportamento. Então não adianta criar uma classe de dados, como se fosse um RecordSet, uma classe de serviço como se fosse uma classe do VB6 (que sim, antes que alguém fale, não é orientado a objeto, porém chegava perto…), e ficar passeando pelas camadas, que isso é MVC. Aliás nem OO é, pois você não estará usando comportamentos dos objetos.

Não vou chover no molhado explicando isso aqui, o Phillip Calçado Shoes já escreveu um artigo muito bom sobre isso, então usando um dos princípio de OO que é a reusabilidade , para saber mais leia os artigos MVC e Camadas e Evitando VO’s e BO’s, leia também as referências e acompanhe o blog dele! :D

Na edição 46 da .Net Magazine o Rodrigo Sendin escreveu um artigo sobre MVC, porém quem leu o artigo e ler os artigos do Phillip Calçado vai entender que a crítica do Rodrigo esta errada quanto ao padrão MVC.

Bom se eu não vou explicar o que é MVC, nem camadas, nem BO ou VO, então pra que este post? Como eu disse estava desenvolvendo um projeto pensando estar usando MVC, no momento na versão 1.0 ele irá sair usando BO’s, trafegando pelas camadas, etc… Mas estou montando a arquitetura da versão 2.0 em MVC, não vou usar nenhum framework, pelo menos por enquanto.

No próximo post (espero mesmo começar aqui neste novo endereço do blog em breve) vou começar uma série de artigos compartilhando minha experiência, principalmente com uso de objetos POCO, pois percebo que no Brasil o uso de DataSet’s é abusivo, logicamente para pequenos projetos é uma boa solução mas para projetos médios, ou com muitos acessos ao banco de dados o peso começa aumentar. E também vou dar um foco no acesso a dados. Vou publicar o código acho que no CodePlex (o código esta aqui, ou melhor, estará :D ), daí é só baixar o código para estudar ou começar outro projeto em cima. Quem quiser se unir a empreitada é só entrar em contato.

Espero que acompanhem, comentem, entrem em contato para trocarmos idéias.

Categories: abcapp Tags: , ,

Adobe Reader posto, Adobe Reader morto!

Se você acompanha esse blog sabe que sou desenvolvedor da plataforma .Net, e portanto sou mais pelo lado do software proprietério, pois ganho dinheiro com isso… Gosto dos produtos da MS, e defendo eles sempre que a discussão vai pro lado filosófico e sai das questões técnicas.

Portanto, era natural que para ler PDF eu usasse o software “original”, o Adobe Reader…
Mas uma coisa sempre me intrigou nesse software, apesar de saber que ele não é apenas uma leitor, você pode desenvolver formulários com ele. É complicadinho, usa Java Script, mas funciona e,  dizem que os norte-americanos declaram o imposto de renda assim; além de ele ter uma segurança elevada no PDF usando certificados digitais, etc… E portanto,  isso faz dele um software “robusto”. Ele é robusto DEMAIS!

É extremamente grande, extremamente pesado, e extremamente chato pois de mês em mês, ou menos, baixa uma atualização de mais de 40Mb!!! Eu disse uma atualização de mais de quarenta megabytes!! Ou seja, baixa toda vez que ele faz um update um novo Adobe Reader! Uma vez,  até eu mandei um e-mail para a Adobe perguntando o porquê de o software ser tão pesado, logicamente não tive resposta.

Bom… O tempo passou e tudo isso me fez perder a paciência, ainda mais no peso quando eu quero abrir mais de um arquivo ao mesmo tempo. E decidir matar o Adobe Reader… pelo menos na minha máquina.

Eu já havia visto algumas soluções de leitores de arquivo PDF, mas nenhuma me agradou, até que ano passado vi que o Foxit melhorou muito! A interface ficou confortável, é verdade que não é parecida com a da última versão do Adobe Reader, mas não se pode ter tudo. Mas o que mais me chama a atenção é a leveza, poxa, é pequeno e muito leve, já usava nas duas últimas empresas e agora instalei aqui em casa, e estou feliz… e leve!! :)

Nesse caso o software livre se mostrou muito superior ao fechado, e nesse caso em específico eu faço propaganda, mate o seu Adobe Reader também!

http://www.foxitsoftware.com/

Categories: Sem categoria Tags: ,

Google Developer Day 2009

Participei da edição 2009 do Google Developer Day, ou #gdd no Twitter.

Foi um evento de um dia só, o que é uma pena, pois 3 trilhas ocorrem em paralelo e você tem que decidir e sempre acaba perdendo alguma coisa legal. No entanto, o Google tem a política de disponibilizar as filmagens no YouTube, daí dá pra ver o que perdemos.

No início da manhã tivemos um Keynote e a apresentação do Google Wave, com Stephanie Hannon e Torsten Nelson, do Google Brasil, que foi muito boa, mas foi mais do mesmo, já que tinha visto o lançamento em vídeo. Quando essa ferramenta estrear acho que vamos ter uma nova revolução na comunicação, no mesmo estilo que o GMail fez. (Adendo: ontem 30/Jun/09, recebi um convite para testar o Wave, depois escrevo sobre ele)

À tarde escolhi a trilha de mapas, 3 palestras seguidas com Pamela Fox, já que estou trabalhando no uso dessas API’s nada mais natural, e foram muito boas, mas eu ainda sou iniciante nelas, então, não de pra se empolgar muito. O que dá para perceber é que o Google investe muito nessas API’s de mapas. Agora a parte alta foi ouvir a segunda palestra no português arranhado e carregado da Pamela, não tem preço! (Até por quê o evento é gratuito… hehehe)

As duas últimas palestras que eu vi foram do Patrick Chanezon, uma sobre Web Social, falando da integração do Open Social do Google com sites, blogs, etc… E a outra sobre HTML 5, que foi um aprofundamento do Keynote que ele fez na parte da manhã. O Chrome e o Firefox já implementam muita coisa do HTML5 e eu quero saber por que a MS fica para trás nesse tipo de coisa.

Outro ponto, será que o HTML5 derruba Flash, Flex, Silverlight e JavaFX? Alguns levantaram essa bola, o Google deve estar louco para isso já que eles investem pesado em Javascript e não tem um componente RIA como os citados acima. Outros dizem que não, por quê esses plug-ins atingem outras funcionalidades, vamos ver, de camarote.

Balanço: Muita informação, fiz pouco network, ganhei umas bolinhas do Google, adesivo do GMail, almoço e coffee na faixa, e no fim foi um dia divertido, forcei bastante o inglês, já que me dá nervoso ficar ouvindo a tradução simultânea.

Fotos do evento estão aqui. Espero participar ano que vem.

Categories: Sem categoria Tags: , ,