有赞微信小程序分享 — 概念篇

在 2016 年 9 月 23 日 微信小程序内测开始以来,有赞的产品与技术一直紧跟着小程序的步伐。并且在 2017年1月9日 微信小程序发布的同时上线了有赞微商城小程序和有赞精选小程序。并且紧跟着开源了小程序的 UI 库:zanui-weapp 在我加入有赞不久后,就参与了微信小程序产品线的开发。 随着今年微信官方大力推广和迭代,微信小程序可谓渐渐形成一个新重量级现象,对于自身来说,除了单纯的掌握技术上的开发姿势以外,还需对整个小程序生态以及未来的动向有足够的认识和了解。 于是乎本着研究与学习,有了这一次内部分享。 趁着课余时间, »

漫谈 React 组件库开发(一):多层嵌套弹层组件

引言 UI 组件中有很多弹出式组件,常见的如 Dialog,Tooltip 以及 Select 等。这些组件都有一个特点,它们的弹出层通常不是渲染在当前的 DOM 树中,而是直接插入在 body (或者其它类似的地方)上的。这么做的主要目的是方便控制这些弹出层的 z-index ,确保它们能够处于合适的层级上,不至于被遮挡。 我们都知道 React App 的顶层某个地方肯定有这么一行代码:ReactDOM. »

H5与Native交互之JSBridge技术

做过混合开发的很多人都知道Ionic和PhoneGap之类的框架,这些框架在web基础上包了一层Native,然后通过Bridge技术使得js可以调用视频、位置、音频等功能。本文就是介绍这层Bridge的交互原理,通过阅读本文你可以了解到js与ios及android底层的通讯原理及JSBridge的封装技术及调试方法。 一、原理篇 下面分别介绍IOS和Android与Javascript的底层交互原理 IOS 在讲解原理之前,首先来了解下iOS的UIWebView组件,先来看一下苹果官方的介绍: You can use the UIWebView class to embed web content in your »

Generator:同步代码书写异步情怀

编者按:看完本文,你能对ES6的Generator有一个很好的理解,轻松地以同步的方式写异步代码,也能初步理解到TJ大神的co框架的原理。 前言:ES6在2015年6月正式发布,它带给js带来许多新特性,其中一个就是Generator,虽然其它语言如python早就有了,但js的Generator和它们的还是有点不一样的,js的Generator重点在解决异步回调金字塔问题,巧妙的使用它可以写出看起来同步的代码。 我们都知道js跟其它语言相比,最大的特性就是异步,所以当我们要取异步取一个文件内容时,一般我们会这样写 $.get('http://youzan.com/test.txt', function(data){ console. »

深入理解CSS外边距折叠(Margin Collapse)

外边距叠加一直是前端开发必须了解的一个概念,面试一般也会问到这个问题。所以整理一下相关外边距叠加相关的知识点。外边距叠加是什么?什么时候会发生外边距叠加?如何避免外边距叠加? 什么是外边距叠加 先来看看W3C对于外边距叠加的定义: In CSS, the adjoining margins of two or more boxes (which might or might not be siblings) can »