イベント登録数2,895

第35回 HTML5とか勉強会 - Web+OS最前線!

スマホ開発者が知るべきTizenやFirefox OSの特徴~第35回 HTML5とか勉強会 - Web+OS最前線!レポート
吉村哲樹 2013/2/7  2013年1月21日、「html5j.org」主催の勉強会「第35回 HTML5とか勉強会 - Web+OS最前線!」が開催された。この勉強会は、HTML5およびその周辺の次世代Web技術について、毎回その分野の専門家を招いて定期的に開かれているもの。35回目となる今回は、「Web+OS最前線!」と題したテーマで開催された。  単なるWeb標準の枠を超えた、「アプリケーションの共通プラットフォーム」としてHTML5が大きな期待を集めている今日、OSの世界でもWeb技術のレイヤを取り込む動きが加速している。  特に、スマートフォンやタブレット端末、IVI(車載情報端末)などに使われる組み込みOSでは、そうした動きが顕著だ。その中でも今回の勉強会では、スマートデバイスおよびIVI用のOSとして注目を集める「Tizen」と、米モジラ・ファウンデーションが開発を進める話題のモバイルOS「Firefox OS」について、それぞれの専門家によるレクチャーが行われた。 HTML5に対応したLinuxベースのモバイルOS「Tizen」 バイドゥ 今村博宣氏  冒頭、バイドゥの今村博宣氏が登壇し、「Tizenの概要」と題したプレゼンテーションを行った。今村氏は「Tizen Japanコンソーシアム」の中心人物として、また国内きってのTizenエキスパートの1人として知られる人物だ。そんな同氏によれば、日本ではTizenはかなり誤解されて受け止められている面があるという。  「Tizenについて誤解を招くような報道が多く、それに基づいて書かれたブログでも間違った情報が発信されていることが多い。そこでこの場をお借りして、あらためてTizenの本来の姿を紹介したい」(今村氏)  まず第1の誤解として、同氏はTizenの出自について指摘する。Tizenはしばしば、LinuxベースのモバイルOS「MeeGo」「LiMo」が、HTML5をキーワードに統合されたものだと説明される。しかし実際には、MeeGoの流れを汲んでいるのはIVI向けのOSである「TizenIVI」であり、もう1つのTizenの体系であるモバイル端末用OSの「TizenMobile」の方は、MeeGoやLimoとの直接的なつながりはない。こちらの方は、サムスン社が開発した「Sumsun Linux Platform」(SLP)の流れを汲んでいるのだ。 Tizenの家系図(今村氏の講演資料より)  従って、ひとくくりにTizenといっても、TizenIVIとTizenMobileはまったく体系が異なる別のOSであることを理解しておかないと、情報を見誤る可能性があるという。実際のところ、TizenIVIの最新バージョンが1.0なのに対してTizenMobileは2.0αと、両者はそれぞれまったく別々のロードマップに沿って開発が進められている。  ちなみにTizenは、もともとはLinux Foundationのプロジェクトの1つであり、「Tizen Association」という組織が仕様の策定を進め、さまざまなキャリアやデバイスメーカーがこれに参画している。TizenMobileは、そのもともとの出自からサムスンが主導していると誤解されている面もあるが、実際には英ボーダフォンやNTTドコモ、NECなどさまざまなキャリアやメーカーがコミットしている。 TizenMobileを推進している主な企業(今村氏の講演資料より)  一方のTizenIVIを推進するグループにも、インテルやトヨタ、日産、富士通といった多くのメーカーが参画している。 TizenIVIを推進している主な企業(今村氏の講演資料より)  Tizenの仕様全体は、HTML5の標準仕様をすべて含んだうえで、さらにHTMLにはない拡張仕様として「Tizen Device API」と呼ばれるAPIを備えている。またSDKも用意されているが、現時点における最新バージョンでは、拡張仕様がまだサポートされていないため、基本的にはWeb APIを使ったアプリケーション開発のみが可能だという。 TizenWeb APIの概要(今村氏の講演資料より)  ただしTizenは本来、Webアプリケーションのみならず、ネイティブアプリケーションも開発可能で、これは、Firefox OSをはじめとした、ほかのWeb志向OSと大きく異なる点だという。  最後に今村氏は「私見だが」と断ったうえで、Tizenの今後について次のように述べた。  「正直、日本ではTizen端末はあまり普及しないのではと見ている。ただし海外では日本より動きが活発なので、海外向けのモバイルアプリのプラットフォームとしては大いに可能性を秘めている。一方、IVIのプラットフォームとしては、日本でもトヨタをはじめとしていくつか動きが出てきているので、今後普及する可能性があるだろう」(今村氏) SDKを使ったTizenの開発環境とは ターボシステムズ 高橋成人氏  続いて、ターボシステムズの高橋成人氏によるプレゼンテーション「Tizen APIの概要」が行われた。  Tizenは、Web APIを使ったWebアプリケーション「Tizen Web App」、拡張APIを使ったネイティブアプリケーション「Tizen Native App」、そしてこの両方を交えた「Tizen Hybrid App」の3つのタイプのアプリケーション開発が可能になっている。開発言語としては、Tizen Native AppがHTML5+JavaScript+CSS3、Tizen Native APPはC/C++を利用する。ただし現時点では、Tizen Native APPの仕様に関する情報がまだ極めて乏しいという。  「Tizen Native APPに関する公式なドキュメントはまだ存在せず、ようやく概要がブログで公開され始めたばかり。また正式に配布されているSDKでも、現時点ではTizen Web Appしかサポートされていない。従って、今回はWebアプリケーションに絞って、その開発環境の概要を紹介してみたい」(高橋氏)  まずTizenの開発環境としては、TizenMobile 2.0αに対応した「Tizen SDK」がTizenプロジェクトから提供されている。このSDKは、Eclipse 3.xにTizen SDK用の拡張モジュールを追加したもので、Windows 7版およびUbuntu版が提供されている。 Tizen SDKの使用例(高橋氏の講演資料より)  HTML5のコーディング環境や、Webアプリケーションのパッケージ単位である「wgtパッケージ」のビルドおよびデバイスへの転送、さらにはデバッグ機能も備えている。  またSDKには、Tizenのデバイスとプラットフォームのエミュレーション機能を提供する「Tizen Device Emulator」と、Google Chrome上で動作するシミュレータ「Tizen Web Simulator」が付属している。 Tizen Web Simulatorの使用例(高橋氏の講演資料より)  APIとしては、前述した「Tizen Device API」「W3C API」(Web API)に加えて、jQuery MobileをベースとしたUIフレームワーク「Tizen Web UI Framework」と、Webブラウザ上で3Dグラフィックスを表示させるための標準仕様である「WebGL」がサポートされている。 Tizen Web UI Frameworkの概要(高橋氏の講演資料より)  これらを使って記述したHTML5やJavaScriptのコード、CSS、さらにはアプリケーションのコンフィグ情報を記述したXMLファイルをZIPで1つのファイルにまとめ、拡張子を「.wgt」とすることで、Tizen Web Appのパッケージが完成する。  最後に高橋氏は、AndroidやiOS、Firefox OS、UbuntuといったほかのモバイルOSとTizenMobileのスペックを比較した一覧表を示し、TizenがほかのOSに比べ開発者に幅広い選択肢を提供している点を強調した。 さまざまなスマホOSの比較表(高橋氏の講演資料より)  「ネイティブアプリケーションとWebアプリケーションの双方に対応し、かつ開発ツールまで提供されているのは、現時点ではTizenだけ。日本語版はまだリリースされていないが、これもいずれ対応されるはずだ」(高橋氏) Web標準に特化したプラットフォーム「Firefox OS」 モジラ・ジャパン 浅井智也氏  次に、モジラ・ジャパンの浅井智也氏が登壇し、今モバイル開発者の間で注目を集めているFirefox OSを紹介した。同氏は冒頭、モジラがOSの開発に乗り出した理由について説明した。  「そもそもHTML5は、Webを共通プラットフォームにすることで、アプリケーションがあらゆるデバイス上で動作することを目指している。しかしわれわれから見ると、モバイルの世界ではベンダの独自プラットフォームによる囲い込みが進んでいるようにも見える。これは、HTML5が志向するWebの未来とは逆行する動きではないか」(浅井氏) 独自プラットフォームによる囲い込みの図(浅井氏の講演資料より)  こうした傾向に「待った」を掛け、Web標準によるアプリケーションの開発や展開を広く可能にすることを目指したのがFirefox OSなのだという。その背景としては、HTML5やその周辺のWeb標準技術が成熟してきたことにより、これまでOSのネイティブAPIを使わなければ実現できなかったことが、Web標準のAPIでも可能になってきたことがある。  ただし従来のOSは、カーネルの上にAPIやJava VMが載り、UIが載り、さらにその上にブラウザが……といったように、Webアプリケーションを動かすために多くのレイヤを介さなければいけなかった。つまり、オーバーヘッドが大きかったのだ。 既存プラットフォームとFirefox OSのアーキテクチャの違い(浅井氏の講演資料より)  しかしFirefox OSはWebアプリケーションの動作のために最適化されており、カーネルの上にGeckoエンジンが載るだけのシンプルなアーキテクチャを採用している。Java VMやWebブラウザといった中間レイヤがなく、アプリケーションは最小のオーバーヘッドでWeb APIを呼び出して動作するため、極めて高速にWebアプリケーションが動くという。浅井氏によれば、「数値計算ベンチマークなどでは、ネイティブアプリケーションにも匹敵する処理速度を達成している」という。  またFirefox OSは、現時点ではモバイル版が先行しているが、デスクトップ版も現在開発が進んでいる。将来的には、モバイル端末上でもデスクトップPC上でも同じWebアプリケーションが等しく動作する世界を目指しており、Mozillaが現在開発を進めているアプリマーケットプレイス「Firefox Marketplace」でも、あらゆるOSやデバイスを横断してアプリケーションの登録・入手が可能な、完全にオープンな環境を目指している。  なおFirefox Marketplaceは、現在テスター向けに限定公開されている段階だ。  ちなみに、Firefox OS上のアプリケーション開発について心掛けておくべきことは、「Webアプリケーションであること。これだけ!」と浅井氏は言う。つまり、Web開発に対応しているツールやSDKであれば、どんなものでも使えるということだ。これに加えて、モジラからはシミュレータツール「Firefox OS Simulator」や、Firefox OSの標準UI部品のライブラリ「GAIA Building Block」などが提供されている。 GAIA Building Blockの「Firefox OS Design Stencil」(浅井氏の講演資料より)  「今回は紹介できる範囲が限られてしまったが、さらにFirefox OSについて知りたい方は、ぜひFirefox OSのGoogle Groupにアクセスして参加してみてほしい」(浅井氏) 参考資料  本勉強会で使われた講演資料や講演動画は、「第35回 HTML5とか勉強会 - Web+OS最前線! | イベントカレンダー+ログ」から一覧できるので、参照してほしい。 「イベントカレンダー+ログ」レポート投稿募集中! このレポート記事が掲載されている本サービス「イベントカレンダー+ログ」では、イベント登録者がレポートを投稿したり、資料を一覧できるまとめページを作成できます。新着レポートは一覧に表示され、こちらのRSSにも配信されるので、ぜひご活用ください。