Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Lotus - Brighton Ruby 2015
Luca Guidi
July 20, 2015
Programming
3
640
Lotus - Brighton Ruby 2015
http://brightonruby.com/
Luca Guidi
July 20, 2015
Tweet
Share
More Decks by Luca Guidi
See All by Luca Guidi
jodosha
4
340
jodosha
4
460
jodosha
2
420
jodosha
2
130
jodosha
8
460
jodosha
4
1.1k
Other Decks in Programming
See All in Programming
martysuzuki
1
220
manfredsteyer
PRO
0
230
mihyaeru21
0
350
hassaku63
1
700
kgmyshin
1
440
amaotone
15
7.8k
danilop
1
730
yoshinoriiiii
0
110
pyama86
4
410
lilobase
PRO
1
700
manfredsteyer
PRO
0
120
grapecity_dev
0
170
Featured
See All Featured
lauravandoore
437
28k
destraynor
223
47k
paulrobertlloyd
72
1.4k
hursman
107
9.2k
akmur
252
19k
62gerente
587
200k
mthomps
39
2.3k
philhawksworth
192
8.8k
jeffersonlam
329
15k
jasonvnalue
82
8.1k
chrislema
173
14k
rasmusluckow
318
18k
Transcript
Lotus Brighton Ruby 2015 @jodosha / #lotusrb
The future of Ruby
New good languages at the horizon
The future is polyglot
Ruby has no (real) plans for the future
We should welcome new engineers
We need to define a good selling feature
Rails doesn’t have a Community agenda
Flat MVC Eternal productivity Dependency hell
Lotus
Code Scalability
From small HTTP endpoints..
require 'bundler/setup' require 'lotus/router' run Lotus::Router.new { get '/', to:
->(env) { [200,{},['Hi']] } }
..to multiple apps in the same Ruby process
None
None
Modular First ™
Lotus focuses on maintenance
Explicit is better than magic
Eat Your Veggies Driven Development ™
EYVDD ™
0 17,5 35 52,5 70 Ruby Rack Sinatra Lotus Rails
Dependencies Memory
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..
Future plans
Lotus v0.5.0 - Sep 23 • WebSocket • Associations •
Mailers • Experimental code reloading • Assets
”Today’s good practices are HTTP/2 anti patterns” Ilya Grigorik
Experimental HTTP/2 support
None
None
GitHub: jodosha/panther jodosha/instants
http://lotusrb.org
Thank you
Credits Ruby picture by Orbital Joe https://flic.kr/p/79UqQM