Home

2018.06.04 - Why is Front-End Development So Unstable

Pi

Ping Xia

March 21, 20225 min read

Title: 2018.06.04 – Why Is Front‑End Development So Unstable

Industry Conferences

JJSConf EU https://2018.jsconf.eu/ – worth following. Also see: Baby’s First Rust+WebAssembly module: Say hi to JSConf EU! (https://hacks.mozilla.org/2018/06/babys-first-rustwebassembly-module-say-hi-to-jsconf-eu/)

In‑Depth Reading

deno https://github.com/ry/deno – A secure TypeScript runtime on V8. New project from the Node founder, written in Go. Supports TypeScript 2.8 out of the box, runs on V8 6.8.275.3 (i.e., very modern JavaScript). No package.json, no npm. Not explicitly Node‑compatible. Imports reference source‑code URLs only.

Why Is Front‑End Development So Unstable? https://www.breck-mckye.com/blog/2018/05/why-is-front-end-development-so-unstable/ Like most natural complainers I’m generally better at moaning about problems than, y’know, solving them. But I have a few ideas: be wary of Medium; be wary of self‑promotion; consider non‑microlib architectures; don’t over‑sweat the employability thing.

Andrew Clark: React Suspense https://www.youtube.com/watch?v=z-6JC0_cOns Async rendering in React gives us a powerful new set of primitives for addressing longstanding problems in UI development. I’ll discuss React’s vision for how async rendering can improve data fetching, code delivery, prefetching, view transitions, and more. Also: It’s 5 Years Since React Was Open‑Sourced (https://twitter.com/reactjs/status/1001521260482904064), Let’s Fall in Love with React Fiber (https://medium.freecodecamp.org/lets-fall-in-love-with-react-fiber-90f2e1f68ded)

To Yarn and Back (to npm) Again https://mixmax.com/blog/to-yarn-and-back-again-npm Last year we moved all our JavaScript projects from npm to Yarn. Yarn solved many annoying npm issues, but introduced its own problems. After a couple of especially painful weeks of 15‑minute Yarn untangling sessions, we reconsidered moving back to npm.

Beyond SPAs: Alternative Architectures for Your PWA https://developers.google.com/web/updates/2018/05/beyond-spa I’ll cover an important, but potentially misunderstood topic: the architecture you use for your web app, and specifically how architectural decisions play out when building a progressive web app. Also see: New in Chrome 67 (https://developers.google.com/web/updates/2018/05/nic67), Enable Shadow DOM in Nightly (https://bugzilla.mozilla.org/show_bug.cgi?id=1460069)

The Cult of the Complex http://alistapart.com/article/cult-of-the-complex There’s a lot of complexity to good design—technical, UX, content/microcopy, performance. This has never been and never will be an easy job. Simplicity is not easy—not for us, anyway. Simplicity means doing the hard work that makes experiences appear seamless—the sweat, torture‑testing, and failure that eventually, with enough effort, yields experiences that seem to “just work.”

How to Quickly Improve Your Skills Through Practice https://mp.weixin.qq.com/s?__biz=MjM5Mjg4NDMwMA==&mid=2652975915&idx=1&sn=1d0c3bb0937e3d9cf1f74b1257c7aacc Some people get rich overnight by winning the lottery; others become famous by posting a few selfies. Technical growth, however, requires steady, deliberate practice to master a specific skill. Once we learn the learning tricks, we can acquire a technology faster. Practice isn’t writing ten thousand lines in a day or repeating a hundred lines; it’s writing a hundred lines each day for a hundred days. It needs technique, relentless persistence, and some rest. In this article I’ll share the practice techniques I’ve gathered over several years of work.

A Brief Look at 2018 Mobile Cross‑Platform Development Solutions https://juejin.im/post/5b076e3af265da0dce48fe95 An overview of the current state of several solutions. With super‑apps booming, cross‑app development (WeChat, Alipay, Taobao, Baidu, etc.) is a major challenge.

