
Ubuntu日本語フォーラム

ログインしていません。
Ubuntu 7.10にLinux上で動作する.Net統合開発環境がありましたのでインストール方法や概要などを記載します。
・Monodeveloper(Mono)について
Monodeveloperはクロスプラットフォーム対応のVisualStudio.Netライクな.Net統合開発環境です。
対応開発言語はC#、VB.Net、C/C++、他にはJava(ただし機能が限られている)がサポートされています。
・コンパイルについて
Monoは共通言語仕様(CLI:Common Lnaguage Infrastructure)に基づいて開発されています。
CLIはJavaと同様の仮想マシンでプラットフォームの違いを吸収してくれるため、クロスプラットフォームでの開発が
可能です。(このあたりはMicrosoftの.Netと同じかな〜と。)
詳細は以下で記述されています。
http://ja.wikipedia.org/wiki/%E5%85%B1%E9%80%9A%E8%A8%80%E8%AA%9E%E5%9F%BA%E7%9B%A4
・サポートされているクラスライブラリ
MonoにはMicrosoft互換のAPIとMono独自のAPIの2つのクラスライブラリが含まれています。
・Microsoftと互換性があるクラスライブラリ
ADO.Net
ASP.Net
Windows.Forms
・Mono独自のクラスライブラリ
Gtk#・・・ユーザインターフェースのツールキット
MySQL、PostgreSQLのDB向けのAPI
Mozilla Web APIのユーザインターフェース
インストール方法:
以下にコマンドを記載します。バージョンは0.14です。
sudo apt-get install mono mono-gmcs mono-utils monodevelop monodoc mono-xsp monodoc-http monodoc-nunit-manual monodoc-gtk2.0-manual monodoc-gecko2.0-manual monodoc-ipod-manual monodevelop-nunit monodevelop-versioncontrol monodevelop-query
インストール方法参照元は以下を参照しました。
http://beans.seartipy.com/2007/10/31/installing-cmononetmonodevelopxsp-in-ubuntu-gutsy-gibbon710/
ASPに興味があれば以下が参考になるかな〜と思います。
http://www.howtogeek.com/howto/ubuntu/run-aspnet-applications-on-ubuntu-for-developers/
以上、冗長になってしまいましたが、いろいろ調査を行っていきたいなと思います(特にWindowsプログラムなど。一応Webもやりますが。。。)
ご興味のある方、お試しください。
ちなみにMonoはスペイン語で「猿」という意味らしいです。
オフライン
とりあえず、Monoを動かしてみようと思い、恒例のHello Worldを作成してみました。(言語はC#を選択)
以下、操作方法です。
1.Monoを起動する。
2.ファイルメニューをクリック
3.ファイルメニューから「新しいプロジェクトを追加」を選択
4.テンプレートのリストボックスからC#を選択
5.コンソールプロジェクトを選択
6.ロケーションの名前ボックスにファイル名を入力(今回はHelloを入力しました)
7.進むボタンをクリック
8.「新しいソリューション」ダイアログが表示されますが、今回は何も入力しないでOKボタンをクリック
以上の操作を行うと、すでに簡単なプログラムが自動生成されています。
文法自体はC#なのでC#の文法そのものについては特に説明しません。(Googleなどで検索するのが一番手っ取り早いですし。。。)
C#の勉強の勉強などには充分過ぎるツールじゃないかな〜と個人的には思います。
自動生成した簡単なプログラム:
using System;
namespace Hello
{
class MainClass
{
public static void Main(string[] args)
{
Console.WriteLine("こんにちは、Mono");
}
}
}
追記)
記述してみて気づいたのですが、VisualStuido.Netでは
public static void Main()
ですが、Ubuntu(Linux)ではきちんと
public static void Main(String[] args)
と記述してくれるのですね。(^^)
最後の編集者: eng16danbo (2008-04-06 07:55:55)
オフライン
◆コンパイラについての補足(C#)◆
MonoではC#をコンパイルするとき、mcsというコンパイラを使用します。
mcsはプログラムを実行形式ではなく、共通中間言語(CIL)と呼ばれる中間バイトコードに
コンパイルします。
で、実行する時はコンパイルされたCILのバイトコードをJIT(Just In Time)コンパイラという
コンパイラを使用して機械コードに翻訳をするということです。。。
このあたりはMicrosoftの.Netの仕様と似ているな〜と思います(というか、そのまま。。。?)。
多分、上記の説明では不足している部分もあると思うので、.Net開発経験のある見識者の方々のご意見を
いただければ助かります。(まったくの初心者なので。。。)
最後の編集者: eng16danbo (2008-04-05 22:32:43)
オフライン
eng16danbo による投稿:
このあたりはMicrosoftの.Netの仕様と似ているな〜と思います(というか、そのまま。。。?)。
多分、上記の説明では不足している部分もあると思うので、.Net開発経験のある見識者の方々のご意見を
いただければ助かります。(まったくの初心者なので。。。)
そのままです。.NETで使われるC#が吐くのはMSILと呼ばれるべきかもしれませんが、MSILはCILに
準拠した実装です。一般的な.NET環境では「IL」と呼称することが多いようです。
厳密にはJITコンパイラはVESの上で走るぜとか細かい点はありますが、実用上はその理解で
間違いないかと。
オフライン
>hitoさん
ご返事ありがとうございます。
VESについてはまったく認識がなかったです。。。(爆)
なにか参考になるものがないかと探していますが、
http://ja.wikipedia.org/wiki/%E3%82%A2%E3%82%BB%E3%83%B3%E3%83%96%E3%83%AA_(.NET)
のあたりを読んでいるところです。
monoとVisualStudio.Netのコンパイルの相違点なども含めて調査していきたいと思います。
ありがとうございました。
最後の編集者: eng16danbo (2008-04-06 07:49:05)
オフライン
・Gtk#ユーザインターフェースプログラム(C#)
調査不足かなとも思いましたが、gladeなどを使用してユーザインターフェースプログラムをされている方々も
いらっしゃるみたいなのでMonoを使用してユーザインターフェースを作成したいと思います。
その前にインストール方法でGtk#のインストールが記載されていないので下記に記載します。(すみません。。。)
実行コマンド:
sudo apt-get install gtk-sharp
Gtk#はLinux向けのユーザインタフェースを構築するツールキットです。
まずは簡単なWindowsプログラムを作成したいと思います。
Monodeveloperで以下のプログラムを入力してファイルを保存します。
(〜〜ソースコード ここから〜〜)
using System;
using Gtk;
namespace BasicWindows
{
class MainClass
{
public static void Main (string[] args)
{
Application.Init ();
Window win = new Window ("Gtk# Basics");
Button btn = new Button("Hit Button");
//イベントの取扱いを設定します
win.DeleteEvent += new DeleteEventHandler(Window_Delete);
btn.Clicked += new EventHandler(Button_Clicked);
//GUIの初期化
win.Add(btn);
win.SetDefaultSize(200,100);
win.ShowAll();
Application.Run();
}
static void Window_Delete(object o, DeleteEventArgs args){
Application.Quit();
args.RetVal = true;
}
static void Button_Clicked(object o, EventArgs args){
System.Console.WriteLine("Hello,World!");
}
}
}
(〜〜ソースコード ここまで〜〜)
保存したら端末を起動します。
cdコマンドを使用して、Monodeveloperで作成したC#ソースコードのディレクトリへ移動します。
$cd (C#のソースコードを保存したディレクトリ)
$mcs (保存したファイル名).cs -pkg:gtk-sharp
コンパイルが成功したら次のコマンドを実行。
$mono (保存したファイル名).exe
そうすると、Windowsが表示されます。(閉じるボタンを押せば終了します)
「Hit Button」ボタンをクリックする度に端末上に"Hello,World"が表示されます。
以上です。
gladeについても調査していきたいと思います。。。
最後の編集者: eng16danbo (2008-04-06 16:44:43)
オフライン
MonoではWinFormsも使えますよね。
WinFormsは互換目的で取り入れられているだけで、Gtk#を使ったほうがいいのでしょうか?
オフライン