SlideShare a Scribd company logo
1 of 93
Download to read offline
Understanding iOS from an
Android perspective
A Busy Developer’s Guide to native iOS apps
Lauren Yew
Sept 28th, 2021
The New York Times
?
Let’s start
with a caveat
PetAdopt Sample App
iOS Android
Topics
1. Design Differences
2. Swift vs. Kotlin
3. App Setup & Structure
4. App Lifecycles & Architecture Patterns
5. SwiftUI vs. Jetpack Compose
?
Topics
1. Design Differences
2. Swift vs. Kotlin
3. App Setup & Structure
4. App Lifecycles & Architecture Patterns
5. Swift UI vs. Jetpack Compose
Design Differences
iOS Android
Apple Human Interface
Guidelines
Material Design
Design Differences
iOS Android
Home Button Only
Home Button + Back Button
(*sometimes represented by gestures
depending on navigation settings)
Back Buttons
iOS Android
Back Button
always present
No Back Button
iOS
Selection Options
Android
iOS
Selection Options
Android
Switch per option
iOS
Errors
Android
Topics
1. Design Differences
2. Swift vs. Kotlin
3. App Setup & Structure
4. App Lifecycles & Architecture Patterns
5. Swift UI vs. Jetpack Compose
Swift
Declaring Variables
Kotlin
Swift
Declaring Variables
Kotlin
Swift
Optionals
Kotlin
Swift
Optionals
Kotlin
Optional Chaining Safe Call
Swift
Optionals
Kotlin
Nil Coalescing Elvis Operator
Swift
Optionals
Kotlin
Swift
Optionals
Kotlin
Swift
Optionals
Kotlin
Force Unwrap
Required each
time.
Guard + Let
Pattern of
Early Exit
Swift
Guard + Let
Swift
Swift
Functions
Kotlin
Swift
Functions
Kotlin
Swift
Functions
Kotlin
Parameter
names required
unless have _
Swift
Protocols
Kotlin
Swift
Protocols
Kotlin
Swift
Protocols
Kotlin
Struct Class
Swift
Structs vs. Classes
Swift
Structs vs. Classes
Struct Class
Swift
Structs vs. Classes
Swift Kotlin
Class Inheritance
Same
Module
Same /
Different
Module
Class Inheritance
Swift Kotlin
Different
Module
Same /
Different
Module
• All protocols, classes, and structs
are extendable.
• Expect extensions on classes to
help modularize the code (within
the same class or in other
classes)
• Search by class name to find
where it has been extended
Swift
Extensions
Topics
1. Design Differences
2. Swift vs. Kotlin
3. App Setup & Structure
4. App Lifecycles & Architecture Patterns
5. Swift UI vs. Jetpack Compose
...
Xcode Basics
Opening a workspace
Project
Workspace
*always use this option if it’s
available
Workspace
What documents / projects do I contain?
At a high level
Project Project
Represents
app/library/framework.
What are the source
documents, file structure, and
basic project wide settings?
Project
Target
Target
Target
How to build / run each
app / library?
Target
Target
Projects and Targets in Xcode
Projects and Targets in Xcode
Projects and Targets in Xcode
Projects and Targets in Xcode
Projects and Targets in Xcode
Projects and Targets in Xcode
iOS App Structure
Terminology
• Bundle (represents executable app /
framework)
• Framework = library module
• Application Bundle: Info.plist, executable,
& resource files
Info.plist
• Information Property List (similar
to AndroidManifest + parts of
build.gradle)
• XML file encoded w/ UTF-8
Info.plist
Working w/ Dependencies (Cocoapods)
Another option: SPM (Swift
Package Manager)
Working w/ Dependencies
Cocoapods (iOS) Gradle (Android)
Working w/ Dependencies
Cocoapods (iOS) Gradle (Android)
Working w/ Dependencies
Cocoapods (iOS) Gradle (Android)
Working w/ Dependencies (Cocoapods)
Central Repository
(trunk)
How does Cocoapods Work?
Popular iOS Third Party Libraries
• Alamofire / AFNetworking (HTTP calls)
• Lottie (Image Rendering)
• RxSwift (RxJava for Swift) or just use Combine
• YapDatabase (Sqlite Database – similar to Room)
• Resolver (Dependency Injection – similar to Hilt)
Topics
1. Design Differences
2. Swift vs. Kotlin
3. App Setup & Structure
4. App Lifecycles & Architecture Patterns
5. Swift UI vs. Jetpack Compose
......
Main iOS App Lifecycles
Not Running
App is in foreground
Inactive
Active
App is in background
Background
Suspended
Handling iOS App Lifecycles
callbacks for lifecycle
callbacks windows / UI lifecycles
SwiftUI Apps
This is an example of a SwiftUI app entry point w/ @main
App can be configured to use AppDelegate
Scene replaces SceneDelegate
UIViewController / Non-Swift UI
Main iOS App Lifecycles
Not Running
Finished launching,
next step to come into
foreground
Main iOS App Lifecycles
Not Running
App is in foreground
Inactive
Main iOS App Lifecycles
App is in foreground
Inactive
Active
Main iOS App Lifecycles
App is in foreground
Inactive
Active
Architecture Patterns
Common Architecture Patterns
• MVC (Model View Controller) aka. Massive View Controller
• MVP (Model View Presenter)
• MVVM (Model View ViewModel)
• VIPER (View, Interactor, Presenter, Entity, & Router)
MVVM on iOS
• No viewModel is built in with iOS
• POJO w/ properties and/or
functions for view to react on or
update
• Up to devs to determine how
much business logic in
viewModel
Topics
1. Design Differences
2. Swift vs. Kotlin
3. App Setup & Structure
4. App Lifecycles & Architecture Patterns
5. Swift UI vs. Jetpack Compose
!
Basic Structure
SwiftUI Jetpack Compose
Columns & Rows
SwiftUI Jetpack Compose
Columns & Rows
SwiftUI Jetpack Compose
Modifiers
SwiftUI Jetpack Compose
Getting Data to the UI
SwiftUI Jetpack Compose
Getting Data to the UI
SwiftUI Jetpack Compose
Getting Data to the UI
SwiftUI Jetpack Compose
Thank You
@YewLauren
Appendix
The New York Times is Hiring!
NYT Android & iOS Apps (News, Cooking, Games)
Come work with us.
https://www.nytco.com/careers/
Resources
• https://learnui.design/blog/ios-vs-android-app-ui-design-complete-guide.html
• https://uxdesign.cc/ios-vs-android-design-630340a73ee6
• https://willowtreeapps.com/ideas/swift-and-kotlin-the-subtle-differences
• https://developer.apple.com/library/archive/documentation/CoreFoundation/Conceptual/CFBundl
es/BundleTypes/BundleTypes.html#//apple_ref/doc/uid/10000123i-CH101-SW1
• https://developer.apple.com/videos/play/wwdc2018/415/
• https://manasaprema04.medium.com/application-life-cycle-in-ios-f7365d8c1636
• https://www.vadimbulavin.com/swiftui-view-lifecycle/
• https://developer.apple.com/documentation/uikit/app_and_environment/scenes/preparing_your_
ui_to_run_in_the_background
• https://learnappmaking.com/swiftui-app-lifecycle-how-to/
• https://www.vadimbulavin.com/swiftui-view-lifecycle/
• https://kotlinlang.org/docs/keyword-reference.html#special-identifiers
• https://medium.com/swlh/bye-bye-appdelegate-swiftui-app-life-cycle-58dde4a42d0f
• PetAdopt Sample App: https://github.com/laurenyew/PetAdoptSampleApp/tree/develop/ios
Back Buttons
iOS Android
Back Button w/
Title
Back Buttons
iOS Android
Hit back button
iOS
Main Action Button
Android
+ on right
Floating Action
Button
iOS
Primary Navigation
Android
Tab Bar
Top nav buttons
Swift
Structs vs. Classes
Struct Class
iOS
• Lists are Tables
• SwiftUI à List {…}
• Lists are RecyclerViews +
Adapters / ListViews
• JetpackCompose à Lists are
LazyColumns
Lists
Android
ARC vs Garbage Collection
• ARC = automatic reference counting
• Improved performance (any numbers?)
• How it works? Counts number of references on a class then if number
is 0, removes that bit of data, unlike Garbage collection that waits till a
moment in time then cleans up things that don’t have references
• Requirements for weak self in closure (similar to do not pass context
references) ß needs code example
Loading up an Application
• .xcodeproj file (list of files / objects for
xcode to load) – grouped by type
• Xcode builds application w/ configuration on
`target` with rules to build bundle from
Info.plist + source files
• Compile task: takes source code (.h, .m,
.swift) and makes into object files (.o)
• Link task: links object files to make
executable library output file (.app)
SwiftUI Lifecycles
Appearing
Layout
Commit
SwiftUI Lifecycles
Updating
Diff
Update Body and re-
render required UI
SwiftUI Lifecycles
Disappearing
On Disappear
iOS
Modularizing
Android
Extra Modularizing
How does Cocoapods Work?
How does Cocoapods Work?
On Background
• Save User State / Data
• Suspend dispatch / operation queues
• Don’t start any new tasks
• App will take snapshot image of current state
to show when app is starting back up
(*Android also does this)
App Manager

