红帽白皮书新鲜出炉!点击获取,让你的云战略更胜一筹! 了解详情
写点什么

前端每周清单第 44 期: 2017 JS 调查报告、REST 接口实时化、ESM 的过去与未来

  • 2017-12-19
  • 本文字数:3587 字

    阅读完需:约 12 分钟

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

新闻热点

国内国外,前端最新动态

  • FCC 废除网络中立法案: 所谓的网络中立性,要求网络服务供应商不能优待或者故意限制来自某些网站的流量。前总统奥巴马在 2015 年签署命令,规定以 1934 年通过的《联邦通讯法》“ 第二类 ” 业务来规管网络服务供应商,让联邦通讯委员会执法,禁止网络服务供应商优待任何公司。美国联邦通讯委员会(Federal Communications Commission, FCC )早前通过废除网络中立性的规定,不再明文禁止网络服务供应商优待来自特定网站的流量。
  • Expo SDK v24.0 发布: 本周 Expo SDK 24.0 正式发布,其基于 React Native 0.51 版本;同时 Expo 的官方网站也迎来了极大的更新,搜索、项目创建、发现等界面都焕然一新。该版本中添加了离线图片支持功能,避免了每次应用初始化时都需要进行网络图片加载;同时添加了 iOS 权限对话框的配置,优化了 ImageManipulator, ImagePicker 等接口的功能。
  • React Studio 1.3 发布: React Studio 是图形化可交互地 React 应用开发工作台,本文即是介绍最新的 1.3 版本中包含的系列特性。首先是整体性能与交互体验的提升,并且增加了对多语言的支持,同时优化了 Mock 数据的创建方式;此外,该版本还引入了新的卡片、选择器等等一系列新的组件。

开发教程

步步为营,掌握基础技能

  • JavaScript 基础代码片: 本文整理了许多简明精巧的 JavaScript 开发中用到的代码片,既适合于初学者学习语法,也能帮助开发者温故知新。本文包含了数组的常见处理、浏览器元素与位置、时间与日期、函数与函数式编程、数学公式与计算、Node.js、Object、字符串以及很多的其他工具类;更多 JS 学习资料参考现代 JavaScript 开发:语法基础与工程实践
  • 清除浏览器中的资源缓存: 浏览器缓存是最常见的,也是最显著的提升前端性能的手段之一;不过在如果我们错误地将某些资源设置为了长期缓存,那么就要寻求方法强制刷新这些资源。本文即是介绍讨论如何强制刷新浏览器的某些资源缓存,作者依次讨论了 location.reload, vary + fetch, fetch + cache:reload, fetch + POST, iframe 中进行 POST, Clear-Site-Data 等方法;更多浏览器的存储操作参考现代 Web 开发基础
  • 基于 Vue.js 的 RSA 加密通信应用: 加密是现代互联网的基石之一,本文即是希望通过构建简单的加密聊天应用,来引导读者了解加解密算法的基本概念。本文首先介绍了 2048 位的 RSA 加密算法的概念与实现方式,然后使用 Vue.js 来编写前端界面,并且使用 Node.js 以及 Socket.io 来编写服务端来协调各个客户端的消息。更多 Vue.js 相关资料参考 Vue.js Reference

工程实践

立足实践,提示实际水平

  • ESM 的目前实现与未来规划: ES 模块化标准最早是 2015 年在 ECMAScript 6 中发布,现在我们已经可以在三个主流浏览器中使用 ES Modules。而 Node.js 目前是采用了 Common.js 模块化方案,我们可以在应用中通过 require 方法来引入其他模块。两种模块机制的巨大差异使得同时兼容 Common.js 与 ESModule 并非易事;而自 Node.js 8.9.0 以来,开发者可以实验性地使用 ESModules,本文即是对于社区的反馈以及 ESM 的未来规划进行介绍。更多相关资料参考 JS Reference
  • 基于 Apollo 的组件数据交互: 本文是 Werkspot 的工程师分享的他们协同使用 Apollo Client 与 React Native 来开发应用的实践经验,着重讨论了 GraphQL 带来的易用性与灵活性。作者首先讨论了查询组件的构成,然后分析了如何结合查询组件与 Mutations,最后讨论了如何测试查询组件;更多 GraphQL 相关资料参考这里
  • 将 REST APIs 转化为实时 APIs : 实时交互式现代技术栈中的重要组成,从而满足用户与企业的高速频繁地数据需求;本文即是介绍如何利用开源的 Pushpin 来将 REST API 转化为实时 API。本文首先介绍了请求 - 响应架构与事件驱动架构地区别,然后对比了现有的事件接口的解决方案,最后介绍了 Pushpin 的特性与部署方式。更多服务端架构讨论参考服务端应用程序开发基础
  • Electron 开发跨平台构建流程设计: 这是 Electron 系列文章的第二篇,本文将和大家分享我是怎么去构建自动化的 Electron 开发构建工程的,说白了,就是怎么把敲的代码变成一个用户可以下载安装的包。当然随着之后应用复杂度的提升和技术再选型,工程体系可能随时会重构或演进,但至少可以给大家一些参考,欢迎留言交流。工程自动化,应该是所有开发者的一种基础追求,当你搭建建好工程体系,以后你将专注于产品功能的开发,而不会花大量不必要的时间去手动构建。更多 Electron 相关资料参考这里

