FEX 技术周刊 - 2020/03/30
深阅读
Emergency Website Kit
https://mxb.dev/blog/emergency-website-kit/
In cases of emergency, many organizations need a quick way to publish critical information. But existing (CMS) websites are often unable to handle sudden spikes in traffic. To make things worse, natural disasters can also damage local network infrastructure, sometimes leaving people with very poor mobile connections. I’ve written about the practice of publishing minimal “text-only” versions of critical news websites before and I think it makes a lot of sense to rely on the rule of least power for these things. When it comes to resilience, you just can’t beat static HTML.
Get Static
https://meyerweb.com/eric/thoughts/2020/03/22/get-static/
If you are in charge of a web site that provides even slightly important information, or important services, it’s time to get static. I’m thinking here of sites for places like health departments (and pretty much all government services), hospitals and clinics, utility services, food delivery and ordering, and I’m sure there are more that haven’t occurred to me. As much as you possibly can, get it down to static HTML and CSS and maybe a tiny bit of enhancing JS, and pare away every byte you can. 另附:Making Sure Content Lives On.
It’s not what programming languages do, it’s what they shepherd you to
https://nibblestew.blogspot.com/2020/03/its-not-what-programming-languages-do.html
shepherding An invisible property of a progamming language and its ecosystem that drives people into solving problems in ways that are natural for the programming language itself rather than ways that are considered “better” in some sense. These may include things like long term maintainability, readability and performance.
State-driven interfaces with XState
https://blog.logrocket.com/state-driven-interfaces-with-xstate/
An alternative approach to UI development is state-driven development. This approach puts states first and events second. To me, the core difference is that we go from being on defense to offense. Instead of the user being able to trigger any event, leaving us scrambling to catch them all and write logic to handle them, we give the user a state containing a group of events. While we’re in this state, the user can trigger any event in this group, but no more. I believe this makes UI code simpler, scalable, and more robust. XState is a state management library that enables state-driven development through finite-state machines.
Announcing React Native 0.62 with Flipper
https://reactnative.dev/blog/2020/03/26/version-0.62.html
Flipper is a developer tool for debugging mobile apps. It’s popular in the Android and iOS communities, and in this release we’ve enabled support by default for new and existing React Native apps.
如何打造高性能小程序门户
https://aotu.io/notes/2020/03/25/high-performance-miniprogram/index.html
京喜小程序自去年双十一上线微信购物一级入口后,时刻迎接着亿级用户量的挑战,细微的体验细节都有可能被无限放大,为此,“极致的页面性能”、“友好的产品体验” 和 “稳定的系统服务” 成为了我们开发团队的最基本执行原则。首页作为小程序的门户,其性能表现和用户留存率息息相关。因此,我们对京喜首页进行了一次全方位的升级改造,从加载、渲染和感知体验几大维度深挖小程序的性能可塑性。除此之外,京喜首页在微信小程序、H5、APP 三端都有落地场景,为了提高研发效率,我们使用了 Taro 框架实现多端统一,因此下文中有部分内容是和 Taro 框架息息相关的。
Webpack5 新特性 - Federated Modules
https://zhuanlan.zhihu.com/p/115403616
https://mp.weixin.qq.com/s/WAYezuzMKJjn3SECiy1KVA
Webpack5 模块联邦让 Webpack 达到了线上 Runtime 的效果,让代码直接在项目间利用 CDN 直接共享,不再需要本地安装 Npm 包、构建再发布了!我们知道 Webpack 可以通过 DLL 或者 Externals 做代码共享时 Common Chunk,但不同应用和项目间这个任务就变得困难了,我们几乎无法在项目之间做到按需热插拔。模块联邦是 Webpack5 新内置的一个重要功能,可以让跨应用间真正做到模块共享。
历时四年,Dropbox 用 Rust 重写同步引擎核心代码
https://mp.weixin.qq.com/s?__biz=MzAwODI4MjEwNQ==&mid=2454586960&idx=1&sn=a1ddfdc13b9ca76f4caa1d4d1628733d
开源 GO 语言工具库、研究 iOS 和 Android 的 C++ 跨平台开发,花费五年时间从云平台向数据中心反向迁移……Dropbox 从未停止对技术的“折腾”。如今,这家公司又花费了四年时间重构了内部最古老、最重要的同步引擎核心代码。
New QML language features in Qt 5.15
https://www.qt.io/blog/new-qml-language-features-in-qt-5.15
While big changes are on their way for Qt 6.0, QML got some new language features already in 5.15. Read on to to learn about required properties, inline components and nullish coalescing.
Open collaboration on COVID-19
https://github.blog/2020-03-23-open-collaboration-on-covid-19/
https://www.mongodb.com/blog/post/helping-developers-tackle-covid19
https://blog.npmjs.org/post/613769880613814272/statement-on-the-covid-19-crisis
https://stripe.com/covid-19
https://blog.ycombinator.com/responding-to-covid-19/
http://blog.archive.org/2020/03/25/internet-archive-staff-and-covid-19-work-at-home-for-most-full-pay-furlough-with-medical-for-scanners/
In the midst of the uncertainty and seriousness of COVID-19, we’ve been inspired to see a global community of scientists, government officials, journalists, programmers, and concerned citizens come together to collaborate on a variety of projects with the shared goal of understanding COVID-19 and coordinating on the best response. Even though many of these projects aren’t traditional software projects, the same collaborative development model is being applied to curated data sets, DIY instruction sets, and more. Below are some of the most impactful open source projects we’ve seen for tracking, understanding, and responding to COVID-19 so far.
How to manage HTML DOM with vanilla JavaScript only?
https://htmldom.dev/
A guide with a list of different things we might normally do with a JavaScript library, but can now be done using native APIs.
An Introduction to MDXJS
https://css-tricks.com/an-introduction-to-mdxjs/
MDX shines in cases where you want to maintain a React-based blog. Using it means you no longer have to create custom React component pages when you want to do something impossible in Markdown (or create a plugin). I have been using it on my blog for over a year and have been loving the experience One of my favorite projects so far is a React component I call Playground that can be used to demo small HTML/CSS/JavaScript snippets while allowing users to edit the code. Sure, I could have used some third-party service and embed demos with it, but this way I don’t have to load third-party scripts at all.
Please don’t write your documentation in Markdown
https://buttondown.email/hillelwayne/archive/please-dont-write-your-documentation-in-markdown/
Markdown is tolerable for short documentation, like a readme.md. Past that, it’s the wrong tool for the job.
Tim’s Take: A re:Invent 2020 Serverless Wishlist
https://medium.com/@timawagner/tims-take-re-invent-2020-serverless-wishlist-7f0756da4cd0
It’s never too early to start planning for next re:Invent!
Go, the Go Community, and the Pandemic
https://blog.golang.org/pandemic
In this post we want to share a few important notes about how the pandemic is affecting the Go community, a few things we’re doing to help, what you can do to help, and our plans for Go itself.
新鲜货
Full Third-Party Cookie Blocking and More
https://webkit.org/blog/10218/full-third-party-cookie-blocking-and-more/
This blog post covers several enhancements to Intelligent Tracking Prevention (ITP) in iOS and iPadOS 13.4 and Safari 13.1 on macOS to address our latest discoveries in the industry around tracking. 另附:Apple just killed Offline Web Apps while purporting to protect your privacy: why that’s A Bad Thing and why you should care
firefox’s low-latency webassembly compiler
http://wingolog.org/archives/2020/03/25/firefoxs-low-latency-webassembly-compiler
Today I’d like to write a bit about the WebAssembly baseline compiler in Firefox.
The role low code tools may play at GitLab
https://about.gitlab.com/blog/2020/03/26/low-code-no-code/
Citizen developers are creating code without being coders. CEO Sid Sijbrandij and senior PMM Parker Ennis explain the impact on GitLab.
Version 9.1 of Angular Now Available
https://blog.angular.io/version-9-1-of-angular-now-available-typescript-3-8-faster-builds-and-more-eb292f989428
TypeScript 3.8, faster builds, and more
Showing the World You Can Write a Cool Program Inside One Tweet
https://spectrum.ieee.org/tech-talk/computing/software/show-the-world-you-can-write-a-cool-program-inside-a-single-tweet
https://twitter.com/bbcmicrobot/status/1230644568326053888
The BBC Micro Bot will try to run anything you can code in 280 characters or less.
ElectronCGI 1.0 – Cross-platform GUIs for .Net Core
https://www.blinkingcaret.com/2020/03/25/electroncgi-1-0-cross-platform-guis-for-net-core/
If you don’t know what ElectronCGI is, it’s a “two-part” library that allows invoking .NET code from Node.js and Node.js code from .NET. It’s two part because it is comprised of a npm package called electron-cgi and a NuGet package called ElectronCGi.DotNet.
TOAST UI Editor 2.0 Released!
https://ui.toast.com/weekly-pick/en_20200318/
TOAST UI Editor is a document editing library built using JavaScript, and it offers two different modes of editors, Markdown and “What You See is What You Get” (WYSIWYG), for users to choose freely which mode is the more suitable option for different users.
Prettier 2.0 “2020”
https://prettier.io/blog/2020/03/21/2.0.0.html
Better defaults, a better CLI and better heuristics. Oh, and TypeScript 3.8.
Accessible UI Component Libraries Roundup
https://www.digitala11y.com/accessible-ui-component-libraries-roundup/
Here is a list of accessible UI components that you can use for your next project. Please do let me know if there are any resources that are missing & they will be added to list accordingly.
redux-toolkit - 1.3.0
https://github.com/reduxjs/redux-toolkit/releases/tag/v1.3.0
This release adds two new APIs: createEntityAdapter to help manage normalized state, and createAsyncThunk to abstract common data fetching behavior.
Evergreen React UI Framework by Segment
https://github.com/segmentio/evergreen
Evergreen is a React UI Framework for building ambitious products on the web. Brought to you by Segment.
React Data Grid
https://adazzle.github.io/react-data-grid/
Excel-like data grid component built with React.
Uppload
https://github.com/elninotech/uppload
Uppload is a better JavaScript image uploader. It’s highly customizable with 30+ plugins, completely free and open-source, and can be used with any file uploading backend.
gqless - A GraphQL client without queries
https://gqless.dev/
Auto-generates GraphQL queries based on the data your application consumes.
ora - Elegant terminal spinner
https://github.com/sindresorhus/ora
Zig
https://ziglang.org/
https://andrewkelley.me/post/zig-cc-powerful-drop-in-replacement-gcc-clang.html
Zig is a general-purpose programming language designed for robustness, optimality, and maintainability.
MeiliSearch - Ultra relevant and instant full-text search API
https://github.com/meilisearch/MeiliSearch
MeiliSearch is a powerful, fast, open-source, easy to use and deploy search engine. Both searching and indexing are highly customizable. Features such as typo-tolerance, filters, and synonyms are provided out-of-the-box.
9 offbeat databases worth a look
https://www.infoworld.com/article/3533410/9-offbeat-databases-worth-a-look.html
Plain old MySQL or MongoDB not doing the job? See if these unique offerings meet your needs
ION - a distributed RTC system written by pure go and flutter
https://github.com/pion/ion
Distributed RTC System by pure Go and Flutter.
Work together like you’re in the same room
https://screen.so/#/home
Fast screen sharing with multiplayer control, drawing & video.
Epidemic Calculator
http://gabgoh.github.io/COVID/index.html
This calculator implements a classical infectious disease model — SEIR (Susceptible → Exposed → Infected → Removed), an idealized model of spread still used in frontlines of research e.g. [Wu, et. al, Kucharski et. al].
Jitsi Meet: An open source alternative to Zoom
https://meet.jit.si/
Secure, fully featured, and completely free video conferencing. Go ahead, video chat with the whole team. In fact, invite everyone you know. Jitsi Meet is a fully encrypted, 100% open source video conferencing solution that you can use all day, every day, for free — with no account needed.
Mycroft – Open Source Voice Assistant
https://mycroft.ai/
Mycroft is the world’s first open source voice assistant. Our software runs on many platforms—on desktop, our Mycroft Mark 1, or on a Raspberry Pi. This is open source software which can be freely remixed, extended, and improved. Mycroft may be used in anything from a science project to an enterprise software application.
Zotero - Your personal research assistant
https://www.zotero.org/
Zotero is a free, open-source research tool that helps you collect, organize, and analyze research and share it in a variety of ways. Zotero includes the best parts of older reference manager software — the ability to store author, title, and publication fields and to export that information as formatted references — and the best aspects of modern software and web applications, such as the ability to organize, tag, and search in advanced ways.
设计
With love for the user: UI/UX trends 2020
https://proarea.co/blog/with-love-for-the-user-ui-ux-trends-2020/
Today, the user and his needs are taken first. The user-first approach has proved itself in the last couple of years, although there was no point in doubting its value. Product success depends on UI/UX trends. Imagine that the user likes your app or site interface, it is comfortable for him and solves his problems quickly enough.
Why Design Systems Fail, and How to Make Them Work
https://blog.marvelapp.com/why-design-systems-fail-how-to-make-them-work/
Learn from other’s mistakes to make your system better.
Imagineering in a Box: Sound Design
https://uxmag.com/articles/imagineering-in-a-box-sound-design
Whether you are creating a marketing campaign, a trade show booth, an experience or a land, sound is part of telling that story and getting your audience to feel.
Sketch 64 — Search, Tints & New Components Menu (again!)
https://medium.com/sketch-app-sources/sketch-64-tints-new-components-menu-again-3d17cfed1aa1
Design Tools are changing fast nowadays. I remember times where graphic software had only minor changes over the decade. Fortunately, these changes are made for us to boost our workflow. Let’s check out what Sketch Team has improved with the newest version 64.
除了新拟物化,还有哪些值得关注的视觉设计趋势
https://www.uisdc.com/visual-design-trend
最近有大量的设计软件和工具雨后春笋般涌现——Sketch、Figma、Adobe Creative Cloud、C4d、Redshift等等。这使得设计创作门槛越来越低,设计师们也能够以更多的形式和更低的成本表达自己的创意。我觉得趋势应该是能够相互结合,还能以创造性的方式在 web 和许多 APP 中得到使用。如果使用正确,3D 插图、动画和自定义的组合可以为用户提供一套完整的解决方案。
产品及其它
The coronavirus crisis proves the internet should be a public utility
https://qz.com/1826043/the-coronavirus-crisis-proves-internet-should-be-a-public-utility/
This patchwork approach to public access is taking hold across the US and there is a growing understanding that internet access is a social issue that has to be addressed by governments, not private companies operating with profit as their sole motivator.
The Art of Discarding for Programmers
https://medium.com/better-programming/the-art-of-discarding-for-programmers-73a9696d59bd
Don’t keep things around — few things are sacred.
领导力的30个“天条”
https://mp.weixin.qq.com/s/kyc7sxEh1s6r8bBC-QpHaQ
一个高效的会议,讨论的是解决方案,而不是问题和观点。找到真问题,比解决问题重要。“无为”的人看起来没有行动,其实是引导方向之人。
假如用《西游记》的方式,打开互联网公司……
https://mp.weixin.qq.com/s/Bmbs187lwFzzQKcOo76R1g
一个项目的上线,就好比一场西天取经的修行。路上遇上的那些数不清的魑魅魍魉,现在的英文名叫bug;其中的弯弯绕绕、艰难险阻,绝不比九九八十一少。如果用《西游记》的方式打开互联网公司,大概就是下面这样——
对数据可视化有兴趣的可以阅读由 AntV 带来的 墨者修齐 2020-03-29 · Graphin、What is a line graph、One Angry Bird、Visallo
– THE END –