2008-08-25
Booの開発にはSharpDevelopがオヌヌメ
オープンソースの.NET用IDEに「SharpDevelop」というのがあるが、これがBooの開発環境としては何気におすすめだったので紹介しておく。
SharpDevelop自体はだいぶ前(1.xのころかな)に触った事があったけど、あまり出来がよくなかったのと既にVisual Studioを持っていたというのもあって使う機会がなかった。
でも今回Booを使うことになって久しぶりにSharpDevelopのサイトを覗いたら、いつの間にやらバージョンが3.0(Betaだけど)に上がっていたので勢いでダウンロードして使ってみた。
公式サイトは以下↓
使ってみる
インストール自体はインストーラが用意されているので簡単にできる。
で、起動するとこんな感じ。Visual Studioにそっくりですな。
では、まずBooのプロジェクトを作ってみよう。
プロジェクトを作るには、メニューから[File]→[New]→[Solution]を選択する。
作れるプロジェクトの種類は、
の三種類になる。
ここでは「Windows Application」を作成することにする。[Name]に適当なプロジェクト名を入力して、[Create]ボタンをクリックでプロジェクトを作成する。
できあがったプロジェクト構成を見てみると、フォームとデザイナのコードがちゃんと分離されて作られている。
フォームのコードは以下のようになっている。
MainForm.boo
namespace WinFormTest import System import System.Collections import System.Drawing import System.Windows.Forms partial class MainForm: def constructor(): // The InitializeComponent() call is required for Windows Forms designer support. InitializeComponent() // TODO: Add constructor code after the InitializeComponent() call. [STAThread] def Main(argv as (string)): Application.EnableVisualStyles() Application.SetCompatibleTextRenderingDefault(false) Application.Run(MainForm())
なんと!Booにはpartialクラスまであるんですね。namespaceの宣言とかもあって、みた感じほとんどC#と変わらないですね。
もちろんフォームデザイナも用意されているので、ポトペタで簡単にUIをデザインする事ができる。
イベントハンドラもお馴染みの方法(UI部品をダブルクリック)で追加することができる。
ボタンのダブルクリックで追加されたイベントハンドラが以下。
private def Button1Click(sender as object, e as System.EventArgs): MessageBox.Show(textBox1.Text)
テキストボックスの値をメッセージボックスで表示しとく。ちなみにはコードエディタはIntellisenceをサポートしている。
あとは「F8」キーでビルド、「F5」キーでデバッグ実行ができる。
これだけできれば十分実用に耐えられるレベルだと思う。
他にもNUnitと統合されてたり、リファクタリング機能やBoo←→C#間のコード変換といったSharpDevelopならではという機能もあったりするので結構使えそう。
あとは若干UIの動作がもっさり気味なので、それが解消されればにゃー。
- 44 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4GGLL_ja&q=Silverlight2
- 27 http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=ActiveXコントロール+Silverlight&num=50
- 23 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja:official&hs=1V7&q=ipc+C#&btnG=検索&lr=lang_ja
- 12 http://www.google.co.jp/search?sourceid=navclient&aq=t&hl=ja&ie=UTF-8&rlz=1T4GGIH_jaJP255&q=ASP.NET+バルーン
- 9 http://reader.livedoor.com/reader/
- 8 http://www.google.co.jp/search?hl=ja&lr=lang_ja&client=firefox-a&rls=org.mozilla:ja:official&hs=oC9&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=TurboGears+validate&spell=1
- 7 http://209.85.175.104/search?q=cache:W3tSDlcueDYJ:d.hatena.ne.jp/coma2n/20071117/1195281882+C#+?????c?????&hl=ja&ct=clnk&cd=2&gl=jp&lr=lang_ja&client=firefox-a
- 6 http://www.google.co.jp/search?sourceid=navclient&ie=UTF-8&rlz=1T4GGLL_en&q=HttpWebRequest+BeginGetResponse+python
- 5 http://www.google.co.jp/search?hl=ja&q=HTML ドロップダウンリスト&lr=lang_ja
- 5 http://www.google.co.jp/search?hl=ja&q=html+ドロップダウンリスト&lr=&aq=f&oq=





