Minas on Rails, o depois

December 2nd, 2007 § 7 comments § permalink

Ontem foi o Minas on Rails, edição 2007 e finalmente estou acordado depois da maratona. Se eu estou assim, nem imagino o resto dos organizadores, que, confesso, ralaram bem mais do que eu para que o mesmo acontecesse. Depois de 15 horas de sono quase que ininterrupto, ainda estou me sentindo um trapo.

Mas, cansaço a parte, acho que o evento foi muito bom. Como todo marinheiro de primeira viagem, cometemos muitos erros mas o feedback posterior foi muito bom e acho que conseguimos nosso objetivo de informar um pouco mais sobre o Ruby e o Rails a quem não conhecia.

Infelizmente, nossos planos tanto para gravar como transmitir o evento ao vivo foram por água abaixo–graças a uma combinação de problemas técnicos no momento que tiveram a ver, em maior parte, com a mudança abrupta de local acontecida na última semana. O material das palestras, entretanto, será disponibilizado depois.

Revi e conheci mais um porção de gente interessante e isso já mais do que compensou o esforço. Muita gente que eu só conhecia virtualmente apareceu, incluindo o Leonardo Faria, o Vinícius Teles–que me deixou encabulado com os elogios–o Edgar, que eu conhecia do curso da e-Genial e que fez uma heróica viagem de trem de 12 horas para chegar ao evento, e o Lincoln de Sousa–que estava no pós-encontro e me levou em casa depois em uma viagem insana de carro com o Rafael Apocalypse e o Lucas Petes (aliás, com tanto louco no carro, não sei como chegamos vivos; e eu nem bebo).

No geral, a experiência foi ótimo. Ano que vem, espero que possamos fazer ainda melhor com o aprendizado desse. Muito obrigado aos mais de 120 participantes que fizeram do evento um sucesso.

Minas on Rails: o trem está rolando!

December 1st, 2007 § 9 comments § permalink

Com uma hora de atraso, estamos felizes em começar o Minas on Rails ’07. Como sempre, aventuras na hora de organizar que render histórias engraçadas depois. A primeira palestra está rolando, com o André Fonseca, falando um pouco sobre o Baú de Arquivos e como o Rails facilitou o processo de desenvolvimento do mesmo.

Atualização: Primeira palestra apresentou bem o Rails e agora estamos na segunda palestra com o TaQ, falando sobre o Ruby (passado, presente e futuro). Boa seqüência à anterior para familiarizar o pessoal com o que o Ruby oferece para depois falar de coisas mais complexas.

Atualização: TaQ: Tio, faz assim. Coisa de paulista. :-)

Atualização: Terceira palestra do dia com o Eduardo Rocha, do O Curioso, um site relacionado ao Orkut (salva os scraps permanentemente) usando Rails pesadamente com crawler, dezenas de processos, etc. O caminho de upgrade foi interessante e mostra que o Rails consegue evoluir tranqüilamente. Interessante as configurações: 20 mil usuários com 1×4 Xeon + 2GB, o que é modesto. Hoje são 400 mil usuários com máquinas não tão enormemente maiores.

Atualização: Quarta palestra começando sobre JRuby. Diógenes Araújo dando uma revista no assunto falando sobre o que está acontecendo, o que vai acontecer e como desenvolvedores Java e MRI podem se aproveitar do JRuby. O JRuby está se movendo em um passo muito rápido o que é muito bom.

Atualização: Quarta palestra começando com o Rafael Apocalypse falando sobre design Web com o padrão MVC e como lidar com programadores e designers ao mesmo tempo sem comprometer a qualidade final do produto. A próxima é a minha. Medo.

Atualização: Acabei minha palestra e depois fui levar o TaQ em Confins. Pela resposta da aduiência dá para melhorar bastante coisa antes da próxima apresentação. Esperado, é claro. Perdi a palestra seguinte, de TDD, e agora está rolando a palestra do Vinícius sobre o projeto Lucidus.

Atualização: O projeto Lucidus é um exemplo muito interessante de XP + Rails em grande escala. Ainda não havia visto a apresentação do mesmo e ver o processo aplicado em detalhes em uma empresa grande versus equipe grande é bem positivo.

Atualização: Palestra do Vinícius terminando, com bastante questões. Muito positivo. Agora falta somente o último passo nessa longa caminhada. :-)

Atualização: Palestra do Carlos Júnior começando falando sobre REST e Rails.

Atualização: Com o evento terminando, já dá para notar bastante coisa que fizemos certo e bastante coisa que fizemos errado. Marinheiros de primeira viagem, acho que até conseguimos executar bem. Resta saber a reação do pessoal depois. :-)

