1read 100read
2011年10月1期新・mac【C#, C♯, C#】 MonoMac 【MonoDevelop】 TOP カテ一覧 スレ一覧 削除依頼
・ 次のスレ
おい、そこの絵心のあるやつ、MacOSたん描こうぜ 2
【中の人】Automator【小人】2人目
【App Storeへ】Pixelmator【お引っ越し】Part2.1
Mac Vim 再び


【C#, C♯, C#】 MonoMac 【MonoDevelop】


1 :10/12/06 〜 最終レス :11/12/27
Interface Builder と C# で Mac アプリが開発できる。
REALbasicとXcodeおわた
0. Xcodeをインストール(MonoMacは裏でgccやIBを利用するので必須)
1. Monoをインストール
2. ターミナルを起動し以下のファイルを作成(これやらないと日本語バケバケ)
 $ sudo su
 $ echo '"Lucida Grande" = "Hiragino Kaku Gothic Pro"' > /Library/Frameworks/Mono.framework/Versions/Current/etc/pango/pango.aliases
3. MonoDevelopをインストール、起動
4. アドインマネージャを起動
  メインメニュー → ツール → アドインマネージャ
5. アドインマネージャにリポジトリを追加
  Repositoriesボタン → 追加ボタン → URL欄に↓
  http://addins.monodevelop.com/Alpha/Mac/2.4
6. アドインマネージャに戻ると一覧に「Mono Development」が追加されているので、
  その中の「MonoMac development」をぶち込む。
7. おわり

2 :
>>1
何か開発してみてよ

3 :
>>2
// 新規作成してみたら↓のソースとxibファイルのが吐かれた
// あとはどうしたらいいのかわからん。
using System;
using System.Drawing;
using MonoMac.Foundation;
using MonoMac.AppKit;
using MonoMac.ObjCRuntime;
namespace mac01
{
class MainClass
{
static void Main (string[] args)
{
NSApplication.Init ();
NSApplication.Main (args);
}
}
}

4 :
普通に下から三行目の所からコード書いてくんだろ

5 :
いや、ちょっと試した感じ、xibを開くとInterfaceBuilderが起動、UIをゴニョゴニョして保存すると
xibの各オブジェクトがメンバ変数化されたウィンドウ周りのソースコードが自動生成される。
こりゃXcodeより親切だわ。
微妙に不安定だけどw
今後に期待だな。

6 :
>>1
動画で説明してくれ

7 :
Windowsとクロスプラットフォームで行くならわかるけど
C#でMac専用アプリなんて何の意味があるんだろう
そんなにAppleの開発環境嫌いなの?

8 :
MS嫌いでもC#は好き

9 :
Objective-Cが嫌

10 :
Objective-Cは負けた言語。Jobsの影響下でしか使われていない。

11 :
Objective-Cはソニーも使うってさ。

12 :
Mac本体が必要なのが非常にアレ

13 :
Mac専用のなんかどうでもいいからMonoはさっさとWPFとSilverlightの実装を済ませるべき
まあ単なるラッパーだから簡単なんだろうな

14 :
Windows.Formsでいい

15 :
>>13
Silverlightの実装はちゃんと進めてるだろ。MSが速すぎるからなかなか追いつけないけど。
WPFは、やらないと明言している。

16 :
まあ、Silverlightが高機能になってきてWPFを代替しようかという勢いなことを考えると
少ない開発リソースをWPFに全く振らずSilverlightに絞ったMonoはさすがの先見の明だったね。

17 :
>>7
Objective-C云々以前に、CodeWarrior、VisualStudio、Eclipse、NetBeans、RealBASICと色々な開発環境を使ってきたオレが思うに、Xcodeは明らかに
10年遅れてる。
コード補完が使えるのが唯一の救いな程度。
InterfaceBuilderとの連携もXcodeはMonoDevelop以下のサポート状況とか、
ギャグにもならん。

18 :
C#は一見するとJavaっぽいが、実態はPascalとLISPを合体させた
超絶仕様なので、他人・素人に薦めていいかと言われると微妙。
Objective-Cも微妙だが。

19 :
>>17
IB連携はXcode2からXcode3で微妙に退化したしねぇ(俺にとっては)