More Related Content

What's hot

Android jetpack compose | Declarative UI
Android jetpack compose | Declarative UI Android jetpack compose | Declarative UI
Android jetpack compose | Declarative UI Ajinkya Saswade
 
REST APIs with Spring
REST APIs with SpringREST APIs with Spring
REST APIs with SpringJoshua Long
 
Kotlin Jetpack Tutorial
Kotlin Jetpack TutorialKotlin Jetpack Tutorial
Kotlin Jetpack TutorialSimplilearn
 
Jetpack Compose.pptx
Jetpack Compose.pptxJetpack Compose.pptx
Jetpack Compose.pptxGDSCVJTI
 
Declarative UIs with Jetpack Compose
Declarative UIs with Jetpack ComposeDeclarative UIs with Jetpack Compose
Declarative UIs with Jetpack ComposeRamon Ribeiro Rabello
 
Kotlin Basics & Introduction to Jetpack Compose.pptx
Kotlin Basics & Introduction to Jetpack Compose.pptxKotlin Basics & Introduction to Jetpack Compose.pptx
Kotlin Basics & Introduction to Jetpack Compose.pptxtakshilkunadia
 
Introduction to react_js
Introduction to react_jsIntroduction to react_js
Introduction to react_jsMicroPyramid .
 
learn what React JS is & why we should use React JS .
learn what React JS is & why we should use React JS .learn what React JS is & why we should use React JS .
learn what React JS is & why we should use React JS .paradisetechsoftsolutions
 
