SlideShare a Scribd company logo
iPhoneとAndroidの
 アプリ開発最新潮流



   Rakuten, Inc. May/9/2012
今日のトピック




1   開発環境の動向




2   アプリケーションの動向




3   陥りやすいポイント




4   テスト環境




                          1
1   開発環境の動向




              2
標準のツール


•   iPhone
     – Xcode
     – Simulator
     – 言語 Objective-C
•   Android
     – Eclipse + ADT
     – Emulator
         • 最近 GPU サポートがついて幾らか使えるレベルに
     – 言語 Java
     – NDK を使って C, C++ で一部、及び全体を実装することも可能
         • 一部をC,C++で書いた場合、JNI経由で関数を呼び出す。
         • 既存のC,C++で書かれたライブラリを移植する際にも有効




                                            3
iPhone


• 最新の環境は iOS 5.1
• 日本でデビューして間もなく4年
  – 当時は iPhone OS 2.0 だった。
  – 名前も iPhone OS から iOS に
    • iOS 4.0 から
• デバイスの進化とともに OS も機能が増えて進化
  – GPS, 電子コンパス, ジャイロスコープ、iPad
  – 5.1では日本語のディクテーションもサポート




                                 4
アプリの動作対象OSバージョン - iOS


•   新バージョンのOSでしか使えないAPIを使うとき


     if (NSClassFromString(@"UIDictationPhrase")) {
         //使用出来る場合のコード
     }

•   新バージョンのOSにしか存在しないフレームワークを使うとき
    – 対象となるフレームワークを weak link にする。




                                                      5
Android


• 最新の環境は4.0.x (ics … Ice Cream Sandwich)
• 日本での端末デビューからは3年だが、
  – 開発環境はオープンだったため、デバイス登場以前から
    日本Androidの会の元となったAndroid勉強会などの活
    動でアプリ開発は進められていた。
• GPS, 電子コンパス, ジャイロスコープ、に加えてNFCも
  ある。




                                           6
メモリ管理


• iOS
   – リファレンスカウント
   – ARC
      • iOS 5.0 より
• Android
   – Java … garbage collection




                                 7
iOS - ARC


• Automatic Reference Counting
   – GC とは異なる。
   – リファレンスカウントの自動化
       • [object retain], [object release] が不要になる。
   – 人の手だけでは漏れがちなメモリリーク、二重解放などを削減
     できる。
   – コンパイラレベルで自動化されている。
       • Apple LLVM compiler
   – iOS 4以降が対象、積極的に使うべき
      • フルに活用するには iOS 5 以降
         – iOS4では __weak 修飾子が使えない




                                                     8
タブレット対応


• iOS
   – Universal Application
      • iPhone, iPad 両方で動くアプリ
• Android
   – Fragment
      • 画面の広さに合わせて動的にレイアウトを変更
   – Multiple APK Support
      • Google Play (旧 Android Market)
          – 一つのアプリ登録で複数のバイナリ(apk)を登録
            可能




                                         9
Android - Fragment


• デバイスの画面に合わせて画面の構成を動的に変えられる。
• 例:メーラーアプリ
  – 解像度が高く画面も広いタブレットではマルチペイン
  – 画面の狭いフォン端末ではシングルペイン




                                   10
Android – Multiple APK Support


• フィルター毎に別々のapkをビルドして提供出来る。
  – Google Play上は一種類のアプリ
• フィルターの種類
  – OpenGL の textuer 圧縮方式
  – スクリーンサイズ
  – API Level




                                       11
デバイスの画面解像度


•   今やiOSデバイスも4種類!
    –   320x480 … iPhone 3GS 以前
    –   640x960 … iPhone 4 以降 (Retina Display)
    –   1024x768 … iPad, iPad2
    –   2048x1536 … New iPad (Retina Display)
•   Android 多くの種類の解像度
    –   320x480 … 初代Android端末 G1 等
    –   480x800
    –   480x854
    –   540x960
    –   1280x800
    –   …..
•   解像度に依存しない実装を!




                                                 12
解決方法


• iOSのアプローチ
   – Pixel ではなく Point という概念
   – XXX.png と XXX@2x.png というリソースを用意する。
       • 実行時に自動的に判断して読み分けられる。
• Android
   – dip という単位
       • Density Independent Pixels … 密度非依存のピクセル
       • 同じ値ならば異なる解像度でも見た目は同じ大きさになる
         よう表示される。
   – 解像度の細かさ毎のリソースを用意
       • drawable-mdpi, drawable-hdpi 等




                                                   13
サードパーティ製の開発ツール


• Titanium
   – Java Script
• PhoneGap
   – HTML5 アプリケーションをネイティブアプリ化する
• Unity
   – 3Dグラフィクスを活用したゲーム向け
   – C#, Java Script
• これら3つに共通する特徴
   – iPhone, Android どちらのアプリも作ることができる。



                                         14
2   アプリケーションの動向




                  15
UI


• どんどん凝る方向に
   – 例: Path, iPhoto, Clear