Atualização: Última palestra concluída. Evento basicamente terminado só com um tempo aberto para perguntas e respostas com os palestrantes.

Minas on Rails, primeira edição, amanhã

November 30th, 2007 § 3 comments § permalink

Lembrando os interessados que a primeira edição do Minas on Rails acontece amanhã, das nove às dezenove. As inscrições ainda estão abertas e vale a pena participar para ouvir vários palestrantes com tópicos muito interessantes sobre o Rails, incluindo o TaQ e o Vinícius Telles.

Para chegar no local, veja o mapa do evento. Se quiser combinar para ir ou pegar carona com alguém, verifique na lista pelas “caravanas” que estão se formando.

Minas on Rails

November 16th, 2007 § 5 comments § permalink

O site do Minas on Rails está no ar e você já pode se inscrever para o primeiro evento do Rails no estado. Promovido pela comunidade Rails-MG, o Minas on Rails acontece no dia primeiro de dezembro, das 9h às 19h.

É um oportunidade para ouvir vários palestrantes falando sobre os mais diversos aspectos do desenvolvimento e implantação do Rails incluindo técnicas avançadas para suas próprias aplicações. Entre os palestrantes estão o TaQ e o Vinícius Teles. A taxa de inscrição é de R$20,00 e inclui uma camisa e o coffee break. Participando, você também recebe um certificado e tem a oportunidade de concorrer aos vários brindes que serão sorteados no dia.

Em resumo: é um excelente evento e uma oportunidade muito boa de ficar ligado à comunidade que está movendo o Rails aqui em Minas Gerais. Não perca.

Pão de Cast #4

November 15th, 2007 § 4 comments § permalink

Já está no ar o Pão de Cast #4. Se você gostou dos primeiros, acho que você também vai gostar desses. Os assuntos discutidos foram:

  • O Dalvik, a máquina virtual por trás do Android, o novo sistema operacional para celulares do Google, e seu impacto no mercado.
  • A nova versão do Ruby e as demais máquinas virtuais que estão sendo criadas.
  • O impacto do Ruby e do Rails no mercado de desenvolvimento Web.
  • A questão do gerenciamento de pacotes nos sistemas operacionais moderno.

Rails for Kids

November 11th, 2007 § 0 comments § permalink

Dia 15 de dezembro é um dia especial para a comunidade Rails brasileira: a e-Genial está promovendo o Rails for Kids, um evento com 10 palestras sobre Ruby e Rails ao longo de um dia cuja renda será completamente revertida para uma instituição de caridade do Mato Grosso do Sul.

Os suspeitos usuais da comunidade nacional estarão presentes e mesmo que você queira assistir uma única palestra, vale a pena participar com os R$25,00 de inscrição que serão completamente revertidos para a instituição. Não é muito para o seu bolso, ajuda uma causa nobre e você ainda tem acesso a material de qualidade.

5 razões pelas quais JavaScript pode ser a próxima grande linguagem

October 30th, 2007 § 19 comments § permalink

Há sempre uma grande quantidade de especulação sobre qual a próxima linguagem que ganhará as mentes e corações dos desenvolvedores. As apostas atuais muito provavelmente tendem na direção do Ruby.

Considerando o sucesso que o Ruby on Rails está experimentando atualmente, eu também me sinto tentado a dizer que Ruby é a próxima grande linguagem. Ruby tem a história perfeita: virtualmente desconhecida em sua primeira década de vida, surgiu com uma estrela no cenário atual de programação, graças a uma killer app cujo mindshare não para de crescer.

Ruby é, através de Rails, responsável pela aceitação de linguagens dinâmicas como ferramentas possíveis na atualidade. Alguém poderia argumentar que a atual revolução dinâmica aconteceria com ou sem a presença do Ruby. Eu tenho que discordar: o sucesso do Ruby fez com que o passo de pesquisa e experimento em linguagem alternativas aumentasse em uma ordem de magnitude nos últimos dois anos. Eu acompanho o cenário de desenvolvimento há mais de uma década e foi somente após a explosão provocada pelo Rails que o cenário mudou.

Ainda assim, eu acredito que Ruby não será a próxima grande linguagem. A despeito de desenvolvimento como JRuby e IronRuby, o lugar no topo não está garantido para essa bela linguagem.

Esse lugar, eu acredito, pertence ao JavaScript.

Se o JavaScript se tornar a próxima grande linguagem, um ciclo completo estará formado. Uma linguagem que nasceu para transformar a parte cliente da Web e sofreu uma queda ignóbil, sendo considerada por anos algo que somente merecia a atenção de candidatos a programadores, está ressurgindo agora com uma fênix, elevada ao panteão de linguagens sérias e merecedoras de atenção.

