FEX 技术周刊 – 2016/03/21
最后更新于:2022-04-01 00:04:15
## 深阅读
The Deep Roots of Javascript Fatigue**
[https://segment.com/blog/the-deep-roots-of-js-fatigue/](https://segment.com/blog/the-deep-roots-of-js-fatigue/)
[https://news.ycombinator.com/item?id=11294218](https://news.ycombinator.com/item?id=11294218)
Like it or not, Javascript is evolving at a faster rate than any widespread language in the history of computing. Most of the tools we use today didn’t even really exist a year ago: React, JSX, Flux, Redux, ES6, Babel, etc. Even setting up a ‘modern’ project requires installing a swath of dependencies and build tools that are all new. No other language does anything remotely resembling that kind of thing. It’s enough to even warrant a “State of the Art” post so everyone knows what to use. So, why does Javascript change so much?
**2016 Stack Overflow Developer Survey Results**
[http://stackoverflow.com/research/developer-survey-2016](http://stackoverflow.com/research/developer-survey-2016)
This year, over fifty thousand developers shared where they work, what they build, and who they are. You are about to read the results of the most comprehensive developer survey ever conducted.
**JSX - Is No Longer My Friend**
[https://medium.com/@jador/jsx-4b978fbeb290#.5mk3ko9ey](https://medium.com/@jador/jsx-4b978fbeb290#.5mk3ko9ey)
对 JSX 的吐槽,然后安利了一下 Hyperscript 语法
**How we built Facebook Lite for every Android phone and network**
[https://code.facebook.com/posts/1365439333482197/how-we-built-facebook-lite-for-every-android-phone-and-network/](https://code.facebook.com/posts/1365439333482197/how-we-built-facebook-lite-for-every-android-phone-and-network/)
Facebook 针对低端机及慢速网络的优化版是如何实现的
**JSPatch近期新特性解析**
[https://segmentfault.com/a/1190000004612317](https://segmentfault.com/a/1190000004612317)
JSPatch 是目前 iOS 上流行的动态补丁方案
**基于 Node.js 的自动化持续集成**
[https://cnodejs.org/topic/56e8d829cf7763a6045c4af8](https://cnodejs.org/topic/56e8d829cf7763a6045c4af8)
[https://github.com/alibaba/macaca](https://github.com/alibaba/macaca)
Macaca是一套自动化解决方案,由支付宝的同学研发。适用于前端、移动端自动化测试,跨平台、支持多种应用类型、同时提供持续集成服务。
**你可以一边开车,一边换轮胎吗?Dropbox 做到了**
[http://www.ifanr.com/634038](http://www.ifanr.com/634038)
最开始用 Go,后来发现内存占用太高,又改成 Rust 了
**利用 canvas 实现数据压缩**
[http://www.cnblogs.com/index-html/p/canvas_data_compress.html](http://www.cnblogs.com/index-html/p/canvas_data_compress.html)
HTTP 支持 GZip 压缩,可节省不少传输资源。但遗憾的是,只有下载才有,上传并不支持。如果上传也能压缩,那就完美了。特别适合大量文本提交的场合,比如博客园,就是很好的例子。虽然标准不支持「上传压缩」,但仍可以自己来实现。
**Flex布局关于内容均分的那些坑**
[http://mp.weixin.qq.com/s?__biz=MzI3NTE2NjYxNw==&mid=401783473&idx=1&sn=e48f65a8f9a8ba4464dd6be9c559dc55](http://mp.weixin.qq.com/s?__biz=MzI3NTE2NjYxNw==&mid=401783473&idx=1&sn=e48f65a8f9a8ba4464dd6be9c559dc55)
本文主要想介绍Flex布局的一种常见应用-内容均分布局,已经如何解决使用中遇到的一些问题。
**再谈 API 的撰写**
[http://mp.weixin.qq.com/s?__biz=MzA3NDM0ODQwMw==&mid=401902529&idx=1&sn=575ae8fdf163afa30604d712a73079fd](http://mp.weixin.qq.com/s?__biz=MzA3NDM0ODQwMw==&mid=401902529&idx=1&sn=575ae8fdf163afa30604d712a73079fd)
理想情况下,一个 API 撰写完成,应该能够自动生成文档和测试用例,而 API 系统也应该提供一整套统计的 API 用于生成 metrics。缺省情况下,API 系统本身就应该收集很多 metrics,比如每个 API 的 response time,status code 等等,使用 collectd / statd 收集信息,并可以进一步发送到 datadog / new relic 这样的 APM 系统。
**All JS libraries should be authored in TypeScript**
[http://staltz.com/all-js-libraries-should-be-authored-in-typescript.html](http://staltz.com/all-js-libraries-should-be-authored-in-typescript.html)
Typed vs dynamic is a rather controversial topic, so I’m not trying to spark that discussion all over again. But I believe all JavaScript libraries which are intended to be used by thousands of developers should be written in TypeScript. It’s not about applications or websites written in TypeScript. It’s about libraries. They should be written in TypeScript and here’s a couple reasons why.
**Securing React Redux Apps With JWT Tokens**
[https://medium.com/@rajaraodv/securing-react-redux-apps-with-jwt-tokens-fcfe81356ea0#.p6snxgwyw](https://medium.com/@rajaraodv/securing-react-redux-apps-with-jwt-tokens-fcfe81356ea0#.p6snxgwyw)
JSON Web Token (JWT) is a way to generate auth tokens. It’s is an open standard (RFC 7519) that defines a simple way for securely transmitting information between client and server as a JSON object.
**前端动画原理与实现**
[http://matrix.h5jun.com/slide/show?id=117#/](http://matrix.h5jun.com/slide/show?id=117#/)
大神月影整理的前端动画“启蒙”教程,亲自写了28段例子代码。不讲大道理,重在鼓励思考,不罗列API,重在介绍数学原理,不使用现成框架,重在数学和物理公式推导。
**前端优化不完全指南**
[http://aotu.io/notes/2016/03/16/optimization/](http://aotu.io/notes/2016/03/16/optimization/)
暖妹子の前端优化不完全指南来袭,救赎众生啦~~快来瞧瞧~
**专访链家鸟哥:技术人员如何保持进步**
[http://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=403082749&idx=1&sn=59d24d71982099f7d71b233ab69a8786](http://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=403082749&idx=1&sn=59d24d71982099f7d71b233ab69a8786)
技术社群应该负责起让大家回归理智的职责。技术本无优劣,应该引领技术人员专注于基础,关注基本功的修养。技术社群也是要弘扬一些正能量,拒绝以炒作语言之争或框架之争来搏眼球的做法。 更多的倡导大家博学众长、综合应用,学会根据情况不同,选择最优工具。
**The Go Programming Language**
[http://www.gopl.io/](http://www.gopl.io/)
[http://www.infoq.com/articles/the-go-programming-language-book-review](http://www.infoq.com/articles/the-go-programming-language-book-review)
The Go Programming Language, written by Alan A. A. Donovan and Brian W. Kernighan, provides an excellent introduction to the Go language. It covers the most recent stable version of the Go programming language (1.5), which was released in August 2015.
对 Go 语言有兴趣的同学可以关注这本书。
**天猫App的动态化配置中心实践**
[http://www.infoq.com/cn/articles/app-dynamic-configuration](http://www.infoq.com/cn/articles/app-dynamic-configuration)
**专访滴滴出行李贤辉:滴滴iOS客户端的架构演变之路**
[http://www.infoq.com/cn/news/2016/03/lixianhui-interview](http://www.infoq.com/cn/news/2016/03/lixianhui-interview)
滴滴的 iOS 客户端架构介绍
**【在线技术分享实录】mui-最接近原生体验的框架**
[http://mp.weixin.qq.com/s?__biz=MzIzMzEzODYwOA==&mid=415176096&idx=1&sn=35b6f0772021700325407cf3cdee6253](http://mp.weixin.qq.com/s?__biz=MzIzMzEzODYwOA==&mid=415176096&idx=1&sn=35b6f0772021700325407cf3cdee6253)
介绍了其中性能优化的方法
**Java 征途:行者的地图**
[http://www.cnblogs.com/mindwind/p/5251430.html](http://www.cnblogs.com/mindwind/p/5251430.html)
前段时间应因缘梳理了下自己的 Java 知识体系, 成文一篇望能帮到即将走进或正在 Java 世界跋涉的程序员们。
## 新鲜货
**GRPC - Google 出品**
[http://www.grpc.io/](http://www.grpc.io/)
A high performance, open source, general RPC framework that puts mobile and HTTP/2 first.
**Chrome 50 Beta: Push notification improvements and declarative preload**
[http://blog.chromium.org/2016/03/chrome-50-beta-push-notification.html](http://blog.chromium.org/2016/03/chrome-50-beta-push-notification.html)
推送提醒增强,支持 CSS 资源预加载属性
**Node.js - Planning for v6**
[https://github.com/nodejs/node/issues/5766](https://github.com/nodejs/node/issues/5766)
**V8 Release 5.0**
[http://v8project.blogspot.com/2016/03/v8-release-50.html](http://v8project.blogspot.com/2016/03/v8-release-50.html)
虽然版本号看起来是个大更新,但其实更新不多,主要是对 ES6 正则的更好支持,及几个 API 的性能提升。另附:
**Ant Design 全新设计语言文档上线**
[http://ant.design/docs/spec/introduce](http://ant.design/docs/spec/introduce)
Ant Design 旨在统一中台项目的前端 UI 设计,屏蔽不必要的设计差异和实现成本,解放设计和前端的研发资源。 Ant Design 是一个致力于提升『用户』和『设计者』使用体验的中台设计语言。它模糊了产品经理、交互设计师、视觉设计师、前端工程师、开发工程师等角色边界,将进行 UE 设计和 UI 设计人员统称为『设计者』,利用统一的规范进行设计赋能,全面提高中台产品体验和研发效率。
**Atom 1.6 and 1.7 beta**
[http://blog.atom.io/2016/03/17/atom-1-6-and-1-7-beta.html](http://blog.atom.io/2016/03/17/atom-1-6-and-1-7-beta.html)
终于有类似 Sublime Text 的预览内容方式了
**NativeScript 1.7 Announcement**
[https://www.nativescript.org/blog/nativescript-1.7-announcement](https://www.nativescript.org/blog/nativescript-1.7-announcement)
开始集成对 Angular 2.0 的支持
**A WebAssembly Milestone: Experimental Support in Multiple Browsers**
[https://hacks.mozilla.org/2016/03/a-webassembly-milestone/](https://hacks.mozilla.org/2016/03/a-webassembly-milestone/)
WebAssembly 已经开始在 IE、Chromium 及 Firefox 中试点了,发展还是挺快的,目前的测试表明,比起 asm.js,它的体积减少 12%(gzip 后)另附:[Experimental support for WebAssembly in V8](http://v8project.blogspot.com/2016/03/experimental-support-for-webassembly.html)
**Programming on Parallel Machines**
[http://heather.cs.ucdavis.edu/parprocbook](http://heather.cs.ucdavis.edu/parprocbook)
一本介绍 OpenMP、CUDA 及 MPI 并行程序设计的的免费书
**The Atomic Game Engine goes Open Source!**
[http://atomicgameengine.com/blog/announcement-2/](http://atomicgameengine.com/blog/announcement-2/)
又一款游戏引擎开源了,可以基于 JavaScript API 写跨平台游戏
**Introducing Feathers 2.0**
[https://blog.feathersjs.com/introducing-feathers-2-0-aae8ae8e7920#.6v2hi1jwd](https://blog.feathersjs.com/introducing-feathers-2-0-aae8ae8e7920#.6v2hi1jwd)
一个基于 Express 和 Socket.io 的实时框架
**Substance**
[http://substance.io/](http://substance.io/)
一个 Web 富文本编辑器
**Announcing Marko v3: From HTML to HTML-JS**
[http://markojs.com/blog/announcing-marko-v3/](http://markojs.com/blog/announcing-marko-v3/)
有一个模板引擎,号称比 React 快得多
**API Blueprint**
[https://github.com/apiaryio/api-blueprint](https://github.com/apiaryio/api-blueprint)
A powerful high-level API design language for web APIs. API Blueprint is simple and accessible to everybody involved in the API design lifecycle. Its syntax is concise yet expressive. With API Blueprint you can quickly prototype and model APIs to be created or describe already deployed mission-critical APIs. From a car to the largest Content Distribution Network (CDN) in the world.
**Relay Fullstack**
[https://github.com/lvarayut/relay-fullstack](https://github.com/lvarayut/relay-fullstack)
Relay Fullstack is a Relay scaffolding application that aims to help you get up and running a project without worrying about integrating tools. It comes with many modern technologies; Relay, GraphQL, Express, ES6/ES7, JSX, Webpack, Babel, Material Design Lite, and PostCSS. Relay Fullstack is also using Hot-reload to real time update the screen whenever any code changes.
**More code review tools**
[https://github.com/blog/2123-more-code-review-tools](https://github.com/blog/2123-more-code-review-tools)
Effective code review catches bugs before they’re deployed, improves code consistency, and helps educate new developers. We’re adding new features to make code review on GitHub faster and more flexible.
**Adobe又放大招,全面打通界面、交互、原型制作**
[http://mp.weixin.qq.com/s?__biz=MjM5MjUwMzE2MA==&mid=430912047&idx=1&sn=e7bbbf60ba8c21de1134b13785937ade](http://mp.weixin.qq.com/s?__biz=MjM5MjUwMzE2MA==&mid=430912047&idx=1&sn=e7bbbf60ba8c21de1134b13785937ade)
Adober XD.将全面打通界面、交互、原型的制作。
## 产品及其它
**如何打造顶尖的技术研发团队?Esty有这么些点滴实践**
[http://mp.weixin.qq.com/s?__biz=MzA5Nzc4OTA1Mw==&mid=410326234&idx=1&sn=f7f07933f7caf5b73c1a089a9790367c&scene=0#wechat_redirect](http://mp.weixin.qq.com/s?__biz=MzA5Nzc4OTA1Mw==&mid=410326234&idx=1&sn=f7f07933f7caf5b73c1a089a9790367c&scene=0#wechat_redirect)
**Google的眼光**
[http://www.yinwang.org/blog-cn/2016/03/17/google-vision](http://www.yinwang.org/blog-cn/2016/03/17/google-vision)
王垠又开始吐槽了
**TOMsInsight - 争夺或泛滥:互联网信息流背后**
[http://mp.weixin.qq.com/s?__biz=MzA3NTcwOTIwNg==&mid=407924814&idx=1&sn=64e57550eff000847d918f626dbf3dec](http://mp.weixin.qq.com/s?__biz=MzA3NTcwOTIwNg==&mid=407924814&idx=1&sn=64e57550eff000847d918f626dbf3dec)
TOMsInsight团队从互联网特定细分产业形态及从业者心态的视角切入,通过案例故事,和大家一起分析洞察互联网生态。报告的主题是「争夺或泛滥:互联网信息流背后」。
**2016年度十大互联网产品预言**
[http://mp.weixin.qq.com/s?__biz=MjM5NDUyOTAwOA==&mid=403439293&idx=1&sn=f03958597ef3acc2bc2df74dbbf04b84](http://mp.weixin.qq.com/s?__biz=MjM5NDUyOTAwOA==&mid=403439293&idx=1&sn=f03958597ef3acc2bc2df74dbbf04b84)
我们预计2016年将会发生的互联网产品大事件包括:知乎即将迎来一次大改版,在线教育平台类产品将死,美柚和大姨吗将要合并…
**[译]揭秘:Slack是如何一步步地变成史上增长最逆天的企业级应用的**
[http://news.cnblogs.com/n/540917/](http://news.cnblogs.com/n/540917/)
Slack 的增长有多逆天,下文会有一个动态数据图来说明一切。本文彻底地剖析了 Slack 这款企业级应用是如何一步步完成在别人看来根本不可能的任务的,这其中覆盖了从开发、测试、到市场投放的各个环节,该创业团队在每个环节上的思考以及做法。 另附:[企业软件一定要做成独立 App 吗](http://www.geekpark.net/topics/214897)
**我为什么坚持写博客**
[https://segmentfault.com/a/1190000004613367](https://segmentfault.com/a/1190000004613367)
著名 Android 公众号: AndroidDeveloper「googdev」的作者分享自己写 blog 的历程,赞心得:如果你还没有写博客,那从现在开始开通个博客,走出第一步,如果你已经开始写博客了,不要去奢望靠写博客去赚钱,安心的写博客提升自己能力,总结经验,把它看成一种投资自己的手段,别把目标搞错了,也许有一天你会突然发现,原来你已经走了这么远,而且还有意外收获!