阿里专家直击前端盛会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/ 。
最后贴几张涂鸦照片,柏林到处都是涂鸦,当年希特勒也是一位画家。
这张图是由一个个的小人组成的一张大图: