Start Developing iOS Apps Today(12)~iOSテクノロジー

2014. 04. 07
●iOSテクノロジー

貴方はシンプルなユーザインターフェイスと基本的な動作を持つアプリを作成する方法を学びました。
この時点で、完全な機能を持つアプリにするためプロジェクトに追加の動作を実装することを検討するのも良いでしょう。

どの機能を追加するか検討する際、最初から全てを実装する必要はないことを覚えておいてください。
iOSは、アプリに統合することができる(ゲームやメディアからセキュリティやデータ管理に至る)特定の機能のセットを定義するフレームワークを提供しています。
貴方は既にアプリのユーザインターフェイスの設計にUIKitフレームワークを、そしてコードに一般的なデータ構造や動作の組み込みにFoundationフレームワークを使用しています。
これらはiOSアプリ開発で使用される最も一般的なフレームワークの2つですが、更に役立つ多くのフレームワークがあります。

technologies_2x.png

この章は、アプリで採用を検討するためのテクノロジーとフレームワークの高レベルの概要です。
利用可能なテクノロジーを探索するための出発点として、この章を使用してください。
iOSで利用可能なテクノロジーの完全な概要は「iOSテクノロジーの概要」を参照してください。



●ユーザインターフェイス

iOSはアプリのユーザインターフェイスを作成し強化するための、多くの多くのフレームワークとテクノロジーを持っています。

UIKit
UIKitフレームワークは、タッチベースのユーザインターフェイスを作成するためのクラスを提供しています。
全てのiOSアプリはUIKitに基づいているため、このフレームワーク無しにアプリを発売することはできません。
UIKitは画面の描画やイベント処理、一般的なユーザインターフェイス要素を作成するためのインフラストラクチャを提供します。
またUIKitは画面上に表示するコンテンツを管理することによって、複雑なアプリを編成します。
詳細については「UIKit Framework Reference」を参照してください。

Core Graphics
Core Graphicsは、高品質なベクターグラフィックスやパスベースの描画、変換、画像、データ管理などを処理するための(低レベルなCベースの)主要なフレームワークです。
もちろんiOSでグラフィックスを作成するための最も簡単で効率的な方法は、UIKitフレームワークの標準のビューとコントロールでレンダリング済みの画像を使用して、iOSに描画の実行を任せることです。
UIKitは(パスや色、パターン、グラデーション、画像、テキスト、そして変換を含む)カスタム描画のためのクラスも提供している高レベルのフレームワークなので、可能な限りCore Graphicsの代わりに使用します。
詳細については「Core Graphics Framework Reference」を参照してください。

Core Animation
Core Animationは、高度なアニメーションと視覚的効果を作成することができるテクノロジーです。
UIKitはCore Animationテクノロジーの上に構築されたアニメーションを提供します。
UIKitの能力を超える高度なアニメーションが必要な場合は、直接Core Animationを使用することができます。
Core AnimationのインターフェイスはQuartz Coreフレームワークに含まれています。
Core Animationを使用して、回転や拡大縮小、変換などの操作をするレイヤオブジェクト階層を作成します。
Core Animationの使い慣れたビューのような抽象化を使用することによって、OpenGL ESなどの低レベルグラフィックスAPIを使用することなく、動的なユーザインターフェイスを作成することができます。
詳細については「Core Animationプログラミングガイド」を参照してください。



●ゲーム

iOS用のゲームを開発する時には、多数の様々なテクノロジーを探索します。

Game Kit
Game Kitフレームワークは、貴方のiOSゲームに追加するリーダーボードや成果、およびその他の機能を提供します。
詳細については「Game Kit Framework Reference」を参照してください。

Sprite Kit
Sprite Kitフレームワークは、任意のテクスチャ画像またはスプライトのアニメーションのためのグラフィックスサポートを提供します。
グラフィックエンジンであることに加えて、オブジェクトの振る舞いに物理的なサポートも含んでいます。
Sprite Kitは複雑なアニメーションチェーンを必要とするゲームや他のアプリにとって良い選択です。
(他の種類のユーザインターフェイスのアニメーションについては、代わりにCore Animationを使用してください。)
詳細については「Sprite Kit Programming Guide」を参照してください。