Android Jetpack
Android Jetpack Android Jetpack
Android Jetpack Tudor Sirbu
 
Basic iOS Training with SWIFT - Part 1
Basic iOS Training with SWIFT - Part 1Basic iOS Training with SWIFT - Part 1
Basic iOS Training with SWIFT - Part 1Manoj Ellappan
 
Spring Framework
Spring Framework  Spring Framework
Spring Framework tola99
 
Jetpack Compose a nova forma de implementar UI no Android
Jetpack Compose a nova forma de implementar UI no AndroidJetpack Compose a nova forma de implementar UI no Android
Jetpack Compose a nova forma de implementar UI no AndroidNelson Glauber Leal
 
ServletConfig & ServletContext
ServletConfig & ServletContextServletConfig & ServletContext
ServletConfig & ServletContextASHUTOSH TRIVEDI
 

What's hot (20)

Android jetpack compose | Declarative UI
Android jetpack compose | Declarative UI Android jetpack compose | Declarative UI
Android jetpack compose | Declarative UI
 
Spring notes
Spring notesSpring notes
Spring notes
 
REST APIs with Spring
REST APIs with SpringREST APIs with Spring
REST APIs with Spring
 
Kotlin Jetpack Tutorial
Kotlin Jetpack TutorialKotlin Jetpack Tutorial
Kotlin Jetpack Tutorial
 
Jetpack Compose.pptx
Jetpack Compose.pptxJetpack Compose.pptx
Jetpack Compose.pptx
 
Declarative UIs with Jetpack Compose
Declarative UIs with Jetpack ComposeDeclarative UIs with Jetpack Compose
Declarative UIs with Jetpack Compose
 
Wpf Introduction
Wpf IntroductionWpf Introduction
Wpf Introduction
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Kotlin Basics & Introduction to Jetpack Compose.pptx
Kotlin Basics & Introduction to Jetpack Compose.pptxKotlin Basics & Introduction to Jetpack Compose.pptx
Kotlin Basics & Introduction to Jetpack Compose.pptx
 
