ActiveRecord hat mittlerweile auch eine Unterstützung
ORM tauschen ist mit Padrino genauso schwer wie bei Rails
Bei echten Projekten tauscht man nicht einfach mal so das DB-Backend, ORM hin oder her
Padrino macht es auch nicht einfacher, gibt einem aber von Anfang die Info, dass es mehr
als ein gibt
Doku bei Rails sehr monolitisch, bei Padrino für jede Komponente eine eigene, unabhängige Doku
Der Austausch von ActiveRecord ist wegen ActiveModel sehr leicht geworden
Sehr viele ORMs und Form-Helper nutzen sehr viel ActiveModel
Padrino benutzt ActiveSupport
Allerdings sehr wenig by default
Zwischenfazit: Der Entwickler wird bei Padrino eher gezwungen sich mit Komponenten und Entscheidungen
kritisch zu beschäftigen
Padrino bietet besser dokumentierte APIs um Komponenten einzuschieben
Rails 2 Zeiten - reden wir nicht drüber
Immer noch Altlasten, z.B.: viele Möglichkeiten aus dem Controller zu rendern
Rails ist einfach gute Konkurrenz ;-)
Rails ist schon ein sehr mächtiges Werkzeug
Als Rails-Entwickler kann man sich gut von Padrino inspirieren lassen
Basti ist beeindruckt vom Merb-Rails Merge (http://rubyonrails.org/merb)
Software Engineering
Bezug "How do we stop our Rails apps from being so horrible when they grow up?" (http://bit.ly/VFtzUI)
Alles unter dem Controller ist für Dirk immer noch ein sehr schwieriges Thema
Kann Padrino da unterstützen? Durch Aufklärung?
Bei Padrino ist der Tipp: Schnell raus aus dem Controller
Ein Webframework sollte vor allem den Web-Teil richtig machen
Bei allem danach hört die Unterstützung schnell auf
DCI (Data, context and interaction)
Flo arbeitet gerade einem Projekt mit Delegates ähnlich wie in Objective-C: Funktioniert super.
Dependency Injection ist eigentlich nur die richtigen Objekte an die richtige Stelle schieben
DI muss nicht Spring mit XML sein
Geht in Ruby viel einfacher
Geht auch in Java viel einfacher: Google Guice (https://code.google.com/p/google-guice/)
"Am Ende trennt sich bei diesen Themen einfach die Spreu vom Weizen"
ActiveRecord führt einen aber vielleicht zu weit in einen falsche Richtung
Allerdings: Nie wieder ohne ORM
Anemic Domain Model von Martin Fowler (http://martinfowler.com/bliki/AnemicDomainModel.html)
Ist ein Anti-Pattern
Sieht aus wie ein Domain-Model, aber:
Models halten nur Daten
Verhalten lebt in einem prozeduralen Service-Layer
Lösung sind dann "richtige" Domain-Models (http://martinfowler.com/eaaCatalog/domainModel.html) und
"richtige" Service-Layer (http://martinfowler.com/eaaCatalog/serviceLayer.html)
Basti hat bisher noch nie davon gehört
Flo hat P of EAA nur überflogen aber Refactoring gefressen
Wichtigste Erkenntnis: Feature Hut ODER Refactoring Hut NIEMALS beides!
Die Zwei Stacks von Rails (http://words.steveklabnik.com/rails-has-two-default-stacks)
Omakase (http://en.wikipedia.org/wiki/Omakase) vs. Prime (http://en.wikipedia.org/wiki/Prime_(symbol)#Use_in_mathematics.2C_statistics.2C_and_science)