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
700
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
How to send distibuted traces to Datadog using build own OpenTelemetry-Lambda distribution
aereal
3
200
好きな技術《コト》で、 生きていく技術 / life with what you like
aereal
5
2.3k
qron: Cloud Native Cron Alternativeの今
aereal
2
2.1k
自動作曲入門 / 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
200k
ブログサービスのHTTPS化を支えたAWSで作るピタゴラスイッチ / The construction of large scale TLS certificates management system with AWS
aereal
3
400k
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.3k
Other Decks in Technology
See All in Technology
CysharpのOSS群から見るModern C#の現在地
neuecc
1
3.1k
Amazon CloudWatch Network Monitor のススメ
yuki_ink
1
200
スクラムチームを立ち上げる〜チーム開発で得られたもの・得られなかったもの〜
ohnoeight
2
350
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
220
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
680
Evangelismo técnico: ¿qué, cómo y por qué?
trishagee
0
360
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
280
元旅行会社の情シス部員が教えるおすすめなre:Inventへの行き方 / What is the most efficient way to re:Invent
naospon
2
330
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
0
980
いざ、BSC討伐の旅
nikinusu
2
780
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.6k
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
45
6.7k
Faster Mobile Websites
deanohume
305
30k
The Cult of Friendly URLs
andyhume
78
6k
Designing the Hi-DPI Web
ddemaree
280
34k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Code Reviewing Like a Champion
maltzj
520
39k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
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)