rust samurai lightning talk

13
Rust Samurai Lightning Talk Why Interested in Rust Naruto TAKAHASHI([email protected])

Upload: naruto-takahashi

Post on 11-Nov-2014

2.877 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Rust samurai lightning talk

Rust Samurai

Lightning Talk

Why Interested in Rust

Naruto TAKAHASHI([email protected])

Page 2: Rust samurai lightning talk

2

Who’s Guy?

Naruto TAKAHASHI(@TNaruto)

•Mail: [email protected]

• Blog: http://eflmemo.hatenablog.com/

• Company: Turbo Systems Co, Ltd.

Interesting Keyboards

• EFL(Enlightenment Foundation Libraries)

• Tizen

•WebKit

Page 3: Rust samurai lightning talk

3

思うところ

• アプリ層はそろそろ C/C++ 以外で記述したい。

• メモリ管理したくないし、速度も欲しい。(せめてバイナリで)

• LL じゃ速度が足りない

• C/C++ で書かれたライブラリを使いたい。

• Ffi がある言語が良い。

• つまり Rust が良い。

Page 4: Rust samurai lightning talk

4

Rust に注目するところ

• ffi が標準搭載

• Rust Foreign Function Interface Tutorial

• http://static.rust-lang.org/doc/tutorial-ffi.html

• Syntax が C に近い。

• 予約語が C に似てる

• Ffi も書きやすい。

1 Python, ruby の ffi のコード見たけど・・・(-_-;

Page 5: Rust samurai lightning talk

5

なぜ Go ではない?

• Rust は標準で ffi が搭載している。

• Go は別モジュール扱いのはず。

• 言語設計のうちから ffi を検討している Rust の方が扱いやすい?

Page 6: Rust samurai lightning talk

6

FFI でやりたいこと

• EFL の Rust バインディング

• 水色のダイヤログをバインディングしたい

Page 7: Rust samurai lightning talk

7

Eet バインディングを試したよ。

• EET

• シリアライズライブラリ。

• 構造体をファイルに落とせたりも出来るよ。

• 戻すのも出来るよ。

• Enlightenment の設定ファイルは全部 eet 使われてるよ。

Page 8: Rust samurai lightning talk

8

Eet バインディング 3,4時間ぐらい悩んでみました。

Page 9: Rust samurai lightning talk

9

Page 10: Rust samurai lightning talk

10

バインディング結果

• 動かせませんでした。

• Rust 難しくね?

Page 11: Rust samurai lightning talk

11

何が難しかった?

• ハンドラ(構造体の実態を見せないための手法)のポインタを Rust 側でどう持って良いのかわからない。

• ライブラリで内部宣言している構造体とかを Rust 側で宣言する必要があるの?

• ライブラリの Enum 宣言

• Rust 側でも同じ値で宣言しないといけないの?

• Rust の知識をそんなに持ってなかった。

• Rust のヒープメモリの扱いとか把握できないと触れないかも。

Page 12: Rust samurai lightning talk

12

Rust の FFI のチュートリアルが update したので見てみます。• Snappy という圧縮ライブラリの ffi の作成方法に変わってる!

• 参考になることがあるかも!

Page 13: Rust samurai lightning talk