Archive for the ‘Desenvolvimento Ágil’ Category

CearáOnRails, o evento e a comunidade que estavam faltando!

Wednesday, November 5th, 2008

Próxima semana, dia 14 de Novembro, estará ocorrendo o primeiro evento oficial sobre Rails aqui em Fortaleza (no Ceará?). Graças a iniciativa de alguns desenvolvedores daqui do Ceará o evento ganhou vida e está trazendo um dos maiores nomes de RubyOnRails do Brasil, Fábio Akita. O que é incrível para o primeiro evento, e olha que tudo começou em uma lista de discussão!

O mercado de Fortaleza é conhecido pelos seus diversos eventos mensais sobre a tecnologia Java e desenvolvimento de software, para falar a verdade, o mercado local é muito mais Java que outras tecnologias como .Net ou mesmo PHP. Mas agora com este evento o nosso mercado estará ganhando um sabor a mais, um sabor que já estava fazendo falta, muita falta.

Além da grande comunidade de desenvolvedores Java do CEJUG, e da recente chegada do CEPUG, agora temos uma comunidade pequena e ainda modesta, porém dedicada, em volta de RubyOnRails, a CearaOnRails. Com um início não tão tímido, esta comunidade pretende trazer a cultura Rails para o nosso mercado, e certamente eu e mais alguns desenvolvedores estaremos divulgando-a entre as empresas e profissionais, pois não só de Java se vive do homem :)

Enfim, o evento ocorrerá logo, logo. Eu marcarei presença com toda certeza, e aconselho aos profissionais, estudantes e empresários a participarem do evento e darem uma chance a essa cultura [pois Rails é mais que uma tecnologia] que tanto tem a agregar valor ao nosso mercado e aos softwares aqui desenvolvidos.

Mais informações sobre local, horário e palestras você obtém no site do Ceará On Rails, http://www.cearaonrails.org/.

Espero vocês lá!

Não era mais uma receita de bolo JSF!

Thursday, June 5th, 2008

É incrível como depois do post Utilizando AJAX com JSF de maneira eficiente muitos desenvolvedores tem utilizado o exemplo básico do post -que nada mais era do que uma prova de conceito- como receita de bolo para criar aplicações sérias. Talvez eu não tenha sido claro, mas o intuito do post não era demonstrar um passo-a-passo de como desenvolver uma aplicação com alguns conjuntos de componentes, mas sim passar o conceito de como aproveitar melhor os recursos oferecidos pela tecnologia para criar aplicações mais ricas e leves.

Eu tentei ao máximo deixar claro que não eram os componentes X, Y ou Z que me forneciam recursos para implementar o conceito, como está bem claro nos trechos do post abaixo:

Utilizar um conjunto de componentes ricos e um framework AJAX. (Neste caso eu optei pelo Richfaces/Ajax4jsf por ser bastante simples de usar e integrar, por ser estável e por ser bastante utilizado na comunidade, contudo, qualquer outro conjunto de componentes AJAX poderia ser utilizado, como Trinidad ou mesmo o IceFaces);

E este,

Eu não me prendi a utilização dos frameworks ou conjuntos de componentes utilizados pois este não era o intuito do post, isso é algo simples e acredito que a maioria dos leitores não tenham dificuldades em relação a isso. Além do mais é possível implementar isso não somente com o Richfaces/Ajax4jsf, mas com qualquer outro framework ou conjuntos de componentes AJAX, por exemplo, [...]

Não é necessário utilizar Richfaces/Ajax4jsf, Tomahawk e Facelets para aproveitar os recursos da tecnologia de forma eficiente, você poderá conseguir isso com qualquer outro framework ou conjunto de componentes que te permitam unir AJAX e JSF de maneira prática, sejam eles Trinidad, JBoss Seam, IceFaces, Ajax4jsf, ADF Faces e/ou JSFTemplating.

Mais claro que isso é impossível.. porém ainda não acabou, um fato engraçado é que alguns desenvolvedores chegaram a se queixar de que eu fui muito radical ao dizer para desenvolverem toda uma aplicação em uma única página. Eu em nenhum momento disse ou mesmo insinuei isto, o que eu disse foi:

A idéia principal tem por objetivo evitar escrever muitas páginas para representar cada view (tela), diminuindo assim o número de páginas no projeto, o número de regras de navegação no faces-config.xml, diminuindo o overhead no servidor e no cliente a cada refresh de página, [...]

Vocês não precisam e provavelmente não deveriam implementar suas aplicações seguindo o exemplo do post, ele é básico, ele serve como referência, possui uma implementação simples e não se preocupa com alguns requisitos não funcionais como a paginação sob demanda ou quais os objetos que deveriam permanecer entre as requisições. Além do mais o exemplo é um CRUD, e não uma interface com o usuário mais complexa no sistema.

Entendam uma vez por todas que não existe uma arquitetura de referência ou receita de bolo para desenvolver sistemas, cada sistema possui suas necessidades e peculiaridades, e estas devem ser estudadas e analisadas para se chegar a uma solução plausível.

O importante é que vocês compreendam o conceito, seus prós e contras e principalmente onde e quando utiliza-lo. Não se prendam ao framework ou conjunto de componentes, a maioria deles hoje em dia te fornecem os recursos necessários para implementar a idéia sem muitas dificuldades.

Enfim, estudem, entendam, aprimorem, façam testes e implementem o conceito onde for necessário, com os componentes e frameworks cabíveis e sempre com bom senso.