iOS 7 UI移行ガイド(1)〜移行のための準備(1)〜始める前に

2013. 09. 21
※公式日本語ドキュメント『iOS 7 UI 移行ガイド』が公開されていますので、そちらを読むことを推奨します。



始める前に

iOS 7では、枠無しボタンや半透明バー、ビューコントローラのフルスクリーンレイアウトなど、多くのUIの変更が導入されています。
Xcode 5を使用することで、iOS 7のプロジェクトをビルドし、iOS 7のUIでのアプリケーションの外観の第一印象を得るためにiOS 7シミュレータを実行することができます。

例えば、TheElementsサンプルプロジェクトの2つのバージョン間のみでの違いを、デプロイするターゲットとシミュレータで以下に示します。

iOS 7シミュレータでの
TheElementsサンプルアプリケーション
 iOS 6シミュレータでの
TheElementsサンプルアプリケーション
first_look_7_2x.png first_look_6_2x.png

アプリケーションの更新作業にそのまま取り掛かるのも魅力的ですが、処理を始める前に考えることがいくつかあります。

組み込みのアプリケーションで操作すると、iOS 7での変化が巧妙で深いことが明確になります。
慣れ親しんだUI要素は容易に認識できますが、見た目はとても異なっています。
視覚的なタッチの物性や現実性は洗練かつ弱められ、現実的な動きが向上しています。


iOS 7では全てのUI要素が異なって見えますが、貴方が精通しているUIKit APIはほとんどは同じままで、多くの新機能をサポートします。

探求を続けるには、iOS 7のメインテーマの理解から始まります。

  • 服従
    UIはユーザが理解し、コンテンツと対話する助けとなりますが、それと競合することはありません。

  • 明瞭
    テキストは全てのサイズで判読でき、アイコンは明確かつ明快で、装飾は希薄かつ適切であり、デザインの動機は機能を鮮明にすることに集中します。

  • 奥行
    視覚レイヤとリアルな動きは、ユーザの楽しみと理解を高めます。

基本的かつ普及しているiOSの体験に変化をもたらすことによって、アプリケーションがユーザに核となる目的や機能を伝える方法を再検討する貴重な機会をiOS 7は提供します。
貴方は現在この機会を最大限利用するための準備をしていないかもしれませんが、アプリケーションをiOS 7で実行するための更新を心に留めてください。
(アプリケーションの設計を再検討する準備ができていない、または新しいプロジェクトを始めていない場合は、新しい手引である『iOS 7用の設計』を読んでください。)



・アプリケーションを特徴付ける

アプリケーションを再設計するか現在の設計を更新するかを決定するには、アプリケーションの特性が行程にどのような影響を与えるかを知る必要があります。
まず、戦略を具体化するために以下の質問を使用します。

  • アプリケーションの設計にAuto Layoutを使用しましたか?

    アプリケーションがAuto Layoutを使用している場合、作業は簡単です。
    Xcode 5では、Auto Layoutはアプリケーションを新しいUI要素の基準へ適応させることができ、テキストサイズの動的変化に適切に対応します。
    Auto LayoutはiOS 6アプリケーションの変換、またはiOS 6とiOS 7の両方をサポートする必要がある場合に特に有用です。

    Auto Layoutを使用していない場合、特にアプリケーションが複数のバージョンをサポートする必要がある場合は、今は始めるのに最適な時期かもしれません。
    手動またはプログラムによるレイアウト技術を使用している場合、テキストサイズが変更された時にレイアウトを適切に調整することを保証する責任があります。

  • アプリケーションはiOS 6をサポートする必要がありますか?

    iOSユーザは非常に迅速にデバイスをアップデートし、お気に入りのアプリケーションがそれに追随することを期待する傾向があることを覚えておいてください。

    ビジネス上の理由からiOS 6をサポートする必要がある場合でも、現在のアプリケーションをiOS 7へのアップデートを始めるのは最適です。
    その後、アプリケーションのiOS 6バージョンへの設計変更を適用します。
    この行程のいくつかの詳細についてはiOS 6のサポートを参照してください。

変換戦略を具体化する次の行程は、アプリケーションをカスタマイズする方法を検討することです。
カスタマイズの主旨(と使用する特定のカスタマイズ技術)は、しなければならない作業の種類に影響を与えます。

アプリケーションのカスタマイズの考えは、以下の3種類に分類されます。

  • 標準
    アプリケーションは標準の物のみを含み、UIKitで提供されているUI要素はカスタマイズしません。

  • カスタム
    アプリケーションはUIKitのUI要素を含まない、完全にカスタムのUIで表されます。

  • ハイブリッド
    アプリケーションは標準とカスタムの要素が混在し、UIKitの淡彩や外観をカスタマイズしたAPIを使用してカスタマイズした標準要素を含みます。

標準アプリケーションでは、視覚とユーザ体験の設計がiOS 7環境で理にかなっているかどうかを判断する必要があります。
現在のレイアウトと相互作用モデルを維持すると判断した場合、作業のほとんどは小規模な調整と、アプリケーションが新しいシステム全体のジェスチャを正確に処理することを保証することが含まれます。

カスタムアプリケーション(つまりUIKitのUI要素を使用しないアプリケーション)は、より繊細なアプローチが必要となります。
例えば、現在のアプリケーションのUIや体験がまだ適切であると感じている場合、行うことは非常に少ないかもしれません。
逆に言えば、iOS 7ユーザを喜ばせるためにアプリケーションの性質やユーザ体験を変更する必要があると感じている場合は、より多くの作業を行うことになります。

ハイブリッドアプリケーションは、行ったカスタマイズと、カスタムと標準の要素の組み合わせ方法によって、必要となる作業量が変わります。
更にハイブリッドアプリケーションの全体的な設計を再検討し、カスタマイズが標準の要素と統合した時に、上手く機能して見栄えが良いことを確実にする必要があります。


完全なカスタムの方法で標準のiOS 6のUIを模倣しているアプリケーションは率直に言って時代遅れに見えるため、多くの作業が必要となるでしょう。



参考文献

Apple/ iOS 7 UI Transition Guide

0 CommentsPosted in 資料





SoundSport Pulse wireless headphones
0 Comments
Leave a comment
管理者にだけ表示を許可する
Top
0 Trackbacks
Top
Calendar
04 | 2017/05 | 06
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 31 - - -
Recent Articles
iTunes


Swift
Categories
Tips
Profile

水月杏香

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

Wish List
WACOM


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

SoundSport Pulse wireless headphones
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