Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Lotus Brighton Ruby 2015 @jodosha / #lotusrb
Slide 2
Slide 2 text
The future of Ruby
Slide 3
Slide 3 text
New good languages at the horizon
Slide 4
Slide 4 text
The future is polyglot
Slide 5
Slide 5 text
Ruby has no (real) plans for the future
Slide 6
Slide 6 text
We should welcome new engineers
Slide 7
Slide 7 text
We need to define a good selling feature
Slide 8
Slide 8 text
Rails doesn’t have a Community agenda
Slide 9
Slide 9 text
Flat MVC Eternal productivity Dependency hell
Slide 10
Slide 10 text
Lotus
Slide 11
Slide 11 text
Code Scalability
Slide 12
Slide 12 text
From small HTTP endpoints..
Slide 13
Slide 13 text
require 'bundler/setup' require 'lotus/router' run Lotus::Router.new { get '/', to: ->(env) { [200,{},['Hi']] } }
Slide 14
Slide 14 text
..to multiple apps in the same Ruby process
Slide 15
Slide 15 text
No content
Slide 16
Slide 16 text
No content
Slide 17
Slide 17 text
Modular First ™
Slide 18
Slide 18 text
Lotus focuses on maintenance
Slide 19
Slide 19 text
Explicit is better than magic
Slide 20
Slide 20 text
Eat Your Veggies Driven Development ™
Slide 21
Slide 21 text
EYVDD ™
Slide 22
Slide 22 text
0 17,5 35 52,5 70 Ruby Rack Sinatra Lotus Rails Dependencies Memory
Slide 23
Slide 23 text
Features • Thread-safety • Full featured HTTP router • RESTful resources • Actions and views as objects • Actions callbacks • Code sharing • Exception handling • Sessions • Secure Cookies • HTTP Caching • Automatic MIME Types • 20+ Template engines • Partials and layouts • Presenters • Routing helpers • Form helpers • HTML helpers • Automatic markup escape • CSRF and XSS prevention • Force SSL • Entities • Repositories • Data Mapper • SQL and Memory adapters • Dirty Tracking • Reusable validations • Multiple environments • Static assets • JSON body parser • Params whitelisting and validation • Code generators • Rack servers support • Application console • Database console • Powerful CLI • Migrations • RSpec, Minitest and Capybara support • Several architectures • And more..
Slide 24
Slide 24 text
Future plans
Slide 25
Slide 25 text
Lotus v0.5.0 - Sep 23 • WebSocket • Associations • Mailers • Experimental code reloading • Assets
Slide 26
Slide 26 text
”Today’s good practices are HTTP/2 anti patterns” Ilya Grigorik
Slide 27
Slide 27 text
Experimental HTTP/2 support
Slide 28
Slide 28 text
No content
Slide 29
Slide 29 text
No content
Slide 30
Slide 30 text
GitHub: jodosha/panther jodosha/instants
Slide 31
Slide 31 text
http://lotusrb.org
Slide 32
Slide 32 text
Thank you
Slide 33
Slide 33 text
Credits Ruby picture by Orbital Joe https://flic.kr/p/79UqQM