43 messaggi dal 03 maggio 2006
Buongiorno a tutti,
vi scrivo per avere qualche consiglio e delucidazione in merito ad angular
E' un po di tempo che sviluppo applicazioni web sono passato da web form asp.net a MVC utilizzando per le mie view telerik o devexpress.
Vorrei passare ad utilizzare angular.

Ho letto qualche articolo e fatto qualche test con angularjs su un progetto di base, ma on ho ben chiaro però alcuni aspetti che vi voglio domandare e per questo vi ho scritto questo post

Prestazioni: si ha un reale aumento delle performance utilizzando questo strumento?

Configurazione: ho provato ad usare angularjs su un applicazione MVC con qualche semplice view di esempio, ma non mi è chiaro invece quando entra in gioco Nodejs e quando è conveniente il suo utilizzo?

Grazie a tutti
427 messaggi dal 13 novembre 2009
Parti da questo concetto...a che ti serve MVC? Razor? Io programmo con angularjs da anni e il pattern Mvc lo uso marginalmente per rendere modulare il sito per il caricamento dinamico lazyloading e mi interfaccio ad un servizio rest per la gestione dei dati.
Tutto dipende da come lo usi e cosa devi fare
Quindi a grandi linee che dovresti fare?
Guarderei anche a Blazor
43 messaggi dal 03 maggio 2006
Ciao flaviovb
dovrei fare un applicazione che contiene sia dei form di data entry che una parte di reportistica, ed in un futuro avranno la necessità di fornire un app mobile.

Pensavo quindi di creare un back-end REST-Endpoint ed un front-end ad esempio utilizzando angular.
Pensavo ad angular, ma appunto chiedevo un consiglio e sono disposto ad usare anche altro, per rendere moderno, leggero e veloce il front-end evitando quindi pesanti controlli come telerik o devexpress.
Cosa mi consigli?

Blazor, si ho visto qualcosa ma essendo così nuovo e poco usato ho un pò il timore di utilizzarlo ( ma è solo un idea soggettiva), tu lo hai già usato?


Grazie!
427 messaggi dal 13 novembre 2009
Innanzitutto, parliamo di Angularjs che da un pò è in LTS, ma non mi preoccuperei poi mi spiego.
Quello che hai descritto è sostanzialmente quello che faccio da anni e che fanno un pò tutti?
Un servizio REST con la possibilità di essere chiamato da webapp, app mobile e app di terze parti.
Quindi il suggerimento è una considerazione. Se hai un servizio REST immagino tu voglia inserire li il livello auth(entication/torization) quindi JWT ad esempio. A questo punto il pattern MVC lo potrei utilizzare per questi cospi rivolti alla modularizzazione del sito qualora tu debba modularizzare in base alla natura dell'utente ad esempio: cliente, fornitore, admin, owner (questo sei tu).
Quindi un esempio spero chiaro!!!
Di REST parlo dopo?
MVC website:
- Partial specifiche per ogni attore (quelli sopra) con una pagina di default (homepage) che in base al token lato client visualizzi o meno contenuti private o pubblici. Tipo le Aree in MVC
- Layoutpage comune a tutti in cui mettere app.js con il modulo principale ad [module-main]
Quindi le Partial caricherebbero sempre quello più quello specifico
[module-cliente] oppure [module-fornitore]. Questi referenziano [module-main]
Angularjs presenta un routing sul mosule-main con accesso alle homepage dei singoli attori/moduli specifici.
I moduli specifici caricano a loro volta un loro routing.
ad esempio:
/home
/clienti/home (routing del modulo module-cliente)
/clienti/ordini
/clienti/ordini/1
questo routing è di Angularjs ma anche parte della chiamata REST: rest/clienti(controller)/ordini(action). Così è semplice! il routing lato client corrisponde al routing del servizio REST.

Anche io uso Devexpress xtrareport, analogo a quello di Telerik. Ho abbandonato del tutto carrozzoni in javascript per griglie in editing, controlli customizzati a livello funzione e grafico. Utilizzo solo la reportistica lato server che genera pdf per il client.
Bootstrap, Fontawesone, Angularjs e javascript (solo per la parte funzionale e logica client) sono gli strumenti che preferisco. MVC web lo uso, come detto, per switchare da una sezione all'altra del routing.
Tante le cose da dire oltre questo, compreso il sistema di AuthGuard (lo ha di default Angular2/7) e che è banale replicare sulla base di una licenza rilasciata sotto forma di claim nel JWT token per inibire l'accesso ad una pagina/funzionalità. Ricorda che la sicurezza (token e autorizzazione) la hai in primis nel servizio REST.
Un'ultima cosa. Io personalmente conosco anche Angular2 o semplicemente Angular, ma non lo uso da quando c'è Blazor, che nessa sintassi ed iniezione di tag html è molto simile ad Angularjs

