RubyCocoa を始めるのにとっかかりになりそうなサイト

自分の gmail ドラフトに貯めていたんだけど、外に出した方が良いので。
Ruby しか分からないのですが、RubyCocoa を覚えるとっかかりになりそうなサイトを集めました。
RubyCocoa のよく分からないメソッド名で困ったら、使い方の例は

cd /Developer/Examples/RubyCocoa
grep -R 'initWithHogefuga' *

で探せば良さそう。あとグーグルで。
Cocoa のリファレンスは Xcode から右クリックで引ける。良い。
あとグーグルでw

# ずいぶんとっちらかってます、すいません。
# コメントも自分向けだったのでかなり適当です、間違いや不適当なものがあればコメント等で教えて下さい。

RubyCocoa 入門

http://limechat.net/rubycocoa/tutorial/
LimeChat for OSX の作者さんが公開している。確かに入門にぴったりです。
とりあえずこれを2,3度なぞると簡単な GUI を被せるくらいのことは出来るようになった。
delegate や dataSource についてはこちらを参照すると良いと思う
あと LimeChat 自体のソースコードも公開されているので、慣れてきたら眺めてみると良さそう。
http://d.hatena.ne.jp/Psychs/ で最新版のリリースがアナウンスされてるいるみたい。
あと RubyCocoa を使っているプロジェクト一覧


妄想帳: RubyMac OS Xアプリを作る練習。

http://oent.sblo.jp/article/7470855.html

試しにRSSリーダーを作った所、100行以下の規模で、XMLパーサを持ち、テーブル表示を持ったアプリケーションを作る事が出来ました。
地味ーなデモですが、Cocoa Bindingを利用する事でModel-View-Controllerが完全に独立した実装になっています。

自分でコンパイルして動作させたところ

@xmlDoc = NSXMLDocument.alloc.initWithContentsOfURL_options_error_(urlString, 0, nil)

がうまくいってないようだった。入れる URL の形式が違う? (http://d.hatena.ne.jp/ma_ko/)
kvc_accessor というのがあるのか。Cocoa binding と呼ばれているものの1つ?

item = NSMutableDictionary.dictionary

のところが参考になった。ありがとう。


BONNOH FRACTION 13: RubyCocoaダウンローダを作ってみる その1

http://www.fraction.jp/log/archives/2007/11/23/Implements_Downloader_by_Ruby_Cocoa
その2もある。
http://www.fraction.jp/log/archives/2007/12/03/Implements_Downloader_by_Ruby_Cocoa_2
その3が予定されてる。
多くのスクリーンショットで Interface Builder 上での操作が説明されてる。
RubyCocoa 入門を見た後で見るとイメージしやすいし、まずトライするには手頃なレベルだと思った。


splhack: AmaTunes

http://blogger.splhack.org/2007/10/amatunes.html

カメラで読み取ったバーコードのISBNをAmazonで検索して、それをオーディオブック形式(m4b)に変換してiTunesにつっこむ代物

ぼんやりと考えたこと:

http://n.h7a.org/blog/
いくつか習作がある。RubyCocoa 経由で System よりの機能をスクリプトで呼び出すことを多くされている。
めずらしい。


blog.8-p.info: RubyCocoaSkypeiTunes で再生してる曲を表示

http://blog.8-p.info/articles/2006/12/24/rubycocoa-skype-itunes
こちらも習作1つ


ひ日誌: LeopardでのRubyCocoaアプリ作成手順を動画にしてみた

http://www.fobj.com/hisa/d/20071028.html#p01
Youtube の動画がリンクされている。雰囲気をつかむのに良いかも。
hisaさんの Youtube
http://www.youtube.com/user/hisa


ひ日誌: rWiiRemote 更新

http://fobj.com/hisa/d/20061230.html

DarwiinRemoteのソースに入っているGraphViewを使わせていただいてます。オリジナルのObjective-Cで書かれたGraphViewをOSX.ns_importして使うこともできますが(動作確認済み)、Rubyで書き直してみました。RubyCocoaOpenGL (NSOpenGLView) を使うサンプルにもなるかと思います。また、自分の勉強がてらCocoaバインディングを使ってみました。

rWiiRemote -- rWiiRemote.appやプロジェクトファイルなど
GraphView.rb -- DarwiinRemote の GraphView を Ruby で書いたもの
WiiRemocon.rb -- kvc_accessor や kvc_depends_on を使用、ビューとバインドするモデル(兼コントローラ)に相当

エト記: Aquaterm.framework から ruby binding を生成

http://d.hatena.ne.jp/xoinu/20060920/1158824203


code74 RubyCocoa の simple web browser

http://rubyforge.org/projects/code74/


ひ日誌 FlickerViewer RubyCocoa

http://fobj.com/hisa/d/20070501.html
アプリとYouTube


Hacking Life: ジョジョの奇妙な冒険→WRYYYと翻訳する翻訳機をRubyCocoaで作る

http://d.hatena.ne.jp/beatinaniwa/20071222
習作。WWW::Mechanize と Google Translate での翻訳アプリ。

Local にある example ファイル

/Developer/Examples/Ruby/RubyCocoa


RubyCocoaを始めた人のブログ#英語

http://redochre.wordpress.com/
Review of RubyCocoa Tutorials: RubyCocoa tutorial を総ざらい
http://redochre.wordpress.com/2007/11/30/review-of-rubycocoa-tutorials/


Cocoarepl

http://fobj.com/hisa/d/20071102.html

NSWindowなどのオブジェクトを作るショートカット的なメソッド
手っ取り早く NSWindow を作って表示したいときは、以下のメソッドを使うことができます。

NSWindow.create
NSWindow.create(800, 600) # width,height
NSWindow.create(0, 0, 800, 600) # left,top,width,height
NSWindow以外にもいくつかあります。以下は使用例:

NSURL.create "http://www.apple.com/"
NSURL.create "/etc/httpd/httpd.conf"

NSImage.create "/Library/Desktop Pictures/Aqua Blue.jpg"
NSImage.create "http://path_to_image_url/image.jpg"

NSView.create
NSView.create(360, 240)
NSView.create(0, 0, 360, 240)
NSTextField.create(300, 20)
NSButton.create(300, 20)
NSSlider.create(300, 20)
これらのメソッドはアプリケーションパッケージ内のファイル:
CocoaRepl.app/Contents/Resources/cocoa_sweets.rb
に定義されています(ソースがパッケージに含まれていて読んだり変更したりできるのもRubyCocoaの醍醐味のひとつ)。

sudo gem install syntax でコードのカラーリングがされるようになる。


Rucola

http://rucola.rubyforge.org/

Rucola is a light weight framework that helps you write RubyCocoa apps.

RubyCocoa + Scripting Bridge#英語

http://andymatuschak.org/articles/2007/11/29/ohman-scripting-bridge-is-so-cool/
Scripting Bridge でiTunes とか操作できる。appscript に近い感じだけど、どっちがいいのか。


bridgesupport # Framework の(定義) XML ファイルから、バインディングするための何かを作るコマンド??

gen_bridge_metadata
http://trac.macosforge.org/projects/bridgesupport


RubyCocoa resource#英語

http://www.rubycocoa.com/
http://www.rubycocoa.org/
code がちょこちょこ書いてある。chapter に分かれてる。cocoasheet が気になる。


RubyCocoa: sourceforge#英語

RubyCocoa を使っているプロジェクト(アプリケーション)
http://rubycocoa.sourceforge.net/ProjectsUsingRubyCocoa
RubyCocoa 関連のスクリーンキャスト
http://rubycocoa.sourceforge.net/Screencasts


Ruby Inside: The Ultimate List of RubyCocoa Tutorials, Tips and Tools

http://www.rubyinside.com/the-ultimate-list-of-rubycocoa-tutorials-tips-and-tools-728.html

Many thanks to this curious Japanese list of RubyCocoa links for inspiring some of the links in this post. Most of them are in Japanese, however!

Many thanks, too:-)
Nice matome.


