微信搜索『FEX』关注我们的公众号,及时获得最新资讯。

深阅读

WebGL 2.0 Arrives
https://www.khronos.org/blog/webgl-2.0-arrives
WebGL 2.0 is a long-awaited feature upgrade which delivers the OpenGL ES 3.0 feature set, bringing the browser’s graphical capabilities closer to the state of the art. WebGL 2.0 is shipping now [1] in the Firefox and Chrome browsers, and all WebGL implementers have declared intent to support it.

Progressive Web App Libraries in Production
https://medium.com/dev-channel/progressive-web-app-libraries-in-production-b52cad37d34#.hyypoxv0a
Two years ago, our team at Google started work on JavaScript libraries to reduce the friction for building Progressive Web Apps. We started with Service Worker tools like sw-precache and sw-toolbox — now used by 1000s of brands to power offline caching & instant loading (on repeat visit) in their production mobile sites. In 2017, if you aren’t taking advantage of Service Workers, you’re leaving performance wins for returning users on the table.

V8: Behind the Scenes
http://benediktmeurer.de/2017/03/01/v8-behind-the-scenes-february-edition/
February has been an exciting and very, very busy month for me. As you have probably heard, we’ve finally announced that we will launch the Ignition+TurboFan pipeline in Chrome 59. So despite running late, and not making it for February actually, I’d like to take the time to reflect on the TurboFan tale a bit, and tell my story here. Remember, that everything you read here is my very personal opinion and doesn’t reflect the opinion of V8, Chrome or Google.

Fast For-In in V8
https://v8project.blogspot.jp/2017/03/fast-for-in-in-v8.html
For-in is a widely used language feature present in many frameworks. Despite its ubiquity, it is one of the more obscure language constructs from an implementation perspective. V8 went to great lengths to make this feature as fast as possible. Over the course of the past year, for-in became fully spec compliant and up to 3 times faster, depending on the context.

What makes WebAssembly fast?
https://hacks.mozilla.org/2017/02/what-makes-webassembly-fast/
WebAssembly is faster than JavaScript in many cases because:fetching WebAssembly takes less time because it is more compact than JavaScript, even when compressed; decoding WebAssembly takes less time than parsing JavaScript.
compiling and optimizing takes less time because WebAssembly is closer to machine code than JavaScript and already has gone through optimization on the server side.
此外还可以看看:
Where is WebAssembly now and what’s next?
WebAssembly consensus and end of Browser Preview
Getting Started With WebAssembly in Node.js

10 React mini-patterns
https://hackernoon.com/10-react-mini-patterns-c1da92f068c5#.42tq6zs9p
Over the last few years, I’ve worked on a handful of decent-sized React projects, and many, many pint-sized ones. Throughout this magical journey, a number of patterns have come up that I find myself repeating again and again.

The Real Story Behind ECMAScript 4
https://auth0.com/blog/the-real-story-behind-es4/
经历了长达 9 年的时间,由于步子迈得太大,ES4 最终失败了,这篇文章介绍了很多相关的历史事件,不过随着逐步迭代,其实很多 ES4 的特性被引入进来了。

前端服务化——页面搭建工具的死与生
http://www.cnblogs.com/sskyy/p/6496287.html
早在 jquery ui、bootstrap盛行的时代,就有过无数这样的工具,我没有用过,也不会去用。原因有一万个:业务需求太灵活,工具都是基于已有的组件库,个性化的东西搭不出来;前端技术发展太快,工具整合没有那么迅速;有学习成本,不如手写快,灵活性没有手写高。在包括我的很多前端看来,这条路上尸骨累累,甚至有很多连痕迹都没有留下。但是失败者最多的路,并不一定是死路。如果都没有抛开过头脑里的成见,没有进行过独立思考就放弃了,未免太盲目。这篇文章就当做我在求生之路上的记录。也请读者暂且忘掉所有的经验,轻装上阵,这趟旅途不会让你失望。

从达标到卓越 —— API 设计之道
http://taobaofed.org/blog/2017/02/16/a-guide-to-api-design/
淘宝 FED 团队关于 API 设计的经验和积累。

The Ultimate Guide to API Design
https://blog.qmo.io/ultimate-guide-to-api-design/
So you need to design an API. Where do you start? Far too often internal services slowly turn into APIs. Hacked together one endpoint at a time. These undocumented spaghetti monsters just pile up technical debt and create enormous knowledge hurdles for new developers to scale over. This article is designed to help you either start with a good footing from scratch or to refactor your existing API into something far more manageable.

