MVP for android. Is it worth the effort? [closed] - android

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 6 years ago.
Improve this question
Recently I stumbled upon a few articles on using the MVP pattern for developing android applications.
I would like to know:
whether it is worth the effort to move towards a MVP pattern, given
that fact the android framework is not inherently designed keeping
MVP in mind whereas iOS development using Swift enforces the MVP
pattern (if I am right).
Is the development time impacted a lot on using MVP?

To answer your points:
MVP is worth the move in the long run - for a new project definitely start using MVP. For an existing codebase, it will be time consuming to untangle the logic in Activities, Fragments etc.
In the short term dev time is impacted as you'll have to learn MVP etc. In the long run, you'll save time bug fixing etc.
Here's a great article on MVP and Android

Related

Advance Android Concepts [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 2 years ago.
Improve this question
As we know that Android Development is becoming quite easy with Android's new concepts like :
Android Architecture Patterns,
RxJava, RxBus,
Two Way Data binding,
Room,
Live Data,
Kotlin Coroutines,
Dagger,
Data Store,
JetPack Library,
Work Manager,
Navigation and Flow,
Motion Layouts,
and many more...
There are many documents available to get known about these concepts But, at some level I got confused.
Is there any dependency among these concepts?
I just want to go through all with proper steps and complete guidelines.
Can anybody guide me that How can I start Step by Step to complete these concepts with 100% clarity?
I can assist you about concepts which I am aware of.
Android Architecture Patterns,Live Data,View Model :
Mostly now a days Developers are using MVVM architecture.So,better to start with MVVM pattern where you will come across ViewModel and LiveData concepts.So,these are basic components in MVVM.
https://developer.android.com/codelabs/android-training-livedata-viewmodel#0
Sample Viewmodel class can be found in below link.
https://github.com/TarunAnchala/News-App/blob/master/app/src/main/java/com/assigment/newsapp/NewsViewModel.java
Room
Room is the wrapper over sqlite which makes developer work easy.I am sure that once you start using Room you won't go back to sqlite.
https://android.jlelse.eu/5-steps-to-implement-room-persistence-library-in-android-47b10cd47b24
Sample Room Implementation in below link.
https://github.com/TarunAnchala/News-App/tree/master/app/src/main/java/com/assigment/newsapp/db
Work Manager
Work Manager is very easy to implement and it can be finished in 15 to 30mins.
https://www.simplifiedcoding.net/android-workmanager-tutorial/
Motion Layouts
Motion layout is used to implement animations very easily.In below blog,Siva had explained well.
https://medium.com/better-programming/beginners-guide-to-motion-layout-732395a7de7e

Is it necessary to use MVVM pattern or architecture components in android for beginners in android? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 4 years ago.
Improve this question
I am new to android. I have already built 80% of my app without following a MVVM pattern or using android architecture components such as View Model, Livedata etc because most of the tutorials didn't follow these patterns. My code just has data models and business logic, data binding on the activity, fragments itself.
Just got confused about the fact that whether is it okay to launch an app in the old school style or I should rework with some architecture pattern?
Its ok to use any pattern you think is best for your app. There are no requirements, technical or policy wise, about how you implement your code. If you feel MVVM is right use it. If you don't, avoid it. Even Google wouldn't claim its the best for every usecase, its just another tool in the box.
Architecture components solve a bunch of complex problems. Among these are:
Code maintainability
App performance
Consistent behavior across devices and versions of Android
That last one is key in my opinion. Rolling your own architecture can lead to bugs as your app gets exposed to more and more devices after release. Devices that you just didn't see during testing.
I would not hold up your app's launch to integrate architecture components, but certainly you should consider refactoring your app where it makes sense as you update it for future releases.

how to change the structure of already developed android project? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
I am just a beginner and at the time of developing i was blind about following an architecture, but now I've come across many awesome architecture and frameworks out there which i can follow to make code clean and easy to maintain.. so I have 3 questions
1) Is it a wise thing to change already developed project to follow a particular structure or framework like MVP and MVVM.
2) If yes for first question, how much time does it take (I know it depends on the project size but still rough estimation)
3) Which architecture would be better suitable to change the structure. (I've already gone through many documents and stack overflow questions of comparison. But here i want to change the whole structure. so which one would be best for this)
1) It'd be better if you stick to one particular architecture from the beginning of developing your application. It's gonna be a tiresome job if you wanna change the architecture, you're gonna have to do it from scratch.
2) It'd probably take as much as time as you did for creating you application with mvc architecture I guess.
3) I'd go for MVP architecture. It's the better alternative to MVVM if you're planning to change from MVC.
If the amount of code you have written is not very large , you can certainly change the structure.
MVP helps you to seperate views from logic and i have found using it to be very helpful when it comes to adding new logic , methods or modifying existing code.

Clean Architecture Vs MVPC/MVC/MVP [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
I'm studing Uncle Bob Clean Architecture, and trying to get comparasion in many differents aspects about witch design pattern should I use for my IOS/Android Projects.
Ok, I noticed that clean arch is very powerfull and rouboust, but at the same time, in my opinion, is it too much overhead with the number of class and files that I should create.
So my question is, is this design patter more advantageous than use MVC/MVP/MVPC?? Isn't it too much overhead?? Which architecture is it the best for IOS/Android Projects?
I didn't find any good reason yet that justify I change from others design patters to Clean arch, except the fact that UI is totaly isolated from main code.
Adopting a 'Clean' architecture, along with Hexagonal/Ports & Adapters/Onion/Lifesaver/Screaming, does not exclude the use of separated presentation patterns such as MVC.
The original intent of such an approach is to:
Allow an application to equally be driven by users, programs, automated test or batch scripts, and to be developed and tested in isolation from its eventual run-time devices and databases (Cockburn, 2005).
If you think your application will benefit from such an approach then I would argue that it's a good approach to follow.
BTW, IMHO, there is no 'best architecture'.

Native or framework programming for my app? And if framework, which one? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I want to develop application for Android and iOS.
It will be simple application with some data of users and some achievement animations.
It will comunicate with our servers, where will be used REST as backend.
I need the application to be secured. There will be stored very sensitive data.
I think application won't need much performance.
I'm going to be project leader, so I have to find programmer. So if I use framework, then the programming language will have to be in good performance/price ratio.
It's difficult to answer your question due to lack of information, but I have gained some experience regarding this topic from the past year.
The choice of your frameworks depends on time/cost, resources and know-how. I suppose your question is about whether to use a webframe including webprogramming, or native iOS and Android implementation.
The big advantages of using a Webframe are:
Can easily be included on both platforms Only has to be implemented
once (with a view platform specific adaptions e.g. access to camera
etc.)
No additional know-how is required (just JavaScript and HTML)
The implementation is easy and development fast Subsequently the development time is reduced
The disadvantages are:
Webframes are slow
If there are animations like transitions it could be laggy
User triggered events could also be delayed. (just a few milliseconds, but it could be very annoying.
This could conclude in a total useless app, because the userexperience is very bad.
If you want a throughout solid app which offers a flawless userexperience I highly recommend a native implementation. But you have to consider, this affords experienced Android and iOS programmer, and is associated with more development time and subsequenlty more costs.
I recommend to implement a simple prototype which includes the animations and the main features. If the userexperience is good then go for it.

Categories

Resources