- ベストアンサー
ブラウザ上でクライアント側で動くアプリの開発
現在、ブラウザ上でクライアント側で動くアプリを作りたいと考えているのですが、JAVA ScriptやFlashでは簡単にソースを見られてしまいます。 そのため、C#.NETとかで作れないかと考えているのですが、可能でしょうか? 可能でしたら、どの様にして作成すればいいでしょうか? また、Cを使う以外に、もっと良い方法があるのならその方法を教えて欲しいです よろしくお願いします。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
Win32プロジェクトを選ぶとWindowアプリになるはずです。ただし、ダイアログ(フォームとほぼ同等)などのリソースをエディットできるのは有料のスタンダード以上のエディションである必要があります。 ただ、Win32プロジェクトは手間が掛かりますのでC#に比べると面倒な作業になります。 MFCプロジェクトならクセはありますが、C#やC++/CLIのフォームと同じような事が出来ます。これも有料のスタンダード以上のエディションである必要があります。 >また、もし無理なら、インターフェイスの部分だけはMSILでつくって、ネイティブコードで作れる部分は、ネイティブコードで作るといったことは可能でしょうか? やったことは無いですが可能なはずです。どうすれば良いかは私も知らないので再度質問してみてください。
その他の回答 (6)
- todo36
- ベストアンサー率58% (728/1234)
>ブラウザ上でクライアント側で動くアプリ 方法としては、以下が考えられる。 (1)ActiveX (2)Java Applet (3)Flash (4)マネージコントロール (5)Silverlight (6)リモートデスクトップコントロール(msrdp.ocx) ※ターミナルサーバ上で動いているアプリが、あたかもIE上で動いているように見える このうち、C#で開発できるのは(1)(4)(5)(6)である。 (6)以外は、おそらくリバースコンパイルが可能。 (6)は、インターネットで不特定ユーザーに公開するには不向き。 C++ネイティブで開発するなら(1)かな。
お礼
お礼が遅れてしまって、申し訳ありません。 どうも有り難うございました。
- zwi
- ベストアンサー率56% (730/1282)
>VisualStudioの場合ネイティブコードへコンパイルするか、MSILへコンパイルするかは何処で選択すればいいのでしょうか? VS2005だとプロジェクトを作成するときに、CLR(CLI)系のプロジェクトを選べばMSILコード(マネージドコードとも呼ばれます)でコンパイルされます。逆にMFCやWin32のプロジェクトを選べばネイティブコードです。 C++とC++/CLIは文法が違う所があるのと.NETライブラリはC++で使えないのでC++/CLI向けに書いたものはC++で使えません。 http://www37.atwiki.jp/visualstudio/pages/41.html
お礼
VisualC++で新しいプロジェクトを作成しようとしてみたんですが、プロジェクトの種類でWin32を選ぶと、GUIを持ったプロジェクトを作成するような項目が見あたらないのですが、MSILを使用しないと、GUIを持ったプログラムは作成できないのでしょうか? また、もし無理なら、インターフェイスの部分だけはMSILでつくって、ネイティブコードで作れる部分は、ネイティブコードで作るといったことは可能でしょうか?
- hidebun
- ベストアンサー率50% (92/181)
Googleから、Native Clientなんてのが出てますね。 詳しいことは知りませんが。 http://www.atmarkit.co.jp/news/200812/09/nacl.html
お礼
なるほど、こういったものもあるんですね~ 候補の一つとして調べてみます
- zwi
- ベストアンサー率56% (730/1282)
VisualStudio2005以降は、C++のネイティブ(機械語)コードを出すコンパイラとC++/CLIと言うC#やVBと共通の中間言語コードを出すコンパイラの二種類を搭載しています。 http://ja.wikipedia.org/wiki/C%2B%2B/CLI http://ja.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B その他にもBorand C++ Builderもネイティブなコードを出しますし、 http://www.codegear.com/jp/products/cppbuilder 言い出したらC++言語だけでもかなり色々なメーカーが出しています。例えばINTELとか。あとはcygwin環境で動くgccとかWindows環境で動くオープンソースのコンパイラも存在します。
お礼
別の方でも回答頂き有り難うございます。 >VisualStudio2005以降は、C++のネイティブ(機械語)コードを出すコンパイラとC++/CLIと言うC#やVBと共通の中間言語コードを出すコンパイラの二種類を搭載しています。 とのことですが、VisualStudioの場合ネイティブコードへコンパイルするか、MSILへコンパイルするかは何処で選択すればいいのでしょうか?
- zwi
- ベストアンサー率56% (730/1282)
JAVAの逆コンパイラの存在も問題って事ですね。そういう意味ならC#も逆コンパイが存在します。両方とも実行するのは中間言語コードですからね。 両者には変数やデータ構造の難読化ツールはあるので、それでも問題なら中間言語コードで動く言語は諦めて機械語コードのコンパイラで動く言語を選ぶべきだと思います。 その場合はブラウザで動くアプリとは言えませんが。
お礼
なるほど、機械語コードで動くコンパイラってどの様なものがあるのですか?
- zwi
- ベストアンサー率56% (730/1282)
C#のやり方は良くわかりませんが、一般にクライアントで動かすならJAVAが一般的じゃないでしょうか? FireFoxとかMACのサファリでも動かすとするとC#はだめな気がします。
お礼
解答有り難うございます。 JAVAでは、簡単にソースを見られてしまうので、JAVAは余り使いたくないんです。 また、FireFoxでもMACでも動くような汎用性は、これには必要ないんです。 させたいことは、サーバー側でやるのは重すぎるので、クライアント側でさせたいんですが、ソースは見られたくないって感じのことなんです。
お礼
お礼が遅れてしまって、申し訳ありません。 どうも有り難うございました。