SlideShare a Scribd company logo
浪江町タブレットで採用した、
Cordovaで作るHTML5のAndroidアプリのしくみ
2016/01/31
HTML5fun 現場で使えるライブラリと、JSの基礎(福島)
山田 直行
アジェンダ
• 自己紹介
• 浪江町とタブレット事業の紹介
• Cordovaとは
• Backbone.js入門
• なみえアプリでのCordovaとBackbone.js
自己紹介
山田 直行(やまだ なおゆき)
2015年7月から浪江町役場勤務。
復興推進課 情報統計係
復興庁 福島復興局 所属 市町村応援職員
Code for Japanフェロー
• 2007年に社会復帰し、メルティングドッツ、イストピカ、サイバーエージェントと勤め、浪江町役場
は4つ目の勤務先。
• 政治・行政の世界でのITの今後の可能性にかけて現場から取り組むことを決意し、Code for Japanフェ
ローに。
• 浪江町タブレット配布プロジェクトの開発・運用を担当する職員として役場でフルタイムで働く。
• ソフトウェアエンジニアとしては、クラウドの運用・サーバーサイドの開発を得意とするが基本的に何
でも屋
• AWS認定ソリューションアーキテクト- アソシエイト
• 福島県郡山市在住
浪江町の紹介とタブレット事業について
• 平成28年1月版「なみえ復興レポート」より
• http://www.town.namie.fukushima.jp/
uploaded/attachment/4513.pdf
タブレット端末を利用した「きずなの維持」
• 全国に分散避難する町民と町、あるいは町民同士
をつなぐ
• 「ふるさとなみえ」への愛着を持ち続けて欲しい
• 町の近況を身近に感じてもらい、将来の帰還へつな
げたい
アプリの開発と、Code for Namie プロジェクト
• 浪江町タブレット 最後の挑戦 -プロジェクト参加
者募集 より
• http://www.slideshare.net/codeforjapan/
ss-51373165
ここまでが前振りです
(;́Д`)
浪江町タブレットで採用している
Cordovaで作るHTML5の
Androidアプリのしくみ
Androidアプリが動く仕組み(基本)
• Androidアプリは、Java言語で記述された
プログラムをJavaクラスファイルにコンパイ
ルしたものを、さらにAndroid SDKによっ
てAndroidが動作するDalvik仮想マシン上で
の実行形式(.dex形式)に変換することによっ
て動作します
つまりJava言語で記述するの
が基本
ここに、HTML5やJavaScript
がどう関係してくるのか?
Apache Cordova
Cordovaとは(1/3)
• オープンソースのモバイルアプリ開発フレームワーク
• Apacheソフトウェア財団に寄贈されたため
「Apache」とついている
• もともとはPhoneGapという名称だったが、Adobe
社が買収したことによりPhoneGapはAdobeのプロ
ダクト名になり、フレームワーク自体はCordovaと
呼ばれるようになった
Cordovaとは(2/3)
• HTML5( JavaScript)で記述したアプリケーショ
ンをAndroidを含むさまざまなモバイル端末上で実
行するためのフレームワーク
Cordovaとは(3/3)
• Androidを例にすると、HTML5で書かれたコード
はAndroidの中にあるWebViewというウェブブラ
ウザの機能を持った部品を使って実行できる
• それにWebViewの外のAndroid独自の機能(カメ
ラ・センサー・Push通知など)との連携機能をつ
け、フレームワーク化したものがCordova。
浪江町のアプリでのCordova
• なみえ新聞
• なみえ写真投稿
• なみえタブレット道場
• なみえ放射線情報
• 記事管理などの管理画面(ウェブサイトから利用)
→これら5つは、全てCordovaフレームワークで作られています
Cordovaは、AndroidとHTML5を橋渡しする
フレームワークでした。
では、HTML5で記述する実際のアプリケーショ
ン( JavaScript)の中はどのように
書かれているのでしょうか?
Backbone.js
Backbone.jsとは
• クライアントサイドのJavaScript MVCフ
レームワーク
• JavaScriptのソースコードを役割別に分割
して、見通しをよくする
• 大規模開発に効果を発揮
Backbone.jsの部品
• View・・・ビュー(見た目の制御)
• Model・・・データの取得・保存・更新・削除
• Collection・・・Modelの集合
• Router・・・URLの制御・監視
• History・・・Routeの履歴監視
http://www.slideshare.net/otoyo0122/backbonejs-16753352
見た目の制御と、ロジックを明確に分離
ユーザー View
Model
Collection
サンプルアプリ
• あるボタンを押して入力すると友だちを追加
あるボタンを押すと友だちの数を表示

というシンプルなアプリです。
• Backbone.jsで書いた場合とjQueryで書い
た場合の比較をしてみたいと思います。
DEMO
浪江町のアプリでの
CodrovaとBackbone.js
オープンソースです!(昨年度までの開発分)
https://github.com/codefornamie/namie-tablet-html5
浪江町アプリの技術
なみえ新聞
なみえ写真投稿
なみえ道場
放射線情報
サーバー
AWS
Cordova
+
Backbone.js
Personium.io
(Tomcat+Elasticsearch)
DEMO
ご清聴ありがとうございました
m(__)m
- 質疑応答 -

More Related Content

PDF
東北Tech道場郡山20151031
PPTX
Developers.IO 2016 | 疎結合で非同期なチーム開発
PDF
Code for Kanazawa / Code for Japan Meeting in OSAKA
PDF
青森ITビジネス・マッチング交流会
PDF
IoT時代のデータ伝送とインフラに求められている機能 Developers.IO 2015
PDF
CODE for AIZU (Code for Japan summit 2014)
PDF
20141011 code for japan summit
PDF
コミュニティによるボトムアップから考えるオープンデータ
東北Tech道場郡山20151031
Developers.IO 2016 | 疎結合で非同期なチーム開発
Code for Kanazawa / Code for Japan Meeting in OSAKA
青森ITビジネス・マッチング交流会
IoT時代のデータ伝送とインフラに求められている機能 Developers.IO 2015
CODE for AIZU (Code for Japan summit 2014)
20141011 code for japan summit
コミュニティによるボトムアップから考えるオープンデータ

What's hot (20)

PDF
オープンデータフォーラムIn gifu
PDF
僕達が大好きなkintone
PDF
20150329 オープンソースがもらたした、生駒のムーブメント(CIVIC TECH FORUM 2015)
PPTX
Ops x meet up v18.12 クラウドサービス運用の裏側
PDF
Eight×kintone 【Eightの名刺データをkintoneで活用してみよう!】
PPTX
2018.05.16 DOA 朝会トーク | 自己紹介&勉強会のすゝめ
PDF
20141222 Code for Summit NARA年間成果発表会〜CODE for IKOMAゆく年くる年
PPTX
NDS21 feat. JAG Niigata 5
PDF
Moneytize_with_assets_in_MonoGYM
PDF
地域におけるプログラマの存在
PPTX
CIVIC TECH FORUM 2018_koppy
PDF
CODE for IKOMAと生駒市の協働プロジェクト
PDF
LIFFでLINE公式アカウント上に予約フォームを作成する
PDF
生駒マッピングパーティー vol.1
PDF
関西ITインフラ系勉強会 (ハッシュタグ #kistudy) 発足について
PDF
20141024 地域で立ち上げるCivic Tech 〜生駒ではじまった挑戦〜
PDF
ネットワーク・サーバーリソースを 贅沢に使ってみた話
PDF
Agile japan2014c 3プレゼン資料アジャイル経験0から3年で3億以上を稼いだ道のり ~とある中小ソフトベンダーの請負アジャイル開発実績~
PDF
鬼滅の刃"呼吸LINEBot"
PPTX
kintoneと○○をつないでみた
オープンデータフォーラムIn gifu
僕達が大好きなkintone
20150329 オープンソースがもらたした、生駒のムーブメント(CIVIC TECH FORUM 2015)
Ops x meet up v18.12 クラウドサービス運用の裏側
Eight×kintone 【Eightの名刺データをkintoneで活用してみよう!】
2018.05.16 DOA 朝会トーク | 自己紹介&勉強会のすゝめ
20141222 Code for Summit NARA年間成果発表会〜CODE for IKOMAゆく年くる年
NDS21 feat. JAG Niigata 5
Moneytize_with_assets_in_MonoGYM
地域におけるプログラマの存在
CIVIC TECH FORUM 2018_koppy
CODE for IKOMAと生駒市の協働プロジェクト
LIFFでLINE公式アカウント上に予約フォームを作成する
生駒マッピングパーティー vol.1
関西ITインフラ系勉強会 (ハッシュタグ #kistudy) 発足について
20141024 地域で立ち上げるCivic Tech 〜生駒ではじまった挑戦〜
ネットワーク・サーバーリソースを 贅沢に使ってみた話
Agile japan2014c 3プレゼン資料アジャイル経験0から3年で3億以上を稼いだ道のり ~とある中小ソフトベンダーの請負アジャイル開発実績~
鬼滅の刃"呼吸LINEBot"
kintoneと○○をつないでみた
Ad

Similar to 浪江町タブレットで採用した、 Cordovaで作るHTML5のAndroidアプリのしくみ (20)

PDF
オープンプロセスで変える調達改革
PDF
オープンプロセスで変える調達改革
PPTX
211020 すごい広島 with OSH 2021.10
PPTX
kintone × Movable Type 6
PDF
全日本コミュニティ&勉強会大決戦
PDF
Vibe Codingやってみた : 無課金でAI Agentを試した経験を簡単に
PPTX
Code for Japan Summit フェロー大集合プレゼン資料 浪江町編
PDF
【オープンデータ自治体サミット】Code for nantoプレゼン資料_20150624
PDF
20161112 IoTLT広島xpyconmini
PDF
エンジニアのキャリアを考える
PDF
kintoneプラグイン 《Movable Type 連携》
PPTX
社会のコードを、書き換えよう~エンジニア起点のNew Normalな働き方~
PDF
東京では語れないHTML5[仮題]
PDF
ゲーム業界と地方創生の最新事例
PDF
Global Solution Unit
PDF
《kintoneプラグイン》「Movable Type連携」のご紹介
PDF
去年はやったもの、今年はやりそうなもの Meetup App Osaka @5出張版!
PDF
オープンデータ自治体サミット Code for Kanagawa活動紹介(LT版)
PPTX
ふるさと起業家育成事業 概要
PDF
Jaws festa-kyushu20151103
オープンプロセスで変える調達改革
オープンプロセスで変える調達改革
211020 すごい広島 with OSH 2021.10
kintone × Movable Type 6
全日本コミュニティ&勉強会大決戦
Vibe Codingやってみた : 無課金でAI Agentを試した経験を簡単に
Code for Japan Summit フェロー大集合プレゼン資料 浪江町編
【オープンデータ自治体サミット】Code for nantoプレゼン資料_20150624
20161112 IoTLT広島xpyconmini
エンジニアのキャリアを考える
kintoneプラグイン 《Movable Type 連携》
社会のコードを、書き換えよう~エンジニア起点のNew Normalな働き方~
東京では語れないHTML5[仮題]
ゲーム業界と地方創生の最新事例
Global Solution Unit
《kintoneプラグイン》「Movable Type連携」のご紹介
去年はやったもの、今年はやりそうなもの Meetup App Osaka @5出張版!
オープンデータ自治体サミット Code for Kanagawa活動紹介(LT版)
ふるさと起業家育成事業 概要
Jaws festa-kyushu20151103
Ad

More from Naoyuki Yamada (17)

PDF
KubernetesでRedisを使うときの選択肢
PDF
いわき情報技術研究会20170513
PDF
AWSからOpenStack, Chef SoloからChef Serverに インフラを置き換えた事例の紹介
PDF
Elasticsearch勉強会第8回 ElasticsearchとKibanaで実現する 30億req/dayのリアルタイム分析
PDF
CAジャーナルクラブ TAO: Facebook’s Distributed Data Store for the Social Graph
PDF
Adtech College#7 GitHubを中心とした開発フロー
PDF
ElasticSearch勉強会 第6回
PDF
CAジャーナルクラブ Dremel: Interactive Analysis of Web-Scale Datasets
PDF
ADTECH COLLEGE #2 近い将来、開発責任者になるあなたへ
PDF
株式会社サイバーエージェント アドテクスタジオの技術と開発
PDF
Functional Programming in Scala Reading #2
PDF
Code for Japan 勉強会 Vol.1 CKAN入門 プロジェクトのFork、デプロイ、CIまで
PDF
JAWS-2013-LT 10000req/secを50msecで返すサーバーインフラをAWSで作る
PDF
社内勉強会:ソーシャルゲームのデータベース設計入門
PDF
データマイニング+WEB勉強会資料第6回
PDF
Social Web Japan Vol.3 "Social Application and their support services"
PDF
ソーシャルアプリ業界を構成する中間サービスたち
KubernetesでRedisを使うときの選択肢
いわき情報技術研究会20170513
AWSからOpenStack, Chef SoloからChef Serverに インフラを置き換えた事例の紹介
Elasticsearch勉強会第8回 ElasticsearchとKibanaで実現する 30億req/dayのリアルタイム分析
CAジャーナルクラブ TAO: Facebook’s Distributed Data Store for the Social Graph
Adtech College#7 GitHubを中心とした開発フロー
ElasticSearch勉強会 第6回
CAジャーナルクラブ Dremel: Interactive Analysis of Web-Scale Datasets
ADTECH COLLEGE #2 近い将来、開発責任者になるあなたへ
株式会社サイバーエージェント アドテクスタジオの技術と開発
Functional Programming in Scala Reading #2
Code for Japan 勉強会 Vol.1 CKAN入門 プロジェクトのFork、デプロイ、CIまで
JAWS-2013-LT 10000req/secを50msecで返すサーバーインフラをAWSで作る
社内勉強会:ソーシャルゲームのデータベース設計入門
データマイニング+WEB勉強会資料第6回
Social Web Japan Vol.3 "Social Application and their support services"
ソーシャルアプリ業界を構成する中間サービスたち

浪江町タブレットで採用した、 Cordovaで作るHTML5のAndroidアプリのしくみ