SlideShare a Scribd company logo
New Android Modularisation
CA-Architecture V2.0
Powered by Clapping Ape Mobile Team
Android Modularisation Architecture
Ingredients
• Core Component
• Dependency Component
• Sub Component
• Module
1. Core Component
• App Component , provided by base module “Coconut”
2. Dependency Component
• UIComponent , responsible for all UI logic, listener, action,
animation in View layer
• DAOComponent , responsible for fetch data source in App ( local
DB, API source, cloud service) in Model layer
3. Sub Component
• SupportSubComponent , component that only depend 1
component for specific parent component that handle supporting tools
for UI
• Listener Module
• Action Module
• Animation Module
Modules in
Support SubComponent
Listener Module
Action Module
Animation Module
4.a Navigation Module
• Custom module base on workflow from app
• Should be clear and simple code (less code)
• Only provide route movement manager to handle
transition between page (activity/ fragment)
4.b Module
• Interface model layer to fetch data source (DB, Cloud
storage, API)
• Implementation modularisation in model layer
Code Implementation
• Define all component and module in child Application
class
• Build dagger component and module
• Setup hierarchy component
• Define method in module in interface as contract class
Pede : BaseApp
Hierarchy component
View layer
Component Interface
Manager
Module
Scope
Action + Listener
call Action Module
call Listener Module
Interface Module
Interface Action module
Interface Listener module
Benchmark
Old vs New
1. Memory Consumption
Old vs New
Old New
72 MB111 MB189.5 MB
145 MB
SCENARIO : Load SignIn page
Indicator Parameters
Old New
2. LOC
(Improve line of code)
LOC
in SignInActivity.java
346 line
Old
LOC
in SignInActivity.java
122 line
New
3. Testable Code
Thank you. (*_*)

More Related Content

What's hot

Salesforce Spring 2020 New Developer Features
Salesforce Spring 2020 New Developer FeaturesSalesforce Spring 2020 New Developer Features
Salesforce Spring 2020 New Developer Features
Lydon Bergin
 
Syncfusion Dashboard Platform SDK
Syncfusion Dashboard  Platform SDKSyncfusion Dashboard  Platform SDK
Syncfusion Dashboard Platform SDK
Davis Jebaraj
 
Dependency Injection pattern in Angular
Dependency Injection pattern in AngularDependency Injection pattern in Angular
Dependency Injection pattern in Angular
Alexe Bogdan
 
Rails api + JS app
Rails api + JS appRails api + JS app
Rails api + JS app
knomedia
 
#SPFestDC #Azure #Functions V2: What's new and getting started
#SPFestDC #Azure #Functions V2: What's new and getting started#SPFestDC #Azure #Functions V2: What's new and getting started
#SPFestDC #Azure #Functions V2: What's new and getting started
Vincent Biret
 
How to Build, Manage, and Promote APIs
How to Build, Manage, and Promote APIsHow to Build, Manage, and Promote APIs
How to Build, Manage, and Promote APIsWSO2
 
MSDN Sessions 032817 - Azure Functions
MSDN Sessions 032817 - Azure FunctionsMSDN Sessions 032817 - Azure Functions
MSDN Sessions 032817 - Azure Functions
Marc Obaldo
 
Case study: integrating azure with google app engine
Case study: integrating azure with google app engine Case study: integrating azure with google app engine
Case study: integrating azure with google app engine Miguel Scotter
 
[MBF2] Webinar plate-forme Salesforce #1
[MBF2] Webinar plate-forme Salesforce #1[MBF2] Webinar plate-forme Salesforce #1
[MBF2] Webinar plate-forme Salesforce #1
BeMyApp
 
Phonegap android
Phonegap androidPhonegap android
Phonegap android
umesh patil
 
Introduction to the new SharePoint 2013 App Model
Introduction to the new SharePoint 2013 App ModelIntroduction to the new SharePoint 2013 App Model
Introduction to the new SharePoint 2013 App Model
Noorez Khamis
 
Mule version-crowd highlights
Mule version-crowd highlightsMule version-crowd highlights
Mule version-crowd highlights
D.Rajesh Kumar
 
Sdlc with mule esb
Sdlc with mule esbSdlc with mule esb
Sdlc with mule esb
D.Rajesh Kumar
 
Spring
SpringSpring
Spring
Janu Jahnavi
 
Node in Production at Aviary
Node in Production at AviaryNode in Production at Aviary
Node in Production at Aviary
Aviary
 
Power Mobile Apps with Sitecore
Power Mobile Apps with SitecorePower Mobile Apps with Sitecore
Power Mobile Apps with Sitecore
Catapult New Business
 
