「別にテーブルレイアウトでもいいんじゃないの?」
こんな問題提起をされまして、ちょっと僕なりの見解というか技術との向き合い方みたいなものをまとめてみようかなと思います。
まぁ、高品質なものをアウトプットしていきたいのはそりゃそーなんですけど、それって具体的にどういうことかとかちょっと突っ込んで考えてみようと思います。
僕なりの品質の高いWEBサイトの定義
僕の思う高品質なサイトの要件は
- 良いデザインであること。(視覚的・感覚的に情報にアクセスしやすい)
- 高速であること。
- 運用(更新・メンテナンス)がしやすい。
の3点です。
WEBサイトの目的はユーザーに対する情報発信のはずなので、解りやすいデザイン・情報設計、直観的なUIは本当に大切ですし、遅いサイトにイライラするのは僕らは身を以て知っています。
WEBサイトはやはり活用してナンボ、更新してナンボです。最新の情報がすぐに発信できるというのはWEBの特性の一つですし、近年、ソーシャルメディアの発達によって、それが更に重要な要素になっていると思っています。
そのためには、サイト管理者が容易に更新できるようにすることも大切です。そのためにCMSなどがあったりですが、ちょっとした変更などにもスムーズに対応できるようなメンテナンス性も大切です。
WEBサイトだって保守されるもの
静的サイトでのページ・バナーの追加だとか、ナビゲーションの増加とか、意外にHTML+CSSレベルで発生するメンテナンス作業も多いですよね。
HTML/CSSって手を抜いても、ものすごい丁寧に作られていても、ブラウザで見ている限りあまり実感として感じられない部分ではあります。
「このバナー急いで外して!」みたいなことがあったときに、「これ外したらデザイン崩れたけど、どうしよう・・・・。とりあえずCSSで上書きするか。」となって、更に訳が分からないCSS完成していた。なんて経験ありませんか?そしてそれに時間を奪われて仕事がろくに進まないなんてことありませんでしたか?
一度汚せば最後、どんどん読みづらくなって僕らから
- ほかの案件が進められたはずの時間
- あったはずのモチベーション
- レッドブル代
といったものをどんどん奪っていきます。
テーブルレイアウトはなぜだめのかの問いの答えの1つにもなるはずです。
そして、HTMLもCSSも巨大化している
近年のWEBデザインの発展により、HTMLやらCSSも当然巨大化してきました。HTMLにはどんどんdivやらspanが増えて、更にそれに対してCSSが当たり。近年ではCSS SpriteだのBase64encodeだの画像周りやら、Media Queriesでのマルチでバイス対応なんてものまで。
正直普通のCSSの使いづらさったらないので、Sass+CompassやLessなどのCSSプリプロセッサを活用して、読み易く、分かりやすく書き易い方法でスタイルシートを制作するのもすっかりメジャーになった感じです。Chromeの開発者ツールもSassに対応してくれるようになりました。
自分自身としてはCSSプリプロセッサを使わないでCSSを書くとかもう考えられないです。
WEBデザインもかわってきている
昔は紙のデザインの再現が求められていたWEBデザインですが、アニメーションや、パララックスなどを活用したWEBならではの表現が生まれています。こういった表現は今後もどんどん研究が進み、そのうちSVGやcanvasが普通のサイトでも珍しいものじゃなくなるのかもしれないし、そうでもないかも知れない。
また、スマートフォン・タブレット向けサイトみたいな新たな分野も登場し、IPhoneのインターフェースと違和感のないWEBサイトのフレームワークもたくさんあります。この分野の発展も更に続くんでしょうね。
まとめ
ここ数年のWEBのフロントエンド周りの状況の変化は本当に激しいです。無効にするのが常識だったJavaScriptが今では有効が当たり前だったり、スマートフォン・タブレットで今までFlashの領域だった部分をHTML5+CSS3+JavaScriptがやるようになってみたり。CSSがデザイン再現言語からUI作成言語になっていたり。フロントエンドエンジニアという肩書きができていたり、ワークフローの大きな見直しなんて話題もよくあります。
ユーザーとしての僕らはスマートフォンを使いこなし、GmailやGoogleカレンダーを使って仕事をしたり、Retinaディスプレイに感動し、HTML5のブラウザへのドラッグandドロップを普通に使い、TwitterやFacebook等でAjaxでのリアルタイム通信を当たり前のように使っています。
自分自身がWEBのユーザーとしてどんどん新しいものを受け入れ、慣れ、当然のように感じ、使えないと不便さえ感じている、そんな状況の中、やはりWEBに関わる人間として、僕自身新しいものを当たり前のように使い、サイトだったりサービスだったりアプリケーションだったりを提供していけるWEBクリエイターでありたいです。