深阅读

The Future of React Router and @reach/router
https://reacttraining.com/blog/reach-react-router-future/
We are bringing together the best of React Router and Reach Router into a new, hook-based API. React Router will be the surviving project. We’ll introduce this API in a minor release (5.x). That means it’s 100% backward compatible. (Don’t forget, we recently released React Router v5, it was a major version change only because of a dependency version range issue, there were no API changes.) We will continue to support @reach/router 1.0 with bugfixes

JavaScript Clean Code - Best Practices
https://devinduct.com/blogpost/22/javascript-clean-code-best-practices
This is only a fraction of what you could do to improve your code. In my opinion, the principles alleged here are the ones which people often don’t follow. They try to, but not always succeed for various reasons. Maybe at the start of the project, the code is neat and clean but when it comes to meeting deadlines the principles are often ignored and moved into a “TODO” or “REFACTOR” section. At that point, your client would rather have you to meet the deadline instead of writing the clean code.

Truly reactive programming with Svelte 3.0
https://blog.logrocket.com/truly-reactive-programming-with-svelte-3-0-321b49b75969
Svelte is a whole new way of building UI in a blazingly fast, efficient, and truly reactive manner, all without using a virtual DOM in fewer lines of code than you’d write with any other framework or library. That sounds all nice and good, but how is it different from the myriad of other JavaScript libraries and frameworks out there, you ask? I’ll tell you.

Augmented Reality on the Web in 2019
https://www.sitepen.com/blog/augmented-reality-on-the-web-in-2019/
The movement towards WebVR started with a report by the w3c, which later lead to implementation in browsers like Firefox and Chrome in 2017. The move to merge the work towards WebVR and WebAR came to a consensus as the Immersive Web Community Group, and work is now moving toward a new API called the WebXR Device API. With this brief history of Augmented Reality on the Web, let’s explore the current state of affairs for developers in 2019.
另附:Walmart Labs - Build your first AR App.

San 为什么会这么快
https://efe.baidu.com/blog/san-perf/
一个 MVVM 框架的性能进化之路。性能一直是 框架选型 最重要的考虑因素之一。San 从设计之初就希望不要因为自身的短板(性能、体积、兼容性等)而成为开发者为难的理由,所以我们在性能上投入了很多的关注和精力,效果至少从 benchmark 看来,还不错。

长夜未央——企业级研发提效的下一阶段
https://zhuanlan.zhihu.com/p/66474056
研发效能提升,早已经不再是某个单一技术、某个研发环节提升就能产生收获的阶段。和历史上的其他生产活动一样,谁先察觉了质变的时机,谁先产生了质变,谁就拥有了降维打击一般的竞争力。不过从更长远的事件看来,软件生产仍然是人类生产活动中非常小的一部分,从全社会的角度去产生质变还有很长的路要走。

前端中台系统常见问题剖析与解决方案
https://zhuanlan.zhihu.com/p/66413759
在2019年5月11日的那个周末,我在FDCon 2019大会上进行一次有关中台领域的分享,分享的标题是《业务实现标准化在中台领域的探索》,并在现场发布了RCRE这个库,并介绍了如何使用RCRE来解决中台业务开发所面临的各种问题。会后看了一些同学的吐槽,可能是我分享方式的问题,使得当时并没有详细的阐述RCRE产生的背景和原因,以及当时所实际面临的痛点,而是仅仅去介绍如何使用RCRE了,难免也被冠以出去打广告的嫌疑。RCRE的诞生并不是一蹴而就,而是我在这个领域多年摸爬滚打的精华。它每一行代码都凝结着我从深坑中跳出来之后的思考,是下文介绍了所有问题和场景的解决方案。

My experience moving from Enzyme to react-testing-library
https://medium.com/@boyney123/my-experience-moving-from-enzyme-to-react-testing-library-5ac65d992ce
react-testing-library has changed the way I think about writing React tests. In this blog post, I will share with you my thoughts moving from Enzyme onto react-testing-library, what I experienced and why I would recommend react-testing-library going forwards.

