Essenzialmente, sono un programmatore di tipo strutturale, informatico (al college mi è stato chiesto di fare un sacco di programmi usando C, C ++ e anche COBOL (!)) e sto trovando sempre più conflitti con i fondamentali fondamentali che ho sviluppato nel mio grado CS rispetto al moderno mondo di sviluppo web in cui sono attualmente immerso. Uno di quei conflitti che sto avendo è il posto di librerie / framework nello sviluppo web.
Ho scoperto e sperimentato diverse librerie / framework per lo sviluppo di alcune applicazioni Web che stavo svolgendo. Alcuni che ho usato e / o sperimentato includono jQuery, jQueryUi, TinyMCE, CodeIgniter, Struts, Spring e GWT. Ho una leggera paura di usare queste librerie / framework troppo estesamente a causa della natura in rapida evoluzione della tecnologia web. Sembra che ogni due minuti ci sia qualche nuova libreria / framework disponibile per lo sviluppo web, sia che si tratti di un nuovo framework o di un miglioramento di una tecnologia esistente. Questo sfrega davvero contro il mondo accademico in cui mi trovavo, poiché in genere abbiamo trascorso un intero semestre ad apprendere la lingua / il concetto con l'aspettativa che in seguito avremmo sfruttato efficacemente tale conoscenza sul posto di lavoro. La mia paura è che la mancanza di una buona comprensione di una biblioteca / quadro mi porterà a un vicolo cieco dove avrò più problemi di quello che ho deciso di risolvere inizialmente.
Ci scusiamo per il vagabondaggio, ma mi chiedo se qualcun altro abbia mai provato una tale paura? Mi sto anche chiedendo quali potrebbero essere alcune linee guida generali per l'implementazione di librerie / framework in un'applicazione web. Dovrebbe esserci un limite di quante librerie / framework sono usati nello sviluppo di un'applicazione web? Uno sviluppatore dovrebbe passare una settimana (o 2 o 3 ...) a conoscere davvero la libreria / framework prima di tentare di implementarlo nella propria applicazione web?
In definitiva alla ricerca di risposte nel contesto di librerie / framework che (liberamente) include tutto ciò che è implementato in un'applicazione web al di fuori della tecnologia di base (Java, JSP, PHP, HTML, CSS e JavaScript sono tecnologie chiave che personalmente uso).