- PR -

ASP.NET は魔法の杖か?

投稿者投稿内容
html
会議室デビュー日: 2001/09/05
投稿数: 4
投稿日時: 2002-07-29 14:57
引用:

biacさんの書き込み (2002-07-29 14:44) より:
だから。 どっちのコントロール?
ASP.NET サーバーコントロール? HTML コントロール?

ASP.NET でも、HTML コントロールは、いままでどおりですよ? JScript でクライアントサイド処理をしたけりゃ、それも、今までどおり。
ActiveX ドキュメントも、今までどおり。 (もっとも、.NET Framework の Windows フォーム用コントロールを貼り付けるのが、.NET Framework としては王道でしょうけど。)

「クライアントで処理してたのが、出来なくなった」って… ASP.NET には Web ブラウザの機能を制限する力があるとか、ASP.NET では任意の HTML を記述できないとか、考えておられます?


HTMLで使うコントロールについてです。
ASP.NETが機能を制限するというよりも、.NETが機能を制限するのでは、
と懸念してるんですが。(その懸念が間違いであって欲しい)
JScriptってのは書き間違いでした、Javaアプレットです。
.NETは過去のActiveX ドキュメントをインポートして利用することは出来ても、作成できないのでは?だって、.NETフレームワークで動作するバイナリしか吐けないんですよね?
ActiveXはVC++で作って、ASP.NET使って、ということであれば、
.NETの概念である一体化された開発環境というのが破壊される。
そうならないためには、ASP.NETが.NETランタイムを不要とするActiveXドキュメントバイナリを吐く機能が要ると思うんですが。
biac
大ベテラン
会議室デビュー日: 2001/10/22
投稿数: 106
投稿日時: 2002-07-29 15:24
引用:

JScriptってのは書き間違いでした、Javaアプレットです
.NETは過去のActiveX ドキュメントをインポートして利用することは出来ても、作成できないのでは?だって、.NETフレームワークで動作するバイナリしか吐けないんですよね?
ActiveXはVC++で作って、ASP.NET使って、ということであれば、
.NETの概念である一体化された開発環境というのが破壊される。
そうならないためには、ASP.NETが.NETランタイムを不要とするActiveXドキュメントバイナリを吐く機能が要ると思うんですが。



Java アプレットは VS.NET では開発できませんね。
Java 用の統合開発環境で MSIL を吐き出せないのと同じことですね。

