Optimizing Next.js Apps for Speed and Performance: Best Practices