Skip to content

Latest commit

 

History

History
191 lines (145 loc) · 12 KB

README.md

File metadata and controls

191 lines (145 loc) · 12 KB

iOS Developer Roadmap 2022

alt text

iOS Developer Roadmap 2022 is a learning path to understand iOS development.

What is iOS App Development?

iOS is Apple’s mobile operating system (OS) that runs on hardware including iPhone, iPad and iPod Touch. An iOS application is programmed in languages such as Swift and Objective-C and then deployed to the App Store for users to download.

Table of contents

Let's start with basic learning

Sprint 1

Swift Basics

Practicle 1.1

XCode

Version control system

Practicle 1.2

  • Create repository of practicle 1.1 on Gitlab

References

Sprint 2

AutoLayout

Practicle 2.0

  • Create given reaponsive UI using autoLayout.
    • You can use alternative images.

Sprint 3

Practical 3.0

  • Create an app of Git Users.

  • Create app with 2 tab:

    A. All Users [display list of all Users]

    B. Profile [display email,avatar, name of current logged in user]

  • Provide a login facility when the user first installs the app & after show Tabbar home screen [ all users ].

  • Check for authentication of user from: https://api.github.com/users

  • Use gitHub doc : https://developer.github.com/v3/users/#get-the-authenticated-user

  • Display data in table view from below API. - on All Users screen

  • Display user avatar(image), name into TableViewCell.

  • On Cell click user information should be displayed with Name, avatar , followers, following on another screen.

  • Take a batch size of 30 & put a loader at bottom of the screen while loading data.

  • Note:

Sprint 4

Practical 4.0 - Photo Gallery

  • Create 1 screen app using collectionView.
  • Create collectionView with 2 sections.
  • Display Images from Github API.
  • Last cell should have + sign to load more Images in particular section.
  • Store images into database, & it should be accessible offline.
  • Also provide Delete[multiple selection] & move facility in gallery & it should also delete & move in database.

Sprint 5

RxSwift and RxCocoa

  • Rx-Swift is a reactive programming library in iOS app development. It is a multi-platform standard, its difficult-to-handle asynchronous code in Swift, that becomes much easier in Rx-Swift. RxSwift makes it easy to develop dynamic applications that respond to changes in data and respond to user events. Ultimately, it solves the issues related to asynchronous development.

Practical 5.1

  • Design this screen using SwiftUI. It should be responsive and should support all iOS and iPad devices.

Practical 5.2

  • Create simple TODO app with CRUD operation with SQLite using SwiftUI and Combine.
    • Home screen should have list of task with add new task fab button.
    • On the click of task it should be redirect to task status screen where it can be edit.
    • On the cell swipe it shows delete option and on it's click that particular task should delete.
    • Add option to active and inactive task.

Sprint 6

Practical 6.0

  • Retrieve and display simple users list from web API to iOS List(SwiftUI). Display name, email and city in list.

  • API Info:

  • Notes:

    • App should support all iPhone and iPad
    • Project should be under version control system(use git)
    • Use Alamofire for API call
    • Cell first show name only and it expand on tap or button like down arrow and show email and city
  • Features:

    • Delete user on long press.
    • Add SwipeToRefresh functionality
    • Store users in the database using CoreData. Refresh them in the database when SwipeToRefresh is triggered.
    • Implement Add user functionality with three text box of name, email and city
    • On the user item select event show it’s details in the new screen (Controller).
    • Implement swiping functionality using UICollectionView. On the user detail screen we should be able to move the next/previous user with a horizontal swipe.
  • Just for reference: 100 Days of SwiftUI

Learning a few useful libraries

Extra Practicals