All Projects → saksham24 → Android Firebase Kotlin Java Mvp Mvc Mvvm Chat

saksham24 / Android Firebase Kotlin Java Mvp Mvc Mvvm Chat

Simple chat Application with one to one connectivity using Firebase Real time Database written in MVC,MVP and MVVM architecture to better understand the android coding patterns. Purpose of writing same application functionality with 3 different pattern is to show how single application can be developed using 3 different patterns(Mvc, Mvp, Mvvm).

Programming Languages

java
52711 projects - #9 most used programming language
kotlin
6993 projects

Projects that are alternatives of or similar to Android Firebase Kotlin Java Mvp Mvc Mvvm Chat

Mvvm Kotlin Android Architecture
MVVM + Kotlin + Retrofit2 + Hilt + Coroutines + Kotlin Flow + mockK + Espresso + Junit5
Stars: ✭ 1,014 (+463.33%)
Mutual labels:  mvvm, mvp, mvvm-architecture, mvp-architecture
Flair
This is powerful android framework
Stars: ✭ 31 (-82.78%)
Mutual labels:  mvvm, mvp, mvvm-architecture, mvp-architecture
Android Mvp Mvvm Flytour
🔥🔥🔥 FlyTour是Android MVVM+MVP+Dagger2+Retrofit+RxJava+组件化+插件组成的双编码架构+双工程架构+双语言Android应用开发框架,通过不断的升级迭代该框架已经有了十个不同的版本,5.0之前工程架构采用gradle配置实现组件化,5.0之后的工程架构采用VirtualAPK实现了插件化,5.0之前采用Java编码实现,5.0之后采用Kotlin编码实现,编码架构由MVVM和MVP组成,工程架构和编码架构及编码语言开发者可根据自己具体的项目实际需求去决定选择使用,该框架是Android组件化、Android插件化、Android MVP架构、Android MVVM架构的集大成者,帮助你快速的搭建自己的App项目开发框架,以便把主要的精…
Stars: ✭ 2,948 (+1537.78%)
Mutual labels:  mvvm, mvvm-architecture, mvp-architecture
Westore
更好的小程序项目架构
Stars: ✭ 3,897 (+2065%)
Mutual labels:  mvc, mvp, mvvm
Ribs
Uber's cross-platform mobile architecture framework.
Stars: ✭ 6,641 (+3589.44%)
Mutual labels:  mvvm, mvp, mvc
ios-architecture-example
Architecture pattern simple examples in iOS. You can compare differences in MVC, MVP, MVVM-Delegate and MVVM-Rx for same feature
Stars: ✭ 16 (-91.11%)
Mutual labels:  mvc, mvp, mvvm
Readhub
Readhub AndroidClient
Stars: ✭ 40 (-77.78%)
Mutual labels:  mvc, mvp, mvp-architecture
Iosdesignpatternsamples
This is Github user search demo app which made by many variety of design patterns. You can compare differences in MVC, MVP, MVVM and Flux.
Stars: ✭ 622 (+245.56%)
Mutual labels:  mvvm, mvp, mvc
mvc-tree
🌳 A chronological visualization of the family of MVC patterns.
Stars: ✭ 40 (-77.78%)
Mutual labels:  mvc, mvp, mvvm
Architecturesamplewithfirebase
これは、iOSアプリを色々なアーキテクチャで実装してみたものです。
Stars: ✭ 89 (-50.56%)
Mutual labels:  mvvm, mvp, mvc
Androidquick
做外包用的快速开发库--微信、支付宝支付(含签名,下单)、自定义View(验证码/密码,九宫格图片上传等)、换肤、图片预览、RxJava、EventBus、JetPack、CameraX、base层封装等
Stars: ✭ 565 (+213.89%)
Mutual labels:  mvvm, mvp, mvc
Ios Design Patterns
Learning ground for iOS Design Pattern included with sample projects for MVC, MVP, MVVM, and VIPER
Stars: ✭ 120 (-33.33%)
Mutual labels:  mvvm, mvp, mvc
Modelassistant
Elegant library to manage the interactions between view and model in Swift
Stars: ✭ 26 (-85.56%)
Mutual labels:  mvvm, mvp, mvc
Ios Architectures
Sample app for iOS architectures
Stars: ✭ 90 (-50%)
Mutual labels:  mvvm, mvp, mvc
Androidarchitecture
Android Architecture using Google guides
Stars: ✭ 127 (-29.44%)
Mutual labels:  mvvm, mvp, mvc
Combine Mvvm
Sample project with Combine & UIKit framework, MVVM architecture
Stars: ✭ 132 (-26.67%)
Mutual labels:  mvvm, mvvm-architecture
Armscomponent
📦 A complete android componentization solution, powered by MVPArms (MVPArms 官方快速组件化方案).
Stars: ✭ 1,664 (+824.44%)
Mutual labels:  mvp, mvp-architecture
Eve
Eve and Wall-e
Stars: ✭ 133 (-26.11%)
Mutual labels:  mvp, mvp-architecture
Qiscus Sdk Android
Qiscus provide everything you need to power up your app with chats. And it's now made simple.
Stars: ✭ 175 (-2.78%)
Mutual labels:  chat, realtime-messaging
Phoenix For Vk
Yet another VK client for Android
Stars: ✭ 131 (-27.22%)
Mutual labels:  firebase-database, mvp

What is this repository for ❓

Simple Application with one to one connectivity using Firebase Real time Database written in MVC,MVP and MVVM architecture to better understand the android coding patterns. Purpose of writing same application functionality with 3 different pattern is to show how single application can be developed using 3 different patterns(Mvc, Mvp, Mvvm) 😌.








Mvc (Model View Controller) 〽️ ✔️ C

Mvc is a clean approach in android putting views away from the controller. the controller is only responsible for updating models, once the model gets updated it can notify views and then the view can be updated using proper callbacks. Traditional MVC is where there is a

Model : Acts as the model for data
View : Deals with the view to the user which can be the UI
Controller :Controls the interaction between Model and View, where view calls the controller to update the model. A view can call multiple controllers if needed..

Mvp (Model View Presenter) 〽️ ✔️ 🅿️

Some disadvantages of MVC can be overcome using Mvp approach. Presenter in Mvp contains all business logic and this class is far away from android Context or android related dependencies which provides flexibility to text business logic by simply using presenter class in test modules. Android related dependencies create complexity in testing. The presenter does not have any android dependency like Context, View etc and all the model updates and network requests are done via presenter. Once the model gets updated or a network request completes, the view is updated via presenter using callbacks to view from the presenter. No model and network request can directly approach views.

Mvvm (Model View View-Model) 〽️ ✔️ ✔️ 〽️

MVVM involves a data binding approach to make code short and reduce view handling code from java classes. View models are responsible to update view and once a view model is tied to a view then view get notified about their updating events. If a model gets updated by a user click then model send callbacks to view model which updates the view automatically as it gets tied to the views. Mvvm reduce code size but the implementation of MVVM is quite tough and it is difficult to debug big projects based on Mvvm.









Choice of correct architect

👀
Choice of a correct architect for a project involves the understanding of the modules which will be developed. Some functionalities work great on MVC, some with Mvp and some with Mvvm. It is quite difficult to debug project made using MVVM format so a small project is recommended for MVVM selection. MVP is still the best approach in writing android projects but MVP end up with 20% extra code with the same functionality written in MVC. Mvp is good if you are really interested in test cases and unit testing of modules. Mvc is a widely used technique in android. Google itself write it's repositories in MVC 👍.




END ⚠️

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected]