PerlMotion

635 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
635
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

PerlMotion

  1. 1. PerlMotion @kaz_hiramatsu
  2. 2. 同人誌とか
  3. 3. PerlMotionとは • PerlでiOSアプリが作れる • 現状だとObj-Cのクラスを直接使えな い • PerlとObj-Cのブリッジを書かないとい けない
  4. 4. Perl側 ②アプリから ③値を返す ブリッジ ④値を返す ①アプリから Obj-C
  5. 5. ブリッジの書き方1 • perl-motion/lib/PerlMotion/Builder/ PerlCompiler/*にあるモジュールを参 考にする • 拡張子は.mでブリッジ用のC関数を書 く • C関数とPerlのメソッドを紐つける
  6. 6. ブリッジの書き方2 • デリゲートメソッドは.mに書いてPerl 側のメソッドを呼ぶ • Valueとオブジェクト構造体 • Perl側から引数の受け取り方 • Perl側へ値を返す
  7. 7. Value • Perlのあらゆる型を格納する共用体 • Perl側から値を受け取る時も返すとき もValue経由で値をやりとりする
  8. 8. Value • ValueへObj-Cのポインタを入れる • OBJC_PTR_TO_VALUE • ValueからObj-Cのポインタを取り出す • VALUE_TO_OBJC_PTR
  9. 9. 引数の受取 • Perl側から引数はArrayObjectで渡さ れる(Perlの配列に該当する型) • args->list[0]に1つめの引数が入ってい る • args->list[1]に2つめ...
  10. 10. Perlへ値を返す • RETURN(OBJC_PTR_TO_VALUE(UI View, view)); • RETURN_VOID(); • RETURN_INT(0);
  11. 11. ブリッジ書いてみた • TableViewController • https://github.com/kazhiramatsu/ perl-motion
  12. 12. メソッドの命名規則 • まだ決まっていない • Obj-Cのキャメルケースをスネークケー スにするという案が有力
  13. 13. まとめ • まだまだ実用段階ではない • Obj-Cのブリッジを書くのが面倒 • 自動生成で作るという案がある
  14. 14. 冬コミ出します

×