What Do I Have, Want, and Do?
- Google… Angular
- Facebook… React
- China… Vue
- Me… nothing yet, no name, and I don’t really want to give it one. I just love coding and building things I enjoy. So I coded a JS framework.
Well… it’s not really a framework.
- Its folder structure is inspired by Angular.
- It’s built with Web Components and OOP in JavaScript. Many people code without really knowing what they’re building. I don’t like that. I like managing my code, naming everything thoughtfully, thinking through every detail. It takes time, but it’s worth it. And after many trials, I finally built my first JS framework.
No node_modules, no external libraries—always knowing exactly what I’m coding. That’s what I wanted.
The Challenges
Nothing worthwhile is easy, and I had my fair share of struggles.
1. JavaScript itself
I wasn’t good at it. I came from C#, then Angular (TypeScript), then Golang. I had to relearn JavaScript extensively. But I loved it.
“Anyway, JavaScript still runs.”
It’s nothing like Golang (my main back-end language), and it doesn’t follow the strict OOP rules of C# or TypeScript. JavaScript is curious, chaotic, alive.
2. Working alone
I’ve mostly been a solo developer. But this became my advantage—it freed me from overthinking and unnecessary constraints.
3. Finances
Sure, it’s tough. But I use this framework to make money. The market is competitive, but I trust what I’m building.
What I Needed in a JS Framework
- Router – the first thing I built. It distributes routes efficiently across the app.
- Template system – a core step toward basic programming components. Like other frameworks, I made it for flexibility.
- Render engine – the most crucial part. Initially, I used JavaScript templates, then experimented with HTML templates from other frameworks. Eventually, I wrote my own, removing redundant code. I love that it’s mine.
- Lazy loading – modern frameworks need it. I implemented it my way.
Why I Did It
- I needed an SPA for important parts of my platform—web apps and website tools.
- I wanted to optimize my projects, writing code once and running it anywhere. It’s like Angular services, but I distribute it across all my platforms for faster development and higher reusability.
- I wanted clean code—every line and word I write, I understand it, so I can fix bugs efficiently.
- I trust myself and my vision. Fear doesn’t stop me; doing the work makes fear irrelevant.
Looking Ahead
There’s still a lot to do, but writing this today makes me happy.
This framework represents my philosophy: building what I need, in my way, for my journey. It’s messy, personal, and completely mine—and that’s exactly how I like it.
**NOTES
- Article posted in 2020 and reposted -AI-powered translation
- Read the original Vietnamese version here:** https://hnq.vn/blog/toi-da-viet-mot-framework-js-nhu-the-nao
More about me:
- Blog: huynhnhanquoc.com
- GitHub: github.com/huynhnhanquoc
- Open Source: github.com/kitmodule
- Buy me a Coffee: buymeacoffee.com/huynhnhanquoc
- Keep me Dreaming: ko-fi.com/huynhnhanquoc
Thanks for reading Huỳnh Nhân Quốc Blog's article! Subscribe for free to receive new posts and support my work.
Top comments (0)