Gestão Dev & TIARTIGO

Cobertura sobre a conferência OpenTDC

No último domingo, 17 de maio, aconteceu o OpenTDC, uma conferência anual que é um aquecimento para o “The Developers Conference” (TDC), promovido pela Globalcode e projeto Open4Education, com temas atuais de desenvolvimento de software e bons palestrantes como:

  • Yara Senger: Sócia-diretora educacional da Globalcode e co-criadora dos programas Academia do Java e Academia Web.
  • Bruno Souza: Presidente do grupo SouJava.
  • Vinicius Senger: Diretor técnico e fundador da Globalcode.
  • Paulo dos Santos: Pesquisador de robótica open source.
  • Alberto Lemos (conhecido como Spock): Sólida vivência com projetos de espeficicação e requisitos, palestrante e professor da Globalcode.
  • Cláudio Teixeira: Arquiteto de Software há mais de 10 anos e experiência profissional nacional e estrangeira, tanto no ensino como em implantação de métodos ágeis com empresas como Sun, Oracle e Valtech.
  • Dimas Oliveira: Engenheiro da Sun Microsystems, envolvido com os projetos de TV Digital e Java para dispositivos móveis.
  • Éder Magalhães: Instrutor da Globalcode nos cursos de Academia Web e Academia do Java, com experiências em desenvolvimento em diversos segmentos como bancos, ensino, call center e transporte.
  • Rafael Nunes: é moderador do Grupo de Usuários Java (GUJ), escreve artigos para revistas e eventos, trabalha com desenvolvimento e arquitetura de Java EE há seis anos, além disso, se é que conta, foi meu professor em Java.
  • Maurício Leal: é gerente de programas SDN (Sun developer Network) para a américa latina da Sun. Tem experiências com arquitetura e desenvolvimento de software no Brasil e exterior.

Participei do evento e gostaria de compartilhar um pouco das minhas anotações e twitts (http://twitter.com/alantiel).

Abertura: Open Source e Comunidade

Como de costume, apresentação de abertura e boas vindas. Nesse caso a abertura tinha o tema: “Open Source e Comunidade”. A Yara começou falando sobre as empresas que ajudaram a patrocinar o evento e do projeto Open4Education (Adex, Anhambi Morumbi e Pontual) e os fóruns e portais que ajudaram a divulgar também (Guj, SouJava, iMasters e outros). Citou, também, o fenômeno das redes sociais e como ajudam na difusão do conhecimento.

Ainda na apresentação de abertura, Bruno Souza fez uma apresentação quase inteira baseada em apenas um slide, o que não tirou nenhum pouco seu conteúdo, claramente útil e produtivo. O slide dizia uma frase: “Open Source é a forma natural de se desenvolver software”. Claro que na apresentação ele deu vários pontos para sua afirmativa, inclusive algumas metáforas com o modo de se tornar um bom fotógrafo, onde antigamente era caro tirar fotos, pois necessitavam comprar o filme e revelar, e ainda foi mais longe: nunca uma pessoa comum seria boa em fotos dessa forma, pois não tinha acesso a fotos profissionais. Ele focou bem no fato de que um bom fotógrafo tinha que comparar, tirar muitas fotos para fazer comparações e, portanto, uma pessoa comum nunca poderia fazer dessa forma. Já na modernidade é fácil, pois há o flickr, que é uma rede social com diversas fotos de diversas pessoas, o que dá a base para qualquer um ter acesso a fotos de qualidade. E ainda temos celular e câmera digital a preços baixos, o que possibilita tirar várias fotos. Outra citação legal foi a de que programar é uma arte e não uma ciência totalmente exata.

Robótica Open Source

A segunda palestra foi sobre robótica, mas com uma característica interessante: Open Source.

Os palestrantes eram Vinicius Senger e Paulo dos Santos. A palestra fugiu do convencional, pelo fato de ter sido feita como se fosse uma conversa informal, onde o Vinicius fazia as perguntas de uma pessoa leiga no assunto e o Paulo respondia, na maioria das vezes mostrando um exemplo. Particularmente, achei bem legal essa idéia e a forma como fizeram.

Eles começaram falando sobre o conceito de Fisic Computing, que veio da Itália, e a existência de software e hardware livre.

Mostraram uma ferramenta para manipular os gráficos necessários para controlar algum componente eletrônico chamado Process, que facilita bastante, pois ele implementa muitas das coisas mais complicadas de se fazer funcionar toda a coisa e o programador se preocupa apenas com o algoritmo necessário para fazer o que quiser com o hardware.

Mostrou também uma placa chamada Arduíno, e sua versão brasileira, Severino, trata-se de uma placa eletrônica que é programada para os mais diversos fins, e assim ele citou que essa placa pode ser feita em casa e que Portugal tinha feito uma versão com  papelão, que é muito mais barata.

Ele seguiu o resto da palestra mostrando diversos exemplos práticos, desde robôs que tocam bateria, até uma bicicleta de verdade movida por um algoritmo em uma placa dessas.

Arquiteturas com JSF, JBoss Seam e Spring

Essa palestra, que vai ser apresentada no JavaOne nesse ano, pelos mesmos autores: Vinicius Senger e Alberto Lemos (Spock), trata de 5 arquiteturas testadas e funcionais para implantar em sistemas para web.

Começaram citando que as motivações para essa palestra vieram de estudos nos últimos projetos feitos por eles, onde as empresas tinham diversos perfis e tinham diferentes necessidades.

Primeiro falaram do convencional JavaEE, que te dá liberdade para escolher como vai ser implementado qualquer coisa que precise ser implementada, pois o simples é bonito, as tecnologias de Servlet, JSP, Custom tags são estáveis. Mas com contras como componentização.

Depois passou para JavaEE+EJB, onde a aplicação poderia ser componentizada e mantendo as coisas simples, mas com contras de que possui maior complexidade e gerenciamento de segurança.

Depois falou da arquitetura com Spring, que tem orientação a aspectos, injeção de dependências suporte a gerenciamento de segurança, mas com contras de que o tempo de redeployment é alto, pouco suporte no Brasil e com poucas ferramentas, apesas de agora ter um plugin pra eclipse)