a disposizione
F.
43 messaggi dal 03 maggio 2006
Grazie flaviovb, ottima spiegazione!
Avrei solo ancora qualche punto che mi piacerebbe discutere e che spero serva ad altri del forum.

VERSIONE:Hai citato Angularjs, ma questo se non ho capito male, verrà deprecato con le versioni più recenti, tu quale versione mi consigli?

Autenticazione/sicurezza: tu hai proposto un autenticazione JWT abbinata AuthGuard per inibire l'accesso pagina/funzionalità.Ci sono altre soluzioni per l'autenticazione?Con questa configurazione posso usare ad esempio una google o fb authentication abbinandola ad AuthGuard di Angular?
Nel caso in cui dovessi,dalla mia app client, leggere dei dati che necessitano autenticazione più datata (SOAP),l AuthGuard di Angular è gestibile?


Blazor mi sembra molto interessante anche perchè eviterei typescript che devo apprendere, ma quanto è stabile?

Grazie
427 messaggi dal 13 novembre 2009
Ti rispondo partendo dall'ultima considerazione: Blazor. E' typescript? No, Angularjs è tyepescript? No.
Angular è typescript, il quale non è un linguaggio/framework ma un superset. Io conosco Angular...e la evito per lo stesso tuo motivo typescript. Intendiamoci typescript facilita tanto la scrittura del codice e la correttezza di quest'ultimo. Ma il debug, il deploy ecc. producono situazioni differenti. Alla fine avrai javascript in produzione, non so se rendo l'idea.
Sto usando Blazor piu per esercizio e per capire se potrò fare il porting da Angularjs senza grossi problemi, avendo strutturato il mio codice in funzione di questo obiettivo. La risposta è si! Non Angular non è possibile, o almeno io ho avuto problemi a farlo.
Si è vero! Angularjs è in LTS ma fino al 2021, dico fino al 2021! Ora ipotizziamo che tu voglia scrivere il tuo progetto in Angular! Io ti rispondo: auguri! Conosci typescript? E non solo quello.
In altri termini, conosci javascript? Se si Angularjs e poi porting su Blazor, questa almeno è la mia opinione e il mio futuro. Come vedi punto su mamma MS ma utilizzo solo quello che mi serve di MS.
Ho parlato di AuthGuard che è Angular, ma intendevo dire che la logica da applicare è quella anche con Angularjs. Un uso il modulo ocLazyLoading, ma mi sono scritto poche righe per replicare il controllo della route lato client in funzione del token valido/scaduto e del set di route che lo stesso token mi ha fornito in claim per navigare all'interno della piattaforma. Ripeto cmq che il controllo deve essere fatto anche e in primis su REST. Se il mio servizio viene fornito a terze parti, aperto al web, è lui che rilascio token e controlla autenticazione e autorizzazione.
Molti diranno che ho torto, che Angularjs è da abbandonare, ma javascript resterà li anche nel 2021, Angularjs se programmato bene oggi funziona benissimo, tanta documentazione, esempi e plugins (moduli).
Angular è typescript dipendente. A ottobre a Roma teatro Manzoni c'è un evento su Angular, io ci andrò per chi interviene in particolare e non per la tecnologia.
Blazor è il futuro secondo me, è wasm, è facile da programmare, tag html e c#; Angularjs è tag html e javascript.
Ma son oaperto al confronto!!!
43 messaggi dal 03 maggio 2006
Ciao flaviovb,
sono d'accordo con quello che hai scritto e dagli esempi e guide che ho visto reputo anche io che adottare angulajs sia la soluzione più agevole nel mio caso.

Penso,dalle mie esperienze precedenti, che utilizzare per il front-end html,css ed framework JavaScript come angularjs sia una soluzione classica ma consolidata e quindi con ottimi risultati.

Approfondirò sicuramente Blazor.

Spero che altri possano leggere ed esprimere una loro opinione su quanto detto!

Rimane ancora un punto,siamo in italia e sappiamo bene che ci sono ancora aziende di un certo calibro che usano IE9 o IE11...,

il cross-browser!



Grazie
43 messaggi dal 03 maggio 2006
volevo ancora aggiungere questa tabella comparativa che secondo me spiega molto bene alcuni punti dei diversi framework front end più usati:

https://d18rbf1v22mj88.cloudfront.net/wp-content/uploads/2017/03/angularjs-angular2-react-confronto-1.png

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.