Why Developers Love Node.js & what’s their main issue with it?
Fast development, great performance & the easiness of Node.js makes it a favorite. Node.js is Used Mainly for Developing API’s, Backends/Servers & WebApps. Most Node.js Developers Face Performance & Security Problems in Production. Security is the most underexplained topic for Node.js Developers.

An Overview of JavaScript Testing in 2018
TL;DR; Use Jest for unit and integration tests and TestCafe for UI tests.

JavaScript’s a mess – and that’s a good thing
JavaScript never removes old features – new versions are always backward compatible. I wish we could clean it up, but staying compatible has too many benefits, as I’ll explain in this blog post.

Vue on 2018 — Interview with Evan You, author of the Vue.js framework
Will it continue its impressive flight to the top in 2018? Is Vue going to overtake React and Angular? Wondering if you should switch to Vue.js?

Workers at Your Service
另附:Release Notes for Safari Technology Preview 49

Modern CSS Explained For Dinosaurs
The goal of this article is to provide a historical context of how CSS approaches and tooling have evolved to what they are today in 2018. By understanding this history, it will be easier to understand each approach and how to use them to your benefit. Let’s get started!
另附:Using Media Queries For Responsive Design In 2018

做煎饼果子的N种方式——From Sequential to Reactive
以煎饼果子为例子介绍编程模式是如何一步一步地从传统的方式,变成Reactive 化的方式。通过Reactive 的方式,我们可以方便的实现服务编排,有了服务编排之后,我们可以做更多的事情,服务将会是更加智能化的,而非一成不变,提升了客户体验、资源利用率,并降低了资源的浪费。

在移动互联网的时代里,对于一个 web 站点来说,移动端的用户体验尤为重要。现代 web 站点的设计和开发都是以移动优先作为第一原则,我们也专门为了移动端的 web 站点做了相应的优化和提升。而网页的打开速度和页面的流畅度,对于用户是否长时间访问至关重要。我们在移动端的站点通过一系列的方法,最终为了快速打开页面展示网页内容,触达用户,同时能流畅的浏览网页。

在过度设计和毫无设计之间,我们应该把注意力放在对软件系统有重大影响的决策和权衡上。好的架构师应该是团队的活跃分子,不仅能够进行代码协作,还能为团队提供技术指导。软件架构中的沟通环节极具挑战性。C4 模型对软件架构中的沟通环节进行了结构化,从一个上下文图表开始,再逐步深入到系统的各个技术层面。实际上,可以多花一些时间实现好的架构,好的架构能够带来敏捷。

In web design, everything easy is hard again
We enjoyed the work, but were utterly confused and overwhelmed by the rapidly increasing complexity of it all. What the hell happened?

My Accessibility Journey: What I’ve Learned So Far
Making accessible sites forces you to engage with all of these variables—and pushes you, in the process, to do a great job as a developer. For me, making accessible sites means making fast, resilient sites with great UX that are fun and easy to use even in conditions that aren’t ideal.

Designing Windows 95’s User Interface
The development of the user interface for a large commercial software product like Microsoft® Windows 95 involves many people, broad design goals, and an aggressive work schedule. This design briefing describes how the usability engineering principles of iterative design and problem tracking were successfully applied to make the development of the UI more manageable. Specific design problems and their solutions are also discussed.

Automatic visual diffing with Puppeteer
I did a little song-and-dance that sets up Puppeteer* , takes screenshots of your app (like, all the routes you care about), and then compares them to the “golden” ones. If they match, your test passes! Yes, it only works on Chrome.

The Kubernetes Effect
Designing for, implementing and running applications on Kubernetes gives you the freedom to move your applications between the different cloud providers, kubernetes distributions and service providers. It gives you the opportunity to find Kubernetes certified developers to kickoff a project and support personnel to continue running it afterward. It is not the VM, it is not the JVM, it is Kubernetes that is the new application portability layer. It is the common denominator among everything and everybody.
另附:阮一峰老师的 Docker 入门教程.

Language Framework Popularity: A Look at Go
Gin and Beego rule the roost for Go based web application frameworks, go-kit and micro are the most popular microservices toolkits. The dependence on single contributors is a concern for several frameworks.

Migrating to Python 3 with pleasure
Python ecosystem co-exists in Python 2 and Python 3, and Python 2 is still used among data scientists. By the end of 2019 the scientific stack will stop supporting Python2. As for numpy, after 2018 any new feature releases will only support Python3. To make the transition less frustrating, I’ve collected a bunch of Python 3 features that you may find useful.

The Best UX is No User Interface at All
But as a user, one thought has been recurring for me during the past few years: the best user experience is really no user interface at all. Even a perfect UI would be less than ideal. The ideal is to have no middleman at all. No translation layer. Historically speaking, this hasn’t been possible because we can’t “speak” to computers. Until now. Natural-language processing (NLP) is the field of computing that deals with language interaction between humans and machines.

AVA: The Art and Science of Image Discovery at Netflix
As our Original content slate continues to expand, our technical experts are tasked with finding new ways to scale our resources and alleviate our creatives from the tedious and ever-increasing demands of digital merchandising. One of the ways in which we do this is by harvesting static image frames directly from our source videos to provide a more flexible source of raw artwork.

The Instant Motion Tracking Behind Motion Stills AR
We are excited to announce the new Augmented Reality (AR) mode in Motion Stills for Android. With the new AR mode, a user simply touches the viewfinder to place fun, virtual 3D objects on static or moving horizontal surfaces (e.g. tables, floors, or hands), allowing them to seamlessly interact with a dynamic real-world environment. You can also record and share the clips as GIFs and videos.


