开工福利|免费学 2200+ 精品线上课,企业成员人人可得! 了解详情
写点什么

前端技术选型的遗憾和经验教训

  • 2019-02-01
  • 本文字数:1705 字

    阅读完需:约 6 分钟

前端技术选型的遗憾和经验教训

我是 Max,Spectrum 的技术联合创始人。Spectrum 是一个面向大型在线社区的开源聊天应用程序,最近被GitHub收购。我们是一个三人团队,主要拥有前端和设计背景,我们在这个项目上工作了近两年时间。


事后看来,以下是我做出的令自己感到遗憾的技术选型以及从中学到的经验教训。

遗憾 1:没有使用 react-native-web

Spectrum 的很大一部分吸引力在于内容是公开的和可搜索的,所以我们在开发原生应用之前先开发了网站。


我们的搜索索引做得很成功,但用户一直在要求有更好的移动体验。我们现在正在开发原生应用程序,但因为是从头开始,所以很耗时。如果我们当初使用 react-native-web 来构建网站,就可以重用一些基础组件,加快原生应用程序的开发速度!


最重要的是,我们应该已经对网站的移动版本进行了优化。如果移动体验做得足够好,即使是在桌面上也是可接受的,只需要做一些调整即可。然而,桌面体验在移动设备上的表现就有点令人生厌了。事实证明,不管我们做得多么好,都难以在各种尺寸的设备上有良好的表现。


学到的第 1 课:构建一个好产品就是要不断进行实验,加快开发速度,为了迭代速度和灵活性而优化。

遗憾 2:没有使用 Next.js

出于 SEO 的目的,我们需要使用服务器端渲染。但我们已经使用 create-react-app 构建了应用程序的第一个版本。我们考虑过切换到 Next.js,但我认为重新设计路由和数据获取比我们自己构建服务器端渲染的工作量更大。


但事实证明,自己构建生产就绪的服务器端渲染非常困难。它需要很大的工作量,并且很难为开发人员和用户提供良好的体验。


Next.js 提供了惊人的开发体验和性能,更不用说活跃的社区和优秀的文档。如果我们现在重新开始,我会怀着激动的心情使用它。


学到的第 2 课:尽可能使用现有的解决方案来解决技术问题,特别是那些你不了解的问题。

遗憾 3:使用了 RethinkDB

我之所以选择 RethinkDB 作为我们的主要数据存储,主要是因为它的 changefeed 功能。这个功能允许你监听几乎任何一个查询的实时更新。我认为它可以降低系统的复杂性,因为我们不需要为了实时功能单独使用另一个发布和订阅系统。


但不幸的是,我们在 RethinkDB 上遇到了很多麻烦。由于它没有被广泛使用,几乎没有关于如何操作数据库的文档和资料。我们经历了好多次数据库中断,调试问题感觉像是在蒙着眼睛走路。


事实证明,changefeed 的可扩展性并不如我们预期的那样好。虽然我们设法解决它,但我们原本没有必要这么做。


现在,我会选择一个更成熟的数据库(或许 Postgres?),并基于它构建一个发布和订阅系统。


学到的第 3 课:谨慎选择以后难以更改的核心技术。


学到的第 4 课:在选择技术时,优先考虑社区规模和维护活跃度,尤其是在不熟悉的领域。

遗憾 4:使用了 DraftJS 和 WYSIWYG 编辑器

文本输入是 Spectrum 用户的主要活动之一,我们希望为用户带来很棒的输入体验。我决定使用基于 Draft.js(最近由 Facebook 发布)的自定义 WYSIWYG 编辑器替换纯文本 Markdown 输入。


可惜的是它效果并不好。即使经过数月的努力,我们的用户仍然在不断抱怨,说编辑器真的很难用。最重要的是,编辑器的库占了我们 JavaScript 包大小的大部分,而且缺乏跨浏览器支持意味着我们必须将普通文本输入作为后备选项。


另一个框架可能效果更好,但我们应该专注于更紧迫的功能。我认为我们需要 WYSIWYG 编辑,但并没有与用户就此事展开交流。否则,我们很快就会意识到根本就没有必要所以这个编辑器。


学到的第 5 课:在考虑新技术时要谨慎,偏向保守的选择。

学到的第 6 课:开放路线图,了解用户的优先事项。

小贴士

即使改变了这些决定,也不会让 Spectrum 自己成为更好的产品。但这样会节省我们的时间,让我们花更多的时间进行实验。


