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 RubyDay 2015
Search
Luca Guidi
November 13, 2015
Programming
960
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Lotus RubyDay 2015
Luca Guidi
November 13, 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 For Rails Developers
jodosha
2
340
Lotus - Brighton Ruby 2015
jodosha
3
910
Lotus
jodosha
8
570
A Rails Criticism
jodosha
4
1.7k
Other Decks in Programming
See All in Programming
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
4
960
symfony/aiとlaravel/boost
77web
0
110
Creating Composable Callables in Contemporary C++
rollbear
0
180
Lessons from Spec-Driven Development
simas
PRO
0
240
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
1k
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
SREは、MCPとSRE Agentをこう使え!
kazumax55
0
130
act1-costs.pdf
sumedhbala
0
150
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.9k
AI時代のUIはどこへ行く?その2!
yusukebe
22
7.7k
The Bowling Game- From Imperative to Functional Programming - Part 1
philipschwarz
PRO
0
210
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
820
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
225
10k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Fireside Chat
paigeccino
42
4k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Crafting Experiences
bethany
1
200
A Modern Web Designer's Workflow
chriscoyier
698
190k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Believing is Seeing
oripsolob
1
160
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
410
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Practical Orchestrator
shlominoach
191
11k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
410
Transcript
Lotus & The Future Of Ruby @jodosha / #lotusrb
None
None
None
None
The future of Ruby
Will Ruby die?
None
None
Programming Languages Rank 0% 0,75% 1,5% 2,25% 3% Ruby Erlang
Haskell Go Rust Elixir Clojure Source: TIOBE
Let’s imagine the future
The future is polyglot
Modern system languages are more developer friendly than C/C++
Maintenance costs for infrastructure will be less and less relevant
Ruby isn’t used anymore for components that require improved performances
Web applications will still use Ruby
Ruby is here to stay
Ruby is desperately trying to catch these new languages’ features,
but this is a mistake
“We can’t make promises” - Matz
We need to find a new sense of purpose for
Ruby
Ruby has to become the first-class solution for a well
defined set of problems
Let’s have a look at the present
Homebrew
None
None
Thanks to a beautiful DSL, Homebrew has become a successful
project with ~4000 formulæ
ORMs
None
Sonic Pi
None
Thanks to its expressiveness, Ruby can build bridges that reach
complex systems
Docker uses raw BASH commands
None
MRuby
None
Let’s talk about humans
Like a natural language, a programming language is dead without
people using it
Kids creating music with Sonic PI Credit: sonic-pi.net
Kids playing with “Hello Ruby” Credit: helloruby.com
People learning Ruby & web development Credit: railsgirls.com
Ruby can be an entry point for life changing careers
I hope that the Ruby Community of the future will
be a safe place where everyone can feel welcome
We should improve Ruby ecosystem in order to attract experienced
engineers from other languages
Web
Why not Rails?
None
None
None
Lotus Philosophy
Lightweight
Features as of v0.5.0 • 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 • Mailers • 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..
0 17,5 35 52,5 70 Ruby Rack Sinatra Lotus Rails
Dependencies Memory
On average, we use only a fraction of the features
that a gem provides.
Lotus depends on a few gems. You can be sure
that all the loaded code is useful for your application.
A complete framework
Lotus goes beyond “Flat-MVC” by providing a set of collaborators
for “Full-MVC”.
Future plans
Lotus::Assets • Helpers • Third Party Gems • Preprocessors •
Deployment
“Today’s good practices are HTTP/2 antipatterns” - Ilya Grigorik
Experimental HTTP/2 support
None
None
GitHub: jodosha/panther jodosha/instants
http://lotusrb.org/hackday
http://lotusrb.org/mailing-list Subscribe to the mailing list at:
http://lotusrb.org
http://lucaguidi.com
Q&A
https://speakerdeck.com/jodosha/ lotus-rubyday-2015 Slides available at:
Thank you
Credits Ruby picture by Orbital Joe https://flic.kr/p/79UqQM