I have released a video editing program as open source.
I have released a video editing program as open source.
I am currently refactoring it. Recently, I migrated from JavaScript to TypeScript. I am addressing bugs and optimizations that were not completed last year, including state management. Since I’m refactoring anyway, I’ve decided to release it as open source.
I used Custom Elements. I was fascinated by the idea of web standards, but after using them, I couldn’t help but think, “How did I use something so inconvenient?” About a year ago, I got burned by this project and switched to the React/TypeScript stack.
Since the video needs to be rendered in real-time, it had to be made as lightweight as possible. Therefore, I am currently migrating to Litjs. It’s a framework made by Google, and it’s solid enough to be included as a basic template in vite. It’s a framework designed to handle Custom Elements easily from the start, so it has good compatibility.
In fact, I’ve experienced almost every trial and error with this project. Without type inference, I wasted time finding ipc communication methods and ended up in the worst-case scenario where components were interdependent. Thanks to this, it became an opportunity to apply TypeScript and learn React.
In the same context, I believe technical trial and error is necessary. When looking at the frontend stack, you might start using the React/TypeScript stack without knowing why React should be used or how to design dependencies. Since everyone around you is using it, you follow along, but I think you need to experience firsthand what is good about it and why it is a technology that has been used until now.
Especially for junior-level developers, I believe they should handle the previous technologies of the ones they are using. If it’s React, then the Custom Element web standard; if it’s Custom Elements, then pure HTML, CSS, and JS. In the current era where AI is deeply contributing to work productivity, it’s true that the basics are becoming more important.
Translated by GPT