メディアテクノロジーラボ主催
         学生向けiPhoneアプリ勉強会(中級編)
           ∼iOS5 & Xcode4.3でスマートに開発しよう!∼



          2012/2/24

          舩見 高貴生
          チーフエンジニア/メディアテクノロジーラボ

          筑波大学1988年卒 農林学類 生物環境造成学主専攻




12年2月24日金曜日
アジェンダ
          ∼iOS5 & Xcode4.3でスマートに開発しよう!∼

              •   自己紹介

              •   MTLの紹介

              •   iOS5+Xcode4ショーケース+α

                  •   Xcode4.3出ました

                  •   ARC,StoryBoard,iCloud,AutomationTest,AirPlay

              •   iOS5概要とシェア

              •   小話

              •   みなさんからの共有



12年2月24日金曜日
自己紹介




12年2月24日金曜日
自己紹介
          フナミタカオ - エンジニア




12年2月24日金曜日
自己紹介
          フナミタカオ - エンジニア


              •   1988 入社 - リクルート国際VAN 技術サポート

              •   1990 ケイコとマナブ営業

              •   1994 エイビーロード制作システム

              •   2000 原稿制作フレームワーク

              •   2006 たたみラボ

              •   2007 MTL - WebAPI、iOS、Android


12年2月24日金曜日
自己紹介
          フナミタカオ - エンジニア


              •   1988 入社 - リクルート国際VAN 技術サポート                C

              •   1990 ケイコとマナブ営業                          DTP

              •   1994 エイビーロード制作システム                AppleScript
              •   2000 原稿制作フレームワーク                 RB,.Net, Perl
              •   2006 たたみラボ                      Perl,PHP,Ruby
              •   2007 MTL - WebAPI、iOS、Android   Perl,ObjC,Java

12年2月24日金曜日
ブログ&Twitter&Facebook
          フナミタカオ - エンジニア



              •   はてな iRSS

              •   Twitter @iRSS

              •   Facebook takao.funami

              •   MTLブログ

                  •   http://mtl.recruit.co.jp/




12年2月24日金曜日
筑波出身です
          88年大学卒業



              •   筑波大学 第二学群 農林学類

                  •   生物環境造成学主専攻

                  •   イチゴの植物工場が卒論のテーマ

              •   88当時、世の中はバブル黎明期でした

                  •   ご縁あってリクルートに



12年2月24日金曜日
25年前、紙で情報をやり取りする時代
          メールなし、ネットなし、一太郎&花子全盛期

              •   パソコン通信はあった。

              •   コピー機もあった。10円コピー

              •   音声の電話回線をつかって、データを送信

              •   PC9800のパソコンで清書

                  •   一太郎 - ワープロ

                  •   花子 - 図表エディタ                                                ポリプロピレンのおもちゃ箱
                                                                           http://monopoly.cocolog-nifty.com/blo
                                                                                   2011/06/post-546f.html
                                         コンピュータ博物館
                              http://museum.ipsj.or.jp/heritage/ichitaro.html

12年2月24日金曜日
パソコン通信の画面




12年2月24日金曜日
モデム、音響カプラ
          電話線を使うので、音で通信していた




12年2月24日金曜日
サークル活動
          JAMJAMというミニコミ紙を作っていました




              印刷屋さんで写植&印刷
12年2月24日金曜日
一部文字作成にワープロ使用




              一行の液晶表示、プリンタ付き、紙は熱転写専用紙。


12年2月24日金曜日
あれから24年
         iOSアプリの開発をやっています。




12年2月24日金曜日
ホットペッパーiPhone&Android APP
          works1

         2009年秋           2011年春




12年2月24日金曜日
iPadアプリ-じゃらんシリーズ
          works2




          2010年5月より、シリーズ5作
12年2月24日金曜日
はぴばる
          works3




                   2011年10月31日リリース
12年2月24日金曜日
リクルートWebサービス
          works4



              •   17種類のWebサービス
                  (WebAPI)の開発、運用を
                  約3人で行っています。

              •   月間6億リクエスト。リ
                  リースは6回/月程度。

              •   毎週500行くらい書いてる
                  かも

12年2月24日金曜日
MTLとは
         メディアテクノロジーラボのリクルート内での役割




12年2月24日金曜日
社会の変化・ITの発展にそって進化
                                               事業領域の拡大
                                              事業領域の拡大
                                       ライフステージ領域              ライフスタイル領域
                                        (人生の節目)
                                      ライフステージ-人生の節目            (日常の消費)
                                                             ライフスタイル-日常の生活
                 プラットフォームの拡大




                                    HR領域 学び領域 住宅領域 IMC領域 狭域領域
                                     HR領域 学び領域 住宅領域 IMC領域 狭域領域           新領域
                                                                         新領域
                           情
   プラットフォームの拡大




                         フ報
                         リ誌
                       情報誌/
                         ー
                       フリー
                         ペ
                         ー
                       ペーパー
                         パ
                         ー
                        モW
                       Web/
                        バE
                       モバイル                                              新ビジネスモデル
                               イB                                         新メディア
                               ル・
                                              イベント
                         新                                   通販
                         モ
                       新モデル                                                   5
                         デ          DB型サービス
                                    ソリューション
                         ル                           リアル事業        全国展開



12年2月24日金曜日
社会の変化・ITの発展にそって進化
                                               事業領域の拡大
                                              事業領域の拡大
                                       ライフステージ領域              ライフスタイル領域
                                        (人生の節目)
                                      ライフステージ-人生の節目            (日常の消費)
                                                             ライフスタイル-日常の生活
                 プラットフォームの拡大




                                    HR領域 学び領域 住宅領域 IMC領域 狭域領域
                                     HR領域 学び領域 住宅領域 IMC領域 狭域領域           新領域
                                                                         新領域
                           情
   プラットフォームの拡大




                         フ報
                         リ誌
                       情報誌/
                         ー
                       フリー
                         ペ
                         ー
                       ペーパー
                         パ
                         ー
                        モW
                       Web/
                        バE
                       モバイル                                              新ビジネスモデル
                               イB                                         新メディア
                               ル・
                                              イベント
                         新                                   通販
                         モ
                       新モデル                                                   5
                         デ          DB型サービス
                                                                         MTL
                                    ソリューション
                         ル                           リアル事業        全国展開



