i want make full svg website

64
Full SVG Web Site を 作ろうと思って 古くて最近盛り上がってる(はず)の 画像形式について話すよ! 2014/05/31 Ohotech #9 (自称)Ohotech札幌支部員 まんじゅ(´ん`)

Upload: hidetsugu-takahashi

Post on 28-Nov-2014

3.718 views

Category:

Internet


2 download

DESCRIPTION

I tryed create full svg web site, that report.

TRANSCRIPT

Page 1: I want Make full svg website

Full SVG Web Site を作ろうと思って

古くて最近盛り上がってる(はず)の

画像形式について話すよ!

2014/05/31Ohotech #9

(自称)Ohotech札幌支部員まんじゅ(´ん`)

Page 2: I want Make full svg website

本日のサマリー

● 古くてナウい(?)SVGは一体何者なのかについて● SVGでなにができるのか● SVGで自分がやろうとしていることとか

Page 3: I want Make full svg website

さて、

Page 4: I want Make full svg website

このスライドもSVGで作ろうと思ったのですが

Page 5: I want Make full svg website

「SVGでそんな

Page 6: I want Make full svg website

『大量のオブジェクトを制御して

Page 7: I want Make full svg website

つけたり消したりして

Page 8: I want Make full svg website

容量肥大化する』のは

Page 9: I want Make full svg website

嫌だなあ……。

Page 10: I want Make full svg website

という事で普通にLibre Office Impressで進めます。

Page 11: I want Make full svg website

自己紹介● Who am I ?

Page 12: I want Make full svg website
Page 13: I want Make full svg website

で、

Page 14: I want Make full svg website

SVG #とは

Page 15: I want Make full svg website

SVGとは

Wikipedia 日本語版 「Scalable Vector Graphics」の項より

● 2次元ベクターイメージ用の画像形式● 以下もサポート

– アニメーション– ユーザーインタラクション

● XMLがベース– HTMLもXMLベースです

Page 16: I want Make full svg website

ベクターイメージ● Vector Image● 座標系● グラフ

Page 17: I want Make full svg website

ベクターイメージ

● 数学的に図形を表現– 点と点の距離– 方程式のグラフ– ベジェ曲線とか

● 拡大しても画像が劣化しない● 描画する際は演算するのでコンピューターには負荷はかかる

– (けれど今のコンピューターの処理能力では気にならない)

Page 18: I want Make full svg website
Page 19: I want Make full svg website

「方眼紙のマスに色をつけて塗りつぶす」のがラスタ―「方眼紙にグラフを書いて表現する」のがベクター

Page 20: I want Make full svg website

改めて、

Page 21: I want Make full svg website

SVGとは

Wikipedia 日本語版 「Scalable Vector Graphics」の項より

● 2次元ベクターイメージ用の画像形式● 以下もサポート

– アニメーション– ユーザーインタラクション

● XMLがベース– HTMLもXMLベースです

Page 22: I want Make full svg website

アニメーション

● パラパラアニメ形式ではない● どちらかというとAdobe (旧:Macromedia)Flashっぽい

– パスの変形– パスの変形による図形の変形

Page 23: I want Make full svg website

アニメーションの実装方法

● 3つある– SVGのanimation要素やtransform要素– CSSのanimation要素やtransform要素– Javascriptでゴリゴリ動かす

● CSSやJavascriptでの実装が多い– しかし問題が

● Javascriptは上手に組まないとリソースを食いつぶす(ちょっと重要)● CSSにSVGのアニメーション処理まで任せちゃうの?(思想の問題)

Page 24: I want Make full svg website

Javascript実装の利点

● Webブラウザ上で表現できることは何でもできる● Javascriptでアニメーションを実装したことのある人なら容易

に実装可能(かも)● SVGのanimation要素と比べると確実に(書いたとおりに)

動作する

参考資料:svg要素の基本的な使い方まとめ アニメーションhttp://www.h2.dion.ne.jp/~defghi/svgMemo/svgMemo_12.htm

Page 25: I want Make full svg website

Javascript実装の問題点

● 実装の仕方によってはすごく重くなる。– たくさんのSVG画像を移動させたりするとなおのこと

● Javascriptのアニメーション全般に言えることかな?

● コードが肥大化する– SVGのanimation要素などで実装できるところまでJavascriptで実装

すると面倒くさいことを色々書かないといけない● Javascriptで後からSVGのanimation要素を追加したり、

編集したりする分にはさほど問題ないかな?

参考資料:svg要素の基本的な使い方まとめ アニメーションhttp://www.h2.dion.ne.jp/~defghi/svgMemo/svgMemo_12.htm

Page 26: I want Make full svg website

CSS実装の利点

● SVGそのものとSVGのアニメーションを別々にできる● CSSでアニメーションを実装したことのある人なら容易に実装

可能(かも)● Javascript実装よりは取っ付き易い

参考資料:svg要素の基本的な使い方まとめ アニメーションhttp://www.h2.dion.ne.jp/~defghi/svgMemo/svgMemo_12.htm

Page 27: I want Make full svg website

CSS実装の問題点

● コードが肥大化する– ブラウザエンジンによっての記述を足したりしないと

いけない場合もある● のかな?

● SVG要素内で操作できない属性がある– 位置や範囲を指定するxやyやcxやcyなどの属性– HTML要素を操作するのには向いているのかな?

参考資料:svg要素の基本的な使い方まとめ アニメーションhttp://www.h2.dion.ne.jp/~defghi/svgMemo/svgMemo_12.htm

Page 28: I want Make full svg website

SVG実装の利点

● 一つのSVGにまとめることができる● 描画タイミングはブラウザが持ってくれる

– CSSもかな?● 案外CSSでアニメーションを実装したことのある人なら容易に

実装可能– 筆者の個人的憶測による

● Javascript実装よりは取っ付き易い

参考資料:svg要素の基本的な使い方まとめ アニメーションhttp://www.h2.dion.ne.jp/~defghi/svgMemo/svgMemo_12.htm

Page 29: I want Make full svg website

SVG実装の問題点

● 細かいことができない– シーンの切り替えや動くタイミングの厳密な定義が難しい– SVGファイルの構成によっては動かないこともある

● ブラウザによって動作が違ったりも

参考資料:svg要素の基本的な使い方まとめ アニメーションhttp://www.h2.dion.ne.jp/~defghi/svgMemo/svgMemo_12.htm

Page 30: I want Make full svg website

なので「部品はSVG」「全体制御はJavascript」というのがお勧めです。

参考資料:svg要素の基本的な使い方まとめ アニメーションhttp://www.h2.dion.ne.jp/~defghi/svgMemo/svgMemo_12.htm

Page 31: I want Make full svg website

Demo実際みてみる

Page 32: I want Make full svg website

で、

Page 33: I want Make full svg website

個人的にやろうとしていること

Page 34: I want Make full svg website

Full SVG Web Site を作ろうと思って

古くて最近盛り上がってる(はず)の

画像形式について話すよ!

2014/05/31Ohotech #9

(自称)Ohotech札幌支部員まんじゅ(´ん`)

