写点什么

前端每周清单第 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:002464
用户头像

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

关注

评论

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

App 竟然是这样跑起来的 —— Android App_Activity 启动流程分析

android 程序员 移动开发

App基于手机壳颜色换肤?先尝试一下用 KMeans 来提取图像中的主色

android 程序员 移动开发

Base64 的原理、实现及应用,面试字节跳动Android工程师该怎么准备

android 程序员 移动开发

BroadcastReceiver官方概览,【面试总结

android 程序员 移动开发

ButterKnife被弃用,ViewBinding才是findView的未来?,秀出天际

android 程序员 移动开发

ConstrainLayout 基础教程2,2021Android精选面试实战总结整理

android 程序员 移动开发

Android:手把手教你实现在XML中配置网易云歌手详情滑动效果

android 程序员 移动开发

APP瘦身大法--AndResGuard的使用(1),为什么阿里的程序员成长如此之快

android 程序员 移动开发

BAT常见Android面试20题详解,985研究生入职电网6个月

android 程序员 移动开发

ByteDance张一鸣:抖音很多年轻人,出色的都有这些闪光点

android 程序员 移动开发

Android:金九银十怎么从中小企业挤进一线大厂?大厂面试题问的深度

android 程序员 移动开发

APP瘦身大法--AndResGuard的使用,android地图开发框架

android 程序员 移动开发

BAT同系列公司面试总结,哪些你所不知道的,学习android的好书

android 程序员 移动开发

深入剖析Redis客户端Jedis的特性和原理

vivo互联网技术

数据库 redis Jedis 集群

基线模型开源分享及深度讲解 | 2021 MAXP 直播第二讲:基于DGL的图机器学习任务

亚马逊云科技 (Amazon Web Services)

人工智能 图神经网络 创新大赛

App怎么做才能永不崩溃,一文详解

android 程序员 移动开发

关于数据导入,教你几招

Simon

MySQL

App黑白化实现扩展,一键护眼模式,给App,安卓事件分发机制面试

android 程序员 移动开发

(完整版)直播回顾:2021 MAXP 无服务器赛题讲解

亚马逊云科技 (Amazon Web Services)

人工智能 云计算 创新大赛

BAT资深面试官-带你破解Android高级面试,渣本逆袭大厂面经分享

android 程序员 移动开发

BAT面试有关散列(哈希)表的面试题详解,flutter图片压缩上传

android 程序员 移动开发

Android:年过35岁的程序员还有出路吗?面试了一个-46-岁程序员后

android 程序员 移动开发

JMH实践记录

Clarke

JMH性能基准测试

一个递归调用引发的 “血案”

神策技术社区

这个深秋,StarRocks喊你一起来撸码 | StarRocks Hacker Meetup 报名开启

StarRocks

数据库 Meetup StarRocks

Chameleon跨端框架——壹个理想主义团队的开源作品,旧版android模拟器

android 程序员 移动开发

Android:让你明明白白的使用RecyclerView—,retrofit优点

android 程序员 移动开发

AsyncTask相关知识,安卓工程师面试题及答案

android 程序员 移动开发

BroadcastReceiver源码分析,一线互联网大厂中高级Android面试真题收录

android 程序员 移动开发

Butterknife源码分析,android开发环境搭建实验报告

android 程序员 移动开发

Android:怎么看待大厂面试门槛越来越高,,让你明明白白的使用RecyclerView

android 程序员 移动开发

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