Publicado em: 25/12/2008 |
Autor: Arthur Zapparoli |
Categoria: Atualizações, Geral
2009 será um grande ano para a comunidade Ruby! :)
No dia 23/12, recebemos nosso presente de Natal antecipado: O Merb vai se juntar ao Rails, para fazerem do Rails 3.0 o melhor framework existente. :)
Confira o post do Yeahuda Katz, do DHH e do Matt Aimonetti.
A filosofia por trás do Merb (agnosticismo, modularidade, código de fácil interpretação, API pública) estará presente no Rails 3, e, o time de desenvolvedores do Merb farão parte do Rails Core team, para, assegurar que a filosofia que tanto amamos não seja quebrada em algum momento no futuro.
Por enquanto, muitas das perguntas ainda estão sem respostas, mas, tanto o Rails Core quando o Merb Core passam horas no IRC respondendo as dúvidas do pessoal. Segue uma lista com as principais dúvidas que apareceram por lá:
Quem decidiu pelo merge? O pessoal do Merb ou do Rails?
O core team do Rails, decidiram que queriam todas as idéias do Merb incluídas no Rails 3.0, e, que não fazia sentido terem 2 times diferentes trabalhando em cima de um mesmo objetivo. Por isso, propuseram o merge ao core team do Merb. Isto só vem a mostrar que a filosofia do Merb venceu! :)
E o método alias_method_chain usado extensivamento no Rails?
O core team do Merb por diversas vezes disseram que não gostam do alias_method_chain. Porém, o que eles sempre disseram é que esta não é a melhor solução para desenvolvedores de plugins, sendo que eles preferem uma API pública. A API pública do Merb estará presente no Rails 3 também, e, com isso, o alias_method_chain não estará presente nela. Porém, isso não quer dizer que ele não possa ser usado fora dela (um método parecido é usado internamente pelo Merb atualmente).
E as features planejadas para o Merb 2?
O core team do Merb disse que as features que estavam planejadas para o Merb 2 deverão estar presentes no Rails 3 também. Porém, é claro que este não é o foco principal deles. O foco é o merge.
E minha aplicação Merb 1, devo migrá-la para Rails 2?
Não. Se você escolheu o Merb para sua aplicação, o fez por diversos motivos que fizeram do Merb a melhor solução. Se foi este o motivo, estas features não estão presentes no Rails 2. O Rails 3 terá uma maneira fácil de migrar tanto aplicações Merb 1 quanto Rails 2. Ambos os times querem que a migração seja fácil para os dois frameworks.
O Rails 3 será mais parecido com o Merb 1 ou o Rails 2?
Esta ainda é uma pergunta difícil de ser respondida. Em termos de estrutura, ele será muito mais parecido com o Merb atual. Teremos um rails-core e um rails-more. Teremos slices, o sistema de bundling do Merb 1.0.6 será portado, o poderoso router do Merb, entre outras features. Em termos de sintaxe, existem casos em que uma nova API será construída, e, casos em que a sintaxe do Rails prevalecerá. Isto é porquê não existem motivos para quebrar compatibilidade com o Rails 2, simplesmente por quebrar. Isso não quer dizer que não poderão ser feitas grandes mudanças no código. O próprio DHH disse que o Rails 3 terá muitas partes imcompatíveis com o Rails 2, porém, somente se existirem boas razões para tal. E o core team do Merb disse que encontrarão muitas boas razões para isso. :)
Porquê não usar o Merb como base ao invés do Rails?
Isto foi muito discutido entre os dois times, porém, a estabilidade comprovado por anos do código do Rails venceu. No final das contas, isso não interessa muito, visto que o rails-core terá muito código do merb-core.
1 comentário »
Publicado em: 18/12/2008 |
Autor: Arthur Zapparoli |
Categoria: Atualizações
Continuando o ciclo de releases semanais, essa semana saiu o Merb 1.0.5. Porém, pequenos bugs neste release, forçaram o lançamento do 1.0.6 momentos depois.
Esta nova versão inclui diversos bug fixes e um sistema de bundling totalmente novo. Confira o anúncio de Yehuda Katz para uma lista detalhada das mudanças.
O novo bundler é bem mais poderoso que o anterior, confira mais detalhes neste screencast de Carl Lerche.
Deixe um comentário »
Publicado em: 09/12/2008 |
Autor: Arthur Zapparoli |
Categoria: Atualizações
Foi lançada ontem a versão 1.0.4 do Merb. Confira a lista de bug fixes no anúncio do Yeahuda Katz.
A versão 1.0.5 deverá ser lançada na próxima segunda e tem como foco, melhorar o sistema de dependências.
Deixe um comentário »
Publicado em: 09/12/2008 |
Autor: PotHix |
Categoria: Geral
O Satish Talim anunciou no seu blog que o estão abertas as inscrições para o novo curso de introdução ao Merb!
O curso vai seguir o padrão dos cursos do Rubylearning e terá os seguintes tópicos:
- Instalação
- Instalação do Merb
- Instalação do SQLite
- Instalando o driver do banco de dados e permitindo ao DataMapper se conectar ao SQLite
- Instalação do Mongrel
- Merb Interativo
- Roteamento
- Usando Erubis
- Desenvolvendo uma aplicação simples
- Callable tasks
- Gerando um controller
- Gerando um Model
- Fazendo relacionamentos
- Helpers
- CRUD
- Partials
- Exercícios
- merb-auth
- Um mini projeto
O curso terá início no dia 10 de janeiro e terá duração de 2 semanas.
Para participar é só se registrar no site e pagar um valor simbólico de US$ 10 ( se você for rápido ainda consegue por US$ 8 ), que vale muito a pena pelo conteúdo do curso, e pelo pessoal que você conhece por lá.
Não se preocupe tanto com seu inglês, desde que você consiga ler bem você consegue participar legal do curso e aproveitar bastante! =)
Até o momento já temos mais de 40 pessoas inscritas no curso!
Se alguem tiver problemas pode me contactar que estarei por lá e ajudo no que for possível!
Deixe um comentário »
Publicado em: 05/12/2008 |
Autor: Arthur Zapparoli |
Categoria: Documentação
Matt Aimonetti postou em seu site que o Core Team está começando a escrever um livro Open Source sobre Merb. Nos mesmos moldes do Livro de Django: escrito pela comunidade, para a comunidade.
E ele pede que desenvolvedores que usam outro idioma, trabalhem em cima de traduções. É claro que nós da comunidade Merb Brasil não podemos ficar de fora dessa! :)
O Matt delegou o Akita como líder da tradução para o português. Aqueles que querem ajudar na tradução do livro, comecem fazendo um fork do Akita.
E não podemos esquecer do nosso Wiki que também precisa de uma ajuda nas traduções. Já temos algum conteúdo traduzido, e quem quer ajudar, poderia começar traduzindo as páginas que estão em falta.
1 comentário »
Publicado em: 27/11/2008 |
Autor: Dirceu Pauka Jr. |
Categoria: Artigos
Nanite, projeto novo da EngineYard é um grande avanço em como aplicações Web são criadas hoje em dia. Ele parece ter surgido como protótipo do Vertebra mas adicionou muito know-how para o pessoal da EngineYard.
Já faz algum tempo que o Merb, o framework Ruby desenvolvido por uma equipe comandada por Ezra Zygmuntowicz fez algumas tomadas de decisão que vão de acordo com o pensamento expressado no Nanite e no Vertebra.
Segue uma tradução da lista apresentada nesse artigo.
- Quando um servidor Merb é iniciado e tenta utilizar alguma porta já utilizada, ele não quebra mais. Em vez disso, ele aguarda cada porta ficar disponível e então a utiliza. Como resultado, você pode iniciar um novo processo Merb e então matar graciosamente o processo antigo. Isso faz com que restartar *clusters* de merbs se torne muito menos complicado, e praticamente sem downtime.
- A funcionalidade de cluster do Merb foi reescrita para aproveitar o Ruby Enterprise Edition, que torna muito mais fácil compartilhar memoria entre workers em um cluster de Merb. Usar o Ruby Enterprise com Merb 1.0 deve economizar os mesmos 30% de memoria que é possível economizar com Phusion Passenger.
- Clusters de Merb são agora controlados por um master process que pode ser comandado para matar todos os worker process ou recarregar todo o código da aplicação (mas não o init.rb ou gems).
- Enviando um INT para o processo principal (diretamente ou via `merb -K all`) diz para cada worker se fechar graciosamente.
- Com um HUP para o processo principal faz com que todos worker processes se fechem e iniciem outro processo com código de aplicação novo evitando a necessidade de recarregar o código do Merb, das gems e do init.rb. Ou seja: reinicialização muito mais rápida que antes. Isso utiliza a mesma base de código que o recarregamento de código no ambiente de desenvolvimento, que agora foi feito para ser infalível.
- Matando um worker process (tanto por INT, que é mais atrativo, ou KILL que não é) vai fazer com que um novo processo seja aberto instantaneamente. E é instantaneamente mesmo, uma vez que nenhum código precisa ser recarregado (o spawner process somente faz uma copia dele mesmo e depois começa a utilizar uma porta).
Todos essas melhorias são só o começo de muitas outras melhorias que tornam o esquema de master process do Merb ainda mais poderoso e inteligente.
Um fato importante para manter em mente é que o Merb foi significantemente refinado para o uso com o Ruby Enterprise, então com o Ruby normal deve se ter um overhead no processo principal. Todas essas modificações funcionam com o Ruby padrão, mas você irá ter muito mais memoria livre em um cluster de Merb utilizando Ruby Enterprise.
Lembrem-se dos últimos aprendizados compartilhados pela EngineYard: se você vai rodar vários pequenos sites, é melhor Phusion Passenger. Se você terá uma grande aplicação com muitos requests, prefira um cluster. Eu recomendo um cluster de Thin.
O mesmo vale para Ruby on Rails, mas nada é melhor que um cluster de Merb com Thin :)
Deixe um comentário »
Publicado em: 25/11/2008 |
Autor: Nando Vieira |
Categoria: Atualizações
A versão 1.0.2 nem acabou de ser lançada e já saiu a versão 1.0.3. Esta versão corrige alguns bugs e disponibiliza um método bastante interessante chamado “run_later” para toda a aplicação (antes era disponível apenas para controllers). Este método captura um bloco e dispara uma thread que irá executá-lo em background.
Se você teve problemas com ActiveRecord e Rails, que não conseguia carregar o SQLite, aproveite e atualize o DataMapper, pois este bug também foi corrigido!
Deixe um comentário »
Publicado em: 25/11/2008 |
Autor: Arthur Zapparoli |
Categoria: Atualizações
Foi lançado hoje a versão 1.0.2 do Merb. Essa versão não traz nenhuma novidade, sendo apenas para corrigir alguns pequenos bugs.
Deixe um comentário »
Publicado em: 23/11/2008 |
Autor: Arthur Zapparoli |
Categoria: Tutoriais
> No começo do mês foi lançada a versão 1.0 do Merb. Esta versão trouxe a facilidade de instalação que faltava nas versões anteriores, permitindo configurar o ambiente de maneira bastante simples. Merb é um framework web para Ruby totalmente agnóstico. Você escolher o seu ORM de preferência, seu framework de testes, bibliotecas Javascript. Totalmente modular, permite carregar somente o que será necessário para criar sua aplicação. Eu já tinha tentado escrever sobre ele em ocasiões anteriores, sem sucesso. Agora, resolvi colocar a coisa para funcionar e, para minha surpresa, foi mais simples do que eu esperava, como você pode conferir.
O [Nando Vieira](http://simplesideias.com.br) escreveu um [ótimo tutorial em seu blog](http://simplesideias.com.br/criando-seu-primeiro-projeto-com-merb-e-datamapper/) ensinando a criar uma [Agenda de Contatos](http://github.com/fnando/merb-contacts-app) usando [Merb](http://merbivore.com) e [DataMapper](http://datamapper.org). Vale a pena conferir!
1 comentário »
Publicado em: 23/11/2008 |
Autor: Arthur Zapparoli |
Categoria: Geral
Seja bem-vindo à comunidade brasileira de usuários [Merb](http://merbivore.com).
O objetivo desse site é conhecer, divulgar e debater assuntos relacionados ao framework [Merb](http://merbivore.com).
Se você tem interesse em contribuir, aprender ou conhecer mais sobre este framework, está no lugar certo. Porém, como estamos começando, precisamos de sua ajuda para contribuir com conteúdos. Podem ser tutoriais, artigos, tradução do Wiki oficial ou até mesmo postando dúvidas.
Vamos fazer a comunidade crescer!
1 comentário »
Comentários recentes