objc2swift (自動変換の野望)

24
Obj-C Swift 自動変換の野望 @taketo1024 2015/04/15 potatotips #16

Upload: taketo-sano

Post on 15-Jul-2015

3.400 views

Category:

Software


5 download

TRANSCRIPT

Page 1: objc2swift (自動変換の野望)

Obj-C → Swift 自動変換の野望

@taketo1024

2015/04/15 potatotips #16

Page 2: objc2swift (自動変換の野望)

最近 Android 版も出ました!

Page 4: objc2swift (自動変換の野望)

本題

Page 5: objc2swift (自動変換の野望)

Xcode6.3 で Swift のコンパイルも高速化したらしいですしそろそろ…

Page 6: objc2swift (自動変換の野望)
Page 7: objc2swift (自動変換の野望)

http://stackoverflow.com/questions/24214683/convert-objective-c-to-swift

Page 8: objc2swift (自動変換の野望)

why not?

Page 9: objc2swift (自動変換の野望)

at least it would be better to have something that would help us convert the code by hand...

Page 10: objc2swift (自動変換の野望)

Yarimashou!

Page 12: objc2swift (自動変換の野望)

ANTLR文法ファイル Parser

2秒でわかる ANTLR

Page 13: objc2swift (自動変換の野望)

Objective-C の文法もある!

Page 14: objc2swift (自動変換の野望)

DEMO

@interface A : NSObject

@end

Obj-C

Page 15: objc2swift (自動変換の野望)

そして、変換器を作りました! (しかもカッコつけて Scala で)

Page 16: objc2swift (自動変換の野望)

DEMO

@interface A : NSObject

@end

Obj-C

class A : NSObject {

}

Swift

Page 17: objc2swift (自動変換の野望)

あとはコツコツと対応するコードに変換してく。

Page 18: objc2swift (自動変換の野望)

やりたいこと(難しそうなこと)

• .h .m をマージして一個の Swift クラスを作る

• 宣言後1回しか代入してなかったら let にする

• Optional 周りが地獄の予感

Page 19: objc2swift (自動変換の野望)

みんなもやりたいって?

Page 20: objc2swift (自動変換の野望)

OpenSourced!!!

https://github.com/yahoojapan/objc2swift

Page 21: objc2swift (自動変換の野望)

Pull-Req welcome!

Page 22: objc2swift (自動変換の野望)

Apple 純正の converter が出たら笑いましょう (めでたしめでたしってことで)

Page 23: objc2swift (自動変換の野望)

Covert the code, Change the world.