VS.NET で ActiveX ドキュメントも作成できます。 (ただし、VC++ でアンマネージコードを書くしかないと思うし、それはタイヘンなだけ。 f(^^; )

ASP.NET が ActiveX ドキュメントバイナリを吐く必要があるんですか?
Tomcat が Java アプレットを吐き出すってのは、聞いたことがないんですが。


※ 「.NETの概念である一体化された開発環境」って…? .NET と .NET Framework と VS.NET と ASP.NET が、ごっちゃになってますか?
html
会議室デビュー日: 2001/09/05
投稿数: 4
投稿日時: 2002-07-29 15:33
引用:

biacさんの書き込み (2002-07-29 15:24) より:
Java アプレットは VS.NET では開発できませんね。
Java 用の統合開発環境で MSIL を吐き出せないのと同じことですね。

VS.NET で ActiveX ドキュメントも作成できます。 (ただし、VC++ でアンマネージコードを書くしかないと思うし、それはタイヘンなだけ。 f(^^; )

ASP.NET が ActiveX ドキュメントバイナリを吐く必要があるんですか?
Tomcat が Java アプレットを吐き出すってのは、聞いたことがないんですが。


※ 「.NETの概念である一体化された開発環境」って…? .NET と .NET Framework と VS.NET と ASP.NET が、ごっちゃになってますか?


Javaアプレットを吐き出さないかわりに、今まではActiveXドキュメントがカバーしてましたね。
Javaアプレットがイベントをクライアント内で処理してるようなことを
ASP.NETがやるためにはActiveX ドキュメントバイナリを吐かないと出来ないですね。
逆の言い方すると、ASP.NETがAXバイナリ吐けないから毎回PostBackする、
という滅茶苦茶な動作してくれるわけです。で、魔法の杖で指摘の動作になってる。

.NETとASP.NETがごっちゃになってる、というより、.NETを問題にしてるわけです。
.NETに移行して、WebのフロントはASP.NETで、今までと同じと考えてたら、
.NETとASP.NETを足しても実はActiveXドキュメントの足元に及ばないという落とし穴があるんでは、ということです。
biac
大ベテラン
会議室デビュー日: 2001/10/22
投稿数: 106
投稿日時: 2002-07-29 18:06
引用:

Javaアプレットがイベントをクライアント内で処理してるようなことを
ASP.NETがやるためにはActiveX ドキュメントバイナリを吐かないと出来ないですね。


Java VM を入れた上で Javaアプレットが動くように、.NET Framework のランタイムをクライアントに入れてやれば、.NET Framework 用のコントロール (Windows Forms を継承したコントロール) がクライアント側で動くようになります。
そのようにすれば、イベントをクライアント内で処理できますね。 (まだ日本語のドキュメントがほとんど無い状況ですが、すでに可能です。)

# まだ .NET Framework のランタイムが用意されていないプラットフォームのことを無視してますが、Swing の使える Java VM の普及数と、どのくらい違うものやら。 f(^^;


そして、しつこいようですが、Tomcat のような JSP 処理エンジンが、Java のソースコードをコンパイルして Java アプレットを吐き出しますか? ASP.NET のほうだけが ActiveX ドキュメントバイナリを吐き出さねばならないのはなぜですか? あるいは、今までにこういった HTTP リクエストの処理エンジンで、ActiveX ドキュメントバイナリを吐き出すものがありましたか?


引用:

.NETとASP.NETがごっちゃになってる、というより、.NETを問題にしてるわけです。
.NETに移行して、WebのフロントはASP.NETで、今までと同じと考えてたら、
.NETとASP.NETを足しても実はActiveXドキュメントの足元に及ばないという落とし穴があるんでは、ということです。


「.NET」とは MS の戦略を指す用語でしょう。 MS の戦略に問題がある、と? f(^^;
.NET Framework かな?
プラットフォームが Windows から .NET Framework に移行しちゃったら、Windows 用のバイナリは動かなくなっちゃいますよ。 3つ目は VS.NET かな? f(^^;
ASP.NET は Web サーバ側の HTTP リクエスト処理エンジンで、それを MS の戦略と足し合わせるのも、ActiveX ドキュメントと比較するのも、ムリがあると思いますが。 f(^^;

ASP.NET で実現出来ることは、今までの CGI と何ら変わらないのですから、クライアント側の技術である ActiveX と比較されても、ほんとに、答えようがないですよ。


ちなみに。 Web ブラウザが .NET Framework 用のコードを走らせられるようになると (.NET Framework のランタイムを入れた環境での IE は、そうなってます)、ActiveX ドキュメントでは出来なかった、部分信頼コード (partially trusted code) によるセキュリティが確保されます。 これによって、イントラネットならばともかく、インターネットでは使いにくかった ActiveX ドキュメントとは違って、安心してユーザに使ってもらえるようになりました。
なお、Java アプレットのセキュリティに似ていますが、
・ローカルディスク上にデータを保存できる。 (Isolated Storage 隔離ストレージ)
・ユーザーが、コモンダイアログを使ってファイルを引き渡せば、そのストリームを受け取ることができる。 (ファイル名などの情報は受け取れない)
…といった特徴があります。
参照: Code Access Security and Distribution Features in .NET Enhance Client-Side Apps


引用:

逆の言い方すると、ASP.NETがAXバイナリ吐けないから毎回PostBackする、
という滅茶苦茶な動作してくれるわけです。で、魔法の杖で指摘の動作になってる。


あの記事で川俣さんが指摘しているのは、Windows Form のつもりで Web アプリケーションを作るとそういう馬鹿げた設計をしてしまうよ、ということではないでしょうか。

基礎を学ばないままに、いきなり VS.NET を立ち上げて Web アプリケーションのプロジェクトを作ると、そういう失敗をしますよ、と。
html
会議室デビュー日: 2001/09/05
投稿数: 4
投稿日時: 2002-07-29 18:42
なるほど、そういうことであれば分かります。

元々の疑問は、ブラウザベースのアプリで、
"ActiveXドキュメント"と".NETとASP.NET"を比較すると、
動作が違う(HTMLタグのみ利用の場合)、もしくは、
動作出来る環境が違う(.NETコントロール利用の場合)んでは?
ということでしたが、ASP.NETはCGIと比較されるべき物ということですね。

納得はしたんですが、問題点の方は解決しないかな。時間が解決するのかな。
biac
大ベテラン
会議室デビュー日: 2001/10/22
投稿数: 106
投稿日時: 2002-07-29 19:35
引用:

元々の疑問は、ブラウザベースのアプリで、
"ActiveXドキュメント"と".NETとASP.NET"を比較すると、
動作が違う(HTMLタグのみ利用の場合)、もしくは、
動作出来る環境が違う(.NETコントロール利用の場合)んでは?
ということでしたが、ASP.NETはCGIと比較されるべき物ということですね。

納得はしたんですが、問題点の方は解決しないかな。時間が解決するのかな。


そうです。
ASP.NET は、CGI や JSP/Servlet や ASP などと同じく、動的に HTML を生成するための、サーバ側の手段でしかないと思います。

ActiveX ドキュメントと比べるなら、クライアント側で動かす .NET Framework 用のコードであり、たしかに「動作出来る環境が違う」という問題があるでしょうね。
・ActiveX: ActiveX に対応した Windows 9X / NT、IE4 以降
・.NET Framework: .NET Framework、IE5 以降 (.NET Framework のランタイムで入れさせられる)

これは、時間が解決してくれるでしょう。
しかも、案外と早いかもしれません。 Windows XP SP1 と Windows 2000 SP3 には、.NET Framework のランタイムも含まれるらしいですから。

スキルアップ/キャリアアップ(JOB@IT)