SlideShare ist ein Scribd-Unternehmen logo
1 von 15
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

Weitere ähnliche Inhalte

Was ist angesagt?

Beyond Apache: Faster Web Servers
Beyond Apache: Faster Web ServersBeyond Apache: Faster Web Servers
Beyond Apache: Faster Web Servers
webhostingguy
 

Was ist angesagt? (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
 
Beyond Apache: Faster Web Servers
Beyond Apache: Faster Web ServersBeyond Apache: Faster Web Servers
Beyond Apache: Faster Web Servers
 
SOA with PHP and Symfony
SOA with PHP and SymfonySOA with PHP and Symfony
SOA with PHP and Symfony
 
.Net Fundamentals
.Net Fundamentals.Net Fundamentals
.Net Fundamentals
 
RavenDB in the wild
RavenDB in the wildRavenDB in the wild
RavenDB in the wild
 
Getting started with Apache Spark
Getting started with Apache SparkGetting started with Apache Spark
Getting started with Apache Spark
 
Net coreandsimplcommerce
Net coreandsimplcommerceNet coreandsimplcommerce
Net coreandsimplcommerce
 
In Memory Cahce Structure
In Memory Cahce StructureIn Memory Cahce Structure
In Memory Cahce Structure
 
Testing course content converted
Testing course content convertedTesting course content converted
Testing course content converted
 
SPA vs. MPA
SPA vs. MPASPA vs. MPA
SPA vs. MPA
 
Gradual migration to MicroProfile
Gradual migration to MicroProfileGradual migration to MicroProfile
Gradual migration to MicroProfile
 
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
 
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
 
C# 8 and .NET Core 3
C# 8 and .NET Core 3C# 8 and .NET Core 3
C# 8 and .NET Core 3
 
RavenDB embedded at massive scales
RavenDB embedded at massive scalesRavenDB embedded at massive scales
RavenDB embedded at massive scales
 
Stackato v2
Stackato v2Stackato v2
Stackato v2
 
Building rest services using aspnetwebapi
Building rest services using aspnetwebapiBuilding rest services using aspnetwebapi
Building rest services using aspnetwebapi
 
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
 
A SOA approximation on symfony
A SOA approximation on symfonyA SOA approximation on symfony
A SOA approximation on symfony
 
Effective cloud-ready apps with MicroProfile
Effective cloud-ready apps with MicroProfileEffective cloud-ready apps with MicroProfile
Effective cloud-ready apps with MicroProfile
 

Andere mochten auch

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"
 

Andere mochten auch (19)

Keynote speech tourism mr. bibhusan bista
Keynote speech   tourism mr. bibhusan bistaKeynote speech   tourism mr. bibhusan bista
Keynote speech tourism mr. bibhusan bista
 
Design Theory - Ankur Sharma - Presentation
Design Theory - Ankur Sharma - PresentationDesign Theory - Ankur Sharma - Presentation
Design Theory - Ankur Sharma - Presentation
 
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
 
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
 
Presentation: Going beyond 150
Presentation: Going beyond 150Presentation: Going beyond 150
Presentation: Going beyond 150
 
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
 
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
 
Ncell's scheme
Ncell's schemeNcell's scheme
Ncell's scheme
 
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
 
NTC Slides
NTC SlidesNTC Slides
NTC Slides
 
Training on SMS App - Anjesh Tuladhar
Training on SMS App - Anjesh TuladharTraining on SMS App - Anjesh Tuladhar
Training on SMS App - Anjesh Tuladhar
 
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...
 
Designing for Android - Anjan Shrestha
Designing for Android - Anjan ShresthaDesigning for Android - Anjan Shrestha
Designing for Android - Anjan Shrestha
 
Ncell Company Profile - Presentation
Ncell Company Profile - Presentation Ncell Company Profile - Presentation
Ncell Company Profile - Presentation
 
Presentation on ntc(edited anuj)
Presentation on ntc(edited anuj)Presentation on ntc(edited anuj)
Presentation on ntc(edited anuj)
 
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
 
Company Profile of Ncell Pvt. Ltd.
Company Profile of Ncell Pvt. Ltd.Company Profile of Ncell Pvt. Ltd.
Company Profile of Ncell Pvt. Ltd.
 
Financial Analysis of Nepal Telecom (NTC)
Financial Analysis of Nepal Telecom (NTC)Financial Analysis of Nepal Telecom (NTC)
Financial Analysis of Nepal Telecom (NTC)
 
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
 

Ähnlich wie Training on iOS app development - Samesh Swongamikha & Neetin Sharma

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
 
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
 

Ähnlich wie Training on iOS app development - Samesh Swongamikha & Neetin Sharma (20)

Meanstack overview
Meanstack overviewMeanstack overview
Meanstack overview
 
Cloud patterns
Cloud patternsCloud patterns
Cloud patterns
 
Moving Windows Applications to the Cloud
Moving Windows Applications to the CloudMoving Windows Applications to the Cloud
Moving Windows Applications to the Cloud
 
Mobile gotcha
Mobile gotchaMobile gotcha
Mobile gotcha
 
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
 
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
 
Social Connections 2015 CrossWorlds and Domino
Social Connections 2015 CrossWorlds and DominoSocial Connections 2015 CrossWorlds and Domino
Social Connections 2015 CrossWorlds and Domino
 
DataOps with Project Amaterasu
DataOps with Project AmaterasuDataOps with Project Amaterasu
DataOps with Project Amaterasu
 
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?
 
WebNetConf 2012 - Single Page Apps
WebNetConf 2012 - Single Page AppsWebNetConf 2012 - Single Page Apps
WebNetConf 2012 - Single Page Apps
 
What is Mean Stack Development ?
What is Mean Stack Development ?What is Mean Stack Development ?
What is Mean Stack Development ?
 
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
 
Snowflake Datawarehouse Architecturing
Snowflake Datawarehouse ArchitecturingSnowflake Datawarehouse Architecturing
Snowflake Datawarehouse Architecturing
 
Urbanesia - Development History
Urbanesia - Development HistoryUrbanesia - Development History
Urbanesia - Development History
 
Mean stack
Mean stackMean stack
Mean stack
 
Perl in Teh Cloud
Perl in Teh CloudPerl in Teh Cloud
Perl in Teh Cloud
 
NodeJS - Server Side JS
NodeJS - Server Side JS NodeJS - Server Side JS
NodeJS - Server Side JS
 
Meanstack Introduction by Kishore Chandra
Meanstack Introduction by Kishore ChandraMeanstack Introduction by Kishore Chandra
Meanstack Introduction by Kishore Chandra
 
 Active Storage - Modern File Storage? 
 Active Storage - Modern File Storage?  Active Storage - Modern File Storage? 
 Active Storage - Modern File Storage? 
 
Be faster then rabbits
Be faster then rabbitsBe faster then rabbits
Be faster then rabbits
 

Mehr von 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
 

Mehr von 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
 
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
 
Presentation - Mr. Tomas Martunas
Presentation - Mr. Tomas MartunasPresentation - Mr. Tomas Martunas
Presentation - Mr. Tomas Martunas
 
Debriefing of finals - Mr. Bibhusan Bista
Debriefing of finals - Mr. Bibhusan BistaDebriefing of finals - Mr. Bibhusan Bista
Debriefing of finals - Mr. Bibhusan Bista
 
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
 
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
 
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
 
Presentation - Android App Development - Mr. Samrakchan
Presentation - Android App Development - Mr. SamrakchanPresentation - Android App Development - Mr. Samrakchan
Presentation - Android App Development - Mr. Samrakchan
 
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
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

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 ()