57
できる!スマホアプリ Webからはじまるアプリ開発 株式会社 グローバルサイバーグループ 藪下 正美

できる!スマホアプリ:Webからはじまるアプリ

Embed Size (px)

Citation preview

Page 1: できる!スマホアプリ:Webからはじまるアプリ

できる!スマホアプリ Webからはじまるアプリ開発

株式会社

グローバルサイバーグループ

藪下 正美

Page 2: できる!スマホアプリ:Webからはじまるアプリ

はじめに

Page 3: できる!スマホアプリ:Webからはじまるアプリ

自己紹介

• 藪下 正美

• FxOSコードリーディングの発起人

– コミュニティサイト • http://reading.fxos.org/

– Facebookグループ •

https://www.facebook.com/groups/fxos.code.reading/

– Githubグループ • https://github.com/FxOS-Code-Reading-Group

Page 4: できる!スマホアプリ:Webからはじまるアプリ

会社紹介

• 株式会社グローバルサイバーグループ

– 基本的に組み込み系の会社

– 携帯電話の案件がメイン

– Firefox OSは次世代モバイルプラットフォームとして期待

• カーネルからアプリまでどこのレイヤでもやりますよ!

Page 5: できる!スマホアプリ:Webからはじまるアプリ

アジェンダ

• まずは簡単にhello, world!

• 開発ツールの使い方

• APIを使ってみる

• マーケットの話

• アプリ開発に関するドキュメント

Page 6: できる!スマホアプリ:Webからはじまるアプリ

今日のサンプル置き場

• 今日使うサンプルは以下のURLにあります

– https://github.com/aoitan/FxDevCon2014Kyoto

– 短縮URLはこちら

• http://goo.gl/TUZnhQ

Page 7: できる!スマホアプリ:Webからはじまるアプリ

ダウンロード方法 (githubにアクセス)

• 1.https://github.com/aoitan/FxDevCon2014Kyoto にアクセス

Page 8: できる!スマホアプリ:Webからはじまるアプリ

ダウンロード方法 (zipをダウンロード)

• 1. Download ZIPボタンをクリック

Page 9: できる!スマホアプリ:Webからはじまるアプリ

ダウンロード方法 (ダウンロードの確認)

• 1. ダウンロードの確認画面で「ファイルを保存する」にチェックを入れてOK – 敢えてFirefoxのスクショしか貼らないけど大丈夫だよね!

Page 10: できる!スマホアプリ:Webからはじまるアプリ

シミュレータの準備

• 今日のサンプルはシミュレータで動かしてみます

• シミュレータを準備していきましょう

Page 11: できる!スマホアプリ:Webからはじまるアプリ

アプリマネージャの起動

• ツール → Web開発 → アプリマネージャ

• とたどってアプリマネージャを開きます

Page 12: できる!スマホアプリ:Webからはじまるアプリ

シミュレータのインストール1

• 1. シミュレータをインストールボタンを押す

Page 13: できる!スマホアプリ:Webからはじまるアプリ

シミュレータのインストール2

• 1. アプリマネージャの解説ページでInstall Simulatorボタンを押す

Page 14: できる!スマホアプリ:Webからはじまるアプリ

シミュレータのインストール3

• 1. AppManager add-onページでInstall Firefox OS v1.3 Simulator(stable)ボタンを押す

• 2. Install ADB Helperボタンも押す

Page 15: できる!スマホアプリ:Webからはじまるアプリ

シミュレータの起動1

• 1. シミュレータを起動ボタンを押す

Page 16: できる!スマホアプリ:Webからはじまるアプリ

シミュレータの起動2

• 1. Firefox OS v1.3ボタンを押す

Page 17: できる!スマホアプリ:Webからはじまるアプリ

まずは簡単にhello, world!

• まずはおなじみhello, world!しますね – サンプルは hello フォルダです

– https://github.com/aoitan/FxDevCon2014Kyoto/tree/master/hello

• hello, world!では大きく次のみっつのことをします – HTML(とかCSSとかJavaScript)を準備

– マニフェストを準備

– シミュレータでみてみる

Page 18: できる!スマホアプリ:Webからはじまるアプリ

