iOSアプリ開発の前提知識習得 - shirai/SwiftLearning GitHub Wiki

項目学習準備 「iOSアプリとは何か、どうやって開発するのかを知る」

概要

作り始める前に、iOSアプリについて以下を学ぶ。

  • UI(ユーザーインターフェイス)にどんな特徴があるアプリなのか
  • どんな開発環境を用いているのか

項目学習準備の流れ

  1. デザインのヒントを読み、 「iOSアプリはどんな思想でUI設計されているのか」 を知る
  2. HelloWorldアプリを作ってみて 開発環境の使い方とアプリの作り方 を知る

iOSアプリはどんな思想でUI設計されているのか

iOSアプリはどんな思想でUI設計されているのかを知る

iOSヒューマンインターフェイスガイドライン

上記ガイドラインは英語なのでとっつきにくい。
とはいえ「概要」記載の内容くらいは知っておきたいのでここで学ぶ。

目的

  • Appleの定義しているガイドラインに沿ったUIを学ぶ

UI検討する際、「ユーザー目線での使いやすさ」を考慮する必要がある。
ガイドライン自体が、「Appleの考えた使いやすいアプリ」を定義したものなので
 ・ガイドラインに沿ったUI = ユーザーが使いやすいUI
と言える。

ガイドラインに沿ったUIを知っていないと、アプリがリジェクト(世に出せない)されたり
ユーザーにとって使いづらいアプリになって利用者が減るなどが発生してしまう。

到達目標

  • iOSアプリの基本的なUI設計方針を知っている
    • 「十分に理解し、1からデザインができるようになる」ようになるのは難しい&実際やることは無いので、
      「ガイドラインに何が書いてあるのかを読める」くらいを目指す
  • ガイドライン記載の単語はすべて覚える
    • 以降の作業を進めやすくするため「用語集」を作りながら作業を実施する
    • わからないことを放置して先に進むと、後々の記載内容も理解できないので、都度調査&記録する
  • UIKitで用意されているコンポーネントが3つの要素に分類されることを知る
    • 理解度確認は次の「標準UIの理解」の項目で実施

ポイント

  • 全体的に浅い内容(実装時に参照することはない)であるものの「知っていて当たり前の基本的な方針」なので、今後も何度か読み返して基本方針を十分に覚えておくこと

進め方

  1. ユーザインターフェイスのデザインのヒントを読む
    • 読み進める中で出てきた内容から質問表を作る
      • ジャンル分けはなしでなんでも記載OK
        • 例:UIとは?UXとは?UIKitとは?
      • 質問表はConfluenceに書く
  2. Human Interface Guidelines > Overviewを読む
    • 必要に応じて和訳しながら読み進める
      • 不安な部分があれば質問表に書く
  3. 質問表の回答依頼を出す

成果物

  • 質問表(全件解決済み)
     →これは以降の作業を進める中でも継続して実施する

開発環境の使い方とアプリの作り方

書籍に沿ってHelloWorldアプリを作成し、Xcode(開発環境)の使い方とアプリ作成の流れの概要を体験する

書籍「やさしくはじめるiPhoneアプリ作りの教科書 【Swift 3&Xcode 8.2対応】

→ Swift3+Xcode8対応している本であればなんでもいいと思います。
正直入門レベルの本であれば似たり寄ったりなので、見やすさ重視で良いです。

Xcodeの概要

目的

  • Xcodeの基本的な使い方を覚える

テキストによっては「ナビゲーターエリアの~を選択」とか「アシスタントエディタから~をする」とかが出てくるが、 「ナビゲーターエリアやアシスタントエディタが何者なのか」が説明されていない場合がある。
そのため操作が継続できずに手が止まってしまう、という状況をあらかじめ防止する。

到達目標

  • Xcodeのワークスペースウインドウに表示される各エリアの呼称と役割を知っている
  • 各エリアの表示方法を知っている
    • 具体的には、下記の文言から操作が行えるようになればOK
      「ユーティリティ領域を表示し、ライブラリバーのコードスニペットに○○を追加する」

ポイント

  • 書籍を読んで理解できたら公式を読む、とやると理解しやすいと思う
    • 書籍の方が画像多め+浅く書いてあるので読み進めやすい

手順

  1. 書籍を読む
  2. Xcodeの概要 > ワークスペースウインドウの概要を読む
  3. 書籍に沿ってHelloWorldアプリを作成する

成果物

  • HelloWorldアプリソースコード(レビュー済み)