ごく普通の在日

Android Bazaar and Conference 2013 Spring 1日目 #ABC2013s

Android Bazaar</a> Conference 2013 Spring 今日はAndroid関連の日本最大級のイベント ABC 2013 Springに行ってきた。
日付:3月15日(金)、16日(土)10:00〜
会場:明星大学 日野校 28号館(総合受付:3F)
2日間行われるのは今回で初めで。

明星大学には先月のOSC(オープンソースカンファレンス)のときにはじめて行った。そのときはJR線で多摩動物駅に降りたら、大学まで結構さかのぼって歩いていたが、今回は多摩センターからモノレールに乗って「中央大学・明星大学駅」に降りたほうが楽だとわかった。

2011年、2012年のときも、ブログの記事を元にふりかえてみるとABCに行くのは今回3回目だとわかった(前回は東北で行われていて遠かったので行けなかった・・・)。 ほら思ったよりAndroidってまだあるんだね?
過去の記事:
- Android Bazaar and Conference 2011 Winterに行ってきた
- Android Bazaar and Conference 2012 Springに行ってきました #ABC2012s
(受付で渡されたスケジュール一覧とステッカーとバッジ)
(受付で渡されたスケジュール一覧とステッカーとバッジ)

基調講演: Androidの次の飛躍を考える --- Webアプリ / HTML5開発の新しい動向

丸山不二夫 / 特定非営利活動法人 日本Androidの会 理事長
講演資料

自分にとっては勉強になるので毎回丸山先生の話を聞くよう基調講演に間に合うように参加している。(そしていつものようにスライド飛ばしていく)
講演の内容は全体的に、2012年の動き、スマートフォン・タブレットの発表(Galaxy S 3、Windows Phone 8、Kidle Fire HD、iPhone 5、MS Surfaceとかとか)、Androidの現在などなど

Webアプリ/HTML5開発の新しい動向とAndroid Nativeアプリについて
従来のWebアプリとAndroidネイティブアプリはプラットフォームがほとんど独立に存在している。WebアプリとHTML5の新機能そして今ではプラウザのJavaScriptの性能がかなり進化している今ではかなり期待されている。モバイルのプラットフォームは今Firefox OSとTizenではHTML5がアプリ開発のベースになっている。
一方、AndroidでのWebアプリ開発は遅れている。OSバーションによって対応しているAPIはばらばらだし不安定でパフォーマンスが悪いところが多いが、GoogleはAndroidへのChrome搭載に力を入れ始めているように見える。
つい最近、GoogleのAndroid担当責任者が元Chrome担当責任者に交代したと発表された。このタイミングでからおそらく丸山先生の予想が合っているようだ。
他の細かい内容は上のリンクにある公開している講演資料を参考に

脆弱性があるアンドロイドアプリの作り方

今岡通博 / タオソフトウェア株式会社代表取締役
講演資料

Androidアプリ開発においてセキュリティについて気をつけるべきこと
例えば、ファイルの扱い方(保存先、権限など)、アプリのソースコードに重要なデータまたはリソースを入れないことなど

モバイルサイト及びアプリにおけるアクセス解析の手法

清水千年 / グーグル株式会社オンラインパートナーシップグループ

Google Analyticsの紹介。モバイル、スマートフォン、タブレットのアクセス解析可能
それらの機能を使って自分のサイトの訪問者はどのように変化があるか、どのタイミングでサイトをモバイルに対応し最適化していいか判断につながる。
アドバンスセグメント機能と使い方の紹介があった。実はこの間で(今年に入って)この機能の使い方を教えてもらったばっかりだ。知りたいアクセスの種類を絞ってグラフで比較し表示することができる

また「ユニバーサルアナリティクス」というベータ機能がある。
これまでアクセス解析は カウンター → ページビュー → セッション(訪問者) の次に「ユーザー」であること。つまり実際のユーザー解析におけるチャレンジである。現在は同じユーザーであってもPC、スマートフォン、タブレットの複数デバイスからWeb閲覧しているため
「ユーザー = PCプラウザ」ではない
技術的にはUser-idとしてCookieを発行しそのCookieはGoogleアカウントと結びつけている。このCookieを元に解析しユーザーの行動がわかる → 広告効果などを測定することができる

リーンでアジャイルにAndroidアプリ開発をしてみた!

安西 剛 / NECビッグローブ株式会社

内容はタイトル通り、しっかり内容を聞きたかったのであえてメモはしなかった。
アジャイル開発で大切なのは「見える化」「ふりかえり」「デモ」、スクラムとはフィードバックを回すこと

モバイルアプリのクロスプラットフォーム開発でハマりがちなポイント

久保田光則 / アシアル株式会社 UI/UXデザイナー兼ソフトウェアエンジニア

HTML5を使ってハイブリッドアプリ開発するときの考え方やノウハウ、注意すべきポイントの内容
何も考えずにハイブリッドアプリを作るとどうなるかというと、UIがイケてなくて動作が遅くて不安定でしょぼいアプリになりかねない

