Sono praticamente uscito dal mondo della programmazione per circa 10 anni, con solo un po 'di diletto qua e là con piccole utility Java e un grande database Access che ho scritto per qualcuno, e alcuni macro VBA qua e là.
Ora sono tornato con un progetto su cui mi piacerebbe lavorare e sono molto confuso riguardo all'intera nuova scena di programmazione web. Sto cercando di scrivere un database multiutente basato sul web, e non ho molta familiarità con le tecnologie utilizzate.
Quindi ho pensato che dovrei andare con quello che mi è familiare. Conosco un po 'di PHP e molto SQL, quindi è un buon inizio per il back-end. E odio CSS e JavaScript, quindi cercherò di utilizzare un'applicazione desktop Java standard per il front-end (che è comunque più appropriato per questo database e quindi un front-end basato sul web). Non conosco affatto C # e non sono disposto a impararlo solo per questo progetto, anche se sono curioso di apprenderlo alla fine.
Ho passato molte ore su questo, e mi sono familiarizzato con l'elaborazione di Jackson per JSON, e ho persino creato una coda di comando fantasiosa che invia richieste e riceve risposte al server su un thread separato e si occupa piacevolmente degli errori.
Ma trovo l'intero processo piuttosto noioso. Per ogni piccola tabella che creo nel database, ho bisogno di fare uno Swing JFrame
, quindi devo connettere l'interfaccia utente con la classe Java sottostante che contiene i dati, quindi devo fare le richieste che mettono i dati in il JSON appropriato, che spesso implica un po 'di manipolazione con le annotazioni di Jackson, quindi devo fare il PHP che prende i dati e li inserisce in una query SQL. E lo stesso vale per l'altra direzione, devo fare una richiesta al server che richiede i dati, ho bisogno di scrivere php per rendere appropriate le query SELECT, inserirle in JSON (almeno json_encode
lo fa abbastanza bene, anche se è complicato se ci sono relazioni uno-a-molti coinvolte) riporta le informazioni nella mia classe java, e poi ottiene quella visualizzata nella GUI. E tutto il modo in cui i dati devono essere convalidati e gli errori risolti.
Mi sembra che sia troppo lavoro per una cosa così semplice. Sono abituato all'Accesso, dove si effettua una query e quindi si visualizzano i risultati e si consente all'utente di modificarli è solo una questione di eseguire una procedura guidata e spostando un po 'i controlli. E mi sembra che molto di quello che ho già fatto con la mia coda di elaborazione dei comandi stia probabilmente reinventando la ruota: ogni applicazione basata sul web ha bisogno di qualcosa del genere.
Mi manca qualcosa?