斉藤 祐也

オフラインファースト、レスポンシブデザインの新視点、新たなブラウザ対応アプローチなど海外WEBテク20本を一挙公開

斉藤祐也の海外WEBテク定点観測<Issue.8: 2013/11/01-2013/11/30>

今月の定点観測は、モバイル開発で考慮したいオフラインファースト構想について、レスポンシブウェブデザインに対する別視点、コンポーネントレベルでのプログレッシブ・エンハンスメントのアプローチなど合計20件の記事や動画などを紹介します。

注目ニュースピックアップ

Offline First!

offlinefirst

モバイル・ファーストをさらに一歩進め、”不安定なインターネット接続”や”バッテリー”というモバイルならではの問題を解決に導くためのオフライン・ファーストというアプローチが注目を浴び始めている。
そのタイミングで議論のスタートポイントとなるべく作られたのがこのサイト。
まだ具体的な活動は始まっていないようですが、これから多くの議論が期待されるトピックなので目が離せません。

関連リンク:

レスポンシブウェブデザインはスクリーンサイズに依存しすぎていないか – Luke Wroblewski

relying-too-much-on-screen-size

原題: Responsive Web Design: Relying Too Much on Screen Size

レスポンシブウェブデザインにおけるゴールに世にあふれている様々なデバイスにデザインを適応させることがあげられると思います。この記事でLuke Wroblewski氏は、その適応に向けた指標となっているスクリーンサイズはデザインを決定づけるのに十分な変数にはなりえないと指摘しています。
スクリーンサイズのみでは、ユーザとそのデバイスとの距離を知ることは難しいですし、640pxの幅を持つスクリーンだからといって、それがGoogle Glassから見ているかを知ることも難しいでしょう。
Wroblewski氏は、スクリーンサイズに適応することが無意味であるわけではないが、考慮するべき指標ではないかと結んでいます。

関連リンク:

ブラウザではなく、コンポーネントごとにブラウザ対応を行うアプローチの紹介 – Filament Group

grade-components-not-browsers

原題: Grade components, not browsers

ブラウザやバージョンによる機能の違いを吸収するためのアプローチを行うのにブラウザやバージョンにグレードを設定し、そのグレードごとの対応を行うアプローチが多く採用されています。Filament GroupのScott Jehl氏は、ブラウザにグレードをつけるのではなく、サイトを構成するコンポーネントにグレードを設けて、それごとにどのように機能を拡張していくかを定義していくアプローチを提案しています。
Jehl氏は、コンポーネントごとにグレードを設けることで、ドキュメントしやすく、もっとも最適な体験を各ブラウザ、デバイスに提供するというゴールを達成しやすいとしています。

関連リンク:

  • Scope Components, Not Pages – Brad Frost Web / Brad Frost氏による、上記記事のアプローチを拡張し、ウェブデザインの制作にかかる工数もページ単位ではなく、コンポーネント単位で行う利点の解説

なぜJavaScriptにスタイルガイドが必要なのか? – Harrison Shoff

why-does-javascript-need-a-style-guide

原題: Why does JavaScript need a style guide?

Airbnbが公開しているJavaScriptのスタイルガイドのIssueに寄せられた、”なぜJavaScriptにスタイルガイドが必要なのか”に対する、AirbnbチームメンバーであるHarrison Shof氏による素晴らしい回答。
この回答を導いた質問も素晴らしく、”もしピカソが絵の書き方を学ぶ際、我々がどのように書くべきかを示唆したとしたら、キュービズムは存在したのか?”、というものです。
これに対してShof氏は、チームとして、または大きなコードベースをメンテナンスする上では、どんなスタイルであろうと一貫性を持つことが重要であるとしながらも、個人でサイドプロジェクトを行う際にはもちろん無視しても構わないとしています。

Asm.jsに関して – Acko.net

on-asmjs

原題: On Asm.js

Asm.jsを利用することでJavaScriptでもネイティブに限りなく近いパフォーマンスを得ることができます。実際にそのデモは目を見張るほどのパフォーマンスを出しています。Steven Wittens氏は、Asm.jsを含むLLVMのような”JavaScriptのふり”をする存在の登場はJavaScriptそのものにプラスにならないとしています。

関連リンク: On “On Asm.js” / Dave Herman氏による上記記事への反論

海外トレンドコラム

リモート・デバッグのAPIを統一するための構想

原題: RemoteDebug, an initiative to unify remote debugging across browsers.

モバイル向けのウェブサービスを制作するにあたり課題であり、現在多くの革新が起こっている分野の一つであるリモート・デバッグについて、ブラウザごとに異なるデバッグ用APIを作るのではなく、共通化することができないか、という目的を体現するための構想。
ビジョンそのものも素晴らしいですが、実際に公開されているブリッジとなるツールの紹介もあるので実利的でもあります。

クロス・モバイルデバイスのテストを手助けするツールたち – HTML5 Rocks

原題: Synchronized Cross-device Mobile Testing

モバイル開発における悩みの1つに非常に多くのデバイスで動作・表示確認を行う必要があることがあげられます。
Addy Osmani氏がその作業をサポートするツール、GhostLabAdobe Edge Inspect CCなどを詳しく紹介しています。

npm registryをサポートするための寄付を募集しています – scalenpm.org

原題: Help scale the npm registry

Node.jsに関わるツールを利用する際、なくてはならない基本的なツールとなっているnpm。そのnpmregistryを支えるインフラは実はNodejitsuにより無料で提供されています。
ここ数ヶ月の間npm registryが不安定になる事象が起こり、その解決のための寄付を募っています。
現時点でゴールは達成(残21日)していますが、Node.jsを普段から利用しているなら寄付を検討してみてはいかがでしょうか。

