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

深阅读

V8 release v6.4
https://v8project.blogspot.com/2017/12/v8-release-64.html
V8 v6.4 improves the performance of the instanceof operator by 3.6×. As a direct result, uglify-js is now 15–20% faster according to V8’s Web Tooling Benchmark. V8’s built-in code objects and bytecode handlers are now deserialized lazily from the snapshot, which can significantly reduce memory consumed by each Isolate.

I just asked 23,000 developers what they think of JavaScript. Here’s what I learned
https://medium.freecodecamp.org/i-just-asked-23-000-developers-what-they-think-of-javascript-heres-what-i-learned-9a06b61998fa
I recently published our results for the 2017 edition of the annual State of JavaScript survey, collected from over 23,000 developers. The results revealed many things, from popularity trends to salary breakdowns. You’ll want to take a look for yourself if you haven’t done so already. But among all these data, here are the 10 things that stood out most to me.
另附来自 npm 的 2017 JavaScript Ecosystem Survey

A plan to rescue the Web from the Internet
https://staltz.com/a-plan-to-rescue-the-web-from-the-internet.html
We need to realize that the Web can be independent from the Internet. The core weaknesses of the Internet have to be recognized, and how exactly they were exploited by middlemen businesses. The problem we are solving is both social and technical, so the solution must be a harmony of these two. Finally, all the tools and opportunities we need to supersede them are already in our hands: smartphones, peer-to-peer protocols, and mesh networks.

Why ‘mobile first’ may already be outdated
https://blog.intercom.com/why-mobile-first-may-already-be-outdated/
If “mobile first” is no longer your dogma, then what is? At Intercom our dogma is the Jobs-to-be-Done framework. Focusing on what Jobs your users are trying to do. Servicing those Jobs where they happen. Servicing them with the right depth of product experience: maybe a glance on a watch is best, maybe a 40 inch screen dashboard view is best. Servicing them in a way that takes advantage of the situational context of use – no one is bringing their iMac to the beach, and no-one is writing the board deck on their phone. So think about the screen best suited for input, and the screen best suited for output.

Developer Experience First —— TWA 的理念与实践
https://zhuanlan.zhihu.com/p/32219319
TWA 是以提升开发者研发体验为核心的渐进式解决方案,给 H5 App 开发者 提供从框架、研发流程到运行时的完整支持。此处的 Techless 并不意味着它是一个没有技术含量的解决方案,而是我们期望让产品研发可以更好的关注在产品实现上,不用过于关注“应用”、“构建”、“部署”、“流程”等细节。
另附来自蚂蚁金服体验科技的另一篇文章:可视化图形语法概述

[译]2017前端技术发展回顾
https://hijiangtao.github.io/2017/12/18/A-Recap-of-Front-End-Development-in-2017/
可以回顾一下

美团金融扫码付静态资源加载优化实践
https://tech.meituan.com/qrcodepayment-static-optimize.html
ThunderJS 定制加强了与静态资源托管(公司自研的Build Service)结合的能力,能够让我们对静态资源的加载进行针对性的优化,而在 C 端项目中,静态资源的加载优化是我们尤为重视的。本文主要介绍基于 ThunderJS 和 Build Service 的产品优化方案。

如果我们能从头开始,web编程会是什么样子?
https://www.zhihu.com/question/264445652/answer/282303246
这是一个值得每个前端码农思考的问题。民工叔叔的回答很赞,另附叔的 最近的一次讨论记录,关于状态管理和框架。

[译]ESR:程序语言设计的要诣和真谛
https://linux.cn/article-9162-1.html
当你真正掌握了整体化的工程设计思维时,你就会发现高屋建瓴的工程设计已经远远超越了技术优化的层面。语言设计中需要侧重的目标重新归纳为两部分: (1)以时间的远近为轴,在远景设计和近景设计之间选取一个符合预期的最佳平衡点;(2)降低由一种或多种语言转化为这种新语言的转入成本,这样就可以更好地吸纳其它语言的用户群。
另附,ESR的 C, Python, Go, and the Generalized Greenspun Law

一万亿张图片的存储架构与4个9可用性的重构
https://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=2650999959&idx=1&sn=a78df9cff42b78c091d01549c52afe00
QQ 相册作为重量级资深业务,稳定运营、有效容灾,一直是相册团队追求的目标。QQ 相册架构一直在演变进化,本文重点介绍相册最新的一次重构细节。重构进行了大规模的存储搬迁、功能模块合并,抽象了图片上传“两阶段”,并在此之上设计了轻量级的容灾方案。新架构精简了大量模块,优化了图片上传流程,减轻了运维工作,从实际运营效果看,系统稳定达到 4 个 9 的服务质量,并具备跨 IDC 容灾的能力。

