Temporary Thoughts
The ultimate goal of frontend development is to produce usable HTML, CSS, and JS.
This is the significance of learning tools like Vue, Vue DevTools, Vuex, Vue Router, Angular, RxJS, Angular Forms, React, Redux, React Router, React Hooks, Styled Components, TypeScript, Webpack, npm, Yarn, Babel, ESLint, Axios, Grunt, Gulp, Linters, Sass, Less, Jest, Tailwind, and countless UI libraries specifically developed for frameworks, as well as various visual low-code platforms in web development (note: not mobile development).
The final HTML needs to be hosted by a web server. Solutions include:
- Third-party web servers like nginx, IIS, etc.
- Integration into backend frameworks, using the hosting server of the backend language.
Typically, a frontend project generates a compact HTML file, a minified and obfuscated JS file, and a compressed CSS file, which are then hosted using nginx and call backend APIs to enable access.
In other words, if AI learns how to create HTML, CSS, and JS, it could bypass these tools and directly generate the final files. What might defeat these tool stacks could be LLMs and customized AI agents.
Currently, LLMs are developing very rapidly. For example, MetaGPT can already generate simple Python backend projects. However, frontend development involves human visual aspects, which are not easy to handle, so it might still require some waiting. I think this direction has the potential to succeed, and currently, frontend positions seem even more at risk than backend ones.
Since there are no suitable AI tools for generation yet, and personal projects still require beautiful pages generated by Vue or React, we still have to use Vue or React to generate HTML, JS, and CSS. This part of the engineering work can actually be outsourced. Once AI matures, we can let AI handle it to further save labor costs.
Additionally, in the long run, I don't think using JS for backend development is a good idea. Statically typed languages are more stable. Once AI solves the time-wasting frontend issues, backend developers focusing on business development can accomplish more and solve more practical problems (such as architecture, databases, and mathematical challenges).
Other News
Lodash Closes Issues
The veteran JS utility library Lodash has closed all issues, uniformly marking them as "issue bankruptcy" (Figure 2), indicating an inability to handle them and simply shutting them down.
TypeScript Abandoned by DHH
The direction of frontend development should be that of a creative painter, and every creative painter has a solid foundation in basic skills. That is, they must master both foundational and advanced techniques and also be able to innovate.
Personally, I think frontend engineering should be customized. Ordinary projects should resist increasing technical complexity, avoid repeatedly wrapping tools in layers, and avoid forming a dependency on tools.