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

业界会议

WWDC 2017
https://developer.apple.com/wwdc/
亮点并不多,附:开发者所需要知道的 iOS 11 SDK 新特性一张图带你全程回顾苹果 WWDC 2017大会

CES Asia 2017
http://ces.zol.com.cn/asia/
可以围观下有啥高科技产品

深阅读

V8 Release 6.0
https://v8project.blogspot.jp/2017/06/v8-release-60.html
V8 version 6.0, which will be in beta until it is released in coordination with Chrome 60 Stable in several weeks. V8 6.0 is filled will all sorts of developer-facing goodies. We’d like to give you a preview of some of the highlights in anticipation of the release.

JSC loves ES6
https://webkit.org/blog/7536/jsc-loves-es6/
WebKit’s JavaScript implementation, called JSC (JavaScriptCore), implements all of ES6. ES6 features were implemented to be fast from the start, though we only had microbenchmarks to measure the performance of those features at the time. This post describes the development of our first ES6 benchmark, which we call ARES-6. We used ARES–6 to drive significant optimization efforts in JSC, and this post describes three of them: high throughput generators, a new Map/Set implementation, and phantom spread. The post concludes with an analysis of performance data to show how JSC’s performance compares to other ES6 implementations. 另附 Webkit 的其它更新:WebKit has a full WebAssembly implementation, Announcing WebRTC and Media CaptureIntelligent Tracking Prevention,这些特性将随 Safari 11 发布.

Node.js + MySQL Example: Handling 100’s of GigaBytes of Data
https://blog.risingstack.com/node-js-mysql-example-handling-hundred-gigabytes-of-data/
Through this Node.js & MySQL example project, we will take a look at how you can efficiently handle billions of rows that take up hundreds of gigabytes of storage space. My secondary goal with this article is to help you decide if Node.js + MySQL is a good fit for your needs, and to provide help with implementing such a solution.

A Guide to Proper Error Handling in JavaScript
https://www.sitepoint.com/proper-error-handling-javascript/
Ah, the perils of error handling in JavaScript. If you believe Murphy’s law, anything that can go wrong, will go wrong. In this article, I would like to explore error handling in JavaScript. I will cover pitfalls, good practices, and finish with asynchronous code and Ajax.

Upgrading from Node 6 to Node 8: a real-world performance comparison
https://hackernoon.com/upgrading-from-node-6-to-node-8-a-real-world-performance-comparison-3dfe1fbc92a3
These performance comparisons are for a medium-to-large React site with a single page. On the server, it takes a JSON object with a few thousand properties and returns HTML with 2113 DOM nodes.

Cloud Browser Architecture
https://www.w3.org/TR/2017/NOTE-cloud-browser-arch-20170608/
The Web and TV Interest Group has published a Group Note of Cloud Browser Architecture. A Cloud Browser is a browser running and executing on a server. This document describes the concepts and architecture for the Cloud Browser. The main purpose of this document is to provide the building blocks for a Cloud Browser solution.

The Evolution of Code Deploys at Reddit
https://redditblog.com/2017/06/02/the-evolution-of-code-deploys-at-reddit/
We’re constantly deploying code at Reddit. Every engineer writes code, gets it reviewed, checks it in, and rolls it out to production regularly. This happens as often as 200 times each week and a deploy usually takes fewer than 10 minutes end-to-end. The system that powers all of this has evolved over the years. Let’s take a look at how it’s changed (and how it hasn’t) over all that time.

Google - Spinnaker 1.0: a continuous delivery platform for cloud
http://cloudplatform.googleblog.com/2017/06/spinnaker-10-continuous-delivery.html
We’re happy to announce the release of Spinnaker 1.0, an open-source multi-cloud continuous delivery platform used in production at companies like Netflix, Waze, Target, and Cloudera, plus a new open-source command line interface (CLI) tool called halyard that makes it easy to deploy Spinnaker itself.

[译]ES6 modules 即将到来,现在该考虑新的打包方案了嘛
https://zhuanlan.zhihu.com/p/27276672
ES6 modules(以下称ESM)已经定义到了ECMAScript规范里面有段时间了。社区的人们也写了很多文章布道怎么配合Babel来使用以及说明了import和node里的require的区别。但是在浏览器端完整的实现还需要一点时间。 很欣喜的看到Safari第一个在其工程预览版搭载ESM),现在Edge 和 Firefox Nightly也搭载了这个功能。在经历过使用像RequireJs Browserify(还记得AMD和common js之争吗)似乎modules终将到达浏览器领地,那么就让我们来看看未来将会带给我们什么吧。

[译]自包含系统:打开微服务的正确方式
http://www.infoq.com/cn/articles/scs-microservices-done-right
比微服务更进一步,UI 也独立,很多年前的 bigpipe 就是能做到类似的效果了

