Posts na Categoria ‘Arquitetura’

Thinwire: Java Swing para WEB

3 de março de 2007   7 Comantários  Tags:

Exemplo de TelaVocê já ouviu falar em Thinwire? Se ainda não ouviu certamente vai ouvir! Trata-se de um Framework JAVA para camada de apresentação de aplicações WEB. O Thinwire é bastante semelhante ao Java Swing com a diferença de renderizar os elementos visuais em um browser. Sua plataforma é toda baseada em AJAX e a aparência dos componentes é simples, bonita e eficiente. A forma de fazer a composição dos elementos visuais é idêntica a de aplicações desktop (Swing, SWT) simplificando assim o processo de criação de interfaces RIA (Rich Internet Application).

Apesar do foco da aplicação esta na maioria das vezes na arquitetura que será utilizada (n camadas, componentes distribuídos, transação, monitores), a camada de apresentação de uma aplicação WEB é notadamente a vilã, quando estamos falando em produtividade. Isto porque por mais complexa que seja a arquitetura, com algumas definições e técnicas como MDA (Model Driven Architecture), pode ser gerada automaticamente. Seu ponto de modificação é facilmente localizado restando para o programador somente implementar a lógica do negocio.

Já a camada de apresentação é muito relativa, pois é a ponte entre o usuário do sistema e a aplicação. No caso do JAVA existem várias especificação e um conjunto de padrões de projetos destinados a tornar isto mais fácil como: JSP, MVC, JSF. Cada uma destas especificações possui uma forma muito particular de se trabalhar, mas sua contribuição esta mais associada ao desacoplamento da interface da lógica do negócio. O JSF (Java Server Faces) por ser mais moderno vai além e torna o desenvolvimento de aplicações WEB parecida com a desktop, mas por trás das cortinas ainda temos todo processo de enviar e receber grandes requisições quando queremos alterar o conteúdo de um componente visual.

Uma boa solução para este problema é utilizar AJAX e fazer requisições assíncronas colocando um pouco do processamento no cliente e evitando, por exemplo, uma requisição de página inteira para cada mudança no componente visual. Baseado neste conceito é que funciona o Thinwire. Além de trabalhar com AJAX o framework cria os objetos visuais em um arquivo .java (assim como no desktop). Com isto não é necessário nenhum conhecimento em JSP, HTML, etc…

Cada componente é um objeto e pode ser adicionado a outro fazendo composições de elementos visuais que serão renderizados no browser através de um Servlet implementado pelo framework. Além disto, o processo é bastante simples e bem semelhante ao já conhecido. Só para ter uma idéia no arquivo web.xml é preciso identificar a classe que possui o método “public static void main” que inicia a aplicação.

O Framrwork esta em versão Release Candidate e vale a pena testar. Para saber mais visite: http://www.thinwire.com

Delphi for PHP

27 de fevereiro de 2007   10 Comantários  Tags:

Splash Screen do Delphi for PHPÉ um pássaro, um avião? Será mesmo que o Delphi for PHP será o Superman da WEB? Depois de desistir do mercado de IDE’s e colocar à venda sua popular suite, a Borland volta atrás e divide as operações da empresa para manter os produtos. Parece que a nova empresa está com todo o gás, pois anunciou um novo IDE: Delphi for PHP. Na verdade a ferramenta foi adquirida da Qadram Software Development que desenvolveu um IDE idêntico ao Delphi chamado QStudio.  A notícia é no mínimo interessante. Será que a CodeGear (nova empresa da Borland) vai manter o sucesso do Delphi (Pascal) com este novo produto?

A Borland sempre foi conhecida pelo seu pioneirismo quando o negócio é disponibilizar tecnologias emergentes em seus produtos. Mas será que desta vez podemos chamar isto de inovação? Unir a produtividade do Delphi com a facilidade do PHP é bastante tentador, mas a esta altura do campeonato será que ainda temos mercado para isto? É certo que a maioria dos projetos Open Source WEB são em PHP, mas ao que tudo indica o IDE será pago afastando esta possibilidade para popularizar o produto.

Às vezes me pergunto se não seria tarde para um IDE proprietário entrar no mercado tentando facilitar o desenvolvimento de uma linguagem que já é uma das mais produtivas. Uma coisa é certa: Borland é Borland e já me surpreendi muito com a qualidade de seus produtos. Acho que o mercado de IDE proprietária ficou no passado e a maior contribuição que pode ser feita é realmente liberar o código para projetos Open Source. A própria comunidade deveria ser responsável por evoluir a suite ajudando a própria Borland a popularizar seus outros produtos que funcionariam integrados a esta suíte. As respostas para tantas dúvidas, só o tempo pode responder. Vamos aguarda o lançamento do novo IDE.

Para saber mais:
http://dn.codegear.com/article/34059 http://www.codegear.com/Products/Delphi/DelphiforPHP/tabid/237/Default.aspx

O movimento do Ruby on Rails

7 de fevereiro de 2007   5 Comantários  Tags:

Rails LogoRuby foi escrita pelo Japonês Yukihiro Matsumoto (Matz) e apesar de não ser uma linguagem nova, cresceu tanto nos últimos tempos que saiu do oriente e vem ganhando um grande espaço no ocidente. Sem dúvidas um dos grandes causadores desta popularização repentina é o Rails. Criado por David Hansson para o desenvolvimento do projeto Basecamp (http://www.basecamphq.com/), Rails se tornou sinônimo para desenvolvimento de aplicações WEB de alta produtividade e definiu conceitos que vão na contra mão de muitas coisas utilizadas pelo mercado.

Mais importante que a Linguagem Ruby e o Framework Rails (Ruby on Rails), é o barulho que isto vem causando no mundo. O movimento vem fazendo com que arquitetos de software e programadores de todo o mundo repensem os conceitos por trás da WEB e a melhor forma de extrair resultados positivos. Este movimento ganhou uma grande quantidade de seguidores depois que a 37signal (http://www.37signals.com/), empresa que criou o Basecamp e conseqüentemente o Rails, lançou o livro: Getting Real (Caindo na Real). O livro esta disponível gratuitamente e em português pode ser lido no endereço http://gettingreal.37signals.com/GR_por.php. Suas páginas questionam vários fatores de sucesso para o desenvolvimento de aplicações WEB e satisfação dos usuários.

Sem dúvida todo este movimento vem sendo impulsionado principalmente pela WEB 2 e pela demanda de aplicações que sigam este modelo, mas uma coisa é certo: “A cada dia que passa, construímos aplicações mais complexas que demandam muito tempo e dinheiro para ficarem prontas”. Muitas vezes construímos um canhão para matar uma mosca. Será que Rails não é UMA solução para isto ??? Será que isto não é passageiro ou será que estamos diante de uma nova linguagem de programação que pode ameaçar o JAVA e toda a sua plataforma ??? As respostas para estas e outras perguntas que temos na cabeça só o tempo poderá dizer, o importante é ficar por dentro e acompanhar este movimento. Certamente podemos tirar muitas lições disto tudo.