12年2月24日金曜日
MTLについて
          2007-2011



              •   2007年4月1設立 今年5期目

              •   技術調査研究∼新規事業開発を行う
                  「実証研究機関(R&D)」

              •   テクノロジを源泉としたサービス企画・運営を行
                  い、ネット分野における新しいビジネスモデルを
                  創造する



12年2月24日金曜日
MTLはリクルートのR&D部門
          シードを担う




                          カンパニー
                   事業開発

      R&D

12年2月24日金曜日
MTLはリクルートのR&D部門
          シードを担う




                          カンパニー
                   事業開発

      R&D

12年2月24日金曜日
MTLはリクルートのR&D部門
          シードを担う




                          カンパニー
                   事業開発

      R&D

12年2月24日金曜日
MTLはリクルートのR&D部門
          シードを担う




                          カンパニー
                   事業開発

      R&D

12年2月24日金曜日
MTLはリクルートのR&D部門
          シードを担う




                          カンパニー
                   事業開発

      R&D

12年2月24日金曜日
MTLはリクルートのR&D部門
          シードを担う




                          カンパニー
                   事業開発

      R&D

12年2月24日金曜日
MTLはリクルートのR&D部門
          シードを担う




                          カンパニー
                   事業開発

      R&D

12年2月24日金曜日
MTLはリクルートのR&D部門
          シードを担う




                                    カンパニー
                     事業開発
                   アドオプティマイゼーション推
                     進室 etc.
      R&D

12年2月24日金曜日
MTLはリクルートのR&D部門
          シードを担う




                                    カンパニー
                     事業開発           人材/進学/住宅
                                    結婚/自動車
                   アドオプティマイゼーション推   ライフスタイルetc.
                     進室 etc.
      R&D

12年2月24日金曜日
MTLはリクルートのR&D部門
          シードを担う




                                       カンパニー
                        事業開発           人材/進学/住宅
                                       結婚/自動車
                      アドオプティマイゼーション推   ライフスタイルetc.
                        進室 etc.
      R&D
  メディアテクノロジーラボ(MTL),
  リクルートインキュベーションパートナーズ(RIP)
    etc.
12年2月24日金曜日
強みを活かして協働する
         プランナーとエンジニア


              プランナー - Webプロデューサー
              WEB サービスの企画設計・プロデュース、ビジネスプランニングなど。
              新規事業の企画・戦略立案から、プロジェクトチームの
              立上げ、課題抽出、日々の P/L 収益管理まで幅広く




                             +
              エンジニア            - Webアーキテクト
              システム設計、アーキテクチャ設計、フレームワーク開発、システム開発など。
              WEB サービスの企画設計から技術視点・クリエイタ視点で参加し、実際にシステム開発・
              運用までを行う。
              サービス企画・ディレクション・インフラ管理もあり。



12年2月24日金曜日
最近のMTLのサービス
         代表的なサービスをいくつか...




12年2月24日金曜日
1.ATND →EventATND
          開発勉強会支援→決済機能付きイベント開催支援




                Exit


12年2月24日金曜日
1.ATND →EventATND
          開発勉強会支援→決済機能付きイベント開催支援




                Exit


12年2月24日金曜日
2.ショプリエ
          O2Oアプリ - オンライン・ツー・オフライン




              チェックインしてポイントためる ことで
                                    2月14日公開
     ユーザーと商品のマッチングと来店促進を目指す
12年2月24日金曜日
3.Mashup Award 7
          これまで7回開催、今年も実施予定




       MA は、開発者が新技術・新サービスに挑戦する年に1度のお祭りです。
       今年も、オープンな API やプラットフォーム、デバイスを存分に活用して頂いて、
       ちょっと先の未来の Web を見せてくれる作品を期待しています!
12年2月24日金曜日
4.Hack For Japan&復興支援
          いまできることに取り組む
   みんなのわ、げんきのわ(NHK 報道局 × MTL コラボ)
                                        Hack For Japan




         じゃらん 東北地方太平洋沖地震<被災者支援プラン>API
12年2月24日金曜日
どんなオフィス
         職場環境は?




12年2月24日金曜日
コラボが生まれる/開発に集中できる
          MTLのオフィス/カフェ




12年2月24日金曜日
コラボが生まれる/開発に集中できる
          MTLのオフィス/カフェ




12年2月24日金曜日
コラボが生まれる/開発に集中できる
          MTLのオフィス/カフェ




「MTL カフェ」
社内外の勉強会などに使うイベントスペース。




12年2月24日金曜日
コラボが生まれる/開発に集中できる
          MTLのオフィス/カフェ




「MTL カフェ」
社内外の勉強会などに使うイベントスペース。




12年2月24日金曜日
コラボが生まれる/開発に集中できる
          MTLのオフィス/カフェ




「MTL カフェ」
社内外の勉強会などに使うイベントスペース。

                              「コンセントレーションスペース」
                              開発者のための集中作業スペース。
                         電話設置なし。ノートPC用外付モニタ完備。
12年2月24日金曜日
もちろん合宿もします
          伊豆とか、三浦とか。温泉付きで




     座敷よりは腰にくるので、最近はテーブルを用意
12年2月24日金曜日
大半はMac,iPhone率100%越え
          iPhone案件たくさん




12年2月24日金曜日
iOS5+Xcode4ショーケース+α
         注目の便利機能、iTVの予感




12年2月24日金曜日
XCode4.3
         2月16日リリース




12年2月24日金曜日
4.2と違い
          それほど影響ないですが、とまどうかも



              •   iOSのバージョンはかわらない

              •   AppStoreからインストールはこれまでどおり

                  •   /Applications/Xcode.appにインストール



                  •
                      •   インストーラなくなった

                      /Developerもなくなった
                                                ×
12年2月24日金曜日
古いXCodeの削除はオプションで
          共存もできる模様




12年2月24日金曜日
DashCodeはオプションに
          CommandLine ToolsやiOS4.3 Simulatorも
                                      More Developper Tootlsから
                                           ダウンロード




 Preferences>Downloadから取得できるものもある




12年2月24日金曜日
復習
          画面UIはかわらず




12年2月24日金曜日
Xcode ショートカット
          これでだけは、覚えたい


               コマンド+数字       左枠(ナビゲーター)

              コマンド+Opt+数字    右上(インスペクタ)

         コマンド+Opt+Ctl+数字     右下(ライブラリ)

              コマンド+Shift+Y    下(デバッグ)

                 Ctl+数字       ジャンプバー




12年2月24日金曜日
ARC
         [iOS5 ] Retain,Releaseからの解放




