Upgrade to Pro — share decks privately, control downloads, hide ads and more …

2024新卒技術研修_ios

Avatar for DMM.com_新卒採用 DMM.com_新卒採用
September 10, 2024
74

 2024新卒技術研修_ios

DMM.comの24新卒エンジニア技術研修_ios研修の資料です。

Avatar for DMM.com_新卒採用

DMM.com_新卒採用

September 10, 2024
Tweet

Transcript

  1. 本研修の前提 研修を始める前に 前提 本研修は主に基礎レベルのiOSアプリ開発技術について解説します。 大多数の受講者がモバイルアプリ開発(iOS開発)について未経験であることか ら、応用・実践レベル以上の詳細な技術の話は含みません。 ゴール 本研修のゴールは受講者の習熟レベルに応じて設定しています。 # 初学者の方

    トレーニングコンテンツ『iOS Exercise』を通して、簡単なiOSアプリが作れる # 実務経験者・専門領域とする方 Yatter開発を通して、アーキテクチャや技術の選定を元に、スケーラビリティを 考慮した実践的なiOSアプリが作れる
  2. 本研修の流れ 全体スケジュール Day 1 Day 2 Day 3 Day 4

    Day 5 講義 演習 iOS Exercise Yatter開発 ※早い人は演習終わり次第Yatter入ってもらってOKです
  3. FAQ

  4. モバイルアプリとは何か モバイルアプリの種類 ネイティブアプリ ハイブリッドアプリ ガワネイティブアプリ PWA クロスプラット フォームアプリ Webアプリ モバイル端末に搭載されたブラウザエンジン

    上で動作しモバイルアプリのように振る舞う WebViewを用いたネイティブとWebの統合 ネイティブ言語とは異なる言語やフレームワ ークを用いて、共通のコードから複数のプラ ットフォーム向けに構築されたネイティブア プリ
  5. モバイルアプリとは何か モバイルアプリの種類 ネイティブアプリ ハイブリッドアプリ ガワネイティブアプリ PWA クロスプラット フォームアプリ Webアプリ モバイル端末に搭載されたブラウザエンジン

    上で動作しモバイルアプリのように振る舞う WebViewを用いたネイティブとWebの統合 ネイティブ言語とは異なる言語やフレームワ ークを用いて、共通のコードから複数のプラ ットフォーム向けに構築されたネイティブア プリ
  6. モバイルアプリとは何か モバイルアプリの種類 ネイティブアプリ ハイブリッドアプリ ガワネイティブアプリ PWA クロスプラット フォームアプリ Webアプリ モバイル端末に搭載されたブラウザエンジン

    上で動作しモバイルアプリのように振る舞う WebViewを用いたネイティブとWebの統合 ネイティブ言語とは異なる言語やフレームワ ークを用いて、共通のコードから複数のプラ ットフォーム向けに構築されたネイティブア プリ
  7. モバイルアプリの開発について知る 開発 Web 設計思想 検証 デプロイ モバイル 無い Human Interface,

    Guidlines Material Design, Android Architecture Guide ブラウザ シミュレータと実機 審査無(主導権あり) 審査有(主導権なし)
  8. モバイルアプリの開発について知る 依存性 Web 依存先 ガイドライン 手数料 モバイル 無し ※ブラウザの仕様に若干依存 AppStore

    / Google Play 無し AppStore Review Guidlines Google Play Policy 無し ※導入する決済システムの手数料に依存 有り ※AppStore: 30%, GooglePlay: 30%
  9. iOSアプリ開発入門 開発環境 Xcode • 2003年~ • 現在 ver15.x • NeXT社時代の資産を受け継がれ開

    発されたIDE • https://www.youtube.com/watch?v= dl0CbKYUFTY • macOS, iOS, iPadOS, watchOS, tvOS, visionOS
  10. iOSアプリ開発入門 開発言語 Swift • 2014年6月〜 • var 5.10 • https://github.com/apple/swift

    Objective-C • 1984年 • 現在はほとんど使うことはないが、 ごく稀に特定のAPIを触る時に使う 場合がある
  11. iOSアプリ開発入門 SwiftUI 宣言型UIフレームワーク • React, Vue.js, • JetpackCompose, Flutter Single

    Source of Truth • 信頼できる唯一の情報源 • https://developer.apple.com/videos/ play/wwdc2019/226/ State • Stateを監視しViewを更新したり変 化させたりする
  12. iOSアプリ開発入門 UIKit UIフレームワーク • Interface Builderを使ったUIの構築 ◦ Storyboard, Xib •

    CodeベースでのUI構築 ViewController • 手続き的に実装を行う Storyboard, Xib • Interface Builderを使って視覚的に UIを構築していく • Android StudioのLayoutEditor
  13. iOSアプリ開発入門 テスト XCTest • Appleが提供するテストフレームワーク • Xcodeで実行することができる • ユニットテスト User

    Interface Tests (XCUI〜) • アプリのUIテストAPI • Dataを変更した時にUIが意図した通りに 応答するか確認できる • 人が操作したようなテストを実行するこ とができる
  14. iOSアプリ開発入門 パッケージ管理 Swift Package Manager (SwiftPM) • Apple公式のパッケージマネージャー • 依存関係の管理、外部ライブラリ導入、アプリのマルチモジュール化

    • https://www.swift.org/documentation/package-manager/ CocoaPods • ライブラリ管理ツール、Ruby • 最近ではSwiftPMで対応していないライブラリを使う場合などに使うことが 多い Carthage (カーセッジ、カルタゴ) • ライブラリ管理ツール、Swift • 以前はCocoaPodsの弱点をCarthageを使うことで解決したりしていたが、 SwiftPMが支流になったことで出番は少なくなってきた
  15. iOSアプリ開発入門 CI/CD Xcode cloud • Appleが提供するCI/CDサービス • WWDC2021で発表された最近のサービス • ビルド、テスト、配信など行う

    • 他社サービスを使うより、トータルコストが低い Bitrise • ビルド、テスト、配信 • 独自のworkflowを作成可能 • GUI操作でのworkflow作成、ymlでの作成も可能
  16. iOS Exerciseについて 演習の流れ Chapter 1 Counter Chapter 2 Todo Chapter

    3 Todo Online Chapter 4 Yatter iOS • Xcodeの基本操作 • Swift UI • 同期/非同期処理 • 外部表現変換 • データ永続化 • ネットワーク通信 Challenge!
  17. iOS Exercise iOS Exerciseは下記の構成になっています。 1. Introduction 2. Tutorials iOS Exerciseの導入資料です。演習に

    必要な環境構築の手順や、iOS開発につ いての簡単なコラムを記載していま す。演習のはじめには、まずはこちら を読んでください。 iOS Exerciseの本編です。全体で4部構 成のチュートリアルコンテンツになっ ています。Chapter 1から順番に進めれ ば、最後のYatterで必要な知識が網羅さ れているように設計しています。
  18. iOS Exerciseの ドキュメントを立ち上げる 以下の手順で、iOS Exerciseのドキュメント を立ち上げてください。 1. XcodeでDocumentsフォルダを開く 2. メニューバーから

    Products > Build Documentation を実行する 3. 別ウィンドウでドキュメントが立ち 上がるのを確認する 研修中にドキュメントを読む場合は、この 手順で立ち上げを行ってください。