https://kotlinlang.org logo
#getting-started
Title
# getting-started
u

UnAn

11/25/2020, 5:29 PM
General question, what are the process of making in concrete the app? I have my documentation on what the app does, its functionalities and then? Do i start with the database? Then make the layout? Then logic? And then the "front-end"? What is the correct process?
a

Adam Powell

11/25/2020, 5:33 PM
there is no "correct" process, only an infinite number of strongly held opinions about it 🙂
if someone tells you they know the "correct" process they are probably selling books, training courses or conference talks about it
imho, start from some code that runs; a basic hello world or test, and grow it from there based on what you need
t

tddmonkey

11/25/2020, 6:07 PM
“Incrementally” 😄
c

Cicero

11/25/2020, 6:08 PM
I would look for an architecture first, this can really help your mind understand better how to lay your cards. I like to work balancing the level of mental stress of the tasks. Some days I do dumb work that must be done and no one wants to do, some days I do nice work that everyone wants to. The biggest secret is find the balance to keep your brain motivated and the rest comes naturally.
For example, I regret that I didn’t use Interactor/UseCase earlier. Or that I didn’t used repository architecture in the beginning just because I didn;t needed it yet, this stuff comes easier when you do it, as our comrade said, “incrementally”
a

Adam Powell

11/25/2020, 6:19 PM
on the flip side, I've never seen self-inflicted code messes as profound as those created by people who adopted one software architecture or another before understanding what specific challenges it addresses. Don't go architecture shopping until you understand your requirements 🙂
c

Cicero

11/25/2020, 6:22 PM
True that, but then if you don’t understand fully which challenges wait you in the future you don’t have “documentation on what the app does and its functionalities”. If you have a blueprint of the app you can already decide if you are going to need Repositories. I don’t see UseCase/Interactor as optionals anymore as they make the code way more readable/testable/portable(recently made my path to Kotlin Multiplatform very easy). And MVVM is standard. Looking for an architecture meant: Know the basic rules of android development. :)
t

tddmonkey

11/26/2020, 12:12 PM
lol @ “architecture shopping”
If you’re relatively new to designing apps, just go in with a mindset that you’re gonna make a ton of mistakes. Learn from them and do the next one better.
1