• 追加された行はこの色です。
  • 削除された行はこの色です。
#title(C#、VB.NETのオンラインコンパイラ)

#navi(.NETプログラミング研究)

#contents

*C#、VB.NETのオンラインコンパイラ [#g94bc50e]

前々回からオンラインコンパイラについて紹介してきましたが、今回は私が見つけたC#かVB.NETをサポートしているオンラインコンパイラをまとめて紹介します。なおここでは、オンラインでコードをコンパイルしてダウンロードできるサービスの他に、オンラインでコードを実行して結果を表示するだけのサービスもオンラインコンパイラとして紹介します。

**[[Compilr>http://compilr.com/]] [#q4f89aa6]

&embed(<a href="http://www.flickr.com/photos/dobondotnet/7374908296/" title="08 by DOBON.NET, on Flickr"><img src="http://farm8.staticflickr.com/7220/7374908296_7a47a55b06.jpg" width="500" height="300" alt="08"></a>);
&embed(<a href="https://www.flickr.com/photos/dobondotnet/7374908296/" title="08 by DOBON.NET, on Flickr"><img src="https://farm8.staticflickr.com/7220/7374908296_7a47a55b06.jpg" width="500" height="300" alt="08"></a>);

-対応している言語は、C#、VB.NETの他に、C、C++、Java、JavaScript、Pascal、PHP、Python、Ruby。
-「.NET 2.0」、「.NET 3.5」、「.NET 4.0」、「XNA 4.0 Windows」を選択可能。
-.NETでは、「Console Application」か「Windows Forms Application」を作成できる。
-XNA 4.0 Windowsでは、「Windows 3D Game」か「Windows Empty Game」を作成できる。
-コンソールアプリケーションは、オンラインで実行できる。
-ビルドして作成された実行ファイルをダウンロードできる。
-その他詳しくは、「[[オンラインコンパイラ「Compilr」を使う>http://wiki.dobon.net/index.php?.NET%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%B8%A6%B5%E6%2F104]]」。

**[[CodeRun>http://coderun.com/]] [#p25d62ae]

&embed(<a href="http://www.flickr.com/photos/dobondotnet/7431995798/" title="05 by DOBON.NET, on Flickr"><img src="http://farm9.staticflickr.com/8143/7431995798_eedf27331a.jpg" width="500" height="300" alt="05"></a>);
&embed(<a href="https://www.flickr.com/photos/dobondotnet/7431995798/" title="05 by DOBON.NET, on Flickr"><img src="https://farm9.staticflickr.com/8143/7431995798_eedf27331a.jpg" width="500" height="300" alt="05"></a>);

-対応している言語は、C#の他に、JavaScript、PHP。
-APS.NET、WPF、Silverlightのアプリケーションを作成できる。
-コードの自動補完機能や、デバッグ機能など、多機能。
-Visual Studioのプロジェクトをアップロードしたり、ダウンロードすることができる。
-その他詳しくは、「[[オンラインコンパイラ「CodeRun」を使う>http://wiki.dobon.net/index.php?.NET%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%B8%A6%B5%E6%2F105]]」。

**[[Online-Compiler>http://www.online-compiler.com/]] [#g4cf480a]

&embed(<a href="http://www.flickr.com/photos/dobondotnet/7562466626/" title="1 by DOBON.NET, on Flickr"><img src="http://farm9.staticflickr.com/8010/7562466626_88fbe40dc8.jpg" width="500" height="300" alt="1"></a>);
&embed(<a href="https://www.flickr.com/photos/dobondotnet/7562466626/" title="1 by DOBON.NET, on Flickr"><img src="https://farm9.staticflickr.com/8010/7562466626_88fbe40dc8.jpg" width="500" height="300" alt="1"></a>);

-対応している言語は、C#の他に、PHP、Perl、C/C++。
-C#では、Windowsアプリケーションとコンソールアプリケーションを作成できる。
-使用するには、ユーザー登録が必要。
-IE9では「Loading...」と表示されたまま、何もできなかった。
-ツールバーで「New」-「New Project」を選択しても、何も起こらなかった(FirefoxとChromeで確認)。「New」-「New File」でファイルを追加するしかないのか?
-「New」-「New File」で「Program.cs」というファイルをRootに追加し、以下の様なコードを書いてみた。
#code(csharp){{
using System;

namespace ConsoleApplication1
{
    public class Program
    {
        public static void Main()
        {
            Console.WriteLine("hello");
            Console.ReadLine();
        }
    }
}
}}
-コードを書いて「Save」をしてから「compile」をクリックすると、コンパイルできる。この時コンパイルの結果が「Output」に表示される。また、コンパイルに成功すると、「Output」の一番下に「Download Program.exe」(「Program.exe」はコンパイルしたファイル名によって変わる)と表示され、これをクリックすると「Program.exe」をZIPファイルとしてダウンロードできる。
-「Save」してから「compile」しないと、セーブ前のコードがコンパイルされてしまう。
-コードエディタには、自動インデント、シンタックスハイライト機能がある。
-コードエディタのテーマを変更できる。テーマを変えて背景を黒以外にしないと、選択されている文字列が非常に見難い。
-オンラインでコードを実行することはできない。
-コードエディタでは日本語も入力できるが、コンパイルすると文字化けする。
-ツールバーの「Download」と「Upload」でファイルのダウンロードとアップロードができる。

**[[Ideone.com>http://ideone.com/]] [#o27d5d1d]

&embed(<a href="http://www.flickr.com/photos/dobondotnet/7562485654/" title="2 by DOBON.NET, on Flickr"><img src="http://farm9.staticflickr.com/8432/7562485654_c704108315.jpg" width="500" height="300" alt="2"></a>);
&embed(<a href="https://www.flickr.com/photos/dobondotnet/7562485654/" title="2 by DOBON.NET, on Flickr"><img src="https://farm9.staticflickr.com/8432/7562485654_c704108315.jpg" width="500" height="300" alt="2"></a>);

-対応している言語は、C#、VB.NET、F#の他に、Ada、Assembler、Assembler、AWK (gawk)、AWK (mawk)、Bash、bc、Brainf**k、C、C++、C++0x、C99 strict、CLIPS、Clojure、COBOL、COBOL 85、Common Lisp (clisp)、D (dmd)、Erlang、Factor、Falcon、Forth、Fortran、Go、Groovy、Haskell、Icon、Intercal、Java、Java7、JavaScript (rhino)、JavaScript (spidermonkey)、Lua、Nemerle、Nice、Nimrod、Objective-C、Ocaml、Oz、Pascal (fpc)、Pascal (gpc)、Perl、Perl 6、PHP、Pike、Prolog (gnu)、Prolog (swi)、Python、Python 3、R、Ruby、Scala、Scheme (guile)、Smalltalk、SQL、Tcl、Text、Unlambda、Whitespace。
-C#はmono-2.8、VB.NETはmono-2.4.2.3、F#はfsharp-2.0.0で実行される。
-「enter your source code」にコードを入力し、「run code」にチェックを入れ、「submit」ボタンをクリックすると、ページが遷移して結果が表示される。&br;
&embed(<a href="http://www.flickr.com/photos/dobondotnet/7562485808/" title="3 by DOBON.NET, on Flickr"><img src="http://farm9.staticflickr.com/8289/7562485808_5fa9301b17.jpg" width="500" height="300" alt="3"></a>);
&embed(<a href="https://www.flickr.com/photos/dobondotnet/7562485808/" title="3 by DOBON.NET, on Flickr"><img src="https://farm9.staticflickr.com/8289/7562485808_5fa9301b17.jpg" width="500" height="300" alt="3"></a>);
-「enter your source code」の横にある「template」をクリックするとテンプレートが、「sample」をクリックするとサンプルがコード欄に入力される。C#やVB.NETのテンプレートは、空のMainメソッド。
-「syntax highlight」にチェックを入れると、コード入力に[[EditArea>http://www.cdolivet.com/editarea/]]を使えるようになる。EditAreaには、自動インデントやシンタックスハイライトなどの機能がある。
-「private」にチェックを入れないでsubmitしたコードは、すべて公開される。公開されたコードは、「[[recent codes>http://ideone.com/recent]]」で見ることができる。
-「private」にチェックを入れなかったコードでも、結果画面の「link」にあるURLから誰でも見ることができる。
-コードを入力するテキストボックスの下にある「enter your input (stdin)」に、標準入力の文字列を入力することができる。この欄が表示されていない時は、「click here to enter input (stdin) or additional note」をクリックする。
-標準入力は、結果画面の「upload with new input」で入力し直すこともできる。
-結果画面の「clone」リンクをクリックすると、そのコードが入力された状態でコード入力画面が表示される。
-結果画面の「download」リンクをクリックすると、コードをテキストファイルで開くことができる。
-日本語は、結果画面で文字化けする。
-ユーザー登録しなくても使用できるが、ログインすると、コードを非公開にしたり(「user's」にチェックを入れる)、ラベルを付けたり、コードの履歴を見たり、コードをアップロードしたり、コードを削除したり等ができるようになる。
-オンラインでコンパイルすることはできない。

**[[Frosthawk>http://www.frosthawk.net/]] [#kc6585db]

&embed(<a href="http://www.flickr.com/photos/dobondotnet/7562585934/" title="4 by DOBON.NET, on Flickr"><img src="http://farm8.staticflickr.com/7258/7562585934_3aa28770b9.jpg" width="500" height="300" alt="4"></a>);
&embed(<a href="https://www.flickr.com/photos/dobondotnet/7562585934/" title="4 by DOBON.NET, on Flickr"><img src="https://farm8.staticflickr.com/7258/7562585934_3aa28770b9.jpg" width="500" height="300" alt="4"></a>);

-C#とVB.NETに対応。両者とも.NET Framework 3.5。使用言語は「Setting」で変更できる。
-コードを入力して「Ctrl+Shift+B」キーを押すと、コンパイルできる。はじめてコンパイルした時は、2つのURLが発行される。「Development URL」は開発者が覚えておくURLで、このURLを開けば編集可能な状態でコードを開ける。「Public URL」は公開用のURLで、リードオンリーの状態でコードを開ける。
-コードを編集して保存するときもコンパイルする。
-「Download」をクリックすると、コンパイルされたEXEファイルをダウンロードできる。
-「Reference」で参照設定を変更可能。
-オンラインでコードを実行することはできない。
-日本語でも文字化けしない。

**[[run code>http://rextester.com/rundotnet]] [#j64b20e9]

&embed(<a href="http://www.flickr.com/photos/dobondotnet/7562614456/" title="5 by DOBON.NET, on Flickr"><img src="http://farm8.staticflickr.com/7274/7562614456_440a443df0.jpg" width="500" height="300" alt="5"></a>);
&embed(<a href="https://www.flickr.com/photos/dobondotnet/7562614456/" title="5 by DOBON.NET, on Flickr"><img src="https://farm8.staticflickr.com/7274/7562614456_440a443df0.jpg" width="500" height="300" alt="5"></a>);

-対応している言語はC#、VB.NETの他、Assembly、C++、C、Haskell、Java、Javascript、Lua、Objective-C、Pascal、Perl、Php、Python、Ruby、Sql Server。
-コードを入力し、「Run it」ボタンをクリックすると、ページの一番下に標準出力の結果が表示される。
-F8キー、F5キーでも実行できる。
-「Show input」をクリックすると、標準入力を入力するためのテキストボックスが表示される。
-「Save it」ボタンをクリックすると、そのコードを表示するためのURLを取得できる。
-「Live cooperation」をクリックすると、複数人でコードを編集できて、リアルタイムで変更を知ることができるページのURLを取得できる。この機能はIEでは使用できない。
-コードエディタを普通のテキストボックスではなく、[[CodeMirror>http://codemirror.net/]]や[[EditArea>http://www.cdolivet.com/editarea/]]に変更できる。CodeMirrorやEditAreaには、自動インデントやシンタックスハイライトなどの機能がある。
-「Put on a wall」をクリックすると、コードを[[Code wall>http://rextester.com/codewall]]に投稿できる。
-F11キーを押すと、フルスクリーンモードになる。元に戻す時はEscキーを押すか、F8キーを押してコードを実行する。
-日本語でも文字化けしない。

**[[compilify.net>https://compilify.net/]] [#o711fa75]

&embed(<a href="http://www.flickr.com/photos/dobondotnet/7562660280/" title="6 by DOBON.NET, on Flickr"><img src="http://farm9.staticflickr.com/8424/7562660280_5417731b9a.jpg" width="500" height="300" alt="6"></a>);
&embed(<a href="https://www.flickr.com/photos/dobondotnet/7562660280/" title="6 by DOBON.NET, on Flickr"><img src="https://farm9.staticflickr.com/8424/7562660280_5417731b9a.jpg" width="500" height="300" alt="6"></a>);

-C#に対応。
-「excute」欄に実行したいコードを書く。Mainメソッドは不要。出力したい結果をreturnで返す。例えば「excute」に「return "こんにちは。";」と書いて「run」をクリックすると、「observe」に「"こんにちは。"」と表示される。
-「define」欄にはクラスなどの定義を記述できる。
-「save」をクリックするとページが遷移し、そのページのURLを開くとsaveしたコードが開くようだ。
-「run」をクリックしても何も起こらないことがしばしばあった。
-日本語でも文字化けしない。

**[[Silverlight C# Compiler Sample on nokola.com>http://nokola.com/TryCSharp/]] [#z9ec2842]

&embed(<a href="http://www.flickr.com/photos/dobondotnet/7562706334/" title="7 by DOBON.NET, on Flickr"><img src="http://farm8.staticflickr.com/7257/7562706334_d65156f4c1.jpg" width="500" height="300" alt="7"></a>);
&embed(<a href="https://www.flickr.com/photos/dobondotnet/7562706334/" title="7 by DOBON.NET, on Flickr"><img src="https://farm8.staticflickr.com/7257/7562706334_d65156f4c1.jpg" width="500" height="300" alt="7"></a>);

-C#。Silverlightのテストが出来る。
-DoWorkメソッドにコードを入力して「Run」ボタンをクリックすると、returnで返した文字列が「Output」に表示される。
-DoWorkメソッドのinputパラメータに渡したい文字列は、「Input」に入力する。
-日本語も文字化けしない。

**まとめ [#d9d10f1b]

調べてみると実に様々なオンラインコンパイラがあり、それぞれに特徴があります。使い方によっては、かなり便利です。

私が考えるオンラインコンパイラの用途をあげてみます。

-IDEとして、Visual Studioの代わりに使用する&br;
CodeRunなどはかなり機能が充実していますが、それでもVisual Studioの代わりになるほどの機能はありません。これからに期待です。
-ファイルを持ち歩かずに、どこでも開発ができる&br;
現時点ではオンラインコンパイラで大規模な開発は難しいので、簡単なもの以外は無理でしょう。
-インターネットを通じて、複数人で開発を進める&br;
run codeにはリアルタイムで同時に複数人がコードを編集するための機能がありますが、これも簡単なものしかできません。
-コードをみんなで共有する&br;
ほぼすべてのオンラインコンパイラに、公開用のURLを発行する機能があります。この機能によって、役に立ちそうなコードスニペットなどを公開して、みんなで共有することができます。
-プログラミングの学習に使用する&br;
ちょっとプログラミングを勉強してみたいという人にはピッタリです。
-コードの動作確認に使用する&br;
Visual Studioをわざわざ起動させる程ではないけどちょっと確認してみたいという時には、Ideone.comのようなサービスが便利です。
-.NETが動かない環境で使用する&br;
オンラインコンパイラはWebブラウザさえ動けば使えるので、iOSやAndroidなどのスマートフォンでもC#やVB.NETのコードを実行させる(サーバー上でですが)ことができます。

まだまだ使い道がありそうです。なにかいいアイデアがありましたら、ぜひ教えて下さい。

**コメント [#dbb7c9b8]
#comment

//これより下は編集しないでください
#pageinfo([[:Category/.NET]] [[:Category/ASP.NET]],2012-07-17 (火) 04:16:51,DOBON!,2012-07-17 (火) 04:16:51,DOBON!)


[ トップ ]   [ 新規 | 子ページ作成 | 一覧 | 単語検索 | 最終更新 | ヘルプ ]