meta data for this page
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
ixc2024:tech:wfrontend:criteria:greencode [2024/05/22 14:18] – rubenhuygens | ixc2024:tech:wfrontend:criteria:greencode [2024/05/22 15:38] (current) – alesta | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== Green Code Book ==== | + | ==== Green Code Suggestions |
- | Here are 20 best practices derived from the concepts in the "Green Code" book: | + | Here are ~20 best practices |
- | * Minimize Data Traffic: Reduce the amount of data transferred by optimizing images, compressing files, and utilizing efficient formats. This includes using formats like WebP for images and minifying CSS, JavaScript, and HTML files. | + | |
- | * Implement Efficient Caching: Use browser caching to store static resources locally on the user's device. This reduces the need for repeated downloads. | + | Reduce emissions: |
- | * Optimize Images and Videos: Compress images and videos using tools like ImageOptim or HandBrake. Serve images in next-gen formats like WebP and videos in optimized formats like MP4. | + | |
- | * Lazy Loading: Implement lazy loading for images and videos | + | |
- | * Reduce Unused Code: Regularly audit and remove unused CSS, JavaScript, | + | |
- | * Efficient Font Loading: Use only the necessary font weights and styles. Consider using system fonts to reduce the need for external font loading. When using web fonts, ensure they are loaded asynchronously and consider subsetting fonts to include only the characters needed. | + | |
- | * Simplify Design: Focus on minimalistic design to reduce the amount of CSS and JavaScript required. Simplified designs are often more user-friendly and faster to load. | + | |
- | | + | * **Optimize Images and Videos:** Compress images and videos using tools like ImageOptim or HandBrake. Serve images in next-gen formats like WebP and videos in optimized formats like MP4. |
- | | + | * **Use SVGs:** Where appropriate, |
- | * Optimize for Accessibility: | + | * **Optimize Forms and User Inputs:** Reduce the size of user-uploaded images |
- | | + | |
- | * Use Content | + | * |
- | * Implement Dark Mode: Offer a dark mode option for OLED screens, which can save battery life for users. Ensure that dark mode is implemented efficiently without duplicating resources. | + | |
- | * Use Efficient JavaScript Libraries: Choose lightweight JavaScript libraries and frameworks that offer the required functionality without excessive overhead. For instance, consider using Preact instead of React for smaller applications. | + | |
- | * Optimize Forms and User Inputs: Reduce | + | |
- | * Static Site Generation: Consider using static site generators for websites | + | * **Efficient Animations:** Use CSS animations instead of JavaScript for better performance and lower energy consumption. Avoid heavy animations that can drain device battery and processing power. |
- | * Progressive Web Apps (PWAs): Develop | + | |
- | * Use SVGs: Where appropriate, | + | |
- | * Monitor | + | * **Reduce HTTP Requests:** Combine files where possible (e.g., CSS sprites, combined JavaScript files) to minimize the number of HTTP requests required to load a page. |
- | * Educate and Collaborate: Ensure | + | * **Energy Efficient |
+ | * **Monitor and Optimize Performance:** Regularly monitor your website' | ||
+ | |||
+ | |||
+ | Accessibility: | ||
+ | * **Simplify Design:** Focus on minimalistic design to reduce | ||
+ | * **Responsive Design:** Use responsive design principles to ensure | ||
+ | * **Optimize for Accessibility:** Ensure | ||
+ | |||
+ | |||
+ | Increase maintainability: | ||
+ | * **Reduce Unused Code:** Regularly audit and remove unused CSS, JavaScript, and other resources. Tools like PurifyCSS can help identify | ||
+ | |||
+ | |||
+ | Finally: | ||
+ | * **Holistic approach:** Understand both the business logic behind the solution |