12年2月24日金曜日
Automatic Reference Counting
          retain or releaseを自動的にやってくれる

              •   retain, release, autoreleaseのことは忘れる

                  •   コンパイラが自動挿入。GCではない

                  •   ただしmalloc/free,CF等は対象外

              •   変数の初期化は自動的に行われる

                  •   nilになるので、安全。nilのメソッドを呼んでも
                      落ちないから

              •   循環参照には、注意

12年2月24日金曜日
ARC利用のルール


              •   retain, release, retainCount, or autoreleaseを呼び出さ
                  ない。@selector(retain), @selector(release)もNG

              •   deallocでインスタンス変数の解放は不要。

                  [super dealloc]はNG

              •   CFRetain, CFReleaseはARCの対象外

              •   Cの構造体は使わないで、Objective-Cのクラスに

              •   NSAutoreleasePool のかわりに@autoreleasepoolを

12年2月24日金曜日
すこし心配な事


              •   外部ライブラリ(github等)がARCに非対応のもの
                  も多い。

                  •   でも大丈夫、混在は可能。

                  •   ビルド設定の、Build Phaseタブの、Compile
                      Sources 設定でコンパイルオプションに -fno-
                      objc-arcを入力すれば、ARC非対応のライブラ
                      リもARC環境で混在できる


12年2月24日金曜日
循環参照をさける
          __weak修飾子を使う

   @interface MTLList : NSObject{
        MTLItem *_child;
   }
   - (void)setChild:(MTLItem *)obj;
   @end
   @implementation                          MTLList            MTLItem
   - (void)setChild:(MTLItem *)obj{          _child            _parent
        _child = obj;
   }
   @end

   @interface MTLItem : NSObject{
       MTLList *_parent;               {
   }                                       MTLItem *a = [[MTLItem alloc] init];
                                           MTLList *b = [[MTLList alloc] init];
   - (void)setParent:(MTLList *)obj;
   @end                                    [a setList:b];
   @implementation                         [b setParent:a];
   - (void)setChild:(MTLItem *)obj{    }
        _parent = obj;
   }
   @end
                                                 循環参照になる
       変数はデフォルトで__strong
12年2月24日金曜日
循環参照をさける
          __weak修飾子を使う

   @interface MTLList : NSObject{
        MTLItem *_child;
   }
   - (void)setChild:(MTLItem *)obj;
   @end
   @implementation                          MTLList            MTLItem
   - (void)setChild:(MTLItem *)obj{          _child            _parent
        _child = obj;
   }
   @end

   @interface MTLItem : NSObject{
       MTLList __weak *_parent;        {
   }                                       MTLItem *a = [[MTLItem alloc] init];
                                           MTLList *b = [[MTLList alloc] init];
   - (void)setParent:(MTLList *)obj;
   @end                                    [a setList:b];
   @implementation                         [b setParent:a];
   - (void)setChild:(MTLItem *)obj{    }
        _parent = obj;
   }
   @end
                                               循環参照にならない
              片方は__weakとする
12年2月24日金曜日
ARC
          参考書&リファレンス

        •     Transitioning to ARC Release Notes

              •   https://developer.apple.com/library/ios/#releasenotes/
                  ObjectiveC/RN-TransitioningToARC/Introduction/
                  Introduction.html

        •     エキスパートObjective-Cプログラミング ― iOS/OS X
              のメモリ管理とマルチスレッド

              •   電子書籍:http://tatsu-zine.com/books/objc

              •   Amazon書籍 : http://amzn.to/xGuL2c


12年2月24日金曜日
ビデオ
          WWDC2011




              詳細はぜひ、ビデオ+スライドで



12年2月24日金曜日
iCloud
         [iOS5]OSX10.8ではMacでも本格対応




12年2月24日金曜日
UIDocument,Key-ValueStore




              •   UIDocument

              •



12年2月24日金曜日
どんなクラスを使うのか



     •    UIDocument

         •    サブクラスを作って、データの読み書きを実装

     •    NSUbiquitousKeyValueStore(シンプル)
     NSUbiquitousKeyValueStore *keyStore =
          [[NSUbiquitousKeyValueStore alloc] init];

     //保存
     [keyStore setString:@”Saved String” forKey:@"MyString"];
     [keyStore synchronize];

     //読み出し
     NSString *storedString = [keyStore stringForKey:@"MyString"];

12年2月24日金曜日
Storyboard
         [iOS5 ] ワイヤーとして流れがつかめるわかりやすさ。




12年2月24日金曜日
.xibから.storyboardに
          画面の関連を見渡せるようになった。


              •   コントロール+ドラッグで画面をつなぐ

              •   Segueで関連づけ

                  •   遷移アニメーションをカスタマイズ可能

              •   UITableView

                  •   固定セル作成可能

              •   UITableViewCellの編集が簡単に


12年2月24日金曜日
Appearance
         [iOS5 ]一気に画面をカスタマイズ。「友達を探す」のようなアプリを簡単に実現




12年2月24日金曜日
一気に雰囲気を変更できる
          Tint color & BackgroundImage &etc



                         [[UINavigationBar appearance]
                         setTintColor:color]


                         [[UINavigationBar appearance]
                         setBackgroundImage:[UIImage
                         imageNamed:@"skin_44"]
                             forBarMetrics:UIBarMetricsDefault];




12年2月24日金曜日
Demo
          MTLAppearanceソースをつかって




12年2月24日金曜日
参考



              •   UIAppearance で色や画像を変える

                  •   http://cocoadays.blogspot.com/2011/10/
                      uiappearance.html

              •   WWDC Video

                  •   114_customizing_the_appearance_of_uikit_contro
                      ls




12年2月24日金曜日
iTVの予感
         [iOS4.3∼]AppleTVと組み合わせてできる、iTVもどき




12年2月24日金曜日
Apple TV & iOSでバイス
          ミラーリングできる




12年2月24日金曜日
UIScreen
            別スクリーンとしても使える
   - (void)viewDidLoad
   ...
        // 最後のスクリーンが外部ディスプレイ
            if ([[UIScreen screens] count] > 1) {
                [self prepareScreen:[[UIScreen screens] lastObject]];
            }
   ......
   }

   - (void)prepareScreen:(UIScreen *)connectedScreen
   {
        //外部ディスプレイのサイズでWindowを作る
       CGRect frame = connectedScreen.bounds;
       self.window2 = [[UIWindow alloc] initWithFrame:frame];
       [self.window2 setScreen:connectedScreen];
       self.window2.hidden = NO;
   ......


   }