HTML(とかCSSとかJavaScript)を準備

• まずはふつうにHTMLとCSSとJavaScriptを用意します。

• 今回は

– index.html

– hello.css

– hello.js

• という名前で用意しました。

Page 19: できる!スマホアプリ:Webからはじまるアプリ

HTMLを準備

• hello, world!だけ表示するHTMLです。

• CSSとかJavaScriptから操作しやすいようにidとclassを設定してます。

• ボタンをクリックすると後で出てくるスクリプトが実行されます。

Page 20: できる!スマホアプリ:Webからはじまるアプリ

HTMLを準備

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>hello, world!</title> <script src="hello.js"></script> <link rel="stylesheet" type="text/css" href="hello.css"> </head> <body> <div class="hello" id="hello"> hello, world! </div> <div class="buttons"> <input type="button" value="run script" onclick="helloJS();"> </div> </body> </html>

Page 21: できる!スマホアプリ:Webからはじまるアプリ

CSSを準備

• 今回は文字列の色を指定しています。

.hello { color: black; }

Page 22: できる!スマホアプリ:Webからはじまるアプリ

JavaScriptを準備

• 今回は文字列を変えるスクリプトです。

function helloJS() { var hello = document.getElementsByClassName('hello'); hello[0].innerHTML = 'hello, JavaScript!'; }

Page 23: できる!スマホアプリ:Webからはじまるアプリ

ブラウザで見る

• hello, world!してますね!

• ボタンを押すとhello, JavaScript!してくれます!

Page 24: できる!スマホアプリ:Webからはじまるアプリ

アプリにしよう

• 次はこの単なるHTMLをアプリにします。

• アプリにするためにはマニフェストを用意します。

Page 25: できる!スマホアプリ:Webからはじまるアプリ

manifest.webappを用意

• マニフェストはFirefox OSアプリの情報を書いたファイルです。

• 今回は簡単にアプリの名前と概要、アプリ起動時に実行するHTMLファイル、アイコン、開発者情報、デフォルトの言語を書いています。

• これでhello, world!もFirefox OSアプリです!

Page 26: できる!スマホアプリ:Webからはじまるアプリ

manifest.webappを用意

{ "name": "Hello App", "description": "Firefox Developers Conference 2014 in Kyoto Sample App", "launch_path": "/index.html", "icons": { "128": "/img/icon-128.png" }, "developer": { "name": "YABUSHITA Masami", "url": "http://www.gcg.bz/labo_blog/?author=2" }, "default_locale": "en" }

Page 27: できる!スマホアプリ:Webからはじまるアプリ

シミュレータで見てみる

• 今用意したHTMLをシミュレータで見てみましょう。

• まずはシミュレータにアプリをインストールします。

Page 28: できる!スマホアプリ:Webからはじまるアプリ

アプリマネージャに アプリを登録する1

• 1. パッケージアプリを追加の+ボタンを押す

Page 29: できる!スマホアプリ:Webからはじまるアプリ

アプリマネージャに アプリを登録する2

• 1. 登録したいアプリのマニフェストが置いてあるフォルダを開く

• 2. フォルダーの選択ボタンを押す

Page 30: できる!スマホアプリ:Webからはじまるアプリ

アプリマネージャに アプリを登録する3

• 1. アプリマネージャにアプリが出て来たらアプリマネージャへの登録完了です!

Page 31: できる!スマホアプリ:Webからはじまるアプリ

シミュレータにアプリを インストールする

• 1. シミュレータを起動する

• 2. 更新ボタンを押す

Page 32: できる!スマホアプリ:Webからはじまるアプリ

シミュレータにアプリを インストールした

• 1. シミュレータ上にアイコンが出てきたら成功です!

Page 33: できる!スマホアプリ:Webからはじまるアプリ

開発ツールの使い方

• hello, world!を開発ツールでいろいろいじっていきます。

• 特によく使うコンソールとインスペクタ、デバッガを中心に話します。

• 見た目に楽しいスタイルエディタとちょっとした手直しをするのにちょくちょく使うスクラッチパッドもさらりと話します。

• 他にもありますが今回は話しません。

