2018.02.26
Ping Xia
Title: 2018.02.26
Deep Reading
Announcing Dart 2: Optimized for Client-Side Development https://medium.com/dartlang/announcing-dart-2-80ba01f43b6 With Dart 2, we’ve dramatically strengthened and streamlined the type system, cleaned up the syntax, and rebuilt much of the developer tool chain from the ground up to make mobile and web development more enjoyable and productive. Dart 2 also incorporates lessons learned from early adopters of the language including Flutter, AdWords, and AdSense, as well as thousands of improvements big and small in response to customer feedback.
Exploring ES2018 and ES2019 http://exploringjs.com/es2018-es2019/ This book is about two versions of JavaScript: ECMAScript 2018 and ECMAScript 2019. It only covers what’s new in those versions. 另附:Using Promise.prototype.finally in Node.js
Introducing Storage Access API https://webkit.org/blog/8124/introducing-storage-access-api/ In June last year we introduced Intelligent Tracking Prevention (ITP). ITP is a privacy feature that detects which domains have the ability to track the user cross‑site and either partitions the domain’s cookies or purges its website data altogether. The strongest developer feedback we got on ITP was that it needs to provide a way for embedded cross‑site content to authenticate users who are already logged in to their first‑party services. Today we are happy to provide a solution in the form of the Storage Access API. It allows for authenticated embeds while continuing to protect customers’ privacy by default.
Elm changed my mind about unpopular languages https://blog.realkinetic.com/elm-changed-my-mind-about-unpopular-languages-190a23f4a834 This is way better than JavaScript. First, Elm has the natural predictability of a pure functional language; when you write Elm, the compiler forces you to consider every case. The second reason that Elm is better than JavaScript is that Elm is a natural fit for the DOM.
Bringing Together React, D3, And Their Ecosystem https://www.smashingmagazine.com/2018/02/react-d3-ecosystem/ In this post, we will see how we can approach building React projects that need the powerful charting goodness of D3. We will discover different techniques and how to choose the best library for your needs in your main work and side projects.
Authentication Best Practices for Vue https://blog.sqreen.io/authentication-best-practices-vue/ Whenever you start to get serious with a project, you will most likely face the issues of how to handle client‑side token‑based authentication. You will have to answer these questions: How do I store my user’s token? How do I redirect the user after authentication actions (Login/Logout)? How do I prevent route access to authenticated and unauthenticated users? This article will walk you through these questions and try to illustrate with clear code and good practices in mind. 另附:Vue Enterprise Boilerplate – an ever‑evolving, very opinionated architecture and dev environment for new Vue SPA projects using Vue CLI 3; NativeScript‑Vue 1.0 – truly native apps using Vue.js and NativeScript.
In‑Depth Reading of “Rekit Studio” https://zhuanlan.zhihu.com/p/33853805 In the past we kept improving front‑end infrastructure; now we have plenty of tools and libraries, so what’s next? There are many possible directions: further polishing frameworks and libraries, debating data‑flow trade‑offs, shaping the future of ECMA specifications, embracing new languages, building visual standards and platforms, and so on. One low‑tech but growing area is front‑end tool‑chain integration. Rekit Studio is an example that parses a project’s file structure into a logical architecture, letting developers manage the project by logical modules. This can dramatically reduce maintenance and development costs. 另附:In‑Depth Reading of “React’s new Context API”
Node Timer Deep Dive http://www.ruanyifeng.com/blog/2018/02/node-event-loop.html A popular‑science explanation of Node’s asynchronous syntax execution details—useful for anyone not familiar with this area.
State of JavaScript Frameworks & Libraries https://www.youtube.com/watch?v=edXRi6z7zrE Watch this State of JavaScript video to keep up with the advancement of prominent open‑source frameworks, libraries, and browser standards. 另附:The JavaScript Learning Landscape in 2018.
How to JavaScript in 2018 https://www.telerik.com/blogs/how-to-javascript-in-2018 From command‑line tools and webpack to TypeScript, Flow and beyond, let's talk about how to use JavaScript in 2018. This blog post is part of our whitepaper, “The Future of JavaScript: 2018 and Beyond” (https://www.telerik.com/campaigns/kendo-ui/wp-javascript-future-2018), which offers our forward‑looking analysis and predictions about the latest in JavaScript.
Code Migration in Production: Rewriting the Sharding Layer of Uber’s Schemaless Datastore https://eng.uber.com/schemaless-rewrite/ In this article, we discuss how we migrated the Schemaless sharding layer from Python to Go, a process that enabled us to handle more traffic with fewer resources and led to improved user experiences across our services.
Introducing HTTP/2 Server Push with NGINX 1.13.9 https://www.nginx.com/blog/nginx-1-13-9-http2-server-push/ Server push can be used to prime a client with style sheets, images, and other resources that it will need to render a web page. You should take care to only push resources that are required; don’t push resources that a client is likely to already have cached.
Go += Package Versioning https://research.swtch.com/vgo In short, we need to add package versioning, but we need to do it without breaking go get. This post sketches a proposal for doing exactly that, along with a prototype demonstration that you can try today and that hopefully will be the basis for eventual go command integration. I intend this post to be the start of a productive discussion about what works and what doesn’t.
A Programmable Programming Language https://cacm.acm.org/magazines/2018/3/225475-a-programmable-programming-language/fulltext Our decision to develop a new language—Racket—is partly an historical artifact and partly due to our desire to free ourselves from any unnecessary constraints of industrial mainstream languages as we investigate LOP. The next section spells out how Racket got started, how we honed in on LOP, and what the idea of LOP implies.
7 Practical Tips for Cheating at Design https://medium.com/refactoring-ui/7-practical-tips-for-cheating-at-design-40c736799886 Improving your designs with tactics instead of talent. Every web developer inevitably runs into situations where they need to make visual design decisions, whether they like it or not. Maybe the company you work for doesn’t have a full‑time designer and you need to implement the UI for a new feature on your own. Or maybe you’re hacking on a side‑project and you want it to look better than yet‑another‑Bootstrap site. Here are seven simple ideas you can use to improve your designs today.
Designing for Goals https://uxplanet.org/designing-for-goals-a62cd4bd66e Good design is goal‑based. If your product helps people with one or more… (content truncated)
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://medium.com/dartlang/announcing-dart-2-80ba01f43b6
- [2]http://exploringjs.com/es2018-es2019/
- [3]Using Promise.prototype.finally in Node.js
- [4]https://webkit.org/blog/8124/introducing-storage-access-api/
- [5]Intelligent Tracking Prevention
- [6]https://blog.realkinetic.com/elm-changed-my-mind-about-unpopular-languages-190a23f4a834
- [7]https://www.smashingmagazine.com/2018/02/react-d3-ecosystem/
- [8]https://blog.sqreen.io/authentication-best-practices-vue/
- [9]Vue Enterprise Boilerplate
- [10]NativeScript‑Vue 1.0
- [11]https://zhuanlan.zhihu.com/p/33853805
- [12]In‑Depth Reading of “React’s new Context API”