Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Lotus - Brighton Ruby 2015
Search
Luca Guidi
July 20, 2015
Programming
940
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
460
Lessons Learned While Building Hanami
jodosha
4
1.2k
Lotus RubyDay 2015
jodosha
2
970
Lotus For Rails Developers
jodosha
2
350
Lotus
jodosha
8
590
A Rails Criticism
jodosha
4
1.8k
Other Decks in Programming
See All in Programming
SODA - FACT BOOK(JP)
sodainc
1
40k
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
3
1.7k
ActionController meets Protocol Buffers
sorah
1
770
AI時代のシニアエンジニアとは
yosuke_furukawa
PRO
14
11k
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
1.2k
Goコンパイラを作ってGoをもっと理解する / Build a Go compiler to better understand Go
ikura_hamu
0
110
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
1
250
LLM 101
dalinaum
0
450
No More NoSuchMethodError
exoego
1
120
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
350
あなたの await、OS まで届いてる? strace で覗く JavaScript の非同期
hasutosasaki
1
1.8k
Materialが消えた日 〜真っ白なFlutterキャンバスにRenderObjectで絵を描く〜
umigishiaoi
0
140
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1.1k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
670
Odyssey Design
rkendrick25
PRO
2
920
Utilizing Notion as your number one productivity tool
mfonobong
4
640
Balancing Empowerment & Direction
lara
6
1.4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Git: the NoSQL Database
bkeepers
PRO
433
67k
So, you think you're a good person
axbom
PRO
2
2.2k
sira's awesome portfolio website redesign presentation
elsirapls
0
490
What's in a price? How to price your products and services
michaelherold
247
13k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
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