Tokyo Azure Meetup #14 - Azure Functions Proxies
Tokyo Azure Meetup #14  -  Azure Functions ProxiesTokyo Azure Meetup #14  -  Azure Functions Proxies
Tokyo Azure Meetup #14 - Azure Functions Proxies
Tokyo Azure Meetup
 
Rails Engines
Rails EnginesRails Engines
Rails Engines
sean_todd
 
Java SNMP Oplet
Java SNMP OpletJava SNMP Oplet
Java SNMP Oplet
Tal Lavian Ph.D.
 
Mobile App Development 101
Mobile App Development 101Mobile App Development 101
Mobile App Development 101
Tuyến Vũ Đức
 

What's hot (20)

Salesforce Spring 2020 New Developer Features
Salesforce Spring 2020 New Developer FeaturesSalesforce Spring 2020 New Developer Features
Salesforce Spring 2020 New Developer Features
 
Syncfusion Dashboard Platform SDK
Syncfusion Dashboard  Platform SDKSyncfusion Dashboard  Platform SDK
Syncfusion Dashboard Platform SDK
 
Dependency Injection pattern in Angular
Dependency Injection pattern in AngularDependency Injection pattern in Angular
Dependency Injection pattern in Angular
 
Rails api + JS app
Rails api + JS appRails api + JS app
Rails api + JS app
 
#SPFestDC #Azure #Functions V2: What's new and getting started
#SPFestDC #Azure #Functions V2: What's new and getting started#SPFestDC #Azure #Functions V2: What's new and getting started
#SPFestDC #Azure #Functions V2: What's new and getting started
 
How to Build, Manage, and Promote APIs
How to Build, Manage, and Promote APIsHow to Build, Manage, and Promote APIs
How to Build, Manage, and Promote APIs
 
MSDN Sessions 032817 - Azure Functions
MSDN Sessions 032817 - Azure FunctionsMSDN Sessions 032817 - Azure Functions
MSDN Sessions 032817 - Azure Functions
 
Case study: integrating azure with google app engine
Case study: integrating azure with google app engine Case study: integrating azure with google app engine
Case study: integrating azure with google app engine
 
[MBF2] Webinar plate-forme Salesforce #1
[MBF2] Webinar plate-forme Salesforce #1[MBF2] Webinar plate-forme Salesforce #1
[MBF2] Webinar plate-forme Salesforce #1
 
Phonegap android
Phonegap androidPhonegap android
Phonegap android
 
Introduction to the new SharePoint 2013 App Model
Introduction to the new SharePoint 2013 App ModelIntroduction to the new SharePoint 2013 App Model
Introduction to the new SharePoint 2013 App Model
 
Mule version-crowd highlights
Mule version-crowd highlightsMule version-crowd highlights
Mule version-crowd highlights
 
Sdlc with mule esb
Sdlc with mule esbSdlc with mule esb
Sdlc with mule esb
 
Spring
SpringSpring
Spring
 
Node in Production at Aviary
Node in Production at AviaryNode in Production at Aviary
Node in Production at Aviary
 
Power Mobile Apps with Sitecore
Power Mobile Apps with SitecorePower Mobile Apps with Sitecore
Power Mobile Apps with Sitecore
 
Tokyo Azure Meetup #14 - Azure Functions Proxies
Tokyo Azure Meetup #14  -  Azure Functions ProxiesTokyo Azure Meetup #14  -  Azure Functions Proxies
Tokyo Azure Meetup #14 - Azure Functions Proxies
 
Rails Engines
Rails EnginesRails Engines
Rails Engines
 
Java SNMP Oplet
Java SNMP OpletJava SNMP Oplet
Java SNMP Oplet
 
Mobile App Development 101
Mobile App Development 101Mobile App Development 101
Mobile App Development 101
 

Similar to Coco architecture v2.0

Angular meetup 2 2019-08-29
Angular meetup 2   2019-08-29Angular meetup 2   2019-08-29
Angular meetup 2 2019-08-29
Nitin Bhojwani
 
ios basics
ios basicsios basics
ios basics
Muthu Sabarinathan
 
Angular EE - Special Workshop by Nir Kaufman
Angular EE - Special Workshop by Nir KaufmanAngular EE - Special Workshop by Nir Kaufman
Angular EE - Special Workshop by Nir Kaufman
Nir Kaufman
 
Cetas - Application Development Services
Cetas - Application Development ServicesCetas - Application Development Services
Cetas - Application Development Services
Kabilan D
 
European Collaboration Summit - SharePoint Framework Angular & Azure Functions
European Collaboration Summit - SharePoint Framework Angular & Azure FunctionsEuropean Collaboration Summit - SharePoint Framework Angular & Azure Functions
European Collaboration Summit - SharePoint Framework Angular & Azure Functions
Sébastien Levert
 
