phone

(+351) 91 654 82 93

phone

(+351) 21 019 01 41

Get in touch
Articles
November 24, 2025

How to build performance optimized screens with OutSystems

line hero

OutSystems Screen Optimization for High Performance

This article focuses on best practices to ensure your OutSystems application screens are fast and efficient, emphasizing that 80% of performance is determined by design choices.

1. Optimize Data Fetching:

     
  • Use Pagination to prevent database overload and timeouts, fetching only a subset of data (e.g. 20 records).
  •  
  • Implement the Debounce Pattern for auto-search inputs. This ensures a server request is triggered only after the user stops typing, drastically reducing the number of requests (e.g. from 20 to 1 for a 20-character search).
  •  
  • Apply the Two-Query Approach for high-traffic screens: a simple query on initial load, and a complex one only when advanced filters are explicitly applied.
  •   

2. Avoid Data Fetching in Blocks within Lists:

     
  • Do not place data fetches (Aggregates/Data Fetches) inside UI Blocks that are used repeatedly in a List or Table. This causes an exponential increase in server requests (e.g. 50 extra requests for a 50-row list).
  •  
  • The Solution: Extend the main list query to fetch all required data and pass it to the Block via input parameters.
  •   

3. Use Parallel Data Fetches (Reactive Web):

     
  • Move away from the Traditional Web "Preparation" mindset.
  •  
  • Create a separate Aggregate/Data Fetch for each independent data set (e.g. products, categories) and set them to run "At Start". Reactive automatically runs them in parallel, improving rendering time and providing a progressive user experience.
  •   

4. Make Heavy Tasks Asynchronous:

     
  • For slow operations (e.g. external API calls, PDF generation), use light BPT processes to run them in the background.
  •  
  • This prevents users from waiting, boosting productivity and user experience.
  •   

5. Client vs. Server:

     
  • Client-Side (Browser): Faster, no network latency. Ideal for quick, non-sensitive operations (e.g. form validation, string manipulation, filtering already loaded lists).
  •  
  • Server-Side (Server): More secure, capable of heavy computations. Necessary for database fetching, secure credential storage, and heavy computation logic.
  •  

By applying these strategies, you will not only create better user experiences but also build scalable, future-proof OutSystems applications.

Read the full article here:

Share
linkedinfacebookinstagramlinkedin