Tou­tiao PC Site’s Component‑Based Development with RIOT https://techblog.toutiao.com/2018/05/29/untitled-25/ Riotjs is a small, elegant JS framework; version 2.2.4 (stable) supports IE8. Using this framework, Tou­tiao’s PC site implemented component‑based development, greatly improving development efficiency, extensibility, and reducing maintenance costs.

Node.js 2018 Front‑End Trend Analysis https://mp.weixin.qq.com/s?__biz=MzAxMTU0NTc4Nw==&mid=2661157679&idx=1&sn=9570b1c8db32eed895e6c06c450771fe “Big front‑end” (the convergence of web front‑end and client development) is now a trend. With Node’s rise, more powerful mobile devices, and stronger HTML5 capabilities, the fusion of mobile and front‑end is irreversible. In such a volatile tech wave, how should a front‑end developer identify the direction of technology and learn effectively?

Taobao Web 3D Applications and Game Development https://mp.weixin.qq.com/s?__biz=MzAxNDEwNjk5OQ==&mid=2650401461&idx=1&sn=695615d75dc2409ac0f461c7fd55710e Explains the difference between 3D and 2D, and how the Taobao Virtual Interaction team creates 3D effects with Canvas under constrained environments. With WebGL’s evolution, it discusses implementation on the mobile Taobao app and integration with Unity to boost efficiency. The team now aims to build a visual editor to help developers quickly construct related applications.

Exploring and Implementing a Local H5 “Instant‑Open” Solution for Mobile https://mp.weixin.qq.com/s/0OR4HJQSDq7nEFUAaX1x5A How to improve performance by loading assets locally.

Group Messages: Store One Copy or Many? https://mp.weixin.qq.com/s/1Pd0vhDu8lh9bpvKGQqLVA Why storing a single copy is the better approach.

CSS Is So Overpowered It Can Deanonymize Facebook Users https://www.bleepingcomputer.com/news/security/css-is-so-overpowered-it-can-deanonymize-facebook-users/ Recent additions to the CSS web standard are so powerful that a security researcher used them to deanonymize visitors to a demo site, revealing their Facebook usernames, avatars, and whether they liked a particular Facebook page.

Reconciling GraphQL and Thrift at Airbnb https://medium.com/airbnb-engineering/reconciling-graphql-and-thrift-at-airbnb-a97e8d290712 Our frontend engineers wanted rapid iteration and flexibility from GraphQL, while our backend engineers wanted stability and specificity from Thrift. This is the story of how we got the two groups talking and built something that works for everyone. Also see: Prisma Aims to Unite the Polyglot of Databases with GraphQL (https://thenewstack.io/prisma-aims-to-unite-the-polyglot-of-databases-with-graphql/)

A Cartoon Intro to DNS over HTTPS https://hacks.mozilla.org/2018/05/a-cartoon-intro-to-dns-over-https/ Two more protections we’re adding to that list are: DNS over HTTPS, a new IETF standards effort that we’ve championed; Trusted Recursive Resolver, a new secure way to resolve DNS that we’ve partnered with Cloudflare to provide. With these two initiatives, we’re closing data leaks that have been part of the domain name system since it was created 35 years ago. And we’d like your help in testing them. So let’s look at how DNS over HTTPS and Trusted Recursive Resolver protect our users. But first, let’s see how web pages travel across the Internet.

UTC Is Enough for Everyone, Right? https://zachholman.com/talk/utc-is-enough-for-everyone-right Programming time, dates, timezones, recurring events, leap seconds… everything is pretty terrible. The common refrain in the industry is “Just use UTC! Just use UTC!” And that’s correct… sort of. But if you’re building software that deals with time, there’s a lot more to consider. It’s time… to talk about time.

Bad Practices in Database Design: Are You Making These Mistakes? https://www.toptal.com/database/database-design-bad-practices This article covers common bad practices in database design, why they’re problematic, and how to avoid them.

10 GitHub Security Best Practices [https://snyk.io//blog/ten-git-hub-security-best-practices/](https://s

(content truncated)


Originally written by Ping Xia (平侠) and published in Chinese on Web技术周刊 (Web Tech Weekly). Translated and adapted for DriftSeas with permission.

Keep reading

More related articles from DriftSeas.