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

业界会议

[报名]SEE Conf - 首届蚂蚁体验科技大会
https://seeconf.alipay.com/
探索极致用户体验与最佳工程实践

全球架构师峰会北京站2017
http://bj2017.archsummit.com/schedule

深阅读

Introducing the React RFC Process
https://reactjs.org/blog/2017/12/07/introducing-the-react-rfc-process.html
We’re adopting an RFC (“request for comments”) process for contributing ideas to React. Inspired by Yarn, Ember, and Rust, the goal is to allow React core team members and community members to collaborate on the design of new features.

React Performance Fixes on Airbnb Listing Pages
https://medium.com/airbnb-engineering/recent-web-performance-fixes-on-airbnb-listing-pages-6cd8d93df6f4
Through a process of profiling, making a fix, and profiling again, we dramatically improved the interaction performance of this critical page, which makes the booking experience smoother and more satisfying. In this post, you’ll learn about the techniques I used to profile this page, the tools I used to optimize it, and see the scale of this impact in the flame charts produced by my profiling.

Patterns for designing flexible architecture in node.js (CQRS/ES/Onion)
https://medium.com/@domagojk/patterns-for-designing-flexible-architecture-in-node-js-cqrs-es-onion-7eb10bbefe17
In this post, I’ve presented a project that is using CQRS and Event Sourcing patterns. It’s organized using onion architecture and written with TypeScript. 附:从CQS向CQRS演变

Introducing Nexus.js: A multi-threaded JavaScript run-time
https://dev.to/voodooattack/introducing-nexusjs-a-multi-threaded-javascript-run-time-3g6
Last year I started implementing Nexus.js, a multi-threaded server-side JavaScript run-time based on WebKit/JavaScriptCore. I dropped it for a while, due to circumstances out of my control that I’m not going to discuss here, but here we are again: I couldn’t keep myself from working on it for long. So let us start by discussing the architecture of Nexus and how things work.

Products Over Projects
https://martinfowler.com/articles/products-over-projects.html
Product-mode instead uses durable, ideate-build-run teams working on a persistent business issue. Product-mode allows teams to reorient quickly, reduces their end-to-end cycle time, and allows validation of actual benefits by using short-cycle iterations while maintaining the architectural integrity of their software to preserve their long-term effectiveness.

码农·打破“性能”瓶颈(第31期)
http://www.ituring.com.cn/book/2589
本期《码农》意在帮助那些对性能问题还不太关注,以及对性能一知半解的程序员快速了解性能调优方面的知识。“专题”一栏的文章包括了性能问题处理的各种环节及行家经验。基于这些理论,“践行”专栏给出了实操性的指导,帮助移动端应用的开发者应对网络条件较差、内存不足的情况,以提供流畅的用户体验。

设计师如何有效参与团队协作
https://zhuanlan.zhihu.com/p/31592558
工作中的沟通效果很多时候直接决定了你的设计方案会不会被采纳,对一个优秀的设计师而言,仅仅做好自己的产出是不够的,还要能够说服大家接受自己的方案,推动资源去做正确的事,这时沟通能力、耐力就显得非常重要。

阿里持续交付平台的设计、迭代之道
http://www.sohu.com/a/209168544_355140
平台不能只是工具的堆砌,更需要针对互联网时代的研发模式进行深度思考,不断打磨,将工程师文化和工程师实践不断地融入其中。轻管控重技术,使用业界上最新工程实践,用技术的演进去解决技术人的效率问题。感兴趣的可看演讲视频

A different way of understanding this in JavaScript
http://2ality.com/2017/12/alternate-this.html
In this blog post, I take a different approach to explaining this in JavaScript: I pretend that arrow functions are the real functions and ordinary functions a special construct for methods. I think it makes this easier to understand – give it a try.

Here’s what people in tech had to say about JavaScript when it debuted in 1995
https://medium.com/dailyjs/heres-what-people-in-tech-had-to-say-about-javascript-when-it-debuted-in-1995-a4b81dc05b71
ime and time again JavaScript is crowned the most popular programming language in the World. Whether you agree with that or not, one thing’s for sure: It’s come a long way since its debut back in 1995. 另附: So, you learned JavaScript – what now?