20 :
ニュー速にこのスレ貼りまくってるの誰だよ
http://mimizun.com/search/perl/idsearch.pl?board=news&id=CvlXISo70

21 :
>>18
どのへんがlispなのよ。

22 :
// >>21
using System;
using System.Collections.Generic;
using System.Linq;
class Test {
 public static void Main(string[] args) {
  var lst = new List<int>(new int[]{1,2,3,4,5});
  lst.Where(i => {
       Console.WriteLine("Where:" + i.ToString());
       return i % 2 == 0;
       })
  .Select(i => {
     Console.WriteLine("Select:" + i.ToString());
     return i + 1;})
  .ToList()
  .ForEach(i => Console.WriteLine(i.ToString()));
 }
}

23 :
C#が特別なんじゃなくて流行りなんだよ
スクリプト言語はもちろん、
ラムダ式なんてC++にも導入されたしJavaも欲しがってる

24 :
そもそも、lambda式の構文がlispに似ていない。概念としては、delegateとして初めからある。
C#をそこで突っ込むならSQL言語だろ。

25 :
LISP系ラムダの肝は遅延評価だろう。
その点で言えばRubyを筆頭としたスクリプト言語やC++0xのはラムダはラムダでも完全に別物。
数ある実装の中でもC#のdelegateとその応用発展系のラムダ式実装は「動作」的にCommon LISPに極めて近い。

26 :
C#のラムダ式は先行評価だよ
引数は全てあらかじめ評価されてから渡される

27 :
C#3.0あたりから暴走気味なのは確か

28 :
http://hibari.2ch.net/test/read.cgi/tech/1291554513/ にここの荒らし依頼があったのできました

29 :
>>25
この人何言ってんの?
rubyもlispも使ったことない人なの?

30 :
3 : 熱燗(北海道) :2010/12/15(水) 21:54:00.57 ID:HRyvXDTS0
プログラム言語に詳しい奴、ちょっと↓きてくれ    
(p)http://hibari.2ch.net/test/read.cgi/mac/1291602001/
なんなの

31 :
ニュー速から来ますた。
プログラム言語は15くらい操れます。

32 :
闇ハッカーだけど

33 :
ニュー速から
FORTRANでよければ

34 :
速からきました
MACでエロゲができるまでがんばってください

35 :
2 名前: 熱燗(北海道)[] 投稿日:2010/12/15(水) 21:57:40.40 ID:HRyvXDTS0
プログラム言語に詳しい奴、ちょっと↓きてくれ 
http://hibari.2ch.net/test/read.cgi/mac/1291602001/

36 :
>>26
引数の遅延評価の話なんかしてないように見えるが…
恐らくラムダじゃなくクロージャの変数束縛の振る舞いの話だな
以前Codezineのはてぶにまとめ記事が載ってた。
>>25の言ってることがあってるかどうかは知らんが、なんちゃってクロージャ言語の側にRubyは挙げられていた。

37 :
map関数やcall/ccがあるとlispっぽいと言ってもいいけど
lispの特徴の大部分は今では普通の手続き型言語に取り入れられているから
真に特徴的なのはマクロくらいだろう

38 :
えー、カッコがいっぱいあるのが Lispじゃないの?

39 :
スレタイ観てクロスプラットフォームと思ったけど違った
帰るわ

40 :
>>36
C#のラムダ式で遅延評価と言えばSystem.Linq.Expressions.Expressionじゃね?

41 :
delegateとか言ってるから違うだろ。Expression Treeはラムダ式限定。
それに実行時評価でそれこそlispのマクロなんかとは180度違うわ

42 :
下痢デート

43 :
ニュー速から
CUDAなら行けるけどMACで動くのやら

