質問

現在、GroovyとGrailsを使用しています。 Groovyは基本的にJavaであるため非常に単純ですが、Grailsを理解したとは言えません。 GroovyはGrailsに対するものであり、RubyはRuby on Railsに対するものであると読みましたが、それはどういう意味ですか?

役に立ちましたか?

解決

メタファーとの混乱に対処するには(質問の下で他の言葉で答えられていますが):

GroovyはGrailsに対するもので、RubyはRuby on Railsに対するものですが、それはどういう意味ですか?

Grailsは、Groovyプログラミング言語に基づいて/上で構築されたWebフレームワークで、Rails(RubyのWebフレームワーク)がRubyに対して行うのと同じことをGroovyに対して行います。


「レールに乗っている」とはどういう意味ですか?

これに対する答えは、これらのWebフレームワークの本質にかかっています。

これらのWebフレームワーク(Grails& Rails)は、「構成よりも慣習」を前提に構築されています。つまり、Webアプリケーションを開発するために共通の規則を使用すると、生産性が向上し、アプリケーションがより保守しやすくなります(これは大まかな一般化です) )。そして、規約を定義してそれに固執することで、アプリケーションを簡単に生成し、起動して実行できることがわかります。

これは、電車のように「レールに乗っている」ということです。新しい列車のルートが開発されたとき、列車がある場所から別の場所に到達する方法を再発明する心配はありません。それは何十年もの間、単一の慣習で解決されました。鉄道ルートの線路が2つの場所からのパスを制約するように、コンベンションベースのWebフレームワークは、アプリケーション開発者の柔軟性に関する慣習を使用して、アプリケーションの本質的なビジネス問題に集中できるようにします。

Webフレームワークの規則の主な利点の1つは、Webフレームワークが、アプリケーションの特定のレイヤーがどのようにフックするかを推測できるようになったことです。 Railsでは、通常、データベーステーブルに複数の名前がある場合、そのテーブルにマップされたActiveRecordクラスには対応する単数名があると想定できます。そのため、Railsコードジェネレーターは、データマッピング情報を使用して、動的ファインダ、移行、遅延読み込み関連トラバーサルなどのデータアクセスコードを生成できます。構成ベースのフレームワークのこのデータアクセスコードは、手作業でコーディングするのは面倒です。 / p>

他のヒント

何人かの人々は、Rails / Grailsが何であるかという技術について言及しています。何人かの人々は、「設定より規約」についても言及しています「レール」としてRails / Grailsで。これは真実に近づいています。しかし、これはRailsの広範な哲学の特徴の1つにすぎません。これは、 優れたソフトウェア

オピニオン化されたソフトウェアは、技術用語だけでは説明できません。それは哲学です。精神; 態度。気に入ったか、嫌いそれががRailsの中心にあるものです。

2005年の抜粋 Railsの作成者であるDavid Heinemeier Hanssonのインタビュー

  

Railsは独断的なソフトウェアです。ソフトウェアの古い理想を第一の位置に置くことを避けます。これらの理想の1つは柔軟性です。これは、できる限り多くのアプローチに対応し、開発の形式を別の形式よりも判断すべきではないという考え方です。そうですね、Railsは機能します。それが機能する理由だと思います。

     

Railsを使用すると、インフラストラクチャレベルで柔軟性を犠牲にして、アプリケーションレベルで柔軟性を得ることができます。私がRailsに組み込んだ黄金の道に沿って作業することに満足している場合、生産性の面で計り知れない報酬を得ることができます。これにより、アプリケーションレベルでより多く、より早く、より良いことができます。

さらに主題を探る後のインタビューもあります。

つまり、「レールに乗っている」ということは「意見を述べる」ことの隠isであり、それがそのまま名前が付けられている理由です。それと、「Ruby on Rails」がalliteratveは、ジャーナリストや作家が言うように、人々の注意を引く確実な方法です。

「レールに似た」フレームワークは、いくつかのことを指します:

  • モデルレベル:ARパターン化されたORM(データマッパーではなく)、移行または自動化されたスキーマおよびモデル層管理、アプリケーション内の外部キーの処理(データベーススキーマではなく、ストアドプロシージャも使用しない)または純粋なDBMSロジック)

  • TDD推奨:単体テスト用に自動生成されたスケルトン、

  • データベーステーブル名とモデル名、コントローラーアクションとビューアクション、およびHTMLテンプレートを接続する命名規則

  • 合理化されたルート認識およびルート生成スキーム

  • RESTアーキテクチャの強調

  • ajaxライブラリとの統合:RJS、プロトタイプ、scriptaculous

Rails は、データベースバックエンドでWebアプリケーションを開発するためのフレームワークです。名前はもともと言葉の遊びだったと思います。電車はどこにでも本当に連れて行くことができますが、レールが行く場所だけです。

レール上にいるということは、行き先を制御できないことを意味します。つまり、レールが敷かれた場所にしか行けません。レールを敷いた人があなたが行くことを予期していなかった場所に行こうとすると、欲求不満につながります。

これは自動車の表現です。車が非常にうまく処理されると、「レールを走るようなコーナー」と言われます。 (つまり、優れた制御を提供します)。

Railsの人々がその名前を得たのかどうかはわかりませんが、それが私が解釈した方法です。

本当に短くて簡単な答え:構成より規約。

上記のように、RailsとGrailsはWebアプリケーション開発の規約を提供します。特定の方法でピースに名前を付けて適切な場所に配置すると、追加の設定なしでアプリケーションがデフォルトで動作します。慣習から逸脱したい場合は、そこで方法を設定できます。

RubyとGroovyは言語です。

Ruby on Railsは画期的なwebappフレームワークです。上記の意見のあるソフトウェアに関する優れた回答をご覧ください。

歴史の問題として、Groovy webappフレームワークの実際のタイトルは Groovy on Rails でした。しかし、RoRコミュニティは反対しました。チームは代わりに Grails を選択しました。

これは比phorであり、説明する必要があると言われています。とにかく、Ruby on Railsが行うことの非常に良いメタファーです。これにより、一般的なことを非常に簡単に行うことができます。 e。テスト、検証、展開、MVC。

「レール上は設定よりも規約に関する哲学です」という他のコメントには同意しません。などなど。

レールはこれらの哲学に準拠していますが、「Ruby on Rails」 Webフレームワークの名前です。これ以上でもそれ以下でもありません。特定の「オンレイルネス」を指すものではありません。それについては、マクドナルドがブランド名であるのと同じように、単なるブランド名です。

他の誰かが別のフレームワークを作成し、それを「Python on Rails」と呼ぶ場合その後、別のブランド名があります。そうでない場合は、「レール上のXYZ」人々が混乱していることを意味します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top