写点什么

前端每周清单第 25 期:Vue2 响应式原理,RN 运行内置 Node,JS 巧用 Proxy 反混淆,GraphQL 优劣思辨,深入 React 动画

  • 2017-08-07
  • 本文字数:4058 字

    阅读完需:约 13 分钟

前端每周清单专注前端领域内容,以对外文资料的搜集为主,帮助开发者了解一周前端热点;分为新闻热点、开发教程、工程实践、深度阅读、开源项目、巅峰人生等栏目。欢迎关注【前端之巅】微信公众号(ID:frontshow),及时获取前端每周清单。

新闻热点

国内国外,前端最新动态

  • Storybook 3.2 发布:Storybook 允许我们在现代组件化开发中快速地浏览独立组件;在近日发布的 Storybook 3.2 版本中,添加了对于 Vue.js 的支持。除此之外,本版本还引入了层次化的 Story 布局,允许开发者更加灵活地定义组件的展现层次;同时还允许在移动设备中直接浏览 React Native 组件,还修复了之前的部分错误。

  • Webpack 着手为 WebAssembly 添加头等支持:目前 Webpack 中仅将 JavaScript 作为头等公民看待,其他的资源(HTML、CSS 等)都需要转化为 JavaScript 表达式进行处理;而近日 Webpack 渲染与 Mozilla 基金会达成合作,获得了来自 MOSS 项目的 $125,000 资金支持。Webpack 着手为 WebAssembly 添加头等支持,我们也可以在 Issue Tracker   中了解最新的进展。

  • Webkit 着手开发 PWA 特性支持:Progressive Web Applications(PWAs)通过创建 Service Worker 来使 Web 用户能享受到推送、离线支持等原生应用的特性,是现代 Web 开发中重要的组成。不过令人遗憾的是 Safari 一直未表态支持 PWAs 相关特性,这一点让很多开发者也颇为不满,在   Apple’s refusal to support Progressive Web Apps is a detriment to future of the web   此文中就进行了许多的讨论;不过近日有开发者发现,在 Webkit 的 BugList 与 Changelog 上出现了有关 PWA 的内容,尽管可能还需要数月乃至于更长的时间,我们相信未来 Safari 会给予 PWA 更好的支持。

  • TensorFire:基于 WebGL 的浏览器端高性能神经网络框架:深度学习与人工智能技术正在逐步地改变人们的生活,以 TensoFlow 为代表的一系列深度学习与神经网络框架也是如日中天,迅猛发展。 TensorFire 是基于 WebGL 的,运行在浏览器中的神经网络框架。使用 TensorFire 编写的应用能够在实现前沿深度学习算法的同时,不需要任何的安装或者配置就直接运行在现代浏览器中。

开发教程

步步为营,掌握基础技能

  • Vue.js 与 NativeScript 初窥:NativeScript 框架最值得称道的即是其扩展性,它目前已经支持原生 JavaScript、Angular、Vue.js 等多种框架或者编码方式,同时未来还计划支持 Preact 等框架。本文即是介绍如何使用 NativeScript 与 Vue.js 协同开发,首先介绍了如何使用 NativeScript 命令行工具创建项目,然后引入 Vue.js 插件以及如何运行该项目;更多 Vue.js 相关资料参考  https://parg.co/byL 

  • Node.js 实践教程:本教程是希望以一些有名的模块 / 功能为基础, 在实现的过程中讲解各项知识点,主要分为控制流、Web、存储等几个部分。目前完成的模块包括 async 介绍、Promise 实现、coroutine 实现、co 模块介绍、HTTP Client 实现、HTTP Server 实现等;更多 Node.js 相关资料参考   https://parg.co/be0 

  • Airbnb React VR 实践:Airbnb 自 2014 年以来一直使用 React 构建用户交互界面,并且为社区贡献了很多优秀的开源项目;而随着 React VR 的发布,Airbnb 也利用其来快速原型化与测试 VR 相关的创意。本文即是介绍 Airbnb 在 React VR 实践方面的一些经验总结,本文首先阐述了 React、React Native 与 React VR 三者之间的关系与差异,然后介绍了 React VR 在布局、基础组件方面的语法,最后还讨论了 React VR、WebVR 以及 VR 技术本身的发展可能性。更多 WebVR 相关资料参考   https://parg.co/bFR

  • 突破 CSS 前端面试:不同于传统的软件工程师面试比较注重算法,前端面试可能更多的注重综合能力以及领域语言的掌握;本文即着眼于对于面试中常见的 CSS 问题的总结与介绍。本文列举的问题譬如 Resetting 与 Normalizing 区别、floats 工作机制阐述、z-index 与 stacking context 比较、BFC 描述等等;更多 CSS/SCSS 相关资料参考 https://parg.co/baH 

工程实践