Page 35: I want Make full svg website

Full SVG Web Site全部SVGのWebサイト

Page 36: I want Make full svg website

あわよくば

Page 37: I want Make full svg website

ポートフォリオ全部SVGのポートフォリオ

Page 38: I want Make full svg website

今の成果物● https://github.com/manzyun/FullSVGWebPage

Page 39: I want Make full svg website

参考資料としてMozilla Developer Network

Preference is MDN

Page 40: I want Make full svg website

「だって、某プログラミングの動画入門サイトのHTMLやCSSの参考リファレンスも、ここを推してたよね」

(^ん^

Page 41: I want Make full svg website

見てみた

Page 42: I want Make full svg website
Page 43: I want Make full svg website

(^ん^;

Page 44: I want Make full svg website

(いや、きっとリファレンスは大丈夫だ)

(^ん^

Page 45: I want Make full svg website

見てみた

Page 46: I want Make full svg website
Page 47: I want Make full svg website
Page 48: I want Make full svg website

(´ん`

Page 49: I want Make full svg website

(´A`

Page 50: I want Make full svg website

MDNでこれなの?!

Page 51: I want Make full svg website

(もしかして、翻訳されてないから使われてないのか?)

(´q`

Page 52: I want Make full svg website

(であれば翻訳したら使われ始める?)

(´A`

Page 53: I want Make full svg website

(今引き受けてる仕事も暇になっちゃったしなあ)

(´A`

Page 54: I want Make full svg website

(Ubuntuの方でろくに翻訳したことないしなあ)

(´A`

Page 55: I want Make full svg website

(……、)

(´A`

Page 56: I want Make full svg website

(……暇つぶしに翻訳してみるか)

(´ん`

Page 57: I want Make full svg website

ということで、

Page 58: I want Make full svg website
Page 59: I want Make full svg website
Page 60: I want Make full svg website

ということで、Mozilla Developer Networkの翻訳は

Page 61: I want Make full svg website

すごく気楽にできる!

Page 62: I want Make full svg website

Demo実際に翻訳してみる

Page 63: I want Make full svg website

まとめ

● SVGはオープン標準画像データとして勧告してる– W3Cで規格されてるよ– 実は2001年からある規格だよ

● アニメーションも可能– 使い方によってはFlashの代替になるかも?– ただしソースコードが見えるので使いドコロは見極めよう

● Mozilla Developer Networkで翻訳してみないか?– みんなの翻訳で幸せになれる人がきっと居る

Page 64: I want Make full svg website

このスライドはまんじゅ(´ん`)(高橋秀羅)によりクリエイティブ・コモンズ 表示 4.0ライセンスの元に提供されております。

ご静聴ありがとうございます

● 参考資料– Wikipedia

● http://ja.wikipedia.org/– Mozilla Developer Network

● http://developer.mozilla.org/ja/– SVG要素の基本的な使い方まとめ

● http://www.h2.dion.ne.jp/~defghi/svgMemo/svgMemo.htm