Publicado por: miwi | novembro 30, 2008

TDC2008 [Florianópolis]: Eu fui!, parte 1

Ontem ocorreu o TDC (The Developer’s Conference) em Florianópolis. E, como o título do post já diz, eu fui! Depois de ir em eventos de animes e de games, eu tenho de dizer que foi uma grata surpresa ver como esse evento foi organizado: houveram alguns atrasos, que não foram absurdos e foram tranquilamente contornados, os palestrantes eram excelentes (boa parte deles são professores na Globalcode daqui de Florianópolis), houve distribuição de brindes (e eu faturei dois, como você pode ver pela foto ao lado. Aliás, a camiseta é liiinda e eu estava mesmo precisando de um boné novo!) e o mais importante: os dois coffee-breaks tinham muita comida boa! Ei, se você não acha isso importante, tente encarar 8 palestras no mesmo dia sem comer lanchinhos gostosos!

Mas estou divagando…

Cheguei por volta das 08:30 na FIESC, peguei meu crachá e me pus a esperar. O começo desses eventos é sempre uma agonia para mim: como eu não conhecia absolutamente NINGUÉM, eu fiquei alguns bons minutos olhando de um lado para o outro sem saber o que fazer. Minha parte anti-social dizia “apenas fique sentada ali do lado olhando para o teto como você sempre faz” e a minha parte que estava ansiosa em fazer amigos que também entendessem de Java dizia “apenas se aproxime de algum desses grupinhos! Diabos, deve ter gente curiosa para saber como é uma menina que programa em Java, use isso a seu favor, sua tonta!”.

Felizmente eu não era a única mulher por lá, e logo puxei papo com uma que eu depois descobri se tratar de uma pessoa muito bacana, a Catia. Pouco depois das 09:00 o evento se iniciou, e eu fiquei na palestra sobre JSF 2.0 – que ainda não foi lançada, por isso a palestra discorria sobre o que esperar dessa nova especificação. Aliás, fazer isso de uma maneira mais organizada: abaixo vocês encontram resumos das 8 paletras (das 16 apresentadas) que eu vi, das 4 primeiras palestras, na ordem em que as vi. Espero que isso sirva para repassar um pouco do conhecimento que eu adquiri ontem. 🙂 Mais tarde devo atualizar o post com links para os PDFs das apresentações e, no caso das palestras técnicas, links para os exemplos utilizados, que serão disponibilizados no site do evento.

Palestra 1: Aguardando o JSF 2.0 Vinicius Nunes - TDC 2008

Palestrante: Vinícius Nunes ( e-mail )

O JSF (Java Server Faces) se mostrou uma tecnologia muito interessante, e uma das causas do seu sucesso se deve, justamente, ao fato de ouvir seus usuários na hora de desenvolver as especificações.

Trata-se de uma framework para desenvolvimento baseada em componentes e que busca simplificar o desenvolvimento web – aliás, há diversas frameworks que buscam o mesmo e o atingiram de maneiras diferentes. Se você já tentou desenvolver para web em Java você deve imaginar porque é tão importante ter ferramentas que auxiliem nesse processo… um simples projeto pode se tornar uma salada macarrônica (?!) se você não tiver uma boa ferramenta para lhe auxiliar.

O JSF já passou por algumas refomurlações, e a sua versão 2.0 (que deverá ser lançada no final do ano que vem) deverá se aproximar ainda mais do que os seus usuários esperam:

  • Trará suporte a AJAX
  • Trará também uma melhor compatibilidade entre bibliotecas de terceiros (já que você pode usar JSF com outras bibliotecas, como JBoss RichFaces, IceSoft ICEfaces e Sun Woodstock)
  • Auxiliará o desenvolvedor em diferentes etapadas do desenvolvimento, ajudando-o a descobrir falhas no código e até mesmo implementando pequenos detalhes que o programador pode ter se esquecido de colocar caso o projeto esteja em fase de “desenvolvimento”. Outros estágios possíveis são os estágios de produção e de testes, por exemplo.
  • Funcionará com um mínimo de configuração (fico feliz em ler isso. Quantas vezes você já empacaram ao aprenderem uma nova framework porque não estava configurando direito a linha 887 em algum config.xml da vida?)
  • Escopo view: uma alternativa para armazenar dados, ao invés de criar memory leaks jogando tudo no escopo session.