Aqui estão cinco razões pelas quais JavaScript pode se tornar a próxima grande linguagem tanto no lado cliente quanto do lado servidor das aplicações modernas:

Razão #1: A similaridade com C e Java, simplificada

A verdade é dura: C ainda desfruta de uma enorme popularidade e influência do uso e desenho de linguagens. E com a ascendência do Java, a sintaxe do C se tornou ainda mais dominante. Por si só, isso já é um motivo para garantir uma certa medida de popularidade ao JavaScript.

Mas o motivo real está no fato de que JavaScript simplifica a sintaxe do C e do Java a um nível palatável para o desenvolvedor médio. O uso de características dinâmicas fala mais alto do que qualquer coisa. Se há um ponto em que o Java falhou foi aí: se Java tivesse gerado algo como o Groovy no seus dois primeiros anos e tivesse convertido isso na linguagem padrão para applets, a história da Web teria sido completamente diferente.

Um garbage collector funcional ajuda bastante. Como o Ruby e Python provaram, não é preciso controle granulado sobre alocação de memória para criar programas complexos.

A única desvantagem real do JavaScript, no que tange à sintaxe, pode estar no fato da mesma ser baseada em protótipos e não em classes. Isso deve mudar com o JavaScript 2, mas a decisão final dos desenvolvedores quanto a isso ainda está no futuro. Até o momento, o uso de protótipos não está freando a linguagem, embora esteja limitando determinados usos.

Razão #2: A plataforma é a Web

Não há nada mais ubíquo do que código fonte HTML. JavaScript segue a mesma direção. A despeito de minimizadores de código e obfuscadores, a vasta maioria do código JavaScript em uso atualmente está disponível para adaptação e incorporação em aplicações. De editores de textos ricos a plataformas completas de construção de interfaces passando por bibliotecas utilitárias, há uma enorme quantidade de código documentado e acessível.

Esse código, além de tudo, roda em uma plataforma aberta e extremamente acessível, que é a própria Web. Isso dá ao JavaScript um grau de liberdade em termos de experimentação que não está disponível a basicamente nenhuma outra linguagem. Com o crescimento de ferramentas de apoio, o custo de desenvolvimento inicial está caindo até um ponto em que qualquer programador pode se dar ao luxo de desenvolver aplicações mais complexas sabendo que terá suporte amplo para isso.

O fim das grandes diferenças de compatibilidade entre os vários navegadores também está contribuindo para que a Web se estabeleça cada vez mais como uma plataforma sólida para aplicações suficientemente sofisticadas que se confundem com o desktop

E um último ponto: o JavaScript está intrinsecamente mesclado em duas arenas que paralelizam a Web.

A primeira dessas arenas é a de aplicações ricas na forma de tecnologias como Adobe Air e Siverlight. Essas plataformas não só estão adotando o JavaScript como ferramenta primária como estão também aumentando o seu passo de desenvolvimento, oferecendo melhores interpretadores e compiladores.

A segunda arena é a de aplicações offline. Com o aumento de aplicações com o serviço, o uso de uma linguagem comum é necessária para aplicações que queiram deixar o confinamento do navegador e se tornarem cidadãs de um desktop extendido. JavaScript já é a linguagem candidata perfeita para isso.

Razão #3: Ajax

Não só a Web é a plataforma, mas o uso de Ajax está trazendo toda uma nova comunidade de desenvolvedores para o JavaScript. O Ajax está fazendo hoje o papel que o view source fez na Web de dez anos atrás.

Enquanto antigamente o JavaScript era relegado a funções como criar rollovers, simular transições e efetuar procedimentos minimalísticos similares em aplicações Web, aplicações atuais rotineiramente carregar centenas ou milhares de kilobytes de JavaScript para transformar a experiência do usuário.

Hoje espera-se que um desenvolvedor saiba utilizar plenamente JavaScript em suas aplicações. Seja qual for a linguagem que ele use para desenvolver–Ruby, Python, C# ou Java–uma linguagem permanece constante: o JavaScript.

Como é improvável que outras linguagens ganhem utilização em um navegador, a tendência é que o JavaScript se torne cada vez mais adaptada a criar uma experiência completa de desenvolvimento e execução em um ambiente que não ficará nada a dever aos atuais O Ajax está fazendo hoje o papel que o run-times.

Razão #4: Protocolos e ferramentas

JSON é hoje basicamente um padrão de transmissão e transformação de dados na Web. Compacto e compactável, substituiu rapidamente o XML como protocolo de transporte e tem liderança indiscutível por estar baseado na única linguagem cliente disponivel.

