FEX 技术周刊 - 2020/01/13
深阅读
Front-End Performance Checklist 2020
https://www.smashingmagazine.com/2020/01/front-end-performance-checklist-2020-pdf-pages/
Below you’ll find a (hopefully unbiased and objective) front-end performance checklist for 2020 — an updated overview of the issues you might need to consider to ensure that your response times are fast, user interaction is smooth and your sites don’t drain user’s bandwidth.
We’re Killing the Mobile Web
https://medium.com/better-programming/were-killing-the-mobile-web-be5c5662c807
But we may be able to save it as well.
Micro Frontends Made Easy
https://medium.com/javascript-in-plain-english/micro-frontends-made-easy-e49acceea536
Today we are going to explain it in a very simple way and show how to use it with an example
“云”端的语雀:用 JavaScript 全栈打造商业级应用
https://www.yuque.com/seeconf/2020/dn74yy
不四在 SEE Conf 跟大家分享也许是西湖区最复杂的 Node.js 应用的相关实践。另附:SEE Conf 2020 演讲资料。
不在微信也能运行小程序?小程序硬件框架正式上线!
https://mp.weixin.qq.com/s/HZ5ixmfKc_o5oyvXc0JQKw
小程序从诞生到现在,我们经常收到这样的询问:小程序能脱离微信在其他终端上运行么?例如,在跑步机上玩跳一跳;查看冰箱库存时顺手在显示屏使用生鲜网购小程序;酒店智能固话使用周边服务小程序,叫个送餐,定个电影票;甚至照个镜子都能用小程序。答案是,可以!1月9日,微信小程序硬件框架正式开放,小程序可以脱离微信在不同终端上运行,各种硬件上都能跑小程序啦。目前已经有一些硬件已经实现了上面的设想。另附:Mac 上可以打开微信小程序了!不仅支持多开,还有超好用的 4 大新发现、跨平台开发领域老兵:我眼中小程序的当下和未来可能。
Taro 2.0:拥抱社区,拥抱变化
https://aotu.io/notes/2020/01/08/taro-2-0/index.html
Taro 1.x 版本自去年 9 月份发布以来,已经陪伴大家度过了一年多的时间,在此期间 Taro 一直保持高速成长,发布了多个具有重大意义的版本,让 Taro 成为如今一个功能完善,拥有众多忠实拥趸的多端统一开发框架。尽管 Taro 一直保持超高的迭代速度,Taro 的整体架构设计没有发生太大变化,这让 Taro 在这个时刻在变化的时代稍显佛系,且对于一个时刻想要突破自己的技术团队来说,常规性质的维护工作,显然无法安抚我们躁动的心,毕竟人的梦想,是永远不会停止的,所以我们决定启动一系列的颠覆式重构设计。
未来有望干掉 Python 和 JavaScript 的编程语言
https://www.infoq.cn/article/jXFWicvIaXsgyPxzPQrv
Python 和 JavaScript 是当今最热门的两种编程语言。但是,它们不可能永远位居榜首。最终,它们一定会失宠,就像所有的编程语言一样。这很可能在未来十年内就会发生。哪些编程语言有望取代它们呢?下面就是我列出的挑战者名单。
美团开源 Logan Web:前端日志在 Web 端的实现
https://tech.meituan.com/2020/01/09/meituan-logan.html
Logan 是美团点评推出的大前端日志系统,支持多端环境运行,可为客户端、Web、小程序等用户端环境提供前端日志的存储、收集、上报及分析能力,能够帮助开发人员快速定位并解决端上问题,便于及时响应用户反馈与排除异常。本文将围绕 Logan 在 Web 端的应用背景、技术实现、美团点评的实践、开源整体进展以及未来规划这几个方面展开介绍,以方便读者对 Logan 大前端日志系统有更加深入的了解。另附来自美团金服大前端团队的:Serverless 与前端工程化结合:让项目 5 分钟上线成为可能。
UI Test Automation on Salesforce
https://developer.salesforce.com/blogs/2020/01/ui-test-automation-on-salesforce.html
Test automation can be tricky and it’s not unusual for test and quality engineers to struggle with aligning to best practices, what tools to use, and updating automation when transitioning to Lightning. This blog post covers the landscape for UI test automation on Salesforce, with a focus on unique considerations for Salesforce testing and available solutions, so you can make an informed decision on which UI test automation solution works best for your Salesforce org.
Ionic’s 2019: A Year in Review
https://ionicframework.com/blog/ionic-2019-year-in-review/
2019 was a huge year for Ionic. We released new products (open source and commercial), shipped updates to our existing products, added so many wonderful customers, and continued to build the foundation to scale Ionic into a much larger business. Here’s a recap of everything that happened last year and what we’re doing this year.
npm Security 2019 in Review
https://blog.npmjs.org/post/190109399410/npm-security-2019-in-review
A year in review from VP of Security Adam Baldwin (in the style of Harper’s Index). 另附:Node.js Legacy url API 的安全风险.
Things you can do with a browser in 2020
https://github.com/luruke/browser-2020
It’s almost 2020, and browsers can do amazing stuff. This repo contains a non-exhaustive list of less-known features implemented in browsers today. This list isn’t intended for a technical audience; instead it wants to be a “I don’t know we could that in a browser” list. In many cases, listed features aren’t yet part of the standard, and may only be available on certain browsers or configurations.
Intelligent DNS based load balancing at Dropbox
https://blogs.dropbox.com/tech/2020/01/intelligent-dns-based-load-balancing-at-dropbox/
The Dropbox Traffic team is charged with innovating our application networking stack to improve the experience for every one of our users—over half a billion of them. This article describes our work with NS1 to optimize our intelligent DNS-based global load balancing for corner cases that we uncovered while improving our point of presence (PoP) selection automation for our edge network. By co-developing the platform capabilities with NS1 to handle these outliers, we deliver positive Dropbox experiences to more users, more consistently.
Handling webhooks with EventBridge, SAM and SAR
https://serverless.pub/webhooks-with-evenbridge/
Applications I worked on in the last decade were rarely isolated from the rest of the world. Most of the time, they had many interactions with other applications out there. From time to time, some of these integrations are using WebSockets, which makes our integration realtime. But much more common integration is using webhooks to send us new changes, and give us some API or SDK to allow us to communicate in the other direction. There’s a big chance that you worked with many similar integrations, such as Stripe, Slack, Github, and many others. A typical integration looks similar to the diagram below.
SQL, NoSQL, and Scale: How DynamoDB scales where relational databases don’t
https://www.alexdebrie.com/posts/dynamodb-no-bad-queries/
In this post, we got a peak behind the curtain into why DynamoDB can seem so inflexible when you first learn it. We saw how DynamoDB ‘shifts left’ on scalability by making you consider scalability during the table design phase. Then we saw the three reasons relational databases run into trouble at scale and the three design decisions DynamoDB has to avoid these issues. Finally, we looked at two areas where you could see performance problems with DynamoDB.
Goodbye, Clean Code
https://overreacted.io/goodbye-clean-code/
Don’t be a clean code zealot. Clean code is not a goal. It’s an attempt to make some sense out of the immense complexity of systems we’re dealing with. It’s a defense mechanism when you’re not yet sure how a change would affect the codebase but you need guidance in a sea of unknows.
Notes on Technical Writing
https://mkaz.blog/misc/notes-on-technical-writing/
Over the past year, I’ve worked on and off documentation for WordPress. I started contributing during a freeze around launch to help developers transition to the new platform. I found writing documentation is something I enjoy, plus rewarding to help and educate people. Though it’s not a primary part of my job, I’ve continued to find time here and there to keep contributing. In this time, I’ve read various resources on technical writing and documentation. These are my notes, both to help me remember later, but also as a tool to help me think about writing now.
新鲜货
Snowpack
https://www.snowpack.dev/
Build web applications with less tooling and 10x faster iteration. With Snowpack you can build modern web apps (using React, Vue, etc.) without a bundler (like Webpack, Parcel, Rollup). No more waiting for your bundler to rebuild your site every time you hit save. Instead, every change is reflected in the browser instantly.
2019 JavaScript Rising Stars
https://risingstars.js.org/2019/en/
Welcome to the 4th edition of JavaScript Rising Stars! Let’s see by the numbers the projects that got traction on GitHub in 2019.
The 2020 Web Developer Roadmap
https://levelup.gitconnected.com/the-2020-web-developer-roadmap-76503ddfb327
Learn to become a Frontend, Backend, Fullstack, or DevOps developer with this visual guide — no CS degree required
Node.js Web-Server Frameworks Team
https://github.com/nodejs/web-server-frameworks/
The Web-Server Frameworks Team is a place for Node.js framework authors and users to collaborate on the future direction and feature set of the frameworks and related Node.js core APIs. The main goal of the team is to improve collaboration across the ecosystem and foster a better dialog between all parties involved.
IFPS - Announcing collaborative clusters
https://blog.ipfs.io/2020-01-09-collaborative-clusters/
Collaborative clusters are an easy way to join and help improving distribution and data availability of specific datasets in the IPFS Network.
craft.js
https://github.com/prevwong/craft.js
Page editors are a great way to provide an excellent user experience. However, to build one is often a pretty dreadful task. There’re existing libraries that come with a fully working page editor out of the box with a user interface and editable components. However, if you wish to make customisations such as modifying the user interface and its behavior, it will most definitely involve modifying the library itself. Craft.js solves this problem by modularising the building blocks of a page editor. It ships with a drag-n-drop system and handles the way user components should be rendered, updated and moved - among other things. With this, you’ll be able to build your own page editor exactly how you want it to look and behave.
LuLu UI
https://github.com/yued-fe/lulu
https://l-ui.com/
LuLu UI是阅文集团荣誉出品的前端UI组件库。形象气质如下图,更柔软,更亲近,同时简单单纯,对用户侧非常友好,因此,LuLu UI非常适合面向外部用户的网站开发。
Mocha - V7.0
https://github.com/mochajs/mocha/releases/tag/v7.0.0
Drop Node.js v6.x support.
HTTPX - A next-generation HTTP client for Python
https://www.python-httpx.org/
HTTPX is a fully featured HTTP client for Python 3, which provides sync and async APIs, and support for both HTTP/1.1 and HTTP/2.
rqlite - The lightweight, distributed relational database built on SQLite.
https://github.com/rqlite/rqlite
http://www.philipotoole.com/rqlite-5-0-0-released/
rqlite is a lightweight, distributed relational database, which uses SQLite as its storage engine. Forming a cluster is very straightforward, it gracefully handles leader elections, and tolerates failures of machines, including the leader. rqlite is available for Linux, OSX, and Microsoft Windows.
Vugu - A modern UI library for Go+WebAssembly
https://www.vugu.org/
Build a web front-end in Go that runs in your browser, today. Pure Go. Targets WebAssembly (and/or server). Modern browsers supported. Experimental, for now. Really cool.
A Compiler Writing Journey
https://github.com/DoctorWkt/acwj
In this Github repository, I’m documenting my journey to write a self-compiling compiler for a subset of the C language. I’m also writing out the details so that, if you want to follow along, there will be an explanation of what I did, why, and with some references back to the theory of compilers.
设计
How Human Interaction is Shaping the Future of Technology
https://medium.com/google-design/how-human-interaction-is-shaping-the-future-of-technology-c7242d75142f
As a human-centric designer, my goal has always been to help people interact with new technologies by making them more intuitive and approachable. When I took on the role of head of design for Google Search & Assistant, I had an opportunity to realize my life’s goal and teach this nascent technology to interact with us in ways that are similar to how we interact with each other. The time I spent working on the Google Assistant has only strengthened my conviction that conversation, the most enduring form of human interaction, should be the design paradigm for future digital products and services.
Disney’s Motion Principles in Designing Interface Animations
https://blog.marvelapp.com/disneys-motion-principles-in-designing-interface-animations/
How to craft the best digital user experience with interactions. Disney’s 12 Principles of Animation is one of the inestimable guides when traditional animations are considered. These principles were originally designed for traditional animations like character animations. However, these principles can still be applied in designing interface animations. So, this is just a curious attempt to relate some of those principles in designing interface animations.
The Design Principle — Kiss (Keep it Simple, Stupid)
https://blog.prototypr.io/the-design-principle-kiss-keep-it-simple-stupid-addea6ce3460
We live in a complicated world. Consider how the majority of people live: they are constantly busy doing things to avoid boredom, their attention is continuously being distracted by superfluous things, they are constantly connected to their phones as some cyber zombies, and their minds are filled with an endless stream of conflicting thoughts.
Redefining the word “DESIGN”
https://uxplanet.org/redefining-the-word-design-676d7a874281
7 design capabilities that every business person should have.
What are the 10 UX Trends for 2020?
https://uxplanet.org/what-are-the-10-ux-trends-for-2020-bbacfe4c5c3d
Illustration and minimal language will define the user experience this year. But there’s more.
产品及其它
6 AI features Microsoft added to Office in 2019
https://venturebeat.com/2019/12/31/6-ai-features-microsoft-added-to-office-in-2019/
After a couple of conversations with Microsoft, we settled on highlighting six major AI features added to Office this year. Three are generally available and three are in preview.
张小龙微信公开课PRO演讲:信息互联的7个思考
https://mp.weixin.qq.com/s/PzJbttj5UtxLHdEtamkjPA
人们看到屏幕上的视觉信息,超过了现实中眼睛看到的信息。人们看到的是远方的图像,听到的是远方的声音。从前一个人的世界,他的大小,是由他的脚的行走半径来决定的,现在一个人的世界的大小,是由他所获得的信息的宽广度来决定的。信息的宽广度和质量,一直是微信要解决的问题。但人类对于信息的广泛连接带来的影响的思考,是落后于网络的发展速度的。网络的发展,尤其是最近几年移动互联网的发展,使得人人都随时在线,并且面临海量的信息。这在历史上,甚至十年前,都是难以想象的。人们真的能驾驭这种信息互联吗?还是说,技术在引导甚至控制人们的生活方式?
写给2020年代:若放弃了幻想,认清形势也是徒劳
https://mp.weixin.qq.com/s/lVuxZ3KkSzDwyI4TW3ToJg
2020,看着这像串冰糖葫芦的数字,总觉得该是哪个科幻大片里的遥远纪年,怎么就突然出现在眼前了呢?好像许多事情还没准备好,就这样被时光之门马不停蹄地带进了21世纪二十年代。十年树木。无论今日你是否绿树成荫,十年已过,叹息都已来不及。所以无论你我是否准备好,都必须起身拥抱这个新年代。十年之计却必有大变,肯定有现在看不见的革命性事物突然出现,它必须提前准备,提前探索,即使眼下看不见、摸不着、不知道。无中生有的创造路上,本来就是非死即伤。全靠“幻想”那股韧劲憋住一口真气。未来固然是由于自身不断衍化的结果,但也是由于我们凭借美丽的幻想能力而不断探索的结晶。
对数据可视化有兴趣的可以阅读由 AntV 带来的 墨者修齐 2020-01-13·2019 凯度信息之美、堆叠柱形图优化案例、利用深度学习实现手绘数据可视化生成
– THE END –