HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

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

关注

评论

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

京东技术专家的修炼之道——成为一名“六边形战士”

京东科技开发者

剖析 Redis List 消息队列的三种消费线程模型

不在线第一只蜗牛

数据库 redis

公开课 | 金九银十,测试开发面试秘籍大公开!

测试人

软件测试

JMeter 介绍与安装

霍格沃兹测试开发学社

简化登录流程,助力应用建立用户体系

HarmonyOS SDK

HarmonyOS NEXT

Rust 助力无服务器构筑云计算新引擎

亚马逊云科技 (Amazon Web Services)

云计算 Serverless rust

Introducing the DR40X9: A High-Performance Wireless Communication Device

wallyslilly

IPQ4019 ipq4029

Cisco Modeling Labs (CML) 2.7.2 发布下载,新增功能概览

sysin

Cisco CML

电脑越用越慢,有什么好的解决方案?

上海锐起科技

为什么Java已经不推荐使用Stack了?

EquatorCoco

Java Python

Spring webflux注解:提供全面的JPA注解应用案例(必须收藏)

肖哥弹架构

spring spring webflux

《黑神话:悟空》——高科技点亮西游神话璀璨之路

GPU算力

马斯克 节点搭建 AIPC 黑神话悟空 PC集群

AutoBots在ToB订单履约场景的落地应用

京东科技开发者

国际网络互联,帮助跨国企业全球协同办公

Ogcloud

SD-WAN 企业组网 SD-WAN组网 跨国组网 跨国网络

Invicti v24.9.0 发布下载,新增功能概览

sysin

invicti

亚信安慧AntDB-M 只读事务提交优化

亚信AntDB数据库

AntDB

PoS 和 PoW 矿机系统区块链公链开发成本分析

区块链软件开发推广运营

dapp开发 链游开发 NFT开发 公链开发 代币开发

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!

豆包MarsCode

人工智能 编程 AI 开发

软件测试学习笔记丨Docker 安装、管理、搭建服务

测试人

软件测试

《黑神话:悟空》下的科技众生相

脑极体

AI

Parallels Desktop 20 发布下载,macOS Sequoia 和 Windows 11 24H2 支持准备就绪

sysin

macos Parallels Desktop

nodejs中路径相关api

秃头小帅oi

mac电脑植物大战僵尸版下载

你的猪会飞吗

mac游戏 Mac游戏下载 mac单机游戏

Cisco Catalyst 9100 无线接入点 IOS XE 17.15.1 发布下载,新增功能概览

sysin

Cisco ap 思科 IOS XE 9100

Java 中堆内存和栈内存上的数据分布和特点

emanjusaka

Java stack heap

曝字节 AI 硬件团队首款自研产品为智能耳机,与豆包联动;OpenAI 神秘新模型或将在两周内发布丨 RTE 开发者日报

声网

Meme“淘金”热潮下:Meme发射平台的安全风险分析

区块链软件开发推广运营

交易所开发 dapp开发 区块链开发 链游开发 NFT开发

文献解读-The trans-omics landscape of COVID-19

INSVAST

基因数据分析 生信服务

什么是APT攻击,如何处理

德迅云安全杨德俊

KaiwuDB X 临沂大数据局 | 重点车辆一体化监管,助力你我的安全出行 🤝

KaiwuDB

KaiwuDB 分布式多模数据库 重车辆监管平台

KaiwuDB 受邀亮相 2024 数博会

KaiwuDB

数博会 KaiwuDB

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