What does react-beautiful-dnd cost to maintain?
https://dev.to/alexandereardon/what-does-react-beautiful-dnd-cost-to-maintain-52e8
The aim of this blog is to make visible the ongoing effort required to maintain the open source drag and drop project react-beautiful-dnd (rbd). The maintenance of the rbd project will look different to other open source projects, but I thought it would be insightful nonetheless. By exposing maintenance information I hope to dispell the myth that open source projects lead to less total effort then private source. There are huge advantages in open source, but the cost of ownership is not one of them.

Folding the DOM
https://www.joshwcomeau.com/posts/folding-the-dom/
I’d like to leverage that 3D engine to perform a neat trick: folding up an image.

Why I think Flutter is the future of mobile app development
https://medium.freecodecamp.org/why-i-think-flutter-is-the-future-of-mobile-app-development-768332b73c0d
With Flutter, the possibilities are practically endless, so even super extensive apps can be created with ease. If you develop mobile apps and have yet to give Flutter a try, I highly recommend you do as I’m sure you’ll fall in love with it as well. After using Flutter for quite a few months, I think it’s safe to say that it’s the future of mobile development. If not, it’s definitely a step in the right direction.
另附:Flutter的召唤 |趋势背后的思考Flutter Web初体验.

Employing QUIC Protocol to Optimize Uber’s App Performance
https://eng.uber.com/employing-quic-protocol/
The HTTP/2 stack fares poorly in dynamic, lossy wireless networks, and we learned that poor performance can often be traced directly to Transmission Control Protocol (TCP) implementations buried in OS kernels. To address these pain points, we adopted the QUIC protocol, a stream-multiplexed modern transport protocol implemented over UDP, which enables us to better control the transport protocol performance.

Athena: Our automated build health management system
https://blogs.dropbox.com/tech/2019/05/athena-our-automated-build-health-management-system/
At Dropbox, we run more than 35,000 builds and millions of automated tests every day. With so many tests, a few are bound to fail non-deterministically or “flake.” Some new code submissions are bound to break the build, which prevents developers from cutting a new release. At this scale, it’s critical we minimize the manual intervention necessary to temporarily disable flaky tests, revert build-breaking commits, and notify test owners of these issues. We built a system called Athena to manage build health and automatically keep the build green.

Releasing Pythia for vision and language multimodal AI models
https://code.fb.com/ai-research/pythia/
Pythia is a deep learning framework that supports multitasking in the vision and language domain. Built on our open-source PyTorch framework, the modular, plug-and-play design enables researchers to quickly build, reproduce, and benchmark AI models. Pythia is designed for vision and language tasks, such as answering questions related to visual data and automatically generating image captions.

TechnicalDebt
https://martinfowler.com/bliki/TechnicalDebt.html
Software systems are prone to the build up of cruft - deficiencies in internal quality that make it harder than it would ideally be to modify and extend the system further. Technical Debt is a metaphor, coined by Ward Cunningham, that frames how to think about dealing with this cruft, thinking of it like a financial debt.

新鲜货

GitHub Sponsors
https://github.com/sponsors
Fund your work. Build what matters. Connect with the community that depends on your work. Receive recurring funds to build our shared digital infrastructure.
另附:[译]Github平台最有价值的100个项目GitLab 11.11 released with Multi-Assignment for MRs and container enhancements

Privacy Preserving Ad Click Attribution For the Web
https://webkit.org/blog/8943/privacy-preserving-ad-click-attribution-for-the-web/
We are presenting a new technology to allow attribution of ad clicks on the web while preserving user privacy. We used the following principles as we designed this technology.

Node 12.3 Released with WebAssembly Module Support
https://nodejs.org/en/blog/release/v12.3.0/
Added the –experimental-wasm-modules flag to support WebAssembly modules.
另附:WebAssembly at eBay: A Real-World Use Case.

Material-UI 4.0
https://github.com/mui-org/material-ui/releases/tag/v4.0.0
React components that implement Google’s Material Design.

Ember 3.10 Released
https://blog.emberjs.com/2019/05/21/ember-3-10-released.html
The Ember project is releasing version 3.10 of Ember.js, Ember Data, and Ember CLI. This release kicks off the 3.11 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks’ time.
另附:Ember’s 2019 Roadmap: Call for Blog Posts.