pointer-events: noneを使ってスクロールを60FPSにする方法 – The CSS Ninja

原題: 60fps scrolling using pointer-events: none

CSSによるシャドウの描画はブラウザにとってやや不得意な操作であり、それが原因でスクロールパフォーマンスの低下につながることも多い。この記事では:hoverにつけられたシャドウによるパフォーマンス低下を防ぐ手法について紹介しています。

関連リンク: Malte Ubl氏によるGoogle+ポスト / Malte Ubl氏はRyan Seddon氏が紹介した方法はiframeではうまくいかないと指摘、この問題に関してはハックに頼らずブラウザ側で解決することが期待されるとしています。

WebGLを利用する場合に知っておきたいデバッグツールとプロファイルツール – Real-Time Rendering

原題: [WebGL Debugging and Profiling Tools

WebGLを使う際に知っておきたいデバッグツール、そしてパフォーマンスのプロファイルツール達の紹介。
Firefox 27に搭載されているFirefox WebGL Shader Editorの紹介を含む4つ(+アルファ)のツールについて紹介しています。

提案中のsrc-Nの最後の文について詳しく紹介 – Tab Completion

原題: Explaining The Last Clause of the src-n Grammar

Tab Atkins Jr氏が提案しているレスポンシブ・イメージへのアプローチであるRespImg Syntax、通称src-Nについて、これまでのsrcsetと比較して、このシンタックスがシンプルなのかについての解説をしています。

レスポンシブ・イメージについての今年の振り返り – HTML5 Doctor

原題: Responsive images – end of year report

今年多くの前進があったレスポンシブ・イメージに対する問題解決についてBruce Lawson氏がまとめています。
これまでの経緯を含めて今後に関する示唆を含む非常に有用な記事となっています。

関連リンク: レスポンシブ・イメージに関する各ブラウザベンダの現在の状況 / Mat Marquis氏によるまとめ

さらなるページロード速度改善を行うために知っておきたいこと- Steve Souders

原題: Prebrowsing

ページロード速度を最適化するためには、キャッシュをきちんとしてHTTPリクエストを可能な限り減らすことが大切ですが、この記事ではそのキャッシュの次に注視しておくべき、dns-prefetch、prefetch、prerenderなど新たに可能性が模索されているテクニックについてSteve Souders氏が解説。

リファクタリングをする際に覚えておきたいアプローチたち

原題: Refactoring Techniques

リファクタリング:Rubyエディション“で紹介されていたリファクタリング手法のうち、Mark McDonnell氏がよく使う方法を抜き出して詳しく解説。コードサンプルはRubyのものになっているが、JavaScriptやその他の言語でも同じアプローチができるので非常に参考になります。

フルスタックJavaScriptアーキテクチャ指南 – Smashing Coding

原題: An Introduction To Full-Stack JavaScript

ウェブアプリの構築にアジャイルのような早い開発サイクルに適した選択としてフロントエンドはもちろん、サーバーサイドでもJavaScriptを採用するケースが増えてきています。
この記事ではそのアプローチでツールスタックを構築する際に知っておきたい様々なことを包括的に紹介しています。
もちろんすべてに対する回答ではありませんが、注目のアプローチではあるので要チェックです。

Color Template

ウェブデザインに限らずですが、色がユーザに与える影響は計り知れません。その大切な色に関して覚えておきたい基礎と応用について平易な用語を使って非常にわかりやすく解説しているサイト。リファレンスとしていつでも参照できるようにしておきたいサイトです。

クローズアップ“ビデオ/スライド/ツール”

レンダリング・パフォーマンスケーススタディ – Addy Osmani

原題: Rendering Performance Case Studies

Velocity Conf EUで発表されたAddy Osmani氏による、レンダリング・パフォーマンスに関する203ページに及ぶスライド。FlickrやPinterest、Google+などの実際のウェブサービスを対象にしたケーススタディとなっています。

Node.js Stream Playground – John Resig

Node.jsのstreamは説明を読んだだけで理解するのは難しいコンセプトではないでしょうか? 実際に手を動かしてみるのが理解への近道、ということで、John Resig氏が作成したブラウザ上でsteamについて学べるこのツールを試してみてください。
詳しい利用方法についてはこちらの記事を参考にしてください。

Level Me up Scotty! – Julian Gruber

nodeconf EUで発表されたJulian Gruber氏によるLevelDBを使ったリアルタイムチャットについてのビデオ。氏は15分の発表中に(ごく単純なものですが)実働するチャットシステムをライブコーディングをしています。 完成したソースコードはGitHubにて公開されています。

Pa11y

Nature Publishing Groupによりオープンソースされている、Pa11yは自動でアクセシビリティに関するレポートを収集し作成してくれるツール。

★次回の「斉藤祐也の海外WEBテク定点観測」は2014年1月6日にお届け予定です。★

Powered byNTT Communications

tag list

アクセシビリティ イベント エンタープライズ デザイン ハイブリッド パフォーマンス ブラウザ プログラミング マークアップ モバイル 海外 高速化 Angular2 AngularJS Chrome Cordova CSS de:code ECMAScript Edge Firefox Google Google I/O 2014 HTML5 Conference 2013 html5j IoT JavaScript Microsoft Mozilla Node.js Polymer React Safari SkyWay TypeScript UI UX W3C W3C仕様 Webアプリ Web Components WebGL WebRTC WebSocket WebVR