Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider Using CDN for Icons Instead of a Sprite Sheet #70

Closed
4444TENSEI opened this issue Sep 13, 2024 · 2 comments
Closed

Consider Using CDN for Icons Instead of a Sprite Sheet #70

4444TENSEI opened this issue Sep 13, 2024 · 2 comments
Assignees
Labels
dependencies Pull requests that update a dependency file enhancement New feature or request
Milestone

Comments

@4444TENSEI
Copy link

I was wondering if you would consider using a CDN to serve the icons instead of using a sprite sheet? Here are a few reasons why this might be beneficial:

Performance Improvement: CDN-hosted icons can be cached and delivered more quickly to users around the world, reducing load times and improving overall performance.
Selective Loading: With individual icons, users can load only the icons they need for a particular page or component, rather than downloading an entire sprite sheet that may contain unused icons.
Easier Maintenance: Managing a sprite sheet can be cumbersome, especially as the number of icons grows. CDN hosting allows for easier updates and additions to the icon set without the need to recompile a sprite sheet.
Browser Caching: Browsers can cache individual icons from a CDN, which means that once an icon is loaded, it doesn’t need to be re-downloaded on subsequent visits, further improving load times.
Scalability: As the project grows, the sprite sheet can become bloated and less efficient. CDN hosting scales better with the size of the project and the number of icons.
Compatibility: Some browsers may have issues with large sprite sheets, and using a CDN can mitigate these compatibility issues.
I understand that this might be a significant change, but I believe it could greatly enhance the user experience and maintainability of the project. What are your thoughts on this approach?

Thank you for considering this suggestion.

@JonathanXDR
Copy link
Owner

Thank you for your detailed suggestion regarding the use of a CDN for serving icons instead of a sprite sheet. I appreciate the time you've taken to highlight the potential benefits of this approach. I'll need some time to evaluate this suggestion in the context of the current project setup and future plans. I'll investigate the feasibility and potential benefits of implementing this change. If the advantages outweigh the effort required for implementation, I'll certainly consider making this switch. I'll provide an update once I've had the opportunity to fully evaluate your proposal.

@JonathanXDR JonathanXDR self-assigned this Oct 9, 2024
@JonathanXDR JonathanXDR added the enhancement New feature or request label Oct 9, 2024
@JonathanXDR JonathanXDR added the dependencies Pull requests that update a dependency file label Oct 28, 2024
@JonathanXDR
Copy link
Owner

JonathanXDR commented Nov 30, 2024

Thank you for waiting while I considered the best approach for this issue. I’ve decided to switch to an Iconify custom icon collection using the @nuxt/icon module instead of implementing a custom CDN. This approach is significantly less effort while still providing a robust solution for managing icons.

That said, I’ll need to wait for the resolution of nuxt/icon#265, as the current implementation doesn’t support icon names separated by dots, which is required for my project. Once that issue is resolved, I’ll proceed with the migration.

Thanks again for your patience and understanding! If you have any further suggestions or ideas, feel free to share them.

@JonathanXDR JonathanXDR moved this to Backlog in Application-Website Nov 30, 2024
@JonathanXDR JonathanXDR moved this from Backlog to In review in Application-Website Nov 30, 2024
@JonathanXDR JonathanXDR moved this from In review to Done in Application-Website Dec 22, 2024
@JonathanXDR JonathanXDR closed this as completed by moving to Done in Application-Website Dec 22, 2024
@JonathanXDR JonathanXDR added this to the v3.1 milestone Jan 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file enhancement New feature or request
Projects
Status: Done
Development

No branches or pull requests

2 participants