SlideShare a Scribd company logo
Submit Search
Upload
MacRubyとHotCocoaでMacのアプリを作ってみた
Report
Share
Yukimitsu Izawa
株式会社クルウィット
Follow
•
4 likes
•
2,174 views
1
of
33
MacRubyとHotCocoaでMacのアプリを作ってみた
•
4 likes
•
2,174 views
Report
Share
Technology
Kanazawa.rb #4 presentation slide
Read more
Yukimitsu Izawa
株式会社クルウィット
Follow
Recommended
SWIGでRubyバインディング by
SWIGでRubyバインディング
Yukimitsu Izawa
3K views
•
19 slides
Sinatraでwebアプリケーション開発を学ぶ by
Sinatraでwebアプリケーション開発を学ぶ
Hiroshi Oyamada
6.1K views
•
28 slides
CyberAgentにおけるMongoDB by
CyberAgentにおけるMongoDB
Akihiro Kuwano
17.7K views
•
94 slides
とある会社のエンジニアたちのAndroidへのフリーダムな取り組み by
とある会社のエンジニアたちのAndroidへのフリーダムな取り組み
Kei Nakazawa
1.3K views
•
33 slides
WEBアプリケーションビルド・ テストツール YEOMAN by
WEBアプリケーションビルド・ テストツール YEOMAN
kamiyam .
6.4K views
•
43 slides
Railsの開発環境作るぞ by
Railsの開発環境作るぞ
Yoichi Toyota
115 views
•
23 slides
More Related Content
Similar to MacRubyとHotCocoaでMacのアプリを作ってみた
Titanium もくもく会 #4 by
Titanium もくもく会 #4
Kosuke Isobe
985 views
•
21 slides
Aiming study#6pdf by
Aiming study#6pdf
Koutaro Chikuba
21.7K views
•
93 slides
JUC2012 by
JUC2012
Kiyotaka Oku
2.2K views
•
44 slides
Sugarcubeをはじめよう by
Sugarcubeをはじめよう
Eihiro Saishu
1.6K views
•
51 slides
MacRuby を使ってみました by
MacRuby を使ってみました
Yoshiyuki MIYAGI
2.2K views
•
17 slides
Appsody でnodejsのアプリを立ち上げよう! by
Appsody でnodejsのアプリを立ち上げよう!
Daisuke Hiraoka
274 views
•
23 slides
Similar to MacRubyとHotCocoaでMacのアプリを作ってみた
(20)
Titanium もくもく会 #4 by Kosuke Isobe
Titanium もくもく会 #4
Kosuke Isobe
•
985 views
Aiming study#6pdf by Koutaro Chikuba
Aiming study#6pdf
Koutaro Chikuba
•
21.7K views
JUC2012 by Kiyotaka Oku
JUC2012
Kiyotaka Oku
•
2.2K views
Sugarcubeをはじめよう by Eihiro Saishu
Sugarcubeをはじめよう
Eihiro Saishu
•
1.6K views
MacRuby を使ってみました by Yoshiyuki MIYAGI
MacRuby を使ってみました
Yoshiyuki MIYAGI
•
2.2K views
Appsody でnodejsのアプリを立ち上げよう! by Daisuke Hiraoka
Appsody でnodejsのアプリを立ち上げよう!
Daisuke Hiraoka
•
274 views
Docker handson by koda3
Docker handson
koda3
•
427 views
はてなにおける継続的デプロイメントの現状と Docker の導入 by Yu Nobuoka
はてなにおける継続的デプロイメントの現状と Docker の導入
Yu Nobuoka
•
21.4K views
Introduce that Best practices for writing Dockerfiles by Yukiya Hayashi
Introduce that Best practices for writing Dockerfiles
Yukiya Hayashi
•
3.8K views
今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~ by 知己 久保
今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~
知己 久保
•
2.4K views
普段の開発を少しだけ便利にする3つのレシピ by Takuma Maruyama
普段の開発を少しだけ便利にする3つのレシピ
Takuma Maruyama
•
762 views
「AIRネイティブ拡張」を使って、 AndroidでNFCを読み込んでみた by Naoki Yamamoto
「AIRネイティブ拡張」を使って、 AndroidでNFCを読み込んでみた
Naoki Yamamoto
•
5.9K views
How Smalltalker Works by Sho Yoshida
How Smalltalker Works
Sho Yoshida
•
2.8K views
Sinatra and heroku for mac by Naoyuki Mitsuboshi
Sinatra and heroku for mac
Naoyuki Mitsuboshi
•
630 views
Falconjsの始め方 (share) by Jun Funakura
Falconjsの始め方 (share)
Jun Funakura
•
2.1K views
Dockerfileを改善するためのBest Practice 2019年版 by Masahito Zembutsu
Dockerfileを改善するためのBest Practice 2019年版
Masahito Zembutsu
•
63.7K views
iPadでScratch by Masashi Umezawa
iPadでScratch
Masashi Umezawa
•
1.6K views
React Native GUIDE by dcubeio
React Native GUIDE
dcubeio
•
1.3K views
Corona Handson #0 by Tetsuo Ono
Corona Handson #0
Tetsuo Ono
•
791 views
Building document with the Sphinx public edtion by Yukihiko SAWANOBORI
Building document with the Sphinx public edtion
Yukihiko SAWANOBORI
•
1.9K views
More from Yukimitsu Izawa
IoTタグで遊んでみよう by
IoTタグで遊んでみよう
Yukimitsu Izawa
1.7K views
•
49 slides
docxをmdで書こう by
docxをmdで書こう
Yukimitsu Izawa
15.6K views
•
27 slides
最新プロトコル HTT/2 とは by
最新プロトコル HTT/2 とは
Yukimitsu Izawa
1.6K views
•
30 slides
RubyとEyeTribeで視線追跡をする by
RubyとEyeTribeで視線追跡をする
Yukimitsu Izawa
2.1K views
•
15 slides
Rubyでオートマトン by
Rubyでオートマトン
Yukimitsu Izawa
4.8K views
•
19 slides
Ghissuesのご紹介 by
Ghissuesのご紹介
Yukimitsu Izawa
1.3K views
•
24 slides
More from Yukimitsu Izawa
(17)
IoTタグで遊んでみよう by Yukimitsu Izawa
IoTタグで遊んでみよう
Yukimitsu Izawa
•
1.7K views
docxをmdで書こう by Yukimitsu Izawa
docxをmdで書こう
Yukimitsu Izawa
•
15.6K views
最新プロトコル HTT/2 とは by Yukimitsu Izawa
最新プロトコル HTT/2 とは
Yukimitsu Izawa
•
1.6K views
RubyとEyeTribeで視線追跡をする by Yukimitsu Izawa
RubyとEyeTribeで視線追跡をする
Yukimitsu Izawa
•
2.1K views
Rubyでオートマトン by Yukimitsu Izawa
Rubyでオートマトン
Yukimitsu Izawa
•
4.8K views
Ghissuesのご紹介 by Yukimitsu Izawa
Ghissuesのご紹介
Yukimitsu Izawa
•
1.3K views
Log-modeのご紹介 by Yukimitsu Izawa
Log-modeのご紹介
Yukimitsu Izawa
•
948 views
Octopress簡単スタートガイド by Yukimitsu Izawa
Octopress簡単スタートガイド
Yukimitsu Izawa
•
5.3K views
RubyからFFIを使ってみた by Yukimitsu Izawa
RubyからFFIを使ってみた
Yukimitsu Izawa
•
3.6K views
NTPを使ったDDoSについて by Yukimitsu Izawa
NTPを使ったDDoSについて
Yukimitsu Izawa
•
2.6K views
Getting Started with Ruby on Rails4 + Twitter Bootstrap3 by Yukimitsu Izawa
Getting Started with Ruby on Rails4 + Twitter Bootstrap3
Yukimitsu Izawa
•
2.6K views
テストとは by Yukimitsu Izawa
テストとは
Yukimitsu Izawa
•
1.9K views
RubyでDSL by Yukimitsu Izawa
RubyでDSL
Yukimitsu Izawa
•
12.1K views
Pow by Yukimitsu Izawa
Pow
Yukimitsu Izawa
•
947 views
RVM with Server Environment by Yukimitsu Izawa
RVM with Server Environment
Yukimitsu Izawa
•
2K views
Try by Yukimitsu Izawa
Try
Yukimitsu Izawa
•
1.3K views
rvm でbundlerと仲良くする by Yukimitsu Izawa
rvm でbundlerと仲良くする
Yukimitsu Izawa
•
1.6K views
Recently uploaded
概念モデリングワークショップ 設計編 by
概念モデリングワークショップ 設計編
Knowledge & Experience
10 views
•
37 slides
JJUG CCC.pptx by
JJUG CCC.pptx
Kanta Sasaki
6 views
•
14 slides
01Booster Studio ご紹介資料 by
01Booster Studio ご紹介資料
ssusere7a2172
220 views
•
19 slides
さくらのひやおろし2023 by
さくらのひやおろし2023
法林浩之
83 views
•
58 slides
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化 by
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化
Knowledge & Experience
8 views
•
34 slides
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料) by
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
NTT DATA Technology & Innovation
217 views
•
33 slides
Recently uploaded
(8)
概念モデリングワークショップ 設計編 by Knowledge & Experience
概念モデリングワークショップ 設計編
Knowledge & Experience
•
10 views
JJUG CCC.pptx by Kanta Sasaki
JJUG CCC.pptx
Kanta Sasaki
•
6 views
01Booster Studio ご紹介資料 by ssusere7a2172
01Booster Studio ご紹介資料
ssusere7a2172
•
220 views
さくらのひやおろし2023 by 法林浩之
さくらのひやおろし2023
法林浩之
•
83 views
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化 by Knowledge & Experience
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化
Knowledge & Experience
•
8 views
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料) by NTT DATA Technology & Innovation
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
NTT DATA Technology & Innovation
•
217 views
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料) by NTT DATA Technology & Innovation
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
NTT DATA Technology & Innovation
•
185 views
概念モデリングワークショップ 基礎編 by Knowledge & Experience
概念モデリングワークショップ 基礎編
Knowledge & Experience
•
19 views
MacRubyとHotCocoaでMacのアプリを作ってみた
1.
MacRubyとHotCocoaで
Macのアプリを作ってみた Kanazawa.rb #4 LT 資料 井澤ゆきみつ <izawa@clwit.co.jp> 12年12月2日日曜日
2.
RubyでMacなアプリを作りたい
n CLIなプログラミングなら普通にできる。…よね? n 「Macなアプリ」って何? n ウインドウプログラミング(ウィジェット・スクリーンなど) n デバイスプログラミング(サウンド・ジョイスティック・マウ スなど) n その他、CLIじゃないもの全部 n 現行OS Xは主に Cocoaというフレームワークを使っています。 n Carbon / POSIX / X11 / Java もあるよ。 12年12月2日日曜日
3.
Macなアプリってどうやって作るの?
n Objective-C ... n 各種フレームワーク: Application Kit / Foundation / Web Kit ... n Xcode ... 12年12月2日日曜日
4.
Macなアプリってどうやって作るの?
n Objective-C ... n 各種フレームワーク: Application Kit / Foundation / Web Kit ... n Xcode ... 覚えることいっぱーい 12年12月2日日曜日
5.
そこでMacRubyですよ!
n MacRuby n Ruby for the Objective-C Runtime n WebPage: http://macruby.org/ n latest version: 0.12 12年12月2日日曜日
6.
How to install
n rvmを使うのが楽です。 n rvm install macruby n rvm use macruby 12年12月2日日曜日
7.
なにができるの?
n ruby で NS~ なAPIを叩けるようになります。 n CLIアプリが作れます。 n Xcode で MacRuby Application を作れます。 n GUIアプリが作れます。 n .rb → a.out にコンパイル可能です。 n .app も作れます。 12年12月2日日曜日
8.
HotCocoaってなに?
n HotCocoa n The MacRuby HotCocoa UI library n UIを記述するためのフレームワーク n WebPage: http://hotcocoarb.org/ n latest version: 0.7.0 12年12月2日日曜日
9.
How to install
n git clone git://github.com/HotCocoa/hotcocoa n cd hotcocoa n rake install n MacRubyのgem としてinstallされます。 12年12月2日日曜日
10.
sample app
n hotcocoa sampleapp n cd sampleapp n rake run 12年12月2日日曜日
11.
sample app
n hotcocoa sampleapp n cd sampleapp n rake run 12年12月2日日曜日
12.
sample app
n hotcocoa sampleapp n あら、簡単ね! cd sampleapp n rake run 12年12月2日日曜日
13.
sample code
require 'rubygems' unless deployed? require 'hotcocoa' class Sampleapp include HotCocoa def start application name: 'Sampleapp' do |app| app.delegate = self window frame: [100, 100, 500, 500], title: app.name do | win| win << label(text: 'Hello from HotCocoa', layout: {start: false}) win.will_close { exit } end end end end Sampleapp.new.start 12年12月2日日曜日
14.
MacRuby&HotCocoaを使うコツ
n 三枚のおふだ n cocoa プログラミング n MacRuby API n HotCocoa API 12年12月2日日曜日
15.
Cocoaプログラミング
n 大事なことはみんな Mac Dev Centerが教えてく れた。 n https://developer.apple.com/devcenter/mac/ index.action n クラスライブラリリファレンス・サンプルコード 12年12月2日日曜日
16.
MacRuby API
n Objective-C のAPIを MacRuby APIに置き換え て考える必要があります。 n 心の目で見れば分かります。 n ブラウザ用ユーザースクリプト: n https://github.com/joakimk/macruby-docs-js/ raw/master/macruby-docs.user.js 12年12月2日日曜日
17.
user scriptを活用 12年12月2日日曜日
18.
user scriptを活用 12年12月2日日曜日
19.
user scriptを活用 12年12月2日日曜日
20.
HotCocoa API
n 基本はソース嫁 n git clone してきたリポジトリの中を漁ります。 n $GIT/hotcocoa/examples/ ... n $GIT/hotcocoa/lib/hotcocoa/ ... n $GIT/hotcocoa/lib/hotcocoa/mappings/ ... 12年12月2日日曜日
21.
References 12年12月2日日曜日
22.
References
n Apple Developer Center n https://developer.apple.com/ n クラス名で検索すると、クラスのリファレンス・サンプ ルコードが出てきます。 12年12月2日日曜日
23.
References
n Apple Developer Center n https://developer.apple.com/ n クラス名で検索すると、クラスのリファレンス・サンプ ルコードが出てきます。 n MacRuby Dojo(道場) n http://watson1978.github.com/MacRuby-DoJo/ n Xcodeを使ったサンプルプログラムの作り方が丁寧に解 説されています。 12年12月2日日曜日
24.
References
n Apple Developer Center n https://developer.apple.com/ n クラス名で検索すると、クラスのリファレンス・サンプ ルコードが出てきます。 n MacRuby Dojo(道場) n http://watson1978.github.com/MacRuby-DoJo/ n Xcodeを使ったサンプルプログラムの作り方が丁寧に解 説されています。 n Google Search Engine n http://www.google.co.jp/ n 困ったときの答えは全てここにあります。 12年12月2日日曜日
25.
今回作ってみたApp
n 壁紙をランダムに選んで貼り付けるアプリ n https://github.com/izawa/randWallPaper 12年12月2日日曜日
26.
習作的要素
n widgetの組み立て方・基本操作(ボタン押したらwindow開くとか) n スクリーン操作(マルチスクリーン対応) n 画像操作 n タイマー操作 n 設定データのLoad/Save n スライダー操作 n ファイル選択ダイアログ n ステータスメニュー・常駐化 12年12月2日日曜日
27.
n
statusメニューに常駐 12年12月2日日曜日
28.
n
ひまわり画像をクリックでサブメニュー表示 12年12月2日日曜日
29.
n
ひまわり画像をクリックでサブメニュー表示 12年12月2日日曜日
30.
n
ひまわり画像をクリックでサブメニュー表示 12年12月2日日曜日
31.
n
ひまわり画像をクリックでサブメニュー表示 12年12月2日日曜日
32.
n
設定画面 12年12月2日日曜日
33.
n
Thank You! n If you have any comments, please send to: n Mail: izawa@izawa.org / izawa@clwit.co.jp n Twitter: @Yukimitsu_Izawa 12年12月2日日曜日