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
The brief seeds of Padrino
Search
aereal
December 10, 2011
Technology
3
650
The brief seeds of Padrino
at 2011/12/10, Padrino Sabbath in Kyoto
aereal
December 10, 2011
Tweet
Share
More Decks by aereal
See All by aereal
好きな技術《コト》で、 生きていく技術 / life with what you like
aereal
5
1.6k
qron: Cloud Native Cron Alternativeの今
aereal
2
1.6k
自動作曲入門 / introduction to programatic music composition
aereal
1
530k
はてなブログ タグとCDK / The epic of AWS CDK and Hatena Blog Tag
aereal
3
200k
はてなブログ タグの技術選択 / The technical details of Hatena Blog Tag
aereal
3
190k
ブログサービスのHTTPS化を支えたAWSで作るピタゴラスイッチ / The construction of large scale TLS certificates management system with AWS
aereal
3
390k
AWSではてなブログの常時HTTPS配信をバーンとやる話 / The Epic of migration from HTTP to HTTPS on Hatena Blog with AWS
aereal
14
17k
ScalaとPerlでMicroservices in production / Building microservices with Perl and Scala in production
aereal
0
5.2k
Scalaで自動作曲の練習 / A study of automatic composition in Scala
aereal
1
390k
Other Decks in Technology
See All in Technology
物流のデータモデルを探求する深遠な旅の軌跡
kenshiro382
1
180
240524「開発生産性を、もっと誇れる組織へ」という方針を 9ヶ月前に掲げたCTOの振り返り
msykd
PRO
0
440
Databricksにおける生成AIの取り組み
taka_aki
1
150
Oracle Database 23ai Overview
oracle4engineer
PRO
0
310
HeadlessなUIライブラリを利用する価値
plaidtech
PRO
10
2.7k
Goのライブラリのバグを見つけてから直すまで layerx.go#0
tomoaki25
5
300
SRECon 2024 Keynote: Is It Already Time To Version Observability? (Signs Point To Yes)
charity
2
130
From here to resilience - a travel guide
ufried
1
230
GoのWebプロダクトに途中参加するときのキャッチアップ #layerxgo / How to catch up Go web product
budougumi0617
6
510
静的解析ツールの刷新に向けた取り組み
suginao
1
150
ErrorBoundaryとSuspenseの導入検討
rakus_fe
0
160
Go初心者が開発やってみた!
azunyan
1
370
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
76
5.3k
Practical Orchestrator
shlominoach
183
9.8k
Optimizing for Happiness
mojombo
372
69k
The Power of CSS Pseudo Elements
geoffreycrofte
62
5.1k
Web development in the modern age
philhawksworth
203
10k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
Adopting Sorbet at Scale
ufuk
69
8.7k
Building a Modern Day E-commerce SEO Strategy
aleyda
22
6.5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
242
1.2M
Writing Fast Ruby
sferik
623
60k
Making the Leap to Tech Lead
cromwellryan
125
8.6k
What's new in Ruby 2.0
geeforr
338
31k
Transcript
THE BRIEF SEEDS OF PADRINO by @aereal, at Padrino Sabbath
in Kyoto
WHO AM I? @aereal id:aereal GitHub: aereal Undergraduate student majoring
(Cognitive) Psychology Part-time (Rails) engineer at Happy Elements K.K. see also: kerare.org/
WORKS Padrino::Validation::HTML5 Add supports HTML5 form validations to Padrino github.com/aereal/padrino-validation-html5
Hated mocking server which can be utilized for Hatena Diary github.com/aereal/hated
TABLE OF CONTENTS The essentials of developing a Web Application
The History of Web Application Frameworks Padrino and Sinatra Padrino and Rails Padrino and Others
THE ESSENTIALS OF DEVELOPING WEB APPLICATION
THE ESSENTIALS OF DEVELOPING A WEB APP. Fast Compact Portable
FAST? Reading Coding Setting-up Loading Deploying
COMPACT? Application Code Framework Code Dependencies Architecture
PORTABLE? Dependencies Hosting Services Size of Application (and Framework)
“Less is more.” Ludwig Mies van der Rohe (1886-1969)
I MEAN Keep developing a web app: Fast Compact Portable
Then you take a delight in!
THE HISTORY OF WEB APPLICATION FRAMEWORK
History repeats itself
DRY = Don’t Repeat Yourself
We should learn from the History
THE HISTORY OF WEB APP. FRAMEWORK (CGI, Common Gateway Interface)
Full-stack (Minimal) Micro-framework
FULL-STACK FRAMEWORK Rails (Ruby) Django (Python) Catalyst (Perl)
FULL-STACK FRAMEWORK Forms the big cultural sphere Relieves your mind
by hiding what you mind You’ll never know them unless you will
MICRO-FRAMEWORK Sinatra (Ruby) Juno (Python) Mojolicious::Lite, Amon2 (Perl) Loli (!)
-> Miku (!!!) (Haskell) Scalatra (Scala)
MICRO-FRAMEWORK Forms small/open cultural sphere Relieves your mind by showing
what you do You should write/know only what you do
!!! Rails vs. Sinatra !!!
IMAGINE!
ੜଘઓུʙ
SURVIVING STRATEGY Rails doesn’t kill Sinatra Rails doesn’t have small
spin-up Sinatra doesn’t kill Rails Sinatra doesn’t have the order
your_desires << small spin-up your_desires << fast spin-up your_desires <<
the order your_desires << scaling
Padrino.include?(your_desire) # -> true
PADRINO AND SINATRA
PADRINO IS BUFFET
PADRINO IS BUFFET Routing (Named, Multiple Format) Helpers Logger Admin
Apps (like Django) Reloader (It’s smart!) see also: www.padrinorb.com/#introduction
PADRINO IS FXXKIN’ SHIT? Extending Sinatra through Public / Safe
API but Padrino::Routing is like a abyss ... use (Rack Middleware) register (Sinatra Extension)
Sinatra’s World?
THE DOMAIN OF SINATRA = HTTP
KEEP IT LESS No DBs No helpers No anything luxurious
LESS IS NOT IMPOSSIBLE DB / ORM View Helpers You
can use it with Sinatra!
ON THE SINATRA Sinatra discovered potential / real needs Sinatra
built them Specifications beat Conventions
PADRINO AND RAILS
PADRINO AND RAILS Rails is full-stack Padrino can be full-stack
This means you can use Padrino as not full-stack
RAILS IS THE INNOVATOR Discovered many important things Spirit of
DRY, or CoC ActiveRecord, ActiveSupport, etc. Sometimes it makes a detour The innovation involves pains
PADRINO IS THE GODFATHER
PADRINO IS THE GODFATHER He glues the components of Web
Applications Test Frameworks ORM etc. He guards Sinatra’s World
ROUTING Rails config/routes.rb resource[s] (>= 3.0) Padrino & Sinatra HTTP
Verbs (get, post, etc ...)
VIEW Rails ActionView Padrino & Sinatara Tilt (>= 1.0)
HERITAGES Architectures and Spirits MVC DRY Luxuoriousness
CONCLUSIONS Padrino is on the Sinatra’s World Rails’ heritages are
behind Padrino, Sinatra, and Rails should be all in harmony
SEE ALSO Padrino Official Web (www.padrinorb.com) Padrino Official Web (ja)
(jp.padrinorb.com) Padrino on GitHub (github.com/padrino/padrino- framework) Padrino Recipes (github.com/padrino/padrino-recipes) Sinatra The Book (sinatra-book.gittr.com)
SEE ALSO @udzura’s Blog (blog.udzura.jp/) and, my blog :) (aereal.hateblo.jp)