それについて考えられる原因はいくつかがある。ノウハウ不足、ウェブサイトと同じように実装してしまう、HTML5で実装すべきでないところを実装してしまう、モバイル特有の事情を考慮していないことなど

ハイブリッドアプリを作るのにいろんなフレームワーク(PhoneGapとかTitaniumとかSenchaとか)がある。
フレームワーク選定ポイント
- ネイティブの機能をJavaScriptから使うか?
- 具体的にどんなネイティブの機能を使うか
- 信頼できないHTMLを読み込むか?

アプリをiOSとAndroidに対応させるとして、どっちにまずあわせるのか?
- AndroidよりiOSの描画がはるかに動きが滑らかでかるい
- まずは、Androidでまともに動くことを確認してからiOSでも確認する
- 逆だと、iOSでは動くがAndroidでは重すぎて使い物にならないことが多い

ネイティブとHTML5は何をどっちで実装する?
- HTML5は万能ではないため、パフォーマンス上無理っぽいところもある
- どんなものをHTML5で実装できるか考える
- どんなものをネイティブで実装するか考える

たとえばゲームのようなアプリだと、ネイティブとHTML5ではグラフィックと開発速度があまりつりあわない
ネイティブでは、高度なグラフィック処理・リアルタイム性が優れているけどHTML5では優れていない。逆にネイティブでは、開発速度・学習コストが高いけど、HTML5ではコストがもっと低いため両方の長所をうまく活用すること

JavaScriptでアニメーションを実装すると大変重いのでCSSアニメーションで解決
アニメーションはGPUを活用するように
jQueryの代わりにjQuery APIの互換性持っているZepto.jsを使う。jQueryより動作が軽いため
画面の傾きではwindow.orientationで実装できるが、orientationChangeイベントはポータビリティが低いため使わないほうがいい
モバイルの通信速度を考慮してJavaScript/CSSのファイルは圧縮しておくこと

ハイブリッドアプリ開発する際に気をつけるべきバグ
- orientationの扱い方
- Android4系ではCSSのorientationがおかしい
- Android4系でassetsから512回読み込みで落ちるバグ
- 開発してみて初めて遭うバグも

セキュリティについて
- XSSに気をつけること
- iframeで信頼できないURLを呼び込む際も注意

そのほかの注意点はハイブリッドアプリは銀の弾丸ではなくレスポンシブの遅いアプリになれるし動作不安定になる場合もあり、HTML5だけでやらないこと。各OSのバグを把握すること


これ↑みるとハイブリッドアプリって結構大変だなぁ・・・・
以上


あとはおまけ:
踊るAndroidくん踊るAndroidくん踊るAndroidくん
Android Bazaar</a> Conference 2013 Spring 今日はAndroid関連の日本最大級のイベント ABC 2013 Springに行ってきた。
日付:3月15日(金)、16日(土)10:00〜
会場:明星大学 日野校 28号館(総合受付:3F)
2日間行われるのは今回で初めで。

明星大学には先月のOSC(オープンソースカンファレンス)のときにはじめて行った。そのときはJR線で多摩動物駅に降りたら、大学まで結構さかのぼって歩いていたが、今回は多摩センターからモノレールに乗って「中央大学・明星大学駅」に降りたほうが楽だとわかった。

2011年、2012年のときも、ブログの記事を元にふりかえてみるとABCに行くのは今回3回目だとわかった(前回は東北で行われていて遠かったので行けなかった・・・)。 ほら思ったよりAndroidってまだあるんだね?
過去の記事:
- Android Bazaar and Conference 2011 Winterに行ってきた
- Android Bazaar and Conference 2012 Springに行ってきました #ABC2012s
(受付で渡されたスケジュール一覧とステッカーとバッジ)
(受付で渡されたスケジュール一覧とステッカーとバッジ)

基調講演: Androidの次の飛躍を考える --- Webアプリ / HTML5開発の新しい動向

丸山不二夫 / 特定非営利活動法人 日本Androidの会 理事長
講演資料

自分にとっては勉強になるので毎回丸山先生の話を聞くよう基調講演に間に合うように参加している。(そしていつものようにスライド飛ばしていく)
講演の内容は全体的に、2012年の動き、スマートフォン・タブレットの発表(Galaxy S 3、Windows Phone 8、Kidle Fire HD、iPhone 5、MS Surfaceとかとか)、Androidの現在などなど

Webアプリ/HTML5開発の新しい動向とAndroid Nativeアプリについて
従来のWebアプリとAndroidネイティブアプリはプラットフォームがほとんど独立に存在している。WebアプリとHTML5の新機能そして今ではプラウザのJavaScriptの性能がかなり進化している今ではかなり期待されている。モバイルのプラットフォームは今Firefox OSとTizenではHTML5がアプリ開発のベースになっている。
一方、AndroidでのWebアプリ開発は遅れている。OSバーションによって対応しているAPIはばらばらだし不安定でパフォーマンスが悪いところが多いが、GoogleはAndroidへのChrome搭載に力を入れ始めているように見える。
つい最近、GoogleのAndroid担当責任者が元Chrome担当責任者に交代したと発表された。このタイミングでからおそらく丸山先生の予想が合っているようだ。
他の細かい内容は上のリンクにある公開している講演資料を参考に