OpenGL ES
OpenGL ESは、ハードウェアアクセラレーションでの2Dおよび3D描画をサポートするためのツールを提供する低レベルフレームワークです。
OpenGL ES標準のAppleの実装では、ゲームスタイルのアプリでフルスクリーンでの高フレームレートを提供するために、デバイスのハードウェアと密接に連携します。
OpenGL ESは低レベルでハードウェアに焦点を当てたAPIなため、急な学習曲線を持ちアプリ全体の設計に重大な影響を与えます。
(より特殊な用途の高性能グラフィックスが必要なアプリの場合、Sprite KitやCore Animationの使用を検討してください。)
詳細については「iOS OpenGL ESプログラミングガイド」を参照してください。

Game Controller
Game Controllerフレームワークは、MacやiOSでバイスに接続されたコントローラを簡単に見つけることができます。
コントローラがデバイス上で検出された時、ゲームは通常のゲームプレイの一環として制御入力を読み込みます。
これらのコントローラは、ゲームを制御するプレイヤのために新たな方法を提供します。
Appleは、全てのコントローラがプレイヤとゲーム設計者の両方が信頼することができる制御要素の一貫した設定を持っていることを保証するために、ハードウェアコントローラの仕様を設計しています。
詳細については「Game Controller Framework Reference」を参照してください。



●データ

アプリのデータを処理する時、既存のフレームワークに利用することができる機能があるか検討してください。

Core Data
Core Dataフレームワークは、アプリのデータモデルを管理します。
Core Dataを使用すると、管理オブジェクトとして知られるモデルオブジェクトを作成します。
貴方はこれらのオブジェクト間の関係を管理し、フレームワークを介してデータに変更を加えます。
Core Dataは組み込みのSQLiteテクノロジーを利用して、効率的にデータの格納し管理します。
詳細については「Core Data Framework Reference」を参照してください。

Foundation
このガイドでは早い段階でFoundationで処理してきました。
FoundationフレームワークはObjective-Cクラスの基盤レイヤを定義しています。
便利なプリミティブオブジェクトクラスのセットを提供していることに加えて、このフレームワークはObjective-C言語では扱っていない動作を定義するいくつかのパラダイムが導入されています。
特にこのフレームワークは文字列や数値などの基本的なデータ型と、他のオブジェクトを格納するためのコレクションクラスを表すクラスが含まれています。
詳細については「Foundation Framework Reference」を参照してください。



●Media

Mediaフレームワークは、アプリでオーディオやビデオを処理するための機能を多数提供しています。

AVFoundation
AVFoundationは、時間ベースのオーディオビジュアルメディアの再生と作成に使用することができる、いくつかのフレームワークの一つです。
例えばメディアファイルの調査や作成、編集、または再エンコードにAV Foundationを使用することができます。
またデバイスから入力ストリームを取得し、キャプチャや再生中にリアルタイムでビデオを操作することもできます。
詳細については「AV Foundation Framework Reference」を参照してください。



参考文献

Apple/Start Developing iOS Apps Today

0 CommentsPosted in 資料





bose_soundlink_revolve
0 Comments
Leave a comment
管理者にだけ表示を許可する
Top
0 Trackbacks
Top
Calendar
03 | 2017/04 | 05
Sun Mon Tue Wed Thu Fri Sat
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -
Recent Articles
iTunes


Swift
Categories
Tips
Profile

水月杏香

Author:水月杏香
永遠の初心者プログラマ。

Wish List
WACOM


ARC
Technical Q&A
情報プロパティリストキー
Start Developing iOS Apps Today
BOSE

