During this project, I explored how different front-end frameworks handle DOM operations by building the same to-do application in React, Angular, Vue, and Svelte. One of the main challenges I faced was adapting to the different paradigms each framework uses. For example, Angular required understanding directives and two-way data binding, while React focused more on state management and component re-rendering. Svelte was different because it compiles code at build time, which reduced the need for runtime processing. Optimizing DOM operations was also challenging when handling a large number of tasks. In React and Vue, efficient state updates and key management were important to avoid unnecessary re-renders. Angular’s change detection sometimes caused additional overhead, especially with larger datasets. Svelte, however, handled updates more efficiently due to its compile-time optimizations. In terms of performance, Svelte demonstrated the best results in most scenarios, especially for initial rendering and updates, because it directly updates the DOM with minimal overhead. React and Vue performed well but required optimization techniques such as memoization or proper state handling. Angular was slightly slower in some cases due to its more complex change detection mechanism. Overall, this project helped me understand how different frameworks approach DOM manipulation and how those approaches impact performance.