Keine Notizen für die Folie
UI5 evolution is the successor of project Cheetah and the innovation project of UI5.
Start with the Duplo Block
Split into separate pieces => Modularization
Build the jet => Performance
Add the train => Trends
Why do we not do this together with the community?
- We need to learn what to do? We need a plan what to do and provide the basement/structures!
- We need to see how we can do that?
15min – 20min
“Remove sync XHR, leverage dependency analysis for existing bundling tools, standard module loaders, HTTP/2, etc.!”
“Make independent of DOM API and jQuery to structure and maintain code in a clean, layered architecture!”
“Universal Core allows for build time optimizations such as XML templating!”
“Allows to reduce footprint by picking and combining the individual parts needed, instead of a larger, monolithic code!”
“Helps to renovate the libraries concept – remove the runtime overhead!”
Demo: Showcase new module structure / Migration tooling (explain) => compatibility!
jquery.sap.* modules will be split into individual modules and used inside jquery.sap.* modules to ensure compatibility for legacy scenarios
Explain the importance of the build tooling
“Plays a central role for performance; a lot of runtime aspects shift to compile-time!”
“Supports developers in entire lifecycle, e.g. generating apps from sources, testing or scaffolding projects and assets!”
“Establish a familiar environment for developers, which can be easily enhanced with additional tools!”
“Is to become open-source and uses open-source to benefit from de facto standard tooling and innovations!”
“Bridges the gaps of today‘s Node.js tooling for large software projects and fulfills enterprise scaling requirements!”
Environment: CLI for simplistic and standard usage / individual build modules for integration aspects and custom usage
Continuous TransitionIdentify features of existing Maven build tools to be converted and complemented by node.js solutions.
Reference appsProvide and evolve sample apps that perfectly align with the development activities for a modular core and build tooling. Low complexity while showcasing all practical use cases.
Developing appsGenerate a running app from sources, across code repos, unmodified and not relocated. For a maximum of debugging capabilities and improved developer efficiency.
Deploying appsGenerate a self-contained application ready for deployment. Leverage dependency management and sophisticated bundling to only include required, optimized resources.
Hybrid mobile appsDemonstrate practical deployment of such a self-contained app package via Apache Cordova framework.
Demo: Comparision of preload and custom build…
Self-contained build => 1/3 size of preload build.
Composition: aggregates standard controls or other composites -> lower the amount of controls to provide
“Strict separation between rendering & programming model!”
“Rendering layer should be agnostic to support arbitrary programming models – without the overhead of using the UI5 programming model!”
“Reduce the amount of controls; establish better composition support without overhead!”
“Allow the usage of the rendering during runtime and compile-time!”
“Shift rendering to Web Workers!”
Demo: Showcase how the handlebars based rendering
Example of declarative renderer based on Handlebars
Demo: Showcase a Fiori application with new codebase
Fiori Elements application runs on top of Evolution code base.