Feedforward: Let Features Find Users
Ping Xia
Title: 2018.08.27 – Feedforward: Let Features Find Users
Deep Reading
Liftoff: a new baseline compiler for WebAssembly in V8 https://v8project.blogspot.com/2018/08/liftoff.html
V8 v6.9 includes Liftoff, a new baseline compiler for WebAssembly. Liftoff is now enabled by default on desktop systems. This article details the motivation to add another compilation tier and describes the implementation and performance of Liftoff.
Web Performance Made Easy: Google I/O 2018 edition https://developers.google.com/web/updates/2018/08/web-performance-made-easy
We've been pretty busy over the past year trying to figure out how to make the Web faster and more performant. This led to new tools, approaches and libraries that we’d like to share with you in this article. In the first part, we’ll show you some optimization techniques we used in practice when developing The Oodles Theater app. In the second part, we’ll talk about our experiments with predictive loading and the new Guess.js initiative. Also see: Custom site performance reports with the CrUX Dashboard.
Internet Native Applications https://blog.cloudflare.com/internet-native-applications/
No single technology defines Internet Native Applications. However, I believe the combination of: a rapidly increasing percentage of requests serviced directly from the Edge under 10 ms; near‑native‑speed code in the browser, powered by WebAssembly; improved Internet protocols like QUIC and HTTP/2. Also see: How Cloudflare protects customers from cache poisoning.
Implementing single file Web Components https://medium.com/content-uneditable/implementing-single-file-web-components-22adeaa0cd17
Probably everyone who knows the Vue framework has also heard about its single‑file components. This super simple idea lets web developers define the entire code of a component in one file. It’s such a useful solution that an initiative to include this mechanism in browsers has already appeared. However, it seems to have stalled—unfortunately, no progress has been made since August 2017. Nevertheless, exploring this topic and trying to make single‑file components work in browsers using existing technologies was interesting enough to write an article about it!
Apps That Work Natively on the Web and Mobile https://blog.angular.io/apps-that-work-natively-on-the-web-and-mobile-9b26852495e7
We’re happy to announce an exciting new way to build web and mobile apps with Angular and NativeScript. First, some background: since the beginning of Angular, you could use NativeScript with Angular to build mobile apps.
从红芯事件聊聊浏览器内核(一) https://juejin.im/post/5b798b0ff265da432e75bd88
Understanding browser kernels through leaked IE2 and IE 5.5 source code.
深入理解JSCore https://tech.meituan.com/deep_understanding_of_jscore.html
Dynamic rendering is an important branch of mobile client technology and has long been a focus of industry exploration. Popular dynamic solutions such as Facebook’s React Native and Alibaba’s Weex adopt front‑end DSL approaches, and their smooth operation on iOS relies on a key behind‑the‑scenes hero: JavaScriptCore (hereafter JSCore). JSCore bridges Objective‑C (OC) and JavaScript (JS). Whether it’s these popular dynamic frameworks, WebView hybrid solutions, or the once‑widely used JSPatch, JSCore plays a pivotal role. For iOS developers, understanding JSCore is becoming a must‑have skill. Also see: WMRouter: Meituan Waimai’s open‑source Android routing framework.
唯品会的 Service Mesh 三年进化史 http://calvin1978.blogcn.com/?p=1779
Vipshop’s service platform OSP (Open Service Platform) embarked on a Service Mesh path three years ago. Each architectural style, due to differing histories, current realities, and adoption goals, follows its own implementation route. Our SM evolved gradually in practice and differs from the Istio architecture drawn by Google‑IBM super‑architects. By sharing our evolution, we hope architects in other companies moving toward SM can gain a useful reference.
WebAssembly vs. the world. Should you use WebAssembly? https://blog.sqreen.io/webassembly-performance/
WebAssembly is known for its speed, and this article puts it to the test to better understand the best use cases for adopting WebAssembly today. We compare WebAssembly’s performance with C/C++, Rust, and TypeScript. Will WebAssembly kill JavaScript? Maybe not just yet. Also see: Windows 2000 in the Browser via WebAssembly, Windows 95 in Electron.
Advanced effects with CSS background blend modes https://blog.logrocket.com/advanced-effects-with-css-background-blend-modes-4b750198522a
This article focuses on background-blend-mode, the property with the widest support, and shows how you can use it today to create eye‑catching backgrounds and photo effects that previously required Photoshop.
Async data loading in React https://medium.com/@ghengeveld/async-data-loading-in-react-94661e23cd3d
The common place to perform data fetching in a React component is in the componentDidMount lifecycle method. Just run fetch and use setState to store the result. This is simple enough (and very effective) but leaves a lot to be desired. What about showing a loading indicator? What about error handling? In practice you’ll want to enrich your fetch with metadata, consider promise cancellation on unmount, and handle race conditions between consecutive fetches (FIFO).
Behind the scenes of my latest book on JavaScript http://2ality.com/2018/08/impatient-js.html
This blog post takes you behind the scenes of my latest book, JavaScript for Impatient Programmers (hereafter “Impatient JS”). It describes: how I chose topics; my techniques for explaining concepts; tools I used for creating e‑books and other artifacts; how I unit‑tested the code shown in the book and its quizzes.
Web Reading Mode: The non‑standard rendering mode https://www.ctrl.blog/entry/browser-reading-mode-parsers
All major browsers except Google Chrome include a separate “reading mode” that extracts the main content from pages, reformats it for readability, and hides distractions like ads, comments, and even navigation. This separate rendering mode isn’t governed by any standards, so it behaves differently across browsers. What should a web developer do to support this distinct, non‑standard mode? This article is part 1 of a series on web reading mode and its parsers, written for slightly different audiences in each part.
Small Assets without the Headache https://elm-lang.org/blog/small-assets-without-the-headache
If you want faster page loads, you want smaller assets. But getting small assets with JavaScript can feel complicated. Should I switch from React to Preact? Do I have tree‑shaking set up correctly? Will my dependencies even work with tree‑shaking? Do I need to treat my dependencies specially now? And will code‑splitting help as well? How does that work? It feels overwhelming just to talk about it! Elm 0.19 makes our assets really small without the headache. A bunch of projects…
Originally written by Ping Xia (平侠) and published in Chinese on Web技术周刊 (Web Tech Weekly). Translated and adapted for DriftSeas with permission.
Sources & References
- [1]https://v8project.blogspot.com/2018/08/liftoff.html
- [2]https://developers.google.com/web/updates/2018/08/web-performance-made-easy
- [3]Guess.js
- [4]Custom site performance reports with the CrUX Dashboard
- [5]https://blog.cloudflare.com/internet-native-applications/
- [6]How Cloudflare protects customers from cache poisoning
- [7]https://medium.com/content-uneditable/implementing-single-file-web-components-22adeaa0cd17
- [8]https://blog.angular.io/apps-that-work-natively-on-the-web-and-mobile-9b26852495e7
- [9]https://juejin.im/post/5b798b0ff265da432e75bd88
- [10]https://tech.meituan.com/deep_understanding_of_jscore.html
- [11]WMRouter: Meituan Waimai’s open‑source Android routing framework
- [12]http://calvin1978.blogcn.com/?p=1779