SlideShare a Scribd company logo
iOS App Development 
Presented By: 
Samesh Swongamikha & Neetin Sharma
Design Patterns 
• Loosely based on mvc 
• Massive view controller
MVVM Pattern 
• Model – View –ViewModel
The communication pattern 
• Direct 
• Notification 
• Delegates 
• The Reactive way
Database 
• Anything that floats 
• CoreData 
• Light weight 
• NSObjectContext 
• Class Interface
Database optimization 
• Normalization 
• No images 
• Extensions
Schema-less DB 
• Why go schema-less ? 
• Parse
Networking 
• Why do we need web server’s data in iOS? 
• What kind of data we can get from server? 
• JSON or XML or something else? 
• What kind of server API we need? 
• RESTful API , any other?
Networking continued 
• Do we need our own server? 
• use BAAS, for e.g. Parse
Networking continued 
• API for server request 
• NSURLConnection 
• NSURLSession (iOS 7 on wards) 
• AFNetworking (third party) 
• Alamofire (written in swift)
Networking continued 
• Use asynchronous server request (do not block main thread). 
• Use background thread for downloads and uploads. 
• Don’t store large size image in disk/database but curl when needed in the background using 
background thread. 
• Do not initiate heavy downloads on mobile data, check if device is using wifi.
Memory Management 
• Retain/Release 
• ARC 
• Be careful (Outlets/ Popovers/ Timers)
Swift 
• What is swift? 
• What is new in swift? 
• It is designed for type safety 
• Tuples 
• Generics 
• Memory is managed automatically. 
• Functional programming pattern. e.g. Filters. 
• Functions are first class objects.
Useful tools/ links 
• Cocoapods (http://cocoapods.org/) 
• Ray Wenderlich Tutorials (http://www.raywenderlich.com/) 
• Cocoa Controls ( https://www.cocoacontrols.com/) 
• Realm : a mobile database (http://realm.io/) 
• Reactive Cocoa (https://github.com/ReactiveCocoa/ReactiveCocoa) 
• AFNetwoking (https://github.com/AFNetworking/AFNetworking) 
• Masonry ()
Thank You
Ad

More Related Content

What's hot (20)

CrossWorlds: Unleash the Power of Domino for Connections Development
CrossWorlds: Unleash the Power of Domino for Connections Development CrossWorlds: Unleash the Power of Domino for Connections Development
CrossWorlds: Unleash the Power of Domino for Connections Development
LetsConnect
 
Beyond Apache: Faster Web Servers
Beyond Apache: Faster Web ServersBeyond Apache: Faster Web Servers
Beyond Apache: Faster Web Servers
webhostingguy
 
SOA with PHP and Symfony
SOA with PHP and SymfonySOA with PHP and Symfony
SOA with PHP and Symfony
MichalSchroeder
 
.Net Fundamentals
.Net Fundamentals.Net Fundamentals
.Net Fundamentals
Sunny Sharma
 
RavenDB in the wild
RavenDB in the wildRavenDB in the wild
RavenDB in the wild
Mauro Servienti
 
Getting started with Apache Spark
Getting started with Apache SparkGetting started with Apache Spark
Getting started with Apache Spark
Habib Ahmed Bhutto
 
Net coreandsimplcommerce
Net coreandsimplcommerceNet coreandsimplcommerce
Net coreandsimplcommerce
Thien Nguyen Le Quynh
 
In Memory Cahce Structure
In Memory Cahce StructureIn Memory Cahce Structure
In Memory Cahce Structure
Mehmet Ali Tastan
 
Testing course content converted
Testing course content convertedTesting course content converted
Testing course content converted
ShreemInstituteProfe
 
SPA vs. MPA
SPA vs. MPASPA vs. MPA
SPA vs. MPA
Mehmet Ali Tastan
 
Gradual migration to MicroProfile
Gradual migration to MicroProfileGradual migration to MicroProfile
Gradual migration to MicroProfile
Rudy De Busscher
 
Training Slides: 103 - Basics - Simple Tungsten Clustering Installation
Training Slides: 103 - Basics - Simple Tungsten Clustering InstallationTraining Slides: 103 - Basics - Simple Tungsten Clustering Installation
Training Slides: 103 - Basics - Simple Tungsten Clustering Installation
Continuent
 
Indic threads pune12-typesafe stack software development on the jvm
Indic threads pune12-typesafe stack software development on the jvmIndic threads pune12-typesafe stack software development on the jvm
Indic threads pune12-typesafe stack software development on the jvm
IndicThreads
 
C# 8 and .NET Core 3
C# 8 and .NET Core 3C# 8 and .NET Core 3
C# 8 and .NET Core 3
Christian Nagel
 
RavenDB embedded at massive scales
RavenDB embedded at massive scalesRavenDB embedded at massive scales
RavenDB embedded at massive scales
Oren Eini
 
Stackato v2
Stackato v2Stackato v2
Stackato v2
Jonas Brømsø
 
Building rest services using aspnetwebapi
Building rest services using aspnetwebapiBuilding rest services using aspnetwebapi
Building rest services using aspnetwebapi
Brij Mishra
 
Hands-on Performance Tuning Lab - Devoxx Poland
Hands-on Performance Tuning Lab - Devoxx PolandHands-on Performance Tuning Lab - Devoxx Poland
Hands-on Performance Tuning Lab - Devoxx Poland
C2B2 Consulting
 
A SOA approximation on symfony
A SOA approximation on symfonyA SOA approximation on symfony
A SOA approximation on symfony
Joseluis Laso
 
Effective cloud-ready apps with MicroProfile
Effective cloud-ready apps with MicroProfileEffective cloud-ready apps with MicroProfile
Effective cloud-ready apps with MicroProfile
Payara
 
CrossWorlds: Unleash the Power of Domino for Connections Development
CrossWorlds: Unleash the Power of Domino for Connections Development CrossWorlds: Unleash the Power of Domino for Connections Development
CrossWorlds: Unleash the Power of Domino for Connections Development
LetsConnect
 
Beyond Apache: Faster Web Servers
Beyond Apache: Faster Web ServersBeyond Apache: Faster Web Servers
Beyond Apache: Faster Web Servers
webhostingguy
 
SOA with PHP and Symfony
SOA with PHP and SymfonySOA with PHP and Symfony
SOA with PHP and Symfony
MichalSchroeder
 
Getting started with Apache Spark
Getting started with Apache SparkGetting started with Apache Spark
Getting started with Apache Spark
Habib Ahmed Bhutto
 
Gradual migration to MicroProfile
Gradual migration to MicroProfileGradual migration to MicroProfile
Gradual migration to MicroProfile
Rudy De Busscher
 
Training Slides: 103 - Basics - Simple Tungsten Clustering Installation
Training Slides: 103 - Basics - Simple Tungsten Clustering InstallationTraining Slides: 103 - Basics - Simple Tungsten Clustering Installation
Training Slides: 103 - Basics - Simple Tungsten Clustering Installation
Continuent
 
Indic threads pune12-typesafe stack software development on the jvm
Indic threads pune12-typesafe stack software development on the jvmIndic threads pune12-typesafe stack software development on the jvm
Indic threads pune12-typesafe stack software development on the jvm
IndicThreads
 
RavenDB embedded at massive scales
RavenDB embedded at massive scalesRavenDB embedded at massive scales
RavenDB embedded at massive scales
Oren Eini
 
Building rest services using aspnetwebapi
Building rest services using aspnetwebapiBuilding rest services using aspnetwebapi
Building rest services using aspnetwebapi
Brij Mishra
 
Hands-on Performance Tuning Lab - Devoxx Poland
Hands-on Performance Tuning Lab - Devoxx PolandHands-on Performance Tuning Lab - Devoxx Poland
Hands-on Performance Tuning Lab - Devoxx Poland
C2B2 Consulting
 
A SOA approximation on symfony
A SOA approximation on symfonyA SOA approximation on symfony
A SOA approximation on symfony
Joseluis Laso
 
Effective cloud-ready apps with MicroProfile
Effective cloud-ready apps with MicroProfileEffective cloud-ready apps with MicroProfile
Effective cloud-ready apps with MicroProfile
Payara
 

Viewers also liked (19)

Keynote speech tourism mr. bibhusan bista
Keynote speech   tourism mr. bibhusan bistaKeynote speech   tourism mr. bibhusan bista
Keynote speech tourism mr. bibhusan bista
MobileNepal
 
Design Theory - Ankur Sharma - Presentation
Design Theory - Ankur Sharma - PresentationDesign Theory - Ankur Sharma - Presentation
Design Theory - Ankur Sharma - Presentation
MobileNepal
 
Presentation - Education - Keynote - Ncell App Camp 2014 - Mr. Anil Chitrakar
Presentation - Education - Keynote - Ncell App Camp 2014 - Mr. Anil ChitrakarPresentation - Education - Keynote - Ncell App Camp 2014 - Mr. Anil Chitrakar
Presentation - Education - Keynote - Ncell App Camp 2014 - Mr. Anil Chitrakar
MobileNepal
 
Technology, Performance and Scalability - Presentation - Anjesh Tuladhar
Technology, Performance and Scalability - Presentation - Anjesh TuladharTechnology, Performance and Scalability - Presentation - Anjesh Tuladhar
Technology, Performance and Scalability - Presentation - Anjesh Tuladhar
MobileNepal
 
Presentation: Going beyond 150
Presentation: Going beyond 150Presentation: Going beyond 150
Presentation: Going beyond 150
MobileNepal
 
Presentation - Corporate Solutions - Keynote - Mr. Erim Taylanlar
Presentation - Corporate Solutions - Keynote - Mr. Erim TaylanlarPresentation - Corporate Solutions - Keynote - Mr. Erim Taylanlar
Presentation - Corporate Solutions - Keynote - Mr. Erim Taylanlar
MobileNepal
 
Design in UI: Visuals and Aesthetics - Swapnil Acharya
Design in UI: Visuals and Aesthetics - Swapnil AcharyaDesign in UI: Visuals and Aesthetics - Swapnil Acharya
Design in UI: Visuals and Aesthetics - Swapnil Acharya
MobileNepal
 
Ncell's scheme
Ncell's schemeNcell's scheme
Ncell's scheme
Prawesh Shrestha
 
Debriefing Event - Ncell app camp 2014 - Presentation
Debriefing Event - Ncell app camp 2014 - PresentationDebriefing Event - Ncell app camp 2014 - Presentation
Debriefing Event - Ncell app camp 2014 - Presentation
MobileNepal
 
NTC Slides
NTC SlidesNTC Slides
NTC Slides
Beth Kanter
 
Training on SMS App - Anjesh Tuladhar
Training on SMS App - Anjesh TuladharTraining on SMS App - Anjesh Tuladhar
Training on SMS App - Anjesh Tuladhar
MobileNepal
 
Mobile Application Trends - Marketing and Monetization by Biswas Dhakal - Nce...
Mobile Application Trends - Marketing and Monetization by Biswas Dhakal - Nce...Mobile Application Trends - Marketing and Monetization by Biswas Dhakal - Nce...
Mobile Application Trends - Marketing and Monetization by Biswas Dhakal - Nce...
MobileNepal
 
Designing for Android - Anjan Shrestha
Designing for Android - Anjan ShresthaDesigning for Android - Anjan Shrestha
Designing for Android - Anjan Shrestha
MobileNepal
 
Ncell Company Profile - Presentation
Ncell Company Profile - Presentation Ncell Company Profile - Presentation
Ncell Company Profile - Presentation
Ayush Man Tamrakar
 
Presentation on ntc(edited anuj)
Presentation on ntc(edited anuj)Presentation on ntc(edited anuj)
Presentation on ntc(edited anuj)
Anuj STha
 
Presentation Slides - Training on Business Development - Mr. Sohan Babu Khatri
Presentation Slides - Training on Business Development - Mr. Sohan Babu KhatriPresentation Slides - Training on Business Development - Mr. Sohan Babu Khatri
Presentation Slides - Training on Business Development - Mr. Sohan Babu Khatri
MobileNepal
 
Company Profile of Ncell Pvt. Ltd.
Company Profile of Ncell Pvt. Ltd.Company Profile of Ncell Pvt. Ltd.
Company Profile of Ncell Pvt. Ltd.
Ayush Man Tamrakar
 
Financial Analysis of Nepal Telecom (NTC)
Financial Analysis of Nepal Telecom (NTC)Financial Analysis of Nepal Telecom (NTC)
Financial Analysis of Nepal Telecom (NTC)
Ram Kumar Shah "Struggler"
 
Presentation - Keynote Speech - Ncell App Camp 2014 - Mr. Dinesh Gautam
Presentation - Keynote Speech - Ncell App Camp 2014 - Mr. Dinesh GautamPresentation - Keynote Speech - Ncell App Camp 2014 - Mr. Dinesh Gautam
Presentation - Keynote Speech - Ncell App Camp 2014 - Mr. Dinesh Gautam
MobileNepal
 
Keynote speech tourism mr. bibhusan bista
Keynote speech   tourism mr. bibhusan bistaKeynote speech   tourism mr. bibhusan bista
Keynote speech tourism mr. bibhusan bista
MobileNepal
 
Design Theory - Ankur Sharma - Presentation
Design Theory - Ankur Sharma - PresentationDesign Theory - Ankur Sharma - Presentation
Design Theory - Ankur Sharma - Presentation
MobileNepal
 
Presentation - Education - Keynote - Ncell App Camp 2014 - Mr. Anil Chitrakar
Presentation - Education - Keynote - Ncell App Camp 2014 - Mr. Anil ChitrakarPresentation - Education - Keynote - Ncell App Camp 2014 - Mr. Anil Chitrakar
Presentation - Education - Keynote - Ncell App Camp 2014 - Mr. Anil Chitrakar
MobileNepal
 
Technology, Performance and Scalability - Presentation - Anjesh Tuladhar
Technology, Performance and Scalability - Presentation - Anjesh TuladharTechnology, Performance and Scalability - Presentation - Anjesh Tuladhar
Technology, Performance and Scalability - Presentation - Anjesh Tuladhar
MobileNepal
 
Presentation: Going beyond 150
Presentation: Going beyond 150Presentation: Going beyond 150
Presentation: Going beyond 150
MobileNepal
 
Presentation - Corporate Solutions - Keynote - Mr. Erim Taylanlar
Presentation - Corporate Solutions - Keynote - Mr. Erim TaylanlarPresentation - Corporate Solutions - Keynote - Mr. Erim Taylanlar
Presentation - Corporate Solutions - Keynote - Mr. Erim Taylanlar
MobileNepal
 
Design in UI: Visuals and Aesthetics - Swapnil Acharya
Design in UI: Visuals and Aesthetics - Swapnil AcharyaDesign in UI: Visuals and Aesthetics - Swapnil Acharya
Design in UI: Visuals and Aesthetics - Swapnil Acharya
MobileNepal
 
Debriefing Event - Ncell app camp 2014 - Presentation
Debriefing Event - Ncell app camp 2014 - PresentationDebriefing Event - Ncell app camp 2014 - Presentation
Debriefing Event - Ncell app camp 2014 - Presentation
MobileNepal
 
Training on SMS App - Anjesh Tuladhar
Training on SMS App - Anjesh TuladharTraining on SMS App - Anjesh Tuladhar
Training on SMS App - Anjesh Tuladhar
MobileNepal
 
Mobile Application Trends - Marketing and Monetization by Biswas Dhakal - Nce...
Mobile Application Trends - Marketing and Monetization by Biswas Dhakal - Nce...Mobile Application Trends - Marketing and Monetization by Biswas Dhakal - Nce...
Mobile Application Trends - Marketing and Monetization by Biswas Dhakal - Nce...
MobileNepal
 
Designing for Android - Anjan Shrestha
Designing for Android - Anjan ShresthaDesigning for Android - Anjan Shrestha
Designing for Android - Anjan Shrestha
MobileNepal
 
Ncell Company Profile - Presentation
Ncell Company Profile - Presentation Ncell Company Profile - Presentation
Ncell Company Profile - Presentation
Ayush Man Tamrakar
 
Presentation on ntc(edited anuj)
Presentation on ntc(edited anuj)Presentation on ntc(edited anuj)
Presentation on ntc(edited anuj)
Anuj STha
 
Presentation Slides - Training on Business Development - Mr. Sohan Babu Khatri
Presentation Slides - Training on Business Development - Mr. Sohan Babu KhatriPresentation Slides - Training on Business Development - Mr. Sohan Babu Khatri
Presentation Slides - Training on Business Development - Mr. Sohan Babu Khatri
MobileNepal
 
Company Profile of Ncell Pvt. Ltd.
Company Profile of Ncell Pvt. Ltd.Company Profile of Ncell Pvt. Ltd.
Company Profile of Ncell Pvt. Ltd.
Ayush Man Tamrakar
 
Presentation - Keynote Speech - Ncell App Camp 2014 - Mr. Dinesh Gautam
Presentation - Keynote Speech - Ncell App Camp 2014 - Mr. Dinesh GautamPresentation - Keynote Speech - Ncell App Camp 2014 - Mr. Dinesh Gautam
Presentation - Keynote Speech - Ncell App Camp 2014 - Mr. Dinesh Gautam
MobileNepal
 
Ad

Similar to Training on iOS app development - Samesh Swongamikha & Neetin Sharma (20)

Meanstack overview
Meanstack overviewMeanstack overview
Meanstack overview
Adthasid Sabmake
 
Cloud patterns
Cloud patternsCloud patterns
Cloud patterns
Nicolas De Loof
 
Moving Windows Applications to the Cloud
Moving Windows Applications to the CloudMoving Windows Applications to the Cloud
Moving Windows Applications to the Cloud
RightScale
 
Mobile gotcha
Mobile gotchaMobile gotcha
Mobile gotcha
phegaro
 
Escaping the yellow bubble - rewriting Domino using MongoDb and Angular
Escaping the yellow bubble - rewriting Domino using MongoDb and AngularEscaping the yellow bubble - rewriting Domino using MongoDb and Angular
Escaping the yellow bubble - rewriting Domino using MongoDb and Angular
Mark Leusink
 
Service-Oriented Design and Implement with Rails3
Service-Oriented Design and Implement with Rails3Service-Oriented Design and Implement with Rails3
Service-Oriented Design and Implement with Rails3
Wen-Tien Chang
 
Social Connections 2015 CrossWorlds and Domino
Social Connections 2015 CrossWorlds and DominoSocial Connections 2015 CrossWorlds and Domino
Social Connections 2015 CrossWorlds and Domino
Paul Withers
 
DataOps with Project Amaterasu
DataOps with Project AmaterasuDataOps with Project Amaterasu
DataOps with Project Amaterasu
DataWorks Summit/Hadoop Summit
 
A Case Study of NoSQL Adoption: What Drove Wordnik Non-Relational?
A Case Study of NoSQL Adoption: What Drove Wordnik Non-Relational?A Case Study of NoSQL Adoption: What Drove Wordnik Non-Relational?
A Case Study of NoSQL Adoption: What Drove Wordnik Non-Relational?
DATAVERSITY
 
WebNetConf 2012 - Single Page Apps
WebNetConf 2012 - Single Page AppsWebNetConf 2012 - Single Page Apps
WebNetConf 2012 - Single Page Apps
Pop Apps
 
What is Mean Stack Development ?
What is Mean Stack Development ?What is Mean Stack Development ?
What is Mean Stack Development ?
Balajihope
 
Oracle application container cloud back end integration using node final
Oracle application container cloud back end integration using node finalOracle application container cloud back end integration using node final
Oracle application container cloud back end integration using node final
Getting value from IoT, Integration and Data Analytics
 
Snowflake Datawarehouse Architecturing
Snowflake Datawarehouse ArchitecturingSnowflake Datawarehouse Architecturing
Snowflake Datawarehouse Architecturing
Ishan Bhawantha Hewanayake
 
Urbanesia - Development History
Urbanesia - Development HistoryUrbanesia - Development History
Urbanesia - Development History
Batista Harahap
 
Mean stack
Mean stackMean stack
Mean stack
RavikantGautam8
 
Perl in Teh Cloud
Perl in Teh CloudPerl in Teh Cloud
Perl in Teh Cloud
Pedro Figueiredo
 
NodeJS - Server Side JS
NodeJS - Server Side JS NodeJS - Server Side JS
NodeJS - Server Side JS
Ganesh Kondal
 
Meanstack Introduction by Kishore Chandra
Meanstack Introduction by Kishore ChandraMeanstack Introduction by Kishore Chandra
Meanstack Introduction by Kishore Chandra
Kishore Chandra
 
 Active Storage - Modern File Storage? 
 Active Storage - Modern File Storage?  Active Storage - Modern File Storage? 
 Active Storage - Modern File Storage? 
Michael Yagudaev
 
Be faster then rabbits
Be faster then rabbitsBe faster then rabbits
Be faster then rabbits
Vladislav Bauer
 
Moving Windows Applications to the Cloud
Moving Windows Applications to the CloudMoving Windows Applications to the Cloud
Moving Windows Applications to the Cloud
RightScale
 
Mobile gotcha
Mobile gotchaMobile gotcha
Mobile gotcha
phegaro
 
Escaping the yellow bubble - rewriting Domino using MongoDb and Angular
Escaping the yellow bubble - rewriting Domino using MongoDb and AngularEscaping the yellow bubble - rewriting Domino using MongoDb and Angular
Escaping the yellow bubble - rewriting Domino using MongoDb and Angular
Mark Leusink
 
Service-Oriented Design and Implement with Rails3
Service-Oriented Design and Implement with Rails3Service-Oriented Design and Implement with Rails3
Service-Oriented Design and Implement with Rails3
Wen-Tien Chang
 
Social Connections 2015 CrossWorlds and Domino
Social Connections 2015 CrossWorlds and DominoSocial Connections 2015 CrossWorlds and Domino
Social Connections 2015 CrossWorlds and Domino
Paul Withers
 
A Case Study of NoSQL Adoption: What Drove Wordnik Non-Relational?
A Case Study of NoSQL Adoption: What Drove Wordnik Non-Relational?A Case Study of NoSQL Adoption: What Drove Wordnik Non-Relational?
A Case Study of NoSQL Adoption: What Drove Wordnik Non-Relational?
DATAVERSITY
 
WebNetConf 2012 - Single Page Apps
WebNetConf 2012 - Single Page AppsWebNetConf 2012 - Single Page Apps
WebNetConf 2012 - Single Page Apps
Pop Apps
 
What is Mean Stack Development ?
What is Mean Stack Development ?What is Mean Stack Development ?
What is Mean Stack Development ?
Balajihope
 
Urbanesia - Development History
Urbanesia - Development HistoryUrbanesia - Development History
Urbanesia - Development History
Batista Harahap
 
NodeJS - Server Side JS
NodeJS - Server Side JS NodeJS - Server Side JS
NodeJS - Server Side JS
Ganesh Kondal
 
Meanstack Introduction by Kishore Chandra
Meanstack Introduction by Kishore ChandraMeanstack Introduction by Kishore Chandra
Meanstack Introduction by Kishore Chandra
Kishore Chandra
 
 Active Storage - Modern File Storage? 
 Active Storage - Modern File Storage?  Active Storage - Modern File Storage? 
 Active Storage - Modern File Storage? 
Michael Yagudaev
 
Ad

More from MobileNepal (9)

Mr. Tomi Ahonen Mobile Digital - Ncell App Camp 2014
Mr. Tomi Ahonen Mobile Digital - Ncell App Camp 2014Mr. Tomi Ahonen Mobile Digital - Ncell App Camp 2014
Mr. Tomi Ahonen Mobile Digital - Ncell App Camp 2014
MobileNepal
 
Pitfalls in mobile apps marketing Mr. Karun Thapa
Pitfalls in mobile apps marketing   Mr. Karun ThapaPitfalls in mobile apps marketing   Mr. Karun Thapa
Pitfalls in mobile apps marketing Mr. Karun Thapa
MobileNepal
 
Presentation - Mr. Tomas Martunas
Presentation - Mr. Tomas MartunasPresentation - Mr. Tomas Martunas
Presentation - Mr. Tomas Martunas
MobileNepal
 
Debriefing of finals - Mr. Bibhusan Bista
Debriefing of finals - Mr. Bibhusan BistaDebriefing of finals - Mr. Bibhusan Bista
Debriefing of finals - Mr. Bibhusan Bista
MobileNepal
 
Effective Presentation and Pitching - Mr. Sohan B. Khatri
Effective Presentation and Pitching - Mr. Sohan B. KhatriEffective Presentation and Pitching - Mr. Sohan B. Khatri
Effective Presentation and Pitching - Mr. Sohan B. Khatri
MobileNepal
 
Presentation - Windows App Development - II - Mr. Chandan Gupta
Presentation - Windows App Development - II - Mr. Chandan GuptaPresentation - Windows App Development - II - Mr. Chandan Gupta
Presentation - Windows App Development - II - Mr. Chandan Gupta
MobileNepal
 
Presentation - Windows app development - I - Mr. Chandan Gupta
Presentation - Windows app development - I - Mr. Chandan GuptaPresentation - Windows app development - I - Mr. Chandan Gupta
Presentation - Windows app development - I - Mr. Chandan Gupta
MobileNepal
 
Presentation - Android App Development - Mr. Samrakchan
Presentation - Android App Development - Mr. SamrakchanPresentation - Android App Development - Mr. Samrakchan
Presentation - Android App Development - Mr. Samrakchan
MobileNepal
 
Presentation - iOS - UI and UX - Mr. Samesh & Mr. Neetin
Presentation - iOS - UI and UX - Mr. Samesh & Mr. NeetinPresentation - iOS - UI and UX - Mr. Samesh & Mr. Neetin
Presentation - iOS - UI and UX - Mr. Samesh & Mr. Neetin
MobileNepal
 
Mr. Tomi Ahonen Mobile Digital - Ncell App Camp 2014
Mr. Tomi Ahonen Mobile Digital - Ncell App Camp 2014Mr. Tomi Ahonen Mobile Digital - Ncell App Camp 2014
Mr. Tomi Ahonen Mobile Digital - Ncell App Camp 2014
MobileNepal
 
Pitfalls in mobile apps marketing Mr. Karun Thapa
Pitfalls in mobile apps marketing   Mr. Karun ThapaPitfalls in mobile apps marketing   Mr. Karun Thapa
Pitfalls in mobile apps marketing Mr. Karun Thapa
MobileNepal
 
Presentation - Mr. Tomas Martunas
Presentation - Mr. Tomas MartunasPresentation - Mr. Tomas Martunas
Presentation - Mr. Tomas Martunas
MobileNepal
 
Debriefing of finals - Mr. Bibhusan Bista
Debriefing of finals - Mr. Bibhusan BistaDebriefing of finals - Mr. Bibhusan Bista
Debriefing of finals - Mr. Bibhusan Bista
MobileNepal
 
Effective Presentation and Pitching - Mr. Sohan B. Khatri
Effective Presentation and Pitching - Mr. Sohan B. KhatriEffective Presentation and Pitching - Mr. Sohan B. Khatri
Effective Presentation and Pitching - Mr. Sohan B. Khatri
MobileNepal
 
Presentation - Windows App Development - II - Mr. Chandan Gupta
Presentation - Windows App Development - II - Mr. Chandan GuptaPresentation - Windows App Development - II - Mr. Chandan Gupta
Presentation - Windows App Development - II - Mr. Chandan Gupta
MobileNepal
 
Presentation - Windows app development - I - Mr. Chandan Gupta
Presentation - Windows app development - I - Mr. Chandan GuptaPresentation - Windows app development - I - Mr. Chandan Gupta
Presentation - Windows app development - I - Mr. Chandan Gupta
MobileNepal
 
Presentation - Android App Development - Mr. Samrakchan
Presentation - Android App Development - Mr. SamrakchanPresentation - Android App Development - Mr. Samrakchan
Presentation - Android App Development - Mr. Samrakchan
MobileNepal
 
Presentation - iOS - UI and UX - Mr. Samesh & Mr. Neetin
Presentation - iOS - UI and UX - Mr. Samesh & Mr. NeetinPresentation - iOS - UI and UX - Mr. Samesh & Mr. Neetin
Presentation - iOS - UI and UX - Mr. Samesh & Mr. Neetin
MobileNepal
 

Recently uploaded (20)

Learn the Basics of Agile Development: Your Step-by-Step Guide
Learn the Basics of Agile Development: Your Step-by-Step GuideLearn the Basics of Agile Development: Your Step-by-Step Guide
Learn the Basics of Agile Development: Your Step-by-Step Guide
Marcel David
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Automation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From AnywhereAutomation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From Anywhere
Lynda Kane
 
Buckeye Dreamin' 2023: De-fogging Debug Logs
Buckeye Dreamin' 2023: De-fogging Debug LogsBuckeye Dreamin' 2023: De-fogging Debug Logs
Buckeye Dreamin' 2023: De-fogging Debug Logs
Lynda Kane
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
"Client Partnership — the Path to Exponential Growth for Companies Sized 50-5...
"Client Partnership — the Path to Exponential Growth for Companies Sized 50-5..."Client Partnership — the Path to Exponential Growth for Companies Sized 50-5...
"Client Partnership — the Path to Exponential Growth for Companies Sized 50-5...
Fwdays
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018
#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018
#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018
Lynda Kane
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
"PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System""PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System"
Jainul Musani
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Learn the Basics of Agile Development: Your Step-by-Step Guide
Learn the Basics of Agile Development: Your Step-by-Step GuideLearn the Basics of Agile Development: Your Step-by-Step Guide
Learn the Basics of Agile Development: Your Step-by-Step Guide
Marcel David
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Automation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From AnywhereAutomation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From Anywhere
Lynda Kane
 
Buckeye Dreamin' 2023: De-fogging Debug Logs
Buckeye Dreamin' 2023: De-fogging Debug LogsBuckeye Dreamin' 2023: De-fogging Debug Logs
Buckeye Dreamin' 2023: De-fogging Debug Logs
Lynda Kane
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
"Client Partnership — the Path to Exponential Growth for Companies Sized 50-5...
"Client Partnership — the Path to Exponential Growth for Companies Sized 50-5..."Client Partnership — the Path to Exponential Growth for Companies Sized 50-5...
"Client Partnership — the Path to Exponential Growth for Companies Sized 50-5...
Fwdays
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018
#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018
#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018
Lynda Kane
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
"PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System""PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System"
Jainul Musani
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 

Training on iOS app development - Samesh Swongamikha & Neetin Sharma

  • 1. iOS App Development Presented By: Samesh Swongamikha & Neetin Sharma
  • 2. Design Patterns • Loosely based on mvc • Massive view controller
  • 3. MVVM Pattern • Model – View –ViewModel
  • 4. The communication pattern • Direct • Notification • Delegates • The Reactive way
  • 5. Database • Anything that floats • CoreData • Light weight • NSObjectContext • Class Interface
  • 6. Database optimization • Normalization • No images • Extensions
  • 7. Schema-less DB • Why go schema-less ? • Parse
  • 8. Networking • Why do we need web server’s data in iOS? • What kind of data we can get from server? • JSON or XML or something else? • What kind of server API we need? • RESTful API , any other?
  • 9. Networking continued • Do we need our own server? • use BAAS, for e.g. Parse
  • 10. Networking continued • API for server request • NSURLConnection • NSURLSession (iOS 7 on wards) • AFNetworking (third party) • Alamofire (written in swift)
  • 11. Networking continued • Use asynchronous server request (do not block main thread). • Use background thread for downloads and uploads. • Don’t store large size image in disk/database but curl when needed in the background using background thread. • Do not initiate heavy downloads on mobile data, check if device is using wifi.
  • 12. Memory Management • Retain/Release • ARC • Be careful (Outlets/ Popovers/ Timers)
  • 13. Swift • What is swift? • What is new in swift? • It is designed for type safety • Tuples • Generics • Memory is managed automatically. • Functional programming pattern. e.g. Filters. • Functions are first class objects.
  • 14. Useful tools/ links • Cocoapods (http://cocoapods.org/) • Ray Wenderlich Tutorials (http://www.raywenderlich.com/) • Cocoa Controls ( https://www.cocoacontrols.com/) • Realm : a mobile database (http://realm.io/) • Reactive Cocoa (https://github.com/ReactiveCocoa/ReactiveCocoa) • AFNetwoking (https://github.com/AFNetworking/AFNetworking) • Masonry ()