SlideShare a Scribd company logo
1 of 23
Download to read offline
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 FeaturesLydon Bergin
 
Syncfusion Dashboard Platform SDK
Syncfusion Dashboard  Platform SDKSyncfusion Dashboard  Platform SDK
Syncfusion Dashboard Platform SDKDavis Jebaraj
 
Dependency Injection pattern in Angular
Dependency Injection pattern in AngularDependency Injection pattern in Angular
Dependency Injection pattern in AngularAlexe Bogdan
 
Rails api + JS app
Rails api + JS appRails api + JS app
Rails api + JS appknomedia
 
#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 startedVincent 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 FunctionsMarc 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 #1BeMyApp
 
Phonegap android
Phonegap androidPhonegap android
Phonegap androidumesh 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 ModelNoorez Khamis
 
Mule version-crowd highlights
Mule version-crowd highlightsMule version-crowd highlights
Mule version-crowd highlightsD.Rajesh Kumar
 
Node in Production at Aviary
Node in Production at AviaryNode in Production at Aviary
Node in Production at AviaryAviary
 
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 ProxiesTokyo Azure Meetup
 
Rails Engines
Rails EnginesRails Engines
Rails Enginessean_todd
 

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-29Nitin Bhojwani
 
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 KaufmanNir Kaufman
 
Cetas - Application Development Services
Cetas - Application Development ServicesCetas - Application Development Services
Cetas - Application Development ServicesKabilan 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 FunctionsSébastien Levert
 
Introduction to j2 ee frameworks
Introduction to j2 ee frameworksIntroduction to j2 ee frameworks
Introduction to j2 ee frameworksMukesh 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 2Ran 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 JavaVISHAL DONGA
 
PPT on Angular 2 Development Tutorial
PPT on Angular 2 Development TutorialPPT on Angular 2 Development Tutorial
PPT on Angular 2 Development TutorialPaddy Lock
 
From MEAN to the MERN Stack
From MEAN to the MERN StackFrom MEAN to the MERN Stack
From MEAN to the MERN StackTroy Miles
 
Angular Course.pptx
Angular Course.pptxAngular Course.pptx
Angular Course.pptxImdad Ullah
 
MEAN Stack Warm-up
MEAN Stack Warm-upMEAN Stack Warm-up
MEAN Stack Warm-upTroy Miles
 
Angular kickstart slideshare
Angular kickstart   slideshareAngular kickstart   slideshare
Angular kickstart slideshareSaleemMalik52
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring FrameworkASG
 
Nike pop up habitat
Nike pop up   habitatNike pop up   habitat
Nike pop up habitatChef
 
Developing modular Java applications
Developing modular Java applicationsDeveloping modular Java applications
Developing modular Java applicationsJulien 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