when something doesn't work out as intended (like for example, it didn't work out as we planned for some reason), I fix the issue on my side, then send him the template back
Questa è la radice dei tuoi problemi. Il flusso del design dovrebbe sempre essere da Designer to Developer
e mai invertito. Revisioni e modifiche avrebbero dovuto essere apportate dal progettista e quindi inviate all'utente per l'implementazione nel sito Web. Puoi sempre apportare velocemente le correzioni, ma cerca di accettare che quelle correzioni rapide siano solo temporanee. Il progettista deve tornare ai suoi progetti e capire la soluzione adeguata. Poi ti spinge il cambiamento, e se è lo stesso della tua soluzione rapida allora è grandioso, altrimenti ti aggiorni dai suoi disegni.
He sends the complete template to me (the HTML export from Pinegrow)
Non diventare dipendente dalla ricezione di HTML con cui puoi lavorare. È meglio implementare la tecnologia del sito Web (Bootstrap, CSS, jQuery, React, PHP, ecc. Ecc. Ecc.) Nel modo in cui ne hai bisogno. Quindi riproduci i suoi disegni usando quegli strumenti. Se l'HTML che ti dà è un avvio rapido quindi ottimo, ma più tardi man mano che il progetto cresce, non sarà molto utile. Dovrai apportare tu stesso le modifiche perché solo tu comprendi il tuo motore dei modelli (ad esempio viste CakePHP, modelli, plug-in, componenti, ecc. Ecc.)
This process, as one could imagine is painstakingly slow and inefficient.
È sempre stato così. I designer non sono programmatori. Si prendono il loro tempo per capire cosa funziona meglio per l'utente, ea volte commettono errori. Non capiscono concetti come componenti, strutture e così via. Come programmatore devi parlare con il tuo designer e condividere il come implemento ciò che disegni .
Il designer è bloccato nel mezzo. Da un lato devono soddisfare le esigenze del programmatore e dall'altro devono soddisfare le esigenze dell'utente.
So my question is, how can we make this process go smoother?
Ho scoperto che sedere fisicamente accanto al designer e programmare ci aiuta molto nella comunicazione. Se voi due state lavorando in remoto, quindi mantenere in esecuzione facetime per alcuni giorni. Aiuta davvero a velocizzare le cose.
I've seen a lot of stuff about that we should use React and use RESTful and what not, but we want to use CakePHP for it.
CakePHP è uno dei migliori framework del pianeta (completa divulgazione, sono nel core team di CakePHP).
Cake è un framework di sviluppo per conigli in cui le funzionalità sono progettate per creare rapidamente siti Web. So che suona come un passo di vendite, ma questo è ciò che è classificato come. Ci sono molti altri quadri classificati come conigli. Java sarebbe un esempio di un framework che è più un'impresa che un coniglio. Se tu stavi usando quella lingua, allora avrei fatto una raccomandazione per cambiare. Dal momento che stai usando CakePHP. Direi che dovresti stare con esso.
CakePHP è un buon server di back-end se hai bisogno di API RESTful.
React / Angular / Vue sono tutti i framework front-end popolari e di tendenza, ma non sono mai esistiti da molto tempo. CakePHP d'altra parte è in giro da 13 anni. Il mio punto non è una critica. È il fatto che queste librerie JavaScript hanno una breve durata. Tra 5 anni parleremo di qualcosa di nuovo, ma sospetto che CakePHP sarà ancora in circolazione.
Quindi dico. Usa React / Angular / Vue ora mentre sono caldi, ma non ti impegnare. Qualcosa di nuovo e migliore sarà a breve. Penso che viviamo in un mondo in cui non puoi costruire buoni siti web senza di loro.
Could some people guide me to some helpful resources about it?
Le richieste di liste sono fuori tema qui. Siamo spiacenti.
Modifica :
Ho perso la parte relativa al monitoraggio delle modifiche al design.
Chiedi al tuo designer di salvare il suo output HTML in BitBucket (hanno repository privati gratuiti). Puoi quindi tracciare e fare confronti usando il sito web di BitBucket. Ogni volta che il progettista apporta un grosso cambiamento, aggiunge un nuovo ramo con un numero di versione.
Dovrebbe essere relativamente facile per lui farlo, e questo ti permetterà di avere un posto dove commentare le suddette modifiche. Per esempio; può fare una richiesta di pull per aggiornare il repository in cui si esegue una revisione delle modifiche prima che vengano unite.