Introduction to react_js
Introduction to react_jsIntroduction to react_js
Introduction to react_js
 
learn what React JS is & why we should use React JS .
learn what React JS is & why we should use React JS .learn what React JS is & why we should use React JS .
learn what React JS is & why we should use React JS .
 
Android Jetpack
Android Jetpack Android Jetpack
Android Jetpack
 
Basic iOS Training with SWIFT - Part 1
Basic iOS Training with SWIFT - Part 1Basic iOS Training with SWIFT - Part 1
Basic iOS Training with SWIFT - Part 1
 
React js for beginners
React js for beginnersReact js for beginners
React js for beginners
 
Spring Framework
Spring Framework  Spring Framework
Spring Framework
 
Introduction to c#
Introduction to c#Introduction to c#
Introduction to c#
 
Jetpack Compose a nova forma de implementar UI no Android
Jetpack Compose a nova forma de implementar UI no AndroidJetpack Compose a nova forma de implementar UI no Android
Jetpack Compose a nova forma de implementar UI no Android
 
JDBC
JDBCJDBC
JDBC
 
Reactjs
ReactjsReactjs
Reactjs
 
ServletConfig & ServletContext
ServletConfig & ServletContextServletConfig & ServletContext
ServletConfig & ServletContext
 

Similar to Understanding iOS from an Android perspective

The iOS technical interview: get your dream job as an iOS developer
The iOS technical interview: get your dream job as an iOS developerThe iOS technical interview: get your dream job as an iOS developer
The iOS technical interview: get your dream job as an iOS developerJuan C Catalan
 
Cara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
Cara Tepat Menjadi iOS Developer Expert - Gilang RamadhanCara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
Cara Tepat Menjadi iOS Developer Expert - Gilang RamadhanDicodingEvent
 
[CocoaHeads Tricity] Do not reinvent the wheel
[CocoaHeads Tricity] Do not reinvent the wheel[CocoaHeads Tricity] Do not reinvent the wheel
[CocoaHeads Tricity] Do not reinvent the wheelMateusz Klimczak
 
iOS Development - Offline Class for Jasakomer
iOS Development - Offline Class for JasakomeriOS Development - Offline Class for Jasakomer
iOS Development - Offline Class for JasakomerAndri Yadi
 
LEARNING  iPAD STORYBOARDS IN OBJ-­‐C LESSON 1
LEARNING	 iPAD STORYBOARDS IN OBJ-­‐C LESSON 1LEARNING	 iPAD STORYBOARDS IN OBJ-­‐C LESSON 1
LEARNING  iPAD STORYBOARDS IN OBJ-­‐C LESSON 1Rich Helton
 
iOS Developer Interview Questions
iOS Developer Interview QuestionsiOS Developer Interview Questions
iOS Developer Interview QuestionsClark Davidson
 
Introduction to Android- A session by Sagar Das
Introduction to Android-  A session by Sagar DasIntroduction to Android-  A session by Sagar Das
Introduction to Android- A session by Sagar Dasdscfetju
 
Tell Me Quando - Implementing Feature Flags
Tell Me Quando - Implementing Feature FlagsTell Me Quando - Implementing Feature Flags
Tell Me Quando - Implementing Feature FlagsJorge Ortiz
 
Android development orientation for starters v2
Android development orientation for starters v2Android development orientation for starters v2
Android development orientation for starters v2Joemarie Amparo
 
Innovation Generation - The Mobile Meetup: Android Best Practices
Innovation Generation - The Mobile Meetup: Android Best PracticesInnovation Generation - The Mobile Meetup: Android Best Practices
Innovation Generation - The Mobile Meetup: Android Best PracticesSolstice Mobile Argentina
 
Mobile Programming - 2 Jetpack Compose
Mobile Programming - 2 Jetpack ComposeMobile Programming - 2 Jetpack Compose
Mobile Programming - 2 Jetpack ComposeAndiNurkholis1
 
Session 7 - Overview of the iOS7 app development architecture
Session 7 - Overview of the iOS7 app development architectureSession 7 - Overview of the iOS7 app development architecture
Session 7 - Overview of the iOS7 app development architectureVu Tran Lam
 
