<?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>Virtual DOM &#8211; HTML5Experts.jp</title>
	<atom:link href="/tag/virtual-dom/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>乗るしかない！Reactのビッグウェーブに！─isomorphic tokyo meetupに参加してきた</title>
		<link>/shumpei-shiraishi/14895/</link>
		<pubDate>Fri, 01 May 2015 03:01:33 +0000</pubDate>
		<dc:creator><![CDATA[白石 俊平]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[システム開発]]></category>
		<category><![CDATA[AngularJS]]></category>
		<category><![CDATA[Fetcr]]></category>
		<category><![CDATA[Flatiron]]></category>
		<category><![CDATA[Flummox]]></category>
		<category><![CDATA[Flux]]></category>
		<category><![CDATA[Fluxible]]></category>
		<category><![CDATA[React]]></category>
		<category><![CDATA[Rendr]]></category>
		<category><![CDATA[Virtual DOM]]></category>
		<category><![CDATA[isomorphic]]></category>
		<category><![CDATA[アーキテクチャ]]></category>

		<guid isPermaLink="false">/?p=14895</guid>
		<description><![CDATA[連載： アプリケーションアーキテクチャ最前線 (1)おはようございます。編集長の白石です。 昨日（2015年4月30日）、isomorphic tokyo meetupに参加してきました。 というのも実は近々、HTML5...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/arch/" class="series-287" title="アプリケーションアーキテクチャ最前線" data-wpel-link="internal">アプリケーションアーキテクチャ最前線</a> (1)</div><p>おはようございます。編集長の白石です。</p>

<p>昨日（2015年4月30日）、<a href="http://nodejs.connpass.com/event/13363/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">isomorphic tokyo meetup</a>に参加してきました。</p>

<p>というのも実は近々、HTML5 Experts.jpでは「Webアプリケーション・アーキテクチャ」に関する特集を行う予定なのですが、そこでキーワードとして挙げられていたのが<strong>isomorphic。</strong>
サーバサイドとクライアントサイドでコードの共有を促進するのが主な目的の一つ、というところまでは理解できたのですが、実際のところ、アーキテクチャはどう変わるのか？
それを探りたいと思っていたところ、ちょうどよくイベントの開催がアナウンスされていたので、急遽取材させていただきました。</p>

<p>取材を快く受け入れてくださった、主催の<a href="https://twitter.com/yosuke_furukawa" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Yosuke FURUKAWA</a>さん、本当にありがとうございました。</p>

<p>この記事では、トップバッターで講演されていた<a href="https://twitter.com/koichik" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">koichik</a>さんの講演内容を中心にご紹介して、isomorphicに触れるきっかけとなる記事を目指します。</p>

<p>なお、本日の講演者の皆様による資料はこちらになります。</p>

<h2><a href="http://nodejs.connpass.com/event/13363/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">isomorphic tokyo meetup</a>の発表資料</h2>

<h3>「Isomorphic Survival Guide」(by <a href="https://twitter.com/koichik" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">koichik</a>)</h3>

<p><a class="embedly-card" href="https://speakerdeck.com/koichik/isomorphic-survival-guide" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Isomorphic Survival Guide</a>
<script async src="//cdn.embedly.com/widgets/platform.js" charset="UTF-8"></script></p>

<h3>「Isomorphic Web development with Scala &amp; Scala.js」(by <a href="https://twitter.com/TanUkkii007" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">TanUkkii</a>)</h3>

<p><a class="embedly-card" href="http://www.slideshare.net/TanUkkii/isomorphic-web-development-with-scala-and-scalajs" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Isomorphic web development with scala and scala.js</a>
<script async src="//cdn.embedly.com/widgets/platform.js" charset="UTF-8"></script></p>

<h3>「実践isomorphic (+ Electron)」(by <a href="https://twitter.com/mizchi" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">mizchi</a>)</h3>

<p><a class="embedly-card" href="https://speakerdeck.com/mizchi/shi-jian-isomorphic-plus-electron" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">実践Isomorphic(+ Electron)</a>
<script async src="//cdn.embedly.com/widgets/platform.js" charset="UTF-8"></script></p>

<h3>「Unified Interface on Isomorphic JavaScript」 (by <a href="https://twitter.com/axross_" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">axross</a>)</h3>

<p><a class="embedly-card" href="http://www.slideshare.net/axross/unified-interface-on-isomorphic-javascript" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Unified Interface on Isomorphic Javascript</a>
<script async src="//cdn.embedly.com/widgets/platform.js" charset="UTF-8"></script></p>

<h3>「やみくも isomorphic から抜け出すために足りてないもの」 (by <a href="http://twitter.com/Jxck_" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Jxck_</a>)</h3>

<p>※資料は後日公開だそうです。</p>

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">今日のスライドがちょっと片手間すぎるので、公開はいろいろ直してからにします。 <a href="https://twitter.com/hashtag/isomorphic_meetup?src=hash" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">#isomorphic_meetup</a></p>&mdash; Jxck (@Jxck_) <a href="https://twitter.com/Jxck_/status/593792866075353088" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">2015, 4月 30</a></blockquote>

<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<h2>koichikさんによる「Isomorphic Survival Guide」つまみ食いレポート</h2>

<p><a href="https://twitter.com/koichik" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">koichik</a>さんの「Isomorphic Survival Guide」は、まずIsomorphicという言葉の語源からでした。ギリシャ語で「同じ」という意味を表す「isos」という言葉と、「形」という意味を表す「morphe」という言葉を合わせたものだそうです。</p>

<div id="attachment_14897" style="width: 650px" class="wp-caption aligncenter"><a href="https://html5experts.jp/wp-content/uploads/2015/05/01_isomorphic.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2015/05/01_isomorphic-640x480.jpg" alt="isomorphicの語源" width="640" height="480" class="size-large wp-image-14897" srcset="/wp-content/uploads/2015/05/01_isomorphic.jpg 640w, /wp-content/uploads/2015/05/01_isomorphic-300x225.jpg 300w, /wp-content/uploads/2015/05/01_isomorphic-207x155.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a><p class="wp-caption-text">isomorphicの語源</p></div>

<p>同じ成り立ちの言葉として、「metamorphic」や「polymorphic」があるとのこと。オブジェクト指向の世界で頻繁に用いられる「ポリモーフィック」という言葉が、isomorphicと同様「-morphic」で終わる単語だと気づいたのはこの時が初めてで、ハッとしました。</p>

<div id="attachment_14898" style="width: 650px" class="wp-caption aligncenter"><a href="https://html5experts.jp/wp-content/uploads/2015/05/02_x-morphic.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2015/05/02_x-morphic-640x480.jpg" alt="&quot;-morphic&quot;で終わる言葉はほかにも" width="640" height="480" class="size-large wp-image-14898" srcset="/wp-content/uploads/2015/05/02_x-morphic.jpg 640w, /wp-content/uploads/2015/05/02_x-morphic-300x225.jpg 300w, /wp-content/uploads/2015/05/02_x-morphic-207x155.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a><p class="wp-caption-text">&#8220;-morphic&#8221;で終わる言葉はほかにも</p></div>

<p>で、isomorphicが語られるときには、「クライアントとサーバの間でのコード共有」や「フロントエンドとバックエンドの間でのコード共有」と紹介されることが多いですが、そもそもクライアントとフロントエンド、サーバとバックエンドが同じ意味の単語なのか、そこには人による解釈の違いもあれば、指している意味合いの違いもある、と指摘。</p>

<div id="attachment_14899" style="width: 650px" class="wp-caption aligncenter"><a href="https://html5experts.jp/wp-content/uploads/2015/05/03_2x2.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2015/05/03_2x2-640x480.jpg" alt="クライアント・サーバという用語とフロントエンド・バックエンドという用語は同一ではない" width="640" height="480" class="size-large wp-image-14899" srcset="/wp-content/uploads/2015/05/03_2x2.jpg 640w, /wp-content/uploads/2015/05/03_2x2-300x225.jpg 300w, /wp-content/uploads/2015/05/03_2x2-207x155.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a><p class="wp-caption-text">クライアント・サーバという用語とフロントエンド・バックエンドという用語は同一ではない</p></div>

<p>この講演においては、クライアントとサーバはネットワークの「こちら側」と「あちら側」、フロントエンドとバックエンドは情報の入出力を「人間相手に行う」のか「ストレージ相手に行う」のか、という意味で取り扱う。</p>

<div id="attachment_14900" style="width: 650px" class="wp-caption aligncenter"><a href="https://html5experts.jp/wp-content/uploads/2015/05/04_definition.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2015/05/04_definition-640x480.jpg" alt="本講演における用語の定義" width="640" height="480" class="size-large wp-image-14900" srcset="/wp-content/uploads/2015/05/04_definition.jpg 640w, /wp-content/uploads/2015/05/04_definition-300x225.jpg 300w, /wp-content/uploads/2015/05/04_definition-207x155.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a><p class="wp-caption-text">本講演における用語の定義</p></div>

<p>例えば90年ごろの「C/Sシステム」（いわゆる「クラサバ」）は、クライアントのWindowsマシン上で「人間向け」（フロントエンド）の処理も「ストレージ向け」（バックエンド）の処理も行われていました。このように、クライアント＝フロントエンド、サーバ＝バックエンドという対応関係は時代によって変遷してきており、J2EEが提唱した三層アーキテクチャやRIAなど、様々なアーキテクチャと製品が模索されてきました。</p>

<div id="attachment_14901" style="width: 650px" class="wp-caption aligncenter"><a href="https://html5experts.jp/wp-content/uploads/2015/05/05_cs.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2015/05/05_cs-640x480.jpg" alt="C/Sシステム" width="640" height="480" class="size-large wp-image-14901" srcset="/wp-content/uploads/2015/05/05_cs.jpg 640w, /wp-content/uploads/2015/05/05_cs-300x225.jpg 300w, /wp-content/uploads/2015/05/05_cs-207x155.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a><p class="wp-caption-text">C/Sシステム</p></div>

<div id="attachment_14902" style="width: 650px" class="wp-caption aligncenter"><a href="https://html5experts.jp/wp-content/uploads/2015/05/06_bbff.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2015/05/06_bbff-640x480.jpg" alt="フロントエンドとバックエンドの変遷" width="640" height="480" class="size-large wp-image-14902" srcset="/wp-content/uploads/2015/05/06_bbff.jpg 640w, /wp-content/uploads/2015/05/06_bbff-300x225.jpg 300w, /wp-content/uploads/2015/05/06_bbff-207x155.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a><p class="wp-caption-text">フロントエンドとバックエンドの変遷</p></div>

<h2>isomorphicに挑戦してきた様々なフレームワーク</h2>

<p>こうした中、少しでも開発から無駄をなくすために、クライアント／サーバ、フロントエンド／バックエンドの間でコードを共有できないかという可能性が探られてきました。</p>

<p>「isomorphic」という単語は、筆者としては最近になって聞くようになったのですが、実は2011年にリリースされた
「<a href="http://flatironjs.org/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Flatiron</a>」というフレームワークが提唱した概念だったそうです。4年近くも前から使われていた用語だったのですね。</p>

<div id="attachment_14903" style="width: 650px" class="wp-caption aligncenter"><a href="https://html5experts.jp/wp-content/uploads/2015/05/07_flatiron.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2015/05/07_flatiron-640x480.jpg" alt="Flatiron" width="640" height="480" class="size-large wp-image-14903" srcset="/wp-content/uploads/2015/05/07_flatiron.jpg 640w, /wp-content/uploads/2015/05/07_flatiron-300x225.jpg 300w, /wp-content/uploads/2015/05/07_flatiron-207x155.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a><p class="wp-caption-text">Flatiron</p></div>

<p>しかし、Flatironはそれほど普及することなく現在に至ります。その後もYahoo!の「<a href="https://github.com/yahoo/mojito" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Mojito</a>」や、一時期大きな話題になった（今でもアクティブに開発されていますが）<a href="https://www.meteor.com/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Meteor</a>など、様々なプロダクトがisomorphicなアプローチにチャレンジしてきました。しかしこれらがあまり大きく普及しなかった要因は、「（プロダクト利用者にとっての）どんな課題を解くのか」が不明瞭だったり、ニッチ過ぎたり、先進的すぎたりしたことにあると指摘。</p>

<div id="attachment_14904" style="width: 650px" class="wp-caption aligncenter"><a href="https://html5experts.jp/wp-content/uploads/2015/05/08_frameworks.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2015/05/08_frameworks-640x480.jpg" alt="どんな課題を解くのかが重要" width="640" height="480" class="size-large wp-image-14904" srcset="/wp-content/uploads/2015/05/08_frameworks.jpg 640w, /wp-content/uploads/2015/05/08_frameworks-300x225.jpg 300w, /wp-content/uploads/2015/05/08_frameworks-207x155.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a><p class="wp-caption-text">どんな課題を解くのかが重要</p></div>

<p>そんな中、<a href="https://www.airbnb.jp/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Airbnb</a>が2013年に公開した「<a href="https://github.com/rendrjs/rendr" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Rendr</a>」
は、SPA (Single Page Application)の「初期表示が遅い」「SEOが弱い」という課題を解決すべく生み出されたもので、
かなり実用的でした。</p>

<div id="attachment_14905" style="width: 650px" class="wp-caption aligncenter"><a href="https://html5experts.jp/wp-content/uploads/2015/05/09_rendr.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2015/05/09_rendr-640x480.jpg" alt="Rendr(Airbnb)" width="640" height="480" class="size-large wp-image-14905" srcset="/wp-content/uploads/2015/05/09_rendr.jpg 640w, /wp-content/uploads/2015/05/09_rendr-300x225.jpg 300w, /wp-content/uploads/2015/05/09_rendr-207x155.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a><p class="wp-caption-text">Rendr(Airbnb)</p></div>

<p>RendrはBackbone.jsを拡張してisomorphicな環境を実現するものでした。Rendrは、以下のように様々な可能性を切り開きました。</p>

<ul>
<li>サーバサイドにおけるフロントエンドレイヤをJavaScriptで提供することで、クライアントとサーバのコード共有を実現しやすい</li>
<li>サーバサイドにおけるフロントエンドレイヤがセッション管理を行うことで、バックエンドのAPIをステートレスに保つことができる</li>
<li>サーバサイドにおけるフロントエンドレイヤがAPIゲートウェイとしてデータ変換を行ったり、様々なバックエンドAPIを組み合わせて
フロントエンドに提供する（オーケストレーション）ことを可能にする</li>
<li>上記のことから、（サーバサイドにおける）フロントエンドとバックエンドの疎結合な関係や、バックエンドの実装をJavaScript
に縛られず自由に開発できるようになり、ステートレスなマイクロサービスが協調して一つのサービスを作り上げるという構成を構築しやすい</li>
</ul>

<div id="attachment_14906" style="width: 650px" class="wp-caption aligncenter"><a href="https://html5experts.jp/wp-content/uploads/2015/05/10_rendr-isomorphic.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2015/05/10_rendr-isomorphic-640x480.jpg" alt="Rendr的なIsomorphicの可能性" width="640" height="480" class="size-large wp-image-14906" srcset="/wp-content/uploads/2015/05/10_rendr-isomorphic.jpg 640w, /wp-content/uploads/2015/05/10_rendr-isomorphic-300x225.jpg 300w, /wp-content/uploads/2015/05/10_rendr-isomorphic-207x155.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a><p class="wp-caption-text">Rendr的なIsomorphicの可能性</p></div>

<h2>Reactの波に乗れ！</h2>

<p>ですが、Rendrがリリースされた時期はAngularJSが人気を獲得した時期と重なっており、残念ながら大きな話題にはなりませんでした…。しかし今、「仮想DOM」というキャッチーなキーワードを引っさげ、<a href="https://facebook.github.io/react/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">React</a>が登場するや、非常な人気を博して今に至ります。</p>

<div id="attachment_14907" style="width: 650px" class="wp-caption aligncenter"><a href="https://html5experts.jp/wp-content/uploads/2015/05/11_react.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2015/05/11_react-640x480.jpg" alt="Reactの仮想DOM" width="640" height="480" class="size-large wp-image-14907" srcset="/wp-content/uploads/2015/05/11_react.jpg 640w, /wp-content/uploads/2015/05/11_react-300x225.jpg 300w, /wp-content/uploads/2015/05/11_react-207x155.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a><p class="wp-caption-text">Reactの仮想DOM</p></div>

<p>しかしReactはあくまでビューだけに特化したライブラリ。アプリケーションアーキテクチャとしては、Facebookが
「<a href="https://github.com/facebook/flux" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Flux</a>」を提唱していますが、公式な実装が提供されたのはFluxの一部分
のみであったため、独自実装が乱立する事態となっています。</p>

<div id="attachment_14908" style="width: 650px" class="wp-caption aligncenter"><a href="https://html5experts.jp/wp-content/uploads/2015/05/12_flux.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2015/05/12_flux-640x480.jpg" alt="Flux" width="640" height="480" class="size-large wp-image-14908" srcset="/wp-content/uploads/2015/05/12_flux.jpg 640w, /wp-content/uploads/2015/05/12_flux-300x225.jpg 300w, /wp-content/uploads/2015/05/12_flux-207x155.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a><p class="wp-caption-text">Flux</p></div>

<p>Fluxを用いたアプリの基本的な構成は以下のようになります。
フロントエンド部分に限ってみると、処理の流れが綺麗に一方向（unidirectional）になっているのがわかります。</p>

<div id="attachment_14909" style="width: 650px" class="wp-caption aligncenter"><a href="https://html5experts.jp/wp-content/uploads/2015/05/13_fluxapp.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2015/05/13_fluxapp-640x480.jpg" alt="Flux的アプリの基本要素" width="640" height="480" class="size-large wp-image-14909" srcset="/wp-content/uploads/2015/05/13_fluxapp.jpg 640w, /wp-content/uploads/2015/05/13_fluxapp-300x225.jpg 300w, /wp-content/uploads/2015/05/13_fluxapp-207x155.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a><p class="wp-caption-text">Flux的アプリの基本要素</p></div>

<p>そして何よりReactが期待されているのは、仮想DOMの仕組みを応用したisomorphicなアーキテクチャ。クライアントでは仮想DOMを実際のDOMツリーに変換しますが、サーバサイドでは仮想DOMからHTML文字列を出力するようにできるので、クライアントとサーバのどちらでも同様のコードが実行できるわけです。</p>

<p>Reactに関係するisomorphicなライブラリには、以下の様なものがあります。</p>

<div id="attachment_14910" style="width: 650px" class="wp-caption aligncenter"><a href="https://html5experts.jp/wp-content/uploads/2015/05/14_react_isomorphic.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2015/05/14_react_isomorphic-640x480.jpg" alt="Reactに関係した、Isomorphicなライブラリ" width="640" height="480" class="size-large wp-image-14910" srcset="/wp-content/uploads/2015/05/14_react_isomorphic.jpg 640w, /wp-content/uploads/2015/05/14_react_isomorphic-300x225.jpg 300w, /wp-content/uploads/2015/05/14_react_isomorphic-207x155.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a><p class="wp-caption-text">Reactに関係した、Isomorphicなライブラリ</p></div>

<p><a href="https://github.com/acdlite/flummox/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Flummox</a>も期待のライブラリ。</p>

<div id="attachment_14911" style="width: 650px" class="wp-caption aligncenter"><a href="https://html5experts.jp/wp-content/uploads/2015/05/15_flummox.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2015/05/15_flummox-640x480.jpg" alt="Flummox" width="640" height="480" class="size-large wp-image-14911" srcset="/wp-content/uploads/2015/05/15_flummox.jpg 640w, /wp-content/uploads/2015/05/15_flummox-300x225.jpg 300w, /wp-content/uploads/2015/05/15_flummox-207x155.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a><p class="wp-caption-text">Flummox</p></div>

<p>Yahoo!が開発中の<a href="https://github.com/yahoo/fluxible" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Fluxible</a>は、比較的重量級なアプローチの、isomorphicなFluxアプリケーションコンテナ。</p>

<div id="attachment_14912" style="width: 650px" class="wp-caption aligncenter"><a href="https://html5experts.jp/wp-content/uploads/2015/05/16_fluxible.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2015/05/16_fluxible-640x480.jpg" alt="Fluxible" width="640" height="480" class="size-large wp-image-14912" srcset="/wp-content/uploads/2015/05/16_fluxible.jpg 640w, /wp-content/uploads/2015/05/16_fluxible-300x225.jpg 300w, /wp-content/uploads/2015/05/16_fluxible-207x155.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a><p class="wp-caption-text">Fluxible</p></div>

<p>Fluxibleが使用する「<a href="https://github.com/yahoo/fetchr" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Fetchr</a>」は、バックエンド（の窓口となるWeb API）へのアクセスを、クライアントサイドとサーバサイドで同様のコードを用いることを実現します。正しくセットアップしていれば、Fluxアプリケーションのisomorphic化を促進できると期待されています。</p>

<div id="attachment_14913" style="width: 650px" class="wp-caption aligncenter"><a href="https://html5experts.jp/wp-content/uploads/2015/05/17_fetchr.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2015/05/17_fetchr-640x480.jpg" alt="Fetchr" width="640" height="480" class="size-large wp-image-14913" srcset="/wp-content/uploads/2015/05/17_fetchr.jpg 640w, /wp-content/uploads/2015/05/17_fetchr-300x225.jpg 300w, /wp-content/uploads/2015/05/17_fetchr-207x155.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a><p class="wp-caption-text">Fetchr</p></div>

<h2>まとめ</h2>

<p>isomorphicなアーキテクチャは長い間模索されていましたが、これまでいまいち波に乗り切れていませんでした。しかし今はReactが非常に人気を博し、isomorphicなアーキテクチャの実現に対して、多くの人々が注力しています。</p>

<p>マイクロサービスとの相性も非常に良いと考えられ、今後大きな潮流になっていくのは間違いないでしょう。</p>

<div id="attachment_14914" style="width: 650px" class="wp-caption aligncenter"><a href="https://html5experts.jp/wp-content/uploads/2015/05/18_matome.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2015/05/18_matome-640x480.jpg" alt="まとめ" width="640" height="480" class="size-large wp-image-14914" srcset="/wp-content/uploads/2015/05/18_matome.jpg 640w, /wp-content/uploads/2015/05/18_matome-300x225.jpg 300w, /wp-content/uploads/2015/05/18_matome-207x155.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a><p class="wp-caption-text">まとめ</p></div>

<p>Reactの波に乗り遅れるな！</p>
]]></content:encoded>
		
		<series:name><![CDATA[アプリケーションアーキテクチャ最前線]]></series:name>
	</item>
	</channel>
</rss>
