• Tidak ada hasil yang ditemukan

Belajar Introduction to iOS

N/A
N/A
Muhammad Attique

Academic year: 2024

Membagikan "Belajar Introduction to iOS"

Copied!
60
0
0

Teks penuh

(1)

Introduction to iOS

Kristiina Rahkema

1

(2)

Introduction to iOS

Kristiina Rahkema

About me:

• PhD student

• Analysing iOS apps: Code quality, security

• Former iOS developer

• Interests: iOS development, security research

2

(3)

iOS vs Android

3

https://www.statista.com/statistics/272698/global-market-share-held-by-mobile-operating-systems-since-2009/

Why should we care about iOS?

(4)

iOS vs Android

4 https://gs.statcounter.com/os-market-share/mobile/north-america

https://www.statista.com/statistics/272698/global-market-share-held-by-mobile-operating-systems-since-2009/

Why should we care about iOS?

(5)

iOS vs Android

5 https://gs.statcounter.com/os-market-share/mobile/north-america

https://www.statista.com/statistics/272698/global-market-share-held-by-mobile-operating-systems-since-2009/

Why should we care about iOS?

• Revenue: $85 billion vs $48 billion

(6)

iOS vs Android

6 https://gs.statcounter.com/os-market-share/mobile/north-america

https://www.statista.com/statistics/272698/global-market-share-held-by-mobile-operating-systems-since-2009/

Why should we care about iOS?

• Revenue: $85 billion vs $48 billion

• Both platforms are important

(7)

General overview of iOS platform:

7

• Xcode

(8)

General overview of iOS platform:

8

• Xcode

• Mac, iPhone

(9)

iOS vs Android

9

• App Store vs (F-Droid, Google Play, direct download)

(10)

iOS vs Android

10

• App Store vs (F-Droid, Google Play, direct download)

• Apple developer program ($99/year vs 25$/once for Google)

(11)

iOS vs Android

11

• App Store vs (F-Droid, Google Play, direct download)

• Apple developer program ($99/year vs 25$/once for Google)

• iOS jailbreaking vs Android rooting

• Root access, alternative app stores

(12)

iOS vs Android

12

• App Store vs (F-Droid, Google Play, direct download)

• Apple developer program ($99/year vs 25$/once for Google)

• iOS jailbreaking vs Android rooting

• Root access, alternative app stores

• Apple's Human Interface Guidelines

(13)

iOS vs Android

13

• App Store vs (F-Droid, Google Play, direct download)

• Apple developer program ($99/year vs 25$/once for Google)

• iOS jailbreaking vs Android rooting

• Root access, alternative app stores

• Apple's Human Interface Guidelines

• Development language:

• Swift/Objective-C vs Kotlin/Java

(14)

Swift

14

https://docs.swift.org/swift-book/GuidedTour/GuidedTour.html

(15)

Swift

15

https://docs.swift.org/swift-book/GuidedTour/GuidedTour.html

(16)

Swift

16

• Online REPL:

• https://www.tutorialspoint.com/compile_swift_online.php

(17)

Swift

17

• Online REPL:

• https://www.tutorialspoint.com/compile_swift_online.php

• Short Swift demo

(18)

Creating an app

18

(19)

Creating an app

19

(20)

Creating an app

20

(21)

21

(22)

Creating an app

22

(23)

UIKit programmatically vs

Storyboard vs

Swift UI

23

(24)

Swift UI example

24

https://developer.apple.com/tutorials/swiftui/building-lists-and-navigation

(25)

Swift UI example

25

https://developer.apple.com/tutorials/swiftui/building-lists-and-navigation

Android:

Jetpack Compose

(26)

26

Example: ProtonMail for iOS (Repository used in lab)

(27)

Example: ProtonMail for iOS

27

(28)

Example: ProtonMail for iOS

28

(29)

Example: ProtonMail for iOS: https://github.com/ProtonMail/ios-mail

29

(30)

Architecture

30

(31)

Architecture: MVC

https://medium.com/ios-os-x-development/ios-architecture-patterns-ecba4c38de52 31

(32)

Architecture: MVC -> Massive view controller?

https://medium.com/ios-os-x-development/ios-architecture-patterns-ecba4c38de52 32

(33)

Architecture alternatives: MVP (passive)

https://medium.com/ios-os-x-development/ios-architecture-patterns-ecba4c38de52 33

(34)

Architecture alternatives: MVP (active)

https://medium.com/ios-os-x-development/ios-architecture-patterns-ecba4c38de52 34

(35)

Architecture alternatives: MVVM

https://medium.com/ios-os-x-development/ios-architecture-patterns-ecba4c38de52 35

(36)

Architecture alternatives: VIPER

https://medium.com/ios-os-x-development/ios-architecture-patterns-ecba4c38de52 36

(37)

Lifecycle

Android https://medium.com/@vipandey54/37

uiviewcontroller-lifecycle-7ca2d36f4f07 iOS

(38)

38

Lifecycle

https://medium.com/@neroxiao/ios-app-life-cycle-ec1b31cee9dc

(39)

Storage

39

(40)

Storage

40

(41)

Storage

41

(42)

Storage

42

• Offline

• iCloud sync

• Codable

(43)

Storage:

examples

43

(44)

44

Storage:

examples

(45)

45

Storage:

examples

(46)

Privacy

46

(47)

Privacy

47

(48)

Privacy

48

(49)

Privacy

49

(50)

Privacy

50

(51)

51

Third-party libraries

• CocoaPods

• Carthage

• Swift Package Manager

(52)

52

Swift Package Manager

• CocoaPods

• Carthage

• Swift Package Manager

(53)

53

Intents similar to Android

Declaring an AppIntent makes it available through:

• Share Extensions

• AppleScript

• Suggestions

• Lock Screen

• Shortcuts Widgets

• Voice (Siri)

• etc.

https://www.wwdcnotes.com/notes/wwdc22/10032/

(54)

54

URL schemes

(55)

Where to go from here?

55

• Apple documentation: https://developer.apple.com/documentation

• Kodeco (formerly raywenderlich.com) https://www.kodeco.com

• 100 days with swift https://www.hackingwithswift.com/100

(56)

56

Summary

(57)

57

Summary

(58)

58

Summary

(59)

59

Summary

(60)

Any questions?

Thank you for listening!

60

Referensi

Dokumen terkait

Men-download aplikasi atau game di smartphone Android, tentunya yang paling cepat dan praktis adalah menggunakan Google Play Store..

and, master computer hack 4144 aktifkan bbm di android android, cara pasang aplikasi play store di nokia x x amp xl, root nokia x2 and install play store with nokia x2 tools, 5

Perkembangan teknologi aplikasi pada perangkat bergerak smartphone berbasis Android Google dan iOS Apple saat ini terus berkembang sehingga mengubah cara dan

¾ Android Mobile App, can be downloaded from Google Play store by searching for Kisan Suvidha Or by clicking the link ¾