Além disso, há uma pequena lista de sites e blogs recomendados para quem quiser se aprofundar no assunto:

  1. JSF Central
  2. JSF Tutorials
  3. (blog) Ed Burns – desenvolvedor na Sun e que atua como líder na especificação JSF
  4. (blog) Jason Lee – outro desenvolvedor senior da Sun com ampla experiência em JSF e que atualmente trabalha no Mojarra Scales, uma biblioteca de componentes para JSF.
  5. (blog) Ryan Lubke – mais um desenvolvedor trabalhando com o Mojarra Scales.
  6. (blog) Roger Kitain – Outro líder na especificação JSF
  7. (blog) Jacob Hookon – criador do projeto Facelets, que fez tanto sucesso que será integrado à especificação 2.0 da JSF.

Palestra 2: Quais padrões ainda sobrevivem com as novas tecnologias?

Palestra: Rodrigo Cândido

O que é uma design pattern? Trata-se de uma maneira de documentar soluções para que problemas comuns não tenham de ser extensamente analisados cada vez que aparecem – para quê reinventar a roda quando dezenas, centenas, milhares de desenvolvedores já passaram pelos mesmos problemas?

Qualquer um pode criar um “padrão de projeto”, basta que ele documento o problema encontrado (quando, em que condições, etc) e a sua respectiva solução (ou seja, como utilizar os recursos disponíveis para obter uma solução eficiente), além dos benefícios trazidos por aquela determinada solução, mas também consequências negativas e padrões de projeto relacionados com aquele.

Foram apresentados alguns dos padrões de projeto mais famosos, dos livros “Design Patterns: Elements of Reusable Object-Oriented Software”, lançado em 1995 com 23 padrões e que se aplica a qualquer linguagem de programação orientada a objeto (que ficou conhecido como o catálogo GoF – Gang of Four – pelo fato do livro possuir quatro autores) e do livro Core J2EE Patterns, lançado em 2001 e que conta com 25 padrões de projetos. Além disso, existem muitos outros catálogos de padrões por aí, como este, com boas explicações, no site da própria Sun, e o site na Sun sobre o livro Core J2EE Patterns, que possui o livro para visualização.

Não irei passar cada um dos padrões mostrados porque, bem, é um assunto que já amplamente discutido e que você pode encontrar referências com facilidade no Google (embora eu tenha colocado alguns links para facilitar a sua vida).

Palestra 3: JBoss Seam

Palestrantes: dr. Spock (blog) e Vinícius Senger / Globalcode

JBoss Seam - Spock e Vinicius

O Seam é uma plataforma de desenvolvimento open-source para construir aplicacações ricas para a internet – eu não falei que esse assunto estava em voga?

Trata-se de uma solução completa para simplificar todas as etapas do desenvolvimento web, utilizando muitas tecnologias fornecidas pela própria especificação da Sun: se existem Annotations, por que criar 1001 documentos xml? Você pode usar tanto Hibernate quanto JPA, pode testar seus módulos de maneira automatizada, além de se integrar facilmente com uma infinidade de tecnologias e conceitos como BPM.

Sinceramente, eu me interessei MUITO por essa solução, aguardem por novos posts a respeito do Seam, já que eu pretendo utilizar essa ferramenta no futuro.

O Seam permite que você faça muitas coisas, como contextos diferentes em abas diferentes (por exemplo, em um call center você pode estar atendendo pessoas diferentes em abas diferentes sem maiores problemas, ou ter dois carrinhos de compras diferentes em abas diferentes em um site de compras, embora eu não saiba ao certo porque raios alguém gostaria disso) e resolve problemas de persistências que podem irritar muitos desenvolvedores (nota: se desenvolvimento web já é um monstro de criar bugs, desenvolvimento web COM persistência deve ser coisa para querer arrancar os cabelos… não façam isso na mão, crianças), como o Lazy Init Error (ou seja, quando você quer mostrar um dado de persistência na tela mas a conexão com o banco de dados já foi fechada). Ele resolve esse problema permitindo que você escolha quando quer iniciar e quando quer fechar a sessão.

Uma sessão pode ser iniciada com um clique numa opção do menu, por exemplo, e encerrada quando outra opção é selecionada. Além disso, há uma necessidade de configuração muito menor, e as anotações fazem com que muita coisa não precise de 1000 linhas para ser “explicada” ao programa: se você tem um campo @DataModel, é óbvio que você precisa de gets e sets para ele, e você pode dizer ao programa que um elemento selecionado dentro de uma lista é uma variável dentro de uma classe que será tratada por ela com não mais do que duas ou três anotações.

Palestra 4: SuperCRUD

Palestrante: Vinícius Senger (e-mail)