Esse desenvolvimento, apoiado em outros como o CouchDb estão dando ao JavaScript uma legitimidade enorme em termos de aplicação real. Nem mesmo o mundo corporativo foi capaz de resistir à mudança desencadeada por esse pequeno protocolo e, atualmnte, transformações baseadas em JavaScript são comuns. Tecnologias como o CouchDb, com sua integração direta ao JavaScript e com um uso eficiente e lógico de uma arquitetura REST só trazem benefícios à linguage.

Além disso, ferramentas e ambientes de desenvolvimento mais sofisticados estão proliferando. Ambientes de desenvolvimento estão intrinsecamente ligados ao sucesso de uma linguagem–isso, inclusive, é algo que a comunidade Ruby está percebendo agora. Esses ambientes fornecem um trampolim para desenvolvedores inexperientes e uma base sólida para desenvolvedores já experimentados.

Esse tipo de legitimização pode ser mais um dos passos que vai conduzir o JavaScript ao ponto em que outras linguagens igualmente dinâmicas não podem chegar.

Razão #5: Distribuição ubíqua

O JavaScript não está mais só nos navegadores. Como mencionado anteriormente, tanto o Adobe Air quanto o Silverlight incorporam funcionalidades baseadas em JavaScript–e de maneira muito significativa.

Mas a evolução do JavaScript não para aí. Máquinas virtuais stand-alone já existem e podem ser usadas para basicamente qualquer tipo de desenvolvimento necessário com JavaScript. A mera integração com o Java permite o acesso a uma quantidade enorme de bibliotecas que transformam o desenvolvimento de novas aplicações um passo trivial.

O processo atual de desenvolvimento do JavaScript está formando um círculo virtuoso de desenvolvimento que está colocando a linguagem em uma posição de franca ascenção. Desdobramentos como a liberação do Tamarin são avanços que repercutiram em breve na comunidade de desenvolvimento.

Olhando para a combinação acima, eu não duvido que em breve surja um framework Web baseado em JavaScript, funcionamente equivalente ao Rails ou Seaside, capaz de ser rodado em basicamente qualquer plataforma possível, dada a profileração do JavaScript, e com a capacidade de integrar-se intimamente com outras ferramentas baseadas em JavaScript. É só uma questão de tempo.

Conclusão

Prever o futuro é uma atividade essencialmente frágil. Mas especular sempre é interessante quando o passo de modificações em uma determinada área parece chegar em um certo nível onde tudo parece posssível. Esse é o caso do JavaScript agora, em minha opinião, e as cinco razões acima são uma reflexão desse pensamento.

Eu volto então à minha aposta: e se eu tivesse que apostar agora, eu apostaria no JavaScript.

Rio on Rails

October 24th, 2007 § 0 comments § permalink

Por falta de tempo, esqueci de anunciar ontem: a data do Rio on Rails já está definida. O evento acontecerá no dia 8 de dezembro (sábado) e contará com a presença de vários palestrantes de todo o Brasil, com muitos dos nomes que estão fazendo e acontecendo no cenário Rails do Brasil.

Eu também estarei lá, palestrando e aproveitando a oportunidade para conhecer mais usuários do Rails no Brasil. Nos vemos lá.

Curso de verão de Rails da e-Genial

October 23rd, 2007 § 0 comments § permalink

Se você está querendo aprender Rails e quer fazer um curso intensivo e rápido, a e-Genial está oferecendo um curso de verão com a duração de 4 semanas. O curso conta com material didático extensivo e com 18 horas de aulas interativas com o Fábio Akita, um reconhecido pioneiro de Rails no Brasil e autor do único livro sobre o assunto por aqui.

Eu tive o prazer de ministrar esse curso anteriormente para duas turmas e foi uma experiência incrível para mim. Pelos e-mails que recebi posteriormente dos alunos, acredito que tenha sido uma experiência muito boa para eles também. Com as aulas interativas, o curso se torna muito dinâmico e participativo. Infelizmente, não tenho condições de ministrar o próximo–por razões de recuperação da cirurgia que fiz recentemente–mas o Carlos gentilmente compreendeu a situação e conseguiu um novo professor que com certeza apresentará um material de excelente qualidade.

Em resumo, se você quer aprender com um mestre de Rails, não hesite e corra para a nova turma de Rails da e-Genial. Novidades esperam você–principalmente agora que o Rails 2.0 está chegando.

Evento Rails em BH

October 20th, 2007 § 13 comments § permalink

Como o Leonardo Faria já mencionou no blog dele, estamos organizando um evento em Belo Horizonte nos moldes do de São Paulo e Rio.

Estamos decidindo ainda data, local e palestrantes mas se você tem interesse de participar entre em contato conosco aqui mesmo ou no blog do Leonardo.

Where Am I?

You are currently browsing the Rails category at Superfície Reflexiva.