際際滷

際際滷Share a Scribd company logo
Copyright 息2016 Talentica Software (I) Pvt Ltd. All rights reserved.
C2M  App
Design
Using MVVM
- Rohan Ratnaparkhi
@rohaanr
Copyright 息 2016 Talentica Software (I) Pvt Ltd. All rights reserved.Copyright 息2016 Talentica Software (I) Pvt Ltd. All rights reserved. 2
Contents
 Quick Recap
 MVVM
 Advantages & Disadvantages of MVVM
 Pods
 Installing a Pod
 App Design  UI & Code
 Ways to implement MVVM
Copyright 息 2016 Talentica Software (I) Pvt Ltd. All rights reserved.Copyright 息2016 Talentica Software (I) Pvt Ltd. All rights reserved. 3
Quick Recap
 Closure :
Closures are self-contained blocks of functionality that
can be passed around and used in your code.
 Optional
 Protocols:
Protocols are used to define a blueprint of methods,
properties, and other requirements that suit a particular task or
piece of functionality.
 Extensions
Copyright 息 2016 Talentica Software (I) Pvt Ltd. All rights reserved.Copyright 息2016 Talentica Software (I) Pvt Ltd. All rights reserved. 4
MVVM
 Model  Business logic
 View  Presentation, user interaction
 ViewModel  Presentation logic
Model ViewModel View
ownsowns
updates updates
Copyright 息 2016 Talentica Software (I) Pvt Ltd. All rights reserved.Copyright 息2016 Talentica Software (I) Pvt Ltd. All rights reserved. 5
MVVM - Advantages
 View Controllers are more maintainable
 Generates more testable code
 Makes changes easier
 Translation code is separated from View Controller
 Code reusability
Copyright 息 2016 Talentica Software (I) Pvt Ltd. All rights reserved.Copyright 息2016 Talentica Software (I) Pvt Ltd. All rights reserved. 6
MVVM - Disadvantages
 Could be an overkill for simple views
 Could create memory issues
 Doesnt cover every case
Copyright 息 2016 Talentica Software (I) Pvt Ltd. All rights reserved.Copyright 息2016 Talentica Software (I) Pvt Ltd. All rights reserved. 7
Pods
 What?
A library or framework that's added to your project by
using CocoaPods.
Install CocoaPods on your mac using terminal:
sudo gem install cocoapods
Copyright 息 2016 Talentica Software (I) Pvt Ltd. All rights reserved.Copyright 息2016 Talentica Software (I) Pvt Ltd. All rights reserved. 8
Pods
 Installing a Pod
1. Open Terminal
2. Go to your project folder using cd path/to/folder
3. To initialize project to use CocoaPods, type in terminal pod init
4. Open Podfile created in project folder
5. Enter the pod you want to install e.g.
target 'MyApp' do
pod SDWebImage
end
6. In Terminal, type pod install to install all the pods mentioned in Podfile
Copyright 息 2016 Talentica Software (I) Pvt Ltd. All rights reserved.Copyright 息2016 Talentica Software (I) Pvt Ltd. All rights reserved. 9
Demo 1
 Create project
 Pod installation
 Move business logic from ViewController to
ViewModel
Copyright 息 2016 Talentica Software (I) Pvt Ltd. All rights reserved.Copyright 息2016 Talentica Software (I) Pvt Ltd. All rights reserved. 10
Ways to implement MVVM
 Key Value Observers
 Delegation
 Reactive Programming
 Property Observers - Binding
Copyright 息 2016 Talentica Software (I) Pvt Ltd. All rights reserved.Copyright 息2016 Talentica Software (I) Pvt Ltd. All rights reserved. 11
Binding
Copyright 息 2016 Talentica Software (I) Pvt Ltd. All rights reserved.Copyright 息2016 Talentica Software (I) Pvt Ltd. All rights reserved. 12
Binding
Copyright 息 2016 Talentica Software (I) Pvt Ltd. All rights reserved.Copyright 息2016 Talentica Software (I) Pvt Ltd. All rights reserved. 13
Binding
Copyright 息 2016 Talentica Software (I) Pvt Ltd. All rights reserved.Copyright 息2016 Talentica Software (I) Pvt Ltd. All rights reserved. 14
Demo 2
 Use binding in our project.
Copyright 息2016 Talentica Software (I) Pvt Ltd. All rights reserved. 15
Thank You!

More Related Content

What's hot (20)

