ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

iPhone/iPod touch/iPad:開発者コミュのC#/.NET「MonoTouch」で開発可能になったが

  • mixiチェック
  • このエントリーをはてなブックマークに追加
Novellが.NET向けiPhoneアプリ開発ツール「MonoTouch」,C#などが利用可能
http://itpro.nikkeibp.co.jp/article/NEWS/20090915/337192/

.NETでiPhoneアプリ開発、「MonoTouch」がリリース
http://www.atmarkit.co.jp/news/200909/15/novell.html

GoogleNews
http://news.google.co.jp/news/story?um=1&ned=jp&cf=all&ncl=dr5lSymlNDvyaYMzucbkvictdeYvM

ベータテスターの方のファーストインプレッション
http://d.hatena.ne.jp/iseebi/20090906/p1

HelloWorld
http://monotouch.net/Tutorials/MonoDevelop_HelloWorld

ということらしいです。

もともとC#プログラマーでobjective-Cとココアライブラリが苦手な自分にとっては、
(というより、VS.net/C# 開発環境と比較してすべての面でできが悪いと思う)
3Dの.net開発環境のUnity
http://unity3d.com/
がなんとか2Dでも効率よく使えないのか、期待していたので、今回のリリースはとても喜ばしいです。
1年ライセンス4万円ほどですが、シミュレーターで動作させる限りは無料というようなことも書いてありました。


以下、SnowLeopard+iPhone sdk 3.1をベースに
試用版を動作させようとした結果。

Evaluation
http://monotouch.net/DownloadTrial
から、
MonoTouchフレームワークをダウンロードし、一度目失敗

http://monotouch.net/Documentation/Installation

http://www.go-mono.com/mono-downloads/
から、
Mono2.4.2.3(OSX)をダウンロードし、インストールの後、
再度MonoTouchフレームワークのインストールは成功しました。

しかし、
Once you install MonoTouch, you will be prompted for your personal information to activate your copy of MonoTouch, fill the following form:
というような、アクティベーションのウィンドウも出ません。

Cocoa# 0.9.5 sourceがMonoに必要というようなことも書かれているようですが、
これはコンパイルする必要があるということでしょうか?

最後に、
http://monodevelop.com/Download/Mac_MonoTouch
から、MonoDevelop-MonoTouch-Preview-20090915-2.dmg
をダウンロードし、インストールの後、
appファイルクリックで起動させましたが、バックグラウンドでMonoが
起動しているもののIDEはでてきません。

以上、どうも要領を得ないのですが、
同じような報告がMonoのフォーラムにあるようです。
http://www.nabble.com/forum/ViewPost.jtp?post=25468868&framed=y

現状、正式版がリリースされてすぐなので、バグはFixされていくでしょうが、
ここで、なんらかの情報交換ができれば有益だと考えます。

コメント(10)

準備するもの
?Mac

まじすげぇよ天才だわ。
何を目的にこれ作られてんの?
応用できない小手先ローカル技術は頭に入れるのももったいない。
トピ主より報告
フォーラムに新しいコメントがあり、
http://go-mono.com/forums/#nabble-to25306591%7Ca25479435

http://go-mono.com/forums/#nabble-td25466690
のワークアラウンドで解決できることを確認しました。

terminal.appから
sudo rm -rf ~/.wapi
と入力、パスワード入力、実行するだけです。
その後、mondevelopの起動成功しました。
さっそく、HelloWorld的なものを作って実行してみました。

ベータテスターの方のファーストインプレッション
http://d.hatena.ne.jp/iseebi/20090906/p1

HelloWorld
http://monotouch.net/Tutorials/MonoDevelop_HelloWorld

は、基本的に同じものですが、IBでのコントロールの作り方が
後者のほうが最新であることと、
Main.csでのボタンタップイベントのデリゲートを分離するかしないかの
違いがありました。

IBの作業と対応させながらコード上の
IBAction、プロパティ変数などの手動定義は一切不要、
(IB上のコントロールパーツと、自分で定義したクラス名とを紐づける作業は、
あいかわらず手動だが)
イベントロジックも補完機能で、
デリゲートセクションのコードが自動生成されたりするのは、
VS.netやMonoDevelopのGUI作成の要領と同じで
実質、Xcode+ObjectiveCで書くより、タイピング量は誇張抜きで
1/10くらいに感じました。

後のロジック部分のコーディングは、当然まったくC#と同じで、
これも補完機能がばりばり効きます。
なにより、ガベージコレクションがあるので、オブジェクトをリリースとか、
メモリ管理、メモリリークをまったく気にせずに安全なコードを書けるというのも大きいですね。
AppStoreへの配布もMonoDevelopからサポートされているようです。
たぶんC#使う人にとってはObjective-Cは数時間で完璧だからこそ問題で,シンプルすぎてモダンな言語の備える特徴を十分に持っていないように感じるんじゃないですかね。僕は普段Ruby使っていますが,Objective-Cの学習に困難は感じませんが,やはり使っていてちょっとイライラします。それにMonoTouchはIDEとしてもXcodeよりはよくできている感じがします。まあお金取るんだからそれぐらいしてもらわないと…
実際、学習に困難を感じる、というよりも、
基本、Cの完全上位互換のオブジェクト指向へのマクロ的拡張のハイブリッド言語で、
現実のコーディングするときはその拡張のほうを主に使うので、
表記に統一性がない煩雑なものになり、そこにとっつきにくい、ということがありますね。私が最初に「苦手」と書いたのはこの文脈であり、ここが微妙に誤解されている感じがしますが、理解できないという意味ではありません。

あとメモリ管理をどうするのか、というのはobjective-Cの仕様じゃなくて、
Cocoaフレームワークの仕様の問題であって、ここは全然理解していません、
正直、今時メモリ管理が自動でないとわかって愕然としましたが、
MonoTouch/.netフレームワークのガベージコレクションはちゃんと
自動管理してくれるのでそれは解決できたと思っています。

MonoDevelop(IDE)は、基本、Monoプロジェクトの成果物なので、このIDEの完成度はフリーのMonoDevelopでも同等で、有料だから完成度が高いというわけではありません。
このiphoneむけの拡張ももともとはオープンで進められてきたものらしいし、
純粋なオープンソースプロジェクトの成果物のリリースとしては、
このパッケージはぼったくりである、と思いますが、
NovellはMonoプロジェクトのスポンサーであるので、仕方ないといえば仕方ないし、
これは絶好の回収のタイミングであろうと思います。
MonoTouchでUITableViewにデータソースとバインディングして表示するサンプルが
SileverLightの動画つきで解説されています。

http://simon.nureality.ca/?p=39
実際にこちらでアプリをリリースした方いますか?

ちょっと触ってみた感じでは開発効率良さそうな印象をうけたのですが、実際にアプリリリースまで行ったときに、どうなのかと気になって。

ご存じの方いましたら、教えてくださいわーい(嬉しい顔)

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

iPhone/iPod touch/iPad:開発者 更新情報

iPhone/iPod touch/iPad:開発者のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。