12年2月24日金曜日
AirPlay
          参考


        •     WWDC Video

              •   406_airplay_and_external_displays_in_ios_apps

        •     サンプルコード

              •   ExternalDisplay

              •   https://developer.apple.com/library/ios/#samplecode/
                  ExternalDisplay/Introduction/Intro.html#//apple_ref/doc/
                  uid/DTS40010724



12年2月24日金曜日
Automation + SenTest
         [Instruments] 画面操作を自動的に行えるツール




12年2月24日金曜日
UIの自動テストを行う
          UnitTest はSenTest


              •   SenTestを使った、自動テスト。

                  •   自動テストだが、UIが絡むとむずかしい

              •   Automation

                  •   Javascriptで自動実行

                  •   JavaScriptの記録もできるので、テストのひな形
                      にできる



12年2月24日金曜日
SenTest
          UnitTest



              Person

              firstName
              lastName
                  age
               address


              fullName




12年2月24日金曜日
Automation
          Instrumentsに追加




12年2月24日金曜日
テキスト




              •   HELP > Instruments New Features User Guide

                  •   New Features in Instruments 4.2




12年2月24日金曜日
UIPageViewManeger
         [iOS5]iBookのようなUIができちゃう




12年2月24日金曜日
Page-Based Application
          iBook風のアプリ




12年2月24日金曜日
ページめくりアニメーションを実現
          R25APIを利用した例




              サンプルソース:http://dl.dropbox.com/u/27096935/students/mybook.zip

              参考:MTL主催 学生向けiPhoneアプリ勉強会(中級編) ∼リクルート流アプリの創り方∼ 
              http://atnd.org/events/24249

12年2月24日金曜日
UIPageViewController

 FNSRootViewController
<UIPageViewControllerDele
          gate>                                                                      page view
spineLocationForInterfaceOr
         ientation            UIPageViewController
      (回転時の挙動)


                                                                              view           view



FNSModelController<UIPa
geViewControllerDataSour
         ce>
     (改ページ時)
                                    FNSDataViewController
       Before View
        After View                                         @property
                                                           dataObject




                                                                         UIPageViewControllerがページごとに
                               FNSDataViewController
 Page@property
  PageData(model)
      Data(model)                                                       DataViewControllerを作成、破棄を繰り返
      pageData                                @property
                                              dataObject
                                                                            してページを表示している。
12年2月24日金曜日
UITwitter
         [iOS5]Twitterアカウント管理はOS任せにできる




12年2月24日金曜日
テキスト




12年2月24日金曜日
ところで、iOS5のシェアは?
         i0S4の対応はどうしようか?




12年2月24日金曜日
iOS5のシェアは6割強
          リクルートWebサービスへのリクエスト数から算出

                iPhoneOS3        iOS4     iOS5




                            1%


                                    37%


                  62%




12年2月24日金曜日
iOSバージョンシェア推移
          公開から4ヶ月でiOS5シェアは6割強(2012/2)


                                              iPhoneOS3           iOS4           iOS5
  100%
   90%
   80%
   70%
   60%
   50%
   40%
   30%
   20%
   10%
     0%
          10/5   10/7   10/9   10/11   11/1     11/3      11/5   11/7    11/9   11/11   12/1
    2010/5 ∼2012/2のリクルートWebサービスへのリクエスト数から算出
       iPhoneOS3→iOS4の時は6ヶ月後に1:9になった。4→5は少し鈍い
12年2月24日金曜日
あるコミックアプリのiOSシェア
         1ヶ月後でiOS5 5割超え
              iPhone 4S発売及びiOS 5リリースから約一ヶ月後(集計期間11/11∼11/17)のシェア内訳




                      中村智武のCTO記-http://ameblo.jp/tomotaken/entry-11060841833.html
                      iPhone向けコミック配信サービスのサーバーへのアクセスを元にした独自調べ




12年2月24日金曜日
いつまでiOS4対応すべきか?
         いつかは、iOS5以上になるけれど...

              •   iOS5以上で使える..

                  •   iCloud
                                      •   ARC
                  •   Newsstand
                                      •   StoryBoard
                  •   iTunes U
                                      •   Segue
                  •   友達を探す
                                      •   Custom Appearance

                  •   通知センター          •   TwitterAPI

                  •   Mountain Lion   •   Table View Static Content

   ARC,StoryBoardは非常に魅力的すぐにでもiOS5にしぼりたい
12年2月24日金曜日
My Little Story
         自分の想いをコードで実現することについて、すこし、自分の体験を話します




12年2月24日金曜日
iPadじゃらん
          2010/5/28 iPad日本公開同時発売




12年2月24日金曜日
iPadじゃらん
          2010/5/28 iPad日本公開同時発売




12年2月24日金曜日
iPadじゃらん
          2010/5/28 iPad日本公開同時発売




              地図と記事の2画面
12年2月24日金曜日
25years ago




12年2月24日金曜日
アパート情報の地図




12年2月24日金曜日
アパート情報の地図




12年2月24日金曜日
アパート情報の地図




12年2月24日金曜日
雲定規+製図ペン+トレース用紙
          テキスト




12年2月24日金曜日
地図別冊になりました




12年2月24日金曜日
地図別冊になりました




12年2月24日金曜日
Now




12年2月24日金曜日
5years ago




12年2月24日金曜日
位置と連動するサービスを...
          2006年の想い




12年2月24日金曜日
位置と連動するサービスを...
          2006年の想い




12年2月24日金曜日
位置と連動するサービスを...
          2006年の想い




12年2月24日金曜日
位置と連動するサービスを...
          2006年の想い

                       携帯できる




12年2月24日金曜日
位置と連動するサービスを...
          2006年の想い

                       携帯できる

                       地図と記事が連動




12年2月24日金曜日
位置と連動するサービスを...
          2006年の想い

                           携帯できる

                           地図と記事が連動




              しかし当時は、手頃なデバイスがなかった
12年2月24日金曜日
1years ago




12年2月24日金曜日
iPadじゃらん
          2010/5/28 iPad日本公開同時発売




12年2月24日金曜日
iPadじゃらん
          2010/5/28 iPad日本公開同時発売




12年2月24日金曜日
iPadじゃらん
          2010/5/28 iPad日本公開同時発売