Page 34: できる!スマホアプリ:Webからはじまるアプリ

コンソール

• コンソールには二つの側面があります。

• 一つはログビューワとしての側面です。 – JavaScriptでconsoleのメソッドを呼んだとき

出力される先がコンソールになります。 • 困った時には変数の値を表示したりそこを通っている

か確認したりでconsole.log()はとてもよく使うのでよく見ることになります。

• もう一つはコマンドラインとしての側面です。 – ちょっとしたJavaScriptを実行したらどうなる

のか見てみたいときコンソールにJavaScriptを書いてみることができます。

Page 35: できる!スマホアプリ:Webからはじまるアプリ

インスペクタ

• HTMLから表示上の範囲を調べることができます。

• 逆に画面からHTMLの要素の位置を調べることもできます。

• まだ製品版には入っていませんが将来的にはマージンやパディングも図示してくれるようになりますよ! – 試してみたい方はAurora版というのを探し

てきてインストールしてみてくださいね。

Page 36: できる!スマホアプリ:Webからはじまるアプリ

デバッガ

• JavaScriptの実行を止めてその時の変数の状態などを見ることができます。

– 変数の値を変えることもできるのでこっちの場合はどうなるのかなとかも試せます。

Page 37: できる!スマホアプリ:Webからはじまるアプリ

デモ

• 実際やってみましょう。

Page 38: できる!スマホアプリ:Webからはじまるアプリ

スタイルエディタ

• スタイルを書き換えることができます。

• リアルタイムに反映されるので見た目に楽しいですよ!

Page 39: できる!スマホアプリ:Webからはじまるアプリ

スクラッチパッド

• スクラッチパッドはコンソールよりもうちょっとちゃんとJavaScriptを書きたいときに使います。

• 保存できたり補完も利いたりするのでちょっとした開発ならブラウザ上でできますね!

Page 40: できる!スマホアプリ:Webからはじまるアプリ

今回は説明しないツール

• プロファイラ

• ネットワーク – この辺りはパフォーマンス解析でとても役立つん

ですが今回は説明しません。

• 3Dビュー – 見た目に楽しいので帰ったら是非遊んでください

ね!

• レスポンシブデザインビュー – デスクトップでアプリを仮組みする間はちょく

ちょく使うんですが今回は説明しません。

Page 41: できる!スマホアプリ:Webからはじまるアプリ

APIを使ってみる

• 何のAPIも使ってないhello, world!ではつまらないのでFirefox OSが提供するAPIを使ってみましょう。

• さらにFirefox OSが提供していないサードパーティのAPIも組み合わせていきますよ。

• 今回のセッションではAPIの使い方などは詳しく説明しません。 – 今後GCG研究所に書いていくのでお楽しみに。

Page 42: できる!スマホアプリ:Webからはじまるアプリ

APIを使ったアプリ

• デスクトップとデータを共有するブックマークアプリです。

– サンプルはこちら

• https://github.com/aoitan/FxDevCon2014Kyoto/tree/master/AoiroBookmark

• 単に同じデータを見るだけではなくて更新もリアルタイムに反映されるようにしてみます。

Page 43: できる!スマホアプリ:Webからはじまるアプリ

SystemXHR

• SystemXHRはおなじみXMLHttpRequestです。

• ネット上からデータを取ってきたいときに便利な子です。

• すでにHTML5でWebアプリを書いている人にはクロスオリジンできるXHRというとうれしさが伝わるかもしれません。

• ちょっとした注意点があったりしますが以下のURLで説明してます。 – http://www.gcg.bz/labo_blog/?p=408

Page 44: できる!スマホアプリ:Webからはじまるアプリ

DataStore API

• DataStore APIはアプリ間でデータを共有したいときに使うAPIです。 – 通常アプリが保存するデータはアプリ間でやり取りするこ

とができません。 • 注)一部のデータ(画像とか音声とか動画)は可能です。

– DataStore APIで保存したデータはアプリ間でやりとりすることが可能になります。

• データをほかの人に見せられるということはマッシュアップできるということです。 – みんなで楽しい世界を広げていけますね!

• 今回はこのAPIを使ってFirefox OSが持っているブッ