bose_soundlink_revolve
Reference
NSApplicationDelegateプロトコル
NSArrayクラス
NSAutoreleasePoolクラス
NSBundleクラス
NSBundle UIKit追加分
NSCalendarクラス
NSCoderクラス
NSCodingプロトコル
NSCopyingプロトコル
NSDataクラス
NSDateクラス
NSDateFormatterクラス
NSDictionaryクラス
NSEntityDescriptionクラス
NSEnumeratorクラス
NSErrorクラス
NSExceptionクラス
NSFetchRequestクラス
NSFileHandleクラス
NSFileManagerクラス
NSIndexPathクラス
NSIndexPath UIKit追加分
NSKeyedArchiverクラス
NSKeyedUnarchiverクラス
NSKeyValueCodingプロトコル
NSLocaleクラス
NSManagedObjectクラス
NSManagedObjectContextクラス
NSManagedObjectModelクラス
NSMutableArrayクラス
NSMutableCopyingプロトコル
NSMutableDictionaryクラス
NSMutableSetクラス
NSNotificationクラス
NSNotificationCenterクラス
NSNullクラス
NSNumberクラス
NSObjectクラス
NSObject UIKit追加分
NSObjectプロトコル
NSPersistentStoreクラス
NSPersistentStoreCoordinatorクラス
NSPredicateクラス
NSPropertyListSerializationクラス
NSRunLoopクラス
NSSetクラス
NSStringクラス
NSString UIKit追加分
NSTimerクラス
NSTimeZoneクラス
NSURLクラス
NSURLProtectionSpaceクラス
NSURLRequestクラス
NSUserDefaultsクラス
NSValueクラス

UIActionSheetクラス
UIActionSheetDelegateプロトコル
UIActivityIndicatorViewクラス
UIAlertViewクラス
UIAlertViewDelegateプロトコル
UIApplicationクラス
UIApplicationDelegateプロトコル
UIBarButtonItemクラス
UIBarItemクラス
UIButtonクラス
UIColorクラス
UIControlクラス
UIDatePickerクラス
UIDeviceクラス
UIEventクラス
UIFontクラス
UIGestureRecognizerクラス
UIImageクラス
UIImageViewクラス
UIKit Function
UILabelクラス
UINavigationControllerクラス
UINavigationItemクラス
UIPickerViewクラス
UIPickerViewDataSourceプロトコル
UIPickerViewDelegateプロトコル
UIPinchGestureRecognizerクラス
UIResponderクラス
UIScreenクラス
UIScrollViewクラス
UISearchBarクラス
UISearchBarDelegateプロトコル
UISegmentedControlクラス
UISliderクラス
UISwipeGestureRecognizerクラス
UISwitchクラス
UITableViewクラス
UITableViewCellクラス
UITableViewControllerクラス
UITableViewDataSourceプロトコル
UITableViewDelegateプロトコル
UITapGestureRecognizerクラス
UITextFieldクラス
UITextFieldDelegateプロトコル
UITextInputTraitsプロトコル
UITextViewクラス
UITextViewDelegateプロトコル
UIToolbarクラス
UITouchクラス
UIViewクラス
UIViewControllerクラス
UIWebViewクラス
UIWebViewDelegateプロトコル
UIWindowクラス

AVAudioPlayerクラス
AVAudioPlayerDelegateプロトコル

CADisplayLinkクラス
CAEAGLLayerクラス
CALayerクラス

CGAffineTransform
CGBitmapContext
CGColor
CGColorSpace
CGContext
CGGeometry
CGImage
CGPath

EAGLContextクラス
EAGLDrawableプロトコル

Foundation Constants
Foundation Data Types
Foundation Functions

MPMediaItemクラス
MPMediaItemArtworkクラス
MPMediaPlaylistクラス
MPMediaPropertyPredicateクラス
MPMediaQueryクラス
MPMusicPlayerControllerクラス

Randomization Services

System Sound Services
Amazon


OpenGL ES
SQLite
Monthly Archives
Recent Comments
Recent TrackBacks
RSS Link
Visitors
QR Code
QR