脆弱性があるアンドロイドアプリの作り方

今岡通博 / タオソフトウェア株式会社代表取締役
講演資料

Androidアプリ開発においてセキュリティについて気をつけるべきこと
例えば、ファイルの扱い方(保存先、権限など)、アプリのソースコードに重要なデータまたはリソースを入れないことなど

モバイルサイト及びアプリにおけるアクセス解析の手法

清水千年 / グーグル株式会社オンラインパートナーシップグループ

Google Analyticsの紹介。モバイル、スマートフォン、タブレットのアクセス解析可能
それらの機能を使って自分のサイトの訪問者はどのように変化があるか、どのタイミングでサイトをモバイルに対応し最適化していいか判断につながる。
アドバンスセグメント機能と使い方の紹介があった。実はこの間で(今年に入って)この機能の使い方を教えてもらったばっかりだ。知りたいアクセスの種類を絞ってグラフで比較し表示することができる

また「ユニバーサルアナリティクス」というベータ機能がある。
これまでアクセス解析は カウンター → ページビュー → セッション(訪問者) の次に「ユーザー」であること。つまり実際のユーザー解析におけるチャレンジである。現在は同じユーザーであってもPC、スマートフォン、タブレットの複数デバイスからWeb閲覧しているため
「ユーザー = PCプラウザ」ではない
技術的にはUser-idとしてCookieを発行しそのCookieはGoogleアカウントと結びつけている。このCookieを元に解析しユーザーの行動がわかる → 広告効果などを測定することができる

リーンでアジャイルにAndroidアプリ開発をしてみた!

安西 剛 / NECビッグローブ株式会社

内容はタイトル通り、しっかり内容を聞きたかったのであえてメモはしなかった。
アジャイル開発で大切なのは「見える化」「ふりかえり」「デモ」、スクラムとはフィードバックを回すこと

モバイルアプリのクロスプラットフォーム開発でハマりがちなポイント

久保田光則 / アシアル株式会社 UI/UXデザイナー兼ソフトウェアエンジニア

HTML5を使ってハイブリッドアプリ開発するときの考え方やノウハウ、注意すべきポイントの内容
何も考えずにハイブリッドアプリを作るとどうなるかというと、UIがイケてなくて動作が遅くて不安定でしょぼいアプリになりかねない

それについて考えられる原因はいくつかがある。ノウハウ不足、ウェブサイトと同じように実装してしまう、HTML5で実装すべきでないところを実装してしまう、モバイル特有の事情を考慮していないことなど

ハイブリッドアプリを作るのにいろんなフレームワーク(PhoneGapとかTitaniumとかSenchaとか)がある。
フレームワーク選定ポイント
- ネイティブの機能をJavaScriptから使うか?
- 具体的にどんなネイティブの機能を使うか
- 信頼できないHTMLを読み込むか?

アプリをiOSとAndroidに対応させるとして、どっちにまずあわせるのか?
- AndroidよりiOSの描画がはるかに動きが滑らかでかるい
- まずは、Androidでまともに動くことを確認してからiOSでも確認する
- 逆だと、iOSでは動くがAndroidでは重すぎて使い物にならないことが多い

ネイティブとHTML5は何をどっちで実装する?
- HTML5は万能ではないため、パフォーマンス上無理っぽいところもある
- どんなものをHTML5で実装できるか考える
- どんなものをネイティブで実装するか考える

たとえばゲームのようなアプリだと、ネイティブとHTML5ではグラフィックと開発速度があまりつりあわない
ネイティブでは、高度なグラフィック処理・リアルタイム性が優れているけどHTML5では優れていない。逆にネイティブでは、開発速度・学習コストが高いけど、HTML5ではコストがもっと低いため両方の長所をうまく活用すること

JavaScriptでアニメーションを実装すると大変重いのでCSSアニメーションで解決
アニメーションはGPUを活用するように
jQueryの代わりにjQuery APIの互換性持っているZepto.jsを使う。jQueryより動作が軽いため
画面の傾きではwindow.orientationで実装できるが、orientationChangeイベントはポータビリティが低いため使わないほうがいい
モバイルの通信速度を考慮してJavaScript/CSSのファイルは圧縮しておくこと

ハイブリッドアプリ開発する際に気をつけるべきバグ
- orientationの扱い方
- Android4系ではCSSのorientationがおかしい
- Android4系でassetsから512回読み込みで落ちるバグ
- 開発してみて初めて遭うバグも

セキュリティについて
- XSSに気をつけること
- iframeで信頼できないURLを呼び込む際も注意

そのほかの注意点はハイブリッドアプリは銀の弾丸ではなくレスポンシブの遅いアプリになれるし動作不安定になる場合もあり、HTML5だけでやらないこと。各OSのバグを把握すること


これ↑みるとハイブリッドアプリって結構大変だなぁ・・・・
以上


あとはおまけ:
踊るAndroidくん踊るAndroidくん踊るAndroidくん