surfernet ha scritto:
essendo un esempio di un libro pensavo fosse più documentato
Bisogna controllare bene le versioni utilizzate, perché il mondo del frontend è un pentolone in ebollizione e spesso vi sono dei change da applicare, ma lo stesso riguarda anche il mondo .NET Core da un certo punto di vista.
Se il libro ha già qualche anno, rischia di essere obsoleto in alcuni punti molto pratici. La teoria invece dovrebbe rimanere pressoché valida nella maggior parte degli ambiti.
surfernet ha scritto:
per quanto riguarda l'errore l'ho "risolto" (forse) commentando un if nel file startup
Purtroppo, l'unica strada in questo caso è verificare quali sono i cambiamenti da apportare a un progetto datato, ricercando l'errore in giro, poiché il passaggio a versioni più recenti di entrambi i framework, sia .NET sia Angular, può richiedere la variazione di qualche voce di configurazione o metodo di inizializzazione della pipeline, come nel caso da te riscontrato.
surfernet ha scritto:
credo che in questo modo venga sempre avviato il server angular
E' vero, ma teoricamente ciò dovrebbe essere giusto, in quanto durante lo sviluppo (quindi se l'environment è impostato su "Development") il server Node che ospita l'applicazione di Angular per il debug dovrebbe essere lanciato e operativo, altrimenti non funziona l'applicazione client.
surfernet ha scritto:
se ho ben capito programmare in angular vuol dire anche costruire una cifra di componenti ,non si rischia di fare della sovra ingegnerizzazione?
No, anzi è esattamente la forza di Angular, poiché è un paradigma appositamente creato per lo sviluppo di applicazioni frontend di complessità medio/elevata, fatte anche da decine o centinaia di componenti, e oltre a questi hai a disposizione anche Pipe, Guard e tantissimi altri strumenti.
Inoltre, non tutto il codice scritto verrà compilato nel sito prodotto dalla build per l'ambiente di produzione, escludendo quello del framework Angular in sé che consente di avviarlo.
Non si tratta di sovraingegnerizzazione, ma di astrazione, che previene l'uso di codice che si basa sull'HTML piuttosto che su una interfaccia più astratta, con proprietà ed altri elementi di più alto livello.
Chiaramente, la valutazione dipende anche dal sito che devi costruire e dai suoi requisiti: se devi fare una "landing page" singola, forse Angular non ti serve e ti basta qualcosa di più immediato e più vicino al browser (Vue?) o comunque più orientato alla gestione della "vista" rappresentata dalla pagina che non di un'applicazione intera e articolata (modulare).
Ciao!