立足实践,提示实际水平

  • Angular 性能优化:本文介绍了些常见的 Angular 开发中可用的性能优化建议,包括了利用 ChangeDetectionStrategy.OnPush 来显式声明组件间依赖、利用 trackBy 来追踪唯一标识符和避免冗余的增删、避免模板中的计算推导、禁用变化监测、使用懒加载等。

  • Vue.js 2 单元测试指南:本文主要介绍如何利用 Jasmine 为 Vue.js 2 应用搭建完整的单元测试;这里选用 Jasmine 的原因是它本身的性能较好,并且 Vue.js 本身也是使用该测试框架。本文首先介绍了环境搭建与待测试的组件构成,然后依次介绍了配置测试环境、如何根据组件的业务功能逻辑选定测试点、如何编写不同目标的测试用例等内容;更多 Vue.js 相关资料参考  https://parg.co/byL 

  • 深入 React 动画实践:本文介绍了在 React 开发中多种创建动画效果的途径,包括了基于 React 组件状态的 CSS 动画、基于 React 组件状态的 JavaScript 样式动画以及第三方依赖的 React Motion、Animated、Velocity-React 等库。本文最后还讨论了如何用 GreenSock 等经典强大的动画库来辅助 React 组件动画开发;更多 React 相关资料参考  https://parg.co/bM1 

  • Node.js 如何解析 Form 上传?:NPM 和 GitHub 里的开源组件帮我们解决了很多繁琐的工作,但是也让我们失去了很多深入技术细节的机会。在现有组件无法满足我们需求的时候,就需要我们来自己动手丰衣足食了。 作者前段时间遇到了一个需要手动解析 Form 表单上传的机会,也借此为各位解析一下 Node.js 解析 Form 上传的实现细节。更多 Node.js 相关资料参考   https://parg.co/be0 

深度阅读

深度思考,升华开发智慧

  • JavaScript 中有趣而又无语的例子:JavaScript 是一门有趣的语言,它有着简单的语法、庞大的生态系统与社区,不过 JavaScript 中也有着很多令人无语的地方。本文即是对 JavaScript 中一些有趣的、出乎意料的用法收集,对于初学者是个不错的深入教程,而对于资深开发者也可以拿来作为面试题目。本文中包含的例子譬如  [] == ![]、NaN 的用法注意、try-finally 等等;更多 JavaScript 相关资料参考  https://parg.co/bMI 

  • 安息吧 REST APIs,GraphQL 长存:GraphQL 是 Facebook 针对复杂关系的数据获取与操作开源的数据查询语言,本文则是对比了传统的 REST APIs 与 GraphQL 各自的优劣,讨论了 GraphQL 相较于 REST APIs 更适合应用的场景;不过本文并非提倡使用 GraphQL 完全替代 REST APIs,也陈述了 GraphQL 存在的不足与缺陷。本文首先概括性地总结了 GraphQL 解决地三个问题,然后介绍了 GraphQL 的由来和其内部原理,最后讨论了 GraphQL 这种灵活性本身的代价。更多 GraphQL 相关资料参考  https://parg.co/b1e 

  • 基于 Proxy 的 PopUnder 库反混淆:本视频通过对某个商用的 Chrome 59 中 PopUnder 库,的执行过程解析,来介绍如何利用 ES6 的 Proxy 进行,简单的 JavaScript 混淆代码逆向破解。视频还是挺有意思的,作者首先分析了经过混淆的源代码,发现无法下手;然后利用 Proxy 监听常见的 Windows 中 createElement 等函数的调用来了解该库的执行流程,最后再根据 API 的调用顺序复现出该库。更多 JavaScript 设计模式相关参考  https://parg.co/bIO 

  • 深入 Vue.js 响应式原理:本文作者从 Java 与 C# 中经典的 Getters/Setters 引入,讨论了 Vue.js 中从组件渲染函数、数据的 Getter、Setter 劫持、监听器的控制以及重渲染触发整个生命流程。更多 Vue.js 相关资料参考 https://parg.co/byL 

开源项目

乐于分享,共推前端发展

  • Hazel : Hazel 是 Zeit 开源的轻量级 Electron 应用更新服务器,它支持 macOS 与 Windows 应用的同步更新。Hazel 基于 micro 库构建,能够自动地从 Github Releases 抓取数据并且缓存在内存中,并且没十五分钟自动刷新下数据。

  • React Native Node : React Native Node 能够在基于 React Native 开发的 Android 应用中启动后台 Node.js 进程,从而可以利用 Node.js 中的流、文件系统接口等特性来进行功能操作;React Native Node 主要依靠 Node.js 7.1.0 版本能够被独立编译为 bin_node_v710 可执行文件。另一方面,尽管 iOS 并不支持直接运行 V8,但是该项目正在致力于为 ChakraCore 打造类 V8 特性支持。

  • react-simple-maps : react-simple-maps 是基于 d3-geo 与 topojson 的 React 地图组件库,允许开发者快捷方便地构建自定义的 SVG 地图;目前的特性包括了缩放、标记、自定义 SVG 标记、自定义着色、气泡图、动画支持等等。

  • Vuestic Admin Dashboard : 基于 Vue.js 与 BootStrap 4 的响应式管理控制台,包含了 36 个元素、18 个页面、18 个自定义图标等内容;其使用 Chart.js 构建了响应式图标、利用 Leaflet 与 amMap 构建可视化地图组件等内容。

