iOS Development

By Harnoor Singh

T Shape Strategy

Content

  • Why iOS Development?
  • Historical journey
  • GitHub setup
  • Git Ignore
  • Pros & cons of Native iOS Development

Hello World Project 

Timeline?

Swift -> Client & Server

2024 Job Market Ready

1. Depends

2. Jack of All Trades

 

Startup -> iOS Experience

Team -> Maintainance

iOS -> Website -> MERN -> Android

iOS 17

2007 - iPhone (Revolutionary)

iOS 4 -> Multitasking, Facetime

iOS 5 -> iCloud, iMessage, Siri

iOS 7 -> 2013 -> Flat design

iOS 14-> AR, Privacy, Tracking etc. 

iOS 17 -> Contact Posters, Live voicemail, NameDrop, Autocorrect -> AI

Requirements

  • Mac / MacinCloud
  • Xcode ->AppStore
  • Install: https://developer.apple.com/design/resources/#sf-symbols

Hackintosh -> Install for free on windows laptop

2-4 hours

Development Cycle

1. Design / Concept Figma

 https://developer.apple.com/design/human-interface-guidelines

2. Development

3. Testing -> UI testing / Unit Testing

4. Deployment -> Push to customers

Declarative vs Imperative

 Swift UI -> Declarative -> Less Code

Storyboard -> XML -> Imperative Programming -> More code

python -> Imperative Programming

 

function ():

for x in 5:

print x

 

0 1 2 3 4 

 

Declarative

 

print(5)

 

0 1 2 3 4 5

 

Text("Hello, world")

 

TextField <

>

4-5 lines

Goal

  • Code -> using Documentations
  • No Memorization
  • Learning Concepts 

Revenue

https://www.apple.com/newsroom/2023/05/developers-generated-one-point-one-trillion-in-the-app-store-ecosystem-in-2022/

Why iOS apps make more money?

 

1. iOS users are rich

2. Android -> Modded APK 

$5/ month

3. Jailbreak -> Outside app store apps

4. Make you rich -> button 

Why Cohort is important

🚲 vs 📕🎓

Industry / Cohort

JEE Advanced vs Mains

Past Design Pattern

What is Architechture

Smooth System to change requirements

Speed up Development Process

Model-View-Controller

Model - Data 

View -> User Interface

Controller -> User Interactions & logic

MVVM > in Android

SwiftUi -> Compose (Android)

 

-> Automated Updates

-> States

Swift4 Features

 

C++ Integrations

Faster

Observable -> Data flow between views

Easier Map Interactions

Core ML / AR Tools / OCR 

Objective C -> Java in Android

Swift -> Kotlin in Android

Monetization

Free version vs In-App Purchases

 

1. Freemium Model -> Free + In-App purchase

2. Subscriptions -> Renewing vs non Renewing

Hello WOrld

Pros & Cons

1. Better Performance

2. Seamless Integrations -> Hardware + Software

3. Less bugs / Robust code

4. Game dev -> lag free

 

Cons:

1. Development Time (Fixed with Cross-platform libraries)

2. More learnings -> Kotlin as well as Swift

3. Bugs / challenges 

ReactNative

Flutter

iOS Native

Goal

 

1. Swift

2. OOPs

3. SwiftUI

Swift -> Faster app 

React Native -> Translation Layer -> Slower

iOS Development

By Harnoor Singh

iOS Development

  • 259