写点什么

前端每周清单第 14 期:Vue 现状与展望、编写现代 JavaScript 代码、Web 开发者安全自检列表

  • 2017-05-23
  • 本文字数:3917 字

    阅读完需:约 13 分钟

前端每周清单专注前端领域内容,分为新闻热点、开发教程、工程实践、深度阅读、开源项目、巅峰人生等栏目。关注【前端之巅】微信公众号(ID:frontshow),及时获取前端每周清单。

新闻热点

国内国外,前端最新动态

  • 《Google IO 2017 召开》:美国时间 5 月 17 日- 19 日,Google I/O 2017 大会于美国加利福尼亚州山景城的海岸线圆形剧场召开;会议提及了AI、Kotlin、Android 8.0、HOME、Assistant 等等很多值得关注的东西。会议上 Google 还宣布将 Kotlin 语言作为安卓开发的一级编程语言;Kotlin 由 JetBrains 公司开发,与 Java 完全互通,并具备诸多 Java 尚不支持的新特性。( https://events.google.com/io/ )
  • 《微软 Build 2017 召开》:2017 年5 月10 日,微软 Build 2017 在美国西雅图如期举办。本次大会涉及人工智能、云计算、物联网、Office 365 以及开发工具等多个方面 。微软公布了 Windows 下一个重要更新 ——Windows 10 Fall Creators Update 的更多细节,并提出了“ Windows love all Developers ”、“ Windows is Your Home for Development ”等口号,在开发工具、发布渠道、多设备同步等方面做出了努力,旨在吸引各个平台的开发者。( https://parg.co/bkH )
  • 《Vue 2017 现状与展望》:Vue.js 作者尤雨溪在首届 Vue.js 开发者大会上的演讲 PPT,对 Vue 的现状和未来进行了分析和展望。( https:// https://img.w3ctech.com/VueConf-Beijing.pdf)
  • 《新版本 Create React App 特性概述》:不到一年前,React 官方发布了 Create React App 这个零配置的快速创建 React 应用的脚手架工具;而本文则介绍了近几个月来 Create React App 中加入的新特性。新版的 Create React App 中切换到了 Webpack 2,并且优化了运行时错误提示,同时还默认启用了 Progressive Web Apps 支持,并且引入了 Jest 20、动态导入等等一系列的新特性。( https://parg.co/bkY )
  • 《Polymer 2.0 发布》:近日 Polymer 发布其 2.0 版本,新版本充分利用了原生 Web 平台的特性,提升了互操作性,并且提供了平滑的迁移方式。Polymer 2.0 中最大的特性之一就是支持基于 ES6 类的语法,使得开发者能够获得更加贴近于原生开发的体验。( https://parg.co/bkq )

开发教程

步步为营,掌握基础技能

  • 《基于 JavaScript 的异步依赖加载》:在 Web 应用开发中我们经常会将一些首屏不需要的脚本或者样式文件以异步方式加载;而本文则是介绍了多种异步加载网页中依赖资源的方式,作者还将常用的方法整合为了 fetchInject 这个开源库,方便使用者快速进行脚本地异步加载。( https://parg.co/bkG )
  • 《React Native 开发中的 80/20 定律》:在构建 React Native 应用时,我们常常发现某些 20% 的投入会带来 80% 的产出。本文则是作者在构建了自己首个 React Native 应用之后的感悟,作者发现引入静态类型、通用组件以及精益部署之后,整个想法的开发速度与项目质量得到了较大地提升。( https://parg.co/bko )
  • 《利用不可变数据编写安全清晰的代码》:不可变性是函数式编程语言的重要特性之一,它能够帮助我们编写更加安全与清晰可读的代码。本文作者则是以对于不可变数组、纯函数以及它们在实际并发情况下的操作入手介绍如何在编写代码中引入不可变性的思想。( https://parg.co/bkd )
  • 《从零开始构建 WhatsApp 应用》:本系列文章深入浅出地介绍了如何利用 GraphQL 与 React Native 构建类似于 WhatsApp 的应用 Chatty。前几部分主要介绍了如何搭建基础环境、设计 GraphQL Schemas、进行数据查询与交互等内容,而本文则着重于介绍如何为 Chatty 添加权限验证特性。( https://parg.co/bk0 )
  • 《基于 Electron 构建 Github Desktop Beta》:Electron 是著名的利用 HTML、CSS、JavaScript 等 Web 技术构建桌面应用的辅助工具;本文则是介绍了四个仅有原生应用开发背景的工程师如何利用 Electron 逐步构建 Github Desktop Beta 的经验。( https://parg.co/bkK )

工程实践

立足实践,提示实际水平

  • 《编写现代 JavaScript 代码》:JavaScript 被仅用来更新页面元素状态的日子一去不返,我们也需要编写更加现代的 JavaScript 代码。本文则是介绍了如何利用 Linter 来格式化代码、如何使用 ES2015+ 特性、如何使用函数式编程等建议来提升 JavaScript 的代码质量。( https://dev.to/scastiel/writing-modern-javascript-code )
  • 《Web 开发者安全自检列表》:Michael O’Brien 在本文中分享了一系列简单而又重要的 Web 开发者应该掌握的安全自检列表;本文涵盖了数据库、开发流程、权限验证、DoS、Web 流量、API、验证、云配置、基础设施等等多个方面,以提醒开发者在构建云端 Web 应用时注意避免某些显而易见的风险。( https://parg.co/b8w )
  • 《AMP 与 MIP 等移动页面加速框架的探索与实践》:随着移动互联网技术发展与 H5 生态的不断演化,在前端领域涌现出了一些通用的、开源的移动 H5 页面加速框架。其中以 Google 提出的 AMP(Accelerated Mobile Pages)开源框架与百度提出的 MIP(Mobile Instant Pages)开源框架为代表。本主题主要从技术的层面讨论: 移动 H5 页面速度体验方面遇到的挑战和问题,以及解决方法的探索过程; 从架构设计层面,解析通用移动页面加速框架的设计思路和实现原理; 从技术实现角度,剖析移动页面加速中的重难点问题与解决方法实践; 从实际应用上,提供提升移动页面加速切实可行的操作方法。( https://parg.co/bkU )
  • 《如何做好H5 性能优化?》:智能手机的普及、移动互联网的发展、微信异军突起,都为 H5 的发展提供了良好的环境。当前,H5 已被广泛应用于营销、广告、传播之中。而针对 H5 效率慢、体验差的硬伤,如何做好性能测试并优化其性能就显得尤为重要。 红豆 Live 是微博子公司有信旗下的一款语音直播产品,有各种 H5 页面。我们在做 H5 性能测试时进行了总结,本文将为大家详细介绍 H5 性能测试的关注点、测试工具及常见问题。( https://parg.co/bkl )
  • 《如何快速地为 React 站点设置 A/B 测试》:A/B 测试,或者称为分割测试,是用来随机地为用户展示网页以测试不同产品设计的反馈效果。A/B 测试对提升真实应用的用户接受度非常有帮助,而本文则是介绍了如何利用 react-ab-test 这个工具快速地针对 React 站点设置 A/B 测试收集用户反馈信息。( https://parg.co/bkE )

深度阅读

深度思考,升华开发智慧

  • 《重构 Airbnb 前端架构》:本文是近日 Airbnb 开发团队在思索重构代码库中 JavaScript 部分的经验总结,主要着眼于产品驱动开发以及技术沉淀、从传统的 Rails 架构中积攒的经验以及新的技术栈的某些特性等方面。本文首先介绍了从 Rails 迁移过程中的一些经验,譬如将原本完全的服务端渲染界面所需要的数据切分为了 API 与 Non-API 两大类,并且使用 Hypernova 来进行 React 服务端渲染。然后介绍了如何在应用前端通过引入懒加载与异步加载等方式提升前端性能与用户体验。( https://parg.co/bkA )
  • 《最终,JavaScript 成为了一流语言》:2003 年,保罗·格雷厄姆(Paul Graham)在文中提到,他的公司决定使用Lisp(一门编程语言),并且指出自己公司相比竞争对手的优势在于Lisp。如果Lisp 像法语,那么现如今的JavaScript 就像英语一般。尽管二者的语法不一致,但英语是世界上最广泛使用的语言,JavaScript 是最广泛应用的计算语言。然而,JavaScript 仍未得到与其他语言同等的尊重。尽管它的使用率在创业公司和大型公司中持续增长,但若非必要,人们不会认为它是一门有用的语言。大公司的高级工程师声称它不是一门“真正的”编程语言,许多人并不知道除了操作像素外它还能被用于何处。。( https://parg.co/bkb )
  • 《如何看待 snabbdom 的作者开发的前端框架 Turbine 抛弃了虚拟DOM?》:近日 snabbdom 的作者写了个 FRP 的前端框架,该框架不仅不用虚拟DOM (以及 snabbdom),还称当前的大多数 FRP 以及基于观察者模式的框架在虚拟 DOM 的使用上存在问题;此情况引引发了很多人参与讨论,阅读这些讨论还是有助于提升对于虚拟 DOM 以及单页面应用数据流的理解。( https://parg.co/bkc )
  • 《案例分析:为何我们不使用框架来开发应用?》:Nick Gauthier 在本文中阐述了他们在,构建分布式团队使用的视频会议工具 MeetSpace 时候,的技术选型上的考虑;在目前大家习惯于基于某个框架去构建 Web 应用的背景下是个有趣的阅读文章。( https://parg.co/b8D )
  • 《理解 WebAssembly 的文件格式》:为了保证 WebAssembly 能够被人们阅读与理解,需要提供对于 wasm 二进制格式的文本表示。该特性着眼于能够在文本编辑器、浏览器开发者工具等开发工具中浏览 WebAssembly 文件,而本文则介绍了这种文件格式的规范与工作原理,以及底层的字节码与上层的 JavaScript 对象之间的关联关系。( https://parg.co/bk6 )

开源项目

乐于分享,共推前端发展


感谢韩婷对本文的审校。

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

2017-05-23 19:004483
用户头像

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

关注

评论

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

紫光展锐T820与飞桨完成I级兼容性测试 助推端侧AI融合创新

飞桨PaddlePaddle

人工智能 机器学习 程序员 硬件

从信息量角度看人类智能与机器智能

Baihai IDP

人工智能 程序员 AI LLM 白海科技

如何在编写代码时添加有效的注释?

小魏写代码

容器网络Cilium:DualStack双栈特性分析

华为云开发者联盟

云原生 华为云 华为云开发者联盟

直播预告 | 大模型时代 “应用变了”:看大模型如何跑进零售电商应用

京东科技开发者

零售 大模型

TiCDC核心原理解析

TiDB 社区干货传送门

性能调优 管理与运维 应用适配 TiCDC 源码解读

通过 Sysbench 在低配置低数据基础上分别压测 MySQL 和 TiDB,实际结果 TiDB 出乎我的想象。

TiDB 社区干货传送门

版本测评 性能测评 数据库架构设计 6.x 实践

软件测试/人工智能|Linux常见面试问题讲解

霍格沃兹测试开发学社

解放生产力!苏哒智能加入飞桨技术伙伴计划,用大模型革新企业办公工具

飞桨PaddlePaddle

人工智能 深度学习 办公 伙伴赋能

tidb这种把数据库放入docker是否是个好主意。

TiDB 社区干货传送门

数据库架构设计

诚邀报名 | 内核Hacker与Mogul邀您共论操作系统技术创新与发展

开放原子开源基金会

Java 开源 程序员 开发者 算法

数智化重新定义员工体验

用友BIP

数智人力

软件测试/人工智能|一文教你配置selenium环境

霍格沃兹测试开发学社

软件测试|测试专家(前阿里P8)聊测试职业发展常见瓶颈

霍格沃兹测试开发学社

掌握接口 RPC 测试:构建高效远程调用接口

Apifox

程序员 微服务 后端 RPC 接口测试

10倍提升-TiCDC性能调优实践

TiDB 社区干货传送门

迁移 性能调优 管理与运维 故障排查/诊断 备份 & 恢复

Nodejs项目yarn和node启动的区别

JavaScript node.js typescript YARN prisma

新一代 “垫图” 神器,IP-Adapter 的完整应用解读

京东科技开发者

软件测试/人工智能|selenium元素定位方式大全

霍格沃兹测试开发学社

观测云产品更新 | 智能监控、数据访问、指标分析等优化

观测云

智能监控 指标 数据访问

如何做到人均告警减少90%?B站新一代告警平台的设计与实践

TakinTalks稳定性社区

Null-Aware 问题对 TiDB 优化器的影响(OOM)

TiDB 社区干货传送门

性能调优 管理与运维 故障排查/诊断 TiDB 源码解读 6.x 实践

TiDB 优化器逻辑优化之 OR 表达式条件消除

TiDB 社区干货传送门

性能调优 TiDB 源码解读

软件定义世界 开源共筑未来 首届“开放原子开源大赛”火热进行中

开放原子开源基金会

Java 开源 程序员 开发者 算法

欧睿 × 和鲸:联合打造 AI 中台赋能企业数字化转型,大幅提升模型产品研发效率

ModelWhale

人工智能 数据分析 数字化转型 企业 数智化

每日一题:LeetCode-113. 路径总和 II

Geek_4z9ami

面试 算法 LeetCode 二叉树 DFS

设备巡检二维码:手机扫一扫,即可解决巡检、报修等问题

草料二维码

二维码 设备巡检 设备巡检管理系统 草料二维码

华为云CodeArts Check常见问答汇总

华为云

【12 月 23 日 上海线下活动预告】 数据库运维有话聊,谈谈你了解的灾备实践

TiDB 社区干货传送门

前端每周清单第14期:Vue现状与展望、编写现代 JavaScript 代码、Web 开发者安全自检列表_语言 & 开发_王下邀月熊_InfoQ精选文章