SlideShare a Scribd company logo
Androidとの同時開発だけど
       モデルをC++で書けば
       問題ないよねっ

              @nowsprinting
               長谷川 孝二

13年2月24日日曜日
自己紹介

              仕事
              - 主にiOSアプリ開発
              ( フリーランス)

              コミュニティ活動
              - Android系
              - テスト自動化




              2月27日発売
13年2月24日日曜日
Android案件が取れない件

        お客様
        「長谷川さんにはiOS版を
         お願いします。
         Android版はA社に。」

13年2月24日日曜日
そこで



13年2月24日日曜日
Android         iOS
     View
 Controller


              Android SDK   Cocoa Touch

                 Java       Objective-C

    Model




13年2月24日日曜日
Android             iOS
     View     Android SDK     Cocoa Touch
 Controller       Java        Objective-C

                  JNI




    Model               C++ STL


13年2月24日日曜日
メリット



13年2月24日日曜日
メリット

         • C++/STLで書ける!
         • Modelはワンソース
         • View, Controllerはそれぞれのプラット
              フォームネイティブ(統一的UI)



13年2月24日日曜日
デメリット



13年2月24日日曜日
13年2月24日日曜日
Android             iOS
     View      Android SDK     Cocoa Touch
 Controller        Java        Objective-C

                   JNI


              メソッドコール頻度が増えると
              性能が出ない(と言われているが、
    Model
              そんなに遅くない感触。でも早くもない)

                         C++ STL
13年2月24日日曜日
ツール/ライブラリ



13年2月24日日曜日
C++Modelのテスト

         • OCUnit
         • GHUnit
         • Google Mock等(C++用)
         • Xcodeのデバッガ
13年2月24日日曜日
SDKの代用
         • NSURLConnection
          • libcurl + OpenSSLなど
         • NSJSONSerialization
          • picojsonなど
         • NSUserDefaults
          • Documents/下のファイルに直接書く
13年2月24日日曜日
JNIラッパーの生成

         • SWIG    http://www.swig.org/

              • 簡単な定義を書くだけでラッパーと
               Java側のソースまで生成してくれる

              • STLも使える
              • ノウハウはblogにでも書きます

13年2月24日日曜日
定義ファイルの例
                  ターゲットから使用する
                            クラス

                    ターゲット




                 コレクションなど型の定義
                  (必要に応じて)
13年2月24日日曜日
導入実績



13年2月24日日曜日
導入(提案)実績

        お客様
        「それはすばらしい!
         ぜひ導入してください。
         で、
         Androidの表示層はC社に」
13年2月24日日曜日
ご清聴ありがとう
              ございました


13年2月24日日曜日

More Related Content

PPTX
VS Code Day 2021 Recap
PDF
C++ と Visual Studio による Android 開発
PPTX
C++からC#まで Visual Studio 縛り (で死ぬ実験)
PDF
Cocos2dx 8hour
PDF
iPhoneとAndroidのアプリ開発最新潮流
PDF
Cocos2d xをさらにさわってみよう!
PDF
セプテーニさんでのセミナー
PPTX
つぶLT20121215
VS Code Day 2021 Recap
C++ と Visual Studio による Android 開発
C++からC#まで Visual Studio 縛り (で死ぬ実験)
Cocos2dx 8hour
iPhoneとAndroidのアプリ開発最新潮流
Cocos2d xをさらにさわってみよう!
セプテーニさんでのセミナー
つぶLT20121215

Similar to Androidとの同時開発だけどモデルをC++で書けば問題ないよねっ (20)

PPTX
スマートフォンの方式検討に関する基礎知識
PDF
TypeScript 勉強会
PDF
[豆ナイト]Java small object programming
KEY
Coq for Moblie Phone @ ML名古屋
PDF
Scala conf2013
PDF
Corona Handson #0
PPTX
2012 05-19第44回cocoa勉強会発表資料
KEY
Objc lambda
DOCX
Boost勉強会 #10 ディスカッションまとめ
PDF
オープンソースエコシステム #demodaytokyo
PDF
cocos2d-xとネイティブ間の連携
PDF
Unity3dにおけるus c# boo比較
KEY
1.29.user,user,user
KEY
関ジャバ JavaOne Tokyo 2012報告会
PDF
ScalaでAndroidアプリ開発
PDF
LITメンター研修_Android0212
PPTX
C#の書き方
PPTX
C#の書き方
PDF
cocos2d-x公開講座 in 鹿児島
PDF
Swift勉強会
スマートフォンの方式検討に関する基礎知識
TypeScript 勉強会
[豆ナイト]Java small object programming
Coq for Moblie Phone @ ML名古屋
Scala conf2013
Corona Handson #0
2012 05-19第44回cocoa勉強会発表資料
Objc lambda
Boost勉強会 #10 ディスカッションまとめ
オープンソースエコシステム #demodaytokyo
cocos2d-xとネイティブ間の連携
Unity3dにおけるus c# boo比較
1.29.user,user,user
関ジャバ JavaOne Tokyo 2012報告会
ScalaでAndroidアプリ開発
LITメンター研修_Android0212
C#の書き方
C#の書き方
cocos2d-x公開講座 in 鹿児島
Swift勉強会
Ad