• Android
   – ics でハードボタンは無くなる方向に
   – Fragment




                              16
他アプリとの連携


• Android
   – Intentでシームレスに
• iPhone
   – URLScheme
   – Androidほどシームレスではない




                          17
3   陥りやすいポイント




                18
iPhoneとAndroid両方にあるアプリ


• ありがちなこと
  – 「Android版もiPhoneと同じUIに」---×
• 事例: Twitter 公式アプリ
  – iPhone版、Android版ともにリリースされている。
  – タブバーの位置が異なる。
    • iPhoneは下
    • Androidは上




                                    19
セキュリティ


• Android Manifest 設定
   – 不要なものはセットしない
      • 情報を抜き取るアプリではないかと怪しまれる。
• ユーザー識別にUDIDは使用しない
 – iOS 5.0 以降 UDID取得APIはobsoleteに。




                                     20
4   テスト環境




            21
テストの自動化


• 各プラットフォーム固有のもの
  – iPhone
      • UIAutomation
  – Android
     • monkeyrunner
• 両方で使えるもの
  – NativeDriver (Google, Open Source) --- 開発終了
  – MonkeyTalk (GORILLA LOGIC)




                                                  22
CI


• Continuous Integration(継続的インテグレーション)
   – 主にプログラマーのアプリケーション作成時の品質
     改善や納期の短縮のための習慣。XPのプラクテイ
     スの一つで、狭義にはビルドやテスト、インスペク
     ションなどを継続的に実行していくことを意味する。
     … Wikipediaより




                                         23
CIをサポートするツール


• Jenkins
  – iPhone, Androidの開発でも使用事例が増えている。
  – プラグイン
     • Xcode用
     • Android emulator 用
• コードレビューとの組み合わせ
  – Gerrit
  – Jenkinsでビルドが通ることを自動確認し、通らなけ
    れば自動でリジェクト




                                      24

More Related Content

What's hot

Xcode 5のAsset Catalogにまつわる今すぐ使えるTips集
Xcode 5のAsset Catalogにまつわる今すぐ使えるTips集Xcode 5のAsset Catalogにまつわる今すぐ使えるTips集
Xcode 5のAsset Catalogにまつわる今すぐ使えるTips集
yuki0211s
 
React Video Player
React Video PlayerReact Video Player
React Video Player
yugo matsumoto
 
エンジニアリングするデザイナーが領域を超えて見えたこと
エンジニアリングするデザイナーが領域を超えて見えたことエンジニアリングするデザイナーが領域を超えて見えたこと
エンジニアリングするデザイナーが領域を超えて見えたこと
Mayumi Narisawa
 
iOS Traning #0
iOS Traning #0iOS Traning #0
iOS Traning #0
yuichi takeda
 
Unity,Cocos-2dx,AIRを徹底比較!最新クロスプラットフォーム事情、FLASHを使ってiPhone/Androidアプリを作ろう!【とのさまラボ】
Unity,Cocos-2dx,AIRを徹底比較!最新クロスプラットフォーム事情、FLASHを使ってiPhone/Androidアプリを作ろう!【とのさまラボ】Unity,Cocos-2dx,AIRを徹底比較!最新クロスプラットフォーム事情、FLASHを使ってiPhone/Androidアプリを作ろう!【とのさまラボ】
Unity,Cocos-2dx,AIRを徹底比較!最新クロスプラットフォーム事情、FLASHを使ってiPhone/Androidアプリを作ろう!【とのさまラボ】
schoowebcampus
 
【社内LT】AdobeAIRでアプリ
【社内LT】AdobeAIRでアプリ【社内LT】AdobeAIRでアプリ
【社内LT】AdobeAIRでアプリVitalify.Inc
 
[社内向け]Titanium勉強会
[社内向け]Titanium勉強会[社内向け]Titanium勉強会
[社内向け]Titanium勉強会
Rei Matsushita
 
クリスマス直前! HTML5 で作る♥ はじめての iOS & Android アプリ開発
クリスマス直前!HTML5 で作る♥はじめての iOS & Android アプリ開発クリスマス直前!HTML5 で作る♥はじめての iOS & Android アプリ開発
クリスマス直前! HTML5 で作る♥ はじめての iOS & Android アプリ開発
Osamu Monoe
 
myCobotがある生活
myCobotがある生活myCobotがある生活
myCobotがある生活
Ryo Kabutan
 
”iOSアプリ開発の先に何があるのか” ヤフー VS クラスメソッド iOS炎の7番勝負 #7
”iOSアプリ開発の先に何があるのか” ヤフー VS クラスメソッド iOS炎の7番勝負 #7”iOSアプリ開発の先に何があるのか” ヤフー VS クラスメソッド iOS炎の7番勝負 #7
”iOSアプリ開発の先に何があるのか” ヤフー VS クラスメソッド iOS炎の7番勝負 #7Takeshi Fukasawa
 
20101127 Android Usability Seminar
20101127 Android Usability Seminar20101127 Android Usability Seminar
20101127 Android Usability SeminarVisso株式会社
 
