HTML5的な勉強会的な - 感想編 -

に、ここ最近よくお邪魔しています。
主宰はhtml5-depelopers-jpの管理人白石さん(id:Syunpei)や
HTML5.JP管理人の羽田野さん。
白石さんは、以前Greeでのオープンソーステクノロジー勉強会でも
お話をお聞きした方ですね。


いってきたの

たぶん、下二つはGoogleGroupのhtml5-developers-jpに入ってないと
表示できないかも?まぁ損はないので入っとくといいんじゃないでしょうか。


会場がすごい

いきなり会場の話かよ、という感じですが、はい。
1/13はOperaさんオフィスで。
1/15と16はGoogleさんオフィス(食堂と、「アフリカ」っていう部屋)でした。
どんな感じかというと


Operaさんでは、ホットコーヒーやジュース、
クリームたっぷりビスケットがとってもおいしかった(*´∀`*)
むぅ、こんなところにもまっちゃだいふくメソッドが・・・(違う?
写真は、Operaにて撮影「ウェブで遊ぼう」。
あそびたいですねぇ。

そしてGoogleさんですね。

ふぉぉぉ・・・

よくわからない感動がここに。
二日間お世話になりました。


感想とか

内容を全て言うことはとてもじゃないけど難しいので
感想ベースで書いておこうと思います。
1/15のTechTalk#3はUst中継もあったので、
興味ある人はご覧になるととってもいいと・・・
と思ったら、中継のみで録画はしていなかったようですね。
録画/公開しちゃえばいいと思うのですが、
どうなのでしょうか?>id:Syunpeiさん


さて、html5は仕様に大幅に追加/変更があり、
長きhtml4時代の経験や慣例を仕様として取り込む方向性を
持っているのだと思います。
たとえば、これまでJavascriptで書いていたフォーム入力データの
バリデーションをhtmlのみで実装できたり、とか。
(ただし、あくまでもユーザエクスペリエンスの向上が目的であって、
 入力値のチェックはこれまでと同様にサーバーでがんばりなさい、という
 スタンスである模様)

具体的には、inputタグにpattern属性というやつが増えて
そこに正規表現で入力できる値の形式を指定できる、とか、
バリデーションじゃないけど

<input type="date">

って書くと
カレンダーが表示されて日付をマウスクリックで入力できたりとか。
その辺のことがJavascriptなしでできちゃうよ、と。


他にも、タグとかタグとかが省略可能だったり、
閉じタグが省略可能だったり、属性の値を""で囲まなくてもよかったり。


そういったマークアップ関連の仕様増加だけでなく、
APIがたくさん用意されていたり。
その辺の仕様が今でも一日一日変わっていったり。
(以前、Greeの勉強会のときには「Web (SQL) Database」があったのに、
 なんか「No SQL!ウォォ!」という勢力が強く「IndexedDB」になったり)


それらについての詳細なことは、ぜひ羽田野さんのhtml5.jpをご覧いただくとして。


なんでしょう、なんか、なんかですよね


まだまだ正式な勧告じゃないので(正式なのは2022年ごろになると言われてる)、
WebDBがなくなるとかの試行錯誤はあっていいと思うのですが、
省略可能タグとか、Input typeをはじめとしたいろんなタグの
振る舞いをブラウザの実装にゆだねるところとか、
属性値の引用府なし許容とか、ちょっと「ゆるい」ような気がする。
ということを、この3回ほど連続で行った勉強会で思いました。


となると何がいけないかというと、
人によって書かれるコードの違いが大きくなったり、
バグを埋め込みやすくなったりしちゃわないのかなぁ、と。
言ってはなんだけど、なんとなくPHPのようなふわふわ感を感じました。
なんて言ったらいいのだ?


ブラウザ側の実装に依存する部分が、話を聞いていると
ちょこちょこ出てくるわけですが、これはつまり、コードのブレを
ブラウザが吸収してくれようとがんばるわけですよね。
そこがなんか、聞いてて落ち着かない感じがあるのかも。
今は自分で実装をしてる部分が目の届かないところに行っちゃって、
違和感や気持ち悪さがあるのかも。


とか書くと、まるで高級言語が生まれた当初に
「そんなもの(コンパイラ)が吐き出すアセンブリは信用できん!俺は自分で書く」
と言っているアセンブリ職人さんたちのような気分です
(いえ、自分はそんな技術力はないですが)。

まぁ、Googleをはじめ「デスクトップアプリケーションのインストール不要、
Webアプリとそれを実行できるブラウザがあればいい」という方向性があるようですから、
ほんとにそうなるとWebブラウザは一種のVMのようなものになるわけで、
上のアセンブリの例えもあながち遠くないのかもしれません。


というわけで

ほんとは1エントリに収めるつもりだったけど、
長く&眠くなってきたので、明日また関連のエントリを書こう。


今日は感想編、明日はハンズオンセミナーでコーディング編。
おやすみなしあ。