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 を使っているプロジェクト一覧


妄想帳: RubyでMac 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: RubyCocoa で Skype に iTunes で再生してる曲を表示

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で書き直してみました。RubyCocoa で OpenGL (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/


Leopard解体新書

第1回:RubyCocoaでWebページ表示
http://builder.japan.zdnet.com/sp/07leopard/story/0,3800082822,20359550,00.htm
第2回:もっとRubyCocoa
http://builder.japan.zdnet.com/sp/07leopard/story/0,3800082822,20360029,00.htm
第3回:ブリッジサポート - RubyCocoaの秘密
http://builder.japan.zdnet.com/sp/07leopard/story/0,3800082822,20360382,00.htm
第5回:ファイル監視を行うFSEvent
http://builder.japan.zdnet.com/sp/07leopard/story/0,3800082822,20360956,00.htm


ひ日誌 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 での翻訳アプリ。

簡単な電卓、Xcode 古い

http://www.mouseup.net/rubycocoa/calc_app1.html


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 でコードのカラーリングがされるようになる。


gem newcocoa

http://metaatem.net/2007/05/27/your-first-few-days-on-rubycocoa
http://www.youtube.com/watch?v=aVIvapSmvC0
後でもっと良いのが無いか調べる
http://images.metaatem.net//hello_world_newcocoa2.mov
newcocoaがどんなものかはこっちで
http://www.fobj.com/hisa/d/20070527.html#p01


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


mootoh.log: RubyCocoaを使ってQuicksilverプラグインを書く

http://blog.deadbeaf.org/archives/1889


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 をなぞってから。


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

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

(1) CocoaのMVCモデルの発展
(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


Cocoa、習作

http://vivacocoa.exblog.jp/


CocoaDev#英語

http://www.cocoadev.com/


Cocoa site#英語

http://cocoadevcentral.com/


ひ日誌

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


ここから未整理ゾーン

まあ上もほとんどが整理されてないんだけど、こっちはただクリップしただけなので内容もほとんどまだ読んでません。


日本語のココアリファレンス

http://www.oomori.com/cocoafw/index.html


Apple の ScriptBridge に関するドキュメント

http://developer.apple.com/documentation/Cocoa/Conceptual/RubyPythonCocoa/Introduction/Introduction.html#//apple_ref/doc/uid/TP40005422
Building a RubyCocoa Application: A Tutorial
http://developer.apple.com/documentation/Cocoa/Conceptual/RubyPythonCocoa/Articles/BuildingRubyCocoaAppl.html
もうちょっと慣れたらやってみる。

リンゴの水やり?

cocoa周り
http://d.hatena.ne.jp/gutskun/searchdiary?word=%2a%5bRuby%5d

きりかリポーツ

http://kirika.la.coocan.jp/


初めてのブラウザの作り方

http://hmdt.jp/safari/myfirst/myfirst.html#status.html


mattmccray

Animating NSViews In RubyCocoa
http://www.mattmccray.com/archive/2008/01/18/Animating_NSViews_In_RubyCocoa

you can download the full Xcode project. (Requires Leopard, Xcode 3, and Interface Builder 3)

Selectable Toolbar Icons in RubyCocoa
http://www.mattmccray.com/archive/2008/01/16/Selectable_Toolbar_Icons_in_Ru

capture → ‘capture’

What is it?

Capture is a tool for making a full size screenshot of your Mac OS X desktop. It uses RubyCocoa and the new CGWindow API of Mac OS X Leopard to capture the desktop in a fast and efficient manner.

http://capture.rubyforge.org/


nyaxtのPC作業ログ

Sumiyasi
〜デスクトップのスミに癒しを〜
デスクトップ常駐型フォトフレームアプリ for OSX。RubyCocoa習作。
Photoframe app for OSX, written in RubyCocoa.

http://d.hatena.ne.jp/nyaxt/searchdiary?word=%2a%5bSumiyasi%5d
http://nyaxtstep.com/projects


splhack

2008-01-05 辞書その2
http://blogger.splhack.org/2008/01/2.html
RubyInject を使って辞書.app の入力を走査。


Window の Cube effect について

http://subtech.g.hatena.ne.jp/cho45/20070329/1175170861
http://subtech.g.hatena.ne.jp/cho45/20070328/1175074895
http://lab.lowreal.net/trac/browser/Lightning%20Talk
# ハードコーディングされてる pdf ファイルへのパスを自分の環境に併せて書き換える必要がある
# Leopard だからか、Cube effect しているのは確認できず
http://lipidity.com/downloads/fumo/
# QS plugin fumo の中の人。
# fumo は煙が出てくる aniation のやつ。
http://lipidity.com/apple/quicksilver-animation-effects/
http://lipidity.com/apple/warp-bend-squeeze-and-transform-windows-with-cgssetwindowwarp/
http://cocoawiki.aerial.st/?Expose%20%A4%B7%A4%CA%A4%A4%A5%A6%A5%A4%A5%F3%A5%C9%A5%A6