Diving into ant-design internals: Button
http://reactkungfu.com/2017/03/diving-into-ant-design-internals-button/
As a Rails developer, I learned a lot just from reading Ruby on Rails code. Aware of that experience, I try to look into the internals of other open source projects as well, to see what’s going on there.

我理解中的“大前端”/“大无线”
https://zhuanlan.zhihu.com/p/25567060
听芋头君分享他对大前端的理解,另附:移动开发将被融合,大前端领域即将出现

怎样写出漂亮整洁的代码?聊聊clean code的编码、重构技巧
http://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=2650995514&idx=1&sn=96088f77547a7a6951f364b859441c2b
从 clean code 的几个大前提出发,提出了实践 clean code 的一些手段,重点放在促成 clean code 的一些常用编码和重构技巧。

百度搜索对PWA的探索和初步实践
http://mp.weixin.qq.com/s?__biz=MzIwNjQwMzUwMQ==&mid=2247485045&idx=1&sn=84556a3cc21cf9eafaefa3efc0f62a20
介绍了百度在这方面的一些实践。

Office 365架构演变及微服务实践
http://mp.weixin.qq.com/s?__biz=MzA5Nzc4OTA1Mw==&mid=2659599029&idx=1&sn=2063c2cd8d3d9185074ef0d1b30033fe
互联网业界的同行,对微软存在偏见甚至鄙视者大概不算少数,也许会觉得标题里的微服务(micro-services)貌似是个多少有点潮的概念,好像和微软的技术形象有点不符,更何况是Office 365这样历史悠久的庞然大物。但事实上,微软很多团队都是与时俱进的,而Office 365架构的分分合合某种程度上也能侧面反应这一点。

美团点评前端无痕埋点实践
http://mp.weixin.qq.com/s?__biz=MzIwNjQwMzUwMQ==&mid=2247485060&idx=1&sn=397781550dfc66561fc5f54e763530ba
构建一个数据平台,大体上包括数据采集、数据上报、数据存储、数据计算以及数据可视化展示等几个重要的环节。其中,数据采集与上报是整个流程中重要的一环,只有确保前端数据生产的全面、准确、及时,最终产生的数据结果才是可靠的、有价值的。 为了解决前端埋点的准确性、及时性、开发效率等问题,业内各家公司从不同角度,提出了多种技术方案,这些方案大体上可以归为三类:代码埋点、可视化埋点、无埋点。

AWS 的 S3 故障回顾和思考
http://coolshell.cn/articles/17737.html
继Gitlab的误删除数据事件没几天,“不沉航母” AWS S3 (Simple Storage Service)几天前也“沉”了4个小时,墙外的半个互联网也跟着挂了。这个故障和简单来说和Gitlab一样,也是人员误操作。

[译]Twitter基于React的网络协议栈媲美原生性能
http://www.infoq.com/cn/news/2017/02/twitter-react-mobile-stack
移动 Web 版的 Twitter 使用 React+Redux+Express 进行改版了

Visual Studio Code: the editor I didn’t think I needed
https://hackernoon.com/virtualstudio-code-the-editor-i-didnt-think-i-needed-16970c8356d5#.eghix985x
如果还没用过 VSC,建议试试。

The mythical 10x programmer
http://antirez.com/news/112
The following is a list of qualities that I believe make the most difference in programmers productivity.

新鲜货

Store.js
https://github.com/marcuswestin/store.js
前端存储库,升级到 2.0 了。

What’s up with PM2.X?
https://keymetrics.io/2017/02/28/whats-up-with-pm2-x/
So what’s new with PM2 since 2.X? A lot. Let’s highlight some nifty features you may have missed.

Upgrading to Vue.js 2.2
https://alligator.io/vuejs/upgrading-vue-2.2/
Vue 2.2 was just released with a plethora of neat changes. Here’s a guide to what changed and how it might affect your app, along with migration patterns in the case you relied on something that changed.

Caporal
https://github.com/mattallty/Caporal.js
A full-featured framework for building command line applications (cli) with node.js, including help generation, colored output, verbosity control, custom logger, coercion and casting, typos suggestions, and auto-complete for bash/zsh/fish.

Twitter Image Pipline
https://github.com/twitter/ios-twitter-image-pipeline
Twitter 的图片流式处理库

Lerna
https://lernajs.io/
A tool for managing JavaScript projects with multiple packages.

