前端月中总结

1、领导一拍脑门想要一个内部聊天软件 --基于open IM二次开发

背景

前段时间不是接手了一个内部办公软件的项目嘛,这个项目已经写了三四年了,一代代的前端融合了不知到多少种代码风格,再加上最初搭这个项目架子的人不知道咋想的,任何规范都没有,整个项目已经摇摇欲坠。但是大领导就是想要在里面加一个聊天功能,但之前一直没有人处理,一直拖着,直到我和另一个后端加入这个项目组。

opemIM

OpenIM:由IM技术专家打造的基于 Go 实现的即时通讯(IM)项目,从服务端到客户端SDK开源即时通讯(IM)整体解决方案,可以轻松替代第三方IM云服务,打造具备聊天、社交功能的app。

OpenIM 在GitHub拥有13.7k starts,并且具备完善中英文文档。

二次开发中的一些问题

Demo代码阅读

我的二次开发是基于官方提供的 uni-app Demo 进行的。在开发过程中我发现许多功能已经被封装在组件中,但在 Demo 中并没有使用。如果你也打算集成二次开发,我强烈建议:

  1. 仔细阅读公共组件:深入理解每个组件的功能和用法。
  2. 熟悉公用方法库:详细了解已有的方法,避免重复开发。
  3. 充分利用现有资源:在开发过程中优先考虑使用已封装的组件和方法,提高开发效率。
  4. 避免重复造轮子:在添加新功能前,先检查是否已有相似的实现。

通过这些方法,暂时避免这个项目变成屎山代码。

音视频功能

OpenIM的音视频功能是被官方在核心代码中移除了的,当然你可以通过他们官方客服去了解这一部分业务。不过,这单位是分币不想花,没办法只能去找另一个开源项目livekit,这个项目没有中文文档,前端demo用的React写的,不过他将一些常用的东西封装好了。其他的,我也还在集成当中,啥时候弄完了再说说吧...

2、我的第一个插件 --水印相机-qt-waterMark

水印相机-qt-waterMark 是一个基于uni-app live-pusher的纯前端水印相机插件,目前相机主界面支持美颜,美白开关,水印开关,自定义水印内容等操作。这是我个人的第一个插件,在八月末的时候上架了插件市场,大家可以下载看看,觉得还行的话帮我点点评分。也可以给我提供一些改进的思路。

3、最近的一些思考与学习

新项目搭架子却争吵了两天

公司前面用的Vue2项目架子已经很老了,再加上一些原因被改得面目全非,已经到了不得不放弃的地步。但是在新项目架子的选型上出现了很多争吵。首先就是JavaScript与TypeScript之争,这里为什么讨论很久,相信大家都明白其中缘由(我本人踏上前端的第一个正式项目是Vue3+TypeScript,因此我更倾向这一种,但是公司其他人没写过正式的TypeScript的项目)。另一个争论就是我不理解的地方了,他们要求pc端要两套代码(原话大抵是一套前端的管理后台,另一套是后端用的管理后台)。这是我极为不理解的地方,也应是我从业较短,没见过要这样去区分开。

重学node.js

最近比较迷茫,思来想去还是决定走伪全栈这条路。自己node.js的水平勉强也能写简单的CRUD但是根本不足以用在企业上面,因此打算好好学一下node.js以及对应框架koa.js或者nest.js,顺便试试所谓微服务还有redis等等这些东西。我解决解决焦虑办法,就是埋头去学习

相关推荐
叶落阁主1 分钟前
Neovim 插件 i18n.nvim 介绍
java·vue.js·vim
叫我詹躲躲2 分钟前
开发提速?Vue3模板隐藏技巧来了
前端·vue.js·ai编程
华仔啊2 分钟前
面试都被问懵了?CSS 的 flex:1 和 flex:auto 真不是一回事!90%的人都搞错了
前端·javascript
前端康师傅4 分钟前
JavaScript 函数详解
前端·javascript
金金金__6 分钟前
antd v5 support React is 16 ~ 18. see https://u.ant.design/v5-for-19 for...
前端
会豪7 分钟前
工业仿真(simulation)--前端(二)-资源管理器
前端
@小红花1 小时前
从0到1学习Vue框架Day03
前端·javascript·vue.js·学习·ecmascript
2501_915918411 小时前
uni-app 项目 iOS 上架效率优化 从工具选择到流程改进的实战经验
android·ios·小程序·uni-app·cocoa·iphone·webview
前端与小赵1 小时前
vue3中 ref() 和 reactive() 的区别
前端·javascript·vue.js
魔云连洲1 小时前
Vue的响应式底层原理:Proxy vs defineProperty
前端·javascript·vue.js