Yahoo vs classmethod-introduction
Yahoo vs classmethod-introductionYahoo vs classmethod-introduction
Yahoo vs classmethod-introductionRikitake Oohashi
 
はじめる前に知っておきたいAndroidアプリ開発のポイント
はじめる前に知っておきたいAndroidアプリ開発のポイントはじめる前に知っておきたいAndroidアプリ開発のポイント
はじめる前に知っておきたいAndroidアプリ開発のポイント
Shinobu Okano
 
ロボット管理プラットフォーム「 RoboticBase 」の紹介
ロボット管理プラットフォーム「 RoboticBase 」の紹介ロボット管理プラットフォーム「 RoboticBase 」の紹介
ロボット管理プラットフォーム「 RoboticBase 」の紹介
Kazuki Urabe
 
Appium を使って iOS / Android の UI テストを共通化
Appium を使って iOS / Android の UI テストを共通化Appium を使って iOS / Android の UI テストを共通化
Appium を使って iOS / Android の UI テストを共通化
健一 辰濱
 
Node-red 10本ノック(visual recognition apiを絡めて)
Node-red 10本ノック(visual recognition apiを絡めて)Node-red 10本ノック(visual recognition apiを絡めて)
Node-red 10本ノック(visual recognition apiを絡めて)
岡田 裕行
 
ネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについて
ネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについてネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについて
ネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについて
Kazuaki Hidaka
 
ABC2016Spring Androidアプリ実装アンチパターン(暫定)
ABC2016Spring Androidアプリ実装アンチパターン(暫定)ABC2016Spring Androidアプリ実装アンチパターン(暫定)
ABC2016Spring Androidアプリ実装アンチパターン(暫定)
mokelab
 
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
hmimura_embarcadero
 

What's hot (19)

Xcode 5のAsset Catalogにまつわる今すぐ使えるTips集
Xcode 5のAsset Catalogにまつわる今すぐ使えるTips集Xcode 5のAsset Catalogにまつわる今すぐ使えるTips集
Xcode 5のAsset Catalogにまつわる今すぐ使えるTips集
 
React Video Player
React Video PlayerReact Video Player
React Video Player
 
エンジニアリングするデザイナーが領域を超えて見えたこと
エンジニアリングするデザイナーが領域を超えて見えたことエンジニアリングするデザイナーが領域を超えて見えたこと
エンジニアリングするデザイナーが領域を超えて見えたこと
 
iOS Traning #0
iOS Traning #0iOS Traning #0
iOS Traning #0
 
Unity,Cocos-2dx,AIRを徹底比較!最新クロスプラットフォーム事情、FLASHを使ってiPhone/Androidアプリを作ろう!【とのさまラボ】
Unity,Cocos-2dx,AIRを徹底比較!最新クロスプラットフォーム事情、FLASHを使ってiPhone/Androidアプリを作ろう!【とのさまラボ】Unity,Cocos-2dx,AIRを徹底比較!最新クロスプラットフォーム事情、FLASHを使ってiPhone/Androidアプリを作ろう!【とのさまラボ】
Unity,Cocos-2dx,AIRを徹底比較!最新クロスプラットフォーム事情、FLASHを使ってiPhone/Androidアプリを作ろう!【とのさまラボ】
 
【社内LT】AdobeAIRでアプリ
【社内LT】AdobeAIRでアプリ【社内LT】AdobeAIRでアプリ
【社内LT】AdobeAIRでアプリ
 
[社内向け]Titanium勉強会
[社内向け]Titanium勉強会[社内向け]Titanium勉強会
[社内向け]Titanium勉強会
 
クリスマス直前! HTML5 で作る♥ はじめての iOS & Android アプリ開発
クリスマス直前!HTML5 で作る♥はじめての iOS & Android アプリ開発クリスマス直前!HTML5 で作る♥はじめての iOS & Android アプリ開発
クリスマス直前! HTML5 で作る♥ はじめての iOS & Android アプリ開発
 
myCobotがある生活
myCobotがある生活myCobotがある生活
myCobotがある生活
 
”iOSアプリ開発の先に何があるのか” ヤフー VS クラスメソッド iOS炎の7番勝負 #7
”iOSアプリ開発の先に何があるのか” ヤフー VS クラスメソッド iOS炎の7番勝負 #7”iOSアプリ開発の先に何があるのか” ヤフー VS クラスメソッド iOS炎の7番勝負 #7
”iOSアプリ開発の先に何があるのか” ヤフー VS クラスメソッド iOS炎の7番勝負 #7
 
20101127 Android Usability Seminar
20101127 Android Usability Seminar20101127 Android Usability Seminar
20101127 Android Usability Seminar
 
Yahoo vs classmethod-introduction
Yahoo vs classmethod-introductionYahoo vs classmethod-introduction
Yahoo vs classmethod-introduction
 
