SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
Ruby
              Rubyによる実用
            Android
            Androidスクリプティング
   Practical Android scripting with Ruby

                  川戸 正裕
                Masahiro Kawato
                @m_kawato


2010/8/29          RejectKaigi2010         1
Motivation
こういうのをさっくりAndroid上に実装したい
I hope to rapidly implement such a game on Android
      ##########################################################
      #........................................................#
      #.###.#########.###############.########.###.#####.#####.#
      #.###.#########.###############.########.###.#####.#####.#
      #.....#########....J.............J.......###.............#
      #####.###.......#######.#######.########.###.#######.#####
      #####.###.#####J#######.#######.########.###.## ##.#####
      #####.###L#####.## ##L## ##.##        ##.###.## ##.#####
      #####.###..H###.## ##.## ##.########.###.#######J#####
      #####.#########.## ##L## ##.########.###.###V....#####
      #####.#########.#######.#######..........###.#######.#####
      #####.#########.#######.#######.########.###.#######.#####
      #.....................L.........########..........R......#
      #L####.##########.##.##########....##....#########.#####.#
      #.####.##########.##.##########.##.##.##.#########.#####.#
      #.................##............##..@.##...............R.#
      ##########################################################

2010/8/29                     RejectKaigi2010                      2
Development environment of
     Android applications

  基本は、Eclipseベースのクロス開発環境+
  Androidエミュレータ/実機
  – コードを書く→実行のサイクルに手間がかかる
  →スクリプトで開発のサイクルを速めたい

  Basically, Eclipsed-based cross development
  environent with Android emulator or real
  machine
  – It takes time to execute code after write it
  →Shorten development cycle with scripting

2010/8/29             RejectKaigi2010              3
Ruby on Android
•   JRubyのjarファイルをDalvikバイトコードに変換することで、Android上
    で動作可能
     – "Ruboto Is Your Friend", Charles Nutter
     http://blog.headius.com/2009/02/ruboto-is-your-friend.html
•   Androidアプリとしてインストール可能な配布がいくつか存在
•   ここではAndroid Marketに登録されている「Ruboto IRB」を取り上げ
    る

•   JRuby's jar file can be converted into Dalvik bytecode
    runnable on Android
•   There are a number of JRuby distributions installable as
    Android applications
•   Here I pick up "Ruboto IRB", registered on Android Market


2010/8/29                     RejectKaigi2010                     4
Ruboto IRB
Android Marketからイン
ストール可能
(もちろんapkパッケージを
手動で入れることも可能)

You can install Ruboto
IRB from Android Market
(apk package is also
avalable for manual
installtion)


2010/8/29          RejectKaigi2010   5
Hello world on
 Ruboto IRB


  Executed on Nexus One
  (Android 2.2)




2010/8/29            RejectKaigi2010   6
Script editor
 of Ruboto




2010/8/29   RejectKaigi2010   7
Problems
• ソフトキーボードでスクリプトを入力するのはかった
  るい
• 画面が狭すぎてスクリプト編集が難しい
• Androidエミュレータで実行すると、内蔵エディタが
  シャレにならないくらい遅い

• Software keyboard is not suitable to write scripts
• Andoid phone's screen is too small
• Embedded editor is too slow on Android emulator


2010/8/29            RejectKaigi2010               8
(My) Ideal Solution
                                              スクリプトを編集
JRuby実行結果を表示
                                              Input/modify JRuby scripts
Show results of JRuby execution



        JRuby                                       Script editor
                  同期 Synchronization
                                                script
                                                 file
  Android
  phone                 USB cable
                                                             PC/Mac

    現状ではそのまま実現する手段はないみたい
   There does not seem to be actual products for such a solution


2010/8/29                   RejectKaigi2010                            9
Alternative solutions
• 実機+ハードウェアキーボード (USB/Bluetooth)
    – 小さい画面の問題は解決しない
• androidscreencast
    – Android機上の画面をPCに表示/PCのキーボードから実機を
      操作するためのソフトウェア
    – 画面の粗さとレスポンスが遅いことから、この目的には適さない