MuleSoft London Community March 2022 - CloudHub Automation
MuleSoft London Community March 2022 - CloudHub AutomationMuleSoft London Community March 2022 - CloudHub Automation
MuleSoft London Community March 2022 - CloudHub Automation
Pace Integration
Sydney MuleSoft Meetup #16 - 19 November 2020
Sydney MuleSoft Meetup #16 - 19 November 2020Sydney MuleSoft Meetup #16 - 19 November 2020
Sydney MuleSoft Meetup #16 - 19 November 2020
Royston Lobo
Bhopal mule soft_meetup#2_18sept2021_cloudhubdr_strategy_bestpractices
Bhopal mule soft_meetup#2_18sept2021_cloudhubdr_strategy_bestpracticesBhopal mule soft_meetup#2_18sept2021_cloudhubdr_strategy_bestpractices
Bhopal mule soft_meetup#2_18sept2021_cloudhubdr_strategy_bestpractices
Preetam Deshmukh
Bhopal mule soft_meetup_17july2021_azuredevopsintegration_mulesoft
Bhopal mule soft_meetup_17july2021_azuredevopsintegration_mulesoftBhopal mule soft_meetup_17july2021_azuredevopsintegration_mulesoft
Bhopal mule soft_meetup_17july2021_azuredevopsintegration_mulesoft
AnkitaJaggi1
Meetup en espa単ol #5 - Continuous Integration and Continuous Delivery (CI/CD)...
Meetup en espa単ol #5 - Continuous Integration and Continuous Delivery (CI/CD)...Meetup en espa単ol #5 - Continuous Integration and Continuous Delivery (CI/CD)...
Meetup en espa単ol #5 - Continuous Integration and Continuous Delivery (CI/CD)...
Alexandra N. Martinez
S達o Paulo MuleSoft Meetup - 31 Jan
S達o Paulo MuleSoft Meetup - 31 JanS達o Paulo MuleSoft Meetup - 31 Jan
S達o Paulo MuleSoft Meetup - 31 Jan
Guilherme Pereira Silva
MuleSoft: How to Engage Partners/Customers and API Led with Alexa
MuleSoft: How to Engage Partners/Customers and  API Led with Alexa MuleSoft: How to Engage Partners/Customers and  API Led with Alexa
MuleSoft: How to Engage Partners/Customers and API Led with Alexa
Angel Alberici
Jaipur MuleSoft Meetup Group - Virtual Meetup #5
Jaipur MuleSoft Meetup Group - Virtual Meetup #5Jaipur MuleSoft Meetup Group - Virtual Meetup #5
Jaipur MuleSoft Meetup Group - Virtual Meetup #5
Lalit Panwar
Anypoint new features_coimbatore_mule_meetup
Anypoint new features_coimbatore_mule_meetupAnypoint new features_coimbatore_mule_meetup
Anypoint new features_coimbatore_mule_meetup
MergeStack
Open shift 2.x and MongoDB
Open shift 2.x and MongoDBOpen shift 2.x and MongoDB
Open shift 2.x and MongoDB
plarsen67
Mulesoft AnyyPoint Monitoring for Hybrid Deployment
Mulesoft AnyyPoint Monitoring for Hybrid DeploymentMulesoft AnyyPoint Monitoring for Hybrid Deployment
Mulesoft AnyyPoint Monitoring for Hybrid Deployment
pruthviraj krishnam
Putting The 'M' In MBaaSRed Hat Mobile Client Development Platform (Jay Balu...
Putting The 'M' In MBaaSRed Hat Mobile Client Development Platform (Jay Balu...Putting The 'M' In MBaaSRed Hat Mobile Client Development Platform (Jay Balu...
Putting The 'M' In MBaaSRed Hat Mobile Client Development Platform (Jay Balu...
Red Hat Developers
Magento Community Hangouts 10 Feb, 2021 PHP 8 support
Magento Community Hangouts  10 Feb, 2021 PHP 8 supportMagento Community Hangouts  10 Feb, 2021 PHP 8 support
Magento Community Hangouts 10 Feb, 2021 PHP 8 support
StanislavIdolov
Using the Mule 4 SDK to build a connector : MuleSoft Virtual Muleys Meetups
Using the Mule 4 SDK to build a connector  : MuleSoft Virtual Muleys MeetupsUsing the Mule 4 SDK to build a connector  : MuleSoft Virtual Muleys Meetups
Using the Mule 4 SDK to build a connector : MuleSoft Virtual Muleys Meetups
Angel Alberici
11th Manila MuleSoft Meetup Dec 2021
11th Manila MuleSoft Meetup Dec 202111th Manila MuleSoft Meetup Dec 2021
11th Manila MuleSoft Meetup Dec 2021
Ryan Anthony Andal
Coimbatore meetup error handling 24apr2021
Coimbatore meetup error handling 24apr2021Coimbatore meetup error handling 24apr2021
Coimbatore meetup error handling 24apr2021
Anoop Ramachandran
Develop & Deploy your Laravel Application on Google Cloud Platforms
Develop & Deploy your Laravel Application on Google Cloud PlatformsDevelop & Deploy your Laravel Application on Google Cloud Platforms
Develop & Deploy your Laravel Application on Google Cloud Platforms
Olanrewaju Abidogun
Contributing to Apache Projects and Making Profits
Contributing to Apache Projects and Making ProfitsContributing to Apache Projects and Making Profits
Contributing to Apache Projects and Making Profits
Henry Saputra
MuleSoft Online Meetup - Salesforce Streaming APIs
MuleSoft Online Meetup - Salesforce Streaming APIsMuleSoft Online Meetup - Salesforce Streaming APIs
MuleSoft Online Meetup - Salesforce Streaming APIs
Royston Lobo
Webinar - Rapise v6.6 | New Features and Enhancements
Webinar - Rapise v6.6 | New Features and EnhancementsWebinar - Rapise v6.6 | New Features and Enhancements
Webinar - Rapise v6.6 | New Features and Enhancements
Inflectra
MuleSoft London Community March 2022 - CloudHub Automation
MuleSoft London Community March 2022 - CloudHub AutomationMuleSoft London Community March 2022 - CloudHub Automation
MuleSoft London Community March 2022 - CloudHub Automation
Pace Integration
Sydney MuleSoft Meetup #16 - 19 November 2020
Sydney MuleSoft Meetup #16 - 19 November 2020Sydney MuleSoft Meetup #16 - 19 November 2020
Sydney MuleSoft Meetup #16 - 19 November 2020
Royston Lobo
Bhopal mule soft_meetup#2_18sept2021_cloudhubdr_strategy_bestpractices
Bhopal mule soft_meetup#2_18sept2021_cloudhubdr_strategy_bestpracticesBhopal mule soft_meetup#2_18sept2021_cloudhubdr_strategy_bestpractices
Bhopal mule soft_meetup#2_18sept2021_cloudhubdr_strategy_bestpractices
Preetam Deshmukh
Bhopal mule soft_meetup_17july2021_azuredevopsintegration_mulesoft
Bhopal mule soft_meetup_17july2021_azuredevopsintegration_mulesoftBhopal mule soft_meetup_17july2021_azuredevopsintegration_mulesoft
Bhopal mule soft_meetup_17july2021_azuredevopsintegration_mulesoft
AnkitaJaggi1
Meetup en espa単ol #5 - Continuous Integration and Continuous Delivery (CI/CD)...
Meetup en espa単ol #5 - Continuous Integration and Continuous Delivery (CI/CD)...Meetup en espa単ol #5 - Continuous Integration and Continuous Delivery (CI/CD)...
Meetup en espa単ol #5 - Continuous Integration and Continuous Delivery (CI/CD)...
Alexandra N. Martinez
MuleSoft: How to Engage Partners/Customers and API Led with Alexa
MuleSoft: How to Engage Partners/Customers and  API Led with Alexa MuleSoft: How to Engage Partners/Customers and  API Led with Alexa
MuleSoft: How to Engage Partners/Customers and API Led with Alexa
Angel Alberici
Jaipur MuleSoft Meetup Group - Virtual Meetup #5
Jaipur MuleSoft Meetup Group - Virtual Meetup #5Jaipur MuleSoft Meetup Group - Virtual Meetup #5
Jaipur MuleSoft Meetup Group - Virtual Meetup #5
Lalit Panwar
Anypoint new features_coimbatore_mule_meetup
Anypoint new features_coimbatore_mule_meetupAnypoint new features_coimbatore_mule_meetup
Anypoint new features_coimbatore_mule_meetup
MergeStack
Open shift 2.x and MongoDB
Open shift 2.x and MongoDBOpen shift 2.x and MongoDB
Open shift 2.x and MongoDB
plarsen67
Mulesoft AnyyPoint Monitoring for Hybrid Deployment
Mulesoft AnyyPoint Monitoring for Hybrid DeploymentMulesoft AnyyPoint Monitoring for Hybrid Deployment
Mulesoft AnyyPoint Monitoring for Hybrid Deployment
pruthviraj krishnam
Putting The 'M' In MBaaSRed Hat Mobile Client Development Platform (Jay Balu...
Putting The 'M' In MBaaSRed Hat Mobile Client Development Platform (Jay Balu...Putting The 'M' In MBaaSRed Hat Mobile Client Development Platform (Jay Balu...
Putting The 'M' In MBaaSRed Hat Mobile Client Development Platform (Jay Balu...
Red Hat Developers
Magento Community Hangouts 10 Feb, 2021 PHP 8 support
Magento Community Hangouts  10 Feb, 2021 PHP 8 supportMagento Community Hangouts  10 Feb, 2021 PHP 8 support
Magento Community Hangouts 10 Feb, 2021 PHP 8 support
StanislavIdolov
Using the Mule 4 SDK to build a connector : MuleSoft Virtual Muleys Meetups
Using the Mule 4 SDK to build a connector  : MuleSoft Virtual Muleys MeetupsUsing the Mule 4 SDK to build a connector  : MuleSoft Virtual Muleys Meetups
Using the Mule 4 SDK to build a connector : MuleSoft Virtual Muleys Meetups
Angel Alberici
11th Manila MuleSoft Meetup Dec 2021
11th Manila MuleSoft Meetup Dec 202111th Manila MuleSoft Meetup Dec 2021
11th Manila MuleSoft Meetup Dec 2021
Ryan Anthony Andal
Coimbatore meetup error handling 24apr2021
Coimbatore meetup error handling 24apr2021Coimbatore meetup error handling 24apr2021
Coimbatore meetup error handling 24apr2021
Anoop Ramachandran
Develop & Deploy your Laravel Application on Google Cloud Platforms
Develop & Deploy your Laravel Application on Google Cloud PlatformsDevelop & Deploy your Laravel Application on Google Cloud Platforms
Develop & Deploy your Laravel Application on Google Cloud Platforms
Olanrewaju Abidogun
Contributing to Apache Projects and Making Profits
Contributing to Apache Projects and Making ProfitsContributing to Apache Projects and Making Profits
Contributing to Apache Projects and Making Profits
Henry Saputra
MuleSoft Online Meetup - Salesforce Streaming APIs
MuleSoft Online Meetup - Salesforce Streaming APIsMuleSoft Online Meetup - Salesforce Streaming APIs
MuleSoft Online Meetup - Salesforce Streaming APIs
Royston Lobo
Webinar - Rapise v6.6 | New Features and Enhancements
Webinar - Rapise v6.6 | New Features and EnhancementsWebinar - Rapise v6.6 | New Features and Enhancements
Webinar - Rapise v6.6 | New Features and Enhancements
Inflectra

Similar to C2M - App design (20)

Drupal 8 Development at the Speed of Lightning (& BLT)
Drupal 8 Development at the Speed of Lightning (& BLT)Drupal 8 Development at the Speed of Lightning (& BLT)
Drupal 8 Development at the Speed of Lightning (& BLT)
Acquia
Advanced angular
Advanced angularAdvanced angular
Advanced angular
Sumit Kumar Rakshit
CI/CD with AWS Code Services
CI/CD with AWS Code ServicesCI/CD with AWS Code Services
CI/CD with AWS Code Services
Pulkit Gupta
Top 5 benefits of docker
Top 5 benefits of dockerTop 5 benefits of docker
Top 5 benefits of docker
John Zaccone
Using the SDACK Architecture on Security Event Inspection
Using the SDACK Architecture on Security Event InspectionUsing the SDACK Architecture on Security Event Inspection
Using the SDACK Architecture on Security Event Inspection
Yu-Lun Chen
Selecting an Open Source License and Business Model for Your Project to Have ...
Selecting an Open Source License and Business Model for Your Project to Have ...Selecting an Open Source License and Business Model for Your Project to Have ...
Selecting an Open Source License and Business Model for Your Project to Have ...
All Things Open
Introduction To Cloud Foundry - SpringPeople
Introduction To Cloud Foundry - SpringPeopleIntroduction To Cloud Foundry - SpringPeople
Introduction To Cloud Foundry - SpringPeople
SpringPeople
Riyadh Meetup4- Sonarqube for Mule 4 Code review
Riyadh Meetup4- Sonarqube for Mule 4 Code reviewRiyadh Meetup4- Sonarqube for Mule 4 Code review
Riyadh Meetup4- Sonarqube for Mule 4 Code review
satyasekhar123
Oracle: Building Cloud Native Applications
Oracle: Building Cloud Native ApplicationsOracle: Building Cloud Native Applications
Oracle: Building Cloud Native Applications
Kelly Goetsch
Free Mongo on OpenShift
Free Mongo on OpenShiftFree Mongo on OpenShift
Free Mongo on OpenShift
Steven Pousty
How to Architect and Develop Cloud Native Applications
How to Architect and Develop Cloud Native ApplicationsHow to Architect and Develop Cloud Native Applications
How to Architect and Develop Cloud Native Applications
Sufyaan Kazi
iOS design patterns: MVC, MVP and MVVM
iOS design patterns: MVC, MVP and MVVMiOS design patterns: MVC, MVP and MVVM
iOS design patterns: MVC, MVP and MVVM
Suyash Gupta
Mainframe DevOps: A Zowe CLI-enabled Roadmap
Mainframe DevOps: A Zowe CLI-enabled RoadmapMainframe DevOps: A Zowe CLI-enabled Roadmap
Mainframe DevOps: A Zowe CLI-enabled Roadmap
DevOps.com
How to Prepare Your Toolbox for the Future of SharePoint Development
How to Prepare Your Toolbox for the Future of SharePoint DevelopmentHow to Prepare Your Toolbox for the Future of SharePoint Development
How to Prepare Your Toolbox for the Future of SharePoint Development
Progress
Introduction to Code Composer Studio 4
Introduction to Code Composer Studio 4Introduction to Code Composer Studio 4
Introduction to Code Composer Studio 4
Pantech ProLabs India Pvt Ltd
[CON3189] JavaOne 2016 - Introduction to Java ME development for the Raspberr...
[CON3189] JavaOne 2016 - Introduction to Java ME development for the Raspberr...[CON3189] JavaOne 2016 - Introduction to Java ME development for the Raspberr...
[CON3189] JavaOne 2016 - Introduction to Java ME development for the Raspberr...
Kevin Hooke
Microservices + Oracle: A Bright Future
Microservices + Oracle: A Bright FutureMicroservices + Oracle: A Bright Future
Microservices + Oracle: A Bright Future
Kelly Goetsch
Cisco Managed Private Cloud in Your Data Center: Public cloud experience on ...
Cisco Managed Private Cloud in Your Data Center:  Public cloud experience on ...Cisco Managed Private Cloud in Your Data Center:  Public cloud experience on ...
Cisco Managed Private Cloud in Your Data Center: Public cloud experience on ...
Cisco DevNet
Talentica - JS Meetup - Angular Schematics
Talentica - JS Meetup - Angular SchematicsTalentica - JS Meetup - Angular Schematics
Talentica - JS Meetup - Angular Schematics
Krishnan Mudaliar
Where is cold fusion headed
Where is cold fusion headedWhere is cold fusion headed
Where is cold fusion headed
ColdFusionConference
Drupal 8 Development at the Speed of Lightning (& BLT)
Drupal 8 Development at the Speed of Lightning (& BLT)Drupal 8 Development at the Speed of Lightning (& BLT)
Drupal 8 Development at the Speed of Lightning (& BLT)
Acquia
CI/CD with AWS Code Services
CI/CD with AWS Code ServicesCI/CD with AWS Code Services
CI/CD with AWS Code Services
Pulkit Gupta
Top 5 benefits of docker
Top 5 benefits of dockerTop 5 benefits of docker
Top 5 benefits of docker
John Zaccone
Using the SDACK Architecture on Security Event Inspection
Using the SDACK Architecture on Security Event InspectionUsing the SDACK Architecture on Security Event Inspection
Using the SDACK Architecture on Security Event Inspection
Yu-Lun Chen
Selecting an Open Source License and Business Model for Your Project to Have ...
Selecting an Open Source License and Business Model for Your Project to Have ...Selecting an Open Source License and Business Model for Your Project to Have ...
Selecting an Open Source License and Business Model for Your Project to Have ...
All Things Open
Introduction To Cloud Foundry - SpringPeople
Introduction To Cloud Foundry - SpringPeopleIntroduction To Cloud Foundry - SpringPeople
Introduction To Cloud Foundry - SpringPeople
SpringPeople
Riyadh Meetup4- Sonarqube for Mule 4 Code review
Riyadh Meetup4- Sonarqube for Mule 4 Code reviewRiyadh Meetup4- Sonarqube for Mule 4 Code review
Riyadh Meetup4- Sonarqube for Mule 4 Code review
satyasekhar123
Oracle: Building Cloud Native Applications
Oracle: Building Cloud Native ApplicationsOracle: Building Cloud Native Applications
Oracle: Building Cloud Native Applications
Kelly Goetsch
Free Mongo on OpenShift
Free Mongo on OpenShiftFree Mongo on OpenShift
Free Mongo on OpenShift
Steven Pousty
How to Architect and Develop Cloud Native Applications
How to Architect and Develop Cloud Native ApplicationsHow to Architect and Develop Cloud Native Applications
How to Architect and Develop Cloud Native Applications
Sufyaan Kazi
iOS design patterns: MVC, MVP and MVVM
iOS design patterns: MVC, MVP and MVVMiOS design patterns: MVC, MVP and MVVM
iOS design patterns: MVC, MVP and MVVM
Suyash Gupta
Mainframe DevOps: A Zowe CLI-enabled Roadmap
Mainframe DevOps: A Zowe CLI-enabled RoadmapMainframe DevOps: A Zowe CLI-enabled Roadmap
Mainframe DevOps: A Zowe CLI-enabled Roadmap
DevOps.com
How to Prepare Your Toolbox for the Future of SharePoint Development
How to Prepare Your Toolbox for the Future of SharePoint DevelopmentHow to Prepare Your Toolbox for the Future of SharePoint Development
How to Prepare Your Toolbox for the Future of SharePoint Development
Progress
[CON3189] JavaOne 2016 - Introduction to Java ME development for the Raspberr...
[CON3189] JavaOne 2016 - Introduction to Java ME development for the Raspberr...[CON3189] JavaOne 2016 - Introduction to Java ME development for the Raspberr...
[CON3189] JavaOne 2016 - Introduction to Java ME development for the Raspberr...
Kevin Hooke
Microservices + Oracle: A Bright Future
Microservices + Oracle: A Bright FutureMicroservices + Oracle: A Bright Future
Microservices + Oracle: A Bright Future
Kelly Goetsch
Cisco Managed Private Cloud in Your Data Center: Public cloud experience on ...
Cisco Managed Private Cloud in Your Data Center:  Public cloud experience on ...Cisco Managed Private Cloud in Your Data Center:  Public cloud experience on ...
Cisco Managed Private Cloud in Your Data Center: Public cloud experience on ...
Cisco DevNet
Talentica - JS Meetup - Angular Schematics
Talentica - JS Meetup - Angular SchematicsTalentica - JS Meetup - Angular Schematics
Talentica - JS Meetup - Angular Schematics
Krishnan Mudaliar

Recently uploaded (20)

NUTRITIONAL ASSESSMENT AND EDUCATION - 5TH SEM.pdf
NUTRITIONAL ASSESSMENT AND EDUCATION - 5TH SEM.pdfNUTRITIONAL ASSESSMENT AND EDUCATION - 5TH SEM.pdf
NUTRITIONAL ASSESSMENT AND EDUCATION - 5TH SEM.pdf
Dolisha Warbi
Effective Product Variant Management in Odoo 18
Effective Product Variant Management in Odoo 18Effective Product Variant Management in Odoo 18
Effective Product Variant Management in Odoo 18
Celine George
Meeting the needs of modern students?, Selina McCoy
Meeting the needs of modern students?, Selina McCoyMeeting the needs of modern students?, Selina McCoy
Meeting the needs of modern students?, Selina McCoy
Economic and Social Research Institute
cervical spine mobilization manual therapy .pdf
cervical spine mobilization manual therapy .pdfcervical spine mobilization manual therapy .pdf
cervical spine mobilization manual therapy .pdf
SamarHosni3
MELC: Follows ethical standards in writing related literature
MELC: Follows ethical standards in writing related literatureMELC: Follows ethical standards in writing related literature
MELC: Follows ethical standards in writing related literature
joverlynbalansag1
Annex-A_PMES-Tool-for-Proficient-Teachers-SY-2024-2025.ppt
Annex-A_PMES-Tool-for-Proficient-Teachers-SY-2024-2025.pptAnnex-A_PMES-Tool-for-Proficient-Teachers-SY-2024-2025.ppt
Annex-A_PMES-Tool-for-Proficient-Teachers-SY-2024-2025.ppt
joan dalilis
OOPs Interview Questions PDF By ScholarHat
OOPs Interview Questions PDF By ScholarHatOOPs Interview Questions PDF By ScholarHat
OOPs Interview Questions PDF By ScholarHat
Scholarhat
PUBH1000 - Module 2: Public Health History
PUBH1000 - Module 2: Public Health HistoryPUBH1000 - Module 2: Public Health History
PUBH1000 - Module 2: Public Health History
Jonathan Hallett
How to Configure Proforma Invoice in Odoo 18 Sales
How to Configure Proforma Invoice in Odoo 18 SalesHow to Configure Proforma Invoice in Odoo 18 Sales
How to Configure Proforma Invoice in Odoo 18 Sales
Celine George
The 2024 Survey of Community College Outcomes
The 2024 Survey of Community College OutcomesThe 2024 Survey of Community College Outcomes
The 2024 Survey of Community College Outcomes
Mebane Rash
Azure Data Engineer Interview Questions By ScholarHat
Azure Data Engineer Interview Questions By ScholarHatAzure Data Engineer Interview Questions By ScholarHat
Azure Data Engineer Interview Questions By ScholarHat
Scholarhat
How to Setup WhatsApp in Odoo 17 - Odoo 際際滷s
How to Setup WhatsApp in Odoo 17 - Odoo 際際滷sHow to Setup WhatsApp in Odoo 17 - Odoo 際際滷s
How to Setup WhatsApp in Odoo 17 - Odoo 際際滷s
Celine George
Annex-C-1_COT-Rubric-for-Proficient-Teacher-_1_.ppt
Annex-C-1_COT-Rubric-for-Proficient-Teacher-_1_.pptAnnex-C-1_COT-Rubric-for-Proficient-Teacher-_1_.ppt
Annex-C-1_COT-Rubric-for-Proficient-Teacher-_1_.ppt
joan dalilis
Digital Tools with AI for e-Content Development.pptx
Digital Tools with AI for e-Content Development.pptxDigital Tools with AI for e-Content Development.pptx
Digital Tools with AI for e-Content Development.pptx
Dr. Sarita Anand
GRADE-1-QUARTER 4-MATHEMATICS-WEEK-3.pptx
GRADE-1-QUARTER 4-MATHEMATICS-WEEK-3.pptxGRADE-1-QUARTER 4-MATHEMATICS-WEEK-3.pptx
GRADE-1-QUARTER 4-MATHEMATICS-WEEK-3.pptx
AngellieMaeDoce
DBMS Interview Questions PDF By ScholarHat
DBMS Interview Questions PDF By ScholarHatDBMS Interview Questions PDF By ScholarHat
DBMS Interview Questions PDF By ScholarHat
Scholarhat
Entity Framework Interview Questions PDF By ScholarHat
Entity Framework Interview Questions PDF By ScholarHatEntity Framework Interview Questions PDF By ScholarHat
Entity Framework Interview Questions PDF By ScholarHat
Scholarhat
Blind spots in AI and Formulation Science, IFPAC 2025.pdf
Blind spots in AI and Formulation Science, IFPAC 2025.pdfBlind spots in AI and Formulation Science, IFPAC 2025.pdf
Blind spots in AI and Formulation Science, IFPAC 2025.pdf
Ajaz Hussain
Intellectual Honesty & Research Integrity.pptx
Intellectual Honesty & Research Integrity.pptxIntellectual Honesty & Research Integrity.pptx
Intellectual Honesty & Research Integrity.pptx
NidhiSharma495177
CRITICAL THINKING AND NURSING JUDGEMENT.pptx
CRITICAL THINKING AND NURSING JUDGEMENT.pptxCRITICAL THINKING AND NURSING JUDGEMENT.pptx
CRITICAL THINKING AND NURSING JUDGEMENT.pptx
PoojaSen20
NUTRITIONAL ASSESSMENT AND EDUCATION - 5TH SEM.pdf
NUTRITIONAL ASSESSMENT AND EDUCATION - 5TH SEM.pdfNUTRITIONAL ASSESSMENT AND EDUCATION - 5TH SEM.pdf
NUTRITIONAL ASSESSMENT AND EDUCATION - 5TH SEM.pdf
Dolisha Warbi
Effective Product Variant Management in Odoo 18
Effective Product Variant Management in Odoo 18Effective Product Variant Management in Odoo 18
Effective Product Variant Management in Odoo 18
Celine George
cervical spine mobilization manual therapy .pdf
cervical spine mobilization manual therapy .pdfcervical spine mobilization manual therapy .pdf
cervical spine mobilization manual therapy .pdf
SamarHosni3
MELC: Follows ethical standards in writing related literature
MELC: Follows ethical standards in writing related literatureMELC: Follows ethical standards in writing related literature
MELC: Follows ethical standards in writing related literature
joverlynbalansag1
Annex-A_PMES-Tool-for-Proficient-Teachers-SY-2024-2025.ppt
Annex-A_PMES-Tool-for-Proficient-Teachers-SY-2024-2025.pptAnnex-A_PMES-Tool-for-Proficient-Teachers-SY-2024-2025.ppt
Annex-A_PMES-Tool-for-Proficient-Teachers-SY-2024-2025.ppt
joan dalilis
OOPs Interview Questions PDF By ScholarHat
OOPs Interview Questions PDF By ScholarHatOOPs Interview Questions PDF By ScholarHat
OOPs Interview Questions PDF By ScholarHat
Scholarhat
PUBH1000 - Module 2: Public Health History
PUBH1000 - Module 2: Public Health HistoryPUBH1000 - Module 2: Public Health History
PUBH1000 - Module 2: Public Health History
Jonathan Hallett
How to Configure Proforma Invoice in Odoo 18 Sales
How to Configure Proforma Invoice in Odoo 18 SalesHow to Configure Proforma Invoice in Odoo 18 Sales
How to Configure Proforma Invoice in Odoo 18 Sales
Celine George
The 2024 Survey of Community College Outcomes
The 2024 Survey of Community College OutcomesThe 2024 Survey of Community College Outcomes
The 2024 Survey of Community College Outcomes
Mebane Rash
Azure Data Engineer Interview Questions By ScholarHat
Azure Data Engineer Interview Questions By ScholarHatAzure Data Engineer Interview Questions By ScholarHat
Azure Data Engineer Interview Questions By ScholarHat
Scholarhat
How to Setup WhatsApp in Odoo 17 - Odoo 際際滷s
How to Setup WhatsApp in Odoo 17 - Odoo 際際滷sHow to Setup WhatsApp in Odoo 17 - Odoo 際際滷s
How to Setup WhatsApp in Odoo 17 - Odoo 際際滷s
Celine George
Annex-C-1_COT-Rubric-for-Proficient-Teacher-_1_.ppt
Annex-C-1_COT-Rubric-for-Proficient-Teacher-_1_.pptAnnex-C-1_COT-Rubric-for-Proficient-Teacher-_1_.ppt
Annex-C-1_COT-Rubric-for-Proficient-Teacher-_1_.ppt
joan dalilis
Digital Tools with AI for e-Content Development.pptx
Digital Tools with AI for e-Content Development.pptxDigital Tools with AI for e-Content Development.pptx
Digital Tools with AI for e-Content Development.pptx
Dr. Sarita Anand
GRADE-1-QUARTER 4-MATHEMATICS-WEEK-3.pptx
GRADE-1-QUARTER 4-MATHEMATICS-WEEK-3.pptxGRADE-1-QUARTER 4-MATHEMATICS-WEEK-3.pptx
GRADE-1-QUARTER 4-MATHEMATICS-WEEK-3.pptx
AngellieMaeDoce
DBMS Interview Questions PDF By ScholarHat
DBMS Interview Questions PDF By ScholarHatDBMS Interview Questions PDF By ScholarHat
DBMS Interview Questions PDF By ScholarHat
Scholarhat
Entity Framework Interview Questions PDF By ScholarHat
Entity Framework Interview Questions PDF By ScholarHatEntity Framework Interview Questions PDF By ScholarHat
Entity Framework Interview Questions PDF By ScholarHat
Scholarhat
Blind spots in AI and Formulation Science, IFPAC 2025.pdf
Blind spots in AI and Formulation Science, IFPAC 2025.pdfBlind spots in AI and Formulation Science, IFPAC 2025.pdf
Blind spots in AI and Formulation Science, IFPAC 2025.pdf
Ajaz Hussain
Intellectual Honesty & Research Integrity.pptx
Intellectual Honesty & Research Integrity.pptxIntellectual Honesty & Research Integrity.pptx
Intellectual Honesty & Research Integrity.pptx
NidhiSharma495177
CRITICAL THINKING AND NURSING JUDGEMENT.pptx
CRITICAL THINKING AND NURSING JUDGEMENT.pptxCRITICAL THINKING AND NURSING JUDGEMENT.pptx
CRITICAL THINKING AND NURSING JUDGEMENT.pptx
PoojaSen20

C2M - App design

  • 1. Copyright 息2016 Talentica Software (I) Pvt Ltd. All rights reserved. C2M App Design Using MVVM - Rohan Ratnaparkhi @rohaanr
  • 2. Copyright 息 2016 Talentica Software (I) Pvt Ltd. All rights reserved.Copyright 息2016 Talentica Software (I) Pvt Ltd. All rights reserved. 2 Contents Quick Recap MVVM Advantages & Disadvantages of MVVM Pods Installing a Pod App Design UI & Code Ways to implement MVVM
  • 3. Copyright 息 2016 Talentica Software (I) Pvt Ltd. All rights reserved.Copyright 息2016 Talentica Software (I) Pvt Ltd. All rights reserved. 3 Quick Recap Closure : Closures are self-contained blocks of functionality that can be passed around and used in your code. Optional Protocols: Protocols are used to define a blueprint of methods, properties, and other requirements that suit a particular task or piece of functionality. Extensions
  • 4. Copyright 息 2016 Talentica Software (I) Pvt Ltd. All rights reserved.Copyright 息2016 Talentica Software (I) Pvt Ltd. All rights reserved. 4 MVVM Model Business logic View Presentation, user interaction ViewModel Presentation logic Model ViewModel View ownsowns updates updates
  • 5. Copyright 息 2016 Talentica Software (I) Pvt Ltd. All rights reserved.Copyright 息2016 Talentica Software (I) Pvt Ltd. All rights reserved. 5 MVVM - Advantages View Controllers are more maintainable Generates more testable code Makes changes easier Translation code is separated from View Controller Code reusability
  • 6. Copyright 息 2016 Talentica Software (I) Pvt Ltd. All rights reserved.Copyright 息2016 Talentica Software (I) Pvt Ltd. All rights reserved. 6 MVVM - Disadvantages Could be an overkill for simple views Could create memory issues Doesnt cover every case
  • 7. Copyright 息 2016 Talentica Software (I) Pvt Ltd. All rights reserved.Copyright 息2016 Talentica Software (I) Pvt Ltd. All rights reserved. 7 Pods What? A library or framework that's added to your project by using CocoaPods. Install CocoaPods on your mac using terminal: sudo gem install cocoapods
  • 8. Copyright 息 2016 Talentica Software (I) Pvt Ltd. All rights reserved.Copyright 息2016 Talentica Software (I) Pvt Ltd. All rights reserved. 8 Pods Installing a Pod 1. Open Terminal 2. Go to your project folder using cd path/to/folder 3. To initialize project to use CocoaPods, type in terminal pod init 4. Open Podfile created in project folder 5. Enter the pod you want to install e.g. target 'MyApp' do pod SDWebImage end 6. In Terminal, type pod install to install all the pods mentioned in Podfile
  • 9. Copyright 息 2016 Talentica Software (I) Pvt Ltd. All rights reserved.Copyright 息2016 Talentica Software (I) Pvt Ltd. All rights reserved. 9 Demo 1 Create project Pod installation Move business logic from ViewController to ViewModel
  • 10. Copyright 息 2016 Talentica Software (I) Pvt Ltd. All rights reserved.Copyright 息2016 Talentica Software (I) Pvt Ltd. All rights reserved. 10 Ways to implement MVVM Key Value Observers Delegation Reactive Programming Property Observers - Binding
  • 11. Copyright 息 2016 Talentica Software (I) Pvt Ltd. All rights reserved.Copyright 息2016 Talentica Software (I) Pvt Ltd. All rights reserved. 11 Binding
  • 12. Copyright 息 2016 Talentica Software (I) Pvt Ltd. All rights reserved.Copyright 息2016 Talentica Software (I) Pvt Ltd. All rights reserved. 12 Binding
  • 13. Copyright 息 2016 Talentica Software (I) Pvt Ltd. All rights reserved.Copyright 息2016 Talentica Software (I) Pvt Ltd. All rights reserved. 13 Binding
  • 14. Copyright 息 2016 Talentica Software (I) Pvt Ltd. All rights reserved.Copyright 息2016 Talentica Software (I) Pvt Ltd. All rights reserved. 14 Demo 2 Use binding in our project.
  • 15. Copyright 息2016 Talentica Software (I) Pvt Ltd. All rights reserved. 15 Thank You!