Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Lotus - Brighton Ruby 2015
Search
Luca Guidi
July 20, 2015
Programming
920
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Lotus - Brighton Ruby 2015
http://brightonruby.com/
Luca Guidi
July 20, 2015
More Decks by Luca Guidi
See All by Luca Guidi
Functional Web with Hanami
jodosha
4
450
Lessons Learned While Building Hanami
jodosha
4
1.2k
Lotus RubyDay 2015
jodosha
2
960
Lotus For Rails Developers
jodosha
2
340
Lotus
jodosha
8
570
A Rails Criticism
jodosha
4
1.7k
Other Decks in Programming
See All in Programming
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
490
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
0
540
AIが無かった頃の素敵な出会いの話
codmoninc
1
280
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
180
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
110
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
160
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
340
AIエージェントで 変わるAndroid開発環境
takahirom
2
740
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
450
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
490
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
3.3k
Built Our Own Background Agent at LayerX #aidevex_findy
layerx
PRO
9
3.8k
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
エンジニアに許された特別な時間の終わり
watany
108
250k
The Curious Case for Waylosing
cassininazir
1
440
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
980
So, you think you're a good person
axbom
PRO
2
2.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.7k
Practical Orchestrator
shlominoach
191
11k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Discover your Explorer Soul
emna__ayadi
2
1.2k
How to make the Groovebox
asonas
2
2.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
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