はじめる前に知っておきたいAndroidアプリ開発のポイント
はじめる前に知っておきたいAndroidアプリ開発のポイントはじめる前に知っておきたいAndroidアプリ開発のポイント
はじめる前に知っておきたいAndroidアプリ開発のポイント
 
ロボット管理プラットフォーム「 RoboticBase 」の紹介
ロボット管理プラットフォーム「 RoboticBase 」の紹介ロボット管理プラットフォーム「 RoboticBase 」の紹介
ロボット管理プラットフォーム「 RoboticBase 」の紹介
 
Appium を使って iOS / Android の UI テストを共通化
Appium を使って iOS / Android の UI テストを共通化Appium を使って iOS / Android の UI テストを共通化
Appium を使って iOS / Android の UI テストを共通化
 
Node-red 10本ノック(visual recognition apiを絡めて)
Node-red 10本ノック(visual recognition apiを絡めて)Node-red 10本ノック(visual recognition apiを絡めて)
Node-red 10本ノック(visual recognition apiを絡めて)
 
ネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについて
ネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについてネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについて
ネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについて
 
ABC2016Spring Androidアプリ実装アンチパターン(暫定)
ABC2016Spring Androidアプリ実装アンチパターン(暫定)ABC2016Spring Androidアプリ実装アンチパターン(暫定)
ABC2016Spring Androidアプリ実装アンチパターン(暫定)
 
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
 

Viewers also liked

Intro to GraphQL
 Intro to GraphQL Intro to GraphQL
Intro to GraphQL
Rakuten Group, Inc.
 
楽天のプライベートクラウドを支えるフラッシュストレージ
楽天のプライベートクラウドを支えるフラッシュストレージ楽天のプライベートクラウドを支えるフラッシュストレージ
楽天のプライベートクラウドを支えるフラッシュストレージ
Rakuten Group, Inc.
 
楽天がCloud foundryを選んだ理由
楽天がCloud foundryを選んだ理由楽天がCloud foundryを選んだ理由
楽天がCloud foundryを選んだ理由
Rakuten Group, Inc.
 
チケット駆動のサーバ/インフラ運用における問題点と手動作業の自動化
チケット駆動のサーバ/インフラ運用における問題点と手動作業の自動化チケット駆動のサーバ/インフラ運用における問題点と手動作業の自動化
チケット駆動のサーバ/インフラ運用における問題点と手動作業の自動化
Rakuten Group, Inc.
 
E-commerce企業におけるビッグデータ活用の取り組みと今後の展望
E-commerce企業におけるビッグデータ活用の取り組みと今後の展望E-commerce企業におけるビッグデータ活用の取り組みと今後の展望
E-commerce企業におけるビッグデータ活用の取り組みと今後の展望
Rakuten Group, Inc.
 
Clustrixによる社内データベースクラウド環境の提供
Clustrixによる社内データベースクラウド環境の提供Clustrixによる社内データベースクラウド環境の提供
Clustrixによる社内データベースクラウド環境の提供
Rakuten Group, Inc.
 
Hadoop Conference Japan 2009 #2
Hadoop Conference Japan 2009 #2Hadoop Conference Japan 2009 #2
Hadoop Conference Japan 2009 #2
Rakuten Group, Inc.
 
Hadoop Conference Japan 2009 #1
Hadoop Conference Japan 2009 #1Hadoop Conference Japan 2009 #1
Hadoop Conference Japan 2009 #1
Rakuten Group, Inc.
 
インターネットガバナンス徒然2010-2
インターネットガバナンス徒然2010-2インターネットガバナンス徒然2010-2
インターネットガバナンス徒然2010-2
Rakuten Group, Inc.
 
[Rakuten TechConf2014] [Sendai] Sense of SENS
[Rakuten TechConf2014] [Sendai] Sense of SENS[Rakuten TechConf2014] [Sendai] Sense of SENS
[Rakuten TechConf2014] [Sendai] Sense of SENS
Rakuten Group, Inc.
 
買収案件のセキュリティテストを円滑に進める手段
買収案件のセキュリティテストを円滑に進める手段買収案件のセキュリティテストを円滑に進める手段
買収案件のセキュリティテストを円滑に進める手段
Rakuten Group, Inc.
 
ROMA on JRuby at JRubyKaigi 2010
ROMA on JRuby at JRubyKaigi 2010ROMA on JRuby at JRubyKaigi 2010
ROMA on JRuby at JRubyKaigi 2010
Rakuten Group, Inc.
 
ROMA -- An Customizable-NoSQL Database in Ruby at NoSQL Afternoon in Japan
ROMA -- An Customizable-NoSQL Database in Ruby at NoSQL Afternoon in JapanROMA -- An Customizable-NoSQL Database in Ruby at NoSQL Afternoon in Japan
ROMA -- An Customizable-NoSQL Database in Ruby at NoSQL Afternoon in JapanRakuten Group, Inc.
 
