Shibuya.js beyond HTML5
挨拶
まずは javascript の歴史から
結構混沌としていますよね
LT は LL Tiger 「LTの虎」予選!
LL Tiger は当日券もあるよ
今日は当日飛び込みの LT があるらしい
すごいなぁ
amachang さんの発表
緊張されてるとの事、想像していたイメージと違うなぁ
まずは拍手の練習からw
HTML5 とは何か
DOM と HTML の合体
HTML5 Drag and Drop
- Source
属性の付与
自分である事を確かめるコードが必要
バブリング時に自分を認識する
コピー、ムーブ、リンク
ドラッグ終了時のイベント
- Target
Drag Enter
キャンセルで実行される
イベントがキャンセルされたかどうかをフラグで見る
Drag Over
コピー、ムーブ、リンク
※ effectAllowed
Drop Event
mime-typの設定
データのチェックを行って実行可否を見る
最後にデータの取り出し
外部アプリケーションとの連携ができる
event.dataTransfer.files
W3C File API
ヴィジュアルメディアの為のものではない
現在の実装は曖昧な部分がある
Event Capturing
ブラウザがデフォルトで持っている挙動ではなくハンドリング
が必須
過渡期な状態が多い
とにかくフィードバック
ドラッグ
矩形選択
ポップアップメニュー
event.setCapture(false)
イベントのハンドリングを開始する
→releaseCapture で終了
ウィンドウの onblur を監視して別のウィンドウが出てきた時
に状態を元に戻す
いまのところ IE だけ
Border box
横幅縦幅が border に決まる
要素が少なくなってデザイナーとのやりとりが減る
bulkneets さんの発表
demo
livedoor reader のストリーミングAPI
出す出す詐欺中w
websocket に対応したら正式版として出す予定
MXHR でぐぐれ
IE 対応がひどい感じになってすごい
子から孫、孫から子
IFRAME をストリーミングで流すと次々に js を
実行する事ができる
HTML5 の localstrage を使ったセッションの保持
コードは常に自社ドメイン
データのみ外部から持ってくる
eval しない
XHR level2 + JSON を使いましょう
gyuque さんの発表
moriyoshi さんの js で動的に音声データを作るネタ
から発想
js でモジュレータ(モデム)を作る!
- モデムの実装について
専門的すぎてわかりません ><
HTML5 の audio を使っているwww
HTML Media Server API の野望
Full stack javascript server を作りたい
kawanet さんの発表
js で 3D を描く
3D 眼鏡久しぶりに触った
CSS3 の今日のポイント
rgba(R,G,B,A) alpha 属性が追加
sugyan さんの発表
jsdo.it - Share JavaScript, HTML5 and CSS の紹介
fork でその人のコードをパクってもらってきて
書き換える事ができる
aaencode も実行できるよ
エラーハイライト機能もあるよ
JAM - HTML5 and Flash というイベント開催中
flash vs js
takesako さんの発表
顔文字系プログラミング
py!py!encode
記号のキーだけあればプログラミングできる
aaencode のアセンブラ版
AA86
最後の方ちょっと聞き損ねたので
これの詳細が知りたい
teppeis さんの発表
社内公用語が話題になっているが
TIMEZONE の公用語化は?
ブラジルにルールなんてない
夏時間を毎年都度発表
ネパールは +5.45 (1986 までは +5.40)
Rhino + Joda Time で実装
夏時間には存在しない時間があるので注意
HTML5 全然入ってない!?
yukoba さんの発表
javascript 上で動く処理系?
8年前からやってる!
インストール面倒くさい問題 → HTML5
ここ2年の HTML5 の成長
1.javascriptの高速化(jitコンパイラ上で実行)
2.canvas 拡張
3.スマートフォン、IE9
画面転送
とりあえず早い
なんだかすごすぎて良くわからなかった
java の class ファイルを HTML5 の javascript 化
18万行!!
「なんかこんな感じですね」わかりません ><
とにかくすごすぎた!!
以上、第一部終了
続いてビアバッシュ
LL Tiger の宣伝
HTML5 で VNC っぽい何か kanasan さん
websocket API
server サイドは java
robot でキャプチャ収集
マウスイベントはリアルタイム
画像は1秒遅れぐらい
png は重い、gif が軽い
小中学生向けの javascript イベント mactkg
なんと高校生!?
tkg → 卵かけご飯
ものづくり寺子屋主催
bulkneets さんと secondlife さんの対談
まずは東京のネットストーカーはすごい
ネットストーカー3級!?
- bulkneets さんの最近
livedoor clip のリニューアル
100行以上ある(!?) rewrite を書き換えたりしてた
スマートフォン向けに js を使える様になってきた
のが良い
- クロスドメインを使う理由
巨人の手を使って個人でも楽しめる
webkit より netfront(ガラケー) の方が利用率が高い
のでは?
→機種ごとに挙動が違うので対応しづらい
ガラケーは横の動きがないから使いやすいんじゃない?
→細かいディテールが粗いんじゃない
やっぱり自由なプラットフォームだよね
→クローズドなプラットフォームはくそだよね
会場では jquery 利用者が7割
jquery って言語を開発者が自由に書くのでメンテが
つらい
→なるべくコンパクトにライブラリに依存しない様に
書けばよいのでは
jquery の slector ってやっかいじゃない?
→分業化する為には仕方ない
Ten.js の存在意義
→コードの共通化に意義がある
はてなスターが入っているページでは JSDeferred
使い放題、これまめ知識な
のりにのってて1日1000行!?
Closure Compiler の話題
どんどん深い話になってきてついていくのが困難に
なってきた
javascript でテストコードは書いているか?
→selenium なんかで泥臭く
テストを書くと実装のざっと10倍くらいになって
しまうので書いていない
誤解ない様に言うとちゃんと書いてあるのもある
状態を変数に格納して assertion して firebug で
見る
js のテストに夢を見るな
debug は onerror と alert で
終電近くまで実に有意義に時間を過ごせた
とにかくすごい人ばかりで刺激になるけど、少しでも
近づきたいと思うと非常に焦ってくるなぁ