More from Koji Hasegawa (19)

PDF
Blender-like SceneView Hotkeys Unity extensions
PDF
IntelliJ plugin の作りかた
PDF
AltUnityTesterを試してみた #gotandaunity
PDF
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
PDF
テストの種類とBDD #33testing
PDF
ビルドプロセスとCI #STAC2014
PDF
VRの入力デバイス #JAGVR
PDF
スマートフォンアプリ開発と自動化 〜なじむ。実に!なじむぞ!〜 #AsianAA
PDF
スマートフォンアプリの色々自動化をはじめよう - at SonyDNA Meisters Salon 特別編
PDF
iOSアプリ開発でもTravis CI #eytokyo
PDF
テストフィクスチャTips(主にCoreData) #potatotips
PDF
Androidで使えるモックフレームワーク
PDF
スマートフォンアプリの テスト自動化をはじめよう
PDF
第3回Ques ここからはじめる!Androidアプリのテスト自動化
KEY
Testterチーム2011年まとめ
KEY
Testter単体テストのビアレビュー報告
KEY
山吹色の茸疾走におけるテストの実例
PDF
Testterを叩け!
PDF
Atec mtg7 unittest
Blender-like SceneView Hotkeys Unity extensions
IntelliJ plugin の作りかた
AltUnityTesterを試してみた #gotandaunity
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
テストの種類とBDD #33testing
ビルドプロセスとCI #STAC2014
VRの入力デバイス #JAGVR
スマートフォンアプリ開発と自動化 〜なじむ。実に!なじむぞ!〜 #AsianAA
スマートフォンアプリの色々自動化をはじめよう - at SonyDNA Meisters Salon 特別編
iOSアプリ開発でもTravis CI #eytokyo
テストフィクスチャTips(主にCoreData) #potatotips
Androidで使えるモックフレームワーク
スマートフォンアプリの テスト自動化をはじめよう
第3回Ques ここからはじめる!Androidアプリのテスト自動化
Testterチーム2011年まとめ
Testter単体テストのビアレビュー報告
山吹色の茸疾走におけるテストの実例
Testterを叩け!
Atec mtg7 unittest
Ad

Androidとの同時開発だけどモデルをC++で書けば問題ないよねっ

  • 1. Androidとの同時開発だけど モデルをC++で書けば 問題ないよねっ @nowsprinting 長谷川 孝二 13年2月24日日曜日
  • 2. 自己紹介 仕事 - 主にiOSアプリ開発 ( フリーランス) コミュニティ活動 - Android系 - テスト自動化 2月27日発売 13年2月24日日曜日
  • 3. Android案件が取れない件 お客様 「長谷川さんにはiOS版を  お願いします。  Android版はA社に。」 13年2月24日日曜日
  • 5. Android iOS View Controller Android SDK Cocoa Touch Java Objective-C Model 13年2月24日日曜日
  • 6. Android iOS View Android SDK Cocoa Touch Controller Java Objective-C JNI Model C++ STL 13年2月24日日曜日
  • 8. メリット • C++/STLで書ける! • Modelはワンソース • View, Controllerはそれぞれのプラット フォームネイティブ(統一的UI) 13年2月24日日曜日
  • 11. Android iOS View Android SDK Cocoa Touch Controller Java Objective-C JNI メソッドコール頻度が増えると 性能が出ない(と言われているが、 Model そんなに遅くない感触。でも早くもない) C++ STL 13年2月24日日曜日
  • 13. C++Modelのテスト • OCUnit • GHUnit • Google Mock等(C++用) • Xcodeのデバッガ 13年2月24日日曜日
  • 14. SDKの代用 • NSURLConnection • libcurl + OpenSSLなど • NSJSONSerialization • picojsonなど • NSUserDefaults • Documents/下のファイルに直接書く 13年2月24日日曜日
  • 15. JNIラッパーの生成 • SWIG http://www.swig.org/ • 簡単な定義を書くだけでラッパーと Java側のソースまで生成してくれる • STLも使える • ノウハウはblogにでも書きます 13年2月24日日曜日
  • 16. 定義ファイルの例 ターゲットから使用する クラス ターゲット コレクションなど型の定義 (必要に応じて) 13年2月24日日曜日
  • 18. 導入(提案)実績 お客様 「それはすばらしい!  ぜひ導入してください。  で、  Androidの表示層はC社に」 13年2月24日日曜日
  • 19. ご清聴ありがとう ございました 13年2月24日日曜日