WebView性能、体验分析与优化
http://tech.meituan.com/WebViewPerf.html
在App开发中,内嵌WebView始终占有着一席之地。它能以较低的成本实现Android、iOS和Web的复用,也可以冠冕堂皇的突破苹果对热更新的封锁。然而便利性的同时,WebView的性能体验却备受质疑,导致很多客户端中需要动态更新等页面时不得不采用其他方案。那么如何克服WebView固有的问题呢?我们将从性能、内存消耗、体验、安全几个维度,来系统的分析客户端默认WebView的问题,以及对应的优化方案。

Web安全之XSS
https://techblog.toutiao.com/2017/06/06/xss/
XSS 科普

那些你不知道的爬虫反爬虫套路
https://zhuanlan.zhihu.com/p/27299841
现在要拼前端了

Reducing our Redux code with React Apollo
https://dev-blog.apollodata.com/reducing-our-redux-code-with-react-apollo-5091b9de9c2a
虽然是软文,但思路可以参考

Learn more about npm’s lockfiles
http://blog.npmjs.org/post/161627993435/learn-more-about-npms-lockfiles
npm5 introduces a lockfile, package-lock.json that keeps a record of every dependency your project uses and what version you have currently installed. Before npm5, this was behavior you could only get from npm shrinkwrap.

Classes, Complexity, and Functional Programming
https://medium.com/@kentcdodds/classes-complexity-and-functional-programming-a8dd86903747
When it comes to applications intended to last, I think we all want to have simple code that’s easier to maintain. Where we often really disagree is how to accomplish that. In this blog post I’m going to talk about how I see functions, objects, and classes fitting into that discussion.

A Brief History of the UUID
https://segment.com/blog/a-brief-history-of-the-uuid/
Today we’re releasing ksuid, a Golang library for unique ID generation. It borrows core ideas from the ubiquitous UUID standard, adding time-based ordering and more friendly representation formats. In doing the research that went into this library, we uncovered a compelling story that we wanted to share with a larger audience. 另附:Be Careful with UUID or GUID as Primary Keys.

The State Of Advanced Website Builders
https://www.smashingmagazine.com/2017/06/advanced-website-builders/
Advanced website builders — the tools provided by Squarespace, Wix, Weebly, The Grid and more — produce websites that look and feel like they were designed and coded by humans. They’re also software as a service, which is a different business model than traditional, custom-developed websites. So, should companies use them? At some point, will they replace custom development?

How to do it like Google with this powerful checklist
https://uxplanet.org/ux-writing-how-to-do-it-like-google-with-this-powerful-checklist-e263cc37f5f1
These are my notes from a Google I/O 2017 talk by three UX Writers. It’s a great resource to start creating a UX Writing process within your organisation. Useful for anyone involved in putting words on interfaces.

Color Accessibility Workflows
https://alistapart.com/article/color-accessibility-workflows
The Web Content Accessibility Guidelines (WCAG) 2.0 contain recommendations from the World Wide Web Consortium (W3C) for making the web more accessible to users with disabilities, including color blindness and other vision deficiencies.

Creating Yin and Yang Loaders On the Web
https://css-tricks.com/creating-yin-yang-loaders-web/
I came across a couple such animations a while ago and this gave me the idea of creating my own versions with as little code as possible, no external libraries, using various methods, some of which take advantage of more recent features we can use these days, such as CSS variables. This article is going to guide you through the process of building these demos.

digital video introduction
https://github.com/leandromoreira/digital_video_introduction#basic-terminology
A hands-on introduction to video technology: image, video, codec (av1, h264, h265) and more (ffmpeg encoding).

新鲜货

WCDB
https://github.com/Tencent/wcdb
微信基于 SQLCipher 封装的移动端数据库,带 ORM 等功能。附介绍:微信跨平台移动数据库框架WCDB开源

Lullaby
https://github.com/google/lullaby
Lullaby is a collection of C++ libraries designed to help teams develop virtual and augmented reality experiences.

Introducing Graywater for Android
https://engineering.tumblr.com/post/161546559631/introducing-graywater-for-android
Graywater, Tumblr’s framework for decomposing complex items in a RecyclerView list in order to improve scroll performance, reduce memory usage, and lay a foundation for a more composition-oriented approach to building lists. With Graywater, the app now scrolls faster and crashes less often, and it also gives us a solid foundation for building new features faster and better than before.

Node v8.1.0
https://nodejs.org/en/blog/release/v8.1.0/
一些小的修复

Miscrosoft - Fluent Design System
http://fluent.microsoft.com/
Now’s the time for bold, scalable, universal design. This is a transformation. A step into the future of sensory experiences. The world is at our fingertips – join Microsoft in building a design evolution. Design and develop apps using Fluent Design. 将在最新的 Windows 10 中正式亮相

The Future of MDN: A Focus on Web Docs
https://developer.mozilla.org/
MDN - Mozilla Developer Network’s mission today is to provide developers with the information they need to build things on the open Web. MDN is clearly a web documentation reference, and in no way is it a developer network. We want the name to clearly reflect the purpose and mission of MDN, and so we’re going to be updating it to: MDN Web Docs.

