技术周刊 第 20 期
- 作者:
- HazelZ
- 发布时间:
【前端】
1. WebAssembly 现状与实战(中文)
WebAssembly 并不是一门编程语言,而是一份字节码标准,需要用高级编程语言编译出字节码放到 WebAssembly 虚拟机中才能运行, 浏览器厂商需要做的就是根据 WebAssembly 规范实现虚拟机。本文重点介绍如何使用 AssemblyScript 来编写 WebAssembly。
链接:https://www.ibm.com/developerworks/cn/web/wa-lo-webassembly-status-and-reality/index.html
2. 什么是Redux:设计师指南
一个 Redux 的简洁介绍,它在状态管理之外还提供了什么东西。
链接:https://www.smashingmagazine.com/2018/07/redux-designers-guide/
3. 移动端跨平台开发的深度解析
跨平台一直是老生常谈的话题,cordova、ionic、react-native、weex、kotlin-native、flutter等跨平台框架的百花齐放,颇有一股推倒原生开发者的势头。(事实上更多是共存发展)看完本篇,相信你会对于当下跨平台移动开发的现状、实现原理、框架的选择等有更深入的理解。
链接:https://juejin.im/post/5b395eb96fb9a00e556123ef
4. 推荐21个顶级的Vue UI库
最近,随着“星球大战”(指 GitHub 的 Star 数量大比拼)的爆发,Vue.js 在 GitHub 上的 Star 数超过了 React。虽然 NPM 的下载量仍然落后于 React,但 Vue.js 的受欢迎程度似乎在持续增长,与 React 一样,Vue 的最佳特性之一就是能够使用独立的模块化组件来组合 UI。为了帮助读者更快地构建下一个应用程序,以下列出了 2018 年的一些最佳 UI 组件库。
链接: https://mp.weixin.qq.com/s/kYZxwd4EvEaRcs3vJtxMyQ
5. 你不知道的前端SDK开发技巧
作为一个SDK,我们的目标是让使用者能够减少查看文档的时间,所以我们需要提供一些类型的检查和智能提示,一般我们的做法是提供JsDoc,大部分编辑器可以提供快捷生成JsDoc的方式,我们比较常用的vscode可以使用Document This 。
链接:https://mp.weixin.qq.com/s/i_Zxaie1xMALymQ-1Jqz_Q
6. Gio.js:3D地球数据可视化的开源组件库
Gio.js 是一个基于Three.js的web 3D地球数据可视化的开源组件库。使用Gio.js的网页应用开发者,可以快速地以申明的方式创建自定义的Web3D数据可视化模型,添加数据,并且将其作为一个组件整合到自己的应用中。这个库的开发是受到Google 2012 Info大会上的项目世界武器贩卖可视化的启发,该项目开发者是Google员工Michael Chang。使用Gio.js就可以快速构建这种炫酷的3D模型,并以此为基础进行深入地开发。 易用性 -- 仅使用4行Javascript即可创建3D地球数据可视化模型 定制化 -- 使用Gio.js提供的丰富的API来创建自定义样式的3D地球 现代化 -- 基于Gio.js构建高交互、自适应的现代化3D前端应用
链接:https://mp.weixin.qq.com/s/i_Zxaie1xMALymQ-1Jqz_Q
7. 如何将 emoji 当成单色 icon 使用
在 web 设计中 icon 变得越来越重要,在网上有很多关于 icon 的资源,免费的付费的都有。在这里,介绍如何运用一种已经我们非常熟悉的方式 -- emoji ,来当成 icon 使用。emoji 的一个好处是已经在系统中内置,而 icon 资源还需要从站点服务器获取。emoji 只是一些跟普通文本类似的简单字符,所以这会是传统 icon 图片的一种很好的替代方式;
链接:https://zhuanlan.zhihu.com/p/38767488
8. Web 前端框架:是解药还是毒药
要使用现代的前端框架,你需要下载开发环境和依赖,编译代码,然后在浏览器上运行。这个是好是坏?究竟是什么导致了这种不必要的复杂性?是因为我们构建的网站太复杂,还是因为框架本身就很复杂?从本文作者从过去的 Web 前端开发、人们使用框架的原因、框架失效时等几个方面来分析,最后得出结论:不使用框架有可能是你的项目的最佳解决方案,但也可能是其他项目的噩梦。就像使用工具一样,关键的不只是学习如何使用它们,还要知道在什么时候使用它们更合适,以及它们都有哪些优点和缺点。在纯 JS 中进行编码就像使用框架一样,在感觉游刃有余之前,需要花点时间掌握它;
【后端】
1. 工具 — 将终端会话记录为 SVG 动画
termtosvg 是一个用 Python 编写的 Linux 终端记录器,可将你的命令行会话以独立的 SVG 动画呈现,让我们能更炫酷和简洁地记录和分享终端操作。类似的工具还有 asciinema。
链接:https://github.com/nbedos/termtosvg
2. mkcert — 零配置制作本地可信开发证书
通常使用来自真实证书颁发机构(CA)的证书进行开发很不方便,这就需要管理自己的 CA。mkcert 是一个简单的零配置工具,用于制作本地可信开发证书。可生成本地 HTTPS 加密证书,一个命令就可以生成证书,不需要任何配置。
链接:https://github.com/FiloSottile/mkcert
3. Python 超越 Java 并逐渐拉开差距
PYPL 已发布7月编程语言指数榜,Python 在今年5月首次超越 Java 拿下榜首位置后,保持上涨趋势,正逐渐与 Java 拉开差距。 此外,JavaScript 和 PHP 在季军位置的争夺上也十分激烈。二者在上半年的指数得分上十分接近,不过本月由于 PHP 出现了 1.5 个百分点的下降,地位有点危险。
链接:https://mp.weixin.qq.com/s/9-7oRJUNVYMBijYAQRJ8FA
4. 深入理解 flutter 的编译原理与优化
对于开发者而言,什么是 Flutter?它是用什么语言编写的,包含哪几部分,是如何被编译,运行到设备上的呢?Flutter 如何做到 Debug 模式 Hot Reload 快速生效变更,Release 模式原生体验的呢?Flutter 工程和我们的 Android/iOS 工程有何差别,关系如何,又是如何嵌入 Android/iOS 的呢?Flutter 的渲染和事件传递机制如何工作?Flutter 支持热更新吗?Flutter 官方并未提供 iOS 下的 armv7 支持,确实如此吗?在使用 Flutter 的时候,如果发现了 engine 的 bug,如何去修改和生效?构建缓慢或出错又如何去定位,修改和生效呢?凡此种种,都需要对 Flutter 从设计,开发构建,到最终运行有一个全局视角的观察。本文将以一个简单的 hello_flutter 为例,介绍下 Flutter 相关原理及定制与优化;
链接:https://yuque.com/xytech/flutter/sh4fbm
5.Data Structures Reference - 用于技术面试和计算机科学课程
一份很好的数据结构教程,图文并茂,简明扼要,列出每种结构的定义和优缺点,非常适合初学者;
链接:https://www.interviewcake.com/data-structures-reference
6.用 Python 来做点什么?[英文]
Python 是一种非常通用的编程语言,在各种不同领域都有很多用途。如果已经掌握了基础知识并且渴望使用该语言构建一些东西,那么看看本文中提供的一些建议,包括几个不同的项目、资源和教程,尝试开始使用 Python 来构建内容吧。
链接:https://realpython.com/what-can-i-do-with-python/
【其他】
1. 一些优秀的 macOS 开源应用
包括音乐、视频、聊天工具、浏览器、数据库、编辑器、新闻、VPN 工具、壁纸、游戏、IDE 等应用,例如 MacDown、Atom、ShadowsocksX-NG、QuickLook Video、PDF Archiver、YouTube-Music 等等。
链接:https://github.com/serhii-londar/open-source-mac-os-apps
2. Github 事故报告
上周,有人拿到 Gentoo 的 GitHub 管理员权限,然后把密码改了,其他管理员都删了,在应用程序的源码里面加入 rm -rf 。虽然,GitHub 官方已经处理这件事情,但是看了也是一身冷汗。万一真的以 root 权限运行,莫名其妙你的系统就全没了;
链接:https://wiki.gentoo.org/wiki/Project:Infrastructure/Incident_Reports/2018-06-28_Github
3. Firefox 和 Chrome 下架流行扩展 Stylish
用户样式管理器 Stylish 是一个非常受欢迎的浏览器扩展,但在被多次转手之后,这个扩展开始变得恶意了。软件工程师 Robert Heaton 对其代码进行分析后指出,Stylish 窃取了用户所有的浏览历史。在收到报告之后,Firefox 和 Chrome 从其各种的扩展网站移除了 Stylish,Firefox 还建议所有用户禁用该扩展。想要继续使用自定义样式的用户可选择安装 Stylish 的分支 Stylus( Google Chrome);