Evolution of <img>: Gif without the GIF
https://calendar.perfplanet.com/2017/animated-gif-without-the-gif/
By enabling video content in <img> tags, Safari Technology Preview is paving the way for awesome Gif-like experiences, without the terrible performance and quality costs associated with GIF files. This functionality will be fantastic for users, developers, designers, and the web. 另附:Progressive Image Loading using Intersection Observer and SQIP

The Glimmer Binary Experience
https://engineering.linkedin.com/blog/2017/12/the-glimmer-binary-experience
A bit over a year ago, Ember.js got a major overhaul. In a tight collaboration between LinkedIn engineers and the open source community, we replaced Ember’s rendering engine with a new library, Glimmer VM, that improved performance and significantly reduced the size of compiled templates. In this blog, we will discuss a recent experiment to improve load times even further by entirely eliminating the cost to parse compiled templates.

Uber’s Open Source Tool for Preventing Resource Exhaustion by DNS Outages
https://eng.uber.com/denial-by-dns/
In this article, we strive to answer the question: how can a third-party service degrade data center-local (or even host-local) connectivity of a web service? While this login service has been deprecated, our experience led us to create a new solution for identifying and preventing these types of outages.

Scaling Slack’s Job Queue
https://slack.engineering/scaling-slacks-job-queue-687222e9d100
Robustly Handling Billions of Tasks in Milliseconds Using Kafka and Redis

Neural Networks in JavaScript with deeplearn.js
https://www.robinwieruch.de/neural-networks-deeplearnjs-javascript/
This article will not explain the machine learning algorithms in detail, but only demonstrate their usage in JavaScript. The course on the other hand goes into detail and explains these algorithms in an amazing quality. At this point in time of writing the article, I learn about the topic myself and try to internalize my learnings by writing about them and applying them in JavaScript. 另附:Google大神 Jeff Dean - Machine Learning for Systems and Systems for Machine Learning

A Look at the Improvements That TLS 1.3 Brings
https://www.keycdn.com/blog/tls-1-3/
TLS 1.3 has numerous other improvements over its predecessors. This guide will explain how developers can take full advantage of the features the latest version of TLS has to offer. Many browsers and SSL test services do not yet support TLS 1.3. The situation should change very soon, but in the meantime, you can enable the security protocol manually in some versions of Firefox and Chrome.

Using GopherJS with gRPC-Web
https://blog.gopheracademy.com/advent-2017/gopherjs-grpc-web/
Writing GopherJS apps is great fun and lets us avoid writing JavaScript and all the problems associated with it. However, we’ll often want to communicate with a backend server in order to read or write state or issue RPC calls to other backend servers. This is generally done via a RESTful JSON API, or maybe something like GraphQL with JSON.

Modern Front-end in Rails
https://evilmartians.com/chronicles/evil-front-part-1
An opinionated guide to modern, modular, component-based approach to handling your presentation logic in Rails that does not depend on any front-end framework. Follow our three-part tutorial to learn the bare minimum of up-to-date front-end techniques by example and finally make sense of it all.

How Stripe Designs Beautiful Websites
https://www.leejamesrobinson.com/blog/how-stripe-designs-beautiful-websites/
This article gave you some insight into how Stripe designs their websites and inspired you to create something of your own! Here’s three main points to leave you with: Typography choices are critical; Don’t underestimate the value of good UX; Use SVG images whenever possible.

How to create a Design System in Sketch
https://medium.com/sketch-app-sources/how-to-create-a-design-system-in-sketch-part-one-fd450dccab10
Let me show you the foundations that need to be laid to start building up a powerful Design System

The Evolution Of User Experience Design
https://www.smashingmagazine.com/2017/12/evolution-user-experience/
User Experience (UX) is evolving rapidly, and as designers, we need to ensure our knowledge keeps pace with the changes. This article, the first in a series of ten sponsored by Adobe XD, gets the ball rolling, exploring how UX is evolving. 另附:Welcome To The Next Level Of Mobile App Development

新鲜货

Announcing Ant Design 3.0
https://medium.com/ant-design/announcing-ant-design-3-0-70e3e65eca0c
In this release we made a completely new design for components and websites, introduced a new color system, refactored code for multiple underlying components, introduced new features and improvements while minimizing incompatible changes.

