前端技术选型的遗憾和经验教训
极客时间编辑部
讲述:杜力大小:3.74M时长:02:43
在本文中,Spectrum 的技术联合创始人麦克斯(Max)分享了前端技术选型中的遗憾和经验教训。Spectrum 是一个面向大型在线社区的开源聊天应用程序,最近被 GitHub 收购。在这个项目工作了近两年之后,麦克斯分享了让自己遗憾的技术选型以及从中学到的经验教训。
遗憾 1:没有使用 react-native-web
Spectrum 很大一部分吸引力在于内容公开可搜索,所以在开发原生应用之前先开发了网站,其搜索索引做得很成功,但用户一直要求更好的移动体验。目前,团队正在开发原生应用程序,但因为是从头开始,所以很耗时。如果当初使用 react-native-web 来构建网站,就可以重用一些基础组件,加快原生应用程序的开发速度。
虽然现在已经对网站移动版本进行了优化,但是桌面体验在移动设备上的表现有点令人生厌。事实证明,不管做得多好,都难以在各种尺寸的设备上有良好表现。
遗憾 2:没有使用 Next.js
出于 SEO 目的,需要使用服务器端渲染,但团队已经使用 create-react-app 构建应用程序的第一个版本,考虑过切换到 Next.js,但是麦克斯认为重新设计路由和数据获取比自建服务器端渲染工作量更大。
事实证明,自建生产就绪服务器端渲染非常困难,需要很大工作量,并且很难为开发人员和用户提供良好体验。
遗憾 3:使用了 RethinkDB
之所以选择 RethinkDB 作为主要数据存储,是因为其 changefeed 功能允许监听几乎任何查询的实时更新。本以为可以降低系统复杂性,但是在 RethinkDB 上遇到了很多麻烦。由于其没有被广泛使用,几乎没有文档资料,经历了数次数据库中断。
遗憾 4:使用了 DraftJS 和 WYSIWYG 编辑器
文本输入是 Spectrum 的主要功能之一,团队决定使用基于 Draft.js 的自定义 WYSIWYG 编辑器替换纯文本 Markdown 输入,可惜效果并不好。即使经过数月努力,用户仍然在不断抱怨编辑器难用。最重要的是,编辑器的库占了 JavaScript 包的大部分,而且缺乏跨浏览器支持意味着必须将普通文本输入作为后备选项。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论