プレゼン勉強会 「イイタイコト 革命」Study session on presentation "What you want to say" Revol...
プレゼン勉強会 「イイタイコト 革命」Study session on presentation "What you want to say" Revol...プレゼン勉強会 「イイタイコト 革命」Study session on presentation "What you want to say" Revol...
プレゼン勉強会 「イイタイコト 革命」Study session on presentation "What you want to say" Revol...
Rakuten Group, Inc.
 
第4回楽天研究開発シンポジウム.開会挨拶
第4回楽天研究開発シンポジウム.開会挨拶第4回楽天研究開発シンポジウム.開会挨拶
第4回楽天研究開発シンポジウム.開会挨拶
Rakuten Group, Inc.
 
[RakutenTechConf2013] [C-0] 日本にいたまま英語ペラペラ化!来年は海外カンファレンスでしゃべろう!
[RakutenTechConf2013] [C-0] 日本にいたまま英語ペラペラ化!来年は海外カンファレンスでしゃべろう![RakutenTechConf2013] [C-0] 日本にいたまま英語ペラペラ化!来年は海外カンファレンスでしゃべろう!
[RakutenTechConf2013] [C-0] 日本にいたまま英語ペラペラ化!来年は海外カンファレンスでしゃべろう!
Rakuten Group, Inc.
 
ネットワーク分散型フレームワークConView
ネットワーク分散型フレームワークConViewネットワーク分散型フレームワークConView
ネットワーク分散型フレームワークConView
Rakuten Group, Inc.
 
Devsumi2012フィードバック オープニング
Devsumi2012フィードバック オープニングDevsumi2012フィードバック オープニング
Devsumi2012フィードバック オープニングRakuten Group, Inc.
 
楽天テクノロジーカンファレン2009 基調講演
楽天テクノロジーカンファレン2009 基調講演楽天テクノロジーカンファレン2009 基調講演
楽天テクノロジーカンファレン2009 基調講演
Rakuten Group, Inc.
 
Afthon rakuten api_introduce_20130406
Afthon rakuten api_introduce_20130406Afthon rakuten api_introduce_20130406
Afthon rakuten api_introduce_20130406
rakuten-webservice
 

Viewers also liked (20)

Intro to GraphQL
 Intro to GraphQL Intro to GraphQL
Intro to GraphQL
 
楽天のプライベートクラウドを支えるフラッシュストレージ
楽天のプライベートクラウドを支えるフラッシュストレージ楽天のプライベートクラウドを支えるフラッシュストレージ
楽天のプライベートクラウドを支えるフラッシュストレージ
 
楽天がCloud foundryを選んだ理由
楽天がCloud foundryを選んだ理由楽天がCloud foundryを選んだ理由
楽天がCloud foundryを選んだ理由
 
チケット駆動のサーバ/インフラ運用における問題点と手動作業の自動化
チケット駆動のサーバ/インフラ運用における問題点と手動作業の自動化チケット駆動のサーバ/インフラ運用における問題点と手動作業の自動化
チケット駆動のサーバ/インフラ運用における問題点と手動作業の自動化
 
E-commerce企業におけるビッグデータ活用の取り組みと今後の展望
E-commerce企業におけるビッグデータ活用の取り組みと今後の展望E-commerce企業におけるビッグデータ活用の取り組みと今後の展望
E-commerce企業におけるビッグデータ活用の取り組みと今後の展望
 
Clustrixによる社内データベースクラウド環境の提供
Clustrixによる社内データベースクラウド環境の提供Clustrixによる社内データベースクラウド環境の提供
Clustrixによる社内データベースクラウド環境の提供
 
Hadoop Conference Japan 2009 #2
Hadoop Conference Japan 2009 #2Hadoop Conference Japan 2009 #2
Hadoop Conference Japan 2009 #2
 
Hadoop Conference Japan 2009 #1
Hadoop Conference Japan 2009 #1Hadoop Conference Japan 2009 #1
Hadoop Conference Japan 2009 #1
 
インターネットガバナンス徒然2010-2
インターネットガバナンス徒然2010-2インターネットガバナンス徒然2010-2
インターネットガバナンス徒然2010-2
 
[Rakuten TechConf2014] [Sendai] Sense of SENS
[Rakuten TechConf2014] [Sendai] Sense of SENS[Rakuten TechConf2014] [Sendai] Sense of SENS
[Rakuten TechConf2014] [Sendai] Sense of SENS
 
買収案件のセキュリティテストを円滑に進める手段
買収案件のセキュリティテストを円滑に進める手段買収案件のセキュリティテストを円滑に進める手段
買収案件のセキュリティテストを円滑に進める手段
 
ROMA on JRuby at JRubyKaigi 2010
ROMA on JRuby at JRubyKaigi 2010ROMA on JRuby at JRubyKaigi 2010
ROMA on JRuby at JRubyKaigi 2010
 
ROMA -- An Customizable-NoSQL Database in Ruby at NoSQL Afternoon in Japan
ROMA -- An Customizable-NoSQL Database in Ruby at NoSQL Afternoon in JapanROMA -- An Customizable-NoSQL Database in Ruby at NoSQL Afternoon in Japan
ROMA -- An Customizable-NoSQL Database in Ruby at NoSQL Afternoon in Japan
 
