阿里专家直击前端盛会JSConf2017 Day2:见证Moment.js精彩分享

简介: 第二天的会议个人认为最精彩的是来自于微软的一位女分享者,她是moment库的作者之一。此分享的精彩之处在于作者以moment为例讲解了开发一个类库的4个关键要素,一方面推广了moment,同时也不失理论基础。自认为这是一个很棒的演讲技巧,非常值得学习。

阿里专家直击前端盛会JSConf2017 Day1:ES6兴起 ES6+Babel成最佳拍档:https://yq.aliyun.com/articles/78785


第二天的会议个人认为最精彩的是来自于微软的一位女分享者,她是moment库的作者之一,Moment.js 是一个简单易用的轻量级JavaScript日期处理类库,提供了日期格式化、日期解析等功能。

它支持在浏览器和NodeJS两种环境中运行。此类库能够将给定的任意日期转换成多种不同的格式,具有强大的日期计算功能,同时也内置了能显示多样的日期形式的函数。另外,它也支持多种语言,你可以任意新增一种新的语言包。详细文档参见 http://momentjs.com/docs/ ,一个这么看似小的功能在github的星数达到了3w+。

此分享的精彩之处在于作者以moment为例讲解了开发一个类库的4个关键要素,一方面推广了moment,同时也不失理论基础。自认为这是一个很棒的演讲技巧,非常值得学习。

几个是类库的例子,LoDash、Jquery、Q、Moment、Immutable、Request,不是类库的例子:Express、Angular、Webpack。一个好的类库重点不是 小、代码优雅、使用各种先进技术等,而是容易使用,容易使用,容易使用。编写一个类库的几个考虑点:

1). 调用方式:静态调用、使用工厂函数方便扩展、支持链式调用。

2). 支持可选参数,可选参数中允许加入业务逻辑。

3). 合理的默认值:有多个默认行为的值不要设置默认值,比如时间的返回时区问题,需要用户明确指明时区。

4). 错误:抛出清晰的为开发者方便定位问题的错误。

第二个比较有意思是 一个轻量版的与React调用方式一致的UI框架叫PReact,同样支持虚拟DOM,号称有更高的性能,更小的体积,详细的文档 https://preactjs.com/

另外性能分析工具 Calibre 有兴趣的可以看下,这个工具是要收费的,官网地址 https://calibreapp.com/

最后贴几张涂鸦照片,柏林到处都是涂鸦,当年希特勒也是一位画家。
这张图是由一个个的小人组成的一张大图:
IMG_20170504_105633

IMG_20170505_071749

IMG_20170505_071809

目录
相关文章
|
12天前
|
JavaScript 前端开发 API
Node.js在前端的妙用:打造更出色的Web体验
Node.js在前端的妙用:打造更出色的Web体验
34 5
|
1月前
|
前端开发 JavaScript
【汇总】前端开发中高频次使用的JS、CSS、HTML代码片段合集
【汇总】前端开发中高频次使用的JS、CSS、HTML代码片段合集
|
1月前
|
前端开发 JavaScript 网络协议
前端最常见的JS面试题大全
【4月更文挑战第3天】前端最常见的JS面试题大全
51 5
|
2月前
|
JavaScript 前端开发 Java
纯前端JS实现人脸识别眨眨眼张张嘴案例
纯前端JS实现人脸识别眨眨眼张张嘴案例
56 0
|
7天前
|
JavaScript 前端开发 开发者
【Web 前端】什么是JS变量提升?
【5月更文挑战第1天】【Web 前端】什么是JS变量提升?
【Web 前端】什么是JS变量提升?
|
9天前
|
JavaScript 前端开发 开发者
【Web 前端】JS模块化有哪些?
【4月更文挑战第22天】【Web 前端】JS模块化有哪些?
|
9天前
|
前端开发 JavaScript
【Web 前端】 js中call、apply、bind有什么区别?
【4月更文挑战第22天】【Web 前端】 js中call、apply、bind有什么区别?
【Web 前端】 js中call、apply、bind有什么区别?
|
9天前
|
前端开发 JavaScript 索引
【Web 前端】JS的几种具体异常类型(报错)
【4月更文挑战第22天】【Web 前端】JS的几种具体异常类型(报错)
|
9天前
|
前端开发 JavaScript
【Web 前端】JS继承的方法有哪些?
【4月更文挑战第22天】【Web 前端】JS继承的方法有哪些?
|
9天前
|
自然语言处理 前端开发 JavaScript
【Web 前端】什么是JS闭包?
【4月更文挑战第22天】【Web 前端】什么是JS闭包?