Já a arquitetura com JBoss Seam possui Drools, JBoss Rules, opção de escolha para adicionar EJB ou não, integração com outras linguagens como Groovy e segurança robusça como prós, mas sua portabilidade, curva de aprendizado e ferramentas são os contras.

A arquitetura ideal para uma empresa que quer investir alto a próxima que integra Seam com Spring, onde vira um guarda-chuva de ferramentas, mas para isso precisa de uma equipe altamente experiente e isso custa caro.

No final da palestra falou sobre o JavaEE 6 que já muda para melhor e muito em relação ao seu antecessor, e que se continuar assim, na versão 9 talvez nem precisaremos discutir sobre adicionar frameworks na aplicação, pois o próprio JavaEE irá implementar todas as necessidades.

Adotando Agile “O caminho das pedras”

Essa palestra, feita pelo Cláudio, foi típica de uma palestra sobre metodologia ágil, tirando pelo fato de ele ter citado Lean, que não é uma metodologia ágil para um projeto, mas uma cultura japonesa que se encaixa bem, além de Scrum e XP.

Ele citou desde como era o desenvolvimento antigamente, até mesmo com cartão perfurado. Como os projetos podem falhar e que 30% dos requisitos do projeto é modificado durante o desenvolvimento. Ainda disse que desenvolver software são é o mesmo que copiar e colar código.

Depois falou sobre o manifesto ágil e as principais idéias propostas.

Após isso, focou na explicação de Scrum e XP, onde o primeiro tem mas foco em gerenciamento e o segundo em metodologias e qualidade. Após isso, falou sobre o Lean, que foi implantando pelo sistema toyota, para fazer o apenas necessário e na hora certa.

Java e TV Digital

A palestra do Dimas foi mais um toque para que pensemos em desenvolver para o novo público que é a TV digital, onde o Brasil tem tecnologia suficiente para isso.

Falou que dessa forma poderemos ter 230 milhões de pessoas como usuário, pois o brasileiro prefere ter uma TV que um fogão.

Deu alguns exemplos de que podemos fazer com aplicações de TV, como venda on line e busca de informações sobre alguma coisa em tempo real.

Painel: JavaFX, Flex e GWT

Essa palestra foi dividida para três palestrantes, um para cada tema, JavaFX com Maurício Leal, GWT com Éder Magalhães e Flex com Rafael Nunes.

A idéia foi mostrar três opções para frontend ricos diferentes, cada um com suas aplicações.

O JavaFX é uma forma de se desenvolver frontend projetando-a ao invés de codificando, pois com comandos de Java parecidos com Swing pode-se criar diversas interfaces e embutir imagens próprias facilmente. E ainda com ela a aplicação fica independente do browser. Inclusive ele deu um exemplo com um plugin de MP3 onde ele começou a tocar e depois arrastou o plugin para fora do browser e fechou o navegador, o tocador de mp3 customizado continuou aberto no desktop sem nenhum browser.

O GWT é uma forma de se criar Javascript (xhtml e css também) somente com linhas de comando em Java, tem um emulador, debug e tudo mais, além de que o .js gerado é portável a todos os browsers e sistemas operacionais. Essa ferramenta é para produtividade alta de sistemas. O ponto fraco é que o js gerado é impossível de ser lido e mexido normalmente.

O Flex é uma alternativa que é baseada em uma linguagem de marcação MXML e Actionscript, para se criar frontends robustos que rodam em qualquer browser que tenha o plugin do Flash, Flash Player, instalado, o SDK para o desenvolvimento é free e Open Source, dá para programar com isso apenas, mas se quiser uma IDE especial, ela é paga, mas vale a pena o seu custo, pois tem muitas funcionalidades e facilidades, inclusive drag and drop sem perder a qualidade do código feito. A aplicação pode se comunicar com qualquer linguagem de programação, ou seja, PHP, Java, Python, Ruby, etc.

Essa foi a última palestra, que acabou pouco depois das 18:00.

Gostei bastante do evento, espero tenha escrito o suficiente para cobrir o evento, caso queiram que eu fale sobre algum desses assuntos um pouco mais aqui, deixem um comentário.

É desenvolvedor web há mais de 8 anos, foi representante da Fatec Zona Sul na maratona brasileira de programação por dois anos consecutivos. Atualmente estuda Matemática Aplicada no IME-USP Focado em algoritmos, estrutura de dados e desenvolvimento web em geral. Possui certificações em Java: SCJP (OCJP) e SCJA (OCJA) e em HTML5/Javascript/CSS MCSD 70-480. Atualmente é Analista de Sistemas em grandes projetosno portal UOL.

Ver perfil