深度阅读

深度思考,升华开发智慧

  • The State of JavaScript 2017 : 经过漫长的调研与数据整理之后,2017 年的 JavaScript 使用报告正式发布;本报告汇聚了来自数万名开发者对于语法、前端框架、状态管理、服务端框架、测试、CSS 、构建工具、移动端框架等等大前端相关技术栈的看法与使用体验。本报告仍然采取了乐于使用、正在使用、准备使用、不感兴趣、没听过等几个层次来描述开发者对于某个框架或者工具的看法;此外,本报告还提供了所谓 Connections 图解,即衡量使用者不同技术之间的关联度,譬如有多少 React 的使用者仍然使用了 Redux 等等。更多 JS 教程参考现代 JavaScript 开发:语法基础与工程实践
  • NectarJS: 将 JavaScript 编译为平台相关的二进制代码: 本文作者 Adrien Thierry 近年来致力于,打造将 JavaScript 编译为平台相关的二进制代码的途径,其在本文中介绍了开源的 NectarJS 的设计理念与运行机制。作者将 NectarJS 定位为编译即服务,即能够在优化 JavaScript 本身性能的同时,支持将其编译为 WebAssembly、IoT、Windows、OSX、Linux 等等各个平台或者目标的格式。更多 JS 教程参考现代 JavaScript 开发:语法基础与工程实践
  • REST 就是新时代的 SOAP : 本文作者分享了其对于 REST 的看法,不可避免地带有主观色彩,可以辩证地去看待。作者首先讨论了 RESTful API 的不足,其抽象简练的原则往往不能满足真实业务场景中的问题;然后作者又讨论了 REST 动词、错误处理乃至于基础概念上的不足,作者并未在本文中讨论他理想的解决方案,只是抛出了很多问题留待读者去思考。更多服务端架构讨论参考服务端应用程序开发基础
  • 利用机器学习突破图片验证码: 图片验证码是现代网页中常见的安全防火墙之一,能够用于人机识别,避免爬虫等恶意抓取行为;本文则是以著名的 WordPress 图片验证码插件为例,介绍如何使用机器学习来突破验证码的限制。本文作者主要使用了 Python 3, OpenCV, Keras, TensorFlow 这些常见的机器学习库与工具,首先介绍了如何使用 WordPress 的插件创造训练数据集,然后介绍了深度卷积神经网络的基本原理以及如何进行神经网络的训练,最后介绍了如何使用训练好的模型进行图片识别。更多 Web 安全相关资料参考这里

开源项目

乐于分享,共推前端发展

  • exercism.io : Exercism 提供了超过三十种编程语言的数百个实践问题,以帮助开发者在实践中学习并且掌握某个编程语言。Exercism 还提供了便捷的客户端工具,帮助开发者快速搭建实验环境,并且允许开发者分享自己的见解与解决方案。
  • Microbundle : Microbundle 是基于 Rollup 构建的零配置小模块打包工具,开发者只需要安装,并且在 package.json 内配置基础命令即可使用。Microbundle 会自动检测 index.js 或者 cli.js 这样的文件,作为入口文件,自动编译为 CommonJS、UMD 、 ESM 等多种格式。
  • WAlt : WAlt 可以作为 WebAssembly 文本格式的中介,其尝试使开发者利用 JavaScript 的语法来直接编写 .walt 代码,然后直接编译为 WebAssembly。WALt 的优势在于,其并不需要 C/C++ 或者 Rust 环境,而只需要了解 JavaScript;并且编译的过程也不需要 LLVM 等二进制工具,还能够集成于 Webpack 等工具。

