<?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="/tag/組み込みブラウザ/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>テレビも車もゲーム機も！組み込みブラウザ開発ってどんな世界か聞いてみた</title>
		<link>/shumpei-shiraishi/24637/</link>
		<pubDate>Wed, 08 Nov 2017 02:06:37 +0000</pubDate>
		<dc:creator><![CDATA[白石 俊平]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[システム開発]]></category>
		<category><![CDATA[ゲーム]]></category>
		<category><![CDATA[ハイブリッドキャスト]]></category>
		<category><![CDATA[組み込みブラウザ]]></category>
		<category><![CDATA[自動車]]></category>

		<guid isPermaLink="false">/?p=24637</guid>
		<description><![CDATA[連載： HTML5 Conference 2017特集 (2) こんにちは、編集長の白石です。 この記事は、9月24日に開催されたHTML5 Conference 2017に登壇したエキスパートに、お話されたセッションの...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/html5-conf2017/" class="series-457" title="HTML5 Conference 2017特集" data-wpel-link="internal">HTML5 Conference 2017特集</a> (2)</div><p><style>
b.speaker {
  margin-right: 1em;
}
</style>
こんにちは、編集長の白石です。</p>

<p>この記事は、9月24日に開催された<a href="http://events.html5j.org/conference/2017/9/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">HTML5 Conference 2017</a>に登壇したエキスパートに、お話されたセッションのトピックを中心に語っていただこうとういものです。セッションの内容をより深く理解する手助けになるだけでなく、本記事単体でも面白く読んでいただけることを目指しています。</p>

<p>今回お話を伺ったのは、株式会社ACCESSの梅田雅士さんです。</p>

<p><img src="/wp-content/uploads/2017/10/DSC05579.jpg" alt="" width="640" height="427" class="alignnone size-full wp-image-24649" srcset="/wp-content/uploads/2017/10/DSC05579.jpg 640w, /wp-content/uploads/2017/10/DSC05579-300x200.jpg 300w, /wp-content/uploads/2017/10/DSC05579-207x138.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p>梅田さんのセッション「TV・車・ゲームに搭載されているブラウザってどうなってるの？」に関するスライド資料は、こちらで公開されています。</p>

<iframe class="embedly-embed" src="//cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.slideshare.net%2Fslideshow%2Fembed_code%2Fkey%2F94O53WFZyAkiCq&#038;url=https%3A%2F%2Fwww.slideshare.net%2FMasashiUmeda%2Ftv-81364792&#038;image=https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fhtml5conference2017-171030095111-thumbnail-4.jpg%3Fcb%3D1509357173&#038;key=internal&#038;type=text%2Fhtml&#038;schema=slideshare" width="500" height="417" scrolling="no" frameborder="0" allowfullscreen></iframe>

<p><br></p>

<h2>組み込みブラウザって…なに？</h2>

<p><b class="speaker siraisi">白石:</b>では、まずは簡単に自己紹介をお願いできますか？</p>

<p><b class="speaker umeda">梅田:</b>株式会社ACCESS IoT事業本部課長の梅田 雅士です。
もともとはエンジニアでして、ブラウザ開発からWebサービスまで、組み込みからフロントエンドまで開発していました。</p>

<p><b class="speaker siraisi">白石:</b>すごく幅広い経歴をお持ちですね！今回はPCやスマートフォン「以外」の環境におけるブラウザのお話を伺えると聞いています。</p>

<p><b class="speaker umeda">梅田:</b>はい、今やブラウザはテレビにも、自動車にも、ゲームにも搭載されています。それらを総じて「組み込みブラウザ」と呼んでいます。</p>

<p><b class="speaker siraisi">白石:</b>組み込みブラウザと言うのは、PCやスマートフォンのブラウザとどう違うんでしょうか？</p>

<p><b class="speaker umeda">梅田:</b>Webを閲覧できると言うのは、ブラウザの基本的な機能ですので、組み込みブラウザであっても変わりません。違うのはまず動作環境ですね。例えばOSも、LinuxからiTronまで、様々な環境があります。中にはタッチ操作やマウス操作が存在しない環境でも動作することが求められることもあります。</p>

<p><b class="speaker siraisi">白石:</b>ACCESSさんの組み込みブラウザは、今は主にChromiumやWebKitをベースにして開発してらっしゃるんですよね。組み込み向けに機能を追加したり、ということもあるんでしょうか？</p>

<p><b class="speaker umeda">梅田:</b>はい、例えばテレビのリモコンとか、ゲームのコントローラーとかでブラウジングを可能にすると言った機能の追加は一般的にありますね。ブラウザの操作に関しては、「組み込みならでは」という部分は多いです。</p>

<h2>テレビとブラウザ</h2>

<p><b class="speaker siraisi">白石:</b>では、テレビ、クルマ、ゲームに搭載されているブラウザの状況について、詳しく教えてください。</p>

<p><b class="speaker umeda">梅田:</b>ではテレビからいきましょう。実はテレビには昔から身近にありまして、<strong>テレビのdボタンを押して立ち上がる画面は、実はブラウザ</strong>なんです。</p>

<p><b class="speaker siraisi">白石:</b>dボタンはブラウザ起動ボタンでもあったわけですね。</p>

<p><b class="speaker umeda">梅田:</b>はい、それにテレビのメニュー選択を行うアプリもHTMLで書かれていたりしますね。</p>

<p><b class="speaker siraisi">白石:</b> <strong>ハイブリッドキャスト</strong>と言うのは何でしょうか？</p>

<p><b class="speaker umeda">梅田:</b>テレビ向けのブラウザでは、以前はBML (<a href="https://ja.wikipedia.org/wiki/Broadcast_Markup_Language" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Bloadcast Markup Language</a>)という、XHTMLベースの独自言語が利用されていました。ですが現在では、HTML5をベースとしたテレビ用の規格がありまして、それが「ハイブリッドキャスト」です。</p>

<p>ハイブリッドキャストは「放送と通信の連携」を目的として、NHKさんを中心とした標準化が行われています。単にHTML5が使えると言うだけではなく、スマートフォンとの連携（セカンドスクリーン）機能なども備えています。</p>

<p><b class="speaker siraisi">白石:</b>民放局の、ハイブリッドキャストへの対応度合いとかはいかがですか？</p>

<p><b class="speaker umeda">梅田:</b>各社とも、現在対応を拡充している段階ですね。2020年の東京オリンピックで、テレビ放送をより楽しく観せるのが、各社共通の目標になっています。</p>

<p><b class="speaker siraisi">白石:</b>ちなみに昔聞いた話なのですが、<strong>テレビって意外にも低スペック</strong>で、重たいWebページを表示させるのは難しいと聞いたことがあります。その状況は現在では変わりましたか？</p>

<p><b class="speaker umeda">梅田:</b>いえ、あまり変わりないです。テレビの中で一番高価な部品はやはりパネル。その他の部品、例えばCPUなどは、やはり廉価なものが使われることが多いんですね。なのでテレビ向けのWebページは、軽量であることが望まれます。</p>

<p><img src="/wp-content/uploads/2017/10/DSC05566.jpg" alt="" width="640" height="427" class="alignnone size-full wp-image-24650" srcset="/wp-content/uploads/2017/10/DSC05566.jpg 640w, /wp-content/uploads/2017/10/DSC05566-300x200.jpg 300w, /wp-content/uploads/2017/10/DSC05566-207x138.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<h2>車とブラウザ</h2>

<p><b class="speaker siraisi">白石:</b>では次は車とブラウザの関係について教えてください。</p>

<p><b class="speaker umeda">梅田:</b>自動車業界では、カーナビを中心とした、操作可能な中央のスクリーンを「<strong>HMI (Human Machine Interface)</strong>」と呼びます。HMIでブラウザを利用できると、例えば自動車のマニュアルをHTMLで書いたりできます。HTMLは多言語化しやすいのでメリットは大きいですね。</p>

<p>あとは車載システムにアプリを追加することができるものもあります。インターネットと繋がって、例えば天気を表示したり、運転を楽しくするようなアプリがインストールできたりします。車載システムは「情報（インフォメーション）」と「娯楽（エンターテインメント）」を提供するという概念から、「<strong>インフォテインメント</strong>」とか、「<strong>IVI</strong>（In-Vehicle Infotainment：車載インフォテインメント）」と呼ばれたりします。HMIでブラウザが利用できるなら、そうしたアプリもWeb技術で開発できるようになります。</p>

<p><b class="speaker siraisi">白石:</b>車載システムにブラウザを搭載するという動きは、どれくらい進んでいるものなんでしょうか？</p>

<p><b class="speaker umeda">梅田:</b>海外では結構進んでいます。車載システムのOSは共通化が進みつつあって、主要なものとしては<a href="https://www.automotivelinux.org/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">AGL (Automotive Grade Linux)</a>や<a href="https://www.genivi.org/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">GENIVI</a>がありますが、これらには今後ブラウザが搭載される予定があります。</p>

<p>ちなみに<strong>AGLって、Tizen IVIが元になっている</strong>んですよ。Tizenは一時期HTML5にも注力していましたので、白石さんはご存知じゃないかと思いますが。</p>

<p><b class="speaker siraisi">白石:</b>ええっ！Tizenって久しぶりに聞いた名前です。そうだったのか…そういう風に受け継がれていたんですね。IT業界って、思わぬところが繋がってたりするので面白い(笑)</p>

<p>ところでそういう車載システムとかだと、テスラの車とかは進んでるイメージありますけど、実際のところどうなんでしょう？</p>

<p><b class="speaker umeda">梅田:</b>確かにテスラは進んでいて、WebKitを搭載した車載システムを既に積んでいますね。ただ、古いバージョンのWebKitを搭載していたため、そのセキュリティホールを突かれてハッキングが可能な状態になっていたことがあったりします。車載システムの高度化に伴って、セキュリティリスクも高まりつつあるというのが実情です。</p>

<h2>ゲームとブラウザ</h2>

<p><b class="speaker siraisi">白石:</b>ゲーム機にブラウザが搭載されているという点についてはいかがでしょう？</p>

<p><b class="speaker umeda">梅田:</b>実は、<strong>ゲーム機にブラウザが搭載されているのは結構昔から</strong>なんです。2003年に発売されたPlayStation 2や、2004年に発売されたPlayStation Portableには、もう入っていましたからね。</p>

<p><b class="speaker siraisi">白石:</b>そんなに昔から入っていたんですね。そう言えば、ガラケーとかにもブラウザ積まれてたし、そう言えば組み込みブラウザって結構昔からあったんですよね。</p>

<p><b class="speaker umeda">梅田:</b>そうですね。それに、<strong>ゲームソフト自体にブラウザが積まれていたこともありました</strong>よ。</p>

<p><b class="speaker siraisi">白石:</b>ええっ！ゲームソフトがブラウザを内蔵していたんですか？</p>

<p><b class="speaker umeda">梅田:</b>そうです。例えばモンスターハンター3には、弊社のNetFrontというブラウザが内蔵されていました。</p>

<p><b class="speaker siraisi">白石:</b>ゲームソフトにブラウザが入ってるなんて、考えたこともありませんでした。すごい世界だ。</p>

<h2>ブラウザ開発ってどんな仕事？</h2>

<p><b class="speaker siraisi">白石:</b>そもそもブラウザ作ってる会社ってあまりないですよね。そこら辺の実際をお聞きしてみたいです。ブラウザ開発って、どのように進めるものなんですか？</p>

<p><b class="speaker umeda">梅田:</b>基本的には、W3Cの仕様を満たすように実装するというのがブラウザ開発の中心になります。ただ、今はオープンソースのブラウザをベースに開発していますので、少し仕事の範囲が変わりましたね。W3Cの仕様を満たすために開発するのは、主にChromiumやWebKitのコアチームに任せて、私たちはその移植が中心になりました。</p>

<p><b class="speaker siraisi">白石:</b>なるほど、今はブラウザエンジンそのものの開発に深く食い込んでいるわけではないと。</p>

<p><b class="speaker umeda">梅田:</b>ただ、弊社ではEPUBのエンジンも作っていまして、そのために独自開発した部分とかは結構ありますね。例えば縦書きレイアウトとかは、W3Cに提案されている仕様を元に弊社で開発したコードを、ブラウザエンジン側にコントリビュートしたりもしています。</p>

<p><b class="speaker siraisi">白石:</b>ちなみにブラウザ開発って、どんな言語を使って行うんですか？</p>

<p><b class="speaker umeda">梅田:</b>WebKitやChromiumはC++で書かれているので、C++ですね。C++ってメモリマネジメントが重要な言語ですが、WebKitとかってそこら辺が少しいいかげんだったりするんです(笑)。</p>

<p><b class="speaker siraisi">白石:</b>え、そうなんですか？メモリリークしたり、とかですか？</p>

<p><b class="speaker umeda">梅田:</b>さすがに派手なメモリリークとかはめったにありませんが、メモリ確保に失敗した時の処理が甘かったり、とかですね。で、車載システムとかで利用する場合って、「動かない」って状況になるのはすごくまずいわけです。運転中は安全がなにより最優先ですから。そういう穴を潰して本家にコントリビュートする…というのもたまにありますね。</p>

<p><img src="/wp-content/uploads/2017/10/DSC05567.jpg" alt="" width="640" height="427" class="alignnone size-full wp-image-24651" srcset="/wp-content/uploads/2017/10/DSC05567.jpg 640w, /wp-content/uploads/2017/10/DSC05567-300x200.jpg 300w, /wp-content/uploads/2017/10/DSC05567-207x138.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<h2>組み込みブラウザベンダーはつらいよ</h2>

<p><b class="speaker siraisi">白石:</b>ACCESSさんはブラウザと言っても、更に「組み込みブラウザ」を作っているという数少ない存在。そういう、数少ない組み込みブラウザベンダーならではの苦労などをお聞きしたいです。</p>

<p><b class="speaker umeda">梅田:</b>そうですね、まず先ほども申し上げたように、現在はChromiumやWebKitをベースに開発しています。以前は独自のブラウザエンジンでしたが、数年前にWebKitに切り替えたんです。ただ、WebKitはそもそも組み込み用途が主ではありませんでしたから、当初はハードのスペック的な制約との折り合いを付けるのが大変でしたね。（Webページが）メモリに乗り切らないので、数キロバイト単位に分割してメモリに載せるようにしたり…</p>

<p><b class="speaker siraisi">白石:</b>うわー、それは大変そう…。</p>

<p><b class="speaker umeda">梅田:</b>最近はハードのスペックが向上したので、そういう苦労をすることも少なくはなってきましたけどね。あとは、レンダリングのパフォーマンスを改善するのも大変ですね。車載システムだと、最低でも60fpsは要求されるので、動画のデコードをハードウェアに行わせるようにするとか、CanvasをGPUレンダリングするとか。スクロールが滑らかになるようチューニングするのも大変でした。</p>

<p><b class="speaker siraisi">白石:</b>WebKitとChromiumは使い分けてるんですか？</p>

<p><b class="speaker umeda">梅田:</b>お客様からのご要望や、用途に応じて使い分けています。WebKitはリリースサイクルがだいたい年一回で安定していますが、Chromiumのリリースサイクルはもっと速くて、コードもどんどん変化していきます。どちらがいいということでもなくて、それぞれにメリットがありますね。</p>

<p><b class="speaker siraisi">白石:</b>大変興味深いお話です。組み込む製品ごとに異なる苦労とかはあったりするんですか？</p>

<p><b class="speaker umeda">梅田:</b> <strong>車の場合とかは、製品の開発サイクルが長い</strong>のが特徴です。一つの車を作るのに5年とかかかったりすることもあるので、何回もつなぎ込みが発生するわけです。</p>

<p><b class="speaker siraisi">白石:</b>5年！Webの世界で5年と言ったら、状況はかなり変わってしまいますよね。</p>

<p><b class="speaker umeda">梅田:</b>そうですね。ベースになっているブラウザもどんどん進化していくので、つなぎ込みを行うたびに、できるだけ最新に近づけていくようにするんです。その際に、ブラウザエンジンが持つAPIが変わってしまうことも珍しくありません。そういう事態に対応しやすいように、APIを抽象化したレイヤーを持っていたりします。</p>

<p><b class="speaker siraisi">白石:</b>いやー、ぼくみたいなフロントエンドエンジニアが全然体験したことのない苦労だ(笑)</p>

<p><b class="speaker umeda">梅田:</b>他には、ブラウザの機能を拡張しなくてはならないこともよくあります。組み込みの場合って、HTML5が元々持っている機能だけじゃ足りないことが多いんですよ。</p>

<p>ゲームの場合は、ゲーム機というハードに閉じているからか、独自に拡張することが多いのが特徴です。</p>

<p>車載の場合は、<a href="https://www.w3.org/TR/vehicle-information-api/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Vehicle API</a>っていうAPIがW3Cで標準化されていますので、その実装を行うのも仕事の一つです。このAPIを使うと、例えばキーロックの情報を取れたりと、車載システムならではの機能を利用することができます。</p>

<p><img src="/wp-content/uploads/2017/10/DSC05564.jpg" alt="" width="640" height="427" class="alignnone size-full wp-image-24653" srcset="/wp-content/uploads/2017/10/DSC05564.jpg 640w, /wp-content/uploads/2017/10/DSC05564-300x200.jpg 300w, /wp-content/uploads/2017/10/DSC05564-207x138.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<h2>PCやスマホ「じゃない」Webアプリ開発とは</h2>

<p><b class="speaker siraisi">白石:</b>では最後に、PCやスマホじゃない世界でのWebアプリ開発について、どのようなものかお聞かせください。</p>

<p><b class="speaker umeda">梅田:</b>基本的には、それほど変わるところはありません。組み込みブラウザと言っても結局WebKitやChromiumをベースとしていますし、HTML5以降はブラウザ間の互換性も高くなっていますし。</p>

<p>ただ、市場によって制約はありますね。例えば車載システムで動作する場合は、運転手の気を逸らさないようUIガイドラインがあったりします。</p>

<p>一方で、市場ごとに特有の拡張機能を使うことも求められます。</p>

<p><b class="speaker siraisi">白石:</b>先ほどおっしゃっていた、車載システム上で使えるVehicle APIなどですね。</p>

<p><b class="speaker umeda">梅田:</b>そうです。そして、そうした標準化されたAPIと言うのは、組み込みの世界で特に重要なんです。</p>

<p>基本的にオープンなPC/スマホに比べて、組み込みは市場に特化しがちな世界でもあります。クローズドな世界で、クローズドな技術を使っているのでは、スキル的にもビジネス的にも拡がりにくい。</p>

<p>オープンで標準化されたAPIを使うことで、そうした事態を避けることができる。Web技術者も、活躍できる場がどんどん広がっていきます。</p>

<p><b class="speaker siraisi">白石:</b>なるほど。ちなみに、車載の世界とかでは、App Storeのようなアプリプラットフォームが出てくる可能性はあるのでしょうか？そして、Webで作ったアプリであればそれらのプラットフォームにどこでもデプロイできるというような可能性はありますか？</p>

<p><b class="speaker umeda">梅田:</b>はい、そういう可能性はもちろんあります。アプリプラットフォームみたいな構想は各社持っていて、今後登場してくるのは間違いありません。
その時に、Web技術を使ってアプリを開発できる可能性も、それが複数のプラットフォームで展開できる可能性も、大いにあると思います。</p>

<p>そうした世界を見据えて、総務省さんと一緒に「<a href="https://rp.kddi-research.jp/hackathon" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Webとクルマのハッカソン</a>」というイベントをここ数年開催しています。10月下旬から申し込み開始ですので、興味のある方にはどんどん参加してほしいですね。</p>

<p><b class="speaker siraisi">白石:</b>あ、そのイベント去年ぼくが審査員やったやつだ(笑)。去年もすごく盛り上がりましたよね。本日は組み込みブラウザ開発の話、そしてPC/スマホ以外のWeb開発の話など、普段あまり聞けないお話をお聞かせいただき、ありがとうございました！</p>

<p><img src="/wp-content/uploads/2017/10/DSC05548.jpg" alt="" width="640" height="416" class="alignnone size-full wp-image-24652" srcset="/wp-content/uploads/2017/10/DSC05548.jpg 640w, /wp-content/uploads/2017/10/DSC05548-300x195.jpg 300w, /wp-content/uploads/2017/10/DSC05548-207x135.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>
]]></content:encoded>
		
		<series:name><![CDATA[HTML5 Conference 2017特集]]></series:name>
	</item>
	</channel>
</rss>