ここからRubyCocoa じゃないけど

こたつつきみかん: Interface Builder3.0の使い方

http://dev.activebasic.com/OverTaker/?p=407
Xcode 3.0 でのインスタンス化を説明している。
たのしいココアを買った人で Interface Builder 2と3の画面の違いに悩んでいる人向け。
ありがとう!


Cocoa Dev Central: Build a Core Data Application

http://cocoadevcentral.com/articles/000085.php
CoreData の Interface Builder 側の操作が詳しく説明されているので、最初ここをなぞってみた。


igaiga diary: CoreDataで5分で作るデータベースアプリ

http://igarashikuniaki.net/tdiary/20060505.html#p01
動画があるので、とても分かりやすいと思う。上の Build a Core Data Application をなぞってから。


TigerCocoaにみるMVCの完成 - スマートなデータモデルを実現するCore Data

http://journal.mycom.co.jp/special/2005/cocoamvc/

(1) CocoaMVCモデルの発展
(2) チュートリアル - Cocoa BindingとCore DataによるGUI作成
(3) メールソフトを作成
(4) キー値コーディング
(5) キー値の監視
(6) コントローラレイヤ - Cocoa Binding
(7) NSObjectControllerとCocoa Bindingの構造

実際に自分で手を動かして、CoreData の触りを理解出来そう。
あとで試す。


Non-Fiction: インデックス作成ツール/Core DataとCocoa Bindingの仕組み(その2)

http://uchyax.exblog.jp/2161095/


Apple Developer Documentation

Cocoa の日本語ドキュメントとさらに Cocoa セミナーの資料がアップされている
http://developer.apple.com/jp/documentation/japanese.html
Cocoaセミナー上級編 => CoreData
CoreAnimationガイド
http://developer.apple.com/jp/documentation/Cocoa/Conceptual/CoreAnimation_guide/Introduction/Introduction.html


Leopard解体新書

第8回:Core Animationで1000 Songsに挑戦
http://builder.japan.zdnet.com/sp/07leopard/story/0,3800082822,20362686,00.htm


My Codex leicester(いつか音楽と呼ばれるもの)

http://nagano.monalisa-au.org/
# Cocoa 以外の framework の話題も多い:-)

NSHost *host =[NSHost hostWithName:@”monalisa-au.org”]; # Cocoa
OSX::NSHost.hostWithName("monalisa-au.org").address # RubyCocoa

Numata Designed Factory

Cocoa プログラミングの解説記事
Cocoa サンプルズ
Cocoa に関するヌマタメモ

http://numata.designed.jp/ja/programming.html


CocoaDev#英語

http://www.cocoadev.com/


ひ日誌

CoreData ムービーを見た
http://fobj.com/hisa/d/20061222.html#p01