<?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/"
	>

<channel>
	<title>HACKist &#187; FirefoxOS</title>
	<atom:link href="https://hackist.jp/?cat=21&#038;feed=rss2" rel="self" type="application/rss+xml" />
	<link>https://hackist.jp</link>
	<description>HACKistは日々、博報堂アイ・スタジオで挑戦している、ちょっと変わった新しい実験をお知らせしていきます。</description>
	<lastBuildDate>Wed, 30 Sep 2020 02:59:58 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.2.4</generator>
	<item>
		<title>【第三極モバイルOS】FirefoxOSデモアプリの作り方</title>
		<link>https://hackist.jp/?p=2100</link>
		<comments>https://hackist.jp/?p=2100#comments</comments>
		<pubDate>Tue, 25 Jun 2013 11:23:55 +0000</pubDate>
		<dc:creator><![CDATA[HACKist]]></dc:creator>
				<category><![CDATA[FirefoxOS]]></category>

		<guid isPermaLink="false">http://hackist.jp/?p=2100</guid>
		<description><![CDATA[こんにちは。川崎です。 &#160; 前回の記事ではFirefoxOSの概要説明を書かせて頂きましたが、やはりどんなものでも新しい物は自分の手で試してみなくては理解するのは難しいですよね。 &#160; と、いう事で今回 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>こんにちは。川崎です。</p>
<p>&nbsp;</p>
<p>前回の記事ではFirefoxOSの概要説明を書かせて頂きましたが、やはりどんなものでも新しい物は自分の手で試してみなくては理解するのは難しいですよね。</p>
<p>&nbsp;</p>
<p>と、いう事で今回は実際のFiurefoxOSアプリをシミュレータで作ってみたいと思います。</p>
<p>用意頂くのはFirefoxのブラウザと、エディタ（普段使っているツールやテキストファイルでOK）になります。</p>
<p>&nbsp;<br />
<span id="more-2100"></span><br />
&nbsp;</p>
<p><strong>手順① </strong><strong>FirefoxOS</strong><strong>シミュレータを起動する</strong><strong> </strong></p>
<p>シミュレータはFirefoxブラウザのアドオンとして配布されていて誰でも簡単に入手出来ます。</p>
<p>通常であればFirefoxブラウザを開き、Firefoxスタートページにある「アドオン」を選択して配布サイトで検索して入手、という手順になるのですが、6/24現在、検索にかからないので下記URLからリンクしてみて下さい。</p>
<p>&nbsp;</p>
<p>■Firefox-os-Simulator</p>
<p><a href="https://addons.mozilla.org/en-US/firefox/addon/firefox-os-simulator/?src=search">https://addons.mozilla.org/en-US/firefox/addon/firefox-os-simulator/?src=search</a></p>
<p>&nbsp;</p>
<p><a href="http://hackist.jp/wp-content/uploads/ff2-1.png"><img class="alignnone size-full wp-image-2101" title="ff2-1" src="http://hackist.jp/wp-content/uploads/ff2-1.png" alt="" width="613" height="317" /></a></p>
<p>&nbsp;</p>
<p>上記画面が出たら「Firefix OS Simulator」のリンクをクリックします。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://hackist.jp/wp-content/uploads/ff2-2.png"><img class="alignnone size-full wp-image-2102" title="ff2-2" src="http://hackist.jp/wp-content/uploads/ff2-2.png" alt="" width="738" height="346" /></a></p>
<p>&nbsp;</p>
<p>次に「Add to Firefox」をクリックします。</p>
<p>&nbsp;</p>
<p>シミュレータは開発者向けに提供されるアドオンなのでダウンロード時にOSの警告画面が出ますが、そのままインストール続行して下さい。</p>
<p>&nbsp;</p>
<p>インストールが完了するとダッシュボードが開きます。</p>
<p>この画面がシミュレータの起動や、アプリのアップロード、インストールを行う場所になります。</p>
<p>&nbsp;</p>
<p><a href="http://hackist.jp/wp-content/uploads/ff2-3.png"><img class="alignnone size-full wp-image-2103" title="ff2-3" src="http://hackist.jp/wp-content/uploads/ff2-3.png" alt="" width="988" height="399" /></a></p>
<p>&nbsp;</p>
<p>ダッシュボードを任意で立ち上げたい場合は下記イメージの通り、ブラウザの「ツール」➡「Web開発」からFirefox OS Simulatorを起動してください。</p>
<p>&nbsp;</p>
<p><a href="http://hackist.jp/wp-content/uploads/ff2-4.png"><img class="alignnone size-full wp-image-2104" title="ff2-4" src="http://hackist.jp/wp-content/uploads/ff2-4.png" alt="" width="988" height="385" /></a></p>
<p>&nbsp;</p>
<p>無事ダッシュボードが開けた所で、まずはシミュレータを起動してみましょう。</p>
<p>起動は非常に簡単です。ダッシュボード左にあるSimlatorボタンを押すだけです。</p>
<p>&nbsp;</p>
<p>ダッシュボード初回起動時はボタンが「Stopped」になっていると思いますので、これをクリックして下さい。</p>
<p>&nbsp;</p>
<p><a href="http://hackist.jp/wp-content/uploads/ff2-5.png"><img class="alignnone size-full wp-image-2105" title="ff2-5" src="http://hackist.jp/wp-content/uploads/ff2-5.png" alt="" width="913" height="442" /></a></p>
<p>&nbsp;</p>
<p>無事起動しました。</p>
<p>&nbsp;</p>
<p>シミュレータはマウスでスマホ操作同様にフリックやタップで操作出来ますのでこの状態でもFIrefoxOSがどんなものなのか体験する事が出来ます。</p>
<p>&nbsp;</p>
<p><strong>手順② アプリケーションファイルを作成する</strong></p>
<p>シミュレータが動いた所でさっそくアプリを作ってみましょう。</p>
<p>今回作るのは文字と画像を表示するだけの簡単なアプリです。</p>
<p>どんな開発環境であっても必ずディレクトリ構成という物が決まっています。今回は最小構成という事で下記のようなフォルダを用意しました。</p>
<p>&nbsp;</p>
<p><a href="http://hackist.jp/wp-content/uploads/ff2-6.png"><img class="alignnone size-full wp-image-2106" title="ff2-6" src="http://hackist.jp/wp-content/uploads/ff2-6.png" alt="" width="473" height="250" /></a></p>
<p>&nbsp;</p>
<p>一番上にルートディレクトリを新規作成して用意します。これは任意の名前で大丈夫ですが、アプリ名にすると分かりやすいです。</p>
<p>ルートの直下には画像を格納する「images」フォルダと、HTML、そしてアプリを制御する為の「manifest.webapp」を用意します。JSやCSSを使う場合にはimagesと同階層にフォルダを切ると分かりやすいと思います。</p>
<p>&nbsp;</p>
<p>では、実際に書くファイルの中身を見ていきましょう。</p>
<p>&nbsp;</p>
<p>■    manifest.webapp</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>{</p>
<p>&#8220;name&#8221;: &#8220;Hackist&#8221;,</p>
<p>&#8220;description&#8221;: &#8220;HackistSample&#8221;,</p>
<p>&#8220;launch_path&#8221;: &#8220;/index.html&#8221;,</p>
<p>&#8220;icons&#8221;: {</p>
<p>&#8220;128&#8221;: &#8220;/images/icon.png&#8221;</p>
<p>},</p>
<p>&#8220;developer&#8221;: {</p>
<p>&#8220;name&#8221;: &#8220;Hackist&#8221;,</p>
<p>&#8220;url&#8221;: &#8220;http://hackist.jp/&#8221;</p>
<p>},</p>
<p>&#8220;default_locale&#8221;: &#8220;ja&#8221;</p>
<p>}</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>&nbsp;</p>
<p>このmanifestファイルはアプリを一意に判定したり、様々な役目があるアプリに必ず必要なものですが、コードはjson形式で書かれています。ファイルの拡張子は.webappです。</p>
<p>今回はサンプルなのでこのファイルは各アプリで作成する「お約束ファイル」程度に作成すると考えてもらえば良いです。</p>
<p>&nbsp;</p>
<p>次はHTMLファイルを見てみましょう。</p>
<p>&nbsp;</p>
<p>■    index.html</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>&lt;!DOCTYPE html&gt;</p>
<p>&lt;meta charset=UTF-8&gt;</p>
<p>&lt;title&gt;sample&lt;/title&gt;</p>
<p>&lt;h1&gt;Hackist FirefoxOS Sample!&lt;/h1&gt;&lt;br&gt;</p>
<p>&lt;img src=&#8221;/images/hack.png&#8221;&gt;&lt;br&gt;</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>&nbsp;</p>
<p>HTMLは非常にシンプルですね。</p>
<p>&nbsp;</p>
<p>テキスト表示だけだと面白くないので今回はHackistロゴをimagesフォルダ配下に格納して呼び出してます。HTMLの記述はWebアプリと一緒なのであまり凝った事をしなければFirefoxOS用に注意しなきゃいけない事もありません。</p>
<p>ではシミュレータで動かしてみましょう。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>手順③アプリのインストール</strong></p>
<p>インストールはダッシュボード画面から簡単に行えます。</p>
<p>ダッシュボードを開いて「Add Directory」ボタンをクリックして下さい。</p>
<p><a href="http://hackist.jp/wp-content/uploads/ff22-7.png"><img class="alignnone size-full wp-image-2107" title="ff22-7" src="http://hackist.jp/wp-content/uploads/ff22-7.png" alt="" width="921" height="210" /></a></p>
<p>&nbsp;</p>
<p>ファイル選択画面にて先ほど作成したディレクトリの「manifest.webapps」を選択して下さい。</p>
<p>&nbsp;</p>
<p>すると自動的にアプリがブラウザにアップされてシミュレータが起動します。</p>
<p>&nbsp;</p>
<p><a href="http://hackist.jp/wp-content/uploads/ff22-9.png"><img class="alignnone size-full wp-image-2109" title="ff22-9" src="http://hackist.jp/wp-content/uploads/ff22-9.png" alt="" width="383" height="619" /></a></p>
<p>&nbsp;</p>
<p>ホーム画面を見ると一緒にimagesに格納したicon.pngもちゃんと適用されてます。</p>
<p>&nbsp;</p>
<p><a href="http://hackist.jp/wp-content/uploads/ff22-8.png"><img class="alignnone size-full wp-image-2108" title="ff22-8" src="http://hackist.jp/wp-content/uploads/ff22-8.png" alt="" width="379" height="622" /></a></p>
<p>&nbsp;</p>
<p>アプリを修正して再度アップし直したい時やは前述のAdd動作を再度行うだけです。</p>
<p>エラーがあるときはちゃんと教えてくれます。</p>
<p>アプリを削除したい時はダッシュボードに「Remove」があるのでそこから簡単に出来ます。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>誰でも出来るFirefoxOSアプリ</strong></p>
<p>このようにFirefoxOSの開発は驚くほど簡単に出来る訳です。</p>
<p>このハードルの低さはiOSやAndroidとは比べ物にならない上に、元々WebでフロントエンドでHTML/CSS/JSを書いている人であればほぼ障害なくFirefoxOS向けのある意味ネイティブアプリ開発する事が出来ます。</p>
<p>（FirefoxOSにはネイティブかWebかという選択肢自体がありません）</p>
<p>&nbsp;</p>
<p>今回は技術的な部分や、FirefoxOSの深い部分には触れていませんし、まだ新技術で今後進化するFirefoxOSですが誰でも簡単にアプリ作成が出来るので是非、試してみて下さい！</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>Webプラットフォームであるということ</strong></p>
<p>「Webベース」といっても今までAndroidやiOSでWebViewで作っていたものや、HTML5ベースのアプリ、と言われている存在とは根本的に違う物になります。</p>
<p>&nbsp;</p>
<p>FirefoxOSはWeb中心となる事を見据えた未来のプラットフォームであり、単純に第３極モバイルOSという事で既存OSのネイティブアプリと並べて比較してしまうのは少し違うのでは無いか個人的には感じています。</p>
<p>&nbsp;</p>
<p>次回からは第三極OSもう一つの注目株である「Tizen（タイゼン）」についても同じように説明＆アプリ作成をして行きたいと思います。</p>
<p>&nbsp;</p>
<p>Tizenが気になる方はもう少々お待ち下さい。</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>https://hackist.jp/?feed=rss2&#038;p=2100</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>【第三極モバイルOS】FirefoxOSのアプリ開発基礎知識</title>
		<link>https://hackist.jp/?p=2070</link>
		<comments>https://hackist.jp/?p=2070#comments</comments>
		<pubDate>Tue, 25 Jun 2013 11:22:52 +0000</pubDate>
		<dc:creator><![CDATA[HACKist]]></dc:creator>
				<category><![CDATA[FirefoxOS]]></category>

		<guid isPermaLink="false">http://hackist.jp/?p=2070</guid>
		<description><![CDATA[こんにちは。６月からHackistに仲間入りした新顔の川崎です。 &#160; 最近、FirefoxOSとかTIZEN(タイゼン)とかいう言葉を良く聞くようになってきましたね。 「これらの単語は一体なんなの？」という方の [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>こんにちは。６月からHackistに仲間入りした新顔の川崎です。</p>
<p>&nbsp;</p>
<p>最近、FirefoxOSとかTIZEN(タイゼン)とかいう言葉を良く聞くようになってきましたね。</p>
<p>「これらの単語は一体なんなの？」という方の為にざっくり説明しますと、これらはAndroidやiPhoneに続く「第三極モバイルOS」とか言われるスマートデバイス向けの新しいOSになります。</p>
<p>&nbsp;</p>
<p>まだキャリアから端末も発売されていないので一般には浸透していない状態ですが特徴としてGoogleやAppleのような所謂、&#8221;提供者&#8221;である巨人の縛りが無い、「オープンな」OSとして業界内で話題になっており、その使われ方も注目を集めています。</p>
<p>&nbsp;</p>
<p>では実際に第三極OSが既存OSと何が違うのか、という事や、アプリの作り方、そしてビジネス面のメリット/デメリット等をこのブログで連載形式でお届けしたいと思います。</p>
<p>第一回となる今回は第三極モバイルOSの筆頭でユニークな仕組みを持ったFirefoxOSについて書いて行きます。</p>
<p>&nbsp;<br />
<span id="more-2070"></span><br />
&nbsp;</p>
<p><strong>FirefoxOS</strong><strong>とは</strong></p>
<p><strong> </strong>ブラウザのFiefoxは既にWebの世界で市民権を得ているので知っている人も多いと思いますが一応説明させて頂くと、Firefoxは「Mozilla」という非営利団体が提供しているオープンソースのWebブラウザになります。</p>
<p>そのブラウザのアーキテクチャを採用して、Webプラットフォームのモバイル向けOSとして作られたのがFirefoxOSになります。</p>
<p>&nbsp;</p>
<p><a href="http://hackist.jp/wp-content/uploads/ff1.png"><img class="alignnone size-medium wp-image-2071" title="ff1" src="http://hackist.jp/wp-content/uploads/ff1-300x200.png" alt="" width="300" height="200" /></a><a href="http://hackist.jp/wp-content/uploads/ff2.png"><img class="alignnone size-medium wp-image-2072" title="ff2" src="http://hackist.jp/wp-content/uploads/ff2-300x194.png" alt="" width="300" height="194" /></a></p>
<p>既に開発者向けには「Peak」と「Keon」という名前で端末が発売されています。</p>
<p>見た目や操作感はAndroidに結構近いです。</p>
<p>&nbsp;</p>
<p>2013年2月に開催されたMobileWorld Congressでは世界中の通信事業者から18社がFirefoxOSを指示すると表明しました。日本ではKDDIが、端末メーカーとしてはLGやHuawei等が名乗りを上げています。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>Web</strong><strong>プラットフォームってどういう事？</strong><strong> </strong></p>
<p>FirefoxOSの特徴として「Webベースである」という事が良く語られます。</p>
<p>その理由は様々な視点から語られますが、ざっくり言うとアプリをHTML5等のWeb技術で動かしており、ウェブブラウザのエンジンを利用してダイレクトにウェブアプリを動かすモバイル端末を動作させる、という所にあります。</p>
<p>ただ、前述した説明だけだと少々抽象的で、FirefoxOSの本質が見えていないので、もう少し掘り下げて見てみましょう。</p>
<p>&nbsp;</p>
<p>端末に搭載されるOSは大きく分けると３つの構成で分けられます。各構成の役割は①画面表示をする部分（UI）、②処理を行う部分（エンジン）、③全体を取りまとめる土台（カーネル）となっています。</p>
<p>FirefoxOSはそれぞれの構成を独自に作成した物を利用しており、上から「Gaia」「Gecko」「Gonk」と名付けています。</p>
<p>&nbsp;</p>
<p><a href="http://hackist.jp/wp-content/uploads/ff3.png"><img class="alignnone size-full wp-image-2073" title="ff3" src="http://hackist.jp/wp-content/uploads/ff3.png" alt="" width="502" height="609" /></a></p>
<p>出典：FirefoxOSアーキテクチャ</p>
<p><a href="https://developer.mozilla.org/ja/docs/Mozilla/Firefox_OS/Platform/Architecture">https://developer.mozilla.org/ja/docs/Mozilla/Firefox_OS/Platform/Architecture</a></p>
<p>&nbsp;</p>
<p><strong>Gaia(</strong><strong>ガイア</strong><strong>)</strong></p>
<p><strong> </strong>上記図の一番上にあるのがGaiaです。Firefoxでは表示を行うViewをHTMLベースで作っています。これがまず１つ、Webベースであると言われる理由になります。</p>
<p>&nbsp;</p>
<p><strong>Gecko</strong><strong>（ゲッコー）</strong></p>
<p><strong> </strong></p>
<p>GeckoはFirefoxが誇るエンジンになります。ブラウザもプログラムの集合体であり、Web上で動作する為の処理を司るのがエンジンになります。ブラウザの世界ではOSS(オープンソースソフトウェア)であるWebkitに始まり、近年も進化続けています。オープンソースであるFirefoxはW3Cで進められているHTML5の標準化を待たずして独自に進化をしているので、最先端のWebエンジンであると言えます。FirefoxOSは処理を解釈するエンジン部分がこのGeckoになるのでWebベースという事です。</p>
<p>&nbsp;</p>
<p><strong>Gonk</strong><strong>（ゴンク）</strong></p>
<p><strong> </strong>上記のGaiaとGeckoは基本的にはWebブラウザのFirefoxと同じアーキテクチャを採用していますが、それだけでは当然端末を動かす事は出来ません。FIrefoxOSでは端末の制御等を行うためにGonkが居ます。</p>
<p>GonkはLinuxを採用しており、その実態はAndroid4.0のカーネルを流用しています。既にOSSとして提供されているAndroidから必要なカーネルだけを持ってくるあたりはとても賢い選択だなと思います。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>結局、Androidと何が違うの？</strong></p>
<p>FirefoxOSはWebアプリケーションを動作させる為に様々な最適化がされています。AndroidやiPhoneは非常に高機能ですが、動作させる為に色々と複雑な仕組みが載って、動作させる為の端末スペックもハイエンドになっています。それに対してFIrefoxOSは無駄な物を削ぎ落としたスマートな作りになっているので、結果として超軽量なプラットフォームになっているのです！</p>
<p>&nbsp;</p>
<p><a href="http://hackist.jp/wp-content/uploads/ff41.png"><img class="alignnone size-full wp-image-2076" title="ff4" src="http://hackist.jp/wp-content/uploads/ff41.png" alt="" width="675" height="396" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>ローエンド（低スペック）端末向けと言われる</strong><strong>FirefoxOS</strong></p>
<p>FirefoxOSはローエンド端末や途上国に向いているという情報をよく見ます。とはいえMozillaさんは非営利団体なので、特に「◯◯に向けた端末」等を指定している訳ではありません。ローエンドと言われている理由は動作する端末スペックによります。</p>
<p>Android4.0は動作させるのには端末のメインメモリ（RAM）が1GBないし２GB必要になります。</p>
<p>前述したように高機能化を進めたが為に出て来たしまった制約です。</p>
<p>&nbsp;</p>
<p>メモリ1GB以上ハイスペック端末は端末価格が高く、国によっては「高過ぎて売れない」というケースが出てきます。それに対してWebベースのFirefoxOSはメモリが256MBでも512MBでも軽快に動作します。その為、端末性能に依存せずにOSを載せる事が出来るので、世界的に注目されているOSになります。</p>
<p>※余談ですが、Androidも5.0で低スペック動作可能になると言われているので、そのあたりの棲み分けについても今後が楽しみです</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>Web</strong><strong>ベースのアプリだけどサクサク動作する理由</strong></p>
<p><strong> </strong></p>
<p>Webベースのアプリだと動作が遅いんじゃないのか？という疑問を持つ方がいるかも知れません。FirefoxOSではasm.jsというJavaScriptを事前に型付き言語に処理する仕組みを採用している為、実行速度がとても速くなっています。</p>
<p>asm.jsはブラウザ版の最新バージョンであるFirefox22でも対応するそうなので、そこで実際に速度を体感してまた別途記事にしたいと思います。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>FirefoxOSのアプリ開発に専用ツールは必要ない！</strong></p>
<p>モバイルのアプリケーション開発では専用のデベロッパーツールであるSDKを利用する場合がほとんどでしたが、FirefoxOSの場合はそんな事はありません。</p>
<p>① エディタ</p>
<p>② Firefoxのブラウザ</p>
<p>③ Firefoxブラウザのアドオン（Simulator）</p>
<p>&nbsp;</p>
<p>この３つだけです。</p>
<p>&nbsp;</p>
<p>エディタはVimでもDreamWeverでもeclipceでも単純テキストに対応しているメモ帳でも大丈夫です。つまり、ブラウザさえあればシミュレータで動かす事が出来ます。</p>
<p>AndroidやiOSは高機能な統合開発環境がSDKとして提供されていますが、高機能が鵜故に習得コストがかかります。</p>
<p>その反面、FirefoxOSの開発環境のハードルの低さはかなり魅力的であると思っています。</p>
<p>&nbsp;</p>
<p>今回はFirefoxOSの概要について書いてきましたが、次回記事では「エミュレータでのアプリ作成方法」を書いて行きたいと思います。</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>https://hackist.jp/?feed=rss2&#038;p=2070</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