•   Android real machine+hardware keyboard (USB/Bluetooth)
    – Screen size is not improved
•   androidscreencast
     – A software to show an Android phone's screen on PC and
       send keybord input on PC to the phone
     – It is not suitable because screen is low quality and
       keyboard response is slow


2010/8/29                    RejectKaigi2010               10
Alternative solutions (2)
• PCからAndroid機のSDカードをマウント
    – PC側で編集したRubyスクリプトをAndroid機側のSD
      カードにコピー
    – PCからマウント中はAndroid側からはSDカードが見えな
      いので面倒


• Mount SD card from PC
    – Copy your Ruby code to SD card in the Android phone
    – An SD card cannot be mounted from PC and Android at
      the same time




2010/8/29               RejectKaigi2010                     11
未完
              ご清聴ありがとうございました
               何か良い方法があれば教えてください

            Please tell me if you have a good solution




2010/8/29                RejectKaigi2010                 12

Contenu connexe

Tendances

詳細設計とアプリケーション開発工程
詳細設計とアプリケーション開発工程詳細設計とアプリケーション開発工程
詳細設計とアプリケーション開発工程康 新谷
 
Android Design Mini Session 09/06 2012
Android Design Mini Session 09/06 2012Android Design Mini Session 09/06 2012
Android Design Mini Session 09/06 2012adamrocker
 
Android Framework Code Readingのしおり
Android Framework Code ReadingのしおりAndroid Framework Code Readingのしおり
Android Framework Code ReadingのしおりShinobu Okano
 
まったりAndroid framework code reading #1
まったりAndroid framework code reading #1 まったりAndroid framework code reading #1
まったりAndroid framework code reading #1 Shinobu Okano
 
Humble Object Patternな話
Humble Object Patternな話Humble Object Patternな話
Humble Object Patternな話Hiroto Imoto
 