クマークを読み書きしてみます。

Page 45: できる!スマホアプリ:Webからはじまるアプリ

DropBox DataStore API

• 実はDropboxにも同じ名前のAPIがあります。

• これもFirefox OSが提供しているDataStore APIを同じくアプリの外とデータを共有するための仕組みになっています。

– Firefox OSのDataStore APIはアプリ間でしたがDropBox DataStore APIは端末間の共有です。

• 今回はこのAPIを使ってデスクトップで実行しているアプリと値を共有します。

Page 46: できる!スマホアプリ:Webからはじまるアプリ

デモ

• いろいろ触ってみますよ!

Page 47: できる!スマホアプリ:Webからはじまるアプリ

マーケットの話

• Firefox OSアプリはFirefox Marketplaceで流通しています。

• 作ったアプリはDevelopers Hubから登録できます。

– 使っているAPIによっては審査があります。

– リジェクトされても審査員がアドバイスをくれます。

• ボランティア審査員になることもできますよ!

Page 48: できる!スマホアプリ:Webからはじまるアプリ

デスクトップやfor Androidからも利用できます!

• Firefox MarketplaceはFirefox OSだけのものではありません。

• デスクトップ版やAndroid版からも利用できます。

– デスクトップ版はこちら

• https://marketplace.firefox.com/

– Android版はこちら

• メニュー → ツール → アプリ

Page 49: できる!スマホアプリ:Webからはじまるアプリ

アプリ開発に関するドキュメント

• アプリ開発しようにもわからないことたくさんありますよね。

• わからないことがあった時によく見る資料を紹介します。

Page 50: できる!スマホアプリ:Webからはじまるアプリ

Mozilla Developer Network

• ほとんどの情報はMozilla Developer Network (MDN) にあります。 – https://developer.mozilla.org/ja/

• アプリを作るときによく読むところはここら辺が入口になります。 – https://developer.mozilla.org/ja/docs/Web – https://developer.mozilla.org/ja/docs/Web

API

• チュートリアルもありますよ! – https://developer.mozilla.org/ja/docs/Web/

Tutorials

Page 51: できる!スマホアプリ:Webからはじまるアプリ

Mozilla Developer Street

• リファレンスというよりニュースの趣きがありますが新しい情報を探すならMozilla Developer Street (modest) です。

– https://dev.mozilla.jp/

• 各種情報へのハブにもなっているので見るところに迷ったらmodestを見てみるのもいいですね。

Page 52: できる!スマホアプリ:Webからはじまるアプリ

Mozilla Wiki

• 最新の情報を先取りしやすいのはMDNよりMozilla Wikiです。

– https://wiki.mozilla.org/Main_Page

• ただしあまりまとまった書き方ではないので慣れはいります。

• ほとんどのことはMDNで見つかるのでMozilla Wikiはあまり見ないかもしれませんね。

Page 53: できる!スマホアプリ:Webからはじまるアプリ

Googleグループ Firefox OS(Boot2Gecko)

• Firefox OSコミュニティが日々やり取りしているMLです。

– https://groups.google.com/forum/#!topic/firefoxos/

• わからないことがあったら質問してみると知ってる人が答えてくれますよ!

Page 54: できる!スマホアプリ:Webからはじまるアプリ

fxos.org

• Firefox OSコミュニティのサイトです。

– http://fxos.org/

• イベント情報やイベントリポートもあるのでコミュニティの雰囲気を知りたい方は是非見てみてください。

Page 55: できる!スマホアプリ:Webからはじまるアプリ

FxOSコードリーディング

• Firefox OSにかかわるソースコードを読むグループです。

– http://reading.fxos.org/

– fxos.orgに間借りしてます。

• ソースコードを読んで知識を蓄えている方々がいるのでこちらに質問してみるのもよいですよ!

Page 56: できる!スマホアプリ:Webからはじまるアプリ

さいごに

• Firefox OSコミュニティはまだ若いコミュニティです。

• この機に気軽に参加して気軽に盛り上げてくださいね!

Page 57: できる!スマホアプリ:Webからはじまるアプリ

おしまい

• ご清聴ありがとうございました。