Here is a quick checklist for checking performance on Backbase Applications:
Stage 1: Architecture and Design
During the early stage of the web application life cycle, we should pay attention to the following:
- Balance out the amount of client-side business logic with server-side logic
- Divide client-side architecture into a direct shown part (content that can be directly shown in view space) and a logic part (functions and objects that will be created later)
- Set up architecture design with separation of concerns, e.g. divide components into Model View Controller (MVC) model
- Create custom container widgets and contained widgets as one
Stage 2: Implementation
In the implementation stage, there are lots of Backbase techniques that can improve performance.
- Combine model space island with view space island
- Use Backbase progressive enhancement techniques
- Import HTML
- View handlers/lightweight Ajax
- Use deferred loading techniques
- Lazy loading for content data or UI widgets
- Lazy construction for custom widgets
- Use smart pruning technique: remove unused elements and behaviors
- Put static content into view space
- Make correct choice of widgets, including the obvious HTML elements (for example, simple divs might be better than the Backbase panelSet in some situations)
- Create element behavior for repeated event handlers/methods
- Choose proper programming model: JavaScript or theBackbase declarative language (XEL)
- Apply the Backbase data binding technique for the same data across/among UI elements
- Use appropriate skinning, e.g. use system skin for standard layout and chameleon skin for more fancy style
Stage 3: Deployment
When deploying the project to the web environment, there are also many tips to improve performance.
- Use Backbase production version
- Minimize the number of HTTP requests
- Aggregate binding and definition files
- Use dynamic bindings resolution
- Aggregate CSS and JavaScript
- Use CSS Sprites technique
- Use server-side include techniques
Stage 4: Server side optimization
On the server side, there are two common ways for performance optimization:
- Use compression function and enable GZip on the server
- Use Content Distribution Networks to battle network latency
More info:
Performance Tuning - Chapter 1: Architecture and Design
Performance Tuning - Chapter 2: Implementation
Performance Tuning - Chapter 3: Deployment
Performance Tuning - Chapter 4: Server-side Optimization
Performance Tuning - Chapter 5: Testing