Uma palestra rápida que buscou mostrar um projeto open-source (cujo “papai” é o próprio Vinícius) que pretende ajudar desenvolvedores a gerar código mais rapidamente com o uso de templates. Você seleciona um template (a seleção é bastante limitada atualmente, e conta com colaboradores para aumentar a lista), define o formato da sua base de dados (relações, campos, tabelas, etc) e o programa gera um projeto para você, que você pode importar para o Eclipse e continuar a desenvolver sem ter de se preocupar em gerar as entidades e relacionamentos mais básicos. Ele até mesmo cria um pequeno projeto utilizando JSF e hibernate que conta com algumas páginas web para visualização e edição simples de dados, deixando mais tempo para que o desenvolvedor possa se preocupar com o que realmente importa no programa, que são os negócios e processos.

Ele também busca gerar código para diferentes linguagens, não apenas para Java – tudo depende dos templates disponíveis. O projeto possui uma comunidade no ning, que conta com explicações do próprio Vinícius sobre como utilizar o projeto, e possui um repositório no java.net. O site supercrud.com está fora do ar neste momento, mas esperamos que ele volte logo. 🙂

O projeto conta com 70 colaboradores cadastrados na comunidade, e ele convidou os participantes a colocaborarem com o projeto e o utilizarem para aumentar sua produtividade. Na comunidade há um tópico explicando melhor o que é o projeto e como as pessoas podem utilizá-lo e colaborar com ele.

Na próxima parte, as outras 4 palestras que eu vi e considerações finais sobre o evento. 🙂 Agora, se vocês me dão licença, eu vou almoçar que já são duas da tarde…

Anúncios

Responses

  1. sei como é ir em um evento sozinho, mas sempre se da um jeito de entrar em algum grupinho xD

    uma coisa que nunca aceitei em java são as configuração necessárias. sempre xml, sempre complexo, sempre genérico e abstrato porque SEMPRE querem resolver todos problemas, prejudicando aqueles que querem coisas simples e diretas

    ai criaram-se as annotations e todos ficaram maravilhados, quando no fundo, isso é a solução de um problema que eles mesmo criaram… e hoje em dia tem de tomar cuidado, as pessoas estão utilizando annotations mas não se preocupam em saber o que elas estão fazendo por traz dos panos, o que é de dar medo

    sobre patterns, pode ser que hoje em dia o desenvolvedor final não utilize todos GoFs da vida, mas garanto que suas ferramentas/frameworks sim, utilizam cada pattern que tem naquele catálogo (ok, nem todos vai eahaeuhuea)

    parece ter sido bem interessante o evento, só me incomoda o fato de ser totalmente voltado a desenvolvedores só com conteúdo da plataforma Java, mas acho que esse é o intuito do evento mesmo

  2. bom, mas ERA um evento sobre Java xD (talvez eu devesse ter falado isso no texto… u.u)

  3. eahuheau deu pra perceber depois de um tempo lendo, só achei que os eventos de Java tinham nomes como JConference e tal =x zuera huaehuea

  4. Eu em algum evento = Eu em qualquer outro lugar.
    Ou seja, não falo com ninguém e se falarem comigo acabo apenas dando um sorrisinho =X

    Mas enfim, eu to aprendendo Java agora, a empresa em que trabalho está pagando um curso para mim. Infelizmente foi agora no inicio do ano, então meu pique não está muito bom.
    Acho Java muito cheio de frescura, mas to gostando por enquanto.

    E eu nunca ganho os brindes…

  5. Eu também acho Java cheio de frescuras, mas também acho uma das linguagens mais versáteis atualmente. xD E é uma linguagem que vem evoluindo para acompanhar o mercado, o que eu acho muito válido.

    Mas quero aprender Ruby on Rails e Python nas férias, porque não quero ser programadora de uma linguagem só xD

  6. Eu trabalho com Perl, que anda muito pouco usado ultimamente.
    Mas é a coisa mais tranqüila de se trabalhar, sem se preocupar com tipo de variável, é um paraíso.
    A grande vantagem do Java é mesmo a portabilidade e o suporte da Sun com atualizações e informações que é coisa de outro mundo ne.

  7. Nossa! Nem sabia que tinha esse evento… se bem que a SBGames deixou eu com tantos trabalhos acumulados que só essa semana que as coisas estão voltando ao normal…

    Hahaha curiosidade de conhecer uma garota que programa java foi boa!

  8. Quem diria que um dia vc iria num evento de java… xDD quem te viu quem te ve cincin

  9. “Minha parte anti-social dizia “apenas fique sentada ali do lado olhando para o teto como você sempre faz” e a minha parte que estava ansiosa em fazer amigos que também entendessem de Java dizia “apenas se aproxime de algum desses grupinhos! Diabos, deve ter gente curiosa para saber como é uma menina que programa em Java, use isso a seu favor, sua tonta!”.”

    hahahahahaha

    Hmm, o evento parece ter sido legal! hehehe


Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Categorias

%d blogueiros gostam disto: