深阅读

Happy 29th Birthday to the World Wide Web
https://webfoundation.org/2018/03/web-birthday-29/
The web is under threat. Join us and fight for it. March 12, is the World Wide Web’s 29th birthday. Here’s a message from our founder and web inventor Sir Tim Berners-Lee on what we need to ensure that everyone has access to a web worth having.

Web transport, today and tomorrow
https://www.youtube.com/watch?v=onF35HWLVh0
Daniel Stenberg, Mozilla engineer and creator/maintainer of the cURL project, shares a look at what’s ahead for HTTP and describes modern transport protocols.

Lighter than Lightweight: How We Built the Same App Twice with Preact and Glimmer.js
https://engineering.linkedin.com/blog/2018/03/how-we-built-the-same-app-twice-with-preact-and-glimmerjs
So how do you build sites that stay fast no matter what? To help us better understand, we built a prototype application with two popular JavaScript libraries, Preact and Glimmer.js, that embody different philosophies of how to maximize web performance.

Profilo: Understanding app performance in the wild
https://code.facebook.com/posts/356115241551826/profilo-understanding-app-performance-in-the-wild/
The Facebook apps for Android and iOS are used by billions of people across the world. We have ambitious goals around delivering a delightful experience for people using Facebook and a strong belief that responsiveness and smoothness are keystones of a high-quality product experience. Together, these mean that, among other things, we need to quickly and efficiently investigate performance problems.

16 Best Practices for Shared UI Libraries
https://blog.newrelic.com/2018/03/15/best-practices-shared-ui-libraries/
Recently, the New Relic Core UI team moved to React v16.0. In support of this move, we’ve had to upgrade a handful of shared UI libraries owned by teams across the company. As most of us know, upgrading cross-company dependencies can be quite the challenge, and it takes a lot of time. Often, during such work, we find that UI libraries are not always in the best shape for sharing. To that end, I’ve put together this list of some best practices and recommendations for building shareable UI libraries.

美团点评金融平台Web前端技术体系
https://tech.meituan.com/front_end_web_architecture.html
2017年下半年,金融平台发起了技术栈统一行动,行动分为后端、iOS、Android及前端等四个方向,在前端方向我作为组织者和参与者与金融平台 8 个事业部的前端技术代表进行讨论。 通过对各方意见进行归纳整理,结合各团队的情况,金融平台对于技术栈的选型达成了共识。本文将介绍美团点评金融平台前端的技术选型以及背后的思考。

如何解构单体前端应用——前端应用的微服务式拆分
https://mp.weixin.qq.com/s?__biz=MjM5Mjg4NDMwMA==&mid=2652975771&idx=1&sn=4cb2d7d2567f7ae0b8d4e057a036881f
刷新页面?路由拆分?No,动态加载组件。本文分为以下四部分:前端微服务化思想介绍;微前端的设计理念;实战微前端架构设计;基于 Mooa 进行前端微服务化。

9 Influential JavaScript Developers You Should Follow
https://javascriptreport.com/9-influential-javascript-developers-you-should-follow/
This is a list of people who influence how I think, not only about JavaScript, but also about writing code for a living. If you don’t follow these folks, I encourage you to do so. For each person, I provide links to their Twitter profile as well as some of my favorite parts of their work.

How to NOT React: Common Anti-Patterns and Gotchas in React
https://codeburst.io/how-to-not-react-common-anti-patterns-and-gotchas-in-react-40141fe0dcd
React has matured as an UI library and with that a lot of best development practices have evolved over the years. We are going to learn from the collective wisdom of thousands of programmers and developers who learnt those things the hard way.

A Comprehensive Guide to learning React.js in 2018
https://tylermcginnis.com/reactjs-tutorial-a-comprehensive-guide-to-building-apps-with-react/
This article was originally published in January of 2015 but was recently updated to React 16.3 and all the goodness it contains.

