Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What is the status on this tooling? I can't find any releases, is it in alpha, beta, stable or in development? #175

Closed
ghost opened this issue Aug 13, 2019 · 7 comments

Comments

@ghost
Copy link

ghost commented Aug 13, 2019

No description provided.

@codeworrior
Copy link
Member

codeworrior commented Aug 13, 2019

Sorry for the confusion. ui5-tooling is only a wrapper repository providing documentation for all building blocks of the tooling. As documented in the GettingStarted page, the installable software can be found in ui5-cli.

@ghost
Copy link
Author

ghost commented Aug 13, 2019

@codeworrior Is there any project going on for a UI5 CLI tool (Angular CLI alike)?

@matz3
Copy link
Member

matz3 commented Aug 13, 2019

@shreyansh-zazz I think the mentioned UI5 CLI is what you are looking for: https://github.com/SAP/ui5-cli

@ghost
Copy link
Author

ghost commented Aug 13, 2019

Hi, @matz3 thanks for replying. But I don't think that ui5-cli is yet standalone tooling that can be used to develop a UI5 application from scratch.

@matz3
Copy link
Member

matz3 commented Aug 14, 2019

I guess you are referring to scaffolding / spinning up a new project, right?
This is currently not available but on our roadmap, see: #40 and #101

@ghost
Copy link
Author

ghost commented Aug 16, 2019

Hey @matz3 what reconciliation algorithm does UI5 uses?

@codeworrior
Copy link
Member

codeworrior commented Aug 16, 2019

I would say, the answer is: it depends.

  • Initially, the string based rendering of UI5 updated the whole DOM for a subtree of controls when the subtree was known to have changed. The update happened with innerHTML which - when UI5 started - was the fastest way to create larger DOM structures.
  • later, small updates (e.g. those due to data binding changes), have been optimized by manually implementing DOM updates in the setters of UI5 controls. Controls still used string rendering for the initial rendering. If you want, you can somewhat compare this to Angular's binding-based optimizations. But it's neither analyzed at build time nor is it part of the framework, only of the controls on top (with the advantage of being much more flexible in case of dynamic structure changes, e.g. change of item type in a list, or customizing UIs at runtime, all features that UI5 has to provide for SAP's apps)
  • since a few releases, we migrate the rendering code of our controls to a new API that allows to switch under the hood between a string based approach for initial rendering (could even use DOM APIs now for that purpose) and a DOM-patching approach (diff) for later updates. This is comparable to what React's reconciliation does, but without the overhead of creating another virtual structure (VDOM etc.)

But I wonder why you ask this in the tooling repository. Is it because you missed the related optimizations from Angular's tooling? Yes, that's not a feature of the ui5-cli and from the above explanations (reg. dynamics), you might guess that it is not likely to arrive in the near future.

Nevertheless, it was indeed considered and discussed a few years back when we started with our evolution efforts. So I wouldn't completely rule out future support for it, e.g. in more static scenarios.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants