ios と android の両方で動く アプリを作る方法 ·...

17
iOS Android の両方で動く アプリを作る方法 <クロスプラットフォーム開発> グループB 1

Upload: others

Post on 30-Aug-2019

8 views

Category:

Documents


0 download

TRANSCRIPT

iOS と

Android の両方で動く

アプリを作る方法 <クロスプラットフォーム開発>

グループB

1

メンバー紹介

望月

憲志 [ワークノアート]

片岡

正文 [鈴与システムテクノロジー]

三浦

由姫子

[ティージェイエス]

黒木

宏明 [SBS情報システム]

グループB

iOSとAndroidの両方で動くアプリを作る方法 2

目次

1.経緯

2.調査方法

3.クロスプラットフォームについて

(1)

WEBアプリ

(2)

PhoneGap

(3)

Titanium

Mobile

4.考察

5.今後の課題

グループB

iOSとAndroidの両方で動くアプリを作る方法 3

1.経緯

• スマートデバイス毎に専用の開発環境が必要

• 複数デバイスのアプリを開発する場合、開発環境・言語が異なる

ため、費用、期間など開発にかかるコストが倍増。

• 1つのソースで複数デバイスのアプリを開発できる方法

クロスプラットフォーム開発クロスプラットフォーム開発

グループB

iOSとAndroidの両方で動くアプリを作る方法 4

OS 開発環境 開発言語

iOS Mac Xcode Objective-C

Android Mac/Windows Eclipse等 Java

WindosPhone Windows VisualStudio .NET

2.調査方法

• クロスプラットフォームの種類

<WEBアプリ>

HTML

+ CSS

+ Javascript

(1)

<非WEBアプリ>

PhoneGap

(2)

Titanium

Mobile

(3)

• 各クロスプラットフォーム上で、サンプルアプリを開発し、

iOSとAndroid端末での動作検証を行う。

iOS

iPhone5、iPad2

Android

東芝

Regza

• 開発のしやすさ、実機での動作について調査する。

グループB

iOSとAndroidの両方で動くアプリを作る方法 5

2.調査方法

• サンプルアプリ

「ひたすらめも」「ひたすらめも」仕様

(1) 指でなぞってメモを書くアプリ

(2) 線の太さや色を選択可能

(3) ページをめくってメモを

追加したり、削除が可能

(4) 書いたメモを保存、呼び出して

表示することが可能

(5) カメラで撮影した画像を背景と

して読み込む

グループB

iOSとAndroidの両方で動くアプリを作る方法 6

3-1.WEBアプリ

グループB

iOSとAndroidの両方で動くアプリを作る方法

• 概要

HTML、CSS、Javascriptで構成

HTML

マークアップ言語。画面項目を規定

CSS

文書の整形やレイアウトを構築

Javascript

ボタンクリック等動的効果

• 各スマートデバイスのブラウザ上で動作。WEBサーバ上の

ファイルを参照するため、サーバに接続されていることが前提。

• 数多くの

Javascriptライブラリが公開されている。

7

3-1.WEBアプリ

•• 「ひたすらめも」「ひたすらめも」実装

HTML5

Canvas機能により描画を実現。

• ライブラリを使用しコーディングを極力減らした。

• PCのマウスイベントとスマートデバイスのタッチイベントの

両方を記述することで両方の環境で動作可能。

• スマートデバイス固有機能を実装できない。

グループB

iOSとAndroidの両方で動くアプリを作る方法 8

3-2.Phonegap

• 概要

Adebe社製オープンソース

開発環境

Eclipse/Xcode

開発言語

HTML+CSS+Javascript

• 対応デバイス

iOS, Android、BlackBerry等多数

• WEBアプリをそのまま組み込んでアプリ化することが可能。

グループB

iOSとAndroidの両方で動くアプリを作る方法 9

3-2.Phonegap

• 開発画面

WWW配下に

ソースを複写

グループB

iOSとAndroidの両方で動くアプリを作る方法 10

3-2.Phonegap

•• 「ひたすらめも」「ひたすらめも」実装

WEBアプリで作成したものをWWW配下にコピーしビルドする

だけでアプリ化される。

• カメラ機能は

標準API(Javascript)で追加コーディング。

• WebViewのブラウザ機能によりアプリ化を実現。

• WEBアプリとPhoneGapアプリにおいて、

描画、ボタン押下等のタッチイベントのレスポンス差は

ほとんど見られなかった。

グループB

iOSとAndroidの両方で動くアプリを作る方法 11

3-3.Titanium

Mobile

• 概要

Appcelerator社製オープンソース

開発環境

Titanium

Studio

開発言語

Javascript

• 対応デバイス

iOS,

Android, Blackberry,

MobileWeb

• サンプルアプリ

KitchenSink

各種コントロール、機能検証用

ABC’sWriter

お絵かきアプリ、追加モジュール

グループB

iOSとAndroidの両方で動くアプリを作る方法 12

3-3.Titanium

Mobile

• 開発画面

コード入力補完

機能

グループB

iOSとAndroidの両方で動くアプリを作る方法 13

3-3.Titanium

Mobile

•• 「ひたすらめも」「ひたすらめも」実装Javascript

全ての機能と画面レイアウトを実装。

コード補完、リアルタイムエラー表示によりコーディングは比較的容易。

• 標準APIに描画機能がないため、追加モジュール「Ti.Paint」をプロジェクトに組み込んでビルド。

• 純正UIを使用した場合、iOSとAndroidで表示が異なる。(デバイス毎の標準の規約に従う)

• 他のプラットフォームとレスポンスの差はなく、iOSとAndroidの差が同様に見受けられた。

グループB

iOSとAndroidの両方で動くアプリを作る方法 14

4.考察

• 開発環境、アプリについて

グループB

iOSとAndroidの両方で動くアプリを作る方法 15

開発環境 開発アプリ

Web ライブラリが充実。Web標準化により開発要員の確

保は容易。

デバイス固有機能は実装不可。WEBサーバへの接続が必須。

PhoneGap 既存Web資産をコピーするだけ

でアプリ化可能。開発資産・要員を流用可能。

デバイス固有機能を実装可。

WebViewを経由するためレスポ

ンスが得られないケースがある。

Titanium Mobile 画面レイアウトもJavascriptで

実装。Web資産はそのまま使用

できない。

デバイス固有機能を実装可。標準API及び既存追加モジュール

に機能が無ければ、各デバイス

のネイティブ言語で自作が必要。

5.今後の課題

• ネイティブとクロスプラットフォームの比較

• それぞれの利点を生かした開発

ハイブリッド開発ハイブリッド開発

グループB

iOSとAndroidの両方で動くアプリを作る方法 16

開発環境 開発アプリ

ネイティブ 各デバイスで必要な環境、スキ

ルが異なる。特にiOS開発言語

objective-Cの要員確保は難しい。

デバイスで可能な全てのことが

実装可能。レスポンスも問題無

し。

クロスプラットフォーム

HTML,CSS,Javascriptを中心と

した技術のため、要員確保が容

易。開発環境も整備されている。

APIの範囲で実装可能。

WebViewを使用した場合はレス

ポンスが得られないケースがあ

る。

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

グループB

iOSとAndroidの両方で動くアプリを作る方法 17