LazyWeb: Escolhendo um framework

November 11th, 2009 § 7 comments

Um amigo de Belo Horizonte me consultou esses dias sobre uma questão fundamental para a aplicação que ele está planejando começar a escrever nos próximos dias: framework de programação usar (e por extensão, qual linguagem)?

Como minha experiência nos últimos tempos tem sido confessadamente restrita a Rails e alguns experimentos em outros, resolvi apelar para a caridade dos meus leitores. Qual framework você usaria para seu próximo projeto?

Esse meu amigo não tem problemas com linguagens de programação em si. De fato, a não ser que seja algo tão esotérico quando Haskell ou Erlang, ele é capaz de se familiarizar com uma linguagem ou framework em alguns dias.

Obviamente, não posso dar muitos detalhes sobre a aplicação, mas dá para dizer que o objetivo é escalar gradualmente. Ela não precisar começar escalando para o mundo inteiro, mas um caminho seria bom. Um outro detalhe nesse aspecto é que a aplicação é comparativamente particionada: um usuário terá acesso a alguns itens e compartilhará esse acesso com algumas dezenas ou centenas de pessoas. Esses itens possuem moldes variáveis e seriam bom ter flexibilidade na criação do mesmos.

Finalmente, hospedagem é uma questão também. Não necessariamente preço, mas facilidade. Linode é uma opção mas preferivelmente algo que possa ser colocado em alguma coisa pequena e ir escalando conforme a necessidade, no estilo do Heroku (o que limitaria a Rails, claro). Python parece uma boa opção, mas ele precisa de evidências.

E aí, alguém anima a ajudar um pobre compadre em armas? 😀

Tagged

§ 7 Responses to LazyWeb: Escolhendo um framework"

  • Roger Leite says:

    Sem detalhes fica muito difícil sugerir algo efetivo.
    Fora Ruby/Rails, minhas experiências anteriores foi com Java, neste caso recomendo:

    http://www.stripesframework.org
    http://blog.caelum.com.br/2009/08/21/vraptor-3-disponivel-para-download/

    Espero que ajude.

  • Luiz Rocha says:

    Eu usaria a seguinte linha de raciocínio:

    Se o que os usuários vão compartilhar pode ser separado em pequenas apps, conectadas por um “container” (odeio essa palavra, me lembra IBM) comum, talvez Django seja um bom começo.

    Se time-to-market é importante e o que vai ser compartilhado está dentro de um mesmo contexto de negócio, Rails pode ser um bom caminho.

    Particularmente não tenho predileção por nenhum nem outro.

    Em ambos os casos, o que ele realmente precisa é estar ciente das dores do crescimento.

  • PotHix says:

    Æ!!

    Sou da mesma opinião do Luiz. Se for separar em pequenas apps acho que Django seria bem interessante.

    Minha experiência não vai tão alem para dar uma opinião boa sobre esse caso, mas acho que depende bastante dos requisitos principais para se ver o mais interessante.

    No fim das contas eu ainda ficaria com Django ou Rails, dependendo dos requisitos principais.

    Há braços

  • Como não é a minha área, não posso auxiliar. Mas sempre posso atrapalhar. :-)

    Um negócio que eu achei legalzinho foi REBOL.
    Em ~400K o Carl Sassenrath (acho que não precisa apresentação) colocou um monte de coisas de forma bastante inteligente e flexível. A versão 3 está em desenvolvimento mas é possível baixar e ir testando (acho que a parte gráfica só no Windows). Mas tem a versão anterior (2.7.x). Não é totalmente free, mas é possível começar com o básico e, se for o caso, adiquirir o que for necessário futuramente. Não sei como ficaria o aspecto da hospedagem.

    Testar online: http://tryrebol.esperconsultancy.nl/

    Exemplos: http://reboltutorial.com/

    web server : http://cheyenne-server.org/

    web framework (MVC) : http://www.ross-gill.com/QM/

    Entrada para uma série de vídeos (8 horas)
    http://www.youtube.com/watch?v=RXgkmOZTYvM

  • Acho difícil indicar um framework de qualquer linguagem – qual é o intuito? Imagino que a pessoa precisa definir as linguagens com as quais ele tem familiraridade para escolher um – e se não tem e quer aprender, não comece por nenhum framework, comece aprendendo o básico.
    De qualquer forma, tenho uma experiência em PHP usando o Code Igniter (para MVC) e o DataMapper para ORM.
    Se for Java, Spring com Hibernate.
    São 2 combinações de sucesso, pela minha experiência.
    Abs!

  • Indicar um framework é muito subjetivo. Cada um vai indicar aquilo que conhece melhor. Alguns frameworks podem ser que nem sejam os melhores, porém a pessoa só conhece aquilo e acaba indicando. Eu trabalho com Java e ficaria inclinado a indicar algo nesse caminho, como cloud computing (da uma olhada na amazon elastic compute cloud aqui: http://aws.amazon.com/ec2/). Acho mais fácil ele pegar algo que conheça melhor em vez de tentar aprender algo novo.

Leave a Reply

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

What's this?

You are currently reading LazyWeb: Escolhendo um framework at Superfície Reflexiva.

meta