<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:series="http://organizeseries.com/"
	>

<channel>
	<title>斉藤 祐也 &#8211; HTML5Experts.jp</title>
	<atom:link href="/cssradar/feed/" rel="self" type="application/rss+xml" />
	<link>https://html5experts.jp</link>
	<description>日本に、もっとエキスパートを。</description>
	<lastBuildDate>Sat, 07 Jul 2018 03:14:05 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.7.19</generator>
	<item>
		<title>URLバーの改善、Object.observe()、アクセシビリティに足りないことなど海外WEBテク20本を一挙公開</title>
		<link>/cssradar/7190/</link>
		<pubDate>Fri, 06 Jun 2014 00:00:05 +0000</pubDate>
		<dc:creator><![CDATA[斉藤 祐也]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[ブラウザ]]></category>
		<category><![CDATA[モバイル]]></category>
		<category><![CDATA[海外]]></category>

		<guid isPermaLink="false">/?p=7190</guid>
		<description><![CDATA[連載： 海外WEBテク最新動向 (13)斉藤祐也の海外WEBテク定点観測＜Issue.14: 2014/05/01-2014/05/31＞ 今月の定点観測はURLバーの改善、Object.observe()、アクセシビリ...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/web-tech/" class="series-151" title="海外WEBテク最新動向" data-wpel-link="internal">海外WEBテク最新動向</a> (13)</div><p><strong>斉藤祐也の海外WEBテク定点観測＜Issue.14: 2014/05/01-2014/05/31＞</strong></p>

<p>今月の定点観測はURLバーの改善、Object.observe()、アクセシビリティに足りないことなどを紹介します。</p>

<h2>注目ニュースピックアップ</h2>

<h3><a href="http://jakearchibald.com/2014/improving-the-url-bar/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">URLバーの改善 &#8211; JakeArchibald.com</a></h3>

<p><img src="/wp-content/uploads/2014/06/improving-the-url.png" alt="improving-the-url" width="625" height="386" class="aligncenter size-full wp-image-7195" srcset="/wp-content/uploads/2014/06/improving-the-url.png 625w, /wp-content/uploads/2014/06/improving-the-url-300x185.png 300w, /wp-content/uploads/2014/06/improving-the-url-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>原題: Improving the URL bar</p>

<p>iOS SafariではURLの表示がドメイン名になっています。(URLを表示しているエリアをタップするとURL全体を表示します。)<br />
Google Chrome Canaryの、しかもExperimental Flagのオプションを有効化することで同様の機能を利用できるようにしています。<br />
この機能と記事の筆者であるJake Archibald氏の『一般的なユーザにとってURLはノイズです。プロトコル、オリジン、パスを混ぜ合わせたものです。このターミナルのコマンドのようなものをユーザにそのまま送り返すUIはよいUIであると言えない。URLは共有のしやすさを失わないように、セキュリティにフォーカスしていくべきだ。』という記事の最後に書いた意見は、下記の関連リンクで様々な意見を集めています。</p>

<p>関連リンク:</p>

<ul>
<li><a href="http://adactio.com/journal/6779/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">URLy warning &#8211; Adactio</a></li>
<li><a href="http://remysharp.com/2014/05/04/on-chrome-hiding-urls-to-protect-users-from-phishing/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">On Chrome hiding URLs to protect users from phishing &#8211; remy sharp’s b:log</a></li>
<li><a href="http://www.nczonline.net/blog/2014/05/06/urls-are-already-dead/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">URLs are already dead &#8211; NCZOnline</a></li>
<li><a href="http://labs.ft.com/2014/05/do-we-really-need-to-hide-the-url/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Do we really need to hide the URL? &#8211; FT Labs</a></li>
</ul>

<h3><a href="http://www.html5rocks.com/en/tutorials/es7/observe/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Object.observe()を使ってデータ・バインディング革命を &#8211; HTML5 Rocks</a></h3>

<p><img src="/wp-content/uploads/2014/06/data-binding-revolutions.png" alt="data-binding-revolutions" width="625" height="386" class="aligncenter size-full wp-image-7193" srcset="/wp-content/uploads/2014/06/data-binding-revolutions.png 625w, /wp-content/uploads/2014/06/data-binding-revolutions-300x185.png 300w, /wp-content/uploads/2014/06/data-binding-revolutions-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>原題: Data-binding Revolutions with Object.observe()</p>

<p>JavaScriptでMVCを、というムーブメントが発生し、実際のプロダクトでも利用されるシーンが増えてきています。そんな中で生まれたデータ・バインディングと呼ばれるような機能へのニーズの高まりは必然ともいえるでしょう。そんなニーズに答えるObject.observe()という機能がChrome 36ベータ版にて利用できるようになりました。このAddy Osmani氏によるHTML5 Rocksの記事では、そのObject.observe()の使いどころから、現状の多くのMVCライブラリでの解決との比較など非常に詳細にわたる解説をしています。</p>

<h3><a href="http://insideintercom.io/asking-why-is-not-always-the-best-strategy/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">『なぜ』と問うことが常に最適な戦略とは言えない &#8211; Inside Intercom</a></h3>

<p><img src="/wp-content/uploads/2014/06/asking-why.png" alt="asking-why" width="625" height="386" class="aligncenter size-full wp-image-7192" srcset="/wp-content/uploads/2014/06/asking-why.png 625w, /wp-content/uploads/2014/06/asking-why-300x185.png 300w, /wp-content/uploads/2014/06/asking-why-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>原題: Asking why is not always the best strategy</p>

<p>『なぜ』を繰り返すことは本質的な問題にたどり着く方法だと言えると思います。しかし、HubSpotのプロダクト・デザイナであるDaniel Ritzenthaler氏は、闇雲に『なぜ』を繰り返すことは生産的ではないとしています。<br />
記事では、より生産的な『なぜ』を問うには3つのレイヤーを意識するべきだとしています。<br />
1つ目は利便性レイヤー。ここはある機能を使って実際に何を行おうとしているのかを問うレイヤーです。<br />
2つ目はユーザビリティレイヤー。ここはある機能を使うとどんな結果を得ることができるのかを問うレイヤーとなります。
3つ目は結果の望ましさのレイヤー。ここでは、目的を達した後、何が変化するのかを問うレイヤーです。<br />
Daniel Ritzenthaler氏はプロダクトに対してこの3つのレイヤーを念頭においた『なぜ』はしっかりと時間を取って考え、答えるべきであり、その時間は決して無駄にならないと記事を結んでいます。</p>

<h3><a href="http://alistapart.com/article/accessibility-the-missing-ingredient" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">アクセシビリティにはなにが足りないのか? &#8211; A List Apart</a></h3>

<p><img src="/wp-content/uploads/2014/06/accessibility-the-missing-ingredient.png" alt="accessibility-the-missing-ingredient" width="625" height="386" class="aligncenter size-full wp-image-7191" srcset="/wp-content/uploads/2014/06/accessibility-the-missing-ingredient.png 625w, /wp-content/uploads/2014/06/accessibility-the-missing-ingredient-300x185.png 300w, /wp-content/uploads/2014/06/accessibility-the-missing-ingredient-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>原題: Accessibility: The Missing Ingredient</p>

<p>WAI-ARIAが広くブラウザでサポートされている現在においても、アクセシビリティが必要要件とされるケースは決して多いとは言えないのではないでしょうか?<br />
このA List Apartの記事で、IBMのフロントエンド・デベロッパであるAndrew Hoffman氏はアクセシビリティに足りていない材料は、実装の順番に対する認識であるとし、さらにコード例を通じてWAI-ARIAのroles、states、そしてpropertiesに関する簡単な実装を紹介しています。</p>

<h3><a href="https://medium.com/art-of-product-design/do-it-once-do-it-right-260b6de30a48" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">1回で正しく &#8211; Ryan Clark</a></h3>

<p><img src="/wp-content/uploads/2014/06/doitonce-doitright.png" alt="doitonce-doitright" width="625" height="386" class="aligncenter size-full wp-image-7194" srcset="/wp-content/uploads/2014/06/doitonce-doitright.png 625w, /wp-content/uploads/2014/06/doitonce-doitright-300x185.png 300w, /wp-content/uploads/2014/06/doitonce-doitright-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>原題: Do it once. Do it right.</p>

<p>Webのプロダクトの多くがアジャイルを採用し、短いサイクルのイテレーションで新しい機能をリリースすることは今では珍しくはありません。<br />
Virbのプロダクト・マネージャを務めるRyan Clark氏はそのイテレーションにひそんでいるほころびを3つ指摘しています。</p>

<ul>
<li>イテレーションを言い訳にしない / 次のサイクルがすぐ来るからと言って、問題を先送りにしていいわけではない。</li>
<li>イテレーションの破綻 / ただリリースするだけではなく、きちんと振り返り、フィードバックを次のサイクルに反映すること。</li>
<li>中長期計画なきイテレーション / 闇雲に機能をリリースするのではなく、最中的な、あるいは中間のゴールを持って開発をすること。</li>
</ul>

<p>記事のタイトルにある通り、『1回で正しく』できることはそうするべきです。</p>

<h2>海外トレンドコラム</h2>

<h3><a href="http://signalvnoise.com/posts/3024-questions-i-ask-when-reviewing-a-design" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">デザインをレビューする時にJason Friedがする質問 &#8211; Jason Fried</a></h3>

<p>原題: Questions I ask when reviewing a design</p>

<p>BasecampのJason Fried氏がデザインをレビューする際に質問する事柄。<br />
リストアップされている質問は毎回全て聞くことはないし、順番には意味はありません。自分がデザイナだったらどう答えるか、あるいはデザインを評価する立場なら、聞くべき質問を忘れていないか、優れたチェックシートになるのではないかと。</p>

<h3><a href="http://signalvnoise.com/posts/3752-its-ok-not-to-use-tools" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ツールを使わなくても問題ない &#8211; Jonas Downey</a></h3>

<p>原題: It&#8217;s OK not to use tools</p>

<p>2連続でBasecampのブログ、Signal v.Noiseから紹介。こちらはJonas Downey氏による記事。<br />
昨今フロントもサーバーもインフラも新しいツールがあふれています。それらツールの取捨選択、そしてもちろん利用することも開発者にとっては重要なタスクであると思いますが、それも時と場合を考えて。単純なHTMLとCSSのページを作るのに大仰なツールは必要なく、シンプルにできるものはシンプルに。適切なツールを適切に使いこなすことが大切です。</p>

<h3><a href="http://www.w3.org/2014/04/mobile-web-app-state/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">モバイルにおけるWebアプリケーション標準化の現状とロードマップ &#8211; W3C</a></h3>

<p>原題: Standards for Web Applications on Mobile: current state and roadmap</p>

<p>このW3C作成のページでは、SVGやCanvasなどのグラフィックス、音声や動画などのマルチメディアなど13の標準についての現状とロードマップがまとまっています。仕様そのものの現状はもちろん、実装の状況、開発者向けのドキュメントの有無、テストの状態について一覧できる表があって便利です。</p>

<h3><a href="http://www.gv.com/lib/cheat-sheet-understanding-the-role-of-design-in-startups" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">スタートアップにおけるデザインの役割 &#8211; Google Ventures</a></h3>

<p>原題: Cheat sheet: Understanding the role of design in startups</p>

<p>記事のタイトルにはスタートアップにおける、とはありますが、Webに関するデザイン全般にも通じるデザインの役割について紹介しています。</p>

<h3><a href="http://css-tricks.com/snippets/css/a-guide-to-flexbox/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">A Complete Guide to Flexbox &#8211; CSS-Tricks</a></h3>

<p>原題: A Complete Guide to Flexbox</p>

<p>CSSにおいての次世代レイアウト・プロパティともいえるFlexboxですが、弱点が1つだけあるとしたら、機能の全てを覚えきれないことではないでしょうか? このチートシートはそのFlexboxの機能をビジュアルとともに丁寧に解説してくれているので、これから覚えようという方はもちろん、いつもドキュメントを読み返している方もぜひ。</p>

<h3><a href="http://dev.opera.com/articles/introduction-to-indexeddb/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">An Introduction to IndexedDB &#8211; Dev.Opera</a></h3>

<p>原題: An Introduction to IndexedDB</p>

<p>まだまだブラウザの対応具合には難があるものの、IndexedDBの持つブラウザ側でデータベースを持てるという機能はかなり期待が高いものです。この記事でOperaのTiffany Brown氏は、そもそもIndexedDBとは何か、ブラウザの対応状況を解説し、おなじみTODOアプリを実装していく行程をコード例と共に紹介していきます。</p>

<h2>パフォーマンス最適化 &#35;perfmatters</h2>

<h3><a href="https://www.igvita.com/2014/05/20/script-injected-async-scripts-considered-harmful/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Script-injected &#8220;async scripts&#8221; considered harmful &#8211; igvita.com</a></h3>

<p>原題: Script-injected &#8220;async scripts&#8221; considered harmful</p>

<p>JavaScriptを非同期で読み込むことが、モダンブラウザにおいてもはやベストプラクティスとはいえない。<br />
Ilya Grigorik氏はブラウザの内部動作を元にこの説について検証しています。</p>

<h3><a href="https://github.com/Modernizr/Modernizr/issues/878#issuecomment-41448059" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Docs on Performance Considerations &#8211; Modernizr</a></h3>

<p>原題: Docs on Performance Considerations</p>

<p>プログレッシブ・エンハンスメントを行うのに便利なModernizrのパフォーマンスを鑑みた上で利用するにはどのようにするべきか。<br />
Paul Irish氏によるアドバイス。</p>

<h3><a href="http://paulbakaus.com/tutorials/performance/the-illusion-of-motion/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">The Illusion of Motion &#8211; The Sea of Ideas</a></h3>

<p>原題: The Illusion of Motion</p>

<p>レンダリング・パフォーマンスについて語る上でFPS(Frames Per Second)という単位は欠かすことができないものです。<br />
この記事ではFPSとはなんなのか、そして人が動きを感知する錯覚とはどのように発生するのかについて詳しく解説しています。</p>

<h3><a href="https://medium.com/@dhg/82ced812e61c" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Parallax Done Right &#8211; Dave Gamache</a></h3>

<p>原題: Parallax Done Right</p>

<p>エフェクトの多い少ないはあるにしても毎日のようにパララックスを活用したWebサイトを見かけます。<br />
皆さんもすでにお気づきのように大抵はパフォーマンスに難があり、時にはブラウザがクラッシュしてしまうこともあるほど。<br />
この記事ではそのパララックスのパフォーマンスを向上させるいくつかのテクニックを紹介しています。</p>

<h3><a href="http://www.chromium.org/developers/how-tos/trace-event-profiling-tool/using-frameviewer" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">FrameViewerの使い方 &#8211; The Chromium Projects</a></h3>

<p>原題: FrameViewer How-To</p>

<p>60FPSのゴールを達成するためには1フレームあたり16msの予算しかありません。<br />
そのゴールを達成するのに必要なことはまず計測することです。<br />
この記事ではGoogle Chrome(Canary推奨)が密かに提供しているFrameViewerという計測ツールの使い方について詳しく解説しています。</p>

<h2>クローズアップ“ビデオ/スライド”</h2>

<h3>スライド/ビデオ</h3>

<h4><a href="https://speakerdeck.com/patrickhamann/breaking-news-at-1000ms-front-trends-2014" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Breaking news at 1000ms &#8211; Patrick Hamann</a></h4>

<p>原題: Breaking news at 1000ms</p>

<p>イギリスの新聞Guardianが次世代のWebサイトを作るにあたり実行したパフォーマンス最適化についてのスライド。<br />
そもそもなぜパフォーマンスが大切なのか、よくあるパフォーマンスのボトルネックはどこにあるのかについてよくまとまっています。</p>

<h4><a href="https://speakerdeck.com/garann/progressive-enhancement-for-js-apps" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Progressive Enhancement for JS Apps &#8211; Garann Means</a></h4>

<p>原題: Progressive Enhancement for JS Apps</p>

<p>JavaScriptをメインとしたWebアプリにおけるプログレッシブ・エンハンスメントの仕方についてのスライド。<br />
なぜプログレッシブ・エンハンスメントを行うべきなのかから、アプリケーションの状態の管理についてなど細かい部分についてのノウハウについて紹介されています。</p>

<h4><a href="http://static.googleusercontent.com/media/www.google.com/en//intl/ALL_ALL/think/multiscreen/pdf/multi-screen-moblie-whitepaper_research-studies.pdf" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Principles of Mobile Site Design: Delight Users and Drive Conversions</a></h4>

<p>原題: Principles of Mobile Site Design: Delight Users and Drive Conversions</p>

<p>Googleがまとめたモバイルサイトデザインの原則。119時間にもおよぶユーザビリティテストの結果を5つのポイントに集約し、わかりやすく具体的なアドバイスをしています。</p>

<p>★次回の「斉藤祐也の海外WEBテク定点観測」は2014年7月2日にお届け予定です。★</p>
]]></content:encoded>
		
		<series:name><![CDATA[海外WEBテク最新動向]]></series:name>
	</item>
		<item>
		<title>Web Componentsベストプラクティス、 誰のためのWebなのか、どうコードレビューをするかなど海外WEBテク20本を一挙公開</title>
		<link>/cssradar/6360/</link>
		<pubDate>Mon, 12 May 2014 01:00:28 +0000</pubDate>
		<dc:creator><![CDATA[斉藤 祐也]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[WebComponents]]></category>
		<category><![CDATA[海外]]></category>

		<guid isPermaLink="false">/?p=6360</guid>
		<description><![CDATA[連載： 海外WEBテク最新動向 (12)斉藤祐也の海外WEBテク定点観測＜Issue.13: 2014/04/01-2014/04/30＞ 今月の定点観測はWeb Componentsベストプラクティス、誰のためのWeb...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/web-tech/" class="series-151" title="海外WEBテク最新動向" data-wpel-link="internal">海外WEBテク最新動向</a> (12)</div><p><strong>斉藤祐也の海外WEBテク定点観測＜Issue.13: 2014/04/01-2014/04/30＞</strong></p>

<p>今月の定点観測はWeb Componentsベストプラクティス、誰のためのWebなのかについて、そしてソースコード・レビューをどう行うかなどを紹介します。</p>

<h2>注目ニュースピックアップ</h2>

<h3><a href="http://webcomponents.github.io/articles/web-components-best-practices/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Web Components ベストプラクティス &#8211; WebComponents.org</a></h3>

<p><img src="/wp-content/uploads/2014/05/web-component-best-practices.png" alt="web-component-best-practices" width="625" height="386" class="aligncenter size-full wp-image-6364" srcset="/wp-content/uploads/2014/05/web-component-best-practices.png 625w, /wp-content/uploads/2014/05/web-component-best-practices-300x185.png 300w, /wp-content/uploads/2014/05/web-component-best-practices-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>原題: Web Components Best Practices</p>

<p>Web Componentsはまだこれからの技術であることを念頭に、この記事では現時点でのベストプラクティスを紹介しています。</p>

<ol>
<li>名前空間: 名前空間が他のWeb Componentと重複しないよう、また3文字以内に止めることが望ましい。</li>
<li>すでに存在している要素を可能な限りまねる: ブラウザ側で実装している要素と同じように実装すること。</li>
<li>エラーを出さずに失敗する: ブラウザ側で実装している要素と同じようにDOMとのインタラクションはJSのエラーを出さないように。</li>
<li>属性の使い方: Boolean値の属性は selected=“true” ではなく、selected のように指定する。 </li>
<li>イベントを使ってデータを渡す: データが大きいか、頻度が多くない限りはカスタムイベントを利用してコンポーネント間のデータのやりとりを行う。</li>
</ol>

<p>上記に加えて、11のリスト、合計16個のベストプラクティスが現時点で上げられています。</p>

<p>関連リンク:</p>

<ul>
<li><a href="http://www.polymer-project.org/articles/accessible-web-components.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Accessible Web Components &#8211; Part 1 &#8211; Polymer</a></li>
<li><a href="http://addyosmani.com/blog/the-webs-declarative-composable-future/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">The Web’s Declarative, Composable Future. &#8211; Addy Osmani</a></li>
<li><a href="http://www.polymer-project.org/articles/polymer-xtag-vanilla.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Custom Element Interoperability &#8211; Polymer</a></li>
</ul>

<h3><a href="http://paulbakaus.com/2014/04/16/winning-for-users/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"> 開発者のためではなく、ユーザのために &#8211; The Sea of Ideas</a></h3>

<p><img src="/wp-content/uploads/2014/05/winning-for-users.png" alt="winning-for-users" width="625" height="386" class="aligncenter size-full wp-image-6365" srcset="/wp-content/uploads/2014/05/winning-for-users.png 625w, /wp-content/uploads/2014/05/winning-for-users-300x185.png 300w, /wp-content/uploads/2014/05/winning-for-users-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>原題: Winning for users, not developers</p>

<p>iOSやAndroidなどのネイティブアプリとWebアプリは様々な観点で比較されてきています。記事の筆者であるPaul Bakaus氏はその議論の多くで大切なポイントを見失っているとしています。<br />
例えばURLの存在がWebの優れた点としてあげられますが、URLそのものが優れているのではなく、URLはユーザにとって共有するのに、またアクセスしやすいものであるからこそ優れているのだとしています。<br />
議論が開発者視点のものになってしまっていて、ユーザの視点を見失ってしまっているのではないかという主張。</p>

<h3><a href="http://www.nczonline.net/blog/2014/04/15/a-framework-for-thinking-about-work/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">タスクにかかるコストと得られる価値について &#8211; NCZOnline</a></h3>

<p><img src="/wp-content/uploads/2014/05/a-framework-for-thinking-about-work.png" alt="a-framework-for-thinking-about-work" width="625" height="386" class="aligncenter size-full wp-image-6361" srcset="/wp-content/uploads/2014/05/a-framework-for-thinking-about-work.png 625w, /wp-content/uploads/2014/05/a-framework-for-thinking-about-work-300x185.png 300w, /wp-content/uploads/2014/05/a-framework-for-thinking-about-work-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>原題: A framework for thinking about work</p>

<p>あるタスクにかかるコストが高すぎるという感覚値は、開発者として経験を積んでいけば、ある程度は得られるものです。しかし、単純にリクエストに対して『コストがかかりすぎる』というだけでは、『大切な機能なんだ』と言われると議論が終わってしまいます。Nicholas Zakas氏は、この記事でタスクにかかるコストと得られる価値について、どのように考えるべきかのフレームワークを紹介しています。</p>

<h3><a href="https://shanetomlinson.com/2014/code-review-how-do-you-do-it/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ソースコード・レビュー。どうやってますか? &#8211; Shane Tomlinson</a></h3>

<p><img src="/wp-content/uploads/2014/05/code-review-how-do-you-do-it.png" alt="code-review-how-do-you-do-it" width="625" height="386" class="aligncenter size-full wp-image-6362" srcset="/wp-content/uploads/2014/05/code-review-how-do-you-do-it.png 625w, /wp-content/uploads/2014/05/code-review-how-do-you-do-it-300x185.png 300w, /wp-content/uploads/2014/05/code-review-how-do-you-do-it-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>原題:  How Do You Do Code Review?</p>

<p>複数人での開発が当たり前になるにつれ、ソースコードのレビューを行うことも増えてきています。しかし、そのソースコードのレビューをどうやるのかについての情報は、決して多くありません。Shane Tomlinson氏はこの記事で彼が実際に気をつけている点について共有しています。<br />
記事では、どのレベルの精査が必要なのかをどう決めているのか。そして、複雑なパッチに対してどう理解度を深めているのか、小さな変更で副作用を発生させないために、何をするべきか。最後に、どのようにフィードバックを返しているのか。<br />
ソースコードをレビューする人も、レビューを受ける人も参考になる点が多いはずです。</p>

<h3><a href="https://guides.github.com/activities/contributing-to-open-source/index.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">GitHubでオープンソースに貢献する方法 &#8211; GitHub Guides</a></h3>

<p><img src="/wp-content/uploads/2014/05/contributing-to-open-source.png" alt="contributing-to-open-source" width="625" height="386" class="aligncenter size-full wp-image-6363" srcset="/wp-content/uploads/2014/05/contributing-to-open-source.png 625w, /wp-content/uploads/2014/05/contributing-to-open-source-300x185.png 300w, /wp-content/uploads/2014/05/contributing-to-open-source-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>原題: Contributing to Open Source on GitHub</p>

<p>すでにご存じの通り、GitHubはオープンソースへ貢献する場としては最大のサイトとなっています。そのGitHubから、これからオープンソースに貢献したいと考えている人に対してのアドバイスがこちらの記事。<br />
すでにオープンソースに貢献している方であれば、当たり前のことばかりかもしれません。しかし、反対に自らオープンソースとしてるプロジェクトを持っているのであれば、ここで紹介している事柄を揃えておくとオープンソースへの貢献者が増えるとも言えるはずですので、ぜひ。</p>

<h2>海外トレンドコラム</h2>

<h3><a href="http://insideintercom.io/how-we-design-at-intercom/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Intercomではどうやってデザインをしているか? &#8211; Inside Intercom</a></h3>

<p>原題: How we design at Intercom</p>

<p>デザインに関する非常に有用な記事を多く提供しているIntercomのPaul Adams氏による、Intercomではどうデザインをとらえ、そしてデザインしているかの記事。実際のメールとは異なる部分もあるでしょうが、この記事ではPaul Adams氏がIntercomのメンバーに送ったデザインについてのメールを掲載してます。</p>

<p>関連リンク:</p>

<ul>
<li><a href="http://cognition.happycog.com/article/and-they-all-look-just-the-same" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">And They All Look Just the Same &#8211; Cognition</a></li>
</ul>

<h3><a href="http://developer.telerik.com/featured/a-concise-guide-to-remote-debugging-on-ios-android-and-windows-phone/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">モバイル・デバイスにおけるリモートデバッグガイド &#8211; Telerik Developer Network</a></h3>

<p>原題: A Concise Guide to Remote Debugging on iOS, Android, and Windows Phone</p>

<p>モバイル開発における頭痛のタネの一つであるデバッグ。この記事は実際のモバイル端末でデバッグを行うための手法である、リモート・デバッグに対するガイドをわかりやすく紹介しています。</p>

<h3><a href="http://www.sitepoint.com/introduction-web-notifications-api/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Web Notifications API 事始め</a></h3>

<p>原題: An Introduction to the Web Notifications API</p>

<p>ネイティブアプリだけではなく、Webアプリでもユーザに対してプッシュ型のお知らせ、いわゆるノーティフィケーションという手法はごく当たり前になっています。この手法に対する実装はサービスごとにさまざまですが、W3Cは<a href="http://www.w3.org/TR/notifications/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Web Notifications</a>という仕様を発表し、標準化に向けての一歩を進めました。この記事ではその仕様を利用したノーティフィケーションについて紹介しています。</p>

<h3><a href="https://medium.com/p/3d1b0a9b810e" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">アニメーションを使って支払いに関するユーザー体験を改善する方法 &#8211; Michaël Villar</a></h3>

<p>原題: Improve the payment experience with animations</p>

<p>Stripeというサービスで、どのように支払いに関するユーザ体験を改善したのか。5つのアニメーション手法を、実際のアニメーションを見ながら紹介。アニメーションは「間」のデザインであり、支払いのようなフォーム要素で大きな影響を持つ手法ですので、参考にどうぞ。</p>

<p>関連リンク:</p>

<ul>
<li><a href="http://www.smashingmagazine.com/2014/04/15/understanding-css-timing-functions/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Understanding CSS Timing Functions &#8211; Smashing Magazine</a></li>
</ul>

<h3><a href="http://mts.io/2014/04/02/sass-unit-testing/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Sassを使ったユニットテスト &#8211; mts.io</a></h3>

<p>原題: Sass Unit Testing</p>

<p>フロントエンド開発において、JavaScriptのテストは当たり前と言えるほど一般化してきました。しかし、同じくらい複雑なはずのCSSプリプロセッサのテストはどうでしょうか?<br />
この記事では、Sassにおいてのロジック部分についてのテストをどう行うかについて紹介しています。</p>

<h3><a href="http://blog.teamtreehouse.com/tips-for-writing-better-code" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">よりよいコード書くために知っておきたいコツ &#8211; Treehouse Blog</a></h3>

<p>原題: Tips for Writing Better Code</p>

<p>より優れたコードを書くために、知っておきたいコツを5つ紹介。中級者くらいの経験者にとってはごく当たり前の5つですが、考えずにやっている事柄こそ、言語化するのは難しいものですので、初級者だけではなく、中級者、あるいは上級者の方にも読んでおいてほしい記事です。</p>

<h2>パフォーマンス最適化 &#35;perfmatters</h2>

<h3><a href="http://www.quirksmode.org/blog/archives/2014/04/suppressing_the.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">300msのクリック遅延を抑制するための調査 &#8211; QuirksBlog</a></h3>

<p>原題: Suppressing the 300ms click delay</p>

<p>タッチデバイスにおける300msのクリック遅延問題には多くの問題が潜んでいます。Chromeは最近この300msをmetaタグに「width=device-width」と設定することで無くし始めています。この記事でPeter Paul Koch氏は例によって事細かに「width=device-width」と300msの抑制について、実際のデバイスを使ってテストした結果を共有しています。</p>

<h3><a href="http://mrale.ph/v8/resources.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">V8に関する資料まとめ</a></h3>

<p>原題: V8 Resources</p>

<p>V8エンジンは言わずもがな、ChromeでもNode.jsにも利用されている非常に優れたJavaScriptエンジンです。V8エンジンのもう1つの特徴はこの種類のツールとしては多くの情報が公開されている点です。<br />
このページではそれら情報を1箇所にまとめて紹介しています。</p>

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

<h3>スライド/ビデオ</h3>

<h4><a href="http://daniel.haxx.se/http2/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">HTTP2.0について</a></h4>

<p>原題: http2 explained</p>

<p>HTTP2.0をプロダクションで利用しているというサービスはまだないかも知れませんが、今後はそれも変わっていくことでしょう。このページでは、そのHTTP2.0をプロトコルレベルから説明しているPDFそしてスライドを紹介しています。</p>

<h4><a href="http://sydcss-grid.appspot.com/#1" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">CSS Grid Layout  &#8211; Alex Danilo</a></h4>

<p>Flexboxの利用が増えてきた、というタイミングですが、このスライドはCSSでグリッド・レイアウトを実装するための仕様である、CSS Grid Layoutについて紹介しています。<br />
なかなか複雑な仕様なので、ビジュアルで解説してくれているこのスライドは非常にわかりやすくオススメです。</p>

<h4><a href="http://ericleads.com/2014/04/static-types-are-overrated-dynamic-duo-loose-types-and-object-extension/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">静的型付けは過大評価されている!? &#8211; Eric Elliott</a></h4>

<p>原題: Static Types are Overrated: Dynamic Duo – Loose Types and Object Extension</p>

<p>ニューヨークで開催されたVelocityにて、Eric Elliot氏による『静的型付けは過大評価されている!?』と題した発表。<br />
型の正しさだけでは、プログラムの正しさを補償するものではないとしています。彼はこの発表で、JavaScriptが持つ動的型付けの性質がアプリケーションを開発する上で、大きな武器になる点について触れています。</p>

<h3>ツール</h3>

<h4><a href="http://status.modern.ie/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Internet Explorer Web Platform Status and Roadmap &#8211; status.modern.IE</a></h4>

<p>Internet ExplorerにおけるHTML5、CSS3などの仕様の実装状況とロードマップを一覧できるサイト。<br />
ちなみに、Chromeにも同様のサイトがあるので併せてどうぞ: <a href="http://www.chromestatus.com/features" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Chromium Dashboard</a></p>

<h4><a href="http://sizersoze.org/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">SIZER SOZE</a></h4>

<p>レスポンシブ・デザインにおいて、頭を悩ます問題の一つである画像の取り扱い。この扱いをおざなりにしてしまうと、単にパフォーマンスのよくないページが生まれてしまいます。このツールは、サイトのURLから画像をどれくらい無駄遣いしているのかをチェックしてくれます。</p>

<p>関連リンク:  <a href="http://filamentgroup.com/lab/picturefill_2_a.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Picturefill 2.0: Use the picture element today &#8211; Filament Group, Inc.,</a> / Picture要素のPolyfillが最新の仕様に併せてリニューアルしていますので、上のツールの結果が気になるものであれば、導入を検討してみては?</p>

<h4><a href="http://pumpula.net/p/apps/css-vocabulary/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">CSS Vocabulary</a></h4>

<p>CSSの用語をインタラクティブに実際のソースと照らし合わせて教えてくれるツールです。チームでの開発における共通認識は非常に大切ですから、しっかり覚えておきましょう。</p>

<h4><a href="http://www.jasondavies.com/animated-bezier/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Animated Bézier Curves &#8211; Jason Davies</a></h4>

<p>ベジェ曲線について。アニメーションを使ってベジェ曲線がどのように描かれるかについて解説。アニメーションはD3.jsを利用して作成されているそう。</p>

<p>★次回の「斉藤祐也の海外WEBテク定点観測」は2014年6月2日にお届け予定です。★</p>
]]></content:encoded>
		
		<series:name><![CDATA[海外WEBテク最新動向]]></series:name>
	</item>
		<item>
		<title>Web Componentsに関するパネル、WebとDOMとの関係性、ARIAのWeb標準化など海外WEBテク20本を一挙公開</title>
		<link>/cssradar/5987/</link>
		<pubDate>Mon, 07 Apr 2014 23:00:05 +0000</pubDate>
		<dc:creator><![CDATA[斉藤 祐也]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[W3C仕様]]></category>
		<category><![CDATA[Web Components]]></category>
		<category><![CDATA[海外]]></category>

		<guid isPermaLink="false">/?p=5987</guid>
		<description><![CDATA[連載： 海外WEBテク最新動向 (11)斉藤祐也の海外WEBテク定点観測＜Issue.12: 2014/03/01-2014/03/31＞ 今月の定点観測はWeb Componentsに関するパネル、WebとDOMとの関...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/web-tech/" class="series-151" title="海外WEBテク最新動向" data-wpel-link="internal">海外WEBテク最新動向</a> (11)</div><p><strong>斉藤祐也の海外WEBテク定点観測＜Issue.12: 2014/03/01-2014/03/31＞</strong></p>

<p>今月の定点観測はWeb Componentsに関するパネル、WebとDOMとの関係性、ARIAのWeb標準化などを紹介します。</p>

<h2>注目ニュースピックアップ</h2>

<h3><a href="https://www.youtube.com/watch?v=e29D1daRYrQ" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Web Componentsに関するパネルディスカッション</a></h3>

<p><img src="/wp-content/uploads/2014/04/edgeconf.png" alt="edgeconf" width="625" height="386" class="aligncenter size-full wp-image-5990" srcset="/wp-content/uploads/2014/04/edgeconf.png 625w, /wp-content/uploads/2014/04/edgeconf-300x185.png 300w, /wp-content/uploads/2014/04/edgeconf-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>原題: EdgeConf 3: Components</p>

<p>3月21日にロンドンにて開催されたEDGE Conferenceにて議論されたWeb Components。このカンファレンスでの議論そのものも非常に興味深いものですが、このカンファレンスをきっかけに多くの議論がブログなどで展開されました。Web開発の未来を担うとすら表されるWeb Componentsがその未来へと着実に歩みを進めるためにどんな障害があるのでしょうか。様々な領域で活躍するエキスパートたちの意見を以下に関連リンクとしてまとめましたので、興味がある方はぜひそれぞれ一読を。</p>

<p>関連リンク:</p>

<ul>
<li><a href="http://coding.smashingmagazine.com/2014/03/04/introduction-to-custom-elements/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">A Detailed Introduction To Custom Elements &#8211; Smashing Coding</a></li>
<li><a href="http://webcomponents.github.io/articles/web-components-best-practices/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Web Components Best Practices &#8211; WebComponents.org</a></li>
<li><a href="http://aerotwist.com/blog/web-components-and-three-unsexy-pillars/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Web Components and the Three Unsexy Pillars &#8211; Aerotwist</a></li>
<li><a href="http://addyosmani.com/blog/the-webs-declarative-composable-future/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">The Web’s Declarative, Composable Future.</a></li>
<li><a href="http://www.brucelawson.co.uk/2014/notes-on-accessibility-of-web-components/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Notes on accessibility of Web Components &#8211; Bruce Lawson’s personal site</a></li>
<li><a href="http://www.emdeebeebee.com/golden_path" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">The Golden Path</a></li>
<li><a href="http://adactio.com/journal/6719/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Notes from the edge &#8211; Adactio</a></li>
</ul>

<h3><a href="http://acko.net/blog/shadow-dom/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Shadow DOM &#8211; Acko.net</a></h3>

<p><img src="/wp-content/uploads/2014/04/shadow-dom.png" alt="shadow-dom" width="625" height="386" class="aligncenter size-full wp-image-5991" srcset="/wp-content/uploads/2014/04/shadow-dom.png 625w, /wp-content/uploads/2014/04/shadow-dom-300x185.png 300w, /wp-content/uploads/2014/04/shadow-dom-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>Steven Wittens氏により書かれたこの記事のタイトルはShadow DOMですが、あのShadow DOMではなく、DOMに関する問題点へ指摘と解決策の提言です。React.jsのようにDOMらしいものを生成しDOMを制御するアプローチがあったり、Angular.jsのようにHTMLによく似たシンタックスでDOMへのアプローチを隠蔽するアプローチがあったりと、DOMから離れれば離れるほどWebそのものがよいものになったように思えてくる。氏の狙いは非常に的確なものだと言えると思いますが、以下に関連リンクとして紹介しているCSS TricksのChris Coyer氏による反論も併せて読んでおくと良いでしょう。</p>

<p>関連リンク: <a href="http://css-tricks.com/hatin-web-tech/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Hatin&#8217; on Web Tech by CSS-Tricks</a></p>

<h3><a href="http://www.w3.org/blog/2014/03/wai-aria-expands-web-accessibility/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">WAI-ARIAがWebのアクセシビリティを拡張する &#8211; W3C Blog</a></h3>

<p><img src="/wp-content/uploads/2014/04/wai-aria.png" alt="wai-aria" width="625" height="386" class="aligncenter size-full wp-image-5992" srcset="/wp-content/uploads/2014/04/wai-aria.png 625w, /wp-content/uploads/2014/04/wai-aria-300x185.png 300w, /wp-content/uploads/2014/04/wai-aria-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>原題: WAI-ARIA Expands Web Accessibility</p>

<p>Accessible Rich Internet Applications 1.0 (WAI-ARIA)、そして関連する仕様であるWAI-ARIA 1.0 User Agent Implementation GuideがW3C Recommendationとなりました。つまり、WAI-ARIAはWeb標準となったことを意味します。広範囲に及ぶ、実装だけではなく、テスト、そしてバグ修正を行い、多くのモダンブラウザですでにサポートされ、モバイル・ブラウザにおけるサポートも広がってきています。またHTMLだけではなく、EPub 3.0やSVG 2などの仕様にもWAI-ARIAを適応し、より広範囲でのアクセシビリティを提供していくそうです。</p>

<p>関連リンク:</p>

<ul>
<li><a href="http://thechangelog.com/we-make-the-web-lets-make-it-accessible/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">We Make the Web. Let&#8217;s Make It Accessible. &#8211; The Changelog</a></li>
<li><a href="http://www.marcozehe.de/2014/03/27/what-is-wai-aria-what-does-it-do-for-me-and-what-not/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">What is WAI-ARIA, what does it do for me, and what not? | Marco’s accessibility blog</a></li>
</ul>

<h3><a href="http://adactio.com/journal/6730/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Browsiness &#8211; Adactio</a></h3>

<p><img src="/wp-content/uploads/2014/04/browsiness.png" alt="browsiness" width="625" height="386" class="aligncenter size-full wp-image-5988" srcset="/wp-content/uploads/2014/04/browsiness.png 625w, /wp-content/uploads/2014/04/browsiness-300x185.png 300w, /wp-content/uploads/2014/04/browsiness-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>本連載、<a href="https://html5experts.jp/cssradar/5484/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Issue. 11</a>にて紹介したJeremy Keith氏による「Webに課せられたある1つの矛盾」の考察に対する追記に当たる記事といえるでしょうか。記事はAndroidとiOSの違いについての考察から始まり、ネイティブとWebの差に話が及ぶ。その段になってKeith氏はWebとは何かという根源的な疑問に対し、氏がどのように考えているかについて語っていきます。<br />
氏は次の文で記事を締めくくります。
『分裂として捉えるのを辞め、多様性として捉え始めるべきだ。』<br />
氏の言葉通り、WebとはHTMLやCSS、JavaScriptで書かれたものだけを意味するものではないでしょう。</p>

<p>関連リンク: <a href="http://www.cennydd.co.uk/2014/why-dont-designers-take-android-seriously" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Why don&#8217;t designers take Android seriously? : Cennydd Bowles</a></p>

<h3><a href="http://annevankesteren.nl/2014/03/contributing-to-standards" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Web標準化に貢献するために必要なこと &#8211; Anne’s Blog</a></h3>

<p><img src="/wp-content/uploads/2014/04/contributing-standards.png" alt="contributing-standards" width="625" height="386" class="aligncenter size-full wp-image-5989" srcset="/wp-content/uploads/2014/04/contributing-standards.png 625w, /wp-content/uploads/2014/04/contributing-standards-300x185.png 300w, /wp-content/uploads/2014/04/contributing-standards-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>原題: Contributing to standards</p>

<p>Anne van Kesteren氏はWeb標準化に貢献するためには、Web標準がコミュニティによって作られていることに気がつくことが大切なステップだとし、そのコミュニティでコミュニケーションに利用されているミディアムを追いかけることを次のステップとしています。もちろん貢献しようとしている標準そのものに詳しい必要もありますが、それらを取り巻く環境にまず慣れることが活動の第一歩だとしています。</p>

<p>関連リンク: <a href="https://www.youtube.com/watch?v=hneN6aW-d9w" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">How to win friends and influence standards bodies &#8211; Domenic Denicola</a> / Domenic Denicola氏がLXJS 2013にて発表した彼自身がどのように標準化団体にアプローチしたかについてのプレゼンテーション。</p>

<h2>海外トレンドコラム</h2>

<h3><a href="http://alistapart.com/blog/post/picture-element-qa" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Picture要素に関するQ&amp;A &#8211; An A List Apart</a></h3>

<p>原題: [A Q&amp;A on the Picture Element</p>

<p>Picture要素の復活に尽力したMarcos Caceres氏とYoav Weiss氏に対して、同じくResponsive Images Community Groupに所属しているMat Marquis氏がインタービュー。
Picture要素が以前のバージョンとどこが違うのか、それまでに登場したsrcsetやsrc-nという仕様や提案が現在のPicture要素にどのように影響しているのかなどについて詳しく解説しています。</p>

<h3><a href="http://ericportis.com/posts/2014/srcset-sizes/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Srcsetとsizes &#8211; ericportis.com</a></h3>

<p>原題: Srcset and sizes</p>

<p>Picture要素の現行仕様はどうしてそのシンタックスを採用したのでしょうか? この記事ではその疑問に対して、具体的なソースコードを見ながら現行の仕様とほかのレスポンシブ画像に対する解決案を比較しています。srcsetに加えて新たに追加されたsizesという属性が重要な役割を担っているのが一目でわかります。</p>

<h3><a href="http://www.forbes.com/sites/roberthof/2014/02/27/mobile-first-is-dead-says-google-display-ad-chief-neal-mohan/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">モバイル・ファーストはもう終わった、のか? &#8211; Forbes</a></h3>

<p>原題: Mobile-First Is Dead, Says Google Display Ad Chief Neal Mohan</p>

<p>Googleのディスプレイ広告部門の副社長を務めるNeal Mohan氏によると、多くのユーザーはもはやモバイルだけにフォーカスをしているだけでは時代遅れになりつつあるとしています。消費者達は多くのデバイスを駆使して、利用シーンに合わせてタスクを完遂しているとしています。なんと約90%ものユーザーがあるデバイスで開始したタスクを別のデバイスで完了しているとしています。モバイル・ファーストはすでに過去の問題を解決しようとしているに過ぎないと氏は語り、今後はマルチデバイスの最適化にフォーカスを移していくべきだとしています。</p>

<h3><a href="http://www.andybudd.com/archives/2014/03/my_advice_to_young_designers_and_develop/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">若いデザイナー、デベロッパに対するアドバイス &#8211; Andy Budd</a></h3>

<p>原題: My Advice to Young Designers and Developers</p>

<p>日本ではそうでもないと思いますが、大学を卒業するよりも業界の経験を積んでいる方が重宝される業界であるWeb業界において、大学に行く意味とはなんなのかをAndy Budd氏がアドバイス。</p>

<h2>パフォーマンス最適化 &#35;perfmatters</h2>

<h3><a href="http://aerotwist.com/blog/my-performance-audit-workflow/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Paul Lewis氏のパフォーマンスチェックフロー &#8211; Aerotwist</a></h3>

<p>原題: My Performance Audit Workflow</p>

<p>Googleの中でもパフォーマンスに注力しているPaul Lewis氏本人のパフォーマンスチェックのワークフローについて。氏はまずPageSpeed Insightsでサイト全体の状態を確認し、WebPageTestを使ってネットワーク周りのパフォーマンスを細かくチェック。それから、レンダリングに関わるパフォーマンスチェックを、<a href="http://calendar.perfplanet.com/2013/the-runtime-performance-checklist/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">このリスト</a>を参照しながら行っているそうです。このワークフローは手動で行うものがほとんどですが、自分が担当するプロダクトでは自動化できる部分は可能な限り自動化をしているとのこと。</p>

<h3><a href="http://jakearchibald.com/2014/browser-cache-vary-broken/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ブラウザキャッシュは”とても”壊れている &#8211; JakeArchibald.com</a></h3>

<p>原題: The browser cache is Vary broken</p>

<p>HTTPキャッシュはURLとHTTPメソッド(GETやPOSTなど)でコントロールするものですが、”Vary”ヘッダを利用してより細かく制限をすることができます。しかし、この”Vary”ヘッダは少々やっかいもので、IEでは”max-age”が無視され、Safariでは少々バグがあったりもします。この記事では具体的な例を見ながら”Vary”ヘッダの挙動について詳しく紹介しています。</p>

<h3><a href="http://blogs.adobe.com/webplatform/2014/03/18/css-animations-and-transitions-performance/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">CSSアニメーションとトランジションのパフォーマンスについて &#8211; Web Platform Team Blog</a></h3>

<p>原題: CSS animations and transitions performance: looking inside the browser</p>

<p>ブラウザ内部がどのように動作しているのかを知ることで、CSSアニメーションやトランジションの記述をする前に、そのアニメーション/トランジションのパフォーマンスがよいものか、そうでないのかを知ることができます。この記事では特にGPUがどのようにパフォーマンスに作用するのか、そしてなぜ特定のプロパティをアニメートすることがパフォーマンスのボトルネックになるのかについて、詳しく解説しています。</p>

<h3><a href="https://www.webkit.org/blog/3271/webkit-css-selector-jit-compiler/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">WebKitのCSS JITコンパイラについて &#8211; Surfin&#8217; Safari</a></h3>

<p>原題: Little overview of WebKit’s CSS JIT Compiler</p>

<p>ブラウザはユーザーに対してよりよい体験を提供するために日々改善を行っています。この記事ではWebKitがCSSの解析にかかる時間をどう改善していくのかについて、JavaScriptの解析では当たり前のように利用されているJIT(Just In Time Compilers)をCSSのセレクタの解析に応用してみた結果について紹介しています。</p>

<h3><a href="http://flippinawesome.org/2014/03/10/is-jquery-too-big-for-mobile/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">jQueryはモバイルには大きすぎるのか? &#8211; Flippin&#8217; Awesome</a></h3>

<p>原題: Is jQuery Too Big For Mobile?</p>

<p>モバイルWebにおいて、パフォーマンスが特に重要なファクターであることはよく知られています。パフォーマンスの最適化に際し、デスクトップの時代には当たり前のように利用していたjQueryは、そのファイルサイズからモバイルでは利用されない傾向にあります。しかし、本当にjQueryはモバイルには大きすぎるのでしょうか?　この記事では実際のモバイル端末でjQueryを読み込み、どのくらいの時間がかかったのかを詳しく解析しています。また読み込みだけではなく、解析にかかる時間も加味した詳細なデータで疑問に答えてくれています。</p>

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

<h3>スライド</h3>

<h4><a href="http://quirksmode.org/presentations/Spring2014/viewports_jqueryeu.pdf" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Viewportとレスポンシブデザインの関係</a></h4>

<p>原題: Viewports or: why responsive design works</p>

<p>Peter-Paul Koch氏がjQUery EUで発表したこのプレゼンテーションは氏の得意とする詳細なテストによるデータを使ったViewportから見たレスポンシブ・デザインに関する実利的なアドバイスについてです。氏はまずピクセルとはなにかから解説し、モバイルとデスクトップのViewportsの違い、JavaScriptやMetaタグによるViewportsの仕組みについて詳しく解説しています。</p>

<p>関連リンク: <a href="http://quirksmode.org/mobile/overview.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">The Great Table</a> / Peter-Paul Koch氏による本プレゼンテーションで発表したViewportに関連するコンセプトのモバイルブラウザ別の対応状況をまとめた表。</p>

<h4><a href="http://www.slideshare.net/zomigi/leveling-up-with-flexbox-smashing-conference" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Flexboxを使って一歩上行くレイアウトを &#8211; Zoe Gillenwater</a></h4>

<p>原題: Leveling Up with Flexbox</p>

<p>Smashing ConferenceにてZoe Gillenwater氏が発表したFlexible Box Layoutを使ったレイアウトテクニックに関するプレゼンテーション。<br />
仕様として少々バタバタしていたFlexible Box Layoutですが、ようやく様々なブラウザで同じシンタックスが利用できるようにもなってきて、現実的なアプローチとして注目が集まってきています。氏はこのプレゼンテーションで様々なレイアウトテクニックを紹介しつつ、Flexible Box Layoutをサポートしていないブラウザに対するフォールバックについても紹介しています。</p>

<p>関連リンク: <a href="http://zomigi.com/blog/leveling-up-with-flexbox/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Leveling Up With Flexbox presentation at Smashing Conference</a></p>

<h4><a href="http://mattandrews.info/talks/port80-2013/#/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Guardian誌のレスポンシブデザイン対応について</a></h4>

<p>原題: Responsive design at the Guardian</p>

<p>イギリスの新聞であるGuardianにて、クライアントサイドWebデベロッパとして働くMatt Andrews氏によるプレゼンテーション。数年前にレスポンシブデザインを採用したBoston Globe誌を始め、最近ではBBCもレスポンシブデザインを採用しています。ニュースサイトにおけるレスポンシブデザインはなかなかハードルが高い部分がありますが、そのいくつものハードルをGuardianではどのように超えていったのかについて詳しく紹介しています。</p>

<h3>ツール</h3>

<h4><a href="https://html5sec.org/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">HTML5 Security Cheatsheet</a></h4>

<p>HTML5に関連する技術を使ったセキュリティに関する注意点と、その回避についてのチートシート。</p>

<h4><a href="http://bennettfeely.com/cssynth/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">CSSynth</a></h4>

<p>CSSアニメーションを実際に目視しながらカスタマイズできるエディタ。特定のアニメーションに限ったエディタではありますが、エディタが作り出すスムーズなアニメーションは見ていて飽きません。</p>

<h4><a href="http://bennettfeely.com/filters/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">CSS Filters Demo</a></h4>

<p>上で紹介したCSSynthの作者による別プロジェクト。こちらはCSSのフィルタを使ったデモ。</p>

<p>★次回の「斉藤祐也の海外WEBテク定点観測」は2014年5月1日にお届け予定です。★</p>
]]></content:encoded>
		
		<series:name><![CDATA[海外WEBテク最新動向]]></series:name>
	</item>
		<item>
		<title>Webの矛盾についての考察、TLSのパフォーマンス最適化Tips、jQueryの未来に対する提言など海外WEBテク20本を一挙公開</title>
		<link>/cssradar/5484/</link>
		<pubDate>Mon, 03 Mar 2014 01:00:27 +0000</pubDate>
		<dc:creator><![CDATA[斉藤 祐也]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">/?p=5484</guid>
		<description><![CDATA[連載： 海外WEBテク最新動向 (9)斉藤祐也の海外WEBテク定点観測＜Issue.11: 2014/02/01-2014/02/28＞ 今月の定点観測は、Webが持つある1つの矛盾についての考察、TLSのパフォーマンス...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/web-tech/" class="series-151" title="海外WEBテク最新動向" data-wpel-link="internal">海外WEBテク最新動向</a> (9)</div><p><strong>斉藤祐也の海外WEBテク定点観測＜Issue.11: 2014/02/01-2014/02/28＞</strong></p>

<p>今月の定点観測は、Webが持つある1つの矛盾についての考察、TLSのパフォーマンス最適化Tips、jQueryの未来に対する提言などを紹介します。</p>

<h2>注目ニュースピックアップ</h2>

<h3><a href="http://adactio.com/journal/6692/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Webに課せられたある1つの矛盾についての考察 &#8211; Adactio</a></h3>

<p><img src="/wp-content/uploads/2014/03/continuum-adactio.png" alt="continuum-adactio" width="625" height="386" class="aligncenter size-full wp-image-5485" srcset="/wp-content/uploads/2014/03/continuum-adactio.png 625w, /wp-content/uploads/2014/03/continuum-adactio-300x185.png 300w, /wp-content/uploads/2014/03/continuum-adactio-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>原題: Continuum</p>

<p>常に進化を続けるWebと、常に停滞しているWebは表裏一体の存在です。その矛盾が存在する理由はブラウザです。新しいCSS、新しいJavaScriptの仕様が、すべてのブラウザで利用できるということはもちろんありません。<br />
Jeremy Keith氏は、この記事でWebが進化をするために、その矛盾の存在は欠かすことができないとしています。その上で、改めてWebサイトがすべてのブラウザでまったく同じ見た目や動作をする必要性がないこと、そしてクライアントや上司がそれを望むというのであれば、そうではないと説明することが開発者の責務であるとしています。</p>

<p>関連リンク:</p>

<ul>
<li><a href="http://paul.kinlan.me/this-is-the-web-platform/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">This is the web platform &#8211; Tales of a Developer Advocate</a> / Keith氏の記事本文からリンクされているPaul Kinlan氏の記事</li>
<li><a href="http://unstoppablerobotninja.com/entry/platformed/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Platformed. — Unstoppable Robot Ninja</a> / Ethan Marcotte氏の反応</li>
<li><a href="http://stuffandnonsense.co.uk/blog/about/river" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">River — Stuff &amp; Nonsense, And All That Malarkey</a> / Andrew Clarke氏の反応</li>
</ul>

<h3><a href="https://istlsfastyet.com/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">TLSはまだ早くならないのか? &#8211; Ilya Grigorik</a></h3>

<p><img src="/wp-content/uploads/2014/03/istlsfastyet.png" alt="istlsfastyet" width="625" height="386" class="aligncenter size-full wp-image-5487" srcset="/wp-content/uploads/2014/03/istlsfastyet.png 625w, /wp-content/uploads/2014/03/istlsfastyet-300x185.png 300w, /wp-content/uploads/2014/03/istlsfastyet-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>原題: Is TLS Fast Yet?</p>

<p>HTTPSなど、セキュリティを要求される通信のためのプロトコルであるTLSには、パフォーマンス的な懸念があるとされてきました。ページのタイトルにある、「TLSはまだ早くならないのか?」という質問に対して、GoogleのIlya Grigorik氏がこのページで解答します。<br />
その答えはページの一番始めにある一言に集約されています。<br />
『TLSにはたった1つだけパフォーマンスの問題がある: それは十分に利用されてるとは言えない点だ。それ以外の問題は最適化できる』</p>

<ul>
<li>GitHub: <a href="https://github.com/igrigorik/istlsfastyet.com" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">igrigorik/istlsfastyet.com</a></li>
</ul>

<h3><a href="https://tech.bellycard.com/blog/the-future-of-jquery/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">jQueryの未来 &#8211; Belly Card Engineering</a></h3>

<p><img src="/wp-content/uploads/2014/03/thefutureofjquery-belly.png" alt="thefutureofjquery-belly" width="625" height="386" class="aligncenter size-full wp-image-5488" srcset="/wp-content/uploads/2014/03/thefutureofjquery-belly.png 625w, /wp-content/uploads/2014/03/thefutureofjquery-belly-300x185.png 300w, /wp-content/uploads/2014/03/thefutureofjquery-belly-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>原題: The Future of jQuery</p>

<p>前回、本連載でも紹介した<a href="http://youmightnotneedjquery.com/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">You Might Not Need jQuery</a>以来、jQueryについての様々な議論が始まりました。この記事はそれらの議論の中でも短く分かりやすい議論をしています。<br />
jQueryがどんな問題を解決しようとしているのか、その解決が現在のブラウザ環境でも必要なのか。jQueryがもたらしたシンプルで理解しやすいシンタックス、抽象化がどこに向かって行くのか。記事の著者であるDave Arel氏はそれらを踏まえて、jQueryが向かうべき未来は現在実装されているよりも、さらにモジュール依存関係の管理を強化していくべきだとしています。</p>

<p>関連リンク:</p>

<ul>
<li><a href="https://gist.github.com/tbranyen/9255362" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">jquery_usage.js</a> / Dave Arel氏が考える未来のjQueryのモジュラーアプローチについての素案とそれについての議論</li>
<li><a href="https://docs.google.com/document/d/1LPaPA30bLUB_publLIMF0RlhdnPx_ePXm7oW02iiT6o/edit#" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">jQuery&#8217;s browser bug workarounds</a> / jQueryのメンバーによるjQueryが回避しているバグのリスト</li>
</ul>

<h3><a href="http://www.adamkaplan.me/grid/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">レスポンシブ・グリッドレイアウトの作り方</a></h3>

<p><img src="/wp-content/uploads/2014/03/grid.png" alt="grid" width="625" height="386" class="aligncenter size-full wp-image-5486" srcset="/wp-content/uploads/2014/03/grid.png 625w, /wp-content/uploads/2014/03/grid-300x185.png 300w, /wp-content/uploads/2014/03/grid-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>原題: Grid</p>

<p>Adam Kaplan氏によってGridと名付けられたこのページでは、レスポンシブ・デザインを念頭においたグリッドレイアウトを作成するために必要な多くの基本を丁寧に解説しています。<br />
ViewportのMetaタグやCSSのBox Modelなどのレスポンシブなレイアウトを制作する上で、ベースとなる部分から<a href="https://github.com/aekaplan/grid" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">最終的な実装例</a>までしっかりとサポートしています。HTML、CSSの初学者はもちろん、コーディングにチャレンジしたいデザイナにもぴったりな内容になっています。</p>

<h2>海外トレンドコラム</h2>

<h3><a href="http://blog.tastejs.com/rewriting-a-webapp-with-ecmascript-6/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ECMAScript 6でBackbone.js TodoMVCアプリを書き換える &#8211; TasteJS</a></h3>

<p>原題: Rewriting A WebApp With ECMAScript 6</p>

<p>この記事ではAddy Osmani氏を中心にECMAScript 6を使って、Backbone.jsで作ったTodoMVCアプリケーションを書き換えていくステップを詳細に紹介しています。記事では<a href="https://github.com/google/traceur-compiler" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Traceur</a>というES6をES5コンパティブルに変換するコンパイラと<a href="https://github.com/ModuleLoader/es6-module-loader" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ES6 Module Loader Polyfill</a>を利用して実装しています。</p>

<h3><a href="http://blogs.adobe.com/webplatform/2014/02/11/new-css-shapes-syntax/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">新しいCSS Shapeのシンタックスについて &#8211; Web Platform Team Blog</a></h3>

<p>原題: New CSS Shapes Syntax</p>

<p>CSS Shapesのスペックが、先日Last Callへと移行しました。その際に変更になったシンタックスについて、この記事で細かく紹介しています。CSS Shapesが実装されているブラウザは決して多いとは言えませんが、サポートしているブラウザで見られる<a href="http://codepen.io/collection/qFesk/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">デモも用意されている</a>ので興味があればぜひ。</p>

<h3><a href="http://tabatkins.github.io/specs/css-aliases/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">CSS Aliases</a></h3>

<p>Tab Atkins氏による、CSS Aliasesというスペックのエディタ・ドラフト。<br />
CSS Aliasesは、CSSプリプロセッサに慣れた方にとって、Mixinsとして知られる機能に似たスペックです。まだまだドラフト段階ですが、シンタックスに使われている記号など、参考にできる点もあるのでぜひ。</p>

<h3><a href="http://mercury.io/blog/the-psychology-of-waiting-loading-animations-and-facebook" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ローディング・インジゲータがどう心理的に作用するのか？ &#8211; Mercury Intermedia</a></h3>

<p>原題: The Psychology of Waiting, Loading Animations, and Facebook</p>

<p>パフォーマンス改善は今では欠かすことができないトピックとなっていますが、その中でも忘れがちな『早い』と思わせる心理学について。この記事ではFlipboardの<a href="https://twitter.com/raphaelschaad/statuses/354749545462251520" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Raphael Schaad氏のTweet</a>である、ローディング・インジゲータのデザインによってユーザがどのように反応するかについて深耕しています。</p>

<h3><a href="http://www.quirksmode.org/blog/archives/2014/02/preventing_the.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">touchイベントのデフォルトアクションの抑止について &#8211; QuirksBlog</a></h3>

<p>原題: Preventing the touch events’ default action</p>

<p>JavaScriptのイベントハンドラはreturn falseとするか、preventDefault()を実行するかでイベントが持つデフォルトのアクションを抑止することができます。Peter-Paul Koch氏はこの記事で、その挙動がtouchイベントでどのようになっているかについてまとめています。</p>

<p>関連リンク:</p>

<ul>
<li><a href="http://www.quirksmode.org/mobile/default.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Preventing the touch default</a> / touchイベントの抑止についてのブラウザ間でのテスト結果表。</li>
</ul>

<h3><a href="https://hacks.mozilla.org/2014/02/css-source-map-support-network-performance-analysis-more-firefox-developer-tools-episode-29/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">CSSソースマップのサポート、ネットワーク解析などFirefox開発者ツールの最新実装について &#8211; Mozilla Hacks</a></h3>

<p>原題: CSS source map support, network performance analysis &amp; more – Firefox Developer Tools Episode 29</p>

<p>Google Chromeの開発者ツールに追いつく日も確実に近づいているFireFoxの開発者ツール。そのツールの最新情報まとめ。
この両者の非常に健康的な争いは我々開発者にとっても利点が多く、最近では用途に応じてFireFoxの開発者ツールを使い機会も増えて来たという方も多いことでしょう。</p>

<h3><a href="http://blog.stackoverflow.com/2014/02/cant-we-all-be-reasonable-and-speak-english/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">英語という壁をStack Overflowはどう乗り越えるのか? &#8211; Stack Exchange</a></h3>

<p>原題: Can’t We All be Reasonable and Speak English?</p>

<p>開発者にとって欠かすことができないQAサイトの1つであるStack Overflowが、ポルトガル語版をローンチしました。Stack Overflowのゴールは開発者の知見をできる限り多く、そしてそれらを1カ所にまとめることですが、そのゴールと今回の他言語対応には若干の矛盾があります。StackExchangeのJay Hanlon氏は、この記事でなぜ他言語化が必要なのかの理由について、しっかりと説明しています。すばらしいサービスを作る裏側をかいま見られます。</p>

<h3><a href="http://scotthurff.com/posts/facebook-paper-gestures" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Facebook Paperアプリのジェスチャー地獄 &#8211; Scott Hurff</a></h3>

<p>原題: Facebook Paper&#8217;s gestural hell</p>

<p>1月末にリリースされたFacebookの<a href="https://www.facebook.com/paper" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Paper</a>はリリースしてすぐに『使いやすい、革新的なインターフェイス』の存在が話題になりました。その『インターフェイス』の使い勝手に関する考察がこちら。この記事では主に親指で無理なく操作できる領域には制限があり、Paperはその制限を飛び越えてしまっているため、使いやすさにつながっていないとしています。</p>

<p>関連リンク:</p>

<ul>
<li><a href="http://www.usertesting.com/blog/2014/02/07/six-ux-lessons-learned-from-the-new-facebook-app-paper/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Six UX Lessons Learned from the New Facebook App, Paper | UserTesting.com</a> / こちらはユーザテストサービスを提供している会社からPaperのユーザテストの結果から得た6つのUXレッスンについてまとめています。</li>
</ul>

<h3><a href="http://www.marcozehe.de/2014/02/25/some-dos-and-donts-we-gathered-from-making-the-firefox-os-ui-more-accessible/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Firefox OSのUIを作る過程で学んだアクセシビリティについて知っておきたいこと &#8211; Marco’s accessibility blog</a></h3>

<p>原題: Some do’s and dont’s we gathered from making the Firefox OS UI more accessible</p>

<p>Firefox OSのUIを作る過程で学んだアクセシビリティについての注意点。ご存知の方も多いでしょうが、Gaiaというコードネームで知られるFirefox OSのUIにはHTML5が利用されているため、記事で紹介されている点は通常のWebのインターフェイスの構築の際にも役に立つでしょう。</p>

<h3><a href="http://blog.chromium.org/2014/02/compiling-in-background-for-smoother.html?m=1" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">より滑らかなUXのためにJavaScriptのコンパイルを並列処理化 &#8211; Chromium Blog</a></h3>

<p>原題: Compiling in the background for a smoother user experience</p>

<p>Google ChromeチームのゴールはChromeを最も早いブラウザにすること。そのプロセスの中、V8の最適化は欠かすことができない要素の1つです。この記事ではその最適化の中でも画期的と言えるJavaScriptのコンパイルの並列処理化について紹介しています。</p>

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

<h3><a href="http://laraswanson.com/design/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">パフォーマンスを考慮したデザインについて &#8211; Lara Swanson</a></h3>

<p>原題: Design for Performance</p>

<p>EtsyのモバイルWebチームのエンジニア・マネージャを勤めるLara Swanson氏によるパフォーマンスを考慮したデザインについてのスライド。<br />
スライドの序盤にある”Web performance is user experience”という言葉が内容を一言で表しています。</p>

<h3><a href="https://www.youtube.com/watch?v=HYl7ReNB5TA" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">JavaScriptのAPIデザイン原則 &#8211; Ariya Hidayat</a></h3>

<p>原題: JavaScript API Design Principles</p>

<p>昨年11月に開催された第五回目となるYUI Confにて、Ariya Hidayat氏が発表したJavaScriptのAPIデザインについて。ライブラリ・コードを書く人はもちろん、そうでない方も、CSSプリプロセッサのMixinなどを書く人にもおすすめの内容です。</p>

<p><a href="https://speakerdeck.com/ariya/javascript-api-design-principles" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">スライドはこちら</a></p>

<p>関連リンク: <a href="http://qt-project.org/wiki/API-Design-Principles" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">API Design Principles &#8211; Qt Project</a> / QtプロジェクトのAPIデザイン原則</p>

<h3><a href="https://www.youtube.com/watch?v=n0-ivp2PdU8" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">実際にNode.jsをプロダクションで使ってみてわかったこと &#8211; Great British Node Conf &#8211; Paul Serby</a></h3>

<p>原題: Secrets of a Node Team</p>

<p>Clockというイギリスの制作会社のCTOを勤めるPaul Serby氏による、Node.jsを使った実際のプロジェクトから学んだことに関するまとめ。実体験を通じた地に足の着いたアドバイスが多く、失敗談も回避策もまとまっているので参考になります。</p>

<p><a href="https://speakerdeck.com/serby/secrets-of-a-node-team" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">スライドはこちら</a></p>

<h3><a href="https://developers.google.com/chrome-developer-tools/docs/extensions-gallery" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Chrome開発者ツールの拡張機能ギャラリー — Google Developers</a></h3>

<p>原題: DevTools Extensions Gallery</p>

<p>Google Chromeの開発者ツールそのものだけでも非常に高機能なツールですが、このページで紹介されているのはその開発者ツールを拡張するツール群。Backbone DebuggerやAngular Batarang、そしてEmber InspectorなどMV*系のJavaScriptライブラリでの開発を補助するツールなど、現時点で18のツールが紹介されています。</p>

<h3><a href="http://httpbin.org/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">httpbin(1): HTTP Client Testing Service</a></h3>

<p>HTTPにまつわるライブラリなどのテストをするのは何かと面倒なことが多いですが、このツールでは様々なHTTPのリクエストを送り、レスポンスを確認できます。HTTPSの通信も可能だそう。</p>

<ul>
<li>GitHub: <a href="https://github.com/kennethreitz/httpbin" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">kennethreitz/httpbin</a></li>
</ul>

<h3><a href="http://www.es6fiddle.net/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ES6 Fiddle</a></h3>

<p>ECMAScript 6で定義される予定となっている新しい仕様を実際に書いてその場で結果を見られるツール。いくつか例もあるので、気軽に試してみたいという方も、まだ先だからと思っている方も、体験してみるとよいでしょう。</p>

<p>★次回の「斉藤祐也の海外WEBテク定点観測」は2014年4月1日にお届け予定です。★</p>
]]></content:encoded>
		
		<series:name><![CDATA[海外WEBテク最新動向]]></series:name>
	</item>
		<item>
		<title>CSS Regionsに対する問題提起、新picture要素仕様、Webスタンダードの新フェーズなど海外WEBテク20本を一挙公開</title>
		<link>/cssradar/5062/</link>
		<pubDate>Mon, 03 Feb 2014 02:00:00 +0000</pubDate>
		<dc:creator><![CDATA[斉藤 祐也]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[アクセシビリティ]]></category>
		<category><![CDATA[デザイン]]></category>
		<category><![CDATA[海外]]></category>

		<guid isPermaLink="false">/?p=5062</guid>
		<description><![CDATA[連載： 海外WEBテク最新動向 (8)斉藤祐也の海外WEBテク定点観測＜Issue.10: 2014/01/01-2014/01/31＞ 今月の定点観測は、CSS Regionsに対する問題提起、新picture要素仕様...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/web-tech/" class="series-151" title="海外WEBテク最新動向" data-wpel-link="internal">海外WEBテク最新動向</a> (8)</div><p><strong>斉藤祐也の海外WEBテク定点観測＜Issue.10: 2014/01/01-2014/01/31＞</strong></p>

<p>今月の定点観測は、CSS Regionsに対する問題提起、新picture要素仕様、Webスタンダードの新フェーズなど合計20件の記事や動画などを紹介します。</p>

<h2>注目ニュースピックアップ</h2>

<h3><a href="http://alistapart.com/blog/post/css-regions-considered-harmful" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">CSS Regionsへの問題提起 &#8211; An A List Apart Blog Post</a></h3>

<p><img src="/wp-content/uploads/2014/02/css-regions-considerd-harmful.png" alt="css-regions-considerd-harmful" width="625" height="386" class="aligncenter size-full wp-image-5066" srcset="/wp-content/uploads/2014/02/css-regions-considerd-harmful.png 625w, /wp-content/uploads/2014/02/css-regions-considerd-harmful-300x185.png 300w, /wp-content/uploads/2014/02/css-regions-considerd-harmful-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>原題: CSS Regions Considered Harmful</p>

<p>タイトルからしてすでに議論を呼び込むようなタイトルとなっている、CSSの父であるHåkon Wium Lie氏によるCSS Regionsの仕様に対する問題提起。<br />
時を同じくして、GoogleのBlinkチームがCSS Regionsを実装しないという議論も始まり、大きな議論に発展しています(関連リンクを参照してください)。<br />
この記事でHåkon Wium Lie氏はRegionsはダミーのdivを使う必要がある、レスポンシブではない、テキストフローが分かりづらい、33行にもおよぶほどのコードで実現するしかない、コードの再利用性が低いという5つのポイントを問題点として挙げています。</p>

<p>関連リンク:</p>

<ul>
<li><a href="https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/kTktlHPJn4Q" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">CSS Regions in Blink: status, future work</a> / CSS Regionの実装についての議論</li>
<li><a href="http://flippinawesome.org/2014/01/27/css-regions-matter/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">CSS Regions Matter &#8211; Flippin&#8217; Awesome</a> / CSS Regionsを実利的に利用した例を豊富に紹介</li>
</ul>

<h3><a href="http://picture.responsiveimages.org/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">The picture Element</a></h3>

<p><img src="/wp-content/uploads/2014/02/picture-responsiveimage.png" alt="picture-responsiveimage" width="625" height="386" class="aligncenter size-full wp-image-5067" srcset="/wp-content/uploads/2014/02/picture-responsiveimage.png 625w, /wp-content/uploads/2014/02/picture-responsiveimage-300x185.png 300w, /wp-content/uploads/2014/02/picture-responsiveimage-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>レスポンシブ画像に対する飽くなき議論の末、議論の始まりとなったpicture要素の新仕様が発表されました。これまでの議論をうまく集約した提案となっています。フォールバック要素としてのimgではなく、picture要素内に必須となる要素としてimgを利用している点が、以前のpicture要素との違いとなるポイントとなっています。</p>

<p>関連リンク: <a href="https://github.com/jansepar/picturefill" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">picturefill &#8211; Shawn Jansepar</a> / 新仕様に合わせたPolyfill</p>

<h3><a href="http://www.zeldman.com/2014/01/06/its-2014-is-web-design-dead/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">2014年、Webデザインは死んだのか? – Jeffrey Zeldman Presents The Daily Report</a></h3>

<p><img src="/wp-content/uploads/2014/02/2014-is-web-design-dead.png" alt="2014-is-web-design-dead" width="625" height="386" class="aligncenter size-full wp-image-5064" srcset="/wp-content/uploads/2014/02/2014-is-web-design-dead.png 625w, /wp-content/uploads/2014/02/2014-is-web-design-dead-300x185.png 300w, /wp-content/uploads/2014/02/2014-is-web-design-dead-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>原題: It’s 2014. Is Web Design Dead?</p>

<p>Jeff Croft氏による「<a href="http://jeffcroft.com/blog/2014/jan/03/web-standards-killed-the-html-star/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Web Standards Killed the HTML Star</a>」という記事を見かけた方も多いかも知れません。その記事へのJeffrey Zeldman氏からの反論がこの記事です。Zeldman氏は確かにChroft氏が言う通りの部分があることは認めつつ、Webスタンダードには2つのフェーズがあり、現時点ではその内の1つ目がようやくまともになってきたタイミングだとしています。<br />
Zeldman氏はWebスタンダードは当たり前の存在であるべきとしつつ、さらにウェブサイトを構築することを簡易にし、その上でデザイン、コンテント、そして体験を生み出すことにフォーカスしやすくするのが次のフェーズであると主張しています。</p>

<p>関連リンク: <a href="http://jeffcroft.com/blog/2014/jan/03/web-standards-killed-the-html-star/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Web Standards Killed the HTML Star – JeffCroft.com</a></p>

<h3><a href="http://css-tricks.com/thought-process-front-end-problem/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">フロントエンド開発における問題解決へのプロセス &#8211; CSS-Tricks</a></h3>

<p><img src="/wp-content/uploads/2014/02/thought-process-of-a-front-end-problem.png" alt="thought-process-of-a-front-end-problem" width="625" height="386" class="aligncenter size-full wp-image-5068" srcset="/wp-content/uploads/2014/02/thought-process-of-a-front-end-problem.png 625w, /wp-content/uploads/2014/02/thought-process-of-a-front-end-problem-300x185.png 300w, /wp-content/uploads/2014/02/thought-process-of-a-front-end-problem-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>原題: Thought Process of a Front End Problem</p>

<p>海外の第一線で活躍するフロントエンド開発者であるChris Coyier氏が自身が実際に解決しようとした「Opera mobileでフォントのレンダリングがおかしい」という問題へのアプローチについて詳細を語っています。<br />
共感できる点が多く、やはり第一線にいるCoyier氏でも環境が大きく異なるブラウザの世界では同じように苦労しているのだなというのが分かります。<br />
彼自身がどのように問題に対峙したのかの記録は似た問題を解決する際の参考になるのはもちろん、フロントエンド開発における問題の多くの解決に参考になります。</p>

<h3><a href="http://aerotwist.com/blog/algowhatnow/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">アルゴリズムはフロントエンド開発者にも必要な知識か? &#8211; Aerotwist</a></h3>

<p><img src="/wp-content/uploads/2014/02/algowhatnow.png" alt="algowhatnow" width="625" height="386" class="aligncenter size-full wp-image-5065" srcset="/wp-content/uploads/2014/02/algowhatnow.png 625w, /wp-content/uploads/2014/02/algowhatnow-300x185.png 300w, /wp-content/uploads/2014/02/algowhatnow-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>原題: Algowhatnow?</p>

<p>フロントエンド開発者の面接に、アルゴリズムに関する問題を出す意味はあるのでしょうか？<br />
フロントエンドに関わる多くの開発者コンピュータサイエンス関連の大学を卒業していないケースもあり、アルゴリズムそのものよりもクロスブラウザに対するアプローチや知見などのほうが優先度が高いという議論もありますが、コンピュータとの対話を行うためにやはりアルゴリズムは欠かすことができないのかもしれません。<br />
ロジカルシンキングの指標としても利用できるアルゴリズムへの知見は持っていて損はしないという主張。</p>

<h2>海外トレンドコラム</h2>

<h3><a href="http://css-tricks.com/use-button-element/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ボタン要素はいつ使うべきなのか? &#8211; CSS-Tricks</a></h3>

<p>原題: When To Use The Button Element</p>

<p>a要素とbutton要素はどのように使い分けて行くべきでしょうか？
CSSを利用して、どんな要素でも自在にスタイリングできるようになったからこそ知っておきたいことです。</p>

<h3><a href="https://docs.google.com/document/d/1EV1O26wP3y3OkPLBDcJdrbU9S-x5lyjBZ2jRITcTCfM/edit" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">EMEの利点と欠点</a></h3>

<p>原題: EME pro and con</p>

<p>W3Cが仕様を策定しようとしていることで話題になっているEME(<a href="https://dvcs.w3.org/hg/html-media/raw-file/tip/encrypted-media/encrypted-media.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Encrypted Media Extensions</a>)について利点と欠点をコンパクトにまとめたGoogle Docs。<br />
これまでに多くの議論が行われてきているので、今からその議論に追いつきたい場合に非常に役に立つ文書です。</p>

<h3><a href="http://filamentgroup.com/lab/bulletproof_icon_fonts/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">アクセシブルなアイコンフォントの使い方 &#8211; Filament Group, Inc., Boston, MA</a></h3>

<p>原題: Bulletproof Accessible Icon Fonts</p>

<p>アイコンフォントを利用するケースが徐々に増えてきています。しかし、アイコンフォントの利用に際して忘れられがちなのがアクセシビリティ。音声ブラウザがアイコンフォントに使っている文字を発してしまったりするのは避けるべきです。この記事では、アクセシビリティを考慮したアイコンフォントの利用について、詳細に紹介しています。</p>

<h3><a href="http://tabatkins.github.io/specs/css-will-change/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">CSS Will Change Module Level 1</a></h3>

<p>レンダリングのパフォーマンスを向上させるために、利用せざるを得ないtranslateZなどを活用したハック。有効でありかつ手軽である反面、ハックである事実は変わりませんし、それなりのコストもかかります。<br />
このCSS Will Change Moduleはそのハックを必要とせずに済むように提案されている仕様です。</p>

<p>関連リンク: <a href="http://aerotwist.com/blog/bye-bye-layer-hacks/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Bye Bye Layer Hacks  &#8211; Aerotwist</a></p>

<h3><a href="https://github.com/w3ctag/promises-guide" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Promisesガイド &#8211; w3ctag</a></h3>

<p>原題: Promises Guide</p>

<p>Promisesの仕様を作成しているチームにより、どのようにPromisesは利用するのかについてのガイドラインが公開されました。ライブラリなどを作成する際に参考になるだけではなく、少々とっつきづらい文章ながら、既存のPromisesライブラリを利用する際にも参考になるはずです。</p>

<h3><a href="http://youmightnotneedjquery.com/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">jQueryはもう必要ない?</a></h3>

<p>原題: You Might Not Need jQuery</p>

<p>数年前までは、jQueryなしでのクライアントサイドの開発は想像できませんでした。しかし、レガシーブラウザへの対応の必要性が少しずつ減ってきた今、jQueryは本当に必要でしょうか？<br />
このサイトでは、ネイティブJavaScriptでjQueryが提供しているAPIを代替するスニペットを紹介しています。</p>

<p>関連リンク:</p>

<ul>
<li><a href="https://gist.github.com/rwaldron/8720084#file-reasons-md" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Why You Still Need jQuery</a> / いわゆるモダンブラウザでもクロスブラウザの問題を解決するのにjQueryが行っているワークアラウンドを示しています。</li>
<li><a href="https://twitter.com/jeresig/status/429011991068303361" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Twitter / jeresig: I keep writing and deleting &#8230;</a> / jQueryのオリジナルの作者であるJohn Resig氏のコメントにも注目してください。</li>
</ul>

<h3><a href="https://medium.com/coding-design/24888fbbd2e2" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">head要素内にCSSを入れるのは何故なのか? &#8211; Aqeel</a></h3>

<p>原題: What’s with putting the CSS in the head?</p>

<p>これまで知られているベストプラクティスでは、CSSは外部CSSファイルから呼び出す。となっています。本質的には現時点でも間違いではありません。しかし、近年CSSをstyleタグ内に記述する例も増えています。なぜそうすることがパフォーマンス観点でプラスに働くかについて、ブラウザのレンダリングの仕組みなどを踏まえて詳細に解説しています。</p>

<h3><a href="http://promise-nuggets.github.io/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Promise nuggets &#8211; Gorgi Kosev</a></h3>

<p>なかなか理解するのに苦労するPromisesについて、コールバックとの違いを実例を通して解説してくれているのがこのサイト。コールバックを使ったアプローチとの比較のおかげで、Promisesの利点や実装イメージがわきやすくなるはずです。</p>

<h3><a href="http://techwraith.com/atomic-product-development" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">HTML、CSS、JavaScriptを合わせたモジュールデザイン開発へのアプローチ &#8211; Techwraith</a></h3>

<p>原題: Atomic Product Development</p>

<p>モジュールデザインというアプローチは、今ではウェブ開発において欠かすことができないものとなっています。近年はJavaScriptにおけるモジュールデザインが盛んに議題に上がっていますが、CSSについてはあまり言及がありません。この記事では、HTML、CSS、JavaScriptが持つ依存関係の低減に必要なアプローチについて、詳しく解説しています。</p>

<h3><a href="http://ryanmorr.com/feature-testing-css-at-rules/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">CSSOMを使ったCSSの機能テストについて &#8211; Ryan Morr</a></h3>

<p>原題: Feature Testing CSS At-Rules</p>

<p>ブラウザでどのCSSのAPIが実装されているかを調べる手法の紹介。この記事では「@」を利用する機能のテストについて紹介しています。</p>

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

<h3><a href="http://modernjavascript.blogspot.jp/2014/01/promisesa-understanding-spec-through.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Promises/A+ 実装を通じて仕様について学ぼう v.1.1対応版 &#8211; Modern JavaScript</a></h3>

<p>原題: Promises/A+ Understanding the spec through implementation v1.1</p>

<p>ネイティブでJavaScriptに実装される予定であるPromises。その元々の仕様であるPromises/A+と呼ばれる仕様が、昨年の8月にバージョン1.1に変更されました。その変更を踏まえて、実装と仕様を合わせて解説しているのがこのスライド。細かい部分についても分かりやすく解説してくれているのでおすすめです。</p>

<h3><a href="https://www.youtube.com/watch?v=TAVn7s-kO9o" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">JavaScriptにおけるSOLID &#8211; Derick Bailey</a></h3>

<p>原題: SOLID JavaScript In A Wobbly (World Wide Web)</p>

<p>オブジェクト指向における有名な5つの設計原則をまとめたSOLIDを、JavaScriptで実践する際に気をつけておくべきポイントについて、詳しく解説している動画です。スピーカのDerick Bailey氏はBackbone.jsのプラグインMarionette.jsの作者でもあります。</p>

<h3><a href="http://rupl.github.io/unfold/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">CSSの3D、アニメーションについてインタラクティブに学ぶ &#8211; Chris Ruppel</a></h3>

<p>原題: Unfolding the Box Model</p>

<p>CSSの3D Transformsについて、インタラクティブに学ぶことができるサイトです。アニメーションはもちろん、3Dのコンセプトは実際に動いているものを見ることが一番わかりやすいので、初心者、中級者の方はぜひ。</p>

<h3><a href="http://jstherightway.org/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">JS: The Right Way</a></h3>

<p>JavaScriptに関する優れた様々な情報を集めて紹介しているサイトです。<a href="http://superherojs.com/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Superhero.js</a>と同じようなコンセプトではありますが、記事だけではなくライブラリなどもコレクションしています。</p>

<h3><a href="https://github.com/hacksparrow/remote.js" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Remote.js &#8211; Hage Yaapa</a></h3>

<p>WiFiもBluetoothも使わずに、音を使ってスマートフォンからデスクトップブラウザを操作するためのライブラリ。<br />
実際に動作する(試してみたところ、少々怪しげながら動作します)デモもあり、非常に興味深いツールです。</p>

<p>★次回の「斉藤祐也の海外WEBテク定点観測」は2014年3月3日にお届け予定です。★</p>
]]></content:encoded>
		
		<series:name><![CDATA[海外WEBテク最新動向]]></series:name>
	</item>
		<item>
		<title>JavaScript Promises、CSS変数、Quartz ComposerのプラグインOrigamiなど海外WEBテク20本を一挙公開</title>
		<link>/cssradar/4509/</link>
		<pubDate>Wed, 15 Jan 2014 01:00:46 +0000</pubDate>
		<dc:creator><![CDATA[斉藤 祐也]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[アクセシビリティ]]></category>
		<category><![CDATA[ブラウザ]]></category>
		<category><![CDATA[海外]]></category>

		<guid isPermaLink="false">/?p=4509</guid>
		<description><![CDATA[連載： 海外WEBテク最新動向 (7)斉藤祐也の海外WEBテク定点観測＜Issue.9: 2013/12/01-2013/12/31＞ 今月の定点観測は、JavaScriptにおけるPromises実装について、CSSの...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/web-tech/" class="series-151" title="海外WEBテク最新動向" data-wpel-link="internal">海外WEBテク最新動向</a> (7)</div><p><strong>斉藤祐也の海外WEBテク定点観測＜Issue.9: 2013/12/01-2013/12/31＞</strong></p>

<p>今月の定点観測は、JavaScriptにおけるPromises実装について、CSSの変数(Custom Properties)、Quartz ComposerのプラグインOrigamiなど合計20件の記事や動画などを紹介します。</p>

<h2>注目ニュースピックアップ</h2>

<h3><a href="http://www.html5rocks.com/en/tutorials/es6/promises/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">JavaScriptにおけるPromises実装について &#8211; HTML5 Rocks</a></h3>

<p><img src="/wp-content/uploads/2014/01/html5rocks-promises.png" alt="html5rocks-promises" width="625" height="386" class="aligncenter size-full wp-image-4512" srcset="/wp-content/uploads/2014/01/html5rocks-promises.png 625w, /wp-content/uploads/2014/01/html5rocks-promises-300x185.png 300w, /wp-content/uploads/2014/01/html5rocks-promises-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>原題: JavaScript Promises: There and back again</p>

<p>これまでJavaScriptの『限界』であるシングルスレッドを解決するために、コールバックやイベントを利用してきました。そのJavaScriptにもう1つ、Promisesと呼ばれる機能が追加されます。<br />
<a href="https://github.com/kriskowal/q" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Q.js</a>や<a href="https://github.com/cujojs/when" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">when</a>などのようなライブラリを使ってすでにPromisesを利用している人も多いことでしょう。<br />
現時点ではChrome CanaryとFirefox Nightlyにて一部の機能が利用でき、<a href="https://github.com/jakearchibald/ES6-Promises" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Polyfill</a>も存在しています。<br />
JavaScriptネイティブのPromisesは<a href="https://github.com/tildeio/rsvp.js" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">rsvp.js</a>のAPIとほぼ同じとなっているようです。</p>

<h3><a href="http://thatemil.com/blog/2013/12/15/playing-around-with-css-variables-custom-properties/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">CSSの変数(Custom Properties)で遊んでみよう &#8211; That Emil</a></h3>

<p>原題: Playing around with CSS variables &#8211; &#8220;custom properties&#8221;</p>

<p><img src="/wp-content/uploads/2014/01/that-emil-css-variables.png" alt="that-emil-css-variables" width="625" height="386" class="aligncenter size-full wp-image-4514" srcset="/wp-content/uploads/2014/01/that-emil-css-variables.png 625w, /wp-content/uploads/2014/01/that-emil-css-variables-300x185.png 300w, /wp-content/uploads/2014/01/that-emil-css-variables-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>CSSに変数を追加することは開発者から長期にわたって要求されてきました。CSSプリプロセッサがまだない時代からのこの要求に対し、様々な試みがされてきましたが、ついにFireFox Nightlyに「<a href="http://dev.w3.org/csswg/css-variables/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">CSS Custom Properties for Cascading Variables Module</a>」という仕様に則り実装されました。<br />
Emil Björklund氏による記事はその実装に対しての実験を行っています。<br />
詳しい仕様についてはCSS Working Groupのメンバーの1人であるTab Atkins Jr.氏が昨年2013年に<a href="http://cssday.nl/2013" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">CSS Day</a>にて発表した『<a href="http://vimeo.com/69531455" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Variables &amp; Conditionals</a>』にて詳しく解説しています。</p>

<p>またTab Atkins Jr.氏が<a href="http://www.xanthir.com/blog/b4AD0" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">2012年に提案したドラフト</a>の頃からCSSに変数が必要であるか否かについての議論が途絶えたことはありません。<br />
それら反論についても知っておくとよいので、以下に関連リンクとして紹介しておきます。</p>

<p>関連リンク:</p>

<ul>
<li><a href="http://css-tricks.com/abstraction-in-web-languages-and-variables-and-stuff/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">About Variables in CSS and Abstractions in Web Languages &#8211; CSS-Tricks</a></li>
<li><a href="http://adactio.com/journal/6606/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Sasstraction &#8211; Adactio</a></li>
</ul>

<h3><a href="https://medium.com/p/f1173d0bd181" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Quartz Composerを使ってのプロトタイプ制作プラグイン: Origami — Julie Zhuo</a></h3>

<p><img src="/wp-content/uploads/2014/01/julie-origami.png" alt="julie-origami" width="625" height="386" class="aligncenter size-full wp-image-4513" srcset="/wp-content/uploads/2014/01/julie-origami.png 625w, /wp-content/uploads/2014/01/julie-origami-300x185.png 300w, /wp-content/uploads/2014/01/julie-origami-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>原題: Introducing Origami for Quartz Composer</p>

<p>Webでもアプリケーションでもデザインに求められることが表層にある見た目だけではなくインタラクションなども含まれるようになって来ています。<br />
Facebookではそのインタラクションを含むデザインを行うのにQuartz Composerを利用してプロトタイプを作成しているそうです。<br />
Quartz ComposerはMac OS Xの開発環境の一部として提供されているビジュアルプログラミング言語で、元々はプロトタイプを行うためのツールとして提供されているわけではありません。<br />
<a href="http://facebook.github.io/origami/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Origami</a>はそのやや取っ付きづらいQuartz Composerをよりプロトタイプツールとして使いやすくするパッチを提供するオープンソースツール群です。<br />
この記事ではFacebookのプロダクトデザインディレクタであるJulie Zhuo氏がツールの紹介をしています。</p>

<p>関連リンク:</p>

<ul>
<li><a href="https://www.facebook.com/groups/origami.community/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">FacebookのOrigamiグループ</a></li>
<li><a href="https://medium.com/the-year-of-the-looking-glass/3edbdb0bbee8" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">How to Survive in Design (and in a Zombie Apocalypse)</a></li>
<li><a href="https://medium.com/the-year-of-the-looking-glass/af182add5a2f" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Go Big by Going Home</a></li>
</ul>

<h3><a href="http://alistapart.com/article/offline-first" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">オフライン・ファーストでウェブアプリケーションをデザインする &#8211; A List Apart</a></h3>

<p><img src="/wp-content/uploads/2014/01/alistapart-offline.png" alt="alistapart-offline" width="625" height="386" class="aligncenter size-full wp-image-4511" srcset="/wp-content/uploads/2014/01/alistapart-offline.png 625w, /wp-content/uploads/2014/01/alistapart-offline-300x185.png 300w, /wp-content/uploads/2014/01/alistapart-offline-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>原題: Designing Offline-First Web Apps</p>

<p><a href="https://html5experts.jp/cssradar/3411/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">前回の本連載でもとりあげた</a>、オフライン・ファーストというアプローチについての続報。<br />
記事ではなぜオフライン・ファーストを重要視するべきなのか、オフライン・ファーストのアプローチを採用する上でどんな問題点があるのかについて詳細にわたり解説しています。
<a href="http://offlinefirst.org/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">offlinefirst.org</a>を牽引する<a href="http://hood.ie/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Hoodie</a>チームの一員である筆者のAlex Feyerke氏は以下のように述べています。</p>

<p>『オフライン状態のWebサイトやアプリケーションの利用に対する体験はよりよくならなければならないし、もっとがっかりさせないようにしなくてはならない。もちろんもっと便利である方がいい。接続されていない、マルチデバイスの世界についてのガイドやパターンのカタログ、レスポンシブウェブデザインが築いてきたようなUXがオフライン・ファーストを行うためにも必要だ。』</p>

<p>関連リンク:</p>

<ul>
<li><a href="https://medium.com/tech-talk/4a778ce8a445" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Offline First: Learning from native experiences — Dion Almaer</a></li>
<li><a href="https://speakerdeck.com/phuu/serviceworker-and-the-offline-web" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ServiceWorker &amp; the offline web &#8211; Tom Ashworth</a></li>
</ul>

<h3><a href="http://aerotwist.com/blog/bad-benchmark-right-result/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ベンチマークに関する注意点について &#8211; Aerotwist</a></h3>

<p><img src="/wp-content/uploads/2014/01/aerotwist-badbenchmark.png" alt="aerotwist-badbenchmark" width="625" height="386" class="aligncenter size-full wp-image-4510" srcset="/wp-content/uploads/2014/01/aerotwist-badbenchmark.png 625w, /wp-content/uploads/2014/01/aerotwist-badbenchmark-300x185.png 300w, /wp-content/uploads/2014/01/aerotwist-badbenchmark-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>原題: Bad Benchmark, Right Result</p>

<p>Googleの中でもパフォーマンスに関するすばらしい記事を常に提供してくれるPaul Lewis氏によるベンチマークに関する注意点。<br />
結論から言うと、現時点では3D Transformsを扱うために非常に便利なCSSMatrixを使うと結果的に（少なくとも）<code>toString()</code>を利用して処理するため、パフォーマンス観点ではあまりプラスにはなりません。<br />
しかしこの記事ではその結論よりも、彼がどのようにAPIを使ってよりパフォーマンスを向上させているのか、そしてそれをどのようにベンチマークしているのか。JSPerfを使ったベンチマークにおける注意点なども含め、一連の流れについて着目していただければ。</p>

<h2>海外トレンドコラム</h2>

<h3><a href="http://calendar.perfplanet.com/2013/browser-wishlist-2013/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ブラウザへの12個のパフォーマンス要望リスト &#8211; Performance Calendar</a></h3>

<p>原題: Browser Wishlist 2013</p>

<p>2013年の年末にSteve Souders氏がまとめた12項目からなるブラウザへのパフォーマンス観点での要望リスト。<br />
この時点で要望されるということは気をつけておく必要があるリストでもあるので、各項目をしっかりレビューしておくとよいでしょう。</p>

<h3><a href="http://kenneth.io/blog/2013/12/09/what-if-you-could-use-chrome-devtools-with-firefox/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Chromeの開発者ツールをFirefoxで使えるとしたら? — Kenneth Auchenberg</a></h3>

<p>原題: What if you could use Chrome DevTools with Mozilla Firefox?</p>

<p><a href="https://html5experts.jp/cssradar/3411/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">先月の本連載で紹介した</a><a href="http://remotedebug.org/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">remotedebug.org</a>の中心的人物であるKenneth Auchenberg氏によるFirefoxでChromeのDevToolsを利用する様のデモ。こうして実際に動作するものを見ると、remotedebug.orgが進めるBridgeという概念がいかに強力なものであるかが分かります。</p>

<h3><a href="http://24ways.org/2013/coding-towards-accessibility/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">アクセシビリティに合わせたコーディングをしよう &#8211; 24 ways</a></h3>

<p>原題: Coding Towards Accessibility</p>

<p>アクセシビリティが重要であることはことさら今改めて伝えることではありませんが、どうしても難しいものというイメージがつきまとうものです。この記事ではそのアクセシビリティについて、習慣化しやすい実利的な手法について詳しく紹介しています。</p>

<h3><a href="http://engineering.wingify.com/posts/getting-60fps-using-devtools/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Chrome開発者ツールを使って60FPSを実現するためのワークフロー &#8211; Wingify Engineering</a></h3>

<p>原題: Getting 60 FPS using Chrome devtools</p>

<p>パフォーマンス改善はルールを覚えることより、ツールを使って実測しながら行うのが鉄則です。この記事ではそのツールの中でも最も優れた機能を有しているChrome DevToolsを使って一連の改善に関するワークフローを紹介しています。スクリーンショットも多く非常に分かりやすいです。</p>

<h3><a href="http://www.quirksmode.org/blog/archives/2013/12/position_fixed_1.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Position: fixedに関する最新情報 &#8211; QuirksBlog</a></h3>

<p>原題: position: fixed update</p>

<p>モバイルWebサイトやアプリケーションの制作に携わったことがある人であれば、必ず遭遇する問題の1つであるposition: fixedにまつわるバグについての現状を、Peter-Paul Koch氏がまとめています。実際の動作を動画で表示しているので、ぜひ自分の目で確認してください。</p>

<h3><a href="http://addyosmani.com/blog/full-stack-javascript-with-mean-and-yeoman/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">MEANスタックをYeomanで素早く構築する方法</a></h3>

<p>原題: Full-Stack JavaScript With MEAN And Yeoman</p>

<p>MongoDB、Express.js、Angular.js、Node.jsそれぞれの頭文字を取ってMEANスタックと呼ばれるフルスタックJavaScript開発フレームワークをYeomanを使って素早くセットアップする方法について紹介。<br />
そもそものMEANスタックとは何かについても理由を含めてきちんと紹介してくれています。</p>

<h3><a href="http://ariya.ofilabs.com/2013/08/javascript-kinetic-scrolling-part-1.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">JavaScriptでキネティクス・スクロールを実現するためには &#8211; don&#8217;t code today what you can&#8217;t debug tomorrow</a></h3>

<p>原題: JavaScript Kinetic Scrolling</p>

<p>EsprimaやPhantomJSの制作者として知られるAriya Hidayat氏による、パート4(パート5もあるそう)にまで及ぶキネティクス・スクロールについてのJavaScript実装に関する記事。iOSに見られるような自然なスクロールを実現するために必要な事柄を分かりやすく解説しています。</p>

<h3><a href="https://gist.github.com/hueniverse/7686452" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">WalmartにおけるNode.jsセットアップ</a></h3>

<p>原題: Walmart Mobile node.js Setup</p>

<p>PayPal社がバックエンドをJavaからNode.jsに移行したという記事が話題になっていましたが、この記事はアメリカ最大のスーパーマッケットチェーンであるWalmartにおけるモバイルサイトでのNode.jsのセットアップについて触れられています。ブラックフライデーを乗り越えたWalmartのセットアップは今後のNode.jsの可能性を感じることができるすばらしいリソースになるはずです。</p>

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

<h3><a href="https://cloudup.com/blog/the-need-for-speed" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">The Need for Speed &#8211; Guillermo Rauch at dot.js 2013</a></h3>

<p>今ではWordpressを運営するAutomattic社に買収された、クラウドシェアリングサービスのCloudupのGuillermo Rauch氏による、シングルページアプリケーションにおけるパフォーマンス改善のティップス集ともいえるスライド。</p>

<h3><a href="http://vimeo.com/77905678" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Faster JavaScript web apps &#8211; Alex MacCaw at Fronteers 2013</a></h3>

<p>こちらはAlex MacCaw氏による、シングルページアプリケーションにおけるパフォーマンス改善に関する発表の動画。よくあるボトルネックについて丁寧に解説しており、シングルページアプリケーションに限らず利用できます。</p>

<h3><a href="https://www.youtube.com/watch?v=vAs9tjEkkKk" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">CSS module system in Google+ &#8211; Shubhie Panicker at CSSconf.eu 2013</a></h3>

<p>Google+は、どのようにCSSをモジュラー化しているのか。2013年の9月に、CSSconf.euにてShubhie Panicker氏により発表されたプレゼンテーションの動画。<br />
単純に1ファイルにまとめるだけでは無駄が多いCSSのこれからの課題がここにあると思っているので参考に。</p>

<p>関連リンク: <a href="http://techwraith.com/your-css-needs-a-dependency-graph-too.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Your CSS needs a dependency graph &#8211; Techwraith</a></p>

<h3><a href="http://24ways.org/2013/project-hubs/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Project Hubs: デザイン・プロジェクトをどう管理するべきか &#8211; 24 ways</a></h3>

<p>原題: Project Hubs: A Home Base for Design Projects</p>

<p>プロジェクト管理のツールは多く存在しているが、デザインに関しては便利なツールが存在しません。そこでBrad Frost氏は、Project HubsというシンプルなHTMLベースのツールを作りました。この記事ではそのProject Hubsが解決しようとしている問題とその解決方法について紹介しています。</p>

<p>関連リンク: <a href="https://github.com/bradfrost/project-hub" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">bradfrost/project-hub</a></p>

<h3><a href="http://www.webbrowsercompatibility.com/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Web Browser Compatibility Tables &#8211; Cody Lindley</a></h3>

<p>1％以上のマーケットシェアを持つブラウザについてどの機能が実装されているのかを一覧できるWebツール。<br />
類似のツールは多くありますが、幅広い機能とブラウザについて一覧できるので非常に便利です。</p>

<h3><a href="https://github.com/tobiasahlin/SpinKit" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">SpinKit &#8211; tobiasahlin</a></h3>

<p>Ajaxでコンテンツを取得する際や、巨大なテーブルデータをソートするような場合によく利用するローディングをCSSアニメーションで実現し、例示しているGitHubのレポジトリ。<br />
現時点で<a href="http://tobiasahlin.com/spinkit/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">7種のローディングのデモをこちらから</a>閲覧できます。</p>

<h3><a href="http://aerotwist.com/lab/poly-maker/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Poly Maker &#8211; Aerotwist</a></h3>

<p>ポリゴンシェープを生成する<a href="http://lab.aerotwist.com/canvas/poly-maker/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Poly Maker</a>というツールの紹介。<br />
今となってはややローファイさを感じるポリゴンを美しいカラーで表現しているツール。ツールそのものもすばらしいがどう作るかについての紹介のほうが興味深いです。</p>

<p>★次回の「斉藤祐也の海外WEBテク定点観測」は2014年2月3日にお届け予定です。★</p>
]]></content:encoded>
		
		<series:name><![CDATA[海外WEBテク最新動向]]></series:name>
	</item>
		<item>
		<title>オフラインファースト、レスポンシブデザインの新視点、新たなブラウザ対応アプローチなど海外WEBテク20本を一挙公開</title>
		<link>/cssradar/3411/</link>
		<pubDate>Thu, 05 Dec 2013 06:16:52 +0000</pubDate>
		<dc:creator><![CDATA[斉藤 祐也]]></dc:creator>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[デザイン]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Node.js]]></category>
		<category><![CDATA[海外]]></category>

		<guid isPermaLink="false">/?p=3411</guid>
		<description><![CDATA[連載： 海外WEBテク最新動向 (6)斉藤祐也の海外WEBテク定点観測＜Issue.8: 2013/11/01-2013/11/30＞ 今月の定点観測は、モバイル開発で考慮したいオフラインファースト構想について、レスポン...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/web-tech/" class="series-151" title="海外WEBテク最新動向" data-wpel-link="internal">海外WEBテク最新動向</a> (6)</div><p><strong>斉藤祐也の海外WEBテク定点観測＜Issue.8: 2013/11/01-2013/11/30＞</strong></p>

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

<h2>注目ニュースピックアップ</h2>

<h3><a href="http://offlinefirst.org/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Offline First!</a></h3>

<p><img src="/wp-content/uploads/2013/12/offlinefirst.png" alt="offlinefirst" width="625" height="386" class="aligncenter size-full wp-image-3413" srcset="/wp-content/uploads/2013/12/offlinefirst.png 625w, /wp-content/uploads/2013/12/offlinefirst-300x185.png 300w, /wp-content/uploads/2013/12/offlinefirst-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

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

<p>関連リンク:</p>

<ul>
<li><a href="http://blog.hood.ie/2013/11/say-hello-to-offline-first/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Say Hello to Offline First</a> / <a href="http://hood.ie/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Hoodie</a>チームによるOffline First!構想のイントロダクション</li>
<li><a href="http://aanandprasad.com/articles/offline/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Offline Support is Valuable, and You Can’t Add it Later &#8211; Aanand Prasad</a> / Aanand Prasad氏による&#8221;オフラインサポートが何故重要なのか&#8221;についての記事</li>
<li><a href="http://unstoppablerobotninja.com/entry/offline-first/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">“Offline First” &#8211; Unstoppable Robot Ninja</a> / Ethan Marcotte氏によるオフラインサポートは技術だけの課題ではなく、UXにおいても課題であるという意見</li>
</ul>

<h3><a href="http://www.lukew.com/ff/entry.asp?1816" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">レスポンシブウェブデザインはスクリーンサイズに依存しすぎていないか &#8211; Luke Wroblewski</a></h3>

<p><img src="/wp-content/uploads/2013/12/relying-too-much-on-screen-size.png" alt="relying-too-much-on-screen-size" width="625" height="386" class="aligncenter size-full wp-image-3415" srcset="/wp-content/uploads/2013/12/relying-too-much-on-screen-size.png 625w, /wp-content/uploads/2013/12/relying-too-much-on-screen-size-300x185.png 300w, /wp-content/uploads/2013/12/relying-too-much-on-screen-size-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>原題: Responsive Web Design: Relying Too Much on Screen Size</p>

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

<p>関連リンク:</p>

<ul>
<li><a href="http://unstoppablerobotninja.com/entry/responsive-web-design-screens-and-shearing-layers/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Responsive design, screens, and shearing layers — Unstoppable Robot Ninja</a> / Ethan Marcotte氏による上記の記事への反論</li>
<li><a href="http://www.lukew.com/ff/entry.asp?1817" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">On Using Browser Viewports to Understand Screens &#8211; LukeW</a> / Luke Wroblewsk氏によるEthan Marcotte氏の記事への返答</li>
<li><a href="http://www.quirksmode.org/blog/archives/2013/11/of_viewports_an.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Of viewports and screens, input modes and event handlers &#8211; QuirksBlog</a> / Peter-Paul Koch氏による上記2名の主張の技術的な考証</li>
</ul>

<h3><a href="http://filamentgroup.com/lab/grade_components/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ブラウザではなく、コンポーネントごとにブラウザ対応を行うアプローチの紹介 &#8211; Filament Group</a></h3>

<p><img src="/wp-content/uploads/2013/12/grade-components-not-browsers.png" alt="grade-components-not-browsers" width="625" height="386" class="aligncenter size-full wp-image-3412" srcset="/wp-content/uploads/2013/12/grade-components-not-browsers.png 625w, /wp-content/uploads/2013/12/grade-components-not-browsers-300x185.png 300w, /wp-content/uploads/2013/12/grade-components-not-browsers-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>原題: Grade components, not browsers</p>

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

<p>関連リンク:</p>

<ul>
<li><a href="http://bradfrostweb.com/blog/post/scope-components-not-pages/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Scope Components, Not Pages &#8211; Brad Frost Web</a> / Brad Frost氏による、上記記事のアプローチを拡張し、ウェブデザインの制作にかかる工数もページ単位ではなく、コンポーネント単位で行う利点の解説</li>
</ul>

<h3><a href="https://github.com/airbnb/javascript/issues/102#issuecomment-28157738" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">なぜJavaScriptにスタイルガイドが必要なのか? &#8211; Harrison Shoff</a></h3>

<p><img src="/wp-content/uploads/2013/12/why-does-javascript-need-a-style-guide.png" alt="why-does-javascript-need-a-style-guide" width="625" height="386" class="aligncenter size-full wp-image-3416" srcset="/wp-content/uploads/2013/12/why-does-javascript-need-a-style-guide.png 625w, /wp-content/uploads/2013/12/why-does-javascript-need-a-style-guide-300x185.png 300w, /wp-content/uploads/2013/12/why-does-javascript-need-a-style-guide-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>原題: Why does JavaScript need a style guide?</p>

<p>Airbnbが<a href="https://github.com/airbnb/javascript" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">公開しているJavaScriptのスタイルガイド</a>のIssueに寄せられた、&#8221;なぜJavaScriptにスタイルガイドが必要なのか&#8221;に対する、AirbnbチームメンバーであるHarrison Shof氏による素晴らしい回答。<br />
この回答を導いた質問も素晴らしく、&#8221;もしピカソが絵の書き方を学ぶ際、我々がどのように書くべきかを示唆したとしたら、キュービズムは存在したのか?&#8221;、というものです。<br />
これに対してShof氏は、チームとして、または大きなコードベースをメンテナンスする上では、どんなスタイルであろうと一貫性を持つことが重要であるとしながらも、個人でサイドプロジェクトを行う際にはもちろん無視しても構わないとしています。</p>

<h3><a href="http://acko.net/blog/on-asmjs/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Asm.jsに関して &#8211; Acko.net</a></h3>

<p><img src="/wp-content/uploads/2013/12/on-asmjs.png" alt="on-asmjs" width="625" height="386" class="aligncenter size-full wp-image-3414" srcset="/wp-content/uploads/2013/12/on-asmjs.png 625w, /wp-content/uploads/2013/12/on-asmjs-300x185.png 300w, /wp-content/uploads/2013/12/on-asmjs-207x127.png 207w" sizes="(max-width: 625px) 100vw, 625px" /></p>

<p>原題: On Asm.js</p>

<p>Asm.jsを利用することでJavaScriptでもネイティブに限りなく近いパフォーマンスを得ることができます。実際にその<a href="https://blog.mozilla.org/futurereleases/2013/05/02/epic-citadel-demo-shows-the-power-of-the-web-as-a-platform-for-gaming/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">デモ</a>は目を見張るほどのパフォーマンスを出しています。Steven Wittens氏は、Asm.jsを含むLLVMのような&#8221;JavaScriptのふり&#8221;をする存在の登場はJavaScriptそのものにプラスにならないとしています。</p>

<p>関連リンク:　<a href="http://calculist.org/blog/2013/11/27/on-on-asm-js/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">On &#8220;On Asm.js&#8221;</a> / Dave Herman氏による上記記事への反論</p>

<h2>海外トレンドコラム</h2>

<h3><a href="http://remotedebug.org/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">リモート・デバッグのAPIを統一するための構想</a></h3>

<p>原題: RemoteDebug, an initiative to unify remote debugging across browsers.</p>

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

<h3><a href="http://www.html5rocks.com/en/tutorials/tooling/synchronized-cross-device-testing/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">クロス・モバイルデバイスのテストを手助けするツールたち &#8211; HTML5 Rocks</a></h3>

<p>原題: Synchronized Cross-device Mobile Testing</p>

<p>モバイル開発における悩みの1つに非常に多くのデバイスで動作・表示確認を行う必要があることがあげられます。<br />
Addy Osmani氏がその作業をサポートするツール、<a href="http://vanamco.com/ghostlab/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">GhostLab</a>、<a href="https://creative.adobe.com/inspect" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Adobe Edge Inspect CC</a>などを詳しく紹介しています。</p>

<h3><a href="https://scalenpm.org/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">npm registryをサポートするための寄付を募集しています &#8211; scalenpm.org</a></h3>

<p>原題: Help scale the npm registry</p>

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

<h3><a href="http://www.thecssninja.com/javascript/pointer-events-60fps" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">pointer-events: noneを使ってスクロールを60FPSにする方法 &#8211; The CSS Ninja</a></h3>

<p>原題: 60fps scrolling using pointer-events: none</p>

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

<p>関連リンク: <a href="https://plus.google.com/app/basic/stream/z12mcrwpbqincntw204cerjrtp3bwdyqtb4" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Malte Ubl氏によるGoogle+ポスト</a> / Malte Ubl氏はRyan Seddon氏が紹介した方法はiframeではうまくいかないと指摘、この問題に関してはハックに頼らずブラウザ側で解決することが期待されるとしています。</p>

<h3><a href="http://www.realtimerendering.com/blog/webgl-debugging-and-profiling-tools/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">WebGLを利用する場合に知っておきたいデバッグツールとプロファイルツール &#8211; Real-Time Rendering</a></h3>

<p>原題: [WebGL Debugging and Profiling Tools</p>

<p>WebGLを使う際に知っておきたいデバッグツール、そしてパフォーマンスのプロファイルツール達の紹介。<br />
Firefox 27に搭載されている<a href="https://hacks.mozilla.org/2013/11/live-editing-webgl-shaders-with-firefox-developer-tools/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Firefox WebGL Shader Editor</a>の紹介を含む4つ(+アルファ)のツールについて紹介しています。</p>

<h3><a href="http://www.xanthir.com/b4Su0" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">提案中のsrc-Nの最後の文について詳しく紹介 &#8211; Tab Completion</a></h3>

<p>原題: Explaining The Last Clause of the src-n Grammar</p>

<p>Tab Atkins Jr氏が提案しているレスポンシブ・イメージへのアプローチである<a href="http://tabatkins.github.io/specs/respimg/Overview.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">RespImg Syntax</a>、通称src-Nについて、これまでのsrcsetと比較して、このシンタックスがシンプルなのかについての解説をしています。</p>

<h3><a href="http://html5doctor.com/responsive-images-end-of-year-report/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">レスポンシブ・イメージについての今年の振り返り &#8211; HTML5 Doctor</a></h3>

<p>原題: Responsive images – end of year report</p>

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

<p>関連リンク: <a href="https://gist.github.com/Wilto/7453901" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">レスポンシブ・イメージに関する各ブラウザベンダの現在の状況</a> / Mat Marquis氏によるまとめ</p>

<h3><a href="http://www.stevesouders.com/blog/2013/11/07/prebrowsing/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">さらなるページロード速度改善を行うために知っておきたいこと- Steve Souders</a></h3>

<p>原題: Prebrowsing</p>

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

<h3><a href="http://www.integralist.co.uk/posts/refactoring-techniques/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">リファクタリングをする際に覚えておきたいアプローチたち</a></h3>

<p>原題: Refactoring Techniques</p>

<p>&#8220;<a href="http://www.amazon.co.jp/dp/4048678841" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">リファクタリング:Rubyエディション</a>&#8220;で紹介されていたリファクタリング手法のうち、Mark McDonnell氏がよく使う方法を抜き出して詳しく解説。コードサンプルはRubyのものになっているが、JavaScriptやその他の言語でも同じアプローチができるので非常に参考になります。</p>

<h3><a href="http://coding.smashingmagazine.com/2013/11/21/introduction-to-full-stack-javascript/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">フルスタックJavaScriptアーキテクチャ指南 &#8211; Smashing Coding</a></h3>

<p>原題: An Introduction To Full-Stack JavaScript</p>

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

<h3><a href="http://www.rocket-design.fr/color-template/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Color Template</a></h3>

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

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

<h3><a href="https://speakerdeck.com/addyosmani/velocityconf-rendering-performance-case-studies" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">レンダリング・パフォーマンスケーススタディ &#8211; Addy Osmani</a></h3>

<p>原題: Rendering Performance Case Studies</p>

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

<h3><a href="http://nodestreams.com/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Node.js Stream Playground &#8211; John Resig</a></h3>

<p>Node.jsのstreamは説明を読んだだけで理解するのは難しいコンセプトではないでしょうか? 実際に手を動かしてみるのが理解への近道、ということで、John Resig氏が作成したブラウザ上でsteamについて学べるこのツールを試してみてください。<br />
詳しい利用方法については<a href="http://ejohn.org/blog/node-js-stream-playground/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">こちらの記事</a>を参考にしてください。</p>

<h3><a href="http://www.youtube.com/watch?v=41oDDTRWjIQ" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Level Me up Scotty! &#8211; Julian Gruber</a></h3>

<p>nodeconf EUで発表されたJulian Gruber氏による<a href="https://code.google.com/p/leveldb/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">LevelDB</a>を使ったリアルタイムチャットについてのビデオ。氏は15分の発表中に(ごく単純なものですが)実働するチャットシステムをライブコーディングをしています。 
完成したソースコードは<a href="[juliangruber/nodeconfeu-13](https://github.com/juliangruber/nodeconfeu-13)" data-wpel-link="internal">GitHubにて公開</a>されています。</p>

<h3><a href="http://pa11y.org/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Pa11y</a></h3>

<p>Nature Publishing Groupにより<a href="https://github.com/nature/pa11y-dashboard" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">オープンソースされている</a>、Pa11yは自動でアクセシビリティに関するレポートを収集し作成してくれるツール。</p>

<p>★次回の「斉藤祐也の海外WEBテク定点観測」は2014年1月6日にお届け予定です。★</p>
]]></content:encoded>
		
		<series:name><![CDATA[海外WEBテク最新動向]]></series:name>
	</item>
		<item>
		<title>W3CのEME標準化、ServiceWorker解説、RespImgシンタックスはレスポンシブ画像問題など海外WEBテク20本を一挙公開</title>
		<link>/cssradar/3176/</link>
		<pubDate>Tue, 05 Nov 2013 03:00:08 +0000</pubDate>
		<dc:creator><![CDATA[斉藤 祐也]]></dc:creator>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[デザイン]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[海外]]></category>

		<guid isPermaLink="false">/?p=3176</guid>
		<description><![CDATA[連載： 海外WEBテク最新動向 (10)斉藤祐也の海外WEBテク定点観測＜Issue.7: 2013/10/01-2013/10/31＞ 今月の定点観測はW3CがEMEをなぜ標準化したのか、その動きに対する反対と賛成意見...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/web-tech/" class="series-151" title="海外WEBテク最新動向" data-wpel-link="internal">海外WEBテク最新動向</a> (10)</div><p><strong>斉藤祐也の海外WEBテク定点観測＜Issue.7: 2013/10/01-2013/10/31＞</strong></p>

<p>今月の定点観測はW3CがEMEをなぜ標準化したのか、その動きに対する反対と賛成意見を紹介し、AppCacheが解決できなかったオフラインに対する問題を解決すべく立ち上がったServiceWorkerの解説、突如として現れたかに見えるレスポンシブ・イメージに対する解決であるRespImgなど、合計20件の記事や動画などを紹介します。</p>

<p><span id="more-3176"></span></p>

<h2>注目ニュースピックアップ</h2>

<h3>W3CによるEncrypted Media Extensionの標準化について</h3>

<p><img src="/wp-content/uploads/2013/11/perspectives-on-encrypted-media-extension-reaching-first-public-working-draft-w3c-blog-1024x768-300x190.png" alt="perspectives-on-encrypted-media-extension-reaching-first-public-working-draft-|-w3c-blog-1024x768" width="300" height="190" class="aligncenter size-medium wp-image-3178" srcset="/wp-content/uploads/2013/11/perspectives-on-encrypted-media-extension-reaching-first-public-working-draft-w3c-blog-1024x768-300x190.png 300w, /wp-content/uploads/2013/11/perspectives-on-encrypted-media-extension-reaching-first-public-working-draft-w3c-blog-1024x768-207x131.png 207w, /wp-content/uploads/2013/11/perspectives-on-encrypted-media-extension-reaching-first-public-working-draft-w3c-blog-1024x768.png 640w" sizes="(max-width: 300px) 100vw, 300px" /></p>

<p>今年5月にEncrypted Media Extension(EME)という仕様が<a href="https://dvcs.w3.org/hg/html-media/raw-file/tip/encrypted-media/encrypted-media-fpwd.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ワーキング・ドラフトとなり公開</a>されました。<br />
この仕様はなぜW3Cによって標準化されるべきものだったのでしょうか。あるいはW3Cの勇み足だったのでしょうか。<br />
この一ヶ月、MozillaのCTOであるBrendan Eichも氏の<a href="https://brendaneich.com/2013/10/the-bridge-of-khazad-drm/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">立場を明らかにした</a>りと多くの議論が展開されました。
10月の議論の火付けとなったと思われるAmelia Andersdotter氏の記事を含め、EMEに関する記事を集約したので参考にしてください:</p>

<ul>
<li><a href="http://hsivonen.fi/eme/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">What is EME?</a></li>
<li><a href="https://ameliaandersdotter.eu/2013/10/13/drmeme-html5-american-thing" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">DRM/EME in HTML5 &#8211; an American thing</a> by Amelia Andersdotter</li>
<li><a href="http://blog.does-not-exist.org/2013/10/15/a-hitchhikers-guide-to-the-htm5-eme-maze/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">A hitchhiker’s guide to the HTML5 + EME maze</a> by No Such Weblog</li>
<li><a href="https://brendaneich.com/2013/10/the-bridge-of-khazad-drm/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">The Bridge of Khazad-DRM</a> by Brendan Eich</li>
<li><a href="http://www.w3.org/blog/2013/05/perspectives-on-encrypted-medi/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Perspectives on Encrypted Media Extension Reaching First Public Working Draft</a> by W3C Blog</li>
<li><a href="http://longtermlaziness.wordpress.com/2013/10/08/the-w3c-is-a-restaurant/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">The W3C is a restaurant</a> by Long-term laziness
&#8211;<a href="http://arstechnica.com/business/2013/05/drm-in-html5-is-a-victory-for-the-open-web-not-a-defeat/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">DRM in HTML5 is a victory for the open Web, not a defeat</a> by Ars Technica</li>
</ul>

<h2><a href="https://github.com/slightlyoff/ServiceWorker/blob/master/explainer.md" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ServiceWorkerとは何か</a></h2>

<p><img src="/wp-content/uploads/2013/11/b0eef5160ffb5891bd5b659698ae3c69-300x190.png" alt="serviceworker-·-github-1024x768" width="300" height="190" class="aligncenter size-medium wp-image-3180" srcset="/wp-content/uploads/2013/11/b0eef5160ffb5891bd5b659698ae3c69-300x190.png 300w, /wp-content/uploads/2013/11/b0eef5160ffb5891bd5b659698ae3c69-207x131.png 207w, /wp-content/uploads/2013/11/b0eef5160ffb5891bd5b659698ae3c69.png 640w" sizes="(max-width: 300px) 100vw, 300px" /></p>

<p>原題: ServiceWorkers Explained</p>

<p>多くのデバイスが常時接続を保証されない状態になりうる状況の中、オフライン・ファーストという視点での開発が急務になりがらも<a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/offline.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">HTML5 Application Cache</a>には多くの問題があることが明らかになってきています。そんな中、このドキュメントには次世代の仕様として模索されているServiceWorkersに関する詳細について紹介されています。</p>

<h2><a href="http://tabatkins.github.io/specs/respimg/Overview.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">RespImgシンタックスの提案</a></h2>

<p><img src="/wp-content/uploads/2013/11/proposal-for-respimg-syntax-1024x768-300x190.png" alt="proposal-for-respimg-syntax-1024x768" width="300" height="190" class="aligncenter size-medium wp-image-3179" srcset="/wp-content/uploads/2013/11/proposal-for-respimg-syntax-1024x768-300x190.png 300w, /wp-content/uploads/2013/11/proposal-for-respimg-syntax-1024x768-207x131.png 207w, /wp-content/uploads/2013/11/proposal-for-respimg-syntax-1024x768.png 640w" sizes="(max-width: 300px) 100vw, 300px" /></p>

<p>原題: Proposal for RespImg Syntax</p>

<p>Apple社のRetinaディスプレイを始めとする、高解像度のディスプレイと旧来の標準的なディスプレイが混在する中、また様々なサイズのデバイスが利用者の好みによって選択できる世の中で、これまで&#8221;レスポンシブ・イメージ&#8221;に対する唯一の答えが提案されてこなかったのが現状だ。このRespImageシンタックスはこの問題に対する新しい視点による解決案となるかも知れません。John Mellor氏による<a href="http://lists.w3.org/Archives/Public/public-respimg/2013Sep/0087.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">こちらのメーリングリストへの投稿もあわせて</a>読んでおくとよいでしょう。</p>

<h2><a href="http://domenic.me/2013/10/07/the-extensible-web/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">拡張可能なWebへ &#8211; Domenic Denicola</a></h2>

<p><img src="/wp-content/uploads/2013/11/the-extensible-web-1024x768-300x190.png" alt="the-extensible-web-1024x768" width="300" height="190" class="aligncenter size-medium wp-image-3181" srcset="/wp-content/uploads/2013/11/the-extensible-web-1024x768-300x190.png 300w, /wp-content/uploads/2013/11/the-extensible-web-1024x768-207x131.png 207w, /wp-content/uploads/2013/11/the-extensible-web-1024x768.png 640w" sizes="(max-width: 300px) 100vw, 300px" /></p>

<p>原題: The Extensible Web</p>

<p>Webがこれまでと同じように数ヶ月、あるいは数年にもわたるメーリングリストを使った標準化のプロセスのままでよいのか。そんな疑問から始まった<a href="http://extensiblewebmanifesto.org/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">&#35;extendthewebforward</a>というムーブメントの共同エディタであるDomenic Denicola氏によるJS Conf EU 2013での発表<a href="http://www.youtube.com/watch?v=8LZ5Lxrs0E0" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">The Extensible Web: JavaScript All the Way Down</a>に関する本人による詳細の解説。</p>

<h2><a href="http://adactio.com/journal/6537/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">CSSセレクタの命名規則に関する私見 &#8211; Adactio</a></h2>

<p><img src="/wp-content/uploads/2013/11/193a913a19926f0df919d920fe60bbd1-300x190.png" alt="adactio:-journal—classy-values-1024x768" width="300" height="190" class="aligncenter size-medium wp-image-3177" srcset="/wp-content/uploads/2013/11/193a913a19926f0df919d920fe60bbd1-300x190.png 300w, /wp-content/uploads/2013/11/193a913a19926f0df919d920fe60bbd1-207x131.png 207w, /wp-content/uploads/2013/11/193a913a19926f0df919d920fe60bbd1.png 640w" sizes="(max-width: 300px) 100vw, 300px" /></p>

<p>原題: Classy values</p>

<p>複雑化、巨大化の一途を突き進む&#8221;ウェブサイト&#8221;の中でボトルネックになりつつあるCSSの存在。Nicole Sullivan氏による<a href="https://github.com/stubbornella/oocss" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">OOCSS</a>、Jonathan Snook氏による<a href="http://smacss.com/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">SMACSS</a>、そしてYandex社の提唱する<a href="http://bem.info/method/definitions/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">BEM</a>とこの問題に対する解決への提案は数多くあります。そんな中、米Yahoo!で働くThierry Koblentz氏によりSmashing Magazineに寄稿された<a href="http://coding.smashingmagazine.com/2013/10/21/challenging-css-best-practices-atomic-approach/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Challenging CSS Best Practices</a>、そしてその記事に真っ向から反対を表明するBen Darlow氏による<a href="http://www.kapowaz.net/articles/cargo-cult-css" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Cargo Cult CSS</a>。今回紹介する記事は、その2つの意見を踏まえてのJeremy Keith氏によるまとめ。CSSアーキテクチャに興味がある方はこの3本の記事と合わせて、Heydon Pickering氏による<a href="http://www.youtube.com/watch?v=u63Sq2Sq3LI" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">The Problem With CSS Classes</a>も要チェック。</p>

<h2><a href="http://www.quirksmode.org/blog/archives/2013/10/viewport_resear.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Viewportに関するリサーチ報告: heightと@viewportについて &#8211; QuirksBlog</a></h2>

<p><img src="/wp-content/uploads/2013/11/d22dfad2677a6f7f12b8cdef5dba9459-300x190.png" alt="viewport-research-addendum:-height-and-@viewport---quirksblog-1024x768" width="300" height="190" class="aligncenter size-medium wp-image-3182" srcset="/wp-content/uploads/2013/11/d22dfad2677a6f7f12b8cdef5dba9459-300x190.png 300w, /wp-content/uploads/2013/11/d22dfad2677a6f7f12b8cdef5dba9459-207x131.png 207w, /wp-content/uploads/2013/11/d22dfad2677a6f7f12b8cdef5dba9459.png 640w" sizes="(max-width: 300px) 100vw, 300px" /></p>

<p>原題: Viewport research addendum: height and @viewport</p>

<p>今さらViewportの何を調べる必要があるのか。誰もがそう思っている最中、Peter-Paul Koch氏が改めてViewportの指定が実機でどのような作用をするのかをリサーチした結果がこちらです。<br />
彼のリサーチに<a href="http://www.quirksmode.org/blog/archives/2013/10/initialscale1_m.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ミスがあったこと</a>、それを<a href="http://www.quirksmode.org/blog/archives/2013/10/more_about_scal.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">訂正するリサーチ</a>、そして、<a href="http://www.quirksmode.org/blog/archives/2013/10/preliminary_met.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">初期調査の結果</a>とあわせて読むと氏の一連のプロセスが見えてくるのでおすすめです。</p>

<h2>海外トレンドコラム</h2>

<h3><a href="http://entropymine.com/resamplescope/notes/browsers/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ブラウザがどのように画像をリサイズするか知っていますか？ &#8211; Jason Summers</a></h3>

<p>原題: How web browsers resize images</p>

<p>Jason Summers氏が本人が作成した<a href="http://entropymine.com/resamplescope/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ResampleScope</a>というツールを使って、モダンブラウザが画像をどんなアルゴリズムでリサイズしているかについての調査の報告しています。ブラウザ間で異なるアルゴリズムを使っていることはもちろん、バージョン間でも、拡大、縮小時にも異なるアルゴリズムが利用されているらしいことがここから分かります。</p>

<h3><a href="https://github.com/ianvollick/animation-proxy/blob/master/Explainer.md" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Animation-Proxy: JavaScriptによるアニメーション操作への問題解決</a></h3>

<p>原題: JavaScript-Driven Accelerated Animations</p>

<p>JavaScriptを使ってのアニメーションは非常に柔軟であり、強力ですが、弱点があります。それはJavaScriptが基本的に1つのスレッドしか持たないため、常にアニメーションとは別の処理と競合してしまう可能性があることです。<br />
Animation Proxyは、その弱点に対する解決としてWeb Workerをプロキシのように扱いJavaScriptからCSSのプロパティを操作することを可能にする提案です。</p>

<h3><a href="http://www.html5rocks.com/en/tutorials/webcomponents/yeoman/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Yeomanを使ってPolymerでウェブアプリを最速構築する &#8211; HTML5 Rocks</a></h3>

<p>原題: Building Web Apps With Yeoman And Polymer: Scaffold your webapps with modern tooling</p>

<p>Addy Osmani氏による<a href="http://www.polymer-project.org/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Polymer</a>と<a href="http://yeoman.io/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Yeoman</a>を使ったウェブアプリの使い方指南。<br />
Web Componentsはまだまだ実践で利用するには早すぎる存在ではあるかもしれませんが、試しておく価値のあるものです。Yeomanを使って事前の準備を素早く終わらせることができるので試してみてください。</p>

<h3><a href="http://blogs.msdn.com/b/eternalcoding/archive/2013/09/04/reducing-the-pressure-on-the-garbage-collector-by-using-the-f12-developer-bar-of-internet-explorer-11.aspx" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">IE11の開発者ツールを使ってガベージコレクションを減らす方法 &#8211; MSDN Blogs</a></h3>

<p>原題: Reducing the pressure on the garbage collector by using the F12 developer bar of Internet Explorer 11</p>

<p>ウェブサイト制作におけるパフォーマンス解析といえば、Googleの開発ツールがよく知られていますが、Internet Explorer 11に搭載されているツールもまたかなり優れた機能を有するツールです。この記事ではWebGLを使ったサイトを実際にツールを使ってパフォーマンスのボトルネックの1つであるガベージコレクションを少なくする方法を紹介しています。</p>

<h3><a href="https://gist.github.com/grorg/6732841" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Translateプロパティはなぜアニメーションのパフォーマンスをよくするのか？</a></h3>

<p>原題: Why is animating left paint more often than translateX?</p>

<p>アニメーションを高速化するために知っておきたいことの1つに、leftやtopなどのプロパティを操作するよりも、translateを利用するほうが高速であるというのがあります。それでは、それがなぜなのか。<br />
簡単な解答は後者のほうがペイントプロセスが少ないからなのですが、この記事でより詳しく解説されている&#8221;なぜ&#8221;を知ることはより正確に最適化への道のりで役立つツールとなるでしょう。</p>

<h3><a href="http://www.mobify.com/blog/beginners-guide-to-perceived-performance/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">&#8220;速さ&#8221;を演出するために知っておきたい4つのこと &#8211; Mobify</a></h3>

<p>原題: A Beginner&#8217;s Guide to Perceived Performance: 4 Ways to Make Your Mobile Site Feel Like a Native App</p>

<p>一般的なデスク/ラップトップマシンと比べ、どうしても非力なモバイルデバイスにおけるパフォーマンスの最適化手法の1つとして欠かすことができないのが、&#8221;速さ&#8221;の演出です。英語では&#8221;Perceived Performance&#8221;と呼ばれることが多いこの領域において知っておきたい4つのことを紹介しています。</p>

<h3><a href="http://blog.paciellogroup.com/2013/10/using-html5-section-element/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">知ってますか？ section要素の正しい使い方 &#8211; The Paciello Group Blog</a></h3>

<p>原題: Using the HTML5 section element</p>

<p>section要素の正しい使い方はもしかするとHTML5がもたらした最大の頭痛の種かもしれません。そんなsectionの正しい使いどころをThe Paciello Groupでアクセシビリティエンジニアとして働くLéonie Watson氏が解説。</p>

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

<h3><a href="http://www.youtube.com/watch?v=ldx4ZFxMEeo" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">よりよいCSSを作る為にデザイナに知っておいてほしいこと &#8211; Harry Roberts / CSSconf.eu 2013</a></h3>

<p>原題: Normalising designs for better quality CSS</p>

<p>Harry Roberts氏によるCSSconf EUでのデザイナとフロントエンド開発者、特にUIレイヤに責任を持つ人間との関係について。巨大なメディアを預かっていた彼ならでは視点が多いが、中大規模でスケーラブルに開発を行うことがある場面で必ず役に立つアドバイスばかり。</p>

<h3><a href="https://vimeo.com/75277110" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Appurifyを使って実機のモバイル端末でデバッグ、最適化、そしてテストをする</a></h3>

<p>原題: Seamless Debugging, Optimization and Testing on Real Devices with Sencha and Appurify</p>

<p>モバイルウェブ開発で大きな課題となっている実際のデバイスを使ったデバッグ、テスト、パフォーマンス解析を解決しようとしているAppurifyというサービスをSenchaチームが実際に利用し紹介しています。</p>

<h3><a href="http://soledadpenades.com/files/t/2013ota/#0" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Mozilla Brickでウェブアプリを構築してみよう</a></h3>

<p>原題: Building web apps, one brick at a time! (with Mozilla Brick)</p>

<p>MozillaからのWeb Componentsに対するアプローチである<a href="http://mozilla.github.io/brick/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Mozilla Brick</a>を使ったウェブアプリの作り方に関するスライドです。豊富なコード例もしっかりあり、ありがたいことに<a href="https://github.com/sole/ota2013" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">例は公開されています</a>。Brickのロードマップもあるので興味がある方はぜひ。</p>

<h3><a href="http://kripken.github.io/mloc_emscripten_talk/sloop.html#/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">asm.js: Webにネイティブの速度を</a></h3>

<p>原題: asm.js: Native Speed on the Web</p>

<p>ネイティブ VS ブラウザの戦いに終止符を打つべくしてMozillaが開発しているasm.js。その存在そのものについてはもうご存知のことでしょうが、このスライドでは、そもそもなぜJavaScriptが&#8221;遅い&#8221;のか、そしてasm.jsが何を解決するのかについてのオーバービューがまとまっています。<br />
本スライドとは無関係ですが、Felix Dahlke氏による<a href="http://ubercode.de/blog/why-asm-js-is-a-big-deal-for-game-developers" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Why asm.js is a big deal for game developers</a>もあわせて読んでみてはいかがでしょうか。</p>

<h3><a href="https://github.com/Integralist/Grunt-Boilerplate" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Grunt Boilerplate &#8211; Mark McDonnell</a></h3>

<p>好き嫌いはあれど、Gruntはウェブ開発におけるビルドプロセスで大きな役割を持ってきはじめています。もはやデファクトスタンダードともいえるくらいの存在でしょう。そんなGruntをこれから使う方にも、もうすっかり使いこなしている方にもおすすめのソースコード。<br />
作者であるMark McDonnell氏による<a href="http://www.integralist.co.uk/posts/grunt-boilerplate/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">本ツールに関するこちらの記事</a>も一読ください。</p>

<h3><a href="http://snapsvg.io/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Snap.svg</a></h3>

<p>SVGに関するデファクトスタンダードとなっているライブラリであるRaphaëlをゼロから、Raphaëlの作者であるDmitry Baranovskiy氏本人が作成し、公開したのがこのSnap.svg。モダンブラウザのみをターゲットとすることで、より小さなコードベースでありながら、より豊富な機能を搭載し、SVGのjQueryとなるべくしてオープンソース化しています。<br />
Adobe社の<a href="http://blogs.adobe.com/webplatform/2013/10/23/snap-the-javascript-svg-library-for-the-modern-web/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Web Platform Teamブログの記事</a>も合わせて要チェック。</p>

<h3><a href="http://heydonworks.com/practical_aria_examples/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">実践! ARIAを使ってフォーム入力をサポート</a></h3>

<p>原題: Practical ARIA Examples</p>

<p>ARIA(Accessible Rich Internet Applications)を使ったアクセシブルなウェブサイトの制作は見方によっては時間の無駄に思えるかも知れません。しかし、Heydon Pickering氏によって作られたこのデモページを見れば、ARIAが非常に実利的な問題解決を行う手法でもあることがわかると思います。</p>

<p>★次回の「斉藤祐也の海外WEBテク定点観測」は12月6日にお届け予定です。★</p>
]]></content:encoded>
		
		<series:name><![CDATA[海外WEBテク最新動向]]></series:name>
	</item>
		<item>
		<title>斉藤祐也の海外WEBテク定点観測＜Issue.6: 2013/09/14-2013/09/28＞</title>
		<link>/cssradar/2843/</link>
		<pubDate>Sun, 29 Sep 2013 22:00:50 +0000</pubDate>
		<dc:creator><![CDATA[斉藤 祐也]]></dc:creator>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[デザイン]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[海外]]></category>

		<guid isPermaLink="false">/?p=2843</guid>
		<description><![CDATA[連載： 海外WEBテク最新動向 (5)Colt McAnlis氏による画像圧縮にまつわる詳細な解説、Peter-Paul Koch氏のmodern.IEレビュー、Alla Kholmatova氏によるUIアイコンの認知速...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/web-tech/" class="series-151" title="海外WEBテク最新動向" data-wpel-link="internal">海外WEBテク最新動向</a> (5)</div><p>Colt McAnlis氏による画像圧縮にまつわる詳細な解説、Peter-Paul Koch氏のmodern.IEレビュー、Alla Kholmatova氏によるUIアイコンの認知速度の最適化、Chris Coyier氏のいまさら聞けないTableタグの使い方など、14日間のWeb開発最新ニュース合計20件を紹介します！</p>

<p><span id="more-2843"></span></p>

<h2>注目ニュースピックアップ</h2>

<h3><a href="http://www.html5rocks.com/en/tutorials/speed/img-compression/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Webデベロッパのための画像圧縮 &#8211; HTML5 Rocks</a></h3>

<p><img src="/wp-content/uploads/2013/09/image-compression-for-web-developers-html5-rocks-1024x768-300x225.png" alt="image-compression-for-web-developers---html5-rocks-1024x768" width="300" height="225" class="aligncenter size-medium wp-image-2855" srcset="/wp-content/uploads/2013/09/image-compression-for-web-developers-html5-rocks-1024x768-300x225.png 300w, /wp-content/uploads/2013/09/image-compression-for-web-developers-html5-rocks-1024x768-207x155.png 207w, /wp-content/uploads/2013/09/image-compression-for-web-developers-html5-rocks-1024x768.png 640w" sizes="(max-width: 300px) 100vw, 300px" /></p>

<p>原題: Image Compression for Web Developers</p>

<p>CSSやJavaScriptのファイルサイズをいかに減らす事ができるか。それにともなう自動化処理などのセットアップ。それらの努力を無駄だとは思わないが、ウェブページ内の画像ファイルの割合は増加の一方で、CSSやJavaScriptのファイルサイズと比べても3倍以上画像のほうが大きい。<br />
そんな中、HTML5 RocksにてColt McAnlis氏が公開した本記事は、画像の圧縮に関して知るべきことの多くを網羅している。<br />
単純にツールを使いましょう、というだけではなく、画像フォーマットの選択、クオリティとファイルサイズの関係、マルチデバイス対応における画像利用の戦略などについて細かく解説している。</p>

<h3><a href="http://www.quirksmode.org/blog/archives/2013/09/modernie.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">modern.ieレビュー &#8211; QuirksBlog</a></h3>

<p><img src="/wp-content/uploads/2013/09/modern.ie-quirksblog-1024x768-300x225.png" alt="modern.ie---quirksblog-1024x768" width="300" height="225" class="aligncenter size-medium wp-image-2857" srcset="/wp-content/uploads/2013/09/modern.ie-quirksblog-1024x768-300x225.png 300w, /wp-content/uploads/2013/09/modern.ie-quirksblog-1024x768-207x155.png 207w, /wp-content/uploads/2013/09/modern.ie-quirksblog-1024x768.png 640w" sizes="(max-width: 300px) 100vw, 300px" /></p>

<p>原題: modern.ie</p>

<p>Peter-Paul Koch氏による<a href="http://www.modern.ie/en-us" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">modern.IE</a>のレビュー記事。modern.IEはマイクロソフト社公式のInternet Explorerのテストを行うための仮想環境で、Peter-Paul Koch氏は非常に詳細な<a href="http://www.quirksmode.org/compatibility.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">JavaScriptやCSSのブラウザ対応表</a>を更新し続けている人。<br />
Microsoft社からスポンサーを受けている記事にも関わらず、非常に公平なレビューとなっており、氏はmodern.IEのライセンス処理が面倒、Windowsのアップデートにあわせて仮想環境もアップデートするべき、JavaScriptのエラーメッセージはデフォルトで有効にしておくべき、仮想環境のサイズをもう少し小さくできないか、など改善案も出している。</p>

<h3><a href="http://boxesandarrows.com/optimizing-ui-icons-for-faster-recognition/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">UIアイコンをより早く認知させるために知っておきたいこと &#8211; Boxes and Arrows</a></h3>

<p><img src="/wp-content/uploads/2013/09/13597fc65ad61e8f5ba9461cb69f541b-300x225.png" alt="optimizing-ui-icons-for-faster-recognition-«-boxes-and-arrows-1024x768" width="300" height="225" class="aligncenter size-medium wp-image-2860" srcset="/wp-content/uploads/2013/09/13597fc65ad61e8f5ba9461cb69f541b-300x225.png 300w, /wp-content/uploads/2013/09/13597fc65ad61e8f5ba9461cb69f541b-207x155.png 207w, /wp-content/uploads/2013/09/13597fc65ad61e8f5ba9461cb69f541b.png 640w" sizes="(max-width: 300px) 100vw, 300px" /></p>

<p>原題: Optimizing UI icons for faster recognition</p>

<p>大きなビジュアルスタイルの変更があったiOS 7が公開された。特にアイコンのスタイルは如実に変更されている。Aubrey Johnson氏はこの変更は、ユーザの認知能力を疲弊させるとした<a href="https://medium.com/design-ux/a93647e5a44b" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">記事を公開</a>。その記事に対して、Alla Kholmatova氏は、「UIアイコンの認識を早めるために必要な最適化はアイコンのデザインスタイルではない」と反論している。この記事も、Johnson氏の記事も、そもそもUIにおけるアイコンの存在意義や、その認識について再度考えさせられるすばらしい記事なので、合わせて読んでほしい。</p>

<h3><a href="http://css-tricks.com/complete-guide-table-element/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">いまさら聞けない! テーブル要素について &#8211; CSS-Tricks</a></h3>

<p><img src="/wp-content/uploads/2013/09/a-complete-guide-to-the-table-element-css-tricks-1024x768-300x225.png" alt="a-complete-guide-to-the-table-element-|-css-tricks-1024x768" width="300" height="225" class="aligncenter size-medium wp-image-2848" srcset="/wp-content/uploads/2013/09/a-complete-guide-to-the-table-element-css-tricks-1024x768-300x225.png 300w, /wp-content/uploads/2013/09/a-complete-guide-to-the-table-element-css-tricks-1024x768-207x155.png 207w, /wp-content/uploads/2013/09/a-complete-guide-to-the-table-element-css-tricks-1024x768.png 640w" sizes="(max-width: 300px) 100vw, 300px" /></p>

<p>原題: A Complete Guide to the Table Element</p>

<p>テーブルタグを使ったレイアウトをしていたのは、いまや昔になっているといっていいだろう。そんな中、テーブルタグの存在意義である表形式のデータの表示という使い方も忘れてしまいがちだ。<br />
このChris Coyier氏による記事では、見た目の定義のないベーシックなテーブル例から、theadやtbody、そしてtfoot、trやtdの使い方について、テーブルのスタイルや、colspan、rowspanの使い方など非常に細かく、CodePenを使った実働例とスニペットを合わせて紹介している。</p>

<h3><a href="http://blogs.msdn.com/b/ie/archive/2013/09/12/using-hardware-to-decode-and-load-jpg-images-up-to-45-faster-in-internet-explorer-11.aspx" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">45%のパフォーマンス改善。GPUを使ってのJPG画像をデコード &#8211; IEBlog</a></h3>

<p><img src="/wp-content/uploads/2013/09/msdn-blogs-1024x768-300x225.png" alt="msdn-blogs-1024x768" width="300" height="225" class="aligncenter size-medium wp-image-2858" srcset="/wp-content/uploads/2013/09/msdn-blogs-1024x768-300x225.png 300w, /wp-content/uploads/2013/09/msdn-blogs-1024x768-207x155.png 207w, /wp-content/uploads/2013/09/msdn-blogs-1024x768.png 640w" sizes="(max-width: 300px) 100vw, 300px" /></p>

<p>原題: Using Hardware to Decode and Load JPG Images up to 45% faster in Internet Explorer 11</p>

<p>パフォーマンスのボトルネックの1つであり、実装的な回避が難しい部類の画像（記事ではJPG画像について書かれている）のデコードをInternet Explorer 11ではGPUを利用して行い、結果、最高45%のパフォーマンスを向上できたという紹介記事。<br />
記事は単純な結果の共有にとどまらず、そもそもJPGがどのようにエンコードされるのか、そしてよりGPUを使ったデコードを効率的にするために採用した手法についても、詳しく解説している。</p>

<h2>海外トレンドコラム</h2>

<h3><a href="https://hacks.mozilla.org/2013/09/reintroducing-the-firefox-developer-tools-part-1-the-web-console-and-the-javascript-debugger/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Firefoxの開発者ツール再訪パート1: Web ConsoleとJavaScript Debugger &#8211; Mozilla Hacks</a></h3>

<p><img src="/wp-content/uploads/2013/09/reintroducing-the-firefox-devtool-1024x768-291x300.png" alt="reintroducing-the-firefox-devtool-1024x768" width="291" height="300" class="aligncenter size-medium wp-image-2862" srcset="/wp-content/uploads/2013/09/reintroducing-the-firefox-devtool-1024x768-291x300.png 291w, /wp-content/uploads/2013/09/reintroducing-the-firefox-devtool-1024x768-200x207.png 200w, /wp-content/uploads/2013/09/reintroducing-the-firefox-devtool-1024x768.png 621w" sizes="(max-width: 291px) 100vw, 291px" /></p>

<p>原題: Reintroducing the Firefox Developer Tools, part 1: the Web Console and the JavaScript Debugger</p>

<p>Firefox 4からFirefoxに搭載されている、ビルトインの開発者ツールに関する解説をするシリーズ第1回目(全5回予定)。この記事では、閲覧しているページの表示されている情報について確認できるWeb Console、JavaScript Debuggerの2つについて紹介、それぞれ2分程度の動画もあって非常に分かりやすい。</p>

<h3><a href="http://blogs.msdn.com/b/eternalcoding/archive/2013/05/21/benchmarking-a-html5-game-html5-potatoes-gaming-bench.aspx" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">HTML5ゲームにおけるベンチマーク: スプライトアニメーション編 &#8211; MSDN Blogs</a></h3>

<p><img src="/wp-content/uploads/2013/09/benchmarking-a-html5-game-msdn-blogs-1024x768-300x225.png" alt="benchmarking-a-html5-game-msdn-blogs-1024x768" width="300" height="225" class="aligncenter size-medium wp-image-2849" srcset="/wp-content/uploads/2013/09/benchmarking-a-html5-game-msdn-blogs-1024x768-300x225.png 300w, /wp-content/uploads/2013/09/benchmarking-a-html5-game-msdn-blogs-1024x768-207x155.png 207w, /wp-content/uploads/2013/09/benchmarking-a-html5-game-msdn-blogs-1024x768.png 640w" sizes="(max-width: 300px) 100vw, 300px" /></p>

<p>原題: Benchmarking a HTML5 game: HTML5 Potatoes Gaming Bench</p>

<p>HTML5ゲームを制作するにあたって欠かすことができないのがベンチマーク。この記事ではそのベンチマークの中でもスプライト・アニメーションに特化したツールである<a href="http://blogs.msdn.com/b/davrous/archive/2013/04/26/html5-gaming-benchmarking-sprites-animations-on-your-targeted-devices-amp-browsers.aspx" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">HTML5 Potatoes</a>を使ったベンチマークの取り方について解説。</p>

<h3><a href="http://wilsonpage.tumblr.com/post/61702033230/preventing-layout-thrashing" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">レイアウト・スラッシングを回避するテクニックとツール &#8211; Wilson Page</a></h3>

<p><img src="/wp-content/uploads/2013/09/20932dd9e0d3a6fc4f42f7992af111e2-300x225.png" alt="wilson-page-—-preventing-&#039;layout-thrashing&#039;-1024x768" width="300" height="225" class="aligncenter size-medium wp-image-2863" srcset="/wp-content/uploads/2013/09/20932dd9e0d3a6fc4f42f7992af111e2-300x225.png 300w, /wp-content/uploads/2013/09/20932dd9e0d3a6fc4f42f7992af111e2-207x155.png 207w, /wp-content/uploads/2013/09/20932dd9e0d3a6fc4f42f7992af111e2.png 640w" sizes="(max-width: 300px) 100vw, 300px" /></p>

<p>原題: Preventing &#8216;layout thrashing&#8217;</p>

<p>レンダリングプロセスの中で、ボトルネックとなりやすいレイアウトが複数回連続的に発生することを「レイアウト・スラッシング」を回避するためにWilson Page氏はrequestAnimationFrameを利用したツール、<a href="https://github.com/wilsonpage/fastdom" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">fastdom</a>を作って公開。記事では、ツール制作の裏側について解説している。</p>

<h3><a href="http://www.html5rocks.com/en/tutorials/canvas/inspection/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Google Chrome開発者ツール: カンバス・インスペクション &#8211; HTML5 Rocks</a></h3>

<p><img src="/wp-content/uploads/2013/09/canvas-inspection-using-chrome-devtools-html5-rocks-1024x768-300x225.png" alt="canvas-inspection-using-chrome-devtools---html5-rocks-1024x768" width="300" height="225" class="aligncenter size-medium wp-image-2850" srcset="/wp-content/uploads/2013/09/canvas-inspection-using-chrome-devtools-html5-rocks-1024x768-300x225.png 300w, /wp-content/uploads/2013/09/canvas-inspection-using-chrome-devtools-html5-rocks-1024x768-207x155.png 207w, /wp-content/uploads/2013/09/canvas-inspection-using-chrome-devtools-html5-rocks-1024x768.png 640w" sizes="(max-width: 300px) 100vw, 300px" /></p>

<p>原題: Canvas Inspection using Chrome DevTools</p>

<p>そろそろCanvasを使い始めているというサイトやサービスも増えてきたタイミングだろう。そんな中、この記事ではChromeの開発ツールに追加されたCanvasをデバッグするのに便利なCanvas Inspectionについて、セットアップから利用法まで詳しく解説しているのでぜひチェックしてほしい。</p>

<h3><a href="http://4waisenkinder.de/blog/2013/09/21/getting-started-with-web-components-and-polymer-dot-js/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Polymerを使ってカスタム・チェックボックスを作成する &#8211; 4waisenkinder</a></h3>

<p><img src="/wp-content/uploads/2013/09/getting-started-with-web-components-and-polymer.js-4waisenkinder-1024x768-300x225.png" alt="getting-started-with-web-components-and-polymer.js-|-4waisenkinder-1024x768" width="300" height="225" class="aligncenter size-medium wp-image-2852" srcset="/wp-content/uploads/2013/09/getting-started-with-web-components-and-polymer.js-4waisenkinder-1024x768-300x225.png 300w, /wp-content/uploads/2013/09/getting-started-with-web-components-and-polymer.js-4waisenkinder-1024x768-207x155.png 207w, /wp-content/uploads/2013/09/getting-started-with-web-components-and-polymer.js-4waisenkinder-1024x768.png 640w" sizes="(max-width: 300px) 100vw, 300px" /></p>

<p>原題: Getting started with web components and polymer.js</p>

<p>Google社が主導しているWeb ComponentsのPolyfillである<a href="http://www.polymer-project.org/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Polymer</a>を利用して、<a href="http://codepen.io/stefanjudis/pen/ojDif" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">実際に動作するカスタムチェックボックス</a>の作り方を解説。実際に動作するデモと詳細にわたるスニペット、そして自身が体験した失敗談と回避方法について詳しく説明している。</p>

<h3><a href="http://www.uxmatters.com/mt/archives/2013/09/making-web-sites-accessible-without-sacrificing-aesthetics.php" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">見た目が美しくてもアクセシブルなサイトは作れる! &#8211; UXmatters</a></h3>

<p><img src="/wp-content/uploads/2013/09/making-web-sites-accessible-without-sacrificing-aesthetics-uxmatters-1024x768-300x225.png" alt="making-web-sites-accessible-without-sacrificing-aesthetics-::-uxmatters-1024x768" width="300" height="225" class="aligncenter size-medium wp-image-2856" srcset="/wp-content/uploads/2013/09/making-web-sites-accessible-without-sacrificing-aesthetics-uxmatters-1024x768-300x225.png 300w, /wp-content/uploads/2013/09/making-web-sites-accessible-without-sacrificing-aesthetics-uxmatters-1024x768-207x155.png 207w, /wp-content/uploads/2013/09/making-web-sites-accessible-without-sacrificing-aesthetics-uxmatters-1024x768.png 640w" sizes="(max-width: 300px) 100vw, 300px" /></p>

<p>原題: Making Web Sites Accessible Without Sacrificing Aesthetics</p>

<p>アクセシビリティはサイトの見た目が悪い、ターゲットユーザとは違うので、利益にならない、などアクセシビリティに関する多くの『都市伝説』を丁寧に解き明かしていく。もちろんアクセシビリティに関するすべてを学べるわけではないが、入り口や突破口としてすばらしい記事。</p>

<h3><a href="http://gitolite.com/gcs/index.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Gitのコンセプトをダイアグラムを使って解説</a></h3>

<p><img src="/wp-content/uploads/2013/09/git-concepts-simplified-1024x768-300x225.png" alt="git-concepts-simplified-1024x768" width="300" height="225" class="aligncenter size-medium wp-image-2853" srcset="/wp-content/uploads/2013/09/git-concepts-simplified-1024x768-300x225.png 300w, /wp-content/uploads/2013/09/git-concepts-simplified-1024x768-207x155.png 207w, /wp-content/uploads/2013/09/git-concepts-simplified-1024x768.png 640w" sizes="(max-width: 300px) 100vw, 300px" /></p>

<p>原題: git concepts simplified</p>

<p>Gitのコンセプトをシンプルにダイアグラムを利用しながら分かりやすく解説している。基本から、コミット、ブランチ、タグやリモート・リポジトリについて、マージ、Cherry PickやRebaseについてなどについて広く触れている。</p>

<h2>クローズアップ“ビデオ/スライド”</h2>

<h3><a href="http://www.youtube.com/watch?v=480JL_WuMt0" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">パフォーマンス・チューニングの秘密 &#8211; Peter Flynn</a></h3>

<p><img src="/wp-content/uploads/2013/09/peter-flynn-performance-tuning-secrets-291x300.png" alt="peter-flynn-performance-tuning-secrets" width="291" height="300" class="aligncenter size-medium wp-image-2861" srcset="/wp-content/uploads/2013/09/peter-flynn-performance-tuning-secrets-291x300.png 291w, /wp-content/uploads/2013/09/peter-flynn-performance-tuning-secrets-200x207.png 200w, /wp-content/uploads/2013/09/peter-flynn-performance-tuning-secrets.png 621w" sizes="(max-width: 291px) 100vw, 291px" /></p>

<p>原題: Performance Tuning Secrets</p>

<p>スライド: <a href="https://github.com/peterflynn/jsconf-2013" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">https://github.com/peterflynn/jsconf-2013</a></p>

<p>Adobe社にてBracketsの開発に携わっているPeter Flynn氏によるJavaScriptのパフォーマンス・チューニングのコツについてのJSConfUS 2013での発表。Chrome開発ツールから、about:tracing、V8のログツールについて解説している。</p>

<h3><a href="https://mikewest.org/2013/09/frontend-security-frontendconf-2013" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">フロントエンドデベロッパも知っておきたいセキュリティについて — Mike West</a></h3>

<p><img src="/wp-content/uploads/2013/09/frontend-security-291x300.png" alt="frontend-security" width="291" height="300" class="aligncenter size-medium wp-image-2851" srcset="/wp-content/uploads/2013/09/frontend-security-291x300.png 291w, /wp-content/uploads/2013/09/frontend-security-200x207.png 200w, /wp-content/uploads/2013/09/frontend-security.png 621w" sizes="(max-width: 291px) 100vw, 291px" /></p>

<p>原題: Frontend Security</p>

<p>8月29、30日の2日間でスイス、チューリッヒで開催された<a href="http://2013.frontendconf.ch/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Frontrend Conf</a>にてMike West氏が発表したフロントエンド・セキュリティについての動画、スライド、そしてトランスクリプト。</p>

<h2>海外で話題の“ツール”</h2>

<h3><a href="http://nodeschool.io/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">nodeschool.io</a></h3>

<p><img src="/wp-content/uploads/2013/09/nodeschool.io-1024x768-300x225.png" alt="nodeschool.io-1024x768" width="300" height="225" class="aligncenter size-medium wp-image-2859" srcset="/wp-content/uploads/2013/09/nodeschool.io-1024x768-300x225.png 300w, /wp-content/uploads/2013/09/nodeschool.io-1024x768-207x155.png 207w, /wp-content/uploads/2013/09/nodeschool.io-1024x768.png 640w" sizes="(max-width: 300px) 100vw, 300px" /></p>

<p>コマンドライン上でリアリスティックな問題を解決しながらNode.jsについて学べるユニークなスタイルのレッスンサイト。現在までのところ、『Node.js基礎: 非同期I/OとHTTP』、『.pipe()を使ってstreamのインタフェースを構成』そして、『入門LevelDB』の3つの授業が用意されている。</p>

<h3><a href="http://httpflies.com/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">HTTPFlies</a></h3>

<p><img src="/wp-content/uploads/2013/09/httpflies-1024x768-300x225.png" alt="httpflies-1024x768" width="300" height="225" class="aligncenter size-medium wp-image-2854" srcset="/wp-content/uploads/2013/09/httpflies-1024x768-300x225.png 300w, /wp-content/uploads/2013/09/httpflies-1024x768-207x155.png 207w, /wp-content/uploads/2013/09/httpflies-1024x768.png 640w" sizes="(max-width: 300px) 100vw, 300px" /></p>

<p>数あるHTTPステータスコード(このサイトによると52!)を美しい蝶に例えて紹介しているサイト。サイトそのものもすばらしいが、制作の裏側について書かれた<a href="http://httpflies.com/writeup.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">こちら</a>も合わせてどうぞ。</p>

<h3><a href="http://abduzeedo.com/basiliq-freehand-ui-kit" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Basiliq &#8211; Abduzeedo Design Inspiration</a></h3>

<p><img src="/wp-content/uploads/2013/09/basiliq-freehand-ui-kit-abduzeedo-design-inspiration-1024x768-300x225.png" alt="basiliq---freehand-ui-kit-|-abduzeedo-design-inspiration-1024x768" width="300" height="225" class="aligncenter size-medium wp-image-2844" srcset="/wp-content/uploads/2013/09/basiliq-freehand-ui-kit-abduzeedo-design-inspiration-1024x768-300x225.png 300w, /wp-content/uploads/2013/09/basiliq-freehand-ui-kit-abduzeedo-design-inspiration-1024x768-207x155.png 207w, /wp-content/uploads/2013/09/basiliq-freehand-ui-kit-abduzeedo-design-inspiration-1024x768.png 640w" sizes="(max-width: 300px) 100vw, 300px" /></p>

<p>300以上のパーツに分割された、手書き風のベクターシェイプを集約したワイヤフレーム用UIキット。Photoshopで利用が可能で無料。アイデアを形にし、テストをし多くの失敗を重ねることが、インタラクション／プロダクトデザインの正解への近道。</p>

<h3><a href="http://semantic-ui.com/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Semantic UI</a></h3>

<p><img src="/wp-content/uploads/2013/09/getting-started-semantic-ui-1024x768-300x225.png" alt="getting-started-|-semantic-ui-1024x768" width="300" height="225" class="aligncenter size-medium wp-image-2846" srcset="/wp-content/uploads/2013/09/getting-started-semantic-ui-1024x768-300x225.png 300w, /wp-content/uploads/2013/09/getting-started-semantic-ui-1024x768-207x155.png 207w, /wp-content/uploads/2013/09/getting-started-semantic-ui-1024x768.png 640w" sizes="(max-width: 300px) 100vw, 300px" /></p>

<p>Twitter Bootstrapから始まった、フロントエンド・UIツールキットと呼ばれる類いのツールは今や百科絢爛。そんな中、Bootstrapとは異なるCSSアーキテクチャを採用しているSemantic UIが登場。どちらが優れているか、ではなく、どちらのアプローチにもそれぞれの理由があるので、ソースコードリーディングをして見てほしい。</p>

<h3><a href="http://cspisawesome.com/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Content Security Policy Header Generator</a></h3>

<p><img src="/wp-content/uploads/2013/09/content-security-policy-header-generator-1024x768-300x225.png" alt="content-security-policy-header-generator-1024x768" width="300" height="225" class="aligncenter size-medium wp-image-2845" srcset="/wp-content/uploads/2013/09/content-security-policy-header-generator-1024x768-300x225.png 300w, /wp-content/uploads/2013/09/content-security-policy-header-generator-1024x768-207x155.png 207w, /wp-content/uploads/2013/09/content-security-policy-header-generator-1024x768.png 640w" sizes="(max-width: 300px) 100vw, 300px" /></p>

<p>クロスサイトスクリプティング (XSS) やデータインジェクション攻撃を含む、よく知られた種類の攻撃を検出して軽減する、セキュリティの追加レイヤーであるContent Security Policyで利用するヘッダ生成ツール。</p>

<h3><a href="http://blog.mikeswanson.com/post/62341902567/unleashing-genetic-algorithms-on-the-ios-7-icon" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">iO 7のアイコン生成における遺伝的アルゴリズムについて &#8211; Mike Swanson&#8217;s Blog</a></h3>

<p><img src="/wp-content/uploads/2013/09/9a79d5cd1b679b20ac927ad9350eb724-300x225.png" alt="mike-swanson&#039;s-blog-•-unleashing-genetic-algorithms-on-the-ios-7-icon-1024x768" width="300" height="225" class="aligncenter size-medium wp-image-2847" srcset="/wp-content/uploads/2013/09/9a79d5cd1b679b20ac927ad9350eb724-300x225.png 300w, /wp-content/uploads/2013/09/9a79d5cd1b679b20ac927ad9350eb724-207x155.png 207w, /wp-content/uploads/2013/09/9a79d5cd1b679b20ac927ad9350eb724.png 640w" sizes="(max-width: 300px) 100vw, 300px" /></p>

<p>原題: Unleashing Genetic Algorithms on the iOS 7 Icon</p>

<p>iOS 7のリリースに伴い変更のあったアプリアイコンのデザイン。実際にApple公式アプリの角丸は単純なものではなく、正確に同じ角丸を再現するのはなかなか面倒だ。そこでMike Swanson氏はそのプロセスを自動化する<a href="http://blog.mikeswanson.com/post/61651302736/photoshop-script-for-ios-7-rounded-rectangles" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Photoshop Scriptを公開</a>。この記事は、そのツールでどのように公式アプリの角丸の再現性を高めたかについて解説している。</p>

<p>★次回の「斉藤祐也の海外WEBテク定点観測」から月次更新に変更して、11月5日にお届け予定です。★</p>
]]></content:encoded>
		
		<series:name><![CDATA[海外WEBテク最新動向]]></series:name>
	</item>
		<item>
		<title>Webアニメーションを高速化するために知っておくべき10のこと（後編）</title>
		<link>/cssradar/2669/</link>
		<pubDate>Thu, 26 Sep 2013 22:00:07 +0000</pubDate>
		<dc:creator><![CDATA[斉藤 祐也]]></dc:creator>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[アニメーション]]></category>
		<category><![CDATA[パフォーマンス]]></category>

		<guid isPermaLink="false">/?p=2669</guid>
		<description><![CDATA[連載： パフォーマンスチューニング (8)前編から引き続き、後編でも最適化のために知っておきたいレンダリングプロセス、計測方法、そして最適化を妨げるよくあるアクシデントとその回避方法について紹介していきます。 アニメーシ...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/performance-tech/" class="series-149" title="パフォーマンスチューニング" data-wpel-link="internal">パフォーマンスチューニング</a> (8)</div><p><a href="https://html5experts.jp/cssradar/2027/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">前編</a>から引き続き、後編でも最適化のために知っておきたいレンダリングプロセス、計測方法、そして最適化を妨げるよくあるアクシデントとその回避方法について紹介していきます。</p>

<h2>アニメーションを高速化するために知っておきたいレンダリングプロセス</h2>

<p>ブラウザがどのようにウェブサイトを表示しているのかを知ることは、アニメーションだけに限らず、Webのパフォーマンス全体の高速化を行うために大切なステップです。
イスラエルの開発者であるTali Garsiel氏が公開した『<a href="http://taligarsiel.com/Projects/howbrowserswork1.htm" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">How Browsers Work</a>』は、<a href="http://www.html5rocks.com/en/tutorials/internals/howbrowserswork/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">HTML5 Rocksに転載</a>され、複数の日本語訳も提供されている、ブラウザの内部動作を学ぶために読んでおきたいリソースの1つです。
そのリソースを参考に、レンダリングエンジンのメインフローについて見ていきましょう。</p>

<p>ブラウザはまずHTMLドキュメントを解析し、HTMLタグをコンテント・ツリーと呼ばれるDOMノードに変換します。そして外部CSSやスタイル要素に含まれるスタイルに関するデータを解析し、レンダーツリーを作成します。<br />
このレンダーツリーが色や大きさのような情報を持つ矩形を持っています。 </p>

<p>ここから先が特にアニメーションのパフォーマンスに関わりの深いフローになりますが、レンダーツリーが作成された後、レイアウト(リフロー)と呼ばれるプロセスに入り、そしてペイントがそれに続きます。</p>

<p>ここでは非常に大まかな流れしか解説しませんが、Paul Irish氏が言うとおり、ブラウザがHTMLやCSSを画面に表示するまでのフローを理解することは、開発におけるベストプラクティスの背後にある根拠を理解する手助けとなります。少々慣れない用語が多いかもしれませんが、ぜひ先ほど紹介した記事を一読ください。</p>

<h2>アニメーション・ボトルネック: レイアウト(リフロー)</h2>

<p>Google ChromeやSafariなどのWebKit系ブラウザではレイアウト、FirefoxなどのGecko系ブラウザではリフローと呼ばれるプロセスは、パフォーマンス向上において大きな障害となるプロセスの1つです。<br />
Satoshi Ueyama氏が<a href="http://gyu.que.jp/sjs2007/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">2007年に『出張 Shibuya.js 24』にて発表した</a>際に使用した以下の動画で見ることができます。様々な大きさの矩形が徐々に配置されていくプロセスがレイアウト/リフローです。</p>

<p><a href="http://youtu.be/ZTnIxIA5KGw" title="Gecko Reflow Visualization" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">Gecko Reflow Visualization</a></p>

<p>このレイアウトのプロセスを、どのように最小限に抑えることができるかが、アニメーションの高速化において大切なポイントになります。
レイアウトを引き起こす原因について、詳しくはTony Gentilcore氏による「<a href="http://gent.ilcore.com/2011/03/how-not-to-trigger-layout-in-webkit.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">How (not) to trigger a layout in WebKit</a>」を参考にしてください。<br />
記事のタイトルにもある通り、あくまでWebKit系ブラウザのみに限定されていますし、2011年の記事でもありますので、必ずレイアウトの発生を確認できるツールを利用して確認することをおすすめします。<br />
（執筆時点ではGoogle Chrome、Safariの開発者ツール、そして紹介記事から得た情報でしかありませんが、IE11の開発者ツールでもレイアウトの発生を確認できます）</p>

<h2>アニメーション・ボトルネック:ペイント</h2>

<p>やや乱暴ではありますが、ブラウザで何かを表示するということは、HTMLやCSSから得た情報を画像化して表示しているのと大きな差はないと言えます。　</p>

<p>CSS3がプロダクションレベルで利用されはじめた今、角丸やシャドウなどを画像を利用せずに表現することが当たり前になってきているかと思います。読み込む画像が少なくなれば、その画像を制作するコストも減り、画像の読み込みにかかるコストも減りますが、その代わりにブラウザがそのコストを背負ってくれているわけです（もちろん1対1の割合ではありませんが）。<br />
この後の段でアクシデントとして紹介しますが、すべてのスタイルが同じコストでペイントを行うわけではなく、また組み合わせによってコストが甚大になるケースもあるので注意が必要になります。</p>

<p>ブラウザは、表示領域をいくつかのタイルとしてレンダリングを行います。それぞれの個別のタイルごとにレンダリングをし、その結果をキャッシュしていきます。<br />
そのため、大きな領域でペイントを行うことを避ける必要があります。レイアウトと同様に、ペイントを行う範囲を最低限にしておくことがポイントになります。</p>

<h2>アニメーションのパフォーマンスの計測、デバッグツール/ワークフロー</h2>

<p>パフォーマンス最適化において、最も大事なことは計測することです。私自身もよく陥る失敗ですが、どこかで読んだから、以前はうまく回避できた問題だからと盲目的にそれらの情報を頼りにするのではなく、計測する方法をきちんと学び、計測を日々続けることがベストプラクティスです。</p>

<p>開発者ツールについての詳しい記事は今後本サイトで紹介される予定ですので、ここでは私が実際にアニメーションのパフォーマンスについて計測するのに利用しているツールとワークフローを、ほんの一部ですが紹介していきます。</p>

<p>パフォーマンス計測を行う上で欠かすことができないのが、Google Chrome Canaryの開発者ツールです。Chromeではなく、日々更新を続けていくCanaryを利用する理由は、計測ツールとしての機能の多さと深さがChromeとは異なるからです。</p>

<p>アニメーションの最適化という文脈においてタイムラインパネルは、エディタとブラウザの描画エリアと同じくらい見る画面です。 </p>

<p><img src="/wp-content/uploads/2013/09/devtool1.png" alt="devtool" width="668" height="425" class="aligncenter size-full wp-image-2803" srcset="/wp-content/uploads/2013/09/devtool1.png 640w, /wp-content/uploads/2013/09/devtool1-300x190.png 300w, /wp-content/uploads/2013/09/devtool1-207x131.png 207w" sizes="(max-width: 668px) 100vw, 668px" /></p>

<p>まずは上図の1、Framesタブに切り替えて、上図2のRecordボタンをクリックし、計測を行いたいアニメーションを実行します。 </p>

<p><img src="/wp-content/uploads/2013/09/devtool.recording.gif" alt="devtool.recording" width="896" height="491" class="aligncenter size-full wp-image-2671" /></p>

<p>すると、上図のような棒グラフが記録されていきます。その下にある表は棒グラフをより詳細にしたものです。<br />
棒グラフは、背が高ければ高いほど処理に時間がかかっているということになります。計測対象にもよりますが、グラフ上にある2本の線は30FPSと60FPSを示しています。60FPSを目指すのであれば、それ以上の高さになっている棒グラフの周りをドラッグすることで、下にある表にその選択したタイミング内の詳細情報を表示させることができるようになります。</p>

<p>表にある横グラフは、マウスオーバーさせることでその特定の処理についての詳細を見ることができます。<br />
レイアウトやペイントがどの範囲で行われているか、そしてそれにかかっている時間がどのくらいか、などの情報を確認することが可能です。<br />
これらの情報と最前にも紹介したレンダリングの仕組みの情報を踏まえて、トライアル&amp;エラーを繰り返し、最適化を図っていくのが大まかなワークフローとなります。</p>

<h2>アニメーションを遅くするよくあるアクシデント</h2>

<p>最後にアニメーションのパフォーマンス最適化を妨げる、よくある3つのアクシデントを紹介します。</p>

<p>1つ目は<a href="https://html5experts.jp/cssradar/2027/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">本連載の前編</a>でも少し触れたGPUにまつわるアクシデントです。<br />
GPUを使ってRenderLayerを作成し、そのレイヤー上でアニメーションを行うことそのものはベストプラクティスと言えます。しかしCPUからGPUへのデータ転送にはコストがかかり、特にモバイルデバイスなどCPUもGPUも非力である場面で問題になります。</p>

<p>この問題については、Phamtom.jsの作者としてよく知られるAriya Hidayat氏によるデモが非常にわかりやすいです。デモそのものは<a href="http://codepen.io/ariya/full/xuwgy" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">こちらのcodepen</a>で実際に動作しているので、参考にしてください。 </p>

<p><a href="http://vimeo.com/75182001" title="Ariya Hidayat氏によるGPUへのデータアップロードデモ" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">Ariya Hidayat氏によるGPUへのデータアップロードデモ</a></p>

<p>それぞれのボックスの右上に数字があり、カウントされているのが確認できたでしょうか？　このカウントがCPUからGPUへのデータの転送数を示しています。このデータ転送が少ないほうがパフォーマンスはよくなります。<br />
ですが、実際にデータ転送を行わないプロパティは非常に少なく、Ariya Hidayat氏によれば、opacity、transform、filterの3つのみと言われています。<br />
アニメーションの表現としてデータ転送が回避できない場面が多いのも事実ですが、同時にデータ転送には相応のコストがかかることを知っておくことも大切です。</p>

<p>GPU関連でもう1つの落とし穴があります。GoogleのJake Archibald氏による<a href="http://jsbin.com/efirip/5/quiet" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">デモ</a>をご覧ください。 </p>

<p><img src="/wp-content/uploads/2013/09/accidental.layer_.creation.gif" alt="accidental.layer.creation" width="1200" height="660" class="aligncenter size-full wp-image-2672" /></p>

<p>オレンジ色の矩形が、GPUによって処理されるComposited Layerを示しています。実際にComposited Layerを生成したかったのは左上の緑のボックスだけなのにも関わらず、どういうわけか見出しにもComposited Layerが生成されてしまいます。デスクトップ上であれば、このComposited Layerの生成にかかるコストは気にするほどのことでもありませんが、モバイルデバイスにおいては大きなコストになってしまいます。<br />
この問題を回避するのにはシンプルな解決があります。</p>

<p>先ほどのデモ内においてはアニメーションする要素そのものに、z-index: 1を付与することで回避できます。<br />
このアクシデントは、カルーセルのようなUIパターンによく見られます。自作する際も、すでにあるライブラリを利用する際も、思っていない場面でComposited Layerが生成されていないか確認し、z-indexを使って回避できるか試してみてください。</p>

<p>Ariya Hidayat氏によるW3Confでのプレゼンテーション『<a href="http://www.youtube.com/watch?v=gTHAn-nkQnI" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Fluid User Interface with Hardware Acceleration</a>』はハードウェア・アクセラレーションを使った最適化を行うのにあたり、見ておくべきリソースの1つです。またThe Chromium Projectsにてドキュメントされている<a href="http://www.chromium.org/developers/design-documents/gpu-accelerated-compositing-in-chrome" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">GPU Accelerated Compositing in Chrome</a>も参考になりますので、ぜひ一読してください。</p>

<p>ここで紹介する最後のよくあるアクシデントが、CSSプロパティの組み合わせによるペイントコストの増大です。このアクシデントはモバイルデバイスでよく見かけるものです。例えば、角丸とシャドウを組み合わせたボックス、非常によくあるスタイルにも関わらず、これらのスタイルがあると、とたんにスクロールが引っかかるように感じてしまうことがあります。この「引っかかる感じ」の原因の多くがペイントです。</p>

<p>どのプロパティの組み合わせがどれくらいのペイントコストとなるかを計測するためのツールは存在はしますが、ここでは紹介しきれませんので割愛します(チャレンジしてみたい方は<a href="http://dev.chromium.org/developers/how-tos/trace-event-profiling-tool" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">こちらのドキュメント</a>を参考にしてください。また取得方法は異なりますが、Colt McAnlis氏によるHTML5 Rocksの記事『<a href="http://www.html5rocks.com/en/tutorials/speed/css-paint-times/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">CSS Paint Times and Page Render Weight</a>』も合わせて参考にしてください。)。しかし前段で紹介したタイムラインパネルでもペイントコストを確認できますので、トライ&amp;エラーを繰り返すことで、最適化を進められるでしょう。</p>

<p>前後編にわたってWebアニメーションの最適化について紹介してきました。<br />
いずれブラウザや端末そのものも賢くなり、これらの知識やテクニックも早晩時代遅れになっていくだろうと思います。しかし、我々はその過渡期にいる最中です。「使いやすさ」を向上する上で欠かすことができない最適化は多くの苦難があっても報われるものです。</p>
]]></content:encoded>
		
		<series:name><![CDATA[パフォーマンスチューニング]]></series:name>
	</item>
	</channel>
</rss>
