I found my previous thoughts quite interesting, so I decided to polish them and post a piece on my blog. This title sounds impressive, but in fact, it applies to various industries.
Recently, I saw someone discussing "how to systematically learn frontend," mentioning that many aspects of frontend architecture have remained unchanged for years, and we should focus more on overall architectural design and controlling code complexity.
I agree with this statement, but I would like to add a few points. Frontend is actually a very broad field, which can be subdivided into toC frontend, toB frontend, infrastructure frontend, WebGL frontend, and so on. To learn systematically, one must first clarify the direction: is it focused on user experience, deepening business logic, or investing in toolchain development? The content to be deepened varies greatly depending on the direction.
Moreover, frontend is not static. Users are not just users of enterprise systems; there are many types focused on creative expression and visual presentation. Game frontend is frontend, future VR/XR pages are also frontend, browser plugin/mini-program development is frontend, and Node development can also be considered frontend—if we broaden it a bit, cross-platform development is also an extension of frontend.
From the perspective of a toC frontend, if I were to give advice, frontend animation, CSS, Three.js, interactive performance, performance optimization, SEO... each area has a whole knowledge system behind it, and digging deeper is never-ending. As for technology selection, it often needs to follow business requirements, and there is no one-size-fits-all "best practice."
On the other hand, frontend technology itself is continuously "changing." Take CSS for example; in recent years, there has been a push to eliminate preprocessors and make it more user-friendly: native nesting syntax, @if
functions, anchor positioning, container queries, shape()
functions... Many things we used to rely on preprocessors or hacks to achieve are now gradually being standardized. Browser compatibility is also steadily improving, even Safari is trying to catch up—like WebGPU finally getting support in iOS 26 (although I often complain about Safari, seeing more features being supported and progressive enhancement becoming more feasible is indeed a good thing).
Although there are still many historical legacy issues in frontend that are quite bad, we should also see that it is getting better. If you are interested in this topic, I recommend a great article I read before: HTML is Dead, Long Live HTML, which is very profound.
In my view, the "change" in frontend is more reflected in the rapid iteration of external technical forms—CSS standards are constantly updated, build tools are innovating, and framework ecosystems are rising and falling. Today, Webpack is popular, but tomorrow it might be replaced by Vite; just when you’ve just understood Vue 2, Vue 3's Composition API has become mainstream. This kind of change is superficial and tool-based, and it is precisely what frontend is most easily seen and criticized by others.
What remains "constant" are the underlying issues and core design philosophies: how to manage state, how to decompose components, how to optimize rendering efficiency, how to achieve a maintainable code structure, and how to ensure consistency in user experience. These propositions have never disappeared from the early jQuery era to today's React and Solid.js; they have only reappeared under different technical paradigms with different syntax and architecture, in any language.
I believe the development of frontend is essentially an "evolution of expression methods," rather than a "replacement of problems."
Therefore, mastering frontend is not about blindly chasing every new tool or framework, but about identifying those enduring principles amidst the changes—understanding them is the key to truly establishing your own transferable technical capabilities.
Finally, I want to say that frontend is far more than just a competition of "proficiency." It has both the surface of interfaces and the depth of engineering; it needs to address the details of interaction while also grasping the stability of architecture. Writing an animation can be as simple as using setInterval, or it can delve into rendering principles, performance levels, and visual algorithms. Choosing "how to do it" is itself a process of technical judgment and architectural thinking.
Any craft relies on repetition and accumulation as its foundation. But if you think frontend merely involves "cutting pages, adjusting styles, and writing interactions," then you really underestimate this field.
The so-called "lack of technical content" may just be because one hasn't encountered truly complex problems yet.
As I write this, I realize it seems applicable to any direction, hahaha.
Sometimes I think the true charm of frontend may lie precisely in its closeness to "expression."
Having seen many small and beautiful websites overseas, I really feel a bit envious—an album, an artist, a public welfare initiative, a corner hotel, or even a local food product, all have someone willing to carefully create a uniquely styled little website for them. They may not be complex, but they are full of personality, carrying the warmth and ingenuity of the creator.
This culture of "anything can have a small website to showcase" reminds me of the early days of the Web, where there were always people criticizing and always people loving it. Frontend is not only a tool for fulfilling needs but can also become a canvas for creative expression.
Perhaps this is precisely what has always attracted people to frontend technology: it consistently embodies the pursuit of beauty, the expression of creativity, and the belief that every idea deserves to be presented well.