九年双11的云化架构演进和升级
https://mp.weixin.qq.com/s?__biz=MzIzOTU0NTQ0MA==&mid=2247486594&idx=1&sn=8dfa1855044dd516ac0e2aa897d638f4
双11峰值的本质是用有限的成本最大化提升用户体验和集群吞吐能力,用合理的代价解决峰值。面对增长如何发挥规模效应,持续降低单笔交易成本,提升峰值吞吐能力,为用户提供丝般顺滑的浏览和购物体验,这是极大的挑战。

Docker说了这么多 最全的一篇在这里
https://mp.weixin.qq.com/s/r6Zj9Umlc9v_rqplq8207A
Docker,近两年才流行起来的超轻量级虚拟机,它可以让你轻松完成持续集成、自动交付、自动部署,并且实现开发环境、测试环境、运维环境三方环境的真正同步。本文从 Docker 定义,作用,技术架构,安装和使用等全方位带你看懂 Docker。

How GitLab switched to Headless Chrome for testing
https://about.gitlab.com/2017/12/19/moving-to-headless-chrome/
We now have a truly accurate way to test GitLab within a real, modern browser. The switch has improved our ability to write tests and debug them while running them directly in Chrome. Plus the change forced us to confront and clean up a number of hacks we had been using in our tests.
另附:GitLab 10.3 released with Static Application Security Testing and Browser Performance Testing

Robust Client-Side JavaScript – A Developer’s Guide
https://molily.de/robust-javascript/
The JavaScript programming language is an essential tool of web developers today. Websites ship more and more JavaScript to the browser to be more interactive. The more complex client-side JavaScript gets, the more error-prone and fragile the user experience might get. Why do we need to talk about robust JavaScript and how do we achieve it?

Why Web Developers Need to Care about Interactivity
https://philipwalton.com/articles/why-web-developers-need-to-care-about-interactivity/
Anyone who’s browsed the web on their phone has, at one point or another, experienced this situation: You open a web page and click on something, but nothing happens; You click on it again—still nothing happens; You click on something else—nope, nothing. This is bad enough on its own, but it often doesn’t end there. I want to dig into the meaning of interactivity on the web. After all, I think it’s one of the most important things developers need to care about.

Node.js Best Practices - How to become a better Node.js developer in 2018
https://nemethgergely.com/nodejs-best-practices-how-to-become-a-better-developer-in-2018/
It became a tradition for me in the past two years to write recommendations for the next year on how one can become a better Node.js developer. This year is no exception!

WebAssembly Will Finally Let You Run High-Performance Applications in Your Browser
https://spectrum.ieee.org/computing/software/webassembly-will-finally-let-you-run-highperformance-applications-in-your-browser
Online applications could work as smoothly as the programs you install on your machine

The future of state management
https://dev-blog.apollodata.com/the-future-of-state-management-dd410864cae2
Managing your local data in Apollo Client with apollo-link-state

Top UX design trends for 2018 – expert predictions
https://www.justinmind.com/blog/top-ux-design-trends-for-2018-10-experts/
Looking at immersive technologies, I think mass adoption will come once we have mainstream Social Virtual Reality (VR) and Augmented Reality (AR) platforms – which is unlikely to happen as early as 2018 though. Social is the way forward, simply because experiences are better when they’re shared.
[译]2018年的UI / UX设计趋势,来自18位设计师的预测

Building Better UI Designs With Layout Grids
https://www.smashingmagazine.com/2017/12/building-better-ui-designs-layout-grids/
In this article, I’ve put together a lot of information about grids, such as: what grids are, a brief history of the grid, a basic theory of grids, four types of layout grids, layout grids in interactive design.

新鲜货

年终盘点集锦 Frontend in 2017: The important partsRisingStack Best of - The Most Popular Node.js Tutorials of 2017Angular Top 50: What you should have read in 2017React Status Top ArticlesFrontend Focus Top ArticlesNode Weekly Top ArticlesGolang Weekly Top Articles Rust in 2017: what we achievedThe Best of Reddit in 2017

Google - boardgame.io
http://boardgame.io/#/
The goal of this framework is to allow a game author to essentially translate the rules of a game to a series of simple functions that describe how the game state changes when a particular move is made, and the framework takes care of the rest. You will not need to write any networking or backend code. 附:介绍

Safari Technology Preview 46 - Service Workers
https://webkit.org/blog/8042/release-notes-for-safari-technology-preview-46/
Offline applications are important to the web. After HTML5 first tried to accommodate them with the Offline Application Cache, the Service Workers specification was created as a successor.
另附 Apple Plans Combined iPhone, iPad & Mac Apps to Create One User ExperienceIE - Service Workers: Going beyond the page