Box Alignment Cheatsheet
https://rachelandrew.co.uk/css/cheatsheets/box-alignment
The box alignment specification details how items are aligned in the various layout methods. As different layout methods pose different constraints in terms of alignment, some of the behaviour of Box Alignment is layout method dependent. This cheatsheet compares alignment in CSS Grid Layout and Flexbox.

Feature watch: ECMAScript 2018
http://www.2ality.com/2017/02/ecmascript-2018.html
This blog post tracks what features may be included in ES2018. I will continually update it.

Web Content Accessibility Guidelines 2.1: First Public Working Draft
https://www.w3.org/blog/2017/02/wcag21-fpwd/
This new version aims to build effectively on the previous foundations of WCAG 2.0 with particular attention being given to the three areas of accessibility on small-screen and touch mobile devices, to users with low vision, and to users with cognitive or learning disabilities.

Kotlin 1.1 Released with JavaScript Support, Coroutines and more
https://blog.jetbrains.com/kotlin/2017/03/kotlin-1-1/
正式支持生成 JS 了

Asynchronous vs Deferred JavaScript
https://bitsofco.de/async-vs-defer/
The <script> element has two attributes, async and defer, that can give us more control over how and when external files are fetched and executed.

Annotation is now a web standard
https://hypothes.is/blog/annotation-is-now-a-web-standard/
On February 23, things took a giant leap forward when the W3C, the standards body for the Web, standardized annotation.

Box Alignment Cheatsheet
https://rachelandrew.co.uk/css/cheatsheets/box-alignment
The box alignment specification details how items are aligned in the various layout methods. As different layout methods pose different constraints in terms of alignment, some of the behaviour of Box Alignment is layout method dependent. This cheatsheet compares alignment in CSS Grid Layout and Flexbox.

Marko 4.0 is here
https://medium.com/@mlrawlings/marko-4-0-is-here-837884c5f60d#.nzrr5altt
The latest release of Marko, the friendly (and fast!) UI library from eBay is now available!

2017 JavaScript conferences
https://blog.hellojs.org/2017-javascript-conferences-6cf6ef948570#.c9rcivcfg

WordPress Running on .NET
http://www.peachpie.io/2017/02/wordpress-announcement.html
The popular Phalanger project already proved that running a virtually unmodified clone of WordPress on Microsoft .NET is possible. Still the solution had its issues and was not compatible with new WordPress releases. Now the successor to Phalanger, Peachpie, is also able to run WordPress as a fully managed application on .NET and .NET Core.

产品及其它

百度为什么会选择押宝人工智能产品
http://mp.weixin.qq.com/s?__biz=MjM5NDUyOTAwOA==&mid=2652915093&idx=1&sn=88aa3bd42d8cca7f831efd57a569920a
这篇文章,我们不参考任何内部人员采访、各种组织架构博弈、各种流言蜚语政治八卦等捕风捉影的信息。作为产品经理,我们完全依靠百度的商业模式、自身的优势、发展路径等方面来进行综合分析,希望通过一种逻辑性的推理来判断一家公司转型或者变革背后的秘密。

再这样提问就没人理你了
http://mp.weixin.qq.com/s?__biz=MjM5ODQwMjA4MA==&mid=2649293746&idx=1&sn=b4e83be11edbdd885b41ac4fd0ab8016
提问,是获取知识和解决方法最好的手段之一,一些人往往认为只有解答问题是有难度的,却没有把心思花在提问上。提问,也是有技巧的。一个草率的提问只会得到草率的答案,不花心思的提问只能换来不花心思的回答。

傅盛认知三部曲之一:所谓成长就是认知升级
http://mp.weixin.qq.com/s/kQ524fhTMWTsmLEnB4h4dA
这是一个人认知的四种状态——“不知道自己不知道”,“知道自己不知道”,“知道自己知道”和“不知道自己知道”,也是人的四种境界。人和人根本的区别就在于这四种状态。所谓成长,就来自于认知。而认知的本质就是做决定。

王兴:互联网如果想回暖 一个非常重要的方向是供应链和B2B行业的创新
http://mp.weixin.qq.com/s?__biz=MzIwMjQxNjI1MQ==&mid=2247484021&idx=1&sn=2f2abba51144f0e72297b8bb9244c2df
王兴这篇内部演讲对整个行业的分析挺值得参考的,值得认真看完。

作者:zhangbobell (http://zhangbobell.cn) - 恰同学少年,风华正茂