JavaScript’s new #private class fields
http://thejameskyle.com/javascripts-new-private-class-fields.html
Private class fields are now at Stage 2 in the JavaScript standard process. It’s not finalized yet, but the JavaScript standards committee expects the feature to be developed and eventually included in the standard (although it may still change).

React Log: React for the Console
https://github.com/diegomura/react-log
A component that’s not rendered into the DOM but instead to the console.

billboard.js
https://github.com/naver/billboard.js
billboard.js is a re-usable easy interface JavaScript chart library, based on D3 v4+. 可视化领域还是 EchartsG2 更值得信赖.

Mega Project List
https://github.com/karan/Projects
A list of practical projects that anyone can solve in any programming language.

Google’s Environmental Report
https://environment.google/
At Google, our values reflect the fundamental importance of inclusion, openness, science, and commitment to the environment. Operating our business in an environmentally sustainable way has been a core value from the beginning.

npmcharts
http://npmcharts.com/
试试了解目前社区最喜欢哪个库

legoflow
https://github.com/legoflow/legoflow
不了解 node 也能做工程化

High Efficiency Image File Format (HEIF)
https://nokiatech.github.io/heif/
诺基亚提出的图片格式,比 jpeg 体积小且效果好,但不清楚和 webp 对比如何

Clone in Xcode
https://github.com/blog/2375-clone-in-xcode
It’s easy to explore code in your browser when you visit a GitHub repository, but you often want to pull that code directly into the appropriate editor and try it out. For example, if the repository contains an .xcodeproj or .xcworkspace file, you might want to open that code in Xcode.

ChaosBot
https://github.com/chaosbot/chaos
ChaosBot is a social coding experiment to see what happens when the absolute direction of a software project is turned over to the open source community.

barba.js
https://github.com/luruke/barba.js/
barba.js is a small (4kb minified and gzipped), flexible and dependency free library that helps you creating fluid and smooth transitions between your website’s pages. It helps reducing the delay between your pages, minimizing browser HTTP requests and enhancing your user’s web experience.

产品及其它

饿了么 Sofish:前端、移动程序员,如何在大前端浪潮下成长
https://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=2650996438&idx=1&sn=9d3bc76d66030a9d46004260e711cad4
这几个心得很赞:职业不一样,是担起的担子,是对一群人包括自己的一种责任,有些事不喜欢不仅得做,还要做的漂亮;无论选择什么方向,一方面尽力做到最好;另一方面不要给自己设限,去接受更多挑战以提升自己;这样可能是比选择一个方向要更靠谱的方法;比选择更重要的是,成为一个某个产品或团队因为有你而变得更好的人。

凯文凯利:真正的AI时代还未来临
http://newrss.guancha.cn/toutiao/toutiaopost/TMT/2017_06_09_412519.shtml
将会有无数差异化的有别于人类思维的AI迎着我们走来,集合成无比灿烂的交响乐章;随着不断的发展与完善,它们会像电一样在“云”端被人类依赖,作为新经济的引擎,AI帮助人类延展自己的感知领域,也带给创业者们更多的机会。不要恐惧AI及智能机器人时代的到来,因为它只会给人类带来更多更有趣的工作机会;真正的AI时代远还未来临,目前还处于类似于工业革命农业革命一样的AI革命时代,是AI时代开始的开始,好日子还在后头,我们大家要满怀喜悦地迎接这个时代的到来。另附:恰到好处的人工智能

俞永福-看过500家创业公司生死后的产品观
https://mp.weixin.qq.com/s?__biz=MjM5MzkwMzk2MA==&mid=2649939985&idx=2&sn=d0e32680d36703726319eaadbdb3517c
产品经理所需的三大特质:第一,感性与理性;第二,产品哲学;第三,0到1的经历。产品角度的四条线:1、自己的亮点是什么?2、自己的死点是什么? 3、对手的亮点是什么? 4、对手的死点是什么。互联网组织形态下:无形和无价的产品。在决策机制上避免两种倾向:一言堂、讲民主。另附:产品经理核心竞争力——在于“面向用户建构商业模式”

StackOverflow创始人关于如何高效编程的清单
https://mp.weixin.qq.com/s?__biz=MzA5Nzc4OTA1Mw==&mid=2659599322&idx=1&sn=0f201ceb0d650637384bdd2aea95bb84
无我编程的十条戒律,最早出现在 Gerald Weinberg 于 1971 年出版的经典著作《程序开发心理学》里。Stack Overflow 网站的联合创始人 Jeff Atwood 在博客上再次列出了这十条戒律。要知道,在这本著作出版的时候,Jeff 才一岁。虽然已经过去了几十年,但这些原则并没有被时间侵蚀,仍然值得每一位程序员拜读。另附:成为专家级程序员的修炼之道

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