Announcing Capacitor 1.0
https://blog.ionicframework.com/announcing-capacitor-1-0/
Capacitor, Ionic’s new Native API Container that makes it easy to build web apps that run on iOS, Android, Electron, and on the web as Progressive Web Apps—with full access to native functionality on each platform.

Chameleon
https://mp.weixin.qq.com/s/MuNpQLKg2IuwOAvjJHwl3Q
chameleon 基于对跨端工作的积累, 规范了一套跨端标准,称之为 MVVM+协议;开发者只需要按照标准扩展流程,即可快速扩展任意 MVVM 架构模式的终端

Gestalt
https://github.com/pinterest/gestalt
Gestalt is a set of React UI components that enforces Pinterest’s design language. We use it to streamline communication between designers and developers by enforcing a bunch of fundamental UI components. This common set of components helps raise the bar for UX & accessibility across Pinterest.

React-designer
https://github.com/react-designer/react-designer
Editable vector graphics in your react apps.

Minify
https://github.com/tdewolff/minify
Go minifiers for web formats.

tiptap
https://github.com/scrumpy/tiptap
A renderless and extendable rich-text editor for Vue.js

PixiJS — The HTML5 Creation Engine
https://www.pixijs.com/
Create beautiful digital content with the fastest, most flexible 2D WebGL renderer.
另附:WebGL Fluid Simulation.

Rough.js
https://roughjs.com/
Create graphics with a hand-drawn, sketchy, appearance. Rough.js is a small (~8.5kB gzipped) graphics library that lets you draw in a sketchy, hand-drawn-like, style. The library defines primitives to draw lines, curves, arcs, polygons, circles, and ellipses. It also supports drawing SVG paths. Rough.js works with both Canvas and SVG.

Keystone 4.1
https://keystonejs.com/
KeystoneJS is an open source framework for developing database-driven websites, applications and APIs in Node.js. Built on Express and MongoDB.

MDX
https://mdxjs.com/
MDX is an authorable format that lets you seamlessly write JSX in your Markdown documents. You can import components, such as interactive charts or alerts, and embed them within your content. This makes writing long-form content with components a blast.
另附:Front-End Documentation, Style Guides and the Rise of MDX.

microG Project
https://microg.org/
A free-as-in-freedom re-implementation of Google’s proprietary Android user space apps and libraries.

Turn Your Excel File Into a Web Application
https://keikai.io/blog/p/currency-exchange
It is the year 2019. I was surprised that she still has to do lots of copy-paste routines and email Excel files around. My pride in being a developer wouldn’t allow me, so I offered her that I will write a little program for her. Fortunately, with Keikai, I was able to do it in just 2 hours.
另附:Instantly turn any Google Sheet into RESTful API.

Free Wolfram Engine for Developers
https://blog.stephenwolfram.com/2019/05/launching-today-free-wolfram-engine-for-developers/
The Wolfram Engine is the heart of all our products. It’s what implements the Wolfram Language, with all its computational intelligence, algorithms, knowledgebase, and so on. It’s what powers our desktop products (including Mathematica), as well as our cloud platform. It’s what’s inside Wolfram|Alpha—as well as an increasing number of major production systems out in the world. And as of today, we’re making it available for anyone to download, for free, to use in their software development projects.

Details about MIDI 2.0, MIDI-CI, Profiles and Property Exchange
https://www.midi.org/articles-old/details-about-midi-2-0-midi-ci-profiles-and-property-exchange
MIDI 2.0 is the largest set of additions to MIDI since the very first MIDI connection between 2 manufacturers was made at the 1983 NAMM Show. MIDI 1.0 has evolved with many new features over the past 36 years. MIDI 2.0 continues that ongoing evolution and creates a foundation for expansion for many years into the future. The MIDI 2.0 updates MIDI with new auto-configuration, extended resolution, increased expressiveness, and tighter timing – all while maintaining a high priority on backward compatibility.

Prisma
https://www.prisma.io
支持 TypeScript、Go 的 ORM,提供强类型支持

The Art of Command Line
https://github.com/jlevy/the-art-of-command-line
Master the command line, in one page.

设计

Transitioning to a Career in AR/VR Design
https://medium.com/facebook-design/transitioning-to-a-career-in-ar-vr-design-ddb9b8545bc
Let’s take a peek at some key concepts, the general process AR/VR designers at Facebook use and how you can apply it to your own work, as well as how to choose the right tools to use, platforms to build for and how to mind the skill gap to avoid frustration when taking on this new challenge.

