13

既存のAccessデータベースを本格的なSQL+Webシステムに置き換えるための短い時間(最初は約80時間)が与えられ、オプションを列挙しています。ASP.NET MVCを使用したいのですが、短いスケジュールで効果的に使用する方法がわかりません。

データベースバックエンドの場合、Linq to SQLを使用します。これは、私がすでに知っている製品であり、何かをすばやく動作させることができるためです。

ASP.NET MVCをこのように使用した経験があり、洞察を共有できる人はいますか?

編集: ASP.NET MVCに興味を持った理由は、この最初のラウンドの後にやるべきことがもっとあることを(100%確認して)知っているからです。そして、メンテナンス作業をできるだけ簡単にしたいと思っています。 。私の経験では、Webformsアプリケーションは、規律にもかかわらず、繰り返しのメンテナンスで故障する傾向があります。

たぶん、妥協点がありますか?たとえば、Webformsを使用してアプリを構築し、後でプロジェクトに多くの時間を費やしたときに、それをMVCに移行するのはどれほど難しいでしょうか。

編集2:さらなる背景:私が交換するAccessアプリケーションは、建物内のすべての人によってある程度使用されており、Access 98から2003にアップグレードされて以来、毎日クラッシュしており、人々が再作業しなければならないため、生産性が何時間も失われています。最後のバックアップ以降のデータを入力します。これが短時間の理由です。これは重要なビジネス機能であり、毎日データを再入力し続ける余裕はありません。

4

10 に答える 10

8

本当に良い答えはありません。

自明ではないビジネスアプリケーションを新しい形式(Web)で「短い」時間で再作成できたら(「短い」を6か月と測定しない限り)、私は非常に驚きます。

ASP.NET MVCは、最初のWebプロジェクトで利用できるほとんどの規則を提供します(受け継がれます)。

ASP.NETを使用すると、ドラッグアンドドロップで機能させることができますが、重要なアプリケーションのメンテナンスが大幅に中断されます。

それが私なら、私は3つのことをします:

  1. 上司に、まったく異なるプラットフォームでビジネスアプリケーション全体を再作成してほしいかどうか尋ねてください。

  2. 今すぐ(ASP.NET)、または後で(ASP.NET MVC)すぐに使用できることを彼に伝えます。

  3. 彼に電話をかけさせてください。


個人的な補遺:WebアプリケーションにASP.NETとASP.NETMVCの両方を使用しました。MVCの方が優れています。速くはありませんが、より良いです。それは私にとって再びウェブ開発を「楽しい」ものにしました。

于 2009-12-22T15:26:14.497 に答える
7

MVCは実際にはRAD開発フレームワークではありません。

データグリッドとデータソースを.aspxページにドラッグするというRADWebformsの代替手段よりもはるかに多くのインフラストラクチャコードを作成することになります。私はMVCが大好きですが、もしあなたが銃の下にいるのなら、Webformsを使ってください。MVCは高速化できますが、インフラストラクチャが事前に構築されている場合に限ります。

MVC 2は、のようなモデルベースのHTMLヘルパーを含めることでこの問題の一部を軽減しますModel.EditorFor()が、まだ十分ではありません。クイックグリッドコードはありません。ページング?あなたはあなた自身のポケットベルを転がしています。アヤックス?独自のJQueryを作成します。

確かに、これらすべてに利用できるサードパーティのオープンソースライブラリがありますが、私の経験では、それらをすべてまとめて、それらがうまく機能することを確認するのも時間がかかります。

于 2009-12-22T14:35:37.233 に答える
4

単純なWebアプリケーション+タイトなスケジュール=ASP.NETWebフォーム。

複雑なWebアプリケーション+タイトなスケジュール=ASP.NETMVC。

Webアプリの複雑さが直線的に増加するにつれて、Webフォームアプリの複雑さは指数関数的に増加することがわかりました。より複雑なUIに必要となる可能性のある、独自のサーバーコントロール(ユーザーコントロールではなく、まだ比較的単純であるため)の作成を開始したら、ページのライフサイクル全体、ビューステートの動作などについての深い知識が必要です。フレームワークがあなたから抽象化するウェブフォームのあいまいな部分。

MVCは、HTMLをよく知っている必要がありますが、複雑さの最後に優れています。アプリケーションがどれほど複雑であっても、コントローラーでPOCOとメソッドを処理していることになります。最初のハードルを乗り越えれば、スムーズな航海ができます。開発の難易度は、ウェブサイトの難易度と同じペースで増加します。

個人的な経験:カスタムサーバーコントロールを使用して比較的複雑なWebサイトをASP.NET MVCに変換し、コードベースを半分に削減しました。また、コードの複雑さも大幅に軽減しました。

私が持っている唯一の注意点は、ASP.NETAJAXを使用するとajaxが簡単に実行できることです。したがって、ajaxに大きく依存するWebアプリを開発する場合、WebフォームはMVCに勝る可能性があります。


ASP.NETからMVCへの移行が常に最も簡単であるとは限りません。コードビハインドベースのアプリケーションから、コントローラーがUIを認識しないアプリケーションに移行する必要があります。また、MVCはURLに大きく依存してユーザーの意図を判断しますが、ASP.NETはイベントハンドラーに依存します。

個人的には、アプリケーションがMVCになる予定であると感じた場合、ASP.NETでの開発に時間を無駄にすることはありません。しかし、その後、私は最初の学習曲線を乗り越えることができました。それはそれほど悪い私見ではありませんでした。ASP.NETが学習を妨げていたすべてのHTMLおよびHTMLフォームを学習するのにさらに苦労しました。

