
gem install padrino
padrino g project test_app -d datamapper -b
cd test_app
padrino g admin
padrino rake dm:migrate seed
padrino start多くの開発者が Sinatra のシンプルさと表現力に魅力を感じてきました。ですが、少し複雑なアプリケーションを開発しようとすると、 Sinatra には他のフレームワーク(例えば Rails のような)が持っている豊富な機能を欠いている事実に、すぐに気づいてしまいます。
Sinatra 自身は、 Rack の一番上層で動作する薄いレイヤーのようなものです。そして、その「極小の」フレームワークは、ある特定のアプリケーションでのみ必要となるような複雑性を切り捨てることで、軽量さを実現しています── Padrino のゴールは、「シンプルさ」と「モジュール性」という、 Sinatra の「原理」からかけ離れないことです。
この前提から始まって、私たちはもう一つの違ったアプローチにより、ウェブフレームワークを開発しました。私たちは、 Sinatra を拡張し、標準的なヘルパー、コンポーネント、その他の機能群を、複雑で勝手気ままなウェブアプリケーションを開発するにあたって便利であるように追加しました。
Padrino は、以下のような特徴を持った管理画面を提供できます:
| Orm非依存 | datamapper, activerecord, mongomapper, mongoid, すべてに利用可能 |
| 認証 | 認証と、アカウント別の権限をサポート |
| Template非依存 | ErbとHamlのRendererを利用可能 |
| Scaffold | “admin interface” を、単に Model をつくれば作成できます |
| 多言語化 | 現在、 English, German, Italian, 日本語をサポートします |
Example:
$ padrino-gen project cool --orm activerecord $ cd cool $ padrino-gen admin
更なる情報は、 admin guide をご参照ください。
Padrino のコードベースは、シンプルで、理解しやすく、メンテナンスや改善がやりやすいようにできています。新規のプロジェクトジェネレータは、毎回クリーンかつコンパクトなディレクトリ構成を生成し、 あなたの コードをシンプルで洗練されたものにする手助けをしてくれます。
Padrino は、以下の基本的な原則を守るように努めています:
このフレームワークは、 JSON を生成するだけの軽量なウェブ API から、大きなフルスタックのウェブアプリケーションまで、あらゆる規模のプロジェクトに対して、簡単に利用することができます!
Padrino は、 orm, javascript, testing, rendering, mocking のそれぞれについて、交換利用可能な (agnostic な) サポートを提供します。
利用可能なコンポーネントと、各デフォルトは下記のようになっています:
| コンポーネント | デフォルト | オプション |
|---|---|---|
| orm | none | mongomapper, mongoid, activerecord, datamapper, sequel, couchrest |
| script | none | prototype, rightjs, jquery, mootools, extcore |
| renderer | haml | erb, haml |
| test | rspec | bacon, shoulda, cucumber, testspec, riot, rspec |
| stylesheet | none | less, sass |
| mock | none | rr, mocha |
プロジェクト作成時に、いつも通りのジェネレータコマンドを発行し、その際にあなたの好きなコンポーネントを指定してください!
$ padrino g project cool --orm mongomapper $ padrino g project cool --renderer haml --stylesheet sass $ padrino g project cool --script mootools $ padrino g project cool --orm mongoid --script mootools $ padrino g project -h # shows available options
我々のウェブアプリケーション開発の経験に基づき、我々は、最高のウェブアプリケーションを作るにあたり、必要になるであろうすべての要求に見合っている、 クリーン 、_簡潔_ 、 シンプルな環境 で、かつ可能な限りあなたが締切りに遅れないようなフレームワークを設計しました。
我々は、利用者に以下のテーブルにあるような機能を提供します:
| Agnostic: | 多くの人気のテスト、テンプレート、モック、データベースのライブラリをサポート |
| Generators: | アプリケーション、モデル、コントローラを自動生成: padrino-gen project |
| Mountable: | 他のRubyフレームワークと違い、はじめから複数のアプリケーションをマウント可能 |
| Routing: | 名前付き routes, named params, respond_to, before/after filter をサポート |
| Mailer: | 高速で簡単なメール送信機能をサポート(ActionMailerのようなもの) |
| Admin: | (Djangoにあるような)認証付きの組み込み管理画面 |
| Logging: | ORMやその他各種ライブラリと連携できる統一的なロガーを提供 |
| Reloading: | development環境であれば、自動的にアプリケーションのコードを再読み込み |
| Localization: | I18n 多言語化の完全なサポート |
Padrino は Ruby 製のフレームワークで、素晴らしい極小のフレームワークである Sinatra をベースに開発されています。 Sinatra は、単純なウェブアプリケーションをクイックに作成できる DSL のようなものです。 Padrino は、 Sinatra を素晴らしいものにしている精神を守りつつも、より複雑なウェブアプリケーションの開発を楽しく簡単にするものです。
多くの開発者が Sinatra のシンプルさと表現力に魅力を感じてきました。ですが、少し複雑なアプリケーションを開発しようとすると、 Sinatra には他のフレームワーク(例えば Rails のような)が持っている豊富な機能を欠いている事実に、すぐに気づいてしまいます。
Padrino のゴールは、Sinatra の「原理」からかけ離れずに、なおかつ標準的なライブラリ、ヘルパー、その他機能を追加し、 Sinatra をより複雑なアプリケーションでも利用可能なようにすることです。
Padrino が Sinatra の上に追加する主な機能群一覧:
| Agnostic: | 多くの人気のテスト、テンプレート、モック、データベースのライブラリをサポート |
| Generators: | アプリケーション、モデル、コントローラを自動生成: padrino-gen project |
| Mountable: | 他のRubyフレームワークと違い、はじめから複数のアプリケーションをマウント可能 |
| Routing: | 名前付き routes, named params, respond_to, before/after filter をサポート |
| Tag Helpers: | View用のヘルパー: tag, content_tag, input_tag |
| Asset Helpers: | View用のヘルパー: link_to, image_tag |
| Form Helpers: | Formビルダーサポート: form_tag, form_for, field_set_tag |
| Text Helpers: | 便利なフォーマット用ヘルパー: relative_time_ago, js_escape_html |
| Mailer: | 高速で簡単なメール送信機能をサポート(ActionMailerのようなもの) |
| Admin: | (Djangoにあるような)認証付きの組み込み管理画面 |
| Logging: | ORMやその他各種ライブラリと連携できる統一的なロガーを提供 |
| Reloading: | development環境であれば、自動的にアプリケーションのコードを再読み込み |
| Localization: | I18n 多言語化の完全なサポート |