巅峰人生

  • 股权、期权有哪些坑?从技术创业的角度说开去:本文整理自知道创宇 CTO 兼 COO 杨冀龙在 GTLC 全球领导力峰会上的演讲,原题为《技术创业那些事儿》。本文从依赖独特技术领先与依赖业务领先等不同类型的创业公司的股权分配、期权分配、投融资以及创业人自己的坚持等方面分享创业经历过哪些坑、该怎么处理。

前端之巅

「前端之巅」是 InfoQ 旗下关注前端技术的垂直社群,加入前端之巅学习群请关注「前端之巅」公众号后回复“加群”。投稿请发邮件到 editors@cn.infoq.com,注明“前端之巅投稿”;或者可以阅读往期文章:


感谢徐川对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-08-07 19:002998
用户头像

发布了 60 篇内容, 共 21.2 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

科技赋能会展!3DCAT助力广东旅博会元宇宙场景的首次搭建

3DCAT实时渲染

云计算 元宇宙

java就业培训班如何选择?

小谷哥

2022 CCF国际AIOps挑战赛决赛暨AIOps研讨会成功举办

BizSeer必示科技

人工智能 AIOPS

易周金融分析 :支付科技着力服务产业数字化升级

易观分析

金融 产业数字化 分析 支付科技

2分钟一图看懂AntDB数据库产品

亚信AntDB数据库

AntDB 国产数据库 aisware antdb

预约直播 | 深度学习编译器技术趋势与阿里云BladeDISC的编译器实践

阿里云大数据AI技术

深度学习 阿里云 编译器

EasyNLP集成K-BERT算法,借助知识图谱实现更优Finetune

阿里云大数据AI技术

深度学习 阿里云 算法 开源技术 基础模型

Java 异步调用原理与实战

PPPHUANG

性能优化 线程池 Async Java core java nio

干货复盘 | 银行数智化转型十大趋势

易观分析

金融 银行 数智化转型

阿里云杨红军:应用管理——云上资源DevOps最佳实践

阿里云弹性计算

阿里云 DevOps 运维 应用管理 云上资源管理

一文讲透Java核心技术之高可扩展利器SPI

冰河

Java 程序员 架构师 spi 核心技术

IPv5是什么意思?到底有没有IPv5?

郑州埃文科技

ipv6 互联网协议 ipv5

PyTorch 与 TensorFlow 怎么选?

博文视点Broadview

RT-Thread记录(八、理解 RT-Thread 内存管理)

矜辰所致

内存管理 RT-Thread 8月月更

SAP ABAP Netweaver 服务器的标准登录方式讲解

汪子熙

web开发 web服务器 abap Netweaver 8月月更

2篇论文入选KDD 2022!腾讯广告持续探索效果提升新思路

极客天地

SAP ABAP 关键字语法图和 ABAP 代码自动生成工具 Code Composer

汪子熙

Java SAP abap commerce 8月月更

华贵保险连续五年获得“A级纳税信用企业”

江湖老铁

前端培训学完课程后如何找工作?

小谷哥

Android进阶(十五)socket通信实现聊天室应用开发总结

No Silver Bullet

android 8月月更 开发总结

virtio 1.2 来了!龙蜥社区携手业界打造新版虚拟化 IO 标准

OpenAnolis小助手

开源 虚拟化 龙蜥技术 virtio

CSO视角:Sigstore如何保障软件供应链安全?

SEAL安全

软件供应链安全 OpenSSF

Alluxio on Amazon EMR 集成实践

亚马逊云科技 (Amazon Web Services)

实践 集成 Tech 专栏

面试官:如何设计更好的分布式系统?

Java全栈架构师

程序员 架构 面试 分布式 后端

即日起,ONES 团队版50人以下免费

万事ONES

开源一夏 | 如何使用Java操作华为对象存储OBS删除一个目录?

wljslmz

Java 开源 对象存储 华为云 8月月更

如何利用CANN DVPP进行图片的等比例缩放?

华为云开发者联盟

人工智能 图像 昇腾AI

Go 事,如何成为一个Gopher ,并在7天找到 Go 语言相关工作,第1篇

梦想橡皮擦

Python 爬虫 8月月更

首批成员!博云入选信通院“可信边缘计算推进计划”

BoCloud博云

云计算 开源 云原生

零门槛掌握基于大模型技术的AIGC场景应用

文心大模型

合合信息加入元脑生态 携手浪潮信息推动金融AI应用创新

合合技术团队

AI 智能时代 合合信息 人工智能’ 浪潮

前端每周清单第 25 期:Vue2 响应式原理,RN 运行内置 Node,JS 巧用 Proxy 反混淆,GraphQL 优劣思辨,深入 React 动画_语言 & 开发_王下邀月熊_InfoQ精选文章