プレゼン勉強会 「イイタイコト 革命」Study session on presentation "What you want to say" Revol...
プレゼン勉強会 「イイタイコト 革命」Study session on presentation "What you want to say" Revol...プレゼン勉強会 「イイタイコト 革命」Study session on presentation "What you want to say" Revol...
プレゼン勉強会 「イイタイコト 革命」Study session on presentation "What you want to say" Revol...
 
第4回楽天研究開発シンポジウム.開会挨拶
第4回楽天研究開発シンポジウム.開会挨拶第4回楽天研究開発シンポジウム.開会挨拶
第4回楽天研究開発シンポジウム.開会挨拶
 
[RakutenTechConf2013] [C-0] 日本にいたまま英語ペラペラ化!来年は海外カンファレンスでしゃべろう!
[RakutenTechConf2013] [C-0] 日本にいたまま英語ペラペラ化!来年は海外カンファレンスでしゃべろう![RakutenTechConf2013] [C-0] 日本にいたまま英語ペラペラ化!来年は海外カンファレンスでしゃべろう!
[RakutenTechConf2013] [C-0] 日本にいたまま英語ペラペラ化!来年は海外カンファレンスでしゃべろう!
 
ネットワーク分散型フレームワークConView
ネットワーク分散型フレームワークConViewネットワーク分散型フレームワークConView
ネットワーク分散型フレームワークConView
 
Devsumi2012フィードバック オープニング
Devsumi2012フィードバック オープニングDevsumi2012フィードバック オープニング
Devsumi2012フィードバック オープニング
 
楽天テクノロジーカンファレン2009 基調講演
楽天テクノロジーカンファレン2009 基調講演楽天テクノロジーカンファレン2009 基調講演
楽天テクノロジーカンファレン2009 基調講演
 
Afthon rakuten api_introduce_20130406
Afthon rakuten api_introduce_20130406Afthon rakuten api_introduce_20130406
Afthon rakuten api_introduce_20130406
 

Similar to iPhoneとAndroidのアプリ開発最新潮流

Sencha & Delphi Ready Studiy
Sencha & Delphi Ready StudiySencha & Delphi Ready Studiy
Sencha & Delphi Ready Studiy
Jun Hosokawa
 
C#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouchC#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouchShin Ise
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンスKaoru NAKAMURA
 
Google io2011報告
Google io2011報告Google io2011報告
Google io2011報告cat kaotaro
 
Android Develop presentation on 19 Sep 2012.
Android Develop presentation on 19 Sep 2012.Android Develop presentation on 19 Sep 2012.
Android Develop presentation on 19 Sep 2012.
Kazuaki Ueda
 
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
Kaz Furukawa
 
Androidアプリ解析の基礎 公開用
Androidアプリ解析の基礎 公開用Androidアプリ解析の基礎 公開用
Androidアプリ解析の基礎 公開用
Lumin Hacker
 
DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~
DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~
DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~
decode2016
 
Androidとは。ちょっと変った視点から
Androidとは。ちょっと変った視点からAndroidとは。ちょっと変った視点から
Androidとは。ちょっと変った視点からdemuyan
 
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)
Kenichi Kambara
 
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
リモート・スマホ・レンタル(第2回 Androidテスト祭り)リモート・スマホ・レンタル(第2回 Androidテスト祭り)
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
NTT Resonant Technology Inc.
 
みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」techtalkdwango
 
iOS9/iPadとマルチタスキング
iOS9/iPadとマルチタスキングiOS9/iPadとマルチタスキング
iOS9/iPadとマルチタスキング
Akinori Adachi
 
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop20120413 nestakabaneworkshop
20120413 nestakabaneworkshopYoichiro Sakurai
 
ソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないもの
ソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないものソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないもの
ソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないもの
Jun Hosokawa
 
これからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れこれからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れMitsuru Katoh
 
デバイス WebAPI設計の進め方
デバイス WebAPI設計の進め方デバイス WebAPI設計の進め方
デバイス WebAPI設計の進め方
Device WebAPI Consortium
 

Similar to iPhoneとAndroidのアプリ開発最新潮流 (20)

Sencha & Delphi Ready Studiy
Sencha & Delphi Ready StudiySencha & Delphi Ready Studiy
Sencha & Delphi Ready Studiy
 
C#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouchC#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouch
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
 
Google io2011報告
Google io2011報告Google io2011報告
Google io2011報告
 
Android Develop presentation on 19 Sep 2012.
Android Develop presentation on 19 Sep 2012.Android Develop presentation on 19 Sep 2012.
Android Develop presentation on 19 Sep 2012.
 
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
 
Androidアプリ解析の基礎 公開用
Androidアプリ解析の基礎 公開用Androidアプリ解析の基礎 公開用
Androidアプリ解析の基礎 公開用
 
DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~
DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~
DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~
 
