Świąteczny prezent przygotowali nam deweloperzy frameworków Ruby on Rails i Merb. Projekty te połączą się w jeden wraz z wydaniem RoR 3.0 w 2009 roku. Optymalizacje i rozszerzenia Merba zostaną przeportowane do Rails.
W open source zwykle słyszymy o forkach, ale tym razem wiadomość jest zgoła inna.
Ezra Zygmuntowicz stworzył Merba dwa lata temu jako lekką alternatywę dla Rails. Z czasem projekt zaczął się rozrastać, a oba projekty zaczęły dzielić ze sobą coraz więcej kodu. Deweloperzy obu szkieletów programistycznych doszli do wniosku, że razem zdziałają więcej niż osobno i że nie ma sensu powielać prac, gdy można działać razem.
Istotą połączenia będzie przeniesienie części funkcji z Merba do Rails. Nie będzie całkowitego przepisania kodu, a raczej spokojne wdrażanie zmian i ulepszanie tego co w Rails nie jest idealne.
- Rdzeń Rails pozostanie, jednak programiści połączonych projektów postarają się umożliwić uruchamianie go w uszczuplonej wersji, bez funkcjonalności, których nie potrzebują.
- Optymalizacje wydajności z Merb zostaną przeportowane do Rails.
- Rails stanie się bardziej agnostyczne pod względem wyboru (narzucania użytkownikowi) technologii. W każdym polu pozostaną wprawdzie technologie domyślne (jak Active Record), ale łatwe będzie wymienienie ich na odpowiedniki preferowane przez programistę (jak Sequel/Data do mapowania obiektowo-relacyjnego Mapper czy jQuery dla Ajaksa).
- Nastąpi powrót do idei rygorystycznego API. Zbyt wiele wtyczek przestaje działać po aktualizacji, co jest wynikiem słabego zaakcentowania które części API Rails są stabilne, a które mogą być w najbliższej przyszłości modyfikowane. Samo Rails 3 nie będzie kompatybilne wstecz, ale deweloperzy postarają się ułatwić migrację tak bardzo jak to tylko ma sens.
Informacje na temat połączenia możemy znaleźć na specjalnej stronie rubyonrails.org/merb.