Making the Case for Accessibility
https://medium.com/google-design/making-the-case-for-accessibility-350da9e30c84
How to convince your team to invest in more accessible design.

Google Home Hub Redesign Concept — a UX case study
https://uxplanet.org/google-home-hub-redesign-concept-a-ux-case-study-7af6beda0c3d
After using my Google Home Hub every day for four months, I noticed that its UI can be designed to better display information at varied distances.

Tesla’s Touchscreen UI: A Case Study of Car-Dashboard User Interface
https://www.nngroup.com/articles/tesla-big-touchscreen/
Vehicle controls should be easily accessible and require minimum attention from drivers, while driving-related information should be displayed clearly and understandably.

7 Best UX Practices for Designing Long Online Forms
https://blog.prototypr.io/seven-best-ux-practices-for-designing-long-online-forms-6a670e488bad
For those who are designing long forms that have more than 7 questions, this article is for you. Here is a guide to help you build better long format forms, applications, or information requests.

产品及其它

Founder Books
https://postmake.io/books
The following is a compilation of the books recommended by over 100 founders and makers in tech, compiled from various sources. These are some of the books that most influenced or helped their professional careers, sorted by the number of recommendations.

极客公园 Rebuild 2019
https://rebuild.geekpark.net/
全球的顶级科学家、技术领袖、商业创新者将会在峰会的舞台上分享他们创造的不可思议以及背后的故事,从「深思考」、「近未来」两个方面探究「独立思考」的本质。专题报道:http://www.geekpark.net/topic/292

The fourth industrial revolution has to be for everyone
https://webfoundation.org/2019/05/the-fourth-industrial-revolution-has-to-be-for-everyone/
Countries around the world have agreed to work toward achieving universal, affordable internet access by 2020 as part of the United Nations Sustainable Development Goals. However, right now we’re on track to miss this goal by decades. With the rate of people coming online slowing down, we’re unlikely to achieve universal access until after 2050.

42个问题2万字实录,任正非中国媒体问答
https://mp.weixin.qq.com/s?__biz=MjM5MTA2MTQwMQ==&mid=2651196865&idx=1&sn=d128a7bf3db7b02c12b21ffadd4aa2c7
在全国人民都在因华为收到美国禁令,为其忧心之时,任正非再次接受了国内媒体的采访,谈笑间将外界的担忧做了一一化解,并且告诉大家不要因为华为绑架全社会的爱国情绪,不要煽动民族情绪。对于美国的禁令,任正非仍然持开放的态度表示不会轻易狭隘的排除美国芯片,要共同成长,但如果出现供应困难,华为也有备份。虽然华为走到了制高点,与美国有冲突,但最终还是要一起为人类做贡献。限制华为的背后其实是美国在担心失去对 5G 和 IOT 时代的控制权。

独家专访院士张钹:AI奇迹短期难再现 深度学习技术潜力已近天花板
https://mp.weixin.qq.com/s/MrnIr2SgB0NdgsBImuTKXQ
深度学习目前人工智能最受关注的领域,但并不是人工智能研究的全部。张钹认为尽管产业层面还有空间,但目前基于深度学习的人工智能在技术上已经触及天花板,此前由这一技术路线带来的“奇迹”在Alphago获胜后未再出现,而且估计未来也很难继续大量出现。技术改良很难彻底解决目前阶段人工智能的根本性缺陷,而这些缺陷决定了其应用的空间被局限在特定的领域——大部分都集中在图像识别、语音识别两方面。同时,在张钹看来,目前全世界的企业界和部分学界对于深度学习技术的判断过于乐观,人工智能迫切需要推动到新的阶段,而这注定将会是一个漫长的过程,有赖于与数学、脑科学等结合实现底层理论的突破。

对数据可视化有兴趣的可以阅读由 AntV 带来的 墨者修齐 2019-05-27·冰与火之歌最终季口碑滑铁卢可视化、地铁线路图设计、Github 图可视化

作者:Dafrok (https://github.com/dafrok) - Open source is justice.

- 百度数据可视化
- 百度智能建站