Androidとは。ちょっと変った視点から
Androidとは。ちょっと変った視点からAndroidとは。ちょっと変った視点から
Androidとは。ちょっと変った視点から
 
Unity ゲーム開発
Unity ゲーム開発Unity ゲーム開発
Unity ゲーム開発
 
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)
 
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
リモート・スマホ・レンタル(第2回 Androidテスト祭り)リモート・スマホ・レンタル(第2回 Androidテスト祭り)
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
 
みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」
 
iOS9/iPadとマルチタスキング
iOS9/iPadとマルチタスキングiOS9/iPadとマルチタスキング
iOS9/iPadとマルチタスキング
 
BlackJack
BlackJackBlackJack
BlackJack
 
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop20120413 nestakabaneworkshop
20120413 nestakabaneworkshop
 
ソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないもの
ソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないものソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないもの
ソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないもの
 
Android0422
Android0422Android0422
Android0422
 
これからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れこれからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れ
 
デバイス WebAPI設計の進め方
デバイス WebAPI設計の進め方デバイス WebAPI設計の進め方
デバイス WebAPI設計の進め方
 

More from Rakuten Group, Inc.

コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
Rakuten Group, Inc.
 
楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり
Rakuten Group, Inc.
 
What Makes Software Green?
What Makes Software Green?What Makes Software Green?
What Makes Software Green?
Rakuten Group, Inc.
 
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Rakuten Group, Inc.
 
DataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みDataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組み
Rakuten Group, Inc.
 
大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開
Rakuten Group, Inc.
 
楽天における大規模データベースの運用
楽天における大規模データベースの運用楽天における大規模データベースの運用
楽天における大規模データベースの運用
Rakuten Group, Inc.
 
楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー
Rakuten Group, Inc.
 
楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割
Rakuten Group, Inc.
 
Rakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdf
Rakuten Group, Inc.
 
The Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfThe Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdf
Rakuten Group, Inc.
 
Supporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfSupporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdf
Rakuten Group, Inc.
 
Making Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfMaking Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdf
Rakuten Group, Inc.
 
How We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfHow We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdf
Rakuten Group, Inc.
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech info
Rakuten Group, Inc.
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech info
Rakuten Group, Inc.
 
OWASPTop10_Introduction
OWASPTop10_IntroductionOWASPTop10_Introduction
OWASPTop10_Introduction
Rakuten Group, Inc.
 
Introduction of GORA API Group technology
Introduction of GORA API Group technologyIntroduction of GORA API Group technology
Introduction of GORA API Group technology
Rakuten Group, Inc.
 
100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情
Rakuten Group, Inc.
 
社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー
Rakuten Group, Inc.
 

More from Rakuten Group, Inc. (20)

コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
 
楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり
 
What Makes Software Green?
What Makes Software Green?What Makes Software Green?
What Makes Software Green?
 
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
 
DataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みDataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組み
 
大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開
 
楽天における大規模データベースの運用
楽天における大規模データベースの運用楽天における大規模データベースの運用
楽天における大規模データベースの運用
 
楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー
 
楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割
 
Rakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdf
 
The Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfThe Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdf
 
Supporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfSupporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdf
 
Making Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfMaking Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdf
 
How We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfHow We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdf
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech info
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech info
 
OWASPTop10_Introduction
OWASPTop10_IntroductionOWASPTop10_Introduction
OWASPTop10_Introduction
 
Introduction of GORA API Group technology
Introduction of GORA API Group technologyIntroduction of GORA API Group technology
Introduction of GORA API Group technology
 
100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情
 
社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー
 

Recently uploaded

2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 

Recently uploaded (16)

2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 

