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


ごはんとflash +js

takesako さんの発表


顔文字系プログラミング
py!py!encode


記号のキーだけあればプログラミングできる


File API
1MB のファイルでブラクラになっちゃう


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 ファイルを HTML5javascript
18万行!!
「なんかこんな感じですね」わかりません ><


とにかくすごすぎた!!


以上、第一部終了


続いてビアバッシュ

LL Tiger の宣伝

HTML5VNC っぽい何か 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 で


終電近くまで実に有意義に時間を過ごせた
とにかくすごい人ばかりで刺激になるけど、少しでも
近づきたいと思うと非常に焦ってくるなぁ