Merb e Rails si uniscono in Rails 3.0

merbrails.jpg

Queste sono di quelle notizie che a noi programmatori ci rendo più felici e contenti, soprattutto a Natale.

Infatti da poche ore ed in contemporanea i rispettivi blog di rails e di merb hanno riportato una notizia importantissima:

Rails e Merb si uniscono in Rails 3.0.

Ma questo cosa comporterà? Grandi e ottimi cambiamenti già discussi da parecchio tempo dal sottoscritto con David Heinemeier Hansson

  1. Rails Core (simile a merb-core)
  2. Framework Agnostic
  3. Ottimizzazione delle performance
  4. Api ben documentate

Ma questo cosa significa realmente?


Rails Core

Rails, un pò come per merb sarà molto più modulabile ovvero ci sarà il Core, in termini pratici significa che se vogliamo avere tutto avremmo tutto (helper, orm etc..) ma se invece necessiteremo di una small app come ad esempio un webservice potremmo farlo senza problema alcuno ex:
rails-gen --flat rails-gen --very-flat

Framework Agnostic

Con David ci saremmo scritti decine e decine di mail al riguardo, odio con tutto il mio cuore il fatto che Rails involontariamente ti obbliga ad usare diversi framework:
  1. Test Unit (per i test)
  2. Prototype/Scriptaculous (per i javascripts)
  3. ActiveRecord (come orm)
  4. Erb (come template engine)

Lo so che anche ora si possono cambiare, ma richiede tempo e plugin di terze parti il che non è bello.

Pensate al poter generare una rails app così:

rails-gen myapp --template-engine haml --orm none --test rspec

Ottimizzazione delle performance

Questa è stata una lunga diatriba, David ha sempre sostenuto che Rails è lento e dispendioso (in termini di ram) perché è Ruby stesso ad esserlo, ma dapprima Sinatra e poi appunto Merb hanno dimostrato che è Rails a non sfruttare appieno le potenzialità di Ruby.
Personalmente noi come società per gestire 130/150 siti abbiamo bisogno di un Server con processore Xeon e ben dico ben 16GB di Ram!

Api ben documentate

Troppo spesso ormai quando viene aggiornato Rails i nostri "plugin" smettono di funzionare, questo perché non sempre ci è chiaro quale cambiamento ha bloccato il nostro plugin e così iniziamo a fare pach su patch... il che non è bello.

Ma quando potremmo avere Rails 3.0 tra le mani? Presto, dapprima avremmo Rails 2.3 nel mese di gennaio (che porta diverse fatures interssanti come il templating) mentre Rails 3.0 è atteso in Beta per marzo/aprile.

Ottima notizia no?

Inviato da Davide D'Agostino il December 24, 2008 10:52


Datamapper 0.9.0.1

200805271238.jpg

Apprendo solo ora che è stato rilasciata la nuova versione di DataMapper, questa nuova build è bastata sul codice della 0.9, ma sono stati fatti grossi miglioramenti riguardo:

  1. performance
  2. refactoring
  3. supporto per più di un database "data-store"

Sinceramente ho usato pochissimo DM e ha iniziato a incuriosirmi in quanto i Merber ne fanno largo uso.

Ad essere onesti la versione direttamente precedente alla 0.9, la 0.3 non mi piaceva affatto (nonostante fosse già thread safe) per svariati motivi, quali esempio lungaggini per scrivere un has_many :through, oppure le migrazioni... che non esistevano e rendeva odioso aggiungere e rimuovere colonne...

Ma questa 0.9 inizia a diventare un buon concorrente di ActiveRecord

Vi ricordo che le build 0.9.* sono si stabili e pronte per gli ambienti di produzione, ma sono comunque pre-relase della 1.0

Vi ricordo in fine, che non è retro-compatibile con la 0.3 quindi date un occhio alla comparazione: http://datamapper.org/articles/datamapper_090_released.html

Inviato da Davide D'Agostino il May 27, 2008 08:55