浅谈前端响应式设计(二)

上一篇博客提到了几种响应式的方案,以及它们的缺点。本文将介绍Observable以及它的一个实现,以及它在处理响应式时相对于上篇博客中的方案的巨大优势(推荐两篇博客对比阅读)。 Observable是一个集合了观察者模式、迭代器模式和函数式的库,提供了基于事件流的强大的异步处理能力,并且已在Stage 1草案中。本文介绍的Rxjs是Observable的一个实现,它是ReactiveX众多语言中的JavaScript版本。 在JavaScript中,我们可以使用T | null去处理一个单值,使用Iterator去处理多个值得情况,使用Promise处理异步的单个值,而Observable则填补了缺失的“异步多个值”。   单个值 多个值 同步 T 、 null…

Read More

浅谈前端响应式设计(一)

现实世界有很多是以响应式的方式运作的,例如我们会在收到他人的提问,然后做出响应,给出相应的回答。在开发过程中我也应用了大量的响应式设计,积累了一些经验,希望能抛砖引玉。 响应式编程(Reactive Programming)和普通的编程思路的主要区别在于,响应式以推(push)的方式运作,而非响应式的编程思路以拉(pull)的方式运作。例如,事件就是一个很常见的响应式编程,我们通常会这么做: button.on('click', () => { // ... }) 而非响应式方式下,…

Read More

ZanProxy —— 本地代码调试线上页面,环境再也不是问题

一、ZanProxy 是什么 一言以蔽之,ZanProxy 是一个基于 Node.js 的代理服务器。它专注于帮助前端开发提高开发效率。 二、我们为什么需要一个代理工具 在前端开发中,我们常常会碰到以下几个场景: 对于前端开发者来说,我们需要一个工具能让我们直接用本地的前端代码调试QA环境、预发环境、甚至线上的页面。 我们需要在开发的时候需要快速切换环境,修改系统的 host 会有浏览器的 DNS 缓存,常常需要手动清除。…

Read More

ZanApi 让前后端协调更高效

一、当我们在说前后端协作的时候,我们在说什么 目前前后端分离已成为主流,前后端开发环境互相独立的情况下,如何提高前后端协作效率已然成为每个公司不得不考虑的问题。 以一个项目开发周期为例,在协作上一般需要面对以下几个问题: 项目开发初期,前后端需要就接口定义达成一致并且最好能在一个地方持久化,并且随着项目迭代开发持续维护 前后端在并行开发时前端需要先对接口数据进行 mock 项目联调前,对于前端同学来说,我们需要能科学的判断后端同学的接口是否真的达到可联调状态了 二、有赞之前是怎么做的 1. 对于接口定义 我相信很多公司跟有赞一样,…

Read More

有赞开源项目最佳实践

因为业务需求,有赞自己造了很多轮子,组件库尤其多,React,Vue,小程序都有涉及,其他开源项目有 zan-proxy 代理,PHP 的框架 zanphp 等。有人可能会觉得奇怪,为什么有赞要造这么多轮子?其实原因真的很简单,就是因为现有的替代品无法满足我们自身业务的需求,可能是不满足我们的定制需求,也可能是功能不符合我们要求。根据业务需要,我们总结了一套适合自己的套路、规范,并把这些套路、规范做成了工具、组件库或者框架。…

Read More