Mozilla announces an open gateway for the internet of things
Mozilla just announced that anybody can now create an open gateway to control the internet of things. The organization also confirmed that it is still working on a set of frameworks and open standards so that we don’t end up with an internet of things controlled by big tech companies.
另附:Forging Better Tools for the Web.

Fast-forwarding media support on the Web
Media Source Extensions (MSE) and Encrypted Media Extensions (EME), published as W3C Recommendations in 2016 and 2017, added the missing blocks to address video on demand (VoD) requirements on the Web, making it possible to implement adaptive streaming mechanisms and to control playback of encrypted content across browsers.
另附:First Public Working Draft

Eloquent JavaScript - 3rd edition
This is a book about JavaScript, programming, and the wonders of the digital.

JavaScript in the Internet of Things: JerryScript and the Fitbit Ionic
With the continued increase of adoption of open source technologies, JavaScript is now making a name for itself in the world of IoT. Recently, Fitbit introduced its newest smartwatch, Fitbit Ionic™, which is the first production device to ship with the JS Foundation project, JerryScript, since the Pebble. JerryScript is a lightweight JavaScript engine built to power the Internet of Things. It’s capable of running on microcontrollers with less than 64KB of RAM, making it ideal for compact smart devices. It supports on-device compilation and execution for very resource-constrained devices.

Open Design: Freeware tools for Designers
Free and Open-Source Software for Designers & Creative People

Latest CSS Animations 2017
In this article, we are going to take a look at some of the latest CSS animations that have been released in the last 3 months of 2017.

Announcing CodeSandbox 2.5
CodeSandbox is an online editor that helps you create web applications, from prototype to deployment.This update is packed with new features, I believe this is the biggest update to date, by far. And the best part is that many contributors helped with this update!

Introducing Rekit Studio: a real IDE for React and Redux development
Rekit Studio, a complete IDE for React, Redux and React Router development! Though it’s maybe new to some of you, it has helped us build complicated web apps for more than one year.

Web Assembly Studio
Learn, Teach, Work and Play in the Web Assembly Studio

Run Angular CLI repos directly in your browser
We created StackBlitz, a lightning fast online IDE that allows you to live edit Angular CLI projects in-browser. It also now powers all of the official Angular.io documentation examples! Wouldn’t it be great if you could instantly run any Angular CLI project on Github directly inside StackBlitz by simply changing the URL?

CanJS is an evolving and improving set of client side JavaScript architectural libraries that balances innovation and stability. It targets experienced developers building complex applications with long futures ahead of them. CanJS is an evolving and improving set of client-side JavaScript architectural libraries that balances innovation and stability. It targets experienced developers building complex applications with long futures ahead of them.
附:CanJS 4.0: A Suite of Frontend Architecture Libraries

Proton is a lightweight and powerful javascript particle engine. With it you can easily create countless cool effects.

npm rank
This gist is updated daily via cron job and lists stats for npm packages: Top 1,000 most depended-upon packages; Top 1,000 packages with largest number of dependencies; Top 1,000 packages with highest PageRank score.

Announcing Formik 0.11.0
Build forms (with nested state and arrays) in React, without tears.

Next.js 5: Universal Webpack, CSS Imports, Plugins and Zones
With every new release we are committed to retaining backwards compatibility, offering simple upgrade paths and only making API changes when absolutely necessary. Next.js 5.0 is no exception. Under the hood, however, Next.js has undergone a radical transformation to enable powerful new use cases and extensibility. We started by making Next.js share a universal Webpack pipeline for both server and client code.

Font-Awesome - Version 5
the iconic SVG, font, and CSS framework.

A JSON-like data structure that can be modified concurrently by different users, and merged again automatically.

A reimplementation of Winamp 2.9 in HTML5 and JavaScript.

A streaming data visualization engine for Javascript, Perspective makes it simple to build real-time & user configurable analytics entirely in the browser.

fbs - Create cross-platform desktop apps in minutes, not months
In recent years, Electron has seen a lot of interest as a technology for creating cross-platform desktop apps. The problem is, it is very resource intensive and its performance is not good enough for many use cases. An alternative to Electron is Qt. It has been around for many more years and can be much faster than Electron. Qt is written in C++, but bindings are available for other languages. A popular choice for Python is PyQt. This project addresses the above problems for applications written with PyQt.

Nuklear - A single-header ANSI C gui library
This is a minimal state immediate mode graphical user interface toolkit written in ANSI C and licensed under public domain. It was designed as a simple embeddable user interface for application and does not have any dependencies, a default render backend or OS window and input handling but instead provides a very modular library approach by using simple input state for input and draw commands describing primitive shapes as output. So instead of providing a layered library that tries to abstract over a number of platform and render backends it only focuses on the actual UI.

A small C library for building user interfaces with C, XML and CSS.


Google 硬件业务的艰难救赎
Google 正靠 Rick Osterloh 重写其硬件战略,核心目标是:把 Google Assistant 用于人们生活的方方面面。作为 Google 硬件业务的总负责人,Rick Osterloh 不仅要面临硬件经验不足的问题,还要对抗 Google 根深蒂固的【反硬件基因】。

写在开源运动 20 周年
1998 年的 2 月 5 日,一场小型聚会正在美国加州的 VA 研究中心举行,与会的人包括了 Eric Raymond、Larry Augustin 等人还有通过电话参与的 Jon “maddog” Hall。正是在这场会上,大家同意了 Christine Peterson 女士提出的用“开放源代码”(Open Source)一词来替代容易在英语人士中引起歧义的“自由软件”(Free Software)一词,而表达的是同样的软件和意思,却更方便理解更容易获取更多支持。从那一天开始,“开源”正式诞生,而今年二月正是开源运动发起二十周年!


傅盛2018 - 凡杀不死我的,必使我更强大