[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1MinGeun Park
 
ロービジョンとWindowsのマウスカーソル
ロービジョンとWindowsのマウスカーソルロービジョンとWindowsのマウスカーソル
ロービジョンとWindowsのマウスカーソルsilpheed
 
土下座パラダイスはこうして生まれた
土下座パラダイスはこうして生まれた土下座パラダイスはこうして生まれた
土下座パラダイスはこうして生まれたTakafumi Naito
 
Beatroboでのハードウェアプロトタイピング
BeatroboでのハードウェアプロトタイピングBeatroboでのハードウェアプロトタイピング
BeatroboでのハードウェアプロトタイピングHideyuki TAKEI
 

Tendances (11)

詳細設計とアプリケーション開発工程
詳細設計とアプリケーション開発工程詳細設計とアプリケーション開発工程
詳細設計とアプリケーション開発工程
 
Android Design Mini Session 09/06 2012
Android Design Mini Session 09/06 2012Android Design Mini Session 09/06 2012
Android Design Mini Session 09/06 2012
 
Android Framework Code Readingのしおり
Android Framework Code ReadingのしおりAndroid Framework Code Readingのしおり
Android Framework Code Readingのしおり
 
まったりAndroid framework code reading #1
まったりAndroid framework code reading #1 まったりAndroid framework code reading #1
まったりAndroid framework code reading #1
 
家電の話(Nt京都)
家電の話(Nt京都) 家電の話(Nt京都)
家電の話(Nt京都)
 
Humble Object Patternな話
Humble Object Patternな話Humble Object Patternな話
Humble Object Patternな話
 
[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1
 
ロービジョンとWindowsのマウスカーソル
ロービジョンとWindowsのマウスカーソルロービジョンとWindowsのマウスカーソル
ロービジョンとWindowsのマウスカーソル
 
土下座パラダイスはこうして生まれた
土下座パラダイスはこうして生まれた土下座パラダイスはこうして生まれた
土下座パラダイスはこうして生まれた
 
Ciecleci
CiecleciCiecleci
Ciecleci
 
Beatroboでのハードウェアプロトタイピング
BeatroboでのハードウェアプロトタイピングBeatroboでのハードウェアプロトタイピング
Beatroboでのハードウェアプロトタイピング
 

Similaire à Practical Android scripting with Ruby

Android端末と組み込み機器が連携する Android Make Days
Android端末と組み込み機器が連携する Android Make Days Android端末と組み込み機器が連携する Android Make Days
Android端末と組み込み機器が連携する Android Make Days Yasuhiro Ishii
 
Android multiscreen
Android multiscreenAndroid multiscreen
Android multiscreenKazuaki Ueda
 
バージョンアップに負けないためのプラクティス
バージョンアップに負けないためのプラクティスバージョンアップに負けないためのプラクティス
バージョンアップに負けないためのプラクティスYuji Tokuda
 
モバイルコンテンツ制作を効 率化するツールを使いこなせ
モバイルコンテンツ制作を効 率化するツールを使いこなせモバイルコンテンツ制作を効 率化するツールを使いこなせ
モバイルコンテンツ制作を効 率化するツールを使いこなせKeisuke Todoroki
 
JCROM で Android の「真の力」を解き放て
JCROM で Android の「真の力」を解き放てJCROM で Android の「真の力」を解き放て
JCROM で Android の「真の力」を解き放てandroid sola
 
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 Sansan Tech Meetup Androidエンジニアが振り返る Google I/O   Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O 健一 辰濱
 
AndroidのUI設計で押さえておきたいポイント
AndroidのUI設計で押さえておきたいポイントAndroidのUI設計で押さえておきたいポイント
AndroidのUI設計で押さえておきたいポイントTakayuki Inoue
 
Effective SQLite For Android
Effective SQLite For AndroidEffective SQLite For Android
Effective SQLite For AndroidShinobu Okano
 
初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウKentarou Mukunasi
 
ソースが書けなくてもAndroidアプリをクリック(GUI)開発したい
ソースが書けなくてもAndroidアプリをクリック(GUI)開発したいソースが書けなくてもAndroidアプリをクリック(GUI)開発したい
ソースが書けなくてもAndroidアプリをクリック(GUI)開発したいYukio Saito
 
Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化COLOPL, Inc.
 
DroidKaigiアプリをSpoonで全画面スクショするぞい\(^o^)/
DroidKaigiアプリをSpoonで全画面スクショするぞい\(^o^)/DroidKaigiアプリをSpoonで全画面スクショするぞい\(^o^)/
DroidKaigiアプリをSpoonで全画面スクショするぞい\(^o^)/Shinobu Okano
 
Go mobileでモバイルアプリを作ろう
Go mobileでモバイルアプリを作ろうGo mobileでモバイルアプリを作ろう
Go mobileでモバイルアプリを作ろうTakuya Ueda
 
Android案件見積りに現れる要素、あるいは丁寧に埋設された地雷たち
Android案件見積りに現れる要素、あるいは丁寧に埋設された地雷たちAndroid案件見積りに現れる要素、あるいは丁寧に埋設された地雷たち
Android案件見積りに現れる要素、あるいは丁寧に埋設された地雷たちYamashita Takeshi
 
【17-A-1】Mobile Future Conference開会のご挨拶/世界へ挑むDeNAの「X-border」「X-device」戦略
【17-A-1】Mobile Future Conference開会のご挨拶/世界へ挑むDeNAの「X-border」「X-device」戦略【17-A-1】Mobile Future Conference開会のご挨拶/世界へ挑むDeNAの「X-border」「X-device」戦略
【17-A-1】Mobile Future Conference開会のご挨拶/世界へ挑むDeNAの「X-border」「X-device」戦略Developers Summit
 
Google mapとgps機能を使ってみた。
Google mapとgps機能を使ってみた。Google mapとgps機能を使ってみた。
Google mapとgps機能を使ってみた。Eiichi Tsuru
 
DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~
DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~
DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~decode2016
 

Similaire à Practical Android scripting with Ruby (20)

Android端末と組み込み機器が連携する Android Make Days
Android端末と組み込み機器が連携する Android Make Days Android端末と組み込み機器が連携する Android Make Days
Android端末と組み込み機器が連携する Android Make Days
 
Devsumi2013 gunta 2_pdf
Devsumi2013 gunta 2_pdfDevsumi2013 gunta 2_pdf
Devsumi2013 gunta 2_pdf
 
Lt130123
Lt130123Lt130123
Lt130123
 
Android multiscreen
Android multiscreenAndroid multiscreen
Android multiscreen
 
バージョンアップに負けないためのプラクティス
バージョンアップに負けないためのプラクティスバージョンアップに負けないためのプラクティス
バージョンアップに負けないためのプラクティス
 
モバイルコンテンツ制作を効 率化するツールを使いこなせ
モバイルコンテンツ制作を効 率化するツールを使いこなせモバイルコンテンツ制作を効 率化するツールを使いこなせ
モバイルコンテンツ制作を効 率化するツールを使いこなせ
 
JCROM で Android の「真の力」を解き放て
JCROM で Android の「真の力」を解き放てJCROM で Android の「真の力」を解き放て
JCROM で Android の「真の力」を解き放て
 
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 Sansan Tech Meetup Androidエンジニアが振り返る Google I/O   Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 
AndroidのUI設計で押さえておきたいポイント
AndroidのUI設計で押さえておきたいポイントAndroidのUI設計で押さえておきたいポイント
AndroidのUI設計で押さえておきたいポイント
 
Effective SQLite For Android
Effective SQLite For AndroidEffective SQLite For Android
Effective SQLite For Android
 
初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ
 
ソースが書けなくてもAndroidアプリをクリック(GUI)開発したい
ソースが書けなくてもAndroidアプリをクリック(GUI)開発したいソースが書けなくてもAndroidアプリをクリック(GUI)開発したい
ソースが書けなくてもAndroidアプリをクリック(GUI)開発したい
 
Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化
 
DroidKaigiアプリをSpoonで全画面スクショするぞい\(^o^)/
DroidKaigiアプリをSpoonで全画面スクショするぞい\(^o^)/DroidKaigiアプリをSpoonで全画面スクショするぞい\(^o^)/
DroidKaigiアプリをSpoonで全画面スクショするぞい\(^o^)/
 
Go mobileでモバイルアプリを作ろう
Go mobileでモバイルアプリを作ろうGo mobileでモバイルアプリを作ろう
Go mobileでモバイルアプリを作ろう
 
Herlockサービス紹介
Herlockサービス紹介Herlockサービス紹介
Herlockサービス紹介
 
Android案件見積りに現れる要素、あるいは丁寧に埋設された地雷たち
Android案件見積りに現れる要素、あるいは丁寧に埋設された地雷たちAndroid案件見積りに現れる要素、あるいは丁寧に埋設された地雷たち
Android案件見積りに現れる要素、あるいは丁寧に埋設された地雷たち
 
【17-A-1】Mobile Future Conference開会のご挨拶/世界へ挑むDeNAの「X-border」「X-device」戦略
【17-A-1】Mobile Future Conference開会のご挨拶/世界へ挑むDeNAの「X-border」「X-device」戦略【17-A-1】Mobile Future Conference開会のご挨拶/世界へ挑むDeNAの「X-border」「X-device」戦略
【17-A-1】Mobile Future Conference開会のご挨拶/世界へ挑むDeNAの「X-border」「X-device」戦略
 
Google mapとgps機能を使ってみた。
Google mapとgps機能を使ってみた。Google mapとgps機能を使ってみた。
Google mapとgps機能を使ってみた。
 
DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~
DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~
DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~
 

Practical Android scripting with Ruby

  • 1. Ruby Rubyによる実用 Android Androidスクリプティング Practical Android scripting with Ruby 川戸 正裕 Masahiro Kawato @m_kawato 2010/8/29 RejectKaigi2010 1
  • 2. Motivation こういうのをさっくりAndroid上に実装したい I hope to rapidly implement such a game on Android ########################################################## #........................................................# #.###.#########.###############.########.###.#####.#####.# #.###.#########.###############.########.###.#####.#####.# #.....#########....J.............J.......###.............# #####.###.......#######.#######.########.###.#######.##### #####.###.#####J#######.#######.########.###.## ##.##### #####.###L#####.## ##L## ##.## ##.###.## ##.##### #####.###..H###.## ##.## ##.########.###.#######J##### #####.#########.## ##L## ##.########.###.###V....##### #####.#########.#######.#######..........###.#######.##### #####.#########.#######.#######.########.###.#######.##### #.....................L.........########..........R......# #L####.##########.##.##########....##....#########.#####.# #.####.##########.##.##########.##.##.##.#########.#####.# #.................##............##..@.##...............R.# ########################################################## 2010/8/29 RejectKaigi2010 2
  • 3. Development environment of Android applications 基本は、Eclipseベースのクロス開発環境+ Androidエミュレータ/実機 – コードを書く→実行のサイクルに手間がかかる →スクリプトで開発のサイクルを速めたい Basically, Eclipsed-based cross development environent with Android emulator or real machine – It takes time to execute code after write it →Shorten development cycle with scripting 2010/8/29 RejectKaigi2010 3
  • 4. Ruby on Android • JRubyのjarファイルをDalvikバイトコードに変換することで、Android上 で動作可能 – "Ruboto Is Your Friend", Charles Nutter http://blog.headius.com/2009/02/ruboto-is-your-friend.html • Androidアプリとしてインストール可能な配布がいくつか存在 • ここではAndroid Marketに登録されている「Ruboto IRB」を取り上げ る • JRuby's jar file can be converted into Dalvik bytecode runnable on Android • There are a number of JRuby distributions installable as Android applications • Here I pick up "Ruboto IRB", registered on Android Market 2010/8/29 RejectKaigi2010 4
  • 5. Ruboto IRB Android Marketからイン ストール可能 (もちろんapkパッケージを 手動で入れることも可能) You can install Ruboto IRB from Android Market (apk package is also avalable for manual installtion) 2010/8/29 RejectKaigi2010 5
  • 6. Hello world on Ruboto IRB Executed on Nexus One (Android 2.2) 2010/8/29 RejectKaigi2010 6
  • 7. Script editor of Ruboto 2010/8/29 RejectKaigi2010 7
  • 8. Problems • ソフトキーボードでスクリプトを入力するのはかった るい • 画面が狭すぎてスクリプト編集が難しい • Androidエミュレータで実行すると、内蔵エディタが シャレにならないくらい遅い • Software keyboard is not suitable to write scripts • Andoid phone's screen is too small • Embedded editor is too slow on Android emulator 2010/8/29 RejectKaigi2010 8
  • 9. (My) Ideal Solution スクリプトを編集 JRuby実行結果を表示 Input/modify JRuby scripts Show results of JRuby execution JRuby Script editor 同期 Synchronization script file Android phone USB cable PC/Mac 現状ではそのまま実現する手段はないみたい There does not seem to be actual products for such a solution 2010/8/29 RejectKaigi2010 9
  • 10. Alternative solutions • 実機+ハードウェアキーボード (USB/Bluetooth) – 小さい画面の問題は解決しない • androidscreencast – Android機上の画面をPCに表示/PCのキーボードから実機を 操作するためのソフトウェア – 画面の粗さとレスポンスが遅いことから、この目的には適さない • Android real machine+hardware keyboard (USB/Bluetooth) – Screen size is not improved • androidscreencast – A software to show an Android phone's screen on PC and send keybord input on PC to the phone – It is not suitable because screen is low quality and keyboard response is slow 2010/8/29 RejectKaigi2010 10
  • 11. Alternative solutions (2) • PCからAndroid機のSDカードをマウント – PC側で編集したRubyスクリプトをAndroid機側のSD カードにコピー – PCからマウント中はAndroid側からはSDカードが見えな いので面倒 • Mount SD card from PC – Copy your Ruby code to SD card in the Android phone – An SD card cannot be mounted from PC and Android at the same time 2010/8/29 RejectKaigi2010 11
  • 12. 未完 ご清聴ありがとうございました 何か良い方法があれば教えてください Please tell me if you have a good solution 2010/8/29 RejectKaigi2010 12