おおよそ2ヶ月に1回のペースで開催されている Mac / iOS 開発関連の勉強会「Cocoa勉強会関西」第60回で、SVGの話をさせて頂きました。
内容はこのスライドをご覧下さい。しゃべった内容は、このスライドから容易に想像できるはず!
この話題を選択したキッカケ
Mac / iOS アプリいずれも、カスタムのUI部品全てをSVGで表現することができたらとても幸せになれるだろうなーと妄想していたのがキッカケです。その妄想に至るにあたっては、某Qえび先生の発言の影響を強く受けています。
頂いた質問その1:パフォーマンスはどうなの?
検証はしていないけど、XMLパースしたりとか何だとかやっている訳ですから、相当遅いはずです。ただ、ViewController
のviewDidLoad
とかで1回処理するだけであれば全然耐えられる範囲なのかなというのがテストアプリを作ってて感じたことです。
ボタンの TouchDown 時に凹ませる表示とかに留まらない、もっと動きのある表示変化で使うのは時期尚早ではないかと思います。
頂いた質問その2:他にもベクター画像を表示させる仕組みはあるのに、何故SVGなの?
テキストエディタで書けるから、というのが最大の強みです。
PostScriptを書いてPDFを作ってそれを表示させるという選択肢もありますが、まさかこのご時世にPostScriptを手で書く人は居ないですよね?!?!(うっ、耳が痛い…。。)
頂いた質問その3:SVGを描くツール、何が良いの?
会場でお答えした回答と少し異なりますが、
- お金があるなら:Adobe Illustrator からSVGでエクスポートさせるのが良いでしょう。
- 熱意があるなら:テキストエディタで XML を一字一句心を込めて打ち込んで行くのが良いでしょう。エディタは Cot Editor とかオススメです。SVGでのシンタックスハイライトあり!
街の声
なんかSVG普通に書けそうだな #cocoa_kansai
— くえび (@questbeat) 2015, 2月 28
PDFだとビルド時にラスタライズされるけど、SVGだったらベクタのままネットワーク通せるとかがメリットになる気がする #cocoa_kansai
— Shin Ise (@iseebi) 2015, 2月 28
#cocoa_kansai SVGから作ったUIImageをキャッシュしてくれるので便利 https://t.co/3mlXtdHxVD
— little gleam (@starfruits_j) 2015, 2月 28
関連書籍
昨年12月の記事
の関連書籍欄をご覧下さい。SVG関連の良い本が揃ってますよ。