Introduction to j2 ee frameworks
Introduction to j2 ee frameworksIntroduction to j2 ee frameworks
Introduction to j2 ee frameworks
Mukesh Kumar
 
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...
Lucas Jellema
 
Angular js 2
Angular js 2Angular js 2
Angular js 2
Ran Wahle
 
A Seamless 3rd Party Mobile Expense Reporting App Integration with Oracle iEx...
A Seamless 3rd Party Mobile Expense Reporting App Integration with Oracle iEx...A Seamless 3rd Party Mobile Expense Reporting App Integration with Oracle iEx...
A Seamless 3rd Party Mobile Expense Reporting App Integration with Oracle iEx...
OAUGNJ
 
Spring Architecture | Advanced Java
Spring Architecture | Advanced JavaSpring Architecture | Advanced Java
Spring Architecture | Advanced Java
VISHAL DONGA
 
PPT on Angular 2 Development Tutorial
PPT on Angular 2 Development TutorialPPT on Angular 2 Development Tutorial
PPT on Angular 2 Development Tutorial
Paddy Lock
 
Angular
AngularAngular
From MEAN to the MERN Stack
From MEAN to the MERN StackFrom MEAN to the MERN Stack
From MEAN to the MERN Stack
Troy Miles
 
Angular Course.pptx
Angular Course.pptxAngular Course.pptx
Angular Course.pptx
Imdad Ullah
 
MEAN Stack Warm-up
MEAN Stack Warm-upMEAN Stack Warm-up
MEAN Stack Warm-up
Troy Miles
 
Angular kickstart slideshare
Angular kickstart   slideshareAngular kickstart   slideshare
Angular kickstart slideshare
SaleemMalik52
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
ASG
 
Nike pop up habitat
Nike pop up   habitatNike pop up   habitat
Nike pop up habitat
Chef
 
Developing modular Java applications
Developing modular Java applicationsDeveloping modular Java applications
Developing modular Java applications
Julien Dubois
 

Similar to Coco architecture v2.0 (20)

Angular meetup 2 2019-08-29
Angular meetup 2   2019-08-29Angular meetup 2   2019-08-29
Angular meetup 2 2019-08-29
 
ios basics
ios basicsios basics
ios basics
 
Angular EE - Special Workshop by Nir Kaufman
Angular EE - Special Workshop by Nir KaufmanAngular EE - Special Workshop by Nir Kaufman
Angular EE - Special Workshop by Nir Kaufman
 
Cetas - Application Development Services
Cetas - Application Development ServicesCetas - Application Development Services
Cetas - Application Development Services
 
European Collaboration Summit - SharePoint Framework Angular & Azure Functions
European Collaboration Summit - SharePoint Framework Angular & Azure FunctionsEuropean Collaboration Summit - SharePoint Framework Angular & Azure Functions
European Collaboration Summit - SharePoint Framework Angular & Azure Functions
 
Introduction to j2 ee frameworks
Introduction to j2 ee frameworksIntroduction to j2 ee frameworks
Introduction to j2 ee frameworks
 
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...
 
Angular js 2
Angular js 2Angular js 2
Angular js 2
 
A Seamless 3rd Party Mobile Expense Reporting App Integration with Oracle iEx...
A Seamless 3rd Party Mobile Expense Reporting App Integration with Oracle iEx...A Seamless 3rd Party Mobile Expense Reporting App Integration with Oracle iEx...
A Seamless 3rd Party Mobile Expense Reporting App Integration with Oracle iEx...
 
Spring Architecture | Advanced Java
Spring Architecture | Advanced JavaSpring Architecture | Advanced Java
Spring Architecture | Advanced Java
 
PPT on Angular 2 Development Tutorial
PPT on Angular 2 Development TutorialPPT on Angular 2 Development Tutorial
PPT on Angular 2 Development Tutorial
 
Angular
AngularAngular
Angular
 
From MEAN to the MERN Stack
From MEAN to the MERN StackFrom MEAN to the MERN Stack
From MEAN to the MERN Stack
 
Angular Course.pptx
Angular Course.pptxAngular Course.pptx
Angular Course.pptx
 
MEAN Stack Warm-up
MEAN Stack Warm-upMEAN Stack Warm-up
MEAN Stack Warm-up
 
Angular kickstart slideshare
Angular kickstart   slideshareAngular kickstart   slideshare
Angular kickstart slideshare
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
 
Google android os
Google android osGoogle android os
Google android os
 
Nike pop up habitat
Nike pop up   habitatNike pop up   habitat
Nike pop up habitat
 
Developing modular Java applications
Developing modular Java applicationsDeveloping modular Java applications
Developing modular Java applications
 

Coco architecture v2.0