B
B
Bakhman20152017-09-19 12:11:04
Android
Bakhman2015, 2017-09-19 12:11:04

What concepts / best practices should be considered when developing an Android application?

Hello!
I created an Android application (similar to a social network).
Created from scratch - i.e. I did not take as a basis any available similar open source codes (maybe in vain, but I already decided to do it from scratch, so from scratch)
I.e. I wrote the code without knowing and without studying any generics without practice.
Now I decided to refactor or reengineer my application, so to speak, in order to improve the quality of the solution + improve my skills accordingly.
pliz tell me what could be added to the list below (this is what came to my mind so far):

  1. Learn the MVP arch pattern and refactor the app for it - many articles refer to it as the most used and recommended (by google) for Android apps.
  2. learn material design best practices for UI
  3. Is it bad practice to use other people's libraries in your application? - for example, for capturing/cropping photos/videos, displaying badges on the bottom bar/icons, etc.

something else?
thank!

Answer the question

In order to leave comments, you need to log in

2 answer(s)
A
Alexander Varakosov, 2017-09-19
@thelongrunsmoke

Big refactor = big problems. To avoid this, they go from smaller to larger, cover with tests and rewrite first smaller pieces of functionality and simple views.
It is bad practice to use libraries "out of business", everything is simple here, if you pull a library for the sake of a couple of functions, then it's better to get rid of it and write it yourself.

S
Sergey, 2017-09-20
@red-barbarian

often used are dagger, butterknife, rxjava, retrofit, okhttpclient and so on. The list has already been discussed. (there were questions)
about the use of libraries. philosophical question. but you can see it from this angle. now the user does not really look at a couple of extra megabytes in the application. but due to the fact that you do not know how popular your application will be (shoot or not), you need to save your time and try to make the code initially of high quality (ready for change). Using third-party libraries saves a lot of time. it is important not only to write a certain function, but also to test it. for the end user, I think the priority is stability. efficiency for you. size doesn't matter.
after the first release, it will become clear what to work on. and is it worth it.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question