evolution of rails
TRANSCRIPT
![Page 1: Evolution of Rails](https://reader034.vdocuments.us/reader034/viewer/2022052523/55593073d8b42a4f3d8b4906/html5/thumbnails/1.jpg)
Evolution of Rails
Lakshan Perera
LK Ruby User Group – September 2009
![Page 2: Evolution of Rails](https://reader034.vdocuments.us/reader034/viewer/2022052523/55593073d8b42a4f3d8b4906/html5/thumbnails/2.jpg)
![Page 3: Evolution of Rails](https://reader034.vdocuments.us/reader034/viewer/2022052523/55593073d8b42a4f3d8b4906/html5/thumbnails/3.jpg)
Ruby is not Rails!But, Rails is Ruby...
![Page 4: Evolution of Rails](https://reader034.vdocuments.us/reader034/viewer/2022052523/55593073d8b42a4f3d8b4906/html5/thumbnails/4.jpg)
![Page 5: Evolution of Rails](https://reader034.vdocuments.us/reader034/viewer/2022052523/55593073d8b42a4f3d8b4906/html5/thumbnails/5.jpg)
M I N S W A N(Matz is nice, so we are nice)
![Page 6: Evolution of Rails](https://reader034.vdocuments.us/reader034/viewer/2022052523/55593073d8b42a4f3d8b4906/html5/thumbnails/6.jpg)
![Page 7: Evolution of Rails](https://reader034.vdocuments.us/reader034/viewer/2022052523/55593073d8b42a4f3d8b4906/html5/thumbnails/7.jpg)
The journey of 5 years...
![Page 8: Evolution of Rails](https://reader034.vdocuments.us/reader034/viewer/2022052523/55593073d8b42a4f3d8b4906/html5/thumbnails/8.jpg)
“Build your blog in 15 minutes” Era
A Danish boy becomes a hacker.
A Design agency becomes an application company.
Convention over Configuration
DRY principle
![Page 9: Evolution of Rails](https://reader034.vdocuments.us/reader034/viewer/2022052523/55593073d8b42a4f3d8b4906/html5/thumbnails/9.jpg)
“Rails can't scale” Era
(Phusion Passenger, Message Queues, MemCache and etc)
![Page 10: Evolution of Rails](https://reader034.vdocuments.us/reader034/viewer/2022052523/55593073d8b42a4f3d8b4906/html5/thumbnails/10.jpg)
“Rails is a Ghetto” Era(Rise of Merb)
![Page 11: Evolution of Rails](https://reader034.vdocuments.us/reader034/viewer/2022052523/55593073d8b42a4f3d8b4906/html5/thumbnails/11.jpg)
If Rails is a Ghetto, Merb is its' whorehouse
![Page 12: Evolution of Rails](https://reader034.vdocuments.us/reader034/viewer/2022052523/55593073d8b42a4f3d8b4906/html5/thumbnails/12.jpg)
The Great Reunion!
![Page 13: Evolution of Rails](https://reader034.vdocuments.us/reader034/viewer/2022052523/55593073d8b42a4f3d8b4906/html5/thumbnails/13.jpg)
Rails == Magic ?No! It is pure Ruby...
![Page 14: Evolution of Rails](https://reader034.vdocuments.us/reader034/viewer/2022052523/55593073d8b42a4f3d8b4906/html5/thumbnails/14.jpg)
Metaprogramming
- Module.class_eval- Object.instance_eval, - Kernel.eval
![Page 15: Evolution of Rails](https://reader034.vdocuments.us/reader034/viewer/2022052523/55593073d8b42a4f3d8b4906/html5/thumbnails/15.jpg)
Blocks/Lambdas
![Page 16: Evolution of Rails](https://reader034.vdocuments.us/reader034/viewer/2022052523/55593073d8b42a4f3d8b4906/html5/thumbnails/16.jpg)
Symbols & Nice Literals
![Page 17: Evolution of Rails](https://reader034.vdocuments.us/reader034/viewer/2022052523/55593073d8b42a4f3d8b4906/html5/thumbnails/17.jpg)
Rack
Rack provides a minimal interfacebetween web servers supporting Ruby and Ruby frameworks.
Cool Middlewares : Rack-Bug, Authentication (Warden), CloudKit
![Page 18: Evolution of Rails](https://reader034.vdocuments.us/reader034/viewer/2022052523/55593073d8b42a4f3d8b4906/html5/thumbnails/18.jpg)
The Future Rails 3
- Better Modularity
- Framework Agnostic
- Public API (No Monkeypatching)
![Page 19: Evolution of Rails](https://reader034.vdocuments.us/reader034/viewer/2022052523/55593073d8b42a4f3d8b4906/html5/thumbnails/19.jpg)
Easy Responders(Inherited Resources)
![Page 20: Evolution of Rails](https://reader034.vdocuments.us/reader034/viewer/2022052523/55593073d8b42a4f3d8b4906/html5/thumbnails/20.jpg)
ActiveModel
![Page 21: Evolution of Rails](https://reader034.vdocuments.us/reader034/viewer/2022052523/55593073d8b42a4f3d8b4906/html5/thumbnails/21.jpg)
Sneak Peak LightRecord
![Page 22: Evolution of Rails](https://reader034.vdocuments.us/reader034/viewer/2022052523/55593073d8b42a4f3d8b4906/html5/thumbnails/22.jpg)
![Page 23: Evolution of Rails](https://reader034.vdocuments.us/reader034/viewer/2022052523/55593073d8b42a4f3d8b4906/html5/thumbnails/23.jpg)
ORM for key-value stores
Supports any key-value store that has a Moneta interface.(e.g. MongoDB, CouchDB, TokyoCabinet, Redis, Hash)
ActiveModel Compatible
Includes Validations, Callbacks, State Machines, Timestamps
Basic Container Associations (similar to Has Many relationship)
Released Soon!
![Page 24: Evolution of Rails](https://reader034.vdocuments.us/reader034/viewer/2022052523/55593073d8b42a4f3d8b4906/html5/thumbnails/24.jpg)
Questions ?