What’s the Deal with Margin Collapse?
https://jonathan-harrell.com/whats-the-deal-with-margin-collapse/
Learn about the margin collapse, a fundamental concept of CSS layout. See visual examples of when margin collapse happens, and when it doesn’t. 科普文,基础不牢的同学可以翻翻.

Rust’s 2018 roadmap
https://blog.rust-lang.org/2018/03/12/roadmap.html
This year, we will deliver Rust 2018, marking the first major new edition of Rust since 1.0 (aka Rust 2015). This new “edition” of Rust will be the culmination of feature stabilization throughout the year, and will ship with polished documentation, tooling, and libraries that tie in to those features. 另附:Making WebAssembly better for Rust & for all languages

Database Modelization Anti-Patterns
https://tapoueh.org/blog/2018/03/database-modelization-anti-patterns/
To get your interest into database normalization, we see what could happen when you neglect to normalize properly, with a selection of three classic anti-patterns: the infamous EAV, using multiple values in a single column, and how using UUIDs might be an anti-pattern too.

Serverless Computing
https://blog.algorithmia.com/serverless-computing/
Serverless architecture is making cloud deployment even easier by removing the need to design your own server-side systems. Integrated properly, this paradigm can get your applications out the door faster and free up company resources to build more.

The complete guide to using Google sheets as database
https://codingislove.com/google-sheets-database/
Let’s talk about different advanced features of Google sheets, its limitations, alternate solutions and how to use those features and how to use google sheets as database!

Who will steal Android from Google?
https://medium.com/@steve.yegge/who-will-steal-android-from-google-af3622b6252e
It’s a good time to be competing to gain control of Android, if you’re into that sort of thing. Lots of companies are. Heck, even other teams at Google are doing it. Grab is not, though we are materially impacted by the outcomes. But there are a lot of big sharks circling the Android boat. Google needs to be careful.

Five Key Git Concepts Explained the Hard Way
https://zwischenzugs.com/2018/03/14/five-key-git-concepts-explained-the-hard-way/
This post uses the ‘hard way‘ method to teach the concepts by having you type out the commands and think through what’s going on, without having to worry about breaking anything.

A DIY Web Accessibility Blueprint
http://alistapart.com/article/diy-web-accessibility-blueprint
My intention is that you may use this article as a blueprint to guide you as you undertake a DIY accessibility remediation project. Before you begin, you’ll need to increase your accessibility know-how, familiarize yourself with the principles of universal design, and learn about the benefits of an accessible website. Then you may begin to evangelize the benefits of web accessibility to those you work with. 另附:Conversational Design.

Mobile Motion. 20 Creative Concepts of UI Animation
https://uxplanet.org/mobile-motion-20-creative-concepts-of-ui-animation-b7c0f550a754
Tubik designers know how helpful the well-crafted animation can be for usability of digital products, especially for mobile applications. Adding to diverse design ideas and practical examples shown on our blog before, today a fresh set of concepts with sophisticated UI animations is ready for your attention. Let’s take a look at them.

Ethical Design: The Practical Getting-Started Guide
https://www.smashingmagazine.com/2018/03/ethical-design-practical-getting-started-guide/
This article explains how unethical design happens, and how to do ethical design through a set of best practices. It also helps you understand how you can plant the seed to change the meaning within the company you work for and in the design community, even if you are not part of the management layer. Change starts with a movement!

The Ultimate UX Hook – Anticipatory, Persuasive, and Emotional Design in UX
https://www.toptal.com/designers/user-experience/anticipatory-persuasive-emotional-design-ux
The next frontier in UX design will embrace the science of advertising and persuasion to forge stronger human connections that drive positive, engaging product experiences.

Out of the Arcade: Designing the Uber Kiosk
https://eng.uber.com/uber-kiosk/
One influence for the Uber kiosk came from arcade games, which, compared to a PC at home, creates a social environment inviting others to help the primary user. That attribute, along with a live support representative, brings in a human element we wanted to highlight. After initial success in supporting and signing up driver partners through our kiosk prototype program, we are looking at new uses, building on Uber’s core value of leveraging the digital world to enrich people’s experiences in the physical.

