Progressive Rendering is a set of techniques used to improve the performance of a web page, especially in terms of how quickly content is displayed to users. Parts of the page are displayed and loaded gradually, instead of the entire page loading at once. The goal is to display the content as quickly as possible, thereby improving the perceptual loading time - the time during which the user perceives that the page is loading.
Advantages of progressive rendering
Faster display time - Users see the first content faster, which improves the user experience, especially on slower networks.
Optimization for weaker devices - Less powerful devices can more easily display initial content without lag.
SEO uses - Search engines index initially loaded elements, which helps in better page ranking.
Techniques for progressive rendering
Techniques used for progressive rendering include lazy loading for images and other resources, server-side rendering (SSR), and client-side hydration code SPA application.
While progressive rendering was especially important in the days when the internet was slower, it is still useful in today's development due to the widespread use of mobile networks which can be unreliable. Here are some techniques used for progressive rendering.
1. Lazy loading of images (Lazy loading)
In this technique, the images on the page are not loaded all at once. Instead, images are loaded only when the user scrolls to the part of the page where the image is located. In this way, resources are used more economically and the page loads faster because only the most important content is displayed first.
-
Modern lazy loading: HTML now supports the loading="lazy" attribute for
elements, which tells the browser to delay loading images that are outside the visible part of the page until the user scrolls near them. For example:
<img src="/static/imghwm/default1.png" data-src="image.jpg" class="lazy" loading="lazy" alt="Opis slike">
- JavaScript scroll tracking: You can use JavaScript to track the scroll position, and when the image comes close to the visible part of the screen, loading the image can be triggered at that moment (by comparing the coordinates of the image with the current scroll position).
2. Priority for visible content (Rendering content above the overlay)
By "content above the fold" we mean content that is immediately visible in the browser without scrolling. In order for the page to display this key content as quickly as possible, only the necessary resources such as basic CSS and initial page rendering scripts need to be loaded.
Minimizing resources: When loading a page, you should only include the minimum amount of CSS, content, and scripts necessary to render the first part of the page. Other resources can be deferred using defer scripts or by monitoring events such as DOMContentLoaded or load, so that additional resources are loaded after the initial display.
3. Asynchronous HTML Fragments
This technique allows the server to send part of the HTML to the browser so that the page can be rendered immediately, while the remaining parts are loaded successively. This approach is especially useful for dynamic pages where the content comes from the server - a part of the page is displayed first, while other parts are added later.
4. Preload and prefetching of resources
Using or to load critical resources such as styles, scripts or fonts before they are needed. This allows content to load faster, especially for resources that are not immediately needed but are used later on the page.
5. Code splitting and dynamic JavaScript loading
Breaking the JavaScript code into smaller parts (chunks) that are loaded only when needed, thus reducing the initial volume of data that is downloaded.
6. CSS critical path (Critical CSS)
Isolating and loading only the most important CSS for the initial page display, while the rest can be loaded asynchronously. This allows visual content to be rendered faster while the rest of the page loads in the background.
7. Server-Side Rendering (SSR) and Static Site Generation (SSG)
Rendering parts of the page on the server before they are sent to the user. This allows users to see content immediately without waiting for JavaScript to load, resulting in better performance and SEO.
8. Progressive Web Apps (PWA)
Using PWA technology allows loading and accessing the application even when the user is not online, which reduces network load and enables fast loading of content even in conditions of poor internet connection.
Conclusion
Progressive rendering helps achieve faster content rendering, thereby reducing perceived load times. Regardless of faster internet connections, these techniques are still useful due to the increased use of mobile devices and the changing quality of mobile networks. In this way, you provide users with a better experience, with faster access to the most important information on your page.
The above is the detailed content of Progressive rendering: improving the performance of content display. For more information, please follow other related articles on the PHP Chinese website!

JavaScript is at the heart of modern websites because it enhances the interactivity and dynamicity of web pages. 1) It allows to change content without refreshing the page, 2) manipulate web pages through DOMAPI, 3) support complex interactive effects such as animation and drag-and-drop, 4) optimize performance and best practices to improve user experience.

C and JavaScript achieve interoperability through WebAssembly. 1) C code is compiled into WebAssembly module and introduced into JavaScript environment to enhance computing power. 2) In game development, C handles physics engines and graphics rendering, and JavaScript is responsible for game logic and user interface.

JavaScript is widely used in websites, mobile applications, desktop applications and server-side programming. 1) In website development, JavaScript operates DOM together with HTML and CSS to achieve dynamic effects and supports frameworks such as jQuery and React. 2) Through ReactNative and Ionic, JavaScript is used to develop cross-platform mobile applications. 3) The Electron framework enables JavaScript to build desktop applications. 4) Node.js allows JavaScript to run on the server side and supports high concurrent requests.

Python is more suitable for data science and automation, while JavaScript is more suitable for front-end and full-stack development. 1. Python performs well in data science and machine learning, using libraries such as NumPy and Pandas for data processing and modeling. 2. Python is concise and efficient in automation and scripting. 3. JavaScript is indispensable in front-end development and is used to build dynamic web pages and single-page applications. 4. JavaScript plays a role in back-end development through Node.js and supports full-stack development.

C and C play a vital role in the JavaScript engine, mainly used to implement interpreters and JIT compilers. 1) C is used to parse JavaScript source code and generate an abstract syntax tree. 2) C is responsible for generating and executing bytecode. 3) C implements the JIT compiler, optimizes and compiles hot-spot code at runtime, and significantly improves the execution efficiency of JavaScript.

JavaScript's application in the real world includes front-end and back-end development. 1) Display front-end applications by building a TODO list application, involving DOM operations and event processing. 2) Build RESTfulAPI through Node.js and Express to demonstrate back-end applications.

The main uses of JavaScript in web development include client interaction, form verification and asynchronous communication. 1) Dynamic content update and user interaction through DOM operations; 2) Client verification is carried out before the user submits data to improve the user experience; 3) Refreshless communication with the server is achieved through AJAX technology.

Understanding how JavaScript engine works internally is important to developers because it helps write more efficient code and understand performance bottlenecks and optimization strategies. 1) The engine's workflow includes three stages: parsing, compiling and execution; 2) During the execution process, the engine will perform dynamic optimization, such as inline cache and hidden classes; 3) Best practices include avoiding global variables, optimizing loops, using const and lets, and avoiding excessive use of closures.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SublimeText3 Chinese version
Chinese version, very easy to use

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.