在日本做 SaaS,爱猫、爱读书、爱自由

2022-11-07 分享 2022下期技术雷达


技术雷达是 ThoughtWorks 发布的技术报告,比较客观,且非常具有前瞻性,我每一期都看。不过 ThoughtWorks 的技术雷达设计的领域过于全面,所以我每次都会把自己关心的内容整理一下自用。这是一篇内部分享,也分享给公司以外的大家。

ThoughtWorks 从技术、平台、工具、语言&框架等 4 方面,将内容分为采纳、试验、评估、暂缓等 4 种级别。我也一样从技术、平台、工具、语言&框架等 4 方面整理,不过我的评价级别是以我个人为对象分为 我正在使用 我想要尝试 我保持观望 我已经不再使用 4 个级别。

ok,让我们开始正文:

我正在使用

  1. 技术
    1. 组件视觉回归测试 试验
    2. 服务器端驱动 UI 评估
  2. 平台
    1. Colima 试验
  3. 工具
    1. k6 采纳
    2. Excalidraw 试验
  4. 语言&框架
    1. ReactQuery 采纳
TJ

组件视觉回归测试

其实就是 Visual Testing,我正在使用 Chromatic 进行视觉回归测试。我非常喜欢 Visual Testing,我以前分享过很多次,欢迎阅读后和我讨论:

服务器端驱动 UI

可能 backend developer 依然记得 JSP,可能 frontend developer 依然记得 EJS,这些都是一些混合服务器端和客户端的技术,这种技术通常被称为 Embedded Template,很多人混淆了模版技术和服务端驱动 UI。

那么,服务器端驱动 UI 和模版技术有什么异同?

答:服务器端驱动 UI 使用 WebSocket 而不是 HTTP

能带来哪些收益?

  1. 保留了 SPA 的无页面刷新的用户体验
  2. 保留了 SSR 的更小的 JS bundle size
  3. 统一了 backend 和 frontend 的部分代码实现

提供服务器端驱动 UI 的 framework

  • remix.run
  • next.js 使用 React Server Component 技术
  • https://hotwired.dev/ Ruby on Rails 社区
  • Elixir LiveView

Colima

因为 Docker Desktop 开始收费,大家都在寻找 Docker Desktop 的替代品。其实有很多选项,碰巧我和 ThoughtWorks 选择相同而已。

我是从哪里看到 Colima 的? 答:https://dev.to/swyx/running-docker-without-docker-desktop-339h

k6

Excalidraw

ReactQuery

我想要尝试

  1. 工具
    1. Harness 云服务成本管理 评估
    2. infracost 评估
  2. 语言&框架
    1. Yjs 采纳
    2. Connect 评估
TJ

云服务成本管理是云原生时代躲不过去的工作,越早掌握越少被坑钱。

我准备试试 Harness 和 infracost。

Yjs

实时协作软件越来越流行了,Yjs 就是一个用来编写实时协作软件的库。

Connect

我保持观望的

  1. 语言&框架
    1. Svelte 试验
    2. Ladle 试验
    3. Astro 评估
    4. Bun 评估
TJ

Svelte

我对 Svelte 的态度是保持观望。

原因很简单,我推测 React 可以撑到 Svelte 末期,到时候可以直接切换到下一代 framework。

Ladle, Astro

我知道他们是不错的技术,不过我还是想看看社区领袖的选择。

Bun

性能比较不在实际项目中比较是缺少信服力的。

Next Conf 上 Vercel 说 turbo 比 vite 快 10 倍, 可以看一下 Vite 作者关于 next turbo 的性能测试:

https://github.com/yyx990803/vite-vs-next-turbo-hmr/discussions/8

我已经不再使用

  1. 技术
    1. 默认选择 SPA 暂缓
  2. 语言&框架
    1. Cypress组件测试 评估
TJ

默认选择 SPA

只有单一功能的应用可以继续使用 SPA 架构,例如前面提到的 Excalidraw。对于复杂业务的应用不再推荐采用 SPA。

服务器端驱动 UIsingle-spa 也可以提供 SPA 一样的无页面刷新用户体验,而且更容易扩张,更容易应付大型应用。

Cypress组件测试

组件测试可以继续使用 TestingLibrary

结束语

😂 写的有点多,其实我想说的比这个还多,好期待和大家一起交流技术啊。欢迎大家来 discord 和我聊天,我的频道(邀请制)里有很多大神哟。