Free Cross-Platform Mobile App Development Tools Compared – 2017
https://www.outsystems.com/blog/free-cross-platform-mobile-app-development-tools-compared-2017.html
This list includes open-source and free cross-platform mobile app development tools that any developer can use immediately. Flutter 值得关注

The Future of jQuery UI and jQuery Mobile
http://blog.jqueryui.com/2017/12/the-future-of-jquery-ui-and-jquery-mobile/
We are currently very interested in attracting new team members to the combined jQuery UI and jQuery Mobile team. Anyone who is interested can feel free to reach out to Alex Schmitz, the new team lead for both projects, join our slack channel or even find us on IRC (we are still there). jQuery UI and jQuery Mobile rely on contributions from the community and can only continue to exist with your help!
另附: Is jQuery still relevant?

Jest 22: Refinements & Custom Runners
http://facebook.github.io/jest/blog/2017/12/18/jest-22.html
We are also graduating the custom runners feature out of the experimental stage and added a new package, jest-worker, for parallelizing work across multiple processes. We have compiled a list of highlights below but make sure to check out the (as always) massive changelog.

fastify
https://github.com/fastify/fastify
Fastify is a web framework highly focused on providing the best developer experience with the least overhead and a powerful plugin architecture. It is inspired by Hapi and Express and as far as we know, it is one of the fastest web frameworks in town.

码农·人工智能小谈(第32期)
http://www.ituring.com.cn/book/2598
本期《码农》关注人工智能,意在“小谈”这个概念,从理解领域奠基人的思想、论文入手,掌握人工智能的来龙去脉。

新书-前端工程化:体系设计与实践
https://h5.weidian.com/m/groupon/detail/index.html?itemId=2216706588
本书的主要目标读者是对前端工程化有一定理解和实践的中高级前端工程师,同样适用于对前端工程化感兴趣的服务器端开发者以及运维人员。本书假设读者熟悉Web站点的基本工作原理,尤其是前端与服务器端之间的协作流程,并且对HTTP协议、异步通信、模块化等知识有深入的理解。

NetSPI SQL Injection Wiki
https://sqlwiki.netspi.com/
This wiki’s mission is to be a one stop resource for fully identifying, exploiting, and escalating SQL injection vulnerabilities across various Database Management Systems (DBMS). This wiki assumes you have a basic understanding of SQL injection, please go here for an introduction if you are unfamiliar.

Quick Boot & the Top Features in the Android Emulator
https://android-developers.googleblog.com/2017/12/quick-boot-top-features-in-android.html
With Quick Boot, you can launch the Android Emulator in under 6 seconds. Quick Boot works by snapshotting an emulator session so you can reload in seconds. Quick Boot was first released with Android Studio 3.0 in the canary update channel and we are excited to release the feature as a stable update today.

Essential Image Optimization
https://images.guide/
总结了各种图片优化的知识

emojis.json
https://gist.github.com/oliveratgithub/0bf11a9aff0d6da7b46f1490f86a71eb
Emoji-list with emojis, names, shortcodes, unicode and html entities [massive list]

Joy compiler
https://mat.tm/joy/
将 Go 编译为 JavaScript,虽然看起来没啥用

产品及其它

Magic Leap One
https://www.magicleap.com/
高科技 http://tech.ifeng.com/a/20171224/44817802_0.shtml

豌豆荚年度设计奖
https://sspai.com/post/42408
年度应用:VUE、好好住、夸克浏览器、网易蜗牛读书

服务设计真的有用吗?
https://mp.weixin.qq.com/s?__biz=MTEwNTM0ODI0MQ==&mid=2653435043&idx=1&sn=c6be81b7192e5fc7e5053f0deef65441
服务设计这个概念在最近几年变得非常火热,让很多人听了就觉得兴奋。总感觉作为一个设计师,如果连这个概念都不知道就已经out了。然而别人口中的服务设计,真的有传说的这么神吗?真的能在我们的日常工作中应用吗?我们不妨都冷静下来,先对服务设计进行更多了解探索,再来认识它的实际价值。而要弄清楚何谓服务设计,我们需要先从互联网设计的几个核心阶段的演变说起。

曾鸣:看十年,势在哪?干一年,点在哪?
https://mp.weixin.qq.com/s?__biz=MzIxNTAzNzU0Ng==&mid=2654593283&idx=1&sn=56beec69007c43944feabd55965eb1ef
信息量很大…“看十年”,就是Vision(愿景),你能看多远多清楚。Vision(愿景)决定了你的眼光、格局、胸怀和最终的潜力。这是时代变革中企业家的核心能力。未来十年,依然是这三条主线,你必须至少在其中一个方向有足够大的发展和突破,才能在未来有自己的优势:在线化、智能化、网络化。