前端

聊聊服务间的网络通信 - TCP 与 HTTP

前言阅读前你可能需要了解这些:了解 TCP/IP、OSI 模型了解 HTTP 协议了解 Node.js从几个问题入手:服务间调用的长连接如何设置服务器上 TCP 连接数限制服务器上 TCP 连接数对业务的影响服务间的长连接假设我们的目标服务,存在服务的消费者和提供者,服务之间存在

前端
洋葱

Electron 实现文件关联

酷家乐客户端最近需要实现文件关联,把 CAD 文件关联到应用上,双击文件可以直接打开应用进行 CAD 预览。文件关联与操作系统相关性比较大,不同的操作系统实现方式也会不同。不过如果使用 electron-builder 进行应用打包,可以直接通过 fileAssociations

前端
时中

富文本编辑器 Quill.js 系列三:架构与扩展

Quill.js 是一个借助 contenteditable + MutationObserver 实现的 API 驱动的富文本编辑器。 有以下特性: 为开发者构建,细粒度访问、更新文本内容,一致的的 JSON 格式输入输出 跨平台。所有现代浏览器,在手机端、平板、桌面 伸缩性强。大小项目都可简单使用,可通过自定义扩展丰富富文本功能。

富文本
洋葱

富文本编辑器 Quill.js 系列二:Parchment - 文档模型

Parchment 是 Quill.js 的文档对象模型,类似 DOM 之于 web 页面的关系。Parchment 树是由多个 Blot 组成的,这也同样类似 DOM 树与 Node 的关系。Parchment 应用于结构、格式和内容,Attributes 提供轻量级的格式信息。

富文本
洋葱

富文本编辑器 Quill.js 系列一:Delta 文档结构

Delta 是用于描述富文本文档结构的内容与变更。由于其描述的通用性,quill.js 将其独立维护。它的数据结构是基于 JSON 格式的,方便服务间进行互解析,例如 一份描述富文本格式的 数据,可很方便的渲染于 Web 与 Android or iOS。相比于复杂和带有歧义的 HTML,其更简单纯粹。

富文本
洋葱

输入法与 keydown 事件

输入、回车提交,这是一组在搜索场景中常见、友好的交互形式,但要将其做好以获得更好的用户体验,还需要关注其中的小小细节。监听回车所谓的细节就是关于“回车”的监听。因为输入法的存在,引入了文本合成现象,使得字符输入变得不再纯粹简单。若处理不当,就会出现在开着输入法的情况下,当只想使用

前端
时中

跨平台 Hooks npm 包的接口设计

一、OverviewTaro 是用 React 的方式来写小程序,拥有与 React 一致的 api,因此可通过相同的实现来同时满足多端的需求。现在正在构建一个可跨端使用的 Hooks 包,关键的问题在于如何处理包的依赖。当在小程序中使用时,实际上是依赖了  @tarojs/ta

前端
时中

基于 React Hooks 的小型状态管理

本文主要介绍一种基于 React Hooks 的状态共享方案,介绍其实现,并总结一下使用感受,目的是在状态管理方面提供多一种选择方式。实现基于 React Hooks 的状态共享React 组件间的状态共享,是一个老生常谈的问题,也有很多解决方案,例如 Redux、MobX 等。

前端
时中

插件化设计模式在前端领域的应用

软件开发中,随着系统功能变多,复杂度成指数级上升,而复杂度的增高多来源于模块间的耦合过于严重,插件化的设计模式能一定程度解决模块耦合的问题。抽象出系统的核心流程节点,基于这些节点与多个插件进行交互,最终实现整个系统。当然,前端领域的一些场景也有插件化应用的案例,本篇文章我们基于这些案例,一览其中的设计原理与插件核心执行流程。

前端
洋葱