Angular 5.1 & More Now Available
https://blog.angular.io/angular-5-1-more-now-available-27d372f5eb4e
Angular Material & CDK Stable Release; Service Worker support in the CLI; Improved Universal & AppShell Support in the CLI; Improved decorator error messages; TypeScript 2.5 support.

Announcing Ionic Pro for Teams
https://blog.ionicframework.com/announcing-ionic-pro-for-teams/
Ionic Pro helps speed up development while shipping better quality apps. With Pro, you can: Privately share test versions with just simple email invite; View all tester feedback in a central dashboard; Deliver different versions and releases to specific segments of users; Track and analyze errors in your code to improve app quality; Ship updates in realtime, without going through the app stores.

Parcel
https://parceljs.org/
Blazing fast, zero configuration web application bundler. 附介绍:Announcing Parcel

Introducing Turbo: 5x faster than Yarn & NPM, and runs natively in-browser
https://medium.com/@ericsimons/introducing-turbo-5x-faster-than-yarn-npm-and-runs-natively-in-browser-cc2c39715403
Turbo is a blazing fast NPM client originally built for StackBlitz that: Installs packages ≥5x faster than Yarn & NPM;
Reduces the size of node_modules up to two orders of magnitude; Has multiple layers of redundancy for production grade reliability;Works entirely within your web browser, enabling lightning fast dev environments.

NPMGraph
https://github.com/broofa/npmgraph
A tool for exploring NPM modules and dependencies

unistore
https://github.com/developit/unistore
A tiny ~650b centralized state container with component bindings for Preact. Preact 作者推出的 Redux 简化版本.

loadb
https://github.com/typicode/lowdb
lowdb is a small local JSON database powered by Lodash (supports Node, Electron and the browser)

Inquirer.js
https://github.com/SBoudrias/Inquirer.js
A collection of common interactive command line user interfaces.

Awesome Awesome Node.js
https://github.com/bnb/awesome-awesome-nodejs
A curated list of awesome lists that are about or related to Node.js.

腾讯IMWeb - Web前端工程师NEXT学位完整课程
https://ke.qq.com/course/258045
前端工程师Next学位,是由IMWeb学院精心打造的新型专业体系课。腾讯专家亲自授课,配合强大的学习工具,带你完成九大实战项目,经历从零基础到专业前端工程师的完美蜕变。

ROCKET - A RUST GAME RUNNING ON WASM
https://aochagavia.github.io/blog/rocket—a-rust-game-running-on-wasm/
Here is the source code. Also, you can play the game in the canvas below or on a dedicated tab.

产品及其它

互联网模式漫谈,何去何从,何以解忧 - 真阿当
http://www.jianshu.com/p/e886347f6829
06年正式入行互联网行业,至今在互联网行业工作了11年。这11年间,我先后工作过网站外包公司、sns创业公司、雅虎、淘宝、新浪、盛大、1号店,现在工作在互联网医疗行业。一路上都在做着互联网,但个中细节却差异很大,我发现这11年间,互联网行业在发生着很多变化,变化成了三种类型的公司 —— 纯互联网公司、互联网+公司和+互联网公司。想和大家漫谈一下这三种公司的区别,优缺点,以及对未来的预测。

How We’re Designing Channels
https://stackoverflow.blog/2017/12/04/designing-channels/
This post is part of a series on how we’re making Channels, the thinking behind the product, and insight into the process. We’ve got smart people working on smart solutions, and continue looking to the community and alpha/beta testers as we iterate toward launch.

The story of how the web began and why we must fight for its future
https://webfoundation.org/2017/12/the-story-of-how-the-web-began-and-why-we-must-fight-for-its-future/
ForEveryone.net, directed by Jessica Yu, tells the story of the web’s invention and Tim’s mission to ensure it remains a free and open space. As the web faces a growing number of challenges from governments and companies who seek to control it, the film asks, will we fight for the web we want or let it be taken away?

20 款即将上线的新产品,帮你更好地创业
http://36kr.com/p/5106571.html
Product Hunt是一个产品发现社区,最近,Product Hunt整理了20款新工具,这些工具有一个共同点:能帮助你发展创业公司,管理公司。让我们来看看都有什么工具。

作者:2betop (https://github.com/2betop) - 念我昵称的时候请用英文发音,谢谢!