Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Central topic to learn about rendering in UI5

Đang mở
#17 4 bình luận 5 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
25/100
Loại issue
Tài liệu
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Đình trệ
Lĩnh vực
documentation

Hướng nghiên cứu

Start by reviewing the existing Renderer Methods, Writing a Control Renderer, Extended Change Detection, and Best Practices for Developers topics referenced in the issue. Map the scattered rendering guidance and identify which examples use deprecated or inconsistent APIs. Done means producing one or two coherent rendering topics and updating the control-rendering best-practices section.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

In Process

It would be nice if there is a central place to learn about how renderings are done in UI5 (Especially for new developers with experience in popular frameworks).

1. General understanding

For newcomers and researchers:

  • Basics: what does "rendering" mean in the first place in the context of UI5? (I feel people often confound "rendering" with the paint event of the browser)
  • When, in which situation, or by which actions do controls get invalidated to rerender in UI5?
  • When rerendering, how is the DOM update in UI5 realized? String-based? VDOM? Incremental DOM / in-place DOM patching / semantic rendering? Using a third-party lib like lit-HTML (e.g. in case of UI5 Web Components)? Or something else? How does it work?
    And: how does the current rendering approach differ from other popular concepts? Is the rendering engine itself tree-shakable? Lower memory consumption? Any performance or complexity analysis (Big O)? Does UI5 require diffing the DOM trees to detect changes? Or is the DOM manipulation done directly without diffing?
  • What other concepts does UI5 provide to optimize DOM manipulation?
    Linking to other resources like Extended Change Detection, InvisibleRenderer.render, etc…
2. Implementing renderers

For advanced UI5 developers:

Motivation

Currently, it is easy to lose track of what best practices are, in which situation. Trying to understand the above mentioned points to get a full picture is not easy either. When going through the documentation:

  • Information about rendering seems scattered in different topics.

  • Code snippets in some topics still use the deprecated rendering APIs (write*(), add*(), …)
    Some use the new semantic rendering APIs (openStart(), class(), attr(), …).
    For beginners, it's not clear which one is new and which one is old.

  • Code snippets with inconsistent renderer assignments:

  • Code snippets with inconsistent renderer definitions:

    • In the control definition itself as renderer: {/*...*/}
    • A separate renderer module (e.g. MyControlRenderer.js)
      • Returning a plain object with bExport true (Not intended to be used for non-SAP developers)
      • Returning Renderer.extend(/*...*/); whereas Renderer is required from sap/ui/core/Renderer (Current best-practice AFAIK)
  • One or two topics that explain all the above points would help people to grasp rendering in UI5 quickly. Additionally, the Best Practices for Developers section "Control rendering" should be also enhanced afterwards.

Ngôn ngữ chính
Không có dữ liệu ngôn ngữ
Star
74
Fork
59
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của UI5/docs

Tất cả issue của UI5/docs

Issue tương tự

Thêm issue về Documentation

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.