La tua domanda è piuttosto basata sull'opinione pubblica - non ci sono linee guida rigorose che dovresti iniziare prima con la progettazione o la funzionalità delle caratteristiche principali come componenti separati che potrebbero essere successivamente collegati alla tua interfaccia.
Spetta al tuo giudizio, alle tue capacità e al tuo budget prendere in considerazione l'idea di apprendere la progettazione dell'interfaccia utente o l'assunzione di un designer professionista.
Direi che, se sei interessato al design, hai capacità di designer o sei sicuro di poter raggiungere la stessa qualità di un professionista in tempi ragionevoli - fallo!
Riguardo alla parte di ciò che accade per primo - non ho intenzione di sottolineare il modo in cui preferisco, è tutto basato sull'opinione pubblica. Ma hai detto che lavori in un'azienda da un anno a questa parte - dovresti conoscere il flusso di lavoro ormai. Perché non utilizzare lo stesso approccio utilizzato dall'azienda: ti è familiare, quindi ci sono meno possibilità di commettere errori di cui non hai mai sentito parlare.
Ma diciamo che non sei soddisfatto del flusso di lavoro che conosci ormai, vuoi conoscere altri modi o semplicemente non hai bisogno di sapere quale effetto potrebbero avere le tue azioni.
Esaminiamo alcuni modi in cui un'app può essere creata.
Per fare un esempio, diciamo che l'app è un contatore di gradini con statistiche. Gli esempi astratti sono più difficili da capire comunque.
1) Crea un elenco di schermate . Il mio modo preferito Facile da capire anche per un non sviluppatore. Crea un foglio con tutte le schermate e le linee per mostrare le relazioni dello schermo.
Quindi, quando sei soddisfatto del flusso di lavoro puoi elencare tutte le funzionalità con una migliore comprensione di come implementarle nel sistema attuale. Aiuta anche a mantenere il codice separato e pulito nella tua testa poiché ogni funzionalità saprà che è posto per quanto riguarda lo schermo.
2) Codice prima . Non è il nome ufficiale dell'approccio btw :) Un'alternativa ben funzionante - basta scrivere tutto il modello (modello come in MVC), quindi è facile sapere con cosa stai lavorando. Quindi, crea il controller, in modo da poter modificare lo stato del modello. È divertente che solo un vero programmatore apprezzerà. Non molto da mostrare agli altri membri del team / cliente nel frattempo, ma puoi vedere l'output nella console e sapere che funziona! Quindi allegare le immagini, feedback audio che altre parti della vista. Non importa come sarà la tua Vista - è il motore che è importante.
In entrambi i casi, se eseguita correttamente, la modifica di una parte della tua app non influirà sull'altra. Entrambe le app possono essere scritte con qualsiasi standard, linea guida, framework. È semplicemente un modo per organizzarlo in un modo più comprensibile per te.
Esistono modi illimitati per suddividere l'app in attività più piccole per aiutarti a comprendere la tua lista degli impegni. Non sarò in grado di coprirli tutti qui.
Non ci sono regole, solo linee guida, quindi quando realizzi un'app, pensa prima a ciò che vuoi vedere o fai. Hai le tue linee guida per coerenza, ma prova ad avvicinarti a ogni programma in base a quale sia la soluzione migliore piuttosto che attenersi a un solo modo.