新鲜货

How to Design Programs, Second Edition
http://www.htdp.org/
The typical course on programming teaches a “tinker until it works” approach. When it works, students exclaim “It works!” and move on. Sadly, this phrase is also the shortest lie in computing, and it has cost many people many hours of their lives. In contrast, this book focuses on habits of good programming, addressing both professional and vocational programmers.

Adding Websocket support to core
https://github.com/nodejs/node/issues/19308
Node developers are revisiting the idea of adding WebSocket support as a standard part of the official Node distribution. Show your support (or otherwise).

Awesome Node.js
https://github.com/sindresorhus/awesome-nodejs
A curated list of delightful Node.js packages and resources. Node 开放者必藏,分门别类地收录了常用的类库。另附:Dawn of the Dead Packages

MobX 4: Better, simpler, faster, smaller
https://medium.com/@mweststrate/mobx-4-better-simpler-faster-smaller-c1fbc08008da
Decorators without decorator syntax. Dynamically extend observable objects. await when and flow to further simplify asynchronous processes. onBecome(Un)Observed to automatically fetch data sources. Dedicated production build. Smaller & faster.

AWS Documentation is Now Open Source and on GitHub
https://aws.amazon.com/blogs/aws/aws-documentation-is-now-open-source-and-on-github/
We are adding over 138 additional developer and user guides to awsdocs, and we are looking forward to receiving your requests. You can fix bugs, improve code samples (or submit new ones), add detail, and rewrite sentences and paragraphs in the interest of accuracy or clarity. You can also look at the commit history in order to learn more about new feature and service launches and to track improvements to the documents.

Let’s Encrypt Introduces ACME v2 and Wildcard Certificates
https://community.letsencrypt.org/t/acme-v2-and-wildcard-certificate-support-is-live/55579
We’re pleased to announce that ACMEv2 and wildcard certificate support is live! With today’s new features we’re continuing to break down barriers for HTTPS adoption across the Web by making it even easier for every website to get and manage certificates.

Repl.it 1.0: the IDE That Grows—from Playgrounds to Fullstack Apps
https://repl.it/site/blog/platform
At Repl.it we come to work every day to explore a single idea—what if programming just worked? What if instead of fiddling around with packages, configurations, and mismatching versions, you just open your IDE and start coding. What if developers can go from an idea to coding and shipping software with no time in between. What if teachers who want to teach programming don’t have to also work as IT administrators. What if students can just code their homework without having to set up the development environment on every computer they wanted to code on.

CKEditor 4.9 released
https://ckeditor.com/blog/CKEditor-4.9-released/
CKEditor 4.9 comes with plenty of new features — including a brand new Easy Image plugin for inserting responsive images that are uploaded to and delivered straight from the cloud.

Open sourcing Resonance Audio
https://opensource.googleblog.com/2018/03/resonance-audio-open-source.html
Spatial audio adds to your sense of presence when you’re in VR or AR, making it feel and sound, like you’re surrounded by a virtual or augmented world. And regardless of the display hardware you’re using, spatial audio makes it possible to hear sounds coming from all around you.

TOAST UI Chart
https://github.com/nhnent/tui.chart
Beautiful chart for data visualization. Spread your data on TOAST UI Chart. TOAST UI Chart is Beautiful Statistical Data Visualization library. billboard.js 1.3.0 is released:Re-usable, easy interface JavaScript chart library based on D3 v4+.

Emma
https://github.com/maticzav/emma-cli
Terminal assistant to find and install node packages. Install the package you are looking for. Power by Algolia and Yarn.

moize
https://github.com/planttheidea/moize
moize is a consistently blazing fast memoization library for JavaScript. It handles multiple parameters (including default values) without any additional configuration, and offers a large number of options to satisfy any number of potential use-cases.