于 2009-12-22T14:47:23.440 に答える
1

この期限があるので、ASP.NetWebフォームを使用する方が便利だと思います。より多くの時間/予算を伴うこの最初のフェーズの後、MVCを使用してアプリケーションの新しい部分を開発し始めることができます。これは、それらが共存できるためです。

また、Ajaxとグリッドコードにも注意してください。MVCでは、通常、開発に時間がかかりますが、少なくとも私にとっては、自分が何をしているのかを本当に知る必要があるため、より堅牢に見えます。

この質問は2009年のものです。著者が彼の決定についてフィードバックをいただければ幸いです。

編集:asp.net MVCを使用してRADがまだ必要な場合は、 http: //mvcscaffolding.codeplex.com/を調べてください。

于 2013-02-25T13:39:47.027 に答える
0

もう1つのオプションは、Alpha Five v10を使用することです。最近、Infoworldのチェックアウトhttp://blog.alphasoftware.com/search/label/Press%20coverageから賛成を得ました。

于 2009-12-31T03:04:52.053 に答える
0

MVCを実行すると、かなり速くなりますが、a)学習し、b)一連の便利なコードを構築するのに時間がかかります。

UIが複雑にならない場合は、クイックデータ入力インターフェイスを非常に簡単に設定できます。

UIを本当に、本当にシンプルにする場合は、ASP.netの動的データを確認することをお勧めします。

于 2009-12-22T14:42:51.687 に答える
0

Entity Frameworkを調べてデータベースにバインドすることもできます。これにより、MVCで使用するモデルが作成されます。しかし、jfarが言ったように、短い死の圧力の下で、あなたが最もよく知っていることを目指してください!

于 2009-12-22T14:45:46.343 に答える
0

ASP.Net MVCは優れていますが、...。

以前にASP.NetMVCを使用してシステムを開発したことがない場合は、期限の短いプロジェクトでそれを使用するのはリスクです。

アプリケーションが「単純な」CRUDアプリケーションである場合は、動的データを使用します:http ://www.asp.net/dynamicdata/ (パディは私をそれに打ち負かします)

システムが非常に大きい場合は、SharePointAccessServicesを検討できますhttp://blogs.msdn.com/access/archive/2009/10/21/net-developer-blogs-about-access-2010.aspx

于 2009-12-22T14:47:02.037 に答える
0

進化的なソフトウェア開発

経験から私はそれを保証します-それは私がプログラムする方法であり、テクノロジーに関係なく機能します。

要するに:あなたの腸の感覚があなたに言うことをして(何かをコーディングして)、エラー/脱落を見つけたら修正してください、そしてそれがうまくいくとき、あなたは完了です(しかしドキュメントのために)。

于 2009-12-22T15:00:08.137 に答える
0

どちらのフレームワークもソリューションの提供に十分貢献しますが、WebFormsは、データのページング、並べ替え、状態の永続性、カスタムデータの永続性など、UI機能に関連するいくつかのタスクを自動化します。私はする必要がありますか?...設計、ナビゲート、モデル化、提示、そしてレイアウトの表示方法、データへの接続方法、データの持ち込み方法、UIとのバインド方法、ページ付け、並べ替え、最終的な編集の方法を理解し、本当に頭を悩ませますこれらすべてを実現する各フレームワークの手法を比較してみると、MVCがより自然でチーム指向であることがわかります。EF Code Firstのようなツール、BootstrapやjQueryのようなCSSフレームワーク、IoC、SoC、Layeringなどの手法を適用し、たとえばAutomapperを使用して退屈な作業を行う必要がありますが、考慮しなければならないことがいくつあっても、WebFormsが必要とする多数のコントロールとマネージャーのさまざまな構成をすべて知っている必要があるよりも、常により簡単で自然で直接的な一致になります。プロジェクトがCMS機能を備えたERPである場合を除いて、...ご存知のとおり:-)とにかく、現代のスキルは今日のトレンドに適応する必要があり、MVCは驚きなしにそれらを使用するのに役立つ優れたホストです。私はたくさんのWebFormsコードを書いてきましたが、二度と触れていません。つまり、最後のポイントは、これらすべてのツールとフレームワークが存在する2014年には、MVCは遅くなるのではなく、逆になりますが、リソースを収集していくつかの方法論をロックするために、最初の小さな費用が必要になるということです。プロジェクトがCMS機能を備えたERPである場合を除いて、...ご存知のとおり:-)とにかく、現代のスキルは今日のトレンドに適応する必要があり、MVCは驚きなしにそれらを使用するのに役立つ優れたホストです。私はたくさんのWebFormsコードを書いてきましたが、二度と触れていません。つまり、最後のポイントは、これらすべてのツールとフレームワークが存在する2014年には、MVCは遅くなるのではなく、逆になりますが、リソースを収集していくつかの方法論をロックするために、最初の小さな費用が必要になるということです。プロジェクトがCMS機能を備えたERPである場合を除いて、...ご存知のとおり:-)とにかく、現代のスキルは今日のトレンドに適応する必要があり、MVCは驚きなしにそれらを使用するのに役立つ優れたホストです。私はたくさんのWebFormsコードを書いてきましたが、二度と触れていません。つまり、最後のポイントは、これらすべてのツールとフレームワークが存在する2014年には、MVCは遅くなるのではなく、逆になりますが、リソースを収集していくつかの方法論をロックするために、最初の小さな費用が必要になるということです。

于 2014-01-04T13:43:15.577 に答える