iOSとwin8_エンジニア勉強会20131106
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

iOSとwin8_エンジニア勉強会20131106

on

  • 693 views

11月6日開催のエスキュービズムエンジニア勉強会資料です。

11月6日開催のエスキュービズムエンジニア勉強会資料です。

Statistics

Views

Total Views
693
Views on SlideShare
685
Embed Views
8

Actions

Likes
1
Downloads
0
Comments
0

1 Embed 8

http://s.deeeki.com 8

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

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とwin8_エンジニア勉強会20131106 Presentation Transcript

  • 1. iOSとWin8の違い 
 2013/10/15
  • 2. iOSアプリ開発者が
 WinRTアプリ開発に 携わった感想を述べます。
  • 3. 開発経験 • iOS • 3年 • WinRT • 2週間∼3週間
  • 4. 目次 1)開発OSの違い 2)IDEの違い 3)UI構築の違い 4)プログラミングの違い i. 言語の違い ii. メモリ管理の違い iii. DBの扱いの違い
  • 5. 開発OSの違い Operation System iOS: Mac WinRT: Windows8
  • 6. iOS: Mac • 普及率が低い • • • キーボードからして違う 慣れる必要がある OSは安い($19.99) • Mavericksはアップデートタダ
  • 7. WinRT: Windows8 • Windows系列 • 広く普及している • OSが高い • アップグレードは安い • Win7からは1200円∼
  • 8. IDEの違い Integrated Development Environment iOS: Xcode WinRT: VisualStudio
  • 9. iOS: Xcode • タダ • • • 一瞬、$4.99の時期があった OSも最新にしないと動かない 自分好みに変えづらい • 色とパネルの表示/非表示くらい パネル数は少なめ • • 全画面推奨 画像引用元: https://itunes.apple.com/jp/app/xcode/id497799835
  • 10. WinRT: Visual Studio • タダ • Win8以降が必要 • 自分好みにカスタマイズ可能 • • • パネルの場所は自由自在に移動可能 パネルが多い • パネルが行方不明になる ショートカットキーが難解 画像引用元: http://www.microsoftstore.com/store/msus/en_AU/pdp/productID.288733900
  • 11. UI構築の違い User Interface iOS: Interface Builder WinRT: Blend & XAML
  • 12. iOS: InterFace Builder • 機種依存はほぼ、無し • • • 縦長か否か、のみ ドラッグ&ドロップのみで構成 • コードとのつなぎ込みも可 コーディングと明確に分離 • 中身は解読困難 • Gitでコンフリクトしたら悲惨 画像引用元: http://www.electricpig.co.uk/2011/01/18/apple-icon-secrets-hidden-meanings-hiding-in-plain-sight/
  • 13. WinRT: Blend & XAML • 2つのツールを行き来しながら作業 • Blend • • ドラッグ&ドロップでUI構築 • XAML • C#との繋ぎ込み等は直書き 機種依存へ考慮が必要 • VMと実機で違う
 挙動をすることも 画像引用元: https://www.facebook.com/MicrosoftExpression
  • 14. Win8系の解像度について Logical DPIの存在 Dot per Inch フルHD(1980 1080)ディスプレイだけど、
 ストアアプリは「1366 768」で動くよ! 参考URL http://www.slideshare.net/manatokameya/ss-23981128
  • 15. UI配置の違い • iOS • UIViewの下にUI要素を配置 • 基本は絶対位置を指定 • WinRT • Grid等で画面を区分け • 相対的に配置
  • 16. UIの動的生成における違い • iOS • コード上で全部書く • WinRT • XAML上で枠組みだけ書き、
 生成元の変数等はC#で書く
  • 17. プログラミングの違い Programming iOS: Objective-C WinRT: C#(他にもあるヨ)
  • 18. iOS: Objective-C • オブジェクト指向言語 • • • C++によって潰されかけた言語 丁寧で厳しい言語 学習コストが高い • Mac、iOSアプリ以外に使い道がない • 一部フレームワークの学習コストも高い
 (CoreData、CoreGraphicsなど • Webアプリの火付け役
  • 19. Obj-Cの例
  • 20. WinRT: C# • 簡単で学習コストが低い • • 既に習得している人も多い 曖昧な開発も可能 • var(型推論) • null許容型 • • int? j= null + 100; // jはnull 非同期処理がいつの間にか行われることも • http://itpro.nikkeibp.co.jp/article/Watcher/20130331/467401/
  • 21. メモリ管理の違い Memory Management iOS: ARC WinRT: GC
  • 22. iOS: ARC • Automatic Reference Counting • MRC(Manual RC)の発展系 1) 元々は手動でメモリ管理 ✴ Release、Retain等記載 2) 「Releaseが抜けている」とエラー表示 3) 「自動で補完すれば良いのでは」 4)ARC!
  • 23. ARCの注意点 あくまで 「メモリ管理コードを自動で挿入」 するだけ 特異な書き方をすれば 誤った挿入が行われて 落ちる
  • 24. WinRT: GC • Garbage Collection • 自動でメモリ解放 • • 今後アクセスし得ない変数を解放 • ずっと保持し続ける処理を書くとリーク 重い あまり触れた事ないです…
  • 25. DB管理の違い Database Management iOS: Core Data WinRT: SQLite Wrapper
  • 26. iOS: CoreData Object / Relational • O/R Mapperの1つ • 面倒なことを代理実行 • • • データ保護、メモリ管理など 他クラスとの連携も容易 • テーブルビューとは密接に連携 敷居が高い
  • 27. CoreDataは鬼門 • • • サンプル読んでも何やっているか分からない マニュアルも難しい これだけで本が書けて売れる • 本を読んでも理解できない • 本が間違っていることもある ただし、最近はWeb資料の充実や
 Xcode自体のアップデートで使いやすくなっている
  • 28. WinRT: SQLite • 拡張(Wrapper)の位置づけ • 簡単 • • 導入迄に1時間も要らなそう データ保護等は自力?
  • 29. デバッグの違い • iOS • 変数の監視期間が短い • すぐ解放されてしまう • WinRT • 変数の監視期間が長い • デバッグ中にソースコードを
 書き換えられない
  • 30. その他感想 Other Differences between iOS and Win8
  • 31. 普及度合いによる差 • iOS • 資料が多い • たいていの問題はGoogle等で解決可 • WinRT • 資料が少ない • フォーラムや英語サイトを
 彷徨う必要有