0% found this document useful (0 votes)
181 views

Basic iOS Cheat Sheet For Android Developers v4 Jakub Chmiel

This document provides a cheat sheet comparing common Android and iOS development concepts. It outlines equivalents between programming languages, frameworks, tools, libraries, and views. Key differences noted are that Objective C and Swift are used for iOS instead of Java/Kotlin for Android. iOS uses CocoaPods instead of Gradle, Auto Layout instead of ViewGroups for layouts, and delegates instead of listeners. Lifecycles exist but work differently in each framework. Common third party libraries have iOS equivalents with similar functionality.

Uploaded by

Sivam Selvan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
181 views

Basic iOS Cheat Sheet For Android Developers v4 Jakub Chmiel

This document provides a cheat sheet comparing common Android and iOS development concepts. It outlines equivalents between programming languages, frameworks, tools, libraries, and views. Key differences noted are that Objective C and Swift are used for iOS instead of Java/Kotlin for Android. iOS uses CocoaPods instead of Gradle, Auto Layout instead of ViewGroups for layouts, and delegates instead of listeners. Lifecycles exist but work differently in each framework. Common third party libraries have iOS equivalents with similar functionality.

Uploaded by

Sivam Selvan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Basic iOS Cheat Sheet for Android

Developers
This is a short cheat sheet that I created to improve communication in mobile development. As
Android reference I used Kotlin but it should be easy to understand for Java developers too.

Language differences
Objective C is the Java of iOS whereas Swift is very similar to Kotlin. Like Kotlin in Android,
Swift is a preferred language for new projects. Swift is a newer, modern language developed by
Apple to make life easier for developers. Despite that Objective C is still popular and according to
data from JetBrains in 2019, almost 50% of iOS developers still know Objective C.

Kotlin vs Swift
Here I covered Kotlin equivalents in Swift. Note that these equivalents are not identical,
usually have small differences. 

Note that both Garbage Collection and ARC manage memory but work in completely different
ways.

Android iOS

null nil

val let

var var

let if let

this self

fun func

when switch

Map Dictionary

Nullable Optional

Jakub Chmiel jakubpchmiel.com


Android iOS

Pair, Triple, etc. Tuple

listener delegate

interface protocol

SQLite/Room Core Data

Garbage Collection Automatic Reference Counting

Framework differences
Lifecycle
Both Android and iOS Frameworks have a lifecycle. But in iOS, there are 2 important functions
that don’t exist. 

onSaveInstanceState/onRestoreInstanceState -> doesn’t exist

onActivityResult -> doesn’t exist. You have to use Navigation Controller with delegates (listeners).

Also, note that it’s tough to compare lifecycles from Android and iOS. I think that more detailed
comparison deserves a separate article.

Android iOS

onCreate loadView (loading view manually)

onStart and onResume viewDidLoad

app running viewWillAppear

app running viewDidAppear

onPause and onStop viewWillDisappear

onDestroy viewDidUnload

Creating layouts
iOS is nothing like Android when it comes to layouts. In iOS, most of the layout oriented work is
done using a mouse (like in the ‘Design’ mode in Android Studio) and Swift. For layouts you can
use:

Jakub Chmiel jakubpchmiel.com


1. XIB (XML Interface Builder) files. An older way to create layouts but it’s not outdated. This
way every view layout has own XIB file.

2. Storyboards (one file with many views and navigation). Introduced in iOS 5. Manage many
views and their navigation in one file.

Build tools and libraries


Gradle’s equivalent is Cocoapods. The former one is a build tool used (not only) for Android apps
also used in IDEs other than Android Studio. The latter one is a tightly coupled to XCode IDE.

Android iOS

Android SDK Cocoa Touch

Gradle XCode Tools + Cocoapods

OkHttp AFNetworking/Alamofire/URLSession

Picasso/Glide SDWebImage/KingFisher

Timber CocoaLumberjack

RxJava/RxKotlin RxSwift/Bond

Retrofit Moya

GSON/Moshi SwiftyJSON/Codable

Spek Quick

View differences
Note that iOS doesn’t have ViewGroups because they are regular Views. 

Android iOS

TextView Label

single-line EditText TextField

multi-line scrollable EditText TextView

Jakub Chmiel jakubpchmiel.com


Android iOS

simple RecyclerView TableView

customizable RecyclerView CollectionView

Popup menu Context menu

Bottom sheet Action menu

ViewPager PageViewController

Seek bar Slider

View.VISIBLE/View.INVISIBLE isHidden

View.GONE StackView or constraints

enabled userInteractionEnabled

Spinner PickerView

ProgressView ProgressView (also Spinner)

Summary
It’s good to know Android equivalents in iOS. Usually, it’s better to communicate using names
well known in programming, not only in your framework. But it’s not always possible or just
doesn’t happen.

Update: Check out r/androiddev Reddit discussion about this article which supplements it and
brings many good ideas.

Jakub Chmiel jakubpchmiel.com

You might also like