• ベストアンサー

ブラウザ上でクライアント側で動くアプリの開発

現在、ブラウザ上でクライアント側で動くアプリを作りたいと考えているのですが、JAVA ScriptやFlashでは簡単にソースを見られてしまいます。 そのため、C#.NETとかで作れないかと考えているのですが、可能でしょうか? 可能でしたら、どの様にして作成すればいいでしょうか? また、Cを使う以外に、もっと良い方法があるのならその方法を教えて欲しいです よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • zwi
  • ベストアンサー率56% (730/1282)
回答No.6

Win32プロジェクトを選ぶとWindowアプリになるはずです。ただし、ダイアログ(フォームとほぼ同等)などのリソースをエディットできるのは有料のスタンダード以上のエディションである必要があります。 ただ、Win32プロジェクトは手間が掛かりますのでC#に比べると面倒な作業になります。 MFCプロジェクトならクセはありますが、C#やC++/CLIのフォームと同じような事が出来ます。これも有料のスタンダード以上のエディションである必要があります。 >また、もし無理なら、インターフェイスの部分だけはMSILでつくって、ネイティブコードで作れる部分は、ネイティブコードで作るといったことは可能でしょうか? やったことは無いですが可能なはずです。どうすれば良いかは私も知らないので再度質問してみてください。

glarelance
質問者

お礼

お礼が遅れてしまって、申し訳ありません。 どうも有り難うございました。

その他の回答 (6)

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.7

>ブラウザ上でクライアント側で動くアプリ 方法としては、以下が考えられる。 (1)ActiveX (2)Java Applet (3)Flash (4)マネージコントロール (5)Silverlight (6)リモートデスクトップコントロール(msrdp.ocx) ※ターミナルサーバ上で動いているアプリが、あたかもIE上で動いているように見える このうち、C#で開発できるのは(1)(4)(5)(6)である。 (6)以外は、おそらくリバースコンパイルが可能。 (6)は、インターネットで不特定ユーザーに公開するには不向き。 C++ネイティブで開発するなら(1)かな。

glarelance
質問者

お礼

お礼が遅れてしまって、申し訳ありません。 どうも有り難うございました。

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.5

>VisualStudioの場合ネイティブコードへコンパイルするか、MSILへコンパイルするかは何処で選択すればいいのでしょうか? VS2005だとプロジェクトを作成するときに、CLR(CLI)系のプロジェクトを選べばMSILコード(マネージドコードとも呼ばれます)でコンパイルされます。逆にMFCやWin32のプロジェクトを選べばネイティブコードです。 C++とC++/CLIは文法が違う所があるのと.NETライブラリはC++で使えないのでC++/CLI向けに書いたものはC++で使えません。 http://www37.atwiki.jp/visualstudio/pages/41.html

glarelance
質問者

お礼

VisualC++で新しいプロジェクトを作成しようとしてみたんですが、プロジェクトの種類でWin32を選ぶと、GUIを持ったプロジェクトを作成するような項目が見あたらないのですが、MSILを使用しないと、GUIを持ったプログラムは作成できないのでしょうか? また、もし無理なら、インターフェイスの部分だけはMSILでつくって、ネイティブコードで作れる部分は、ネイティブコードで作るといったことは可能でしょうか?

  • hidebun
  • ベストアンサー率50% (92/181)
回答No.4

Googleから、Native Clientなんてのが出てますね。 詳しいことは知りませんが。 http://www.atmarkit.co.jp/news/200812/09/nacl.html

glarelance
質問者

お礼

なるほど、こういったものもあるんですね~ 候補の一つとして調べてみます

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.3

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環境で動くオープンソースのコンパイラも存在します。

glarelance
質問者

お礼

別の方でも回答頂き有り難うございます。 >VisualStudio2005以降は、C++のネイティブ(機械語)コードを出すコンパイラとC++/CLIと言うC#やVBと共通の中間言語コードを出すコンパイラの二種類を搭載しています。 とのことですが、VisualStudioの場合ネイティブコードへコンパイルするか、MSILへコンパイルするかは何処で選択すればいいのでしょうか?

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.2

JAVAの逆コンパイラの存在も問題って事ですね。そういう意味ならC#も逆コンパイが存在します。両方とも実行するのは中間言語コードですからね。 両者には変数やデータ構造の難読化ツールはあるので、それでも問題なら中間言語コードで動く言語は諦めて機械語コードのコンパイラで動く言語を選ぶべきだと思います。 その場合はブラウザで動くアプリとは言えませんが。

glarelance
質問者

お礼

なるほど、機械語コードで動くコンパイラってどの様なものがあるのですか?

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.1

C#のやり方は良くわかりませんが、一般にクライアントで動かすならJAVAが一般的じゃないでしょうか? FireFoxとかMACのサファリでも動かすとするとC#はだめな気がします。

glarelance
質問者

お礼

解答有り難うございます。 JAVAでは、簡単にソースを見られてしまうので、JAVAは余り使いたくないんです。 また、FireFoxでもMACでも動くような汎用性は、これには必要ないんです。 させたいことは、サーバー側でやるのは重すぎるので、クライアント側でさせたいんですが、ソースは見られたくないって感じのことなんです。

関連するQ&A

専門家に質問してみよう