开发一个im实时通信web网页版路程-01

38 阅读2分钟

距离大学毕业还剩半年,说不焦虑是假的。每天刷手机都能看到一堆人在喊“前端要失业了”、“低级程序员要被AI取代了”,说实话,看得我心里也有点慌。不过换个角度想——我本来就喜欢编程,这些声音反而让我更有动力去学得更深、更扎实。

我其实不算纯前端,之前也学过Java那一套,SpringBoot、MyBatis、Redis都用过。但想来想去,还是更喜欢前端那种“看得见摸得着”的感觉。既然选了这条路,我打算先把Java放一放,好好搞懂Node.js和NestJS。

最近我特别好奇一件事:像微信、QQ这种聊天软件,到底是怎么做到消息秒达的?查了不少资料,发现背后是WebSocket在支撑——一种能双向实时通信的协议。这东西太有意思了,我恨不得马上自己动手搞一个出来。

说干就干,我决定做一个网页版的实时聊天项目:

  • 前端用Vue3 + TypeScript + Pinia,是我比较熟的技术栈
  • 后端准备上Node.js + NestJS,正好边做边学
  • ui组件方面考虑考虑吧,看后面具体进度安排,我希望能够学着开发一个组件库

今天已经把大致的页面架子搭出来了,丑是丑了点,但功能优先嘛。先把聊天、消息推送这些核心功能跑通,再慢慢打磨界面也不迟。代码方面不能马虎,能封装的就封装,不能封装的也想办法封装,提高代码的维护性能。

今日进度:

  1. 前端项目基本构建完成,router也完成了个大致,pinia也做了持久化处理等,
  2. 首页也完成了大致的ui界面,消息页面封装了个组件layout布局,使用了slot插槽,分别有left、center、right,应该会方便后续的维护。

写代码的时候我就在想:或许那些“前端危机论”并不可怕。只要一直保持学习,做出真正能用的东西,路总会越走越宽的。

大佬们还有什么建议也可以给一个,感谢感谢感谢感谢各位大佬的提携。 image.png