巅峰人生

  • 10 年 IT 老兵:思路上的转变,远比单纯提升技术更有价值: 本文节选自赵成教授在极客时间 App 开设的“赵成的运维体系管理课”,是其对自己十年技术生涯的回顾与总结。赵成教授来自美丽联合集团,集团旗下两大主力产品是蘑菇街和美丽说,目前负责管理集团的技术服务团队。作者在本文中依次分享了为什么我选择了踏上运维之路?、运维思路上的转变,远比单纯提升运维技术更有价值、专栏的构成等内容。

前端之巅

「前端之巅」是 InfoQ 旗下关注前端技术的垂直社群,加入前端之巅学习群请关注「前端之巅」公众号后回复 “ 加群 ”。投稿请发邮件到 editors@cn.infoq.com,注明 “ 前端之巅投稿 ”。


感谢徐川对本文的审校。

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

公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2017-12-19 18:002172
用户头像

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

关注

评论

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

自己如何做一个网站

源字节1号

网站开发

优酷老片修复算法,超高清重温童年回忆

阿里巴巴文娱技术

算法 计算机视觉 视频 多媒体

【直播回顾】参与ArkUI,共建OpenHarmony繁荣生态

OpenHarmony开发者

Open Harmony

大数据培训如何使用DPM规划用户画像

@零度

大数据 dpm

做数据时代的加油站,ShardingSphere 为易车数据库架构演进提供新动力

SphereEx

Apache 数据库 开源 ShardingSphere SphereEx

Android技术分享| 利用Kotlin协程,多任务并行,测试RTM SDK性能

anyRTC开发者

android kotlin IM 移动开发 实时消息

听说你写sql很溜,一条sql查询语句是如何执行的?

简单猿

sql 流程 查询 MySQL 数据库

C/C++ 单元自动化测试解决方案实践

vivo互联网技术

c c++ 自动化测试

招聘 | 上班轰趴,下班狼人杀,天天招人,怕是要发!

Alluxio

面试 程序员人生 招聘 互联网热点 Alluxio

为什么你的网站不被收录了呢?

源字节1号

Python 中堪称神仙的6个内置函数

开发微hkkf5566

java培训 | 零基础学习java开发的学习方法有哪些

@零度

Java 学习方法

深度操作系统20.6正式发布!

深度操作系统

开源 深度操作系统 deepin20.6 新版本 深度

6 月直播 7 场干货全剧透!今天:飞腾CPU调优原理及方法 | 第 19 期

OpenAnolis小助手

cpu 直播 sig 龙蜥大讲堂 飞腾

为企业业务流程提速的BPM

力软低代码开发平台

Serverless Job——传统任务新变革

阿里巴巴云原生

阿里云 Serverless 云原生 Job

隔空手势交互,如何在现实世界上演“得心应手”?

阿里云视频云

计算机视觉 音视频 视频云

《数字经济全景白皮书》证券期货用户数字化篇 重磅发布

易观分析

证券 期货

Docker下RabbitMQ延时队列实战两部曲之一:极速体验

程序员欣宸

RabbitMQ 5月月更 RabbtiMQ延时队列

RxJS系列01:响应式编程与异步

代码与野兽

6月月更

相约龙蜥,开源一“夏”!2022编程之夏ASoC开始报名了

OpenAnolis小助手

阿里巴巴 开源项目 龙蜥社区 高校学生 技术项目

ironSource LevelPlay 聚合平台,现已适配应用开发框架工具包 Flutter

Geek_2d6073

【LeetCode】火柴拼正方形Java题解

Albert

LeetCode 6月月更

Jetpack Composes 入门

坚果

6月月更

运维领域告警智能定级原理探索(含详细实验报告)

云智慧AIOps社区

运维 安全 监控 告警

泰山众筹代币燃烧模式dapp系统开发逻辑分析

开发微hkkf5566

web前端培训带你学习 Midwayjs 实战

@零度

node.js 前端开发

蛟分承影,雁落忘归——袋鼠云一站式全自动化运维管家ChengYing(承影)正式开源

袋鼠云数栈

git代码管理可视化工具 :Sourcetree(mac环境)

简单猿

macos git 工具 代码管理

面试突击53:常见的 HTTP 状态码有哪些?

王磊

Java 面试

墨天轮访谈 | SelectDB 衣国垒:Apache Doris(incubating)1.0版本特性解析与未来规划

墨天轮

数据库 Apaache Doris 国产数据库

前端每周清单第 44 期: 2017 JS 调查报告、REST 接口实时化、ESM 的过去与未来_语言 & 开发_王下邀月熊_InfoQ精选文章