最近のiOS開発の現状と実状
Upcoming SlideShare
Loading in...5
×
 

最近のiOS開発の現状と実状

on

  • 5,714 views

 

Statistics

Views

Total Views
5,714
Views on SlideShare
5,410
Embed Views
304

Actions

Likes
9
Downloads
22
Comments
0

3 Embeds 304

http://dev.classmethod.jp 301
http://localhost 2
http://news.google.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    最近のiOS開発の現状と実状 最近のiOS開発の現状と実状 Presentation Transcript

    • Title 最近のiOS開発の現状と実状 Sub ~クラスメソッド課外授業2日目~ http://classmethod.jp/ Author 平井 祐樹 Date 2012/12/10 Vol. Version 1.0 1.0Copyright ©Classmethod.inc All Right Reserved. 1
    • プロフィール 平井 祐樹 • iPhone/iPadなどのiOSアプリ開発を主に担当しています。 • ちょっと前まではWEBアプリエンジニアでした。 • 得意な言語はObjective-C、PHP、JSです。 • http://dev.classmethod.jp/author/hirai-yuki/Copyright ©Classmethod.inc All Right Reserved. 2
    • プロフィール 目標:モテるシステムエンジニア!Copyright ©Classmethod.inc All Right Reserved. 3
    • アジェンダCopyright ©Classmethod.inc All Right Reserved. 4
    • アジェンダ 本日のアジェンダ 1. このセッションの目的 2. 今対象にすべきプラットフォームは? 3. 把握しておくべきはまりどころ 4. まとめCopyright ©Classmethod.inc All Right Reserved. 5
    • このセッションの目的Copyright ©Classmethod.inc All Right Reserved. 6
    • このセッションの目的 iOSアプリ開発を始める前に・・・ iOSのプラットフォームを 決めなければならないCopyright ©Classmethod.inc All Right Reserved. 7
    • このセッションの目的Copyright ©Classmethod.inc All Right Reserved. 8
    • このセッションの目的 意外とたくさんある!! (Androidよりはマシですが・・・)Copyright ©Classmethod.inc All Right Reserved. 9
    • このセッションの目的 どれを選べばいいの?Copyright ©Classmethod.inc All Right Reserved. 10
    • このセッションの目的 全部を対象にすると・・・  新機能が使えない  実装・テスト工数の増化Copyright ©Classmethod.inc All Right Reserved. 11
    • このセッションの目的 最新のプラットフォームのみを対象にすると・・・  古いプラットフォームの ユーザーが利用できない!!Copyright ©Classmethod.inc All Right Reserved. 12
    • このセッションの目的 どうすればいいの?Copyright ©Classmethod.inc All Right Reserved. 13
    • このセッションの目的 このセッションの目的Copyright ©Classmethod.inc All Right Reserved. 14
    • このセッションの目的  iOS界隈の現状を把握した上で  実状に則したプラットフォームを導出し  はまりどころを理解して 効率良くiOSアプリを開発しよう!Copyright ©Classmethod.inc All Right Reserved. 15
    • 今対象にすべきプラットフォームは?Copyright ©Classmethod.inc All Right Reserved. 16
    • 結論Copyright ©Classmethod.inc All Right Reserved. 17
    • 結論Copyright ©Classmethod.inc All Right Reserved. 18
    • 根拠 以下の3つの視点から分析 1. iOSの普及率 2. 有名iOSアプリの対応状況 3. 開発作業Copyright ©Classmethod.inc All Right Reserved. 19
    • 根拠 1.iOSの普及率Copyright ©Classmethod.inc All Right Reserved. 20
    • 1.iOSの普及率 アメリカ・カナダのデータ (2012/9/18〜10/19) iOSの普及率 1% 9% アメリカ・カナダ iOS 4.x以前の普及率は・・・ 29% iOS 6 10%!! 61% iOS 5.x iOS 4.x その他 参考:http://d.hatena.ne.jp/ntaku/20120913/1347504706Copyright ©Classmethod.inc All Right Reserved. 21
    • 1.iOSの普及率 国内のデータ (2012/8/13~9/12) 国内でのiOS普及率 13% 国内でのiOS 4.x以前のシェアは・・・ 3ヶ月前で13%!! iOS 5.x iOS 4.x 87% 参考:http://ameblo.jp/tomotaken/entry-11225460691.htmlCopyright ©Classmethod.inc All Right Reserved. 22
    • 1.iOSの普及率 iOSの普及率の視点から見ると・・・Copyright ©Classmethod.inc All Right Reserved. 23
    • 1.iOSの普及率 iOSの普及率の視点から見ると・・・Copyright ©Classmethod.inc All Right Reserved. 24
    • 根拠 2.有名iOSアプリの対応状況Copyright ©Classmethod.inc All Right Reserved. 25
    • 2.有名iOSアプリの対応状況 iOS 5.xからアップデート可能な有名アプリ アップル純正のアプリ その他のアプリCopyright ©Classmethod.inc All Right Reserved. 26
    • 2.有名iOSアプリの対応状況 有名iOSアプリの対応状況の視点から見ると・・・Copyright ©Classmethod.inc All Right Reserved. 27
    • 2.有名iOSアプリの対応状況 有名iOSアプリの対応状況の視点から見ると・・・Copyright ©Classmethod.inc All Right Reserved. 28
    • 根拠 3.開発環境Copyright ©Classmethod.inc All Right Reserved. 29
    • 3.開発環境 Xcode4.5以降では・・・ iOS 4.3未満は対象にできないCopyright ©Classmethod.inc All Right Reserved. 30
    • 3.開発環境 さらに・・・ 最新の開発環境である Mac OS X 10.8 Mountain Lion かつ Xcode 4.5 だと、 iOS 4.3のシミュレータが 動作しない!! (Mac OS X 10.7 Lionならなんとかなる模様)Copyright ©Classmethod.inc All Right Reserved. 31
    • 3.開発環境 iOS 5以降をターゲットに含めた場合 Storyboardが使える ARCに完全対応したプログラムが書ける(iOS4.xではweak修飾子が使えない) 便利なフレームワークが使える  Core Image Framework  Core Bluetooth Framework  GLKit Framework 実装工数の削減!!Copyright ©Classmethod.inc All Right Reserved. 32
    • 3.開発環境 開発環境の視点から見ると・・・Copyright ©Classmethod.inc All Right Reserved. 33
    • 3.開発環境 開発環境の視点から見ると・・・Copyright ©Classmethod.inc All Right Reserved. 34
    • 根拠 以上の3つの視点から分析すると 1. iOSの普及率 2. 有名iOSアプリの対応状況 3. 開発環境 対象とするiOSはiOS5.x以降!!Copyright ©Classmethod.inc All Right Reserved. 35
    • 今対象にすべきプラットフォームは? iOS5.x以降で サポートされるデバイスCopyright ©Classmethod.inc All Right Reserved. 36
    • iOS5.x以降でサポートされるデバイスCopyright ©Classmethod.inc All Right Reserved. 37
    • iOS5.x以降でサポートされるデバイスCopyright ©Classmethod.inc All Right Reserved. 38
    • 今対象にすべきプラットフォームは? 結論 iOSのバージョンは・・・ iOS 5 〜 iPhoneは・・・ iPhone 3GS 〜 iPadは・・・ 全部 iPod Touchは・・・ 第3世代〜Copyright ©Classmethod.inc All Right Reserved. 39
    • 把握しておくべきはまりどころCopyright ©Classmethod.inc All Right Reserved. 40
    • 今対象にすべきプラットフォームは? 結論 iOSのバージョンは・・・ iOS 5.xとiOS 6.xの両方の iOS 5 〜 対応が必要!! iPhoneは・・・ iPhone 3GS 〜 iPadは・・・ 全部 iPod Touchは・・・ 第3世代〜Copyright ©Classmethod.inc All Right Reserved. 41
    • 把握しておくべきはまりどころ iOS5.x/iOS6.xを対応する場合 以下の3つのはまりどころがある!! 1. iOS5ではAutolayoutが使えない 2. ビューコントローラのライフサイクルが違う 3. 画面回転の対応方法が違うCopyright ©Classmethod.inc All Right Reserved. 42
    • 把握しておくべきはまりどころ 1.iOS5ではAutolayoutが使えないCopyright ©Classmethod.inc All Right Reserved. 43
    • 1.iOS5ではAutolayoutが使えない Autolayoutは iOS 6からの新機能なのでiOS 5では使えないのに Xcode4.5だと xxx.storyboardやxxx.xib作成時に 無条件で有効になる! iOS 5.xだと例外が発生してしまう!Copyright ©Classmethod.inc All Right Reserved. 44
    • 1.iOS5ではAutolayoutが使えない 解決方法 xxx.storyboardやxxx.xib作成時に「Use Autolayout」を無効にする!! チェックを外すCopyright ©Classmethod.inc All Right Reserved. 45
    • 把握しておくべきはまりどころ 2.ビューコントローラの ライフサイクルが違うCopyright ©Classmethod.inc All Right Reserved. 46
    • 2.ビューコントローラのライフサイクルが違う iOS 6からの変更点 iOS 6から viewDidUnloadメソッドが 呼ばれなくなった!!Copyright ©Classmethod.inc All Right Reserved. 47
    • 2.ビューコントローラのライフサイクルが違う viewDidUnloadの役割 3.ViewDidUnloadで メモリ解放!! iOS 6では ViewDidUnloadが呼ばれない!! 2.メモリ警告!! 1.モーダルウィンドウで表示Copyright ©Classmethod.inc All Right Reserved. 48
    • 2.ビューコントローラのライフサイクルが違う 解決方法 iOS 6では didReceiveMemoryWarningメソッド を使う!!Copyright ©Classmethod.inc All Right Reserved. 49
    • 2.ビューコントローラのライフサイクルが違う 解決方法 3. didReceiveMemoryWarningで メモリ解放!! 2.メモリ警告!! 1.モーダルウィンドウで表示 50Copyright ©Classmethod.inc All Right Reserved.
    • 2.ビューコントローラのライフサイクルが違う サンプルソース • iOS 5でも呼ばれる • メモリ警告が発生するとすべての ビューコントローラで呼ばれるCopyright ©Classmethod.inc All Right Reserved. 51
    • 把握しておくべきはまりどころ 3.画面回転の対応方法が違うCopyright ©Classmethod.inc All Right Reserved. 52
    • 3.画面回転の対応方法が違う iOS 6からの変更点 iOS 6から shouldAutorotateToInterfaceOrientation: メソッドが呼ばれなくなった!!Copyright ©Classmethod.inc All Right Reserved. 53
    • 3.画面回転の対応方法が違う iOS 6からの変更点 shouldAutorotateToInterfaceOrientation:メソッドの役割 iOS 6では shouldAutorotateToInterfaceOrientation:が呼ばれない!! 2.shouldAutorotateToInterfaceOrientation:が 呼ばれて、回転してもいいか確認!! 1.回転 3.回転OKCopyright ©Classmethod.inc All Right Reserved. 54
    • 3.画面回転の対応方法が違う 解決方法 iOS 6では shouldAutorotateメソッドと supportedInterfaceOrientationsメソッド を使う!!Copyright ©Classmethod.inc All Right Reserved. 55
    • 3.画面回転の対応方法が違う iOS 6からの変更点 2. shouldAutorotateメソッドと supportedInterfaceOrientationsメソッドが 呼ばれて回転してもいいか確認!! 1.回転 3.回転OKCopyright ©Classmethod.inc All Right Reserved. 56
    • 3.画面回転の対応方法が違う サンプルソース 最初にこのメソッドが呼ばれる shouldAutorotateメソッドがYESを 返した場合のみ呼ばれるCopyright ©Classmethod.inc All Right Reserved. 57
    • まとめCopyright ©Classmethod.inc All Right Reserved. 58
    • 対象にすべきプラットフォームは?Copyright ©Classmethod.inc All Right Reserved. 59
    • 対象にすべきプラットフォームは?Copyright ©Classmethod.inc All Right Reserved. 60
    • 把握しておくべきはまりどころ iOS 5.x/iOS 6.xを対応する場合の3つのはまりどころ 1. iOS5ではAutolayoutが使えない 2. ビューコントローラのライフサイクルが違う 3. 画面回転の対応方法が違うCopyright ©Classmethod.inc All Right Reserved. 61
    • まとめ 効率良くiOSアプリを開発しよう!Copyright ©Classmethod.inc All Right Reserved. 62
    • まとめ 本音を言うと・・・ 理想はiOS 6以降のみ対応! 現状はまだ無理!! (地図アプリの影響もある)Copyright ©Classmethod.inc All Right Reserved. 63
    • まとめ iOSアプリ開発のいいところ  対象のプラットフォームが少ない  新しいプラットフォームへの移行が早い この流れを止めてはいけない!!Copyright ©Classmethod.inc All Right Reserved. 64
    • まとめ iOSアプリ開発者として 魅力的なiOSアプリを開発し 最新のプラットフォームへの移行を促す ぐらいの意気込みで取り組むべき!!Copyright ©Classmethod.inc All Right Reserved. 65
    • ご清聴ありがとうございました。Copyright ©Classmethod.inc All Right Reserved. 66