.NETの世界には、Rails/Grails/Django/Rooのようなものがないのはなぜですか? [閉まっている

softwareengineering.stackexchange https://softwareengineering.stackexchange.com/questions/4714

  •  16-10-2019
  •  | 
  •  

質問

Rapid Development Webプラットフォームは、Webアプリケーションの世界を根本的に変えようとしているように思えます。

Rails 1.0がRubyのためにリリースされてから5年が経ちました。それ以来、Groovy用のGrails、Python用のDjango、JavaのRooを見てきました。

しかし、私の知る限り(おそらく制限されており、Java/Groovy Progammer)C#の同様のフレームワークはありません。

そのようなことは存在しますか?そうでない場合は、なぜですか?

編集: 「迅速な開発」と言うとき、私は正しい言葉を使用していない可能性は十分にありますが、30分で働くブログエンジンを構築できるようにすることができるフレームワークについて話していることがあります。たとえば、Java、Spring、およびHibernateでこれを合理的に行うことはできませんでした。これは、コントローラーを見つけるために必要なさまざまな構成、およびエンティティが持続して検索されるために必要な構成とコードの両方を考慮してください。

だから私は、すべてのCRUDをコンベンションと構成のメンタリティで処理するフレームワークについて話している。誰かが私が話していることに対して正しい言葉を持っているなら、私に知らせてください。

役に立ちましたか?

解決

この種のフレームワークには、このスレッドで話しているこの種のフレームワークには、まだ名前がないようです。私は今のところそれらをちょうど呼び出します Railsのようなフレームワーク: :ほとんどのWebアプリケーションの基本的なニーズを解決することを目的として、他の既存のフレームワークを調整することにより生産性を増やすフレームワークですが、同時に開発者のすべての複雑さを隠します。

基本的なニーズとは、永続性プロバイダー、依存関係のinyectionコンテナ、ロギングツール、MVCプラットフォーム、HTMLテンプレートエンジン、CSSプリセットを備えたWebサイトテンプレートスターターキット、Ajax機能のいくつかのJavaScriptライブラリの実装を意味します。その他のクールなもの。 Railsのようなフレームワークは、ドメインモデル(属性を備えたシステムのエンティティ)に基づいて、これらすべてのフレームワークとツールを調整します。

コンベンションと構成の原則のおかげで、これらのフレームワークは、命名に基づいてデフォルトで構成を想定して、組織化するフレームワーク(春、スプリングMVC、hibernate、log4Jなど)で通常必要な多くの構成ファイルを定義する必要性を回避します。 、構造とメタデータが同じクラスの定義に含まれています。

これらのフレームワークが使用する動的言語(Ruby、Groovy、Python、Clojureなど)のおかげで、AspectJを使用してJavaの動的な動作を実装するSpringrooを除き、下のフレームワークに属する機能は拡張され、開発者は、均一でエレガントな方法で利用できるようになり、基礎となるテクノロジーを認識しています。

最後に、足場技術のおかげで、ユニットテスト、統合テスト、コントローラー、ビューが、開発者によって定義された各ドメインオブジェクトのメイン関数(CRUD)に対して自動的に生成されます。

.NETの世界では、以前のすべての定義に従って、まだ何も開発されていません。しかし、それがすぐに発生することを妨げるものは何もありません。 .NETの世界では、CLR用に作られた新しいRailsのようなフレームワークによって組織化できる優れたフレームワーク、ツール、ライブラリがすでに利用可能です。依存関係のinyectionニーズには、unity、spring.net、キャッスルウィンザーがあります。エンティティフレームワーク4、nhibernate、およびibatis.netは、非常に優れた.NET永続性プロバイダーです。 ASP.NET MVCは、従来のASP.NET以外のさまざまなテンプレートエンジンをサポートして強く到着しました。

この種のフレームワークを構築するためにDLR言語を使用することを誰も達成していなくても、十分な意志を持っている人なら誰でもSpringsourceパスに従い、F#、C#、VB.NETなどの静的言語を持つRailsのようなフレームワークを実装して、アスペクトを利用できます。 - ダイナミックな動作を得るための指向のコンテナ(aspectsharpやgripper-loom.netなど)。

.NETでそのようなフレームワークを開発しようとしている人々のグループについて知りたいです。

他のヒント

「Rapid Development Webプラットフォーム」とはどういう意味かわかりません。私が精通している「迅速な発展」の定義は、言語、パラダイム、またはフレームワークとは何の関係もありませんが、むしろシステムを生成するための迅速なプロトタイピングと反復開発の使用です。言語やフレームワークは等しく使用できます。

私は以前にGrailsやROOを使用したことがありませんが、DjangoとRailsは両方ともMVCフレームワークであるため、.NETでの彼らのカウンターパートは ASP.NET MVC.

Visual Studioにアクセスして、Webページでコントロールをドラッグアンドドロップし、コードをほとんどまたはまったくないデータベースに接続できます。ワンクリックしてテスト/表示。ワンクリックしてWebサイトにアップロードします(OK、資格情報を入力)。

これが最も使用されている、または推奨される方法でさえあるというわけではありませんが、これよりもはるかに簡単になりません。

.NET Webアプリケーションにはビルドサイクルがあるためです。

Ruby/Pythonはたまたま非常に機敏/機敏で動的な言語です。

私が働いている場所では、膨大な.NET Webアプリケーションがあり、コンピレーション時間は典型的な中程度のC ++プログラムに匹敵します。

私のスペアでは、PythonでWebアプリを開発し、コンピレーション時間は0です。コンピレーションステップはまったくありません。実行中のインタープリターは、それらを保存するときに.pyファイルをリロードするだけです。

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