12年2月24日金曜日
iPadじゃらん
          2010/5/28 iPad日本公開同時発売




    最適なデバイスの登場

12年2月24日金曜日
iPadじゃらん
          2010/5/28 iPad日本公開同時発売




    最適なデバイスの登場
         +
12年2月24日金曜日
iPadじゃらん
          2010/5/28 iPad日本公開同時発売




    最適なデバイスの登場
         +
    じゃらんというコンテンツ
12年2月24日金曜日
確認事項
          想いは形になります




              •   アイデアや想いはいつか形になるもの




12年2月24日金曜日
iOSデバイスのすごさ
          Android,WindowsPhoneも含む




              •   持ち運べる

              •   常時接続

              •   プログラム可能




12年2月24日金曜日
Thank You!
         樹海の森ですが、とても面白い場所です。一緒に楽しみましょう!




12年2月24日金曜日

I os5 study

  • 1.
    メディアテクノロジーラボ主催 学生向けiPhoneアプリ勉強会(中級編)  ∼iOS5 & Xcode4.3でスマートに開発しよう!∼ 2012/2/24 舩見 高貴生 チーフエンジニア/メディアテクノロジーラボ 筑波大学1988年卒 農林学類 生物環境造成学主専攻 12年2月24日金曜日
  • 2.
    アジェンダ ∼iOS5 & Xcode4.3でスマートに開発しよう!∼ • 自己紹介 • MTLの紹介 • iOS5+Xcode4ショーケース+α • Xcode4.3出ました • ARC,StoryBoard,iCloud,AutomationTest,AirPlay • iOS5概要とシェア • 小話 • みなさんからの共有 12年2月24日金曜日
  • 3.
  • 4.
    自己紹介 フナミタカオ - エンジニア 12年2月24日金曜日
  • 5.
    自己紹介 フナミタカオ - エンジニア • 1988 入社 - リクルート国際VAN 技術サポート • 1990 ケイコとマナブ営業 • 1994 エイビーロード制作システム • 2000 原稿制作フレームワーク • 2006 たたみラボ • 2007 MTL - WebAPI、iOS、Android 12年2月24日金曜日
  • 6.
    自己紹介 フナミタカオ - エンジニア • 1988 入社 - リクルート国際VAN 技術サポート C • 1990 ケイコとマナブ営業 DTP • 1994 エイビーロード制作システム AppleScript • 2000 原稿制作フレームワーク RB,.Net, Perl • 2006 たたみラボ Perl,PHP,Ruby • 2007 MTL - WebAPI、iOS、Android Perl,ObjC,Java 12年2月24日金曜日
  • 7.
    ブログ&Twitter&Facebook フナミタカオ - エンジニア • はてな iRSS • Twitter @iRSS • Facebook takao.funami • MTLブログ • http://mtl.recruit.co.jp/ 12年2月24日金曜日
  • 8.
    筑波出身です 88年大学卒業 • 筑波大学 第二学群 農林学類 • 生物環境造成学主専攻 • イチゴの植物工場が卒論のテーマ • 88当時、世の中はバブル黎明期でした • ご縁あってリクルートに 12年2月24日金曜日
  • 9.
    25年前、紙で情報をやり取りする時代 メールなし、ネットなし、一太郎&花子全盛期 • パソコン通信はあった。 • コピー機もあった。10円コピー • 音声の電話回線をつかって、データを送信 • PC9800のパソコンで清書 • 一太郎 - ワープロ • 花子 - 図表エディタ ポリプロピレンのおもちゃ箱 http://monopoly.cocolog-nifty.com/blo 2011/06/post-546f.html コンピュータ博物館 http://museum.ipsj.or.jp/heritage/ichitaro.html 12年2月24日金曜日
  • 10.
  • 11.
    モデム、音響カプラ 電話線を使うので、音で通信していた 12年2月24日金曜日
  • 12.
    サークル活動 JAMJAMというミニコミ紙を作っていました 印刷屋さんで写植&印刷 12年2月24日金曜日
  • 13.
    一部文字作成にワープロ使用 一行の液晶表示、プリンタ付き、紙は熱転写専用紙。 12年2月24日金曜日
  • 14.
    あれから24年 iOSアプリの開発をやっています。 12年2月24日金曜日
  • 15.
    ホットペッパーiPhone&Android APP works1 2009年秋 2011年春 12年2月24日金曜日
  • 16.
    iPadアプリ-じゃらんシリーズ works2 2010年5月より、シリーズ5作 12年2月24日金曜日
  • 17.
    はぴばる works3 2011年10月31日リリース 12年2月24日金曜日
  • 18.
    リクルートWebサービス works4 • 17種類のWebサービス (WebAPI)の開発、運用を 約3人で行っています。 • 月間6億リクエスト。リ リースは6回/月程度。 • 毎週500行くらい書いてる かも 12年2月24日金曜日
  • 19.
    MTLとは メディアテクノロジーラボのリクルート内での役割 12年2月24日金曜日
  • 20.
    社会の変化・ITの発展にそって進化 事業領域の拡大 事業領域の拡大 ライフステージ領域 ライフスタイル領域 (人生の節目) ライフステージ-人生の節目 (日常の消費) ライフスタイル-日常の生活 プラットフォームの拡大 HR領域 学び領域 住宅領域 IMC領域 狭域領域 HR領域 学び領域 住宅領域 IMC領域 狭域領域 新領域 新領域 情 プラットフォームの拡大 フ報 リ誌 情報誌/ ー フリー ペ ー ペーパー パ ー モW Web/ バE モバイル 新ビジネスモデル イB 新メディア ル・ イベント 新 通販 モ 新モデル 5 デ DB型サービス ソリューション ル リアル事業 全国展開 12年2月24日金曜日
  • 21.
    社会の変化・ITの発展にそって進化 事業領域の拡大 事業領域の拡大 ライフステージ領域 ライフスタイル領域 (人生の節目) ライフステージ-人生の節目 (日常の消費) ライフスタイル-日常の生活 プラットフォームの拡大 HR領域 学び領域 住宅領域 IMC領域 狭域領域 HR領域 学び領域 住宅領域 IMC領域 狭域領域 新領域 新領域 情 プラットフォームの拡大 フ報 リ誌 情報誌/ ー フリー ペ ー ペーパー パ ー モW Web/ バE モバイル 新ビジネスモデル イB 新メディア ル・ イベント 新 通販 モ 新モデル 5 デ DB型サービス MTL ソリューション ル リアル事業 全国展開 12年2月24日金曜日
  • 22.
    MTLについて 2007-2011 • 2007年4月1設立 今年5期目 • 技術調査研究∼新規事業開発を行う 「実証研究機関(R&D)」 • テクノロジを源泉としたサービス企画・運営を行 い、ネット分野における新しいビジネスモデルを 創造する 12年2月24日金曜日
  • 23.
    MTLはリクルートのR&D部門 シードを担う カンパニー 事業開発 R&D 12年2月24日金曜日
  • 24.
    MTLはリクルートのR&D部門 シードを担う カンパニー 事業開発 R&D 12年2月24日金曜日
  • 25.
    MTLはリクルートのR&D部門 シードを担う カンパニー 事業開発 R&D 12年2月24日金曜日
  • 26.
    MTLはリクルートのR&D部門 シードを担う カンパニー 事業開発 R&D 12年2月24日金曜日
  • 27.
    MTLはリクルートのR&D部門 シードを担う カンパニー 事業開発 R&D 12年2月24日金曜日
  • 28.
    MTLはリクルートのR&D部門 シードを担う カンパニー 事業開発 R&D 12年2月24日金曜日
  • 29.
    MTLはリクルートのR&D部門 シードを担う カンパニー 事業開発 R&D 12年2月24日金曜日
  • 30.
    MTLはリクルートのR&D部門 シードを担う カンパニー 事業開発 アドオプティマイゼーション推 進室 etc. R&D 12年2月24日金曜日
  • 31.
    MTLはリクルートのR&D部門 シードを担う カンパニー 事業開発 人材/進学/住宅 結婚/自動車 アドオプティマイゼーション推 ライフスタイルetc. 進室 etc. R&D 12年2月24日金曜日
  • 32.
    MTLはリクルートのR&D部門 シードを担う カンパニー 事業開発 人材/進学/住宅 結婚/自動車 アドオプティマイゼーション推 ライフスタイルetc. 進室 etc. R&D メディアテクノロジーラボ(MTL), リクルートインキュベーションパートナーズ(RIP) etc. 12年2月24日金曜日
  • 33.
    強みを活かして協働する プランナーとエンジニア プランナー - Webプロデューサー WEB サービスの企画設計・プロデュース、ビジネスプランニングなど。 新規事業の企画・戦略立案から、プロジェクトチームの 立上げ、課題抽出、日々の P/L 収益管理まで幅広く + エンジニア - Webアーキテクト システム設計、アーキテクチャ設計、フレームワーク開発、システム開発など。 WEB サービスの企画設計から技術視点・クリエイタ視点で参加し、実際にシステム開発・ 運用までを行う。 サービス企画・ディレクション・インフラ管理もあり。 12年2月24日金曜日
  • 34.
    最近のMTLのサービス 代表的なサービスをいくつか... 12年2月24日金曜日
  • 35.
    1.ATND →EventATND 開発勉強会支援→決済機能付きイベント開催支援 Exit 12年2月24日金曜日
  • 36.
    1.ATND →EventATND 開発勉強会支援→決済機能付きイベント開催支援 Exit 12年2月24日金曜日
  • 37.
    2.ショプリエ O2Oアプリ - オンライン・ツー・オフライン チェックインしてポイントためる ことで 2月14日公開 ユーザーと商品のマッチングと来店促進を目指す 12年2月24日金曜日
  • 38.
    3.Mashup Award 7 これまで7回開催、今年も実施予定 MA は、開発者が新技術・新サービスに挑戦する年に1度のお祭りです。 今年も、オープンな API やプラットフォーム、デバイスを存分に活用して頂いて、 ちょっと先の未来の Web を見せてくれる作品を期待しています! 12年2月24日金曜日
  • 39.
    4.Hack For Japan&復興支援 いまできることに取り組む みんなのわ、げんきのわ(NHK 報道局 × MTL コラボ) Hack For Japan じゃらん 東北地方太平洋沖地震<被災者支援プラン>API 12年2月24日金曜日
  • 40.
    どんなオフィス 職場環境は? 12年2月24日金曜日
  • 41.
    コラボが生まれる/開発に集中できる MTLのオフィス/カフェ 12年2月24日金曜日
  • 42.
    コラボが生まれる/開発に集中できる MTLのオフィス/カフェ 12年2月24日金曜日
  • 43.
    コラボが生まれる/開発に集中できる MTLのオフィス/カフェ 「MTL カフェ」 社内外の勉強会などに使うイベントスペース。 12年2月24日金曜日
  • 44.
    コラボが生まれる/開発に集中できる MTLのオフィス/カフェ 「MTL カフェ」 社内外の勉強会などに使うイベントスペース。 12年2月24日金曜日
  • 45.
    コラボが生まれる/開発に集中できる MTLのオフィス/カフェ 「MTL カフェ」 社内外の勉強会などに使うイベントスペース。 「コンセントレーションスペース」 開発者のための集中作業スペース。 電話設置なし。ノートPC用外付モニタ完備。 12年2月24日金曜日
  • 46.
    もちろん合宿もします 伊豆とか、三浦とか。温泉付きで 座敷よりは腰にくるので、最近はテーブルを用意 12年2月24日金曜日
  • 47.
    大半はMac,iPhone率100%越え iPhone案件たくさん 12年2月24日金曜日
  • 48.
    iOS5+Xcode4ショーケース+α 注目の便利機能、iTVの予感 12年2月24日金曜日
  • 49.
    XCode4.3 2月16日リリース 12年2月24日金曜日
  • 50.
    4.2と違い それほど影響ないですが、とまどうかも • iOSのバージョンはかわらない • AppStoreからインストールはこれまでどおり • /Applications/Xcode.appにインストール • • インストーラなくなった /Developerもなくなった × 12年2月24日金曜日
  • 51.
    古いXCodeの削除はオプションで 共存もできる模様 12年2月24日金曜日
  • 52.
    DashCodeはオプションに CommandLine ToolsやiOS4.3 Simulatorも More Developper Tootlsから ダウンロード Preferences>Downloadから取得できるものもある 12年2月24日金曜日
  • 53.
    復習 画面UIはかわらず 12年2月24日金曜日
  • 54.
    Xcode ショートカット これでだけは、覚えたい コマンド+数字 左枠(ナビゲーター) コマンド+Opt+数字 右上(インスペクタ) コマンド+Opt+Ctl+数字 右下(ライブラリ) コマンド+Shift+Y 下(デバッグ) Ctl+数字 ジャンプバー 12年2月24日金曜日
  • 55.
    ARC [iOS5 ] Retain,Releaseからの解放 12年2月24日金曜日
  • 56.
    Automatic Reference Counting retain or releaseを自動的にやってくれる • retain, release, autoreleaseのことは忘れる • コンパイラが自動挿入。GCではない • ただしmalloc/free,CF等は対象外 • 変数の初期化は自動的に行われる • nilになるので、安全。nilのメソッドを呼んでも 落ちないから • 循環参照には、注意 12年2月24日金曜日
  • 57.
    ARC利用のルール • retain, release, retainCount, or autoreleaseを呼び出さ ない。@selector(retain), @selector(release)もNG • deallocでインスタンス変数の解放は不要。 [super dealloc]はNG • CFRetain, CFReleaseはARCの対象外 • Cの構造体は使わないで、Objective-Cのクラスに • NSAutoreleasePool のかわりに@autoreleasepoolを 12年2月24日金曜日
  • 58.
    すこし心配な事 • 外部ライブラリ(github等)がARCに非対応のもの も多い。 • でも大丈夫、混在は可能。 • ビルド設定の、Build Phaseタブの、Compile Sources 設定でコンパイルオプションに -fno- objc-arcを入力すれば、ARC非対応のライブラ リもARC環境で混在できる 12年2月24日金曜日
  • 59.
    循環参照をさける __weak修飾子を使う @interface MTLList : NSObject{ MTLItem *_child; } - (void)setChild:(MTLItem *)obj; @end @implementation MTLList MTLItem - (void)setChild:(MTLItem *)obj{ _child _parent _child = obj; } @end @interface MTLItem : NSObject{ MTLList *_parent; { } MTLItem *a = [[MTLItem alloc] init]; MTLList *b = [[MTLList alloc] init]; - (void)setParent:(MTLList *)obj; @end [a setList:b]; @implementation [b setParent:a]; - (void)setChild:(MTLItem *)obj{ } _parent = obj; } @end 循環参照になる 変数はデフォルトで__strong 12年2月24日金曜日
  • 60.
    循環参照をさける __weak修飾子を使う @interface MTLList : NSObject{ MTLItem *_child; } - (void)setChild:(MTLItem *)obj; @end @implementation MTLList MTLItem - (void)setChild:(MTLItem *)obj{ _child _parent _child = obj; } @end @interface MTLItem : NSObject{ MTLList __weak *_parent; { } MTLItem *a = [[MTLItem alloc] init]; MTLList *b = [[MTLList alloc] init]; - (void)setParent:(MTLList *)obj; @end [a setList:b]; @implementation [b setParent:a]; - (void)setChild:(MTLItem *)obj{ } _parent = obj; } @end 循環参照にならない 片方は__weakとする 12年2月24日金曜日
  • 61.
    ARC 参考書&リファレンス • Transitioning to ARC Release Notes • https://developer.apple.com/library/ios/#releasenotes/ ObjectiveC/RN-TransitioningToARC/Introduction/ Introduction.html • エキスパートObjective-Cプログラミング ― iOS/OS X のメモリ管理とマルチスレッド • 電子書籍:http://tatsu-zine.com/books/objc • Amazon書籍 : http://amzn.to/xGuL2c 12年2月24日金曜日
  • 62.
    ビデオ WWDC2011 詳細はぜひ、ビデオ+スライドで 12年2月24日金曜日
  • 63.
    iCloud [iOS5]OSX10.8ではMacでも本格対応 12年2月24日金曜日
  • 64.
    UIDocument,Key-ValueStore • UIDocument • 12年2月24日金曜日
  • 65.
    どんなクラスを使うのか • UIDocument • サブクラスを作って、データの読み書きを実装 • NSUbiquitousKeyValueStore(シンプル) NSUbiquitousKeyValueStore *keyStore = [[NSUbiquitousKeyValueStore alloc] init]; //保存 [keyStore setString:@”Saved String” forKey:@"MyString"]; [keyStore synchronize]; //読み出し NSString *storedString = [keyStore stringForKey:@"MyString"]; 12年2月24日金曜日
  • 66.
    Storyboard [iOS5 ] ワイヤーとして流れがつかめるわかりやすさ。 12年2月24日金曜日
  • 67.
    .xibから.storyboardに 画面の関連を見渡せるようになった。 • コントロール+ドラッグで画面をつなぐ • Segueで関連づけ • 遷移アニメーションをカスタマイズ可能 • UITableView • 固定セル作成可能 • UITableViewCellの編集が簡単に 12年2月24日金曜日
  • 68.
    Appearance [iOS5 ]一気に画面をカスタマイズ。「友達を探す」のようなアプリを簡単に実現 12年2月24日金曜日
  • 69.
    一気に雰囲気を変更できる Tint color & BackgroundImage &etc [[UINavigationBar appearance] setTintColor:color] [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"skin_44"] forBarMetrics:UIBarMetricsDefault]; 12年2月24日金曜日
  • 70.
    Demo MTLAppearanceソースをつかって 12年2月24日金曜日
  • 71.
    参考 • UIAppearance で色や画像を変える • http://cocoadays.blogspot.com/2011/10/ uiappearance.html • WWDC Video • 114_customizing_the_appearance_of_uikit_contro ls 12年2月24日金曜日
  • 72.
    iTVの予感 [iOS4.3∼]AppleTVと組み合わせてできる、iTVもどき 12年2月24日金曜日
  • 73.
    Apple TV &iOSでバイス ミラーリングできる 12年2月24日金曜日
  • 74.
    UIScreen 別スクリーンとしても使える - (void)viewDidLoad ... // 最後のスクリーンが外部ディスプレイ if ([[UIScreen screens] count] > 1) { [self prepareScreen:[[UIScreen screens] lastObject]]; } ...... } - (void)prepareScreen:(UIScreen *)connectedScreen { //外部ディスプレイのサイズでWindowを作る CGRect frame = connectedScreen.bounds; self.window2 = [[UIWindow alloc] initWithFrame:frame]; [self.window2 setScreen:connectedScreen]; self.window2.hidden = NO; ...... } 12年2月24日金曜日
  • 75.
    AirPlay 参考 • WWDC Video • 406_airplay_and_external_displays_in_ios_apps • サンプルコード • ExternalDisplay • https://developer.apple.com/library/ios/#samplecode/ ExternalDisplay/Introduction/Intro.html#//apple_ref/doc/ uid/DTS40010724 12年2月24日金曜日
  • 76.
    Automation + SenTest [Instruments] 画面操作を自動的に行えるツール 12年2月24日金曜日
  • 77.
    UIの自動テストを行う UnitTest はSenTest • SenTestを使った、自動テスト。 • 自動テストだが、UIが絡むとむずかしい • Automation • Javascriptで自動実行 • JavaScriptの記録もできるので、テストのひな形 にできる 12年2月24日金曜日
  • 78.
    SenTest UnitTest Person firstName lastName age address fullName 12年2月24日金曜日
  • 79.
    Automation Instrumentsに追加 12年2月24日金曜日
  • 80.
    テキスト • HELP > Instruments New Features User Guide • New Features in Instruments 4.2 12年2月24日金曜日
  • 81.
    UIPageViewManeger [iOS5]iBookのようなUIができちゃう 12年2月24日金曜日
  • 82.
    Page-Based Application iBook風のアプリ 12年2月24日金曜日
  • 83.
    ページめくりアニメーションを実現 R25APIを利用した例 サンプルソース:http://dl.dropbox.com/u/27096935/students/mybook.zip 参考:MTL主催 学生向けiPhoneアプリ勉強会(中級編) ∼リクルート流アプリの創り方∼  http://atnd.org/events/24249 12年2月24日金曜日
  • 84.
    UIPageViewController FNSRootViewController <UIPageViewControllerDele gate> page view spineLocationForInterfaceOr ientation UIPageViewController (回転時の挙動) view view FNSModelController<UIPa geViewControllerDataSour ce> (改ページ時) FNSDataViewController Before View After View @property dataObject UIPageViewControllerがページごとに FNSDataViewController Page@property PageData(model) Data(model) DataViewControllerを作成、破棄を繰り返 pageData @property dataObject してページを表示している。 12年2月24日金曜日
  • 85.
    UITwitter [iOS5]Twitterアカウント管理はOS任せにできる 12年2月24日金曜日
  • 86.
  • 87.
    ところで、iOS5のシェアは? i0S4の対応はどうしようか? 12年2月24日金曜日
  • 88.
    iOS5のシェアは6割強 リクルートWebサービスへのリクエスト数から算出 iPhoneOS3 iOS4 iOS5 1% 37% 62% 12年2月24日金曜日
  • 89.
    iOSバージョンシェア推移 公開から4ヶ月でiOS5シェアは6割強(2012/2) iPhoneOS3 iOS4 iOS5 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% 10/5 10/7 10/9 10/11 11/1 11/3 11/5 11/7 11/9 11/11 12/1 2010/5 ∼2012/2のリクルートWebサービスへのリクエスト数から算出 iPhoneOS3→iOS4の時は6ヶ月後に1:9になった。4→5は少し鈍い 12年2月24日金曜日
  • 90.
    あるコミックアプリのiOSシェア 1ヶ月後でiOS5 5割超え iPhone 4S発売及びiOS 5リリースから約一ヶ月後(集計期間11/11∼11/17)のシェア内訳 中村智武のCTO記-http://ameblo.jp/tomotaken/entry-11060841833.html iPhone向けコミック配信サービスのサーバーへのアクセスを元にした独自調べ 12年2月24日金曜日
  • 91.
    いつまでiOS4対応すべきか? いつかは、iOS5以上になるけれど... • iOS5以上で使える.. • iCloud • ARC • Newsstand • StoryBoard • iTunes U • Segue • 友達を探す • Custom Appearance • 通知センター • TwitterAPI • Mountain Lion • Table View Static Content ARC,StoryBoardは非常に魅力的すぐにでもiOS5にしぼりたい 12年2月24日金曜日
  • 92.
    My Little Story 自分の想いをコードで実現することについて、すこし、自分の体験を話します 12年2月24日金曜日
  • 93.
    iPadじゃらん 2010/5/28 iPad日本公開同時発売 12年2月24日金曜日
  • 94.
    iPadじゃらん 2010/5/28 iPad日本公開同時発売 12年2月24日金曜日
  • 95.
    iPadじゃらん 2010/5/28 iPad日本公開同時発売 地図と記事の2画面 12年2月24日金曜日
  • 96.
  • 97.
  • 98.
  • 99.
  • 100.
    雲定規+製図ペン+トレース用紙 テキスト 12年2月24日金曜日
  • 101.
  • 102.
  • 103.
  • 104.
  • 105.
    位置と連動するサービスを... 2006年の想い 12年2月24日金曜日
  • 106.
    位置と連動するサービスを... 2006年の想い 12年2月24日金曜日
  • 107.
    位置と連動するサービスを... 2006年の想い 12年2月24日金曜日
  • 108.
    位置と連動するサービスを... 2006年の想い 携帯できる 12年2月24日金曜日
  • 109.
    位置と連動するサービスを... 2006年の想い 携帯できる 地図と記事が連動 12年2月24日金曜日
  • 110.
    位置と連動するサービスを... 2006年の想い 携帯できる 地図と記事が連動 しかし当時は、手頃なデバイスがなかった 12年2月24日金曜日
  • 111.
  • 112.
    iPadじゃらん 2010/5/28 iPad日本公開同時発売 12年2月24日金曜日
  • 113.
    iPadじゃらん 2010/5/28 iPad日本公開同時発売 12年2月24日金曜日
  • 114.
    iPadじゃらん 2010/5/28 iPad日本公開同時発売 12年2月24日金曜日
  • 115.
    iPadじゃらん 2010/5/28 iPad日本公開同時発売 最適なデバイスの登場 12年2月24日金曜日
  • 116.
    iPadじゃらん 2010/5/28 iPad日本公開同時発売 最適なデバイスの登場 + 12年2月24日金曜日
  • 117.
    iPadじゃらん 2010/5/28 iPad日本公開同時発売 最適なデバイスの登場 + じゃらんというコンテンツ 12年2月24日金曜日
  • 118.
    確認事項 想いは形になります • アイデアや想いはいつか形になるもの 12年2月24日金曜日
  • 119.
    iOSデバイスのすごさ Android,WindowsPhoneも含む • 持ち運べる • 常時接続 • プログラム可能 12年2月24日金曜日
  • 120.
    Thank You! 樹海の森ですが、とても面白い場所です。一緒に楽しみましょう! 12年2月24日金曜日