Come si confronta SAP UI5/Open UI5 con Angular JS?
Qui, invece di tracciare una tabella di confronto Ionic 2 vs. UI5, vorrei far emergere alcuni punti su Ionic 2 (Angular 2.0+) che SAP dovrebbe considerare nel migliorare il framework SAPUI5. Inoltre, UI5 è stato sviluppato come un framework per app aziendali con un concetto Fiori molto ben progettato, mentre Ionic si rivolge alle app consumer. Quindi un confronto diretto caratteristica per caratteristica non ci darebbe una buona visione su dove UI5 può prendere i lati positivi da Ionic.
Dopo aver sviluppato app transazionali e analitiche per il mondo aziendale SAP, fare esperienza su Ionic 2 è stato un cambiamento benvenuto. Qui, invece di tracciare una tabella di confronto Ionic 2 vs. UI5, vorrei far emergere alcuni punti su Ionic 2 (Angular 2.0+) che SAP dovrebbe considerare nel migliorare il framework SAPUI5. Inoltre, UI5 è stato sviluppato come un framework per app aziendali con un concetto Fiori molto ben progettato, mentre Ionic si rivolge alle app consumer. Quindi un confronto diretto caratteristica per caratteristica non ci darebbe una buona visione su dove UI5 può prendere i lati positivi da Ionic.
UI5 pone una forte enfasi sul data binding con l'architettura MVC (Model, View & Controller). Essendo costruito sulla libreria jQuery, usa eventi DOM basati su jQuery per ottenere il data binding, mentre Ionic è basato su Angular che gli permette di usare direttamente le API native. Non ci sono metodi di intercettazione che deve chiamare e quindi Angular riceve una notifica per aggiornare il DOM a differenza di SAPUI5. Inoltre, Angular architetta blocchi di costruzione come componenti, e ognuno di questi componenti ha il proprio rilevatore di cambiamenti. Inoltre, in Angular, possiamo eseguire il rilevamento dei cambiamenti solo per le parti dell'applicazione che hanno cambiato il loro stato. Questo rende l'architettura di base del framework molto più efficiente. Con i concetti di Fiori 2.0 come Analytical page Layout, SAP dovrebbe esaminare le prestazioni di questi layout e valutare se possono veramente raggiungere il carattere dinamico a cui mira senza incorporare le tecniche moderne come Web Component.
Questi componenti hanno davvero illuminato il futuro dello sviluppo di applicazioni Web e ionic li utilizza in modo molto efficace per creare i suoi elementi. Mentre in UI5 usiamo la combinazione di tag div, span ecc. per creare un elemento complesso. Sap.m.List, ListItems, Carousel, ecc. possono essere efficacemente implementati utilizzando i componenti web.
Ecco come appare List in UI5 vs. Ionic.
E poiché List è uno dei controlli più importanti in UI5 nel mondo SAP, dovremmo dare un'occhiata allo scroll virtuale per aumentare ulteriormente le sue prestazioni. Se implementiamo List con paginazione in UI5, esso rende la lista 0-20 elementi all'inizio. Mentre scorriamo gli elementi resi sono 0-40, 0-80 e così via. Questo significa che se abbiamo 100 elementi nella nostra lista, oltre 100 elementi vengono aggiunti al DOM. Un Dom più grande avrà sicuramente un impatto sulle prestazioni dell'app. In Ionic 2, gli elementi vengono aggiunti come 0-20, 20-40, 40-60, 60-80 ecc. Questo significa che in qualsiasi momento solo 20 elementi sono nel DOM e questo aumenta considerevolmente le prestazioni di grandi elenchi di dati.
Infine, Typescript; sappiamo tutti come JavaScript abbia la tendenza a diventare verboso, aggrovigliato ("codice spaghetti"), e ripetitivo in grandi quantità. SAPUI5 ha fatto un grande lavoro nell'implementare la programmazione orientata agli oggetti e altre convenzioni e linee guida standard nel framework usando JavaScript. Sarebbe molto più semplice implementarle con Typescript. Typescript migliora la leggibilità e fa rispettare i tipi forti e corretti. Quindi Typescript sputerà fuori qualsiasi errore di compilazione, a differenza della controparte JavaScript che è un linguaggio interpretato. Il supporto Rich IDE con funzioni di autocompletamento e navigazione del codice. Tutto questo aumenta la velocità di sviluppo.
Guardando l'altro lato della storia, Ionic 2 è ancora nuovo e immaturo ma ha un immenso potenziale per essere un go-to framework per tutti i tipi di applicazioni. Sì, anche per le applicazioni aziendali. Le caratteristiche che lavorano per il framework SAPUI5 per integrarsi perfettamente con la linea di business sono layout pre-costruiti, integrazione oData, modelli Smart (basati su metadati), libreria di grafici, tematizzazione, linee guida di progettazione ecc. Tutti questi messi insieme in una singola struttura aiutano a fornire applicazioni coerenti e semplici. Per esempio, possiamo visualizzare i dettagli dei dipendenti usando l'Object Page Layout integrato e ben progettato e quindi non dobbiamo preoccuparci dell'aspetto di ogni elemento. Per quanto riguarda Ionic, contiene per lo più componenti di base che sono adatti a costruire rapidamente applicazioni di livello base o intermedio. Se Ionic fornisse alcuni di questi layout in-built (anche come framework per applicazioni consumer) aiuterebbe a costruire applicazioni aziendali semplici e coerenti. Inoltre, un'interfaccia utente guidata dai metadati è importante per costruire applicazioni aziendali. Aiuta semplicemente il team IT a sviluppare e rilasciare le loro applicazioni rapidamente.
Per concludere, Ionic si rivolge alle applicazioni consumer, quindi è importante per loro fornire le prestazioni e la sensazione di utilizzare un'applicazione nativa iOS o Android o qualsiasi altra piattaforma. Queste prestazioni e sensazioni di un'applicazione nativa dovrebbero essere portate anche nel mondo delle imprese. Andando avanti, se UI5 deve fornire transazionale di alta qualità, analitico, specialmente i cruscotti analitici in tempo reale, ha bisogno di ripensare i suoi blocchi centrali. I design Fiori sono concetti ben pensati e la gamma di layout predefiniti offerti in un unico framework è enorme. Nessun'altra piattaforma offre questo. Pertanto, invece di costruire un altro SDK per la piattaforma nativa, se SAP desse una spinta alle prestazioni del suo framework UI5, farebbe meraviglie per la sua piattaforma Fiori.
Articoli simili
- Cosa dovrei scegliere, Angular.js o .NET MVC? Quale lingua ha migliori prospettive di carriera?
- Quali sono le differenze tra i vari framework front end di material design? (Material Ui, Angular Material, Polymer - qual è il migliore?)
- È necessario prendere la certificazione sap?
- Which laptop is the best for the SAP Project Systems practice?