44 :
Mac(笑

45 :
ニュー即から
何でも俺にきけや

46 :
>>22からどの辺がLispっぽいのが推測するスレになりまいた!!

47 :
クリスピーな食感といえばカプリコかな〜

48 :
>>46
Lispにしては(((((や)))))が足りないよなw

49 :
VarにLambdaを代入できないのがなんだかなー
型推論くらい出来るだろうに

50 :
メソッドなのか式木なのか区別できるん?

51 :
Func<T, bool>なのかPredicateなのか区別出来ない。
ってことになってるからね。

52 :
Monodroidのスレってどっかにあるん?

53 :
お前らMonoMacからKinectを簡単に使えるようにしてくれ
たのむ
Kinect ハック
http://hibari.2ch.net/test/read.cgi/tech/1290795733/

54 :
MonoDevelopインストールしてMoonlightアプリケーションを作ってみようとしたが、
ソリューション作成して自動生成されたのをビルドできない。
いきなり終わった。。。
Error 1: respack failed:
Unhandled Exception: System.ArgumentException: Path is empty
at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) [0x00000] in <filename unknown>:0
at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share) [0x00000] in <filename unknown>:0
at (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
at System.IO.File.OpenRead (System.String path) [0x00000] in <filename unknown>:0
at ResourcePacker.Compress (System.Collections.Generic.List`1 files) [0x00000] in <filename unknown>:0
at ResourcePacker.Main (System.String[] args) [0x00000] in <filename unknown>:0
(1) (MoonlightTest01)

55 :
lispのlispたるゆえんは、プログラムが言語のデータでもある(プログラムはS式で表現する)ということでしょ。
つまりマクロの機能があるかどうかだよ。
JVMでつかえる関数型言語はScalaとClojureがあるけど、どちらも関数型言語で遅延評価はできる
ちがうのは、マクロが使えるかどうか。Clojure言語のプログラムはS式で表現する。
だからClojureは、関数型言語でありかつ「Clojureは「Lisp・リローデッド」だ。」といわれる。

56 :
>>52
ない
ここでいいんじゃね?
インストール方法まではほぼ同じだし。

57 :
MonoTouchは使ってるが、MonoMacは使ったことがない。
アルファ版プラグインを入れてMonoTouchが壊れたら嫌だから敬遠しているんだが、
REALbasicと比べてどうよ?

58 :
LINQ to SQLは、Expression使って
タイプセーフなラムダ式をSQLにしてるね
一般的な遅延評価よりちょっと進んでる感じ
LINQ to SQLを拡張した時、LambdaExpressionの引数を
部分適用(カリー化?)したんだけど結構メンドイ
ここら辺やはりC#は関数型でないと痛感
まあLINQのせいでJavaには戻れない体にされてしまったな

59 :
Hello World

60 :
微妙に不安定だなw

61 :
スタンドアローンで動作するアプリを作成するMono Packagerだって。
別途ライブラリインストールが必要ないので、AppStoreにもリリース可能だとか。
Mono Packager and the Apple AppStore
http://tirania.org/monomac/archive/2011/Jan-10.html

62 :
だれか簡単なウィンドウ表示&ボタンクリック処理のサンプルプロジェクトを公開してくれ。
イベント処理の書き方がわからない

63 :
okわかった。
InterfaceBuilderってクソだなwww
MainWindow.csをダブルクリック
 ↓
IB起動
 ↓
IBのWindowウィンドウにボタン(NSButton)とラベル(NSTextField)を貼り付ける。
 ↓
IBのMainWindow.xibウィンドウのFile's Ownerをクリック、別ウィンドウのプロパティ一覧の
ようなところでMain Window Controller Identityタブを選び、Class欄の→矢印を押す。
 ↓
上記操作でIBのLibraryウィンドウがMainWindowControllerに変わる。
下半分のプルダウンメニューからOutletsを選択、+ボタンを押して、
Outlet(C#のメンバ変数名)とType(C#の型)を手入力する。
 ↓
プロパティ一覧のようなウィンドウに戻って、Main Window Controller Connectionsタブを選ぶ。
するとOutletsの項目に上記で入力したOutletが表示されるので、●の部分をドラッグし、
Windowウィンドウのオブジェクトと結びつける。
 ↓
IBで保存し、IBを終了
 ↓
MonoDevelopに戻るとMainWindow.xib.designer.csに自動的にソースが追加される。
イベント処理等はMainWindowController.csに書く。

64 :
Macって、こんな酷い開発環境しかないの?

65 :
英語サイトみながらやっと出来たが、InterfaceBuilder意味不明すぎるだろ。

66 :
おさきMacら

67 :
敵性言語

68 :
面白い人がいると聞いて

69 :
いまやC#が最もポータビリティ高い言語
Windows, iPhone, Androidいける。

70 :
>>69
情報の少なさがネックだなあ
プアだがフリーな環境があるといいんだけど>iPhone

71 :
>>70
Unity

72 :
しかし、C#はGUIがいまいち互換性が低いと思うが

73 :
つか、C#風に書けるだけであって、C#でも何でもないような。
AndroidがJavaで書けるからといって、JVMで動いている訳ではないのと同じで。
CocoaがGNUStepで代替可能と言ってること位、おかしい気がする。

74 :
言語とランタイム環境とUIフレームワークをごっちゃにしてるよ。

75 :
CocoaをUIフレームワークと言い切るのもどうかと思うがな。
MonoもC#の言語仕様をサポートしているランタイム環境な訳で。
それを分けるのであれば、やはりそもそもC#が互換性が高いというのも変な定義だ。

76 :
C#は言語に過ぎないよ。たぶんCLIと混同してるんだろうけど、
MonoMacもCLIをフル実装したランタイムの上のフレームワークに過ぎない。

77 :
AndroidとJavaといえば、
Android 2.3以降のNDKしかデバイス制御するAPIがなかったりするから、
MonoDroidはJava経由で制御系のAPI使ってたはず。

78 :
少なからず宗教的な問題が取り上げられるが、
C#は言語的に使いやすいと思う。
WindowsでもMS純正ではなくMonoを使うくらいの気持ちが
あれば宗教問題も乗り越えられる。、

79 :
たかが宗教、されど宗教。
宗教で人が死ぬ

80 :
つかXCode4からInterfaceBuilder統合されちゃうじゃん

81 :
>>80
そうなの?
少しは使いやすくなるのか?

82 :
C#は良くできてる。アンダース・バーグは天才と呼んで良い。本物だ。

83 :
Turbo Pascal, Delphi, C#、まさに実用的

84 :
C#はマイクロソフトがごり押ししてる広く使われてるものの、
Objective-Cが普通に見えるくらいの言語だからねぇ。
チーム組んで開発するときはレベル併せが必須だし。
良くできてるっていや良くできてるが突き詰めるとマニアしか
喜ばない他人にはオススメできない言語の代名詞かと。

85 :
どこら辺がなの?

86 :
継承なんていらんかったんや

87 :
>>84
C#3.0から機能といってもいいくらい面白いのが増えたが
Objective-Cの誰得な性にはかなわないだろ
iPhoneが廃れると同時に死滅する言語

88 :
「C#ショートコードプログラミング」や「C#ルールブック」あたりにコーディング規則おけばいいんじやないの
javaでも、アノテーションはいいけど、ジェネリックあたりで手間がかかるし、
C++なんて、テンプレートやメタテンプレートまで使うといろいろ構文を推論出来ないとキツイ。
C#の拡張した部分は、文法が簡潔だから
ミニマムセットに含めてもいいんじゃない?

89 :
>>88
腐れ和書なんて参照してないで「.NETのクラスライブラリ設計」一択だろ。
金がなければmsdnで可。

90 :
読み直したら、どっちも参考文献も載せないやつだったよ。
ここら辺は、学士論文程度でもならってるはずなんだけどな。
腐れと言われても仕方ない。
89の本は知ってたけど、4.0ベースのミニマムな構文知識とコーディングというスタンスで書いてみたのだか、済まんかった。

91 :
C#4.0とか狂気

92 :
なんでもありのっぷりが大好きです

93 :
C#はunsafeだのdynamicだの節操なさすぎ

94 :
でもglobalがないんじゃ大人しすぎるよな

95 :
unsafeもdynamicも特に問題ないけどな。
問題あるとしたら、yieldだな。

96 :
ラムダ式とか言語マニアしか喜ばないと思うんだ

97 :
>>96
何言ってるんだ、いまどきラムダ式(に相当するクロージャ)のない言語なんて珍しくないし
ない言語だとやってられないでしょ

98 :
MonoDroidネタもこのスレでいいですか?

99 :
MonoDevelopeで日本語したいです
だれか直してください

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 削除依頼
・ 次のスレ
おい、そこの絵心のあるやつ、MacOSたん描こうぜ 2
【中の人】Automator【小人】2人目
【App Storeへ】Pixelmator【お引っ越し】Part2.1
Mac Vim 再び