Coder Social home page Coder Social logo

ios-developer-roadmap's Introduction

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

ios-developer-roadmap's People

Contributors

cp-amisha-i avatar

Stargazers

Rakhim Abdullayev avatar Eyüp Ensar Pirol avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.