Rough.js
http://roughjs.com/
Rough.js is a light weight (~8k), Canvas based 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.

Driver.js
http://kamranahmed.info/driver
A lightweight (~4kb gzipped) yet powerful JavaScript engine that helps you drive the user’s focus on page. Some sample use-cases can be creating powerful feature introductions, call-to-action components, focus shifters etc.

filepond
https://github.com/pqina/filepond
A JavaScript library that can upload anything you throw at it, optimizes images for faster uploads, and offers a great, accessible, silky smooth user experience.

Converse.js
https://conversejs.org/
A free and open-source XMPP chat client in your browser.
附作者的关于这个服务的缘由介绍:Slack’s bait and switch

Timeline for Sketch Is Now Available!
https://medium.com/sketch-app-sources/timeline-for-sketch-is-now-available-c429fd6a884e
Timeline empowers designers to craft beautiful animations and export them. The first release of Timeline allows exporting to GIF or MP4 files, but as we mentioned in our Secret Plan — we have much bigger plans

Best React UI Frameworks And Libraries For 2018
https://blog.bitsrc.io/best-react-ui-component-libraries-for-2018-part-2-d231dcb04c0a
React components help us build applications with components as reusbale Lego bricks. Popular libraries and UI frameworks can help you speed development with a pre-made set of components for your app. Great tools like Bit and StoryBook can help you master your development workflow. All that’s left for you to do build the next great app with React.js.

The 2018 Developer Survey Results are Live
https://stackoverflow.blog/2018/03/13/2018-developer-survey-results-live/

GitLab Team Handbook
https://about.gitlab.com/handbook/
The GitLab team handbook is the central repository for how we run the company. Printed it consists of over 1,000 pages of text. As part of our value of being transparent the handbook is open to the world, and we welcome feedback. Please make a merge request to suggest improvements or add clarifications. 另附:How working at GitLab has changed my view on work and life .

产品及其它

Microsoft reaches a historic milestone, using AI to match human performance in translating news from Chinese to English
https://blogs.microsoft.com/ai/machine-translation-news-test-set-human-parity/
A33 team of Microsoft researchers said Wednesday that they believe they have created the first machine translation system that can translate sentences of news articles from Chinese to English with the same quality and accuracy as a person.

科技中的设计(2018年度报告)
https://mp.weixin.qq.com/s?__biz=MzI3MTQ2NzgwMw==&mid=2247487053&idx=1&sn=ded563c97f3ab45be9db08d991a36083
这份长达90页的报告从6个方面解读了2018年科技趋势,在报告中,关于2018年中国设计和科技的4个趋势中,其中一个趋势是设计和人工智能。

2年半3亿用户,揭秘拼多多的非典型增长之路
https://mp.weixin.qq.com/s?__biz=MzI2NTY4MDg1NA==&mid=2247490963&idx=1&sn=c10e76d7cd82ac530f2d38f5534322a3
在阿里京东双雄争霸的市场格局下,国内全品类电商赛道被堵的严严实实,但『拼多多』成了一个意外。2015年10月上线以来,截止到目前,用户量突破3亿(淘宝5.4亿多,京东3亿多),百万级商家,月GMV(成交总额)超过30亿。请注意拼多多也仅仅2.4岁,唱衰她的声音从来没有停止过,她经历了什么?又是如何炸裂成长的?

从记录生活到改变命运,快手的科技魅力
http://www.geekpark.net/news/227286
快手的累计注册用户已经超过 7 亿,日活跃用户超过 1 亿人,拥有基于 AI 强大的内容分发能力,让用户能够迅速找到感兴趣的人和事。这一惊人的数字和技术能力,让快手不仅能够做到记录和分享生活,它也开始拥有改变普通人命运的力量。在快手的价值观中,「普惠」是非常重要的一个元素。在快手记录世界的这一使命中,普世的价值观则让快手能够更好地为普通人服务。