Dando cara de Grails ao Clojure

Algum tempo atrás postei aqui no blog alguns questionamentos relacionados à orientação a objetos. Não ao paradigma em si, mas sim ao fato de raríssimas vezes questionarmos o seu uso. Então resolvi sair do teórico e ir pra prática. Como resultado, iniciei o desenovlvimento de um framework web que fosse baseado em uma linguagem que não fosse essencialmente orientada a objetos mas que ao mesmo tempo me possibilitasse programar de uma forma mais funcional e, talvez, até mesmo procedural (este era o desafio).

Então criei o projeto itexto Projekt, que é um framework que estou desenvolvendo (ainda está muito tosco, já vou avisando) para ser a base do novo sistema de issues da itexto. Ele é baseado nos conceitos que mais amo no Grails: convenções sobre configuração, facilidade do desenvolvimento, não precisar reiniciar o servidor em desenvolvimento, etc. Ainda há muito chão pela frente: já iniciei o desenvolvimento de uma interface de linha de comando mas o controlador, ao menos o grosso dele, já encontra-se implementado.

Clique neste link para ver o vídeo em que demonstro este meu trabalho. http://www.youtube.com/watch?v=RRGB1j1_PDY&feature=youtu.be

Já postei parte do código fonte no GitHub também. Vocês podem vê-lo neste link.

EDIT: já dei um nome melhor pra criatura: Daft

13 thoughts on “Dando cara de Grails ao Clojure

  1. Parabéns pela iniciativa, Henrique! Há poucos dias comentávamos sobre as questões OO e os problemas que você mencionou.
    Espero ver mais e colaborar com o projeto.

  2. Oi Paulo, que bom que gostou.

    Um dos objetivos deste projeto é justamente sair da teoria e ir pra prática, mostrando que há uma alternativa para a OO nesta área.

    Se for um fracasso, também é bom: porque mostra um caminho a não ser seguido também. :D

    (mas pelo andar da carruagem algo me diz que vai dar muito certo :) )

  3. Parabéns Henrique, ótima iniciativa, fiquei sabendo do projeto através de um post do Mateus. Acho muito interessante linguagens funcionais, atualmente utilizo Scala sendo assim a curva para Clojure é bem tranquila. Um dos frameworks que tenho utilizado para pequenos experimentos em Scala é o Play 2.x onde um dos grandes apelos é utilização do modelo não bloquante nas chamadas, vi que você esta utilizando Servlet no Daft, a idéia é se apoiar no modelo de chamadas assíncronas Servlet ou incluir algo como Netty?

    Já estou de olho no projeto. Sucesso.

    []’s

  4. Oi Isaias, por enquanto está sendo baseado em chamadas assíncronas do Servlet, mas pode ser que, no decorrer da pesquisa, acabe indo por algo similar ao Netty sim.

    Talvez neste final de semana eu já tenha algumas novidades bacanas pra postar aqui a respeito. :)
    Valeu!

  5. Oi Kico, parabéns pelo post!
    Vc recomenda alguma leitura pra iniciar no closure (ou mesmo começar pelo lisp e depois closure, sei lá) se for pra seguir esse caminho?
    Abraços!

  6. Ola Kiko

    parabens pelo projeto. Vou acompanhar seus proximos passos atentamente, pois achei muito legal.
    Uma pergunta fora do assunto central : como voce fez pra gravar o video da tela e mostrar sua imagem em um formato menor no lado inferior direito ? Quais programas usou, eles possuem versoes para linux ?
    Valeu, abraço

    Rogerio

  7. Oi Rogério, valeu.

    Eu usei a versão trial do Camtasia Studio. Infelizmente ele não tem pra Linux :(

  8. Que maneiro! Soube disso através de um toque do p_balduino. É interessante ver uma linguagem tão incomum ganhando espaço. Soube que o Soundcloud usa, me corrija se estiver errado.

  9. Oi Lucas, legal que tenha gostado, valeu!. To aqui ralando pra ver se este negócio fica tão massa quanto eu quero (desconfio que vai ficar mlehor).

    Com relação ao Soundcloud, não sabia. Mas é bom saber que alguém famoso tá usando um Lisp por aí. Espero que em breve este número aumente (se depender de mim vai!).

Leave a Reply

Your email address will not be published. Required fields are marked *