UNPKG

@enaio-client/communication-library

Version:

The Communication Library facilitates secure cross-origin communication between the enaio® webclient and dashlets/modal dialogs, using window.postMessage(). This library streamlines the process, ensuring compatibility with the enaio® client, and offers an

45 lines (35 loc) 3.36 kB
To achieve noticeable performance improvements early on, it's best to prioritize subtasks based on impact and effort (low-hanging fruit). Here's the recommended order: ### 1. **Decreasing Third-Party Bundle Sizes (Estimation: 3)** - **Why**: This is a quick win that can significantly reduce bundle size and improve load times with minimal effort. - **Outcome**: Immediate reduction in bundle size will improve the overall loading performance. ### 2. **Potential Improvements for Static Assets (Estimation: 3)** - **Why**: Optimizing images and icons can have a quick impact on reducing the app's size and improving rendering performance. - **Outcome**: Improved asset performance (smaller file sizes, faster load times). ### 3. **Lazy-Loading of ngModules (Estimation: 8)** - **Why**: Implementing lazy-loading for large modules (Workflows, Inbox, User Management) can greatly reduce initial load time by deferring the loading of unused modules. - **Outcome**: Significant reduction in initial load time and improved user experience, especially for first-time visitors. ### 4. **Caching Strategy for Static Assets (Estimation: 8)** - **Why**: Once the app is loading more efficiently, caching assets like icons, images, and static files can reduce the need to download resources repeatedly, further speeding up subsequent visits. - **Outcome**: Improved loading times for return users with better offline capabilities. ### 5. **Loading Platform-Specific Resources (Estimation: 5)** - **Why**: Loading platform-specific resources can streamline asset delivery by serving lighter resources, improving performance on different platforms. - **Outcome**: Optimized performance for platform-specific users (mobile, desktop). ### 6. **Lazy Loading of Data (Estimation: 5)** - **Why**: By lazy-loading data for large entities, you can defer unnecessary data fetches, reducing initial load times. - **Outcome**: Optimized data fetching, especially for large datasets or unused features at startup. ### 7. **Standalone Components (Estimation: 5)** - **Why**: Refactoring components to be standalone can reduce dependency chains, which improves modularity and potentially reduces bundle size. - **Outcome**: Slight improvement in loading performance and easier maintenance of components. ### 8. **Angular Signals for Reactivity (Estimation: 5)** - **Why**: Angular Signals can enhance reactivity and state management, which will have longer-term benefits, but requires more effort to implement and test. - **Outcome**: Improved reactivity in specific areas of the app, leading to faster updates and better state management. ### Summary of Order: 1. **Decreasing Third-Party Bundle Sizes** 2. **Potential Improvements for Static Assets** 3. **Lazy-Loading of ngModules** 4. **Caching Strategy for Static Assets** 5. **Loading Platform-Specific Resources** 6. **Lazy Loading of Data** 7. **Standalone Components** 8. **Angular Signals for Reactivity** This order focuses on quick wins early on (bundle sizes, static assets), followed by more impactful but larger tasks (lazy-loading modules and caching). By the time you implement Angular Signals, you'll already see noticeable performance improvements, and the deeper reactivity benefits will further optimize the app.