パスワードを忘れた? アカウント作成
81041 story
プログラミング

MVC 構造を実現する "ASP.NET MVC" リリース 36

ストーリー by reo
オープンソースですよ、オープンソース ! 部門より

ある Anonymous Coward 曰く、

Microsoft が ASP.NET MVC 1.0 を、OSI 準拠のオープンソースライセンス Microsoft Public License (MS-PL) でリリースしました (Microsoft の開発者である Scott Guthrie 氏の blog 記事, japan.ineternet.com の記事より) 。

ASP.NET MVC は ASP.NET フレームワーク上で Model View Controller 構造を実現するもの。また、オープンソース化により ASP.NET MVC は .NET 互換環境である Mono でも利用できるようになり、早速 Mono 向けの開発環境である MonoDevelop 上で ASP.NET MVC を利用するためのプラグインも作成されています。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2009年04月07日 11時18分 (#1545013)

    日本語のプレリリース版のサマリ「Web フォームを使用しないで Web アプリケーションを作成する [microsoft.com]」があった。

    それにしてもサーバーサイドってめんどくさすぎね?
    サーバーサイドでの処理記述言語があり、HTML(XHTML)があり、スタイルシートがあって、Javascriptがある。
    それぞれがコンピュータ言語としての内部構造があって記述ルールがあって、あっちを直せばこっちに影響するって部分で別の言語環境を渡り歩くことになる。
    どうにかなんないのこれ?
    Microsoftのなら統一した開発環境で開発テストデバッグできるのかなぁ?

    • by Anonymous Coward

      > サーバーサイドでの処理記述言語があり、HTML(XHTML)があり、スタイルシートがあって、Javascriptがある。
      SQLも。
      データアクセスがいくら便利になっても、結局SQLわからないと使い物にならないんだよねぇ。

      • LINQ [microsoft.com]に期待しましょう。
        親コメント
        • by Anonymous Coward
          最終的に、SQLで実行するのと同じ結果を得るためには、SQLと同じ条件を
          指定しなければいけない訳で
          はてなみたく、joinを使わない設計(WebDBPress or DBMag だっけな?)にしないと意味はないと思うが
          #activerecord だって、joinの実現の方法があるんだしね
          全レコード取り込みってのも、サイズがでかくなるとパフォーマンス的に問題だろうしね
        • by Anonymous Coward

          でもLINQはLINQ to SQL終了のお知らせ [infoq.com]が。
          EntityFrameworkは評判悪いし、LINQ to Entitiesは空気だし、
          せっかくだから俺はSubsonic [subsonicproject.com]をオススメしますよ。

          # オープンソースですよ、オープンソース !

    • by Anonymous Coward
      その統一環境を提供しているのがASP.NET(とVisual Studio)です。
      他の言語を駆使してゴリゴリ書いてた人はたいがいビックリします。
      • by Anonymous Coward

        で、Visual Studio 環境は FLASH(FLEX) もサポートしてくれるの?

        • by Anonymous Coward
          Flashの代わりにSilverlightがサポートされますよ。
          • by Anonymous Coward

            いやだから Silverlight は Flash じゃないから。
            必要な要件は flash なんだけど。
            Silverlight じゃ意味ないよ。

            • by Anonymous Coward
              SilverlightはWindowsのUIであるWPFとほとんど一緒 [atmarkit.co.jp]なので、開発者の立場から見ても結構メリットありますよ。
              • by Anonymous Coward
                でもSilverlightは肝心のエンドユーザーにとってのメリットが説明できんなあ。わざわざブラウザのプラグインをインストールする気がしないもん。そりゃ作る側は楽かもしれないけどさ。ちなみにAdobe Flexで開発する場合はAmethyst [sapphiresteel.com]ってのがあるみたいね。
              • by Anonymous Coward

                ほとんどねぇ、所詮サブセットですよ。
                あれがない、これがないはWindowsCEで散々やってきたこと。
                Win32APIもCompactFrameworkもほとんど同じといってましたよ。
                むしろ、同じプログラムが複数のプラットフォームで動くと勘違いして酷い目にあうだけ。
                # つうか、WindowsDesktopとPDAたるWindowsMobileにブラウザ上のSilverlight、同じUIにしたって使いにくいだけだし。
                結局似てはいるけど別物、そう理解して使わなきゃならんので「殆ど同じ」にメリットなんて期待するほどありません。

            • by Anonymous Coward
              それは

              いやだから ASP.NET は J2EE じゃないから。
              必要な要件は J2EE なんだけど。
              ASP.NET じゃ意味ないよ。

              って言ってるのと同じじゃねぇですか。
  • by Anonymous Coward on 2009年04月07日 11時22分 (#1545017)

    OSI承認? OSD準拠?

    • Re: (スコア:0, フレームのもと)

      Open Software Initiative(綴り大丈夫かな)だと思います。

      ISOの誤字っぽいのもねーw

      --
      M-FalconSky (暑いか寒い)
      • by Anonymous Coward

        準拠するのは団体(OSI)ではなく定義(OSD)のほうとゆいたいです。

      • by Anonymous Coward

        Open Software Initiative(綴り大丈夫かな)だと思います。

        Open Source Initiative [opensource.org]

        「オープンソースライセンス」が既にOSD準拠を示していること、
        情報源らしきものを探すと "OSI approved open source license" と書かれていることから
        「OSI準拠の~」は「OSI承認~」が正解だと思います。

  • by Anonymous Coward on 2009年04月07日 11時53分 (#1545041)

    つまり、RoRやCakePHPの.net版ということでしょうか。

    • 今までのASP.NETではPofEAAでいうところのpage controllerを実現してたのに対し、
      いわゆるfront controllerをやりやすいframeworkを出してきたってことが目新しさだと感じています。

      Java文化な人々はwebやるときにstrutsをベースにやってる人が多いから、
      それに近いコントロールができるものを出してきたと。
      あわせてOR-mappingがしやすいEntity Frameworkも出してきてるから、
      Javaな人々の取り込みが目的でしょうね。

      そのあたりをMS適に.NETとして面でサポートしてくるところが、憎いというか
      あざといというか、まあすごいと感じます。

      さっと見たところ、ISAPI触らせるとか、HTTPHandlerを実装させるとか、
      内部に手を入れなくていいのがいいところだろうな。
      #おそらく、MS的には誰かが作ってくれることを期待してたんだろうけれど、
      #だれも作ってくれなかったから、自分で作ったのではないかと・・・。
      親コメント
      • by Anonymous Coward

        一応、MonoRail [castleproject.org]ってのがありましたよ。
        ただ、残念ながら世のWeb MVC FWのようなスマートな作りではないし、全然盛り上がらなかったようですが…

        #あとはViewをもうちょっとどうにかして欲しい…

      • by Anonymous Coward

        >front controller

        これですね。
        http://capsctrl.que.jp/kdmsnr/wiki/PofEAA/?FrontController [capsctrl.que.jp]
        「複雑なWebサイトでリクエストを扱うとき、よく似たことを何度も行う必要がある。セキュリティだったり、国際化だったり、ユーザー別のビュー作成だったり。インプット コントローラの振る舞いがあちこちのオブジェクトに散らばっていたら、こういった処理は重複してしまう。それに、実行時に処理を変更するということが難しくなる。

        FrontControllerでは、ハンドラーオブジェクトをひとつ使ってリクエストを送り届ることで、全てのリクエストを取り扱う。

        しかし、この議論は1つ重大なことを忘れ

    • by Anonymous Coward
      んー、MVCフレームワークといってもいろんなタイプがあって、全部がRoRと同タイプじゃないし、RoR以前からいろいろ出てるし。CodeZineの記事 [codezine.jp]を見てみたけど、ASP.NET MVCは単にASP.NETでMVCを実現する以上のものではないような… というか、Microsoftがこういうフレームワークを今までリリースしてなかったことに驚き。
      • >>というか、Microsoftがこういうフレームワークを今までリリースしてなかったことに驚き。
        MSのASPや、.Net FrameworkのASP.NETは自画面へのポストバックが基本だという概念で設計されてるからな~。
        親コメント
      • by Anonymous Coward

        リリースやライセンスはともかく実物自体は
        https://codezine.jp/article/detail/2748 [codezine.jp]「もう一つのASP.NET 「ASP.NET MVC」を知る」
        というCodeZineの紹介記事が昨年7月に出てるんで
        超「なにを今更」な気がするけど、そういう話は置いておきましょう。

        「WEB MVC」とか「MVC Model2」とか言われるアーキテクチャはかなり古くから有ります。
        言いだしっぺはSUNあたりでしたっけか?
        古参のStrutsなんかがその典型的な実装(の第一世代?)と言われてます。
        RailsとかはStruts系のアーキテクチャを(開発の無駄が減るように)より洗練させたものです。第二か第三世代。

        一方で、MVCの黒

        • by Anonymous Coward

          > 「これから斜陽になる(Web)MVCフレームワークをいまさら出すなんて、MSもヤキが回ったか?」
          IIS7になっていまさら、URLルーティングが出来るようなったから出てきたんだよ。

          > 「せっかく元祖MVC(ぶっちゃけVB)に近いASP.NETを持ってるのだから、イラネだろ?」
          無印ASP.NETはモバイル切り捨てられたから使い物にならないだろ。

          • by Anonymous Coward

            >URLルーティング

            それ自体が要らないというのが元祖MVCベースWebアプリFWの姿勢です。
            FWごとに微妙に温度差はありますが、一番急進的なSeasideは下記のように言っています。

            http://www.ogis-ri.co.jp/otc/hiroba/technical/seaside/seaside1/index.html [ogis-ri.co.jp]
            >Seaside では今まで Web 系でお約束とされてきたことに反する以下のような特徴を持ちます。
            >URL は一過性のものを使う

            一過性というか、いずれにせよいわゆる「読みやすいURL」とは真っ向反対のURLです。

            最近の(別の)流行としてREST的な美しいURLを与えると言う考え方が出てきていますが、 元祖MVC派は全く違う

            • by Anonymous Coward
              そこまでしてHTMLというかWebというかHTTPを使わなくてもいいと思うんだけど。
              • by Anonymous Coward

                それは言わないお約束(^^)

                (ただし今時HTTP依存は避けにくいでしょう。アプリを配信するためだけにHTTPとか、鯖と通信するのにHoge Over HTTPとか、色々ありますからね。JDBC Over HTTPというのも有ったような…)

                元の話と同じく元祖MVC(なのか?)系のネットワークアプリの別形態として、ブラウザにクライアントアプリを送りつけるタイプがあります。FLASHやAppletもそうですし、JavaScriptでも部分的断片的じゃなくアプリ全体丸ごとJavaScriptで作っちゃう形態のものはそれに属するでしょう。GoogleWebToolkitやSproutCoreはとてもよさそうです。

                しょせん

              • by Anonymous Coward

                > ただ…ゲンジツのアンケンとしては何故か未だにサーバサイドWebアプリを欲しがる愉快な顧客が多いというのも事実。
                一般消費者向けのWebサイトならともかく。
                説明して理解してもらえないような客ならとっとと縁を切りましょう。
                よほど利率がいいならともかく、ウザい客は遠慮無く切るのがコンピューター業界の鉄則です。
                君が受ける地雷案件は、誰かが受けなかった地雷案件であり、君が受けなかった地雷案件は、同業他社が受ける地雷案件なのです。
                もし、地雷案件を避ける余裕すらないのなら、残念ながらその会社のビジネスモデル自体が終わってます。
                そんな会社とはとっととおさらばするのが吉ですよ。

              • by Anonymous Coward

                >説明して理解してもらえないような客ならとっとと縁を切りましょう。

                そう簡単にリコンできるんだったら世話ないですよorz
                特にこの冷え切ったご時世に。

                >一般消費者向けのWebサイトならともかく。

                おや?それこそ一般消費者はWeb鯖の実現方法なんて頓着しないのでは?
                ふつうの人は実現方法が複数あることすら想像してないように見えます。

                不特定「多数」が来るサイトは工数と引き換えにメモリ消費の少なさを実現できる低レベルフレームワークのほうがいい、という意味でしょうか?

            • by Anonymous Coward

              言いたいことは簡潔にまとめて

            • by Anonymous Coward
              > GUIアプリにおいて内部的にはいわゆるイベントが飛び交いますが、そのイベントの「ID」の人間可読性を考慮したりするだろうか?ということです。もちろん現代的な開発環境においては考慮しません。イベントのIDは機械が自動生成し使い捨てにします。それと同じことがリクエストのURLの字面にも起きます。

              おれも昔、ステートレスにしたくてurlにずらずらごちゃごちゃ書いたこともあるんだが、「ブラウザのヒストリーを汚す」と評判が悪かった。
              • by Anonymous Coward

                s/ステートレス/ステートフル/ ですか?

                >「ブラウザのヒストリーを汚す」と評判が悪かった

                いっそGETじゃなくPOSTにすればブラウザ(のURL欄)のヒストリは汚しませんよ。
                アプリ1件につき消費するヒストリも1件。
                むしろ画面(遷移)の数だけヒストリを汚しまくる従来型アプリよりも清潔になります。

                まあそこまで気にしなくても、
                笑っちゃうくらいにごちゃごちゃなURLを大量にヒストリに残してくれちゃうWebアプリは
                既に世間に沢山転がっていますし…。

  • by Anonymous Coward on 2009年04月08日 15時23分 (#1545827)
    あれ、あたしゃーとっくに出来てるもんだと思ってましたよ。

    M … ~.aspx.vb
    V … ~.aspx
    C … ASP.NET フレームワーク

    ちがうの?
    • by Anonymous Coward

      #1545192 でいう「元祖MVCを乱暴にいえばVB」ってのが、まさにそれですね。
      元祖MVCはおっしゃるような捉え方で(非常に乱暴ですが)OKです。

      それと全く別物な「Web MVC」「MVC Model2」が今回提供された、という話でしょう。

      あとはどっちを好むかの問題です。

  • by Anonymous Coward on 2009年04月11日 18時18分 (#1547539)

    部門名でついアイマスの春香を思い出してしまった……。

    M もっと
    V ヴィジュアルを
    C ちゃんとしてほしいわねぇ~

typodupeerror

吾輩はリファレンスである。名前はまだ無い -- perlの中の人

読み込み中...