总而言之,以下是我总结的六个经验教训。


  1. 构建一个好产品就是要不断进行实验,加快开发速度,为了迭代速度和灵活性而优化。

  2. 尽可能使用现有的解决方案来解决技术问题,特别是那些你不了解的问题。

  3. 谨慎选择以后难以更改的核心技术。

  4. 在选择技术时,优先考虑社区规模和维护活跃度,尤其是在不熟悉的领域。

  5. 在考虑新技术时要谨慎,偏向保守的选择。

  6. 开放路线图,了解用户的优先事项。


查看英文原文:https://mxstbr.com/thoughts/tech-choice-regrets-at-spectrum


2019-02-01 08:007030
用户头像

发布了 731 篇内容, 共 456.1 次阅读, 收获喜欢 2003 次。

关注

评论 2 条评论

发布
用户头像
没有从业务和使用场景上分析不具又什么参考价值,如果两个开发ios的又写一篇后悔使用的react-native了
2019-02-10 21:37
回复
用户头像
可以考虑用 react-native-web 和 react-native 来做三端统一开发
2019-02-01 23:45
回复
没有更多了
发现更多内容

Footprint 的批量下载方案使交易回测更轻松

Footprint Analytics

区块链 回测

DAPP合约区块链技术项目系统开发

l8l259l3365

PingCAP 被评为 Translytical Data Platforms 2023 全球技术领导者

PingCAP

数据库 TiDB

re:Invent 2023:PingCAP 荣获亚马逊云科技 2023 年度合作伙伴奖项

PingCAP

数据库 AWS TiDB 亚马逊云科技 pingCAP

BetterMouse for Mac中文激活版下载(鼠标增强软件)

iMac小白

软件测试/人工智能|LangChain核心模块Agents详解

霍格沃兹测试开发学社

Royal TSX for Mac(远程管理软件)6.0.2激活版

Geek_幻墨成诗

Royal TSX MacOS远程管理

Audirvana for Mac(音乐播放器)v3.5.50中文激活版

iMac小白

特权账号管理之金融行业篇

尚思卓越

网络安全

Last Week in Milvus

Zilliz

非结构化数据 Milvus Zilliz AIGC 向量数据库

如何使用1688店铺所有商品API接口

Noah

生成式AI与预测式AI的主要区别与实际应用

高端章鱼哥

生成式AI 预测式AI

uniapp开发App从开发到上架全过程

雪奈椰子

Android 实现APP可切换多语言

EquatorCoco

APP开发 Andriod开发

MindNode 5 for Mac(思维导图) v5.0.1中文激活版

mac

思维导图软件 苹果mac Windows软件 MindNode 5

软件测试/人工智能|为什么Python在人工智能时代异军突起

霍格沃兹测试开发学社

用行云管家实现IT统一运维管理,提高运维效率

行云管家

IT运维 行云管家 运维管理 统一运维

上海统一运维管理平台推荐-行云管家

行云管家

IT运维 运维管理 统一运维

都2023年了,你还不会 CI/CD 吗?

伤感汤姆布利柏

ci CD

全力备战中国大学生计算机设计大赛!历年获奖作品正式上线和鲸社区

ModelWhale

Python 云计算 算法 数据分析 中国大学生计算机设计大赛

iZotope RX 10 for mac v10.4.2 激活版

Geek_幻墨成诗

iZotope RX 10下载 iZotope RX 10破解版 iZotope RX 10 mac iZotope RX 10

Rhinoceros 8 for Mac(犀牛8 mac版)激活版

Geek_幻墨成诗

Rhinoceros 7 Rhinoceros8

你知道Spring中BeanFactoryPostProcessors是如何执行的吗?

EquatorCoco

spring 后端 springboot

速速报名!请查收 2023 龙蜥操作系统大会超全指南

OpenAnolis小助手

开源 龙蜥社区 北京 2023龙蜥操作系统大会

软件测试/人工智能|一文告诉你LangChain核心模块chains原理

霍格沃兹测试开发学社

JavaScript中的异步处理方法,

互联网工科生

JavaScript 异步处理

「智造」第10期:浅谈工业互联网加速企业服务化转型

用友BIP

智能制造

WiFi7 IPQ9574-IPQ9554-QCN9274-QCN6274-space-time Block Code technology

wifi6-yiyi

ipq9574

异常追踪与 JIRA 实现双向联动最佳实践

心有千千结

可观测性 Jira

Redis Desktop Manager for Mac(Redis桌面管理工具)中文激活版

Geek_幻墨成诗

RESP

Cycling 74 Max for Mac下载 音乐可视化编程软件

iMac小白

前端技术选型的遗憾和经验教训_大前端_Max_InfoQ精选文章