コース概要
プログラミングの基本概念
- OOPの概念
- ソフトウェアとは何か
- プログラムにおける整理された部屋と未整理の部屋の概念
- ソフトウェアの必要性
なぜAppleとiOSなのか
- Appleの歴史
- iOSの歴史
- Appleの強み(USP)
- Appleが有名な理由
- UXとUI
開発環境
- 開発環境の要件
- XcodeとiOS SDK
- Apple Developer Registration(登録)
- アプリケーションが却下される理由
- Human Interface Guidelines(ヒューマンインターフェイスガイドライン)
Xcode iOSプロジェクト
- Xcodeの概要
- iOSプロジェクトの作成
- シミュレーターと実際のデバイスでの実行
Swiftの基本
- なぜObjective-CからSwiftに変更されたのか?
- Swiftの魅力
- 変数
- 定数
- SwiftでのHello World
- コードを使用したUILabelの作成
画像アニメーションと画像読み込み
- UIImageView
- 基本的なUIViewとUIImageViewアニメーション
- Playground(プレイグラウンド)
- 画像の遅延ロード
- 遅延プロパティ
Swiftクラスとシーン
- Swiftクラスの作成
- メモリ管理
- 強い参照と弱い参照
- Swiftでのコンストラクタとデストラクタ
- プロトコル、Hashable、Printable
- 継承
- シーンの作成
- ビューコントローラーの実装
- Playground(プレイグラウンド)
ライフサイクルとレスポンダーチェーン
- ビューのライフサイクル
- アプリケーションのライフサイクル
- Responder Chain - touchBegan, touchMovedなどのメソッド
- NSTimer
アダプティブレイアウト
- StoryboardとXIBの比較
- 複数デバイス対応
- アイコンサイズとデバイス方向
- コードを使用したユーザーインターフェイスの構築
- アウトレットとアクション
- プロトコル - 必須とオプション
- メモリ管理
通知とローカライズ
- Push Notification(サイレントと通常)
- ローカライズ
Objective-Cの概要
- プロパティ
- カテゴリ
- 関数の構文
- プロパティ属性 readWrite と readOnly
iOSでのソーシャルメディア統合:
- Facebook統合
- Twitter統合
- メール統合
- サードパーティアプリの統合
iOSでのUIコンポーネント:
- UITextField
- UITextView
- UISegmentedControl
- UISlider
- UISwitch
- UIProgressBar
- UIPageControl
- UIStepper
- UIScrollView
- UIPicker
- UIActionSheet
- UIWebView
- SearchBar
iOSでのその他の基本コンポーネントとその他:
- グループとフォルダ
- Closure(クロージャ)
- Tuples(タプル)
- URL Session
- URLRequest
- UIAlertView
- UIActivityIndicatorView
- internal, public, private
- Guard(ガード)
- Optionals(オプショナル)
iOSでのスレッディング:
- GCD (Grand Central Dispatch)
- NSOperationQueue
- メインスレッドとバックグラウンドスレッド
ユーザーアクション:
- ボタンとハンドラー
- パンジェスチャの認識
- タップジェスチャの認識
- カスタムテーブルビュー
- コレクションビューの基本
複数画面アプリケーション:
- テーブルナビゲーション
- タブアプリケーション
- ナビゲーションコントローラー
- コントローラーの表示と表示、プッシュ時の異なるアニメーション
位置サービス:
- 緯度と経度
- 方位
デバイスアクセスとストレージ:
- ファイル保存
- 音楽ライブラリへのアクセス
- iOSでのCoreDataとSQLite
- Key Chain(キーチェーン)
- User Defaults(ユーザデフォルト)
- PLists(プロパティリスト)
- NSSearchDomain
- アプリのディレクトリ概念とセキュリティ NSSearchDomain
スピーチフレームワーク:
- 音声認識(Speech to Text)
- テキスト読み上げ(Text to Speech)
マルチピアフレームワーク:
- デバイス間でのデータ送信
- 複数デバイスの接続
ネットワーキング:
- ネットワークアクセス
- JSONのシリアライズとデシリアライズ
- REST Webサービス
- XMLパーシングの基本
App Storeへのアップロード:
- ITunes Connect(アイティーンズコネクト)
- Developer Portal - プロビジョニングプロファイル
- デプロイメントと配布
- 実際のデバイスでのアプリケーション実行
- App Storeへのアプリケーションアップロード
アプリケーション:
- ドットゲーム: https://itunes.apple.com/app/the-dots-free/id850315430
- メモアプリ: Notes App
- 連絡先アプリ
- オープンAPIからサーバーにデータを取得し、テーブルビューを作成してデータを表示し、詳細も表示し、検索バーで検索を行い、Core Dataを使用してオフラインでデータを保存するアプリケーション
- 独自のアイデアに基づくアプリケーション
要求
過去に少なくとも1つのプログラミング言語の経験が必要です。
お客様の声 (3)
知識の伝達方法とトレーナーの知識。
Jakub Rekas - Bitcomp Sp. z o.o.
コース - Machine Learning on iOS
機械翻訳
He's an experienced trainer with a real life experience in the topic he was teaching. That led the course to cover the most important topics which interests any developer working in the field, and small details would be easily overseen if he was not working in this platform. Moreover, he was giving the course using the latest versions of is and Swift (10 \ 3) and that is a huge advantage to be adapting such new technology in short time.
Abdullah Alaradi - Thiqah Business Services
コース - iPhone and iPad Development in Swift for iOS 8 and Xcode 6
機械翻訳
Antonio gave is much background information, best practices and showed us useful tools to speed up our development process.
Philipp Hunger
コース - Cross-platform mobile development with PhoneGap/Apache Cordova
機械翻訳