iPhoneとAndroidのアプリ開発最新潮流

  • 2. 今日のトピック 1 開発環境の動向 2 アプリケーションの動向 3 陥りやすいポイント 4 テスト環境 1
  • 3. 1 開発環境の動向 2
  • 4. 標準のツール • iPhone – Xcode – Simulator – 言語 Objective-C • Android – Eclipse + ADT – Emulator • 最近 GPU サポートがついて幾らか使えるレベルに – 言語 Java – NDK を使って C, C++ で一部、及び全体を実装することも可能 • 一部をC,C++で書いた場合、JNI経由で関数を呼び出す。 • 既存のC,C++で書かれたライブラリを移植する際にも有効 3
  • 5. iPhone • 最新の環境は iOS 5.1 • 日本でデビューして間もなく4年 – 当時は iPhone OS 2.0 だった。 – 名前も iPhone OS から iOS に • iOS 4.0 から • デバイスの進化とともに OS も機能が増えて進化 – GPS, 電子コンパス, ジャイロスコープ、iPad – 5.1では日本語のディクテーションもサポート 4
  • 6. アプリの動作対象OSバージョン - iOS • 新バージョンのOSでしか使えないAPIを使うとき if (NSClassFromString(@"UIDictationPhrase")) { //使用出来る場合のコード } • 新バージョンのOSにしか存在しないフレームワークを使うとき – 対象となるフレームワークを weak link にする。 5
  • 7. Android • 最新の環境は4.0.x (ics … Ice Cream Sandwich) • 日本での端末デビューからは3年だが、 – 開発環境はオープンだったため、デバイス登場以前から 日本Androidの会の元となったAndroid勉強会などの活 動でアプリ開発は進められていた。 • GPS, 電子コンパス, ジャイロスコープ、に加えてNFCも ある。 6
  • 8. メモリ管理 • iOS – リファレンスカウント – ARC • iOS 5.0 より • Android – Java … garbage collection 7
  • 9. iOS - ARC • Automatic Reference Counting – GC とは異なる。 – リファレンスカウントの自動化 • [object retain], [object release] が不要になる。 – 人の手だけでは漏れがちなメモリリーク、二重解放などを削減 できる。 – コンパイラレベルで自動化されている。 • Apple LLVM compiler – iOS 4以降が対象、積極的に使うべき • フルに活用するには iOS 5 以降 – iOS4では __weak 修飾子が使えない 8
  • 10. タブレット対応 • iOS – Universal Application • iPhone, iPad 両方で動くアプリ • Android – Fragment • 画面の広さに合わせて動的にレイアウトを変更 – Multiple APK Support • Google Play (旧 Android Market) – 一つのアプリ登録で複数のバイナリ(apk)を登録 可能 9
  • 11. Android - Fragment • デバイスの画面に合わせて画面の構成を動的に変えられる。 • 例:メーラーアプリ – 解像度が高く画面も広いタブレットではマルチペイン – 画面の狭いフォン端末ではシングルペイン 10
  • 12. Android – Multiple APK Support • フィルター毎に別々のapkをビルドして提供出来る。 – Google Play上は一種類のアプリ • フィルターの種類 – OpenGL の textuer 圧縮方式 – スクリーンサイズ – API Level 11
  • 13. デバイスの画面解像度 • 今やiOSデバイスも4種類! – 320x480 … iPhone 3GS 以前 – 640x960 … iPhone 4 以降 (Retina Display) – 1024x768 … iPad, iPad2 – 2048x1536 … New iPad (Retina Display) • Android 多くの種類の解像度 – 320x480 … 初代Android端末 G1 等 – 480x800 – 480x854 – 540x960 – 1280x800 – ….. • 解像度に依存しない実装を! 12
  • 14. 解決方法 • iOSのアプローチ – Pixel ではなく Point という概念 – XXX.png と XXX@2x.png というリソースを用意する。 • 実行時に自動的に判断して読み分けられる。 • Android – dip という単位 • Density Independent Pixels … 密度非依存のピクセル • 同じ値ならば異なる解像度でも見た目は同じ大きさになる よう表示される。 – 解像度の細かさ毎のリソースを用意 • drawable-mdpi, drawable-hdpi 等 13
  • 15. サードパーティ製の開発ツール • Titanium – Java Script • PhoneGap – HTML5 アプリケーションをネイティブアプリ化する • Unity – 3Dグラフィクスを活用したゲーム向け – C#, Java Script • これら3つに共通する特徴 – iPhone, Android どちらのアプリも作ることができる。 14
  • 16. 2 アプリケーションの動向 15
  • 17. UI • どんどん凝る方向に – 例: Path, iPhoto, Clear • Android – ics でハードボタンは無くなる方向に – Fragment 16
  • 18. 他アプリとの連携 • Android – Intentでシームレスに • iPhone – URLScheme – Androidほどシームレスではない 17
  • 19. 3 陥りやすいポイント 18
  • 20. iPhoneとAndroid両方にあるアプリ • ありがちなこと – 「Android版もiPhoneと同じUIに」---× • 事例: Twitter 公式アプリ – iPhone版、Android版ともにリリースされている。 – タブバーの位置が異なる。 • iPhoneは下 • Androidは上 19
  • 21. セキュリティ • Android Manifest 設定 – 不要なものはセットしない • 情報を抜き取るアプリではないかと怪しまれる。 • ユーザー識別にUDIDは使用しない – iOS 5.0 以降 UDID取得APIはobsoleteに。 20
  • 22. 4 テスト環境 21
  • 23. テストの自動化 • 各プラットフォーム固有のもの – iPhone • UIAutomation – Android • monkeyrunner • 両方で使えるもの – NativeDriver (Google, Open Source) --- 開発終了 – MonkeyTalk (GORILLA LOGIC) 22
  • 24. CI • Continuous Integration(継続的インテグレーション) – 主にプログラマーのアプリケーション作成時の品質 改善や納期の短縮のための習慣。XPのプラクテイ スの一つで、狭義にはビルドやテスト、インスペク ションなどを継続的に実行していくことを意味する。 … Wikipediaより 23
  • 25. CIをサポートするツール • Jenkins – iPhone, Androidの開発でも使用事例が増えている。 – プラグイン • Xcode用 • Android emulator 用 • コードレビューとの組み合わせ – Gerrit – Jenkinsでビルドが通ることを自動確認し、通らなけ れば自動でリジェクト 24