TheSpringFramework
TheSpringFrameworkTheSpringFramework
TheSpringFrameworkShankar Nair
 
Workshop 04 android-development
Workshop 04 android-developmentWorkshop 04 android-development
Workshop 04 android-developmentAravindharamanan S
 
Spring framework Introduction
Spring framework  IntroductionSpring framework  Introduction
Spring framework IntroductionAnuj Singh Rajput
 
iOS Development Survival Guide for the .NET Guy
iOS Development Survival Guide for the .NET GuyiOS Development Survival Guide for the .NET Guy
iOS Development Survival Guide for the .NET GuyNick Landry
 

Similar to Understanding iOS from an Android perspective (20)

The iOS technical interview: get your dream job as an iOS developer
The iOS technical interview: get your dream job as an iOS developerThe iOS technical interview: get your dream job as an iOS developer
The iOS technical interview: get your dream job as an iOS developer
 
Cara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
Cara Tepat Menjadi iOS Developer Expert - Gilang RamadhanCara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
Cara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
 
[CocoaHeads Tricity] Do not reinvent the wheel
[CocoaHeads Tricity] Do not reinvent the wheel[CocoaHeads Tricity] Do not reinvent the wheel
[CocoaHeads Tricity] Do not reinvent the wheel
 
ios basics
ios basicsios basics
ios basics
 
iOS Development - Offline Class for Jasakomer
iOS Development - Offline Class for JasakomeriOS Development - Offline Class for Jasakomer
iOS Development - Offline Class for Jasakomer
 
LEARNING  iPAD STORYBOARDS IN OBJ-­‐C LESSON 1
LEARNING	 iPAD STORYBOARDS IN OBJ-­‐C LESSON 1LEARNING	 iPAD STORYBOARDS IN OBJ-­‐C LESSON 1
LEARNING  iPAD STORYBOARDS IN OBJ-­‐C LESSON 1
 
iOS Developer Interview Questions
iOS Developer Interview QuestionsiOS Developer Interview Questions
iOS Developer Interview Questions
 
Spring Framework
Spring FrameworkSpring Framework
Spring Framework
 
Introduction to Android- A session by Sagar Das
Introduction to Android-  A session by Sagar DasIntroduction to Android-  A session by Sagar Das
Introduction to Android- A session by Sagar Das
 
Tell Me Quando - Implementing Feature Flags
Tell Me Quando - Implementing Feature FlagsTell Me Quando - Implementing Feature Flags
Tell Me Quando - Implementing Feature Flags
 
Android development orientation for starters v2
Android development orientation for starters v2Android development orientation for starters v2
Android development orientation for starters v2
 
Innovation Generation - The Mobile Meetup: Android Best Practices
Innovation Generation - The Mobile Meetup: Android Best PracticesInnovation Generation - The Mobile Meetup: Android Best Practices
Innovation Generation - The Mobile Meetup: Android Best Practices
 
Mobile Programming - 2 Jetpack Compose
Mobile Programming - 2 Jetpack ComposeMobile Programming - 2 Jetpack Compose
Mobile Programming - 2 Jetpack Compose
 
Session 7 - Overview of the iOS7 app development architecture
Session 7 - Overview of the iOS7 app development architectureSession 7 - Overview of the iOS7 app development architecture
Session 7 - Overview of the iOS7 app development architecture
 
TheSpringFramework
TheSpringFrameworkTheSpringFramework
TheSpringFramework
 
Lezione 03 Introduzione a react
Lezione 03   Introduzione a reactLezione 03   Introduzione a react
Lezione 03 Introduzione a react
 
Chapter 1-Note.docx
Chapter 1-Note.docxChapter 1-Note.docx
Chapter 1-Note.docx
 
Workshop 04 android-development
Workshop 04 android-developmentWorkshop 04 android-development
Workshop 04 android-development
 
Spring framework Introduction
Spring framework  IntroductionSpring framework  Introduction
Spring framework Introduction
 
iOS Development Survival Guide for the .NET Guy
iOS Development Survival Guide for the .NET GuyiOS Development Survival Guide for the .NET Guy
iOS Development Survival Guide for the .NET Guy
 

Recently uploaded

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 

Recently uploaded (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 

Understanding iOS from an Android perspective