【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

前端每周清单第 28 期:JS 运行原理与优化,高性能 CSS 引擎,Coursera GraphQL 实践

  • 2017-08-28
  • 本文字数:3547 字

    阅读完需:约 12 分钟

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

新闻热点

国内国外,前端最新动态

  • Ayo.js: Node.js 内部的又一次分裂:Node.js 正逐步成为主流的服务端语言之一,其驱动着 Microsoft 等许多公司的业务流程;与此同时,Node.js 社区也逐步在扩大。 然而在上周一 TSC(技术指导委员会)上有关是否保留 Rod Vagg 职位的投票中,成员对于所谓的行为准则遵循度发生了较大分歧,并且导致了数位 TSC 成员的退出、以及新的命名为 Ayo.js 的 Node.js Fork 项目创建。这件事也反映了开源社区内部的自我调节能力,希望能有妥善的解决。
  • Polymer 3.0 预览:在 2017 Polymer Summit 上,开发团队发布了有史以来最大的变革路线之一,其核心特性在于从 HTML Imports 切换到了 ES6 Modules,以及从 Bower 迁移到了 npm。这种变革保证了 Polymer 能够与大部分现代 JavaScript 开发者习惯的工作流相适应,除以之外,本文还详细比较了 HTML Imports 与 ES6 Modules 各自的优劣,以及未来的详细版本更新计划。

开发教程

步步为营,掌握基础技能

  • React Native 中气泡效果实践:本文记述了作者在学习使用 Animated 与 PanResponder,构建页面切换时动画效果的实践心得;本文首先介绍了 Animated 的基础用法,然后讨论了如何用 Animated.timing 添加变换,最后介绍了如何实现气泡效果并且集成 PanResponder 实现页面滑动切换的效果。更多 React Native 相关资料参考 这里
  • Angular 中组件间的三种通信方式:本文是基于 Angular 2 编写的讨论 Angular 中组件间通信方式的文章,其同样适合于现在主流的 Angular 4 版本。本文依次介绍了在组件之间传递组件句柄以读取数据、同级组件利用父组件作为中转完成数据传递、利用自动注入的单例 Service 来传递数据等。更多 Angular 相关资料参考这里
  • Node.js 应用的测试教程:JavaScript 是典型的弱类型解释型语言,而添加合适的测试用例则是保证代码的鲁棒性与稳定性的有效方式。本文首先介绍了测试的概念以及基础的单元测试用例的逻辑,然后介绍了如何使用 Mocha 与 Chai 编写并运行测试用例;更多 Node.js 相关资料参考这里
  • Angular 中 CSS 样式使用:为应用添加合适的样式是提升整体用户体验与感染力的重要手段,而 CSS 则是通用的 Web 样式定义标准。本文主要讨论如何在 Angular 应用中使用 CSS 来为组件添加样式,首先介绍了全局 CSS 与组件隔离的 CSS 这两种不同的定义范式,然后介绍了三种组件封装的方式;更多 Angular 相关资料参考这里
  • 使用 Flow 为 React 应用添加类型检测:与 Flow 相比,TypeScript 是更为流行的 JavaScript 静态类型检测工具;不过近年来 Flow 社区也一直在不断增长,特别是其在 React 方面的天生优势为其增添了不少优势。本文首先对比了 Flow 与 TypeScript 各自的优劣,然后细致介绍了如何使用 Flow 为 React 与 Redux 等添加类型检测;更多 Flow 相关资料参考这里

工程实践

立足实践,提示实际水平

  • 为什么在 React Render 函数中使用箭头函数或者 bind 绑定是有问题的?:我们常常会在 Render 函数中使用 bind 或者 Arrow Function 来绑定回调函数的 this 指针,本文则以实际的案例分析了这种方式存在怎样的问题。更多 React 相关资料参考这里
  • Coursera 应用 GraphQL 实践:在过去的数年中,Coursera 通过编写动态工具以逐步将它们的所有 REST API 迁移到了 GraphQL 接口;这种方式即允许服务端开发者在以他们熟悉的方式编写 RESTful 接口,也允许客户端开发者通过 GraphQL 灵活地访问数据。本文则是 Coursera 开发者分享的他们应用 GraphQL 的实践经验,包括在这个过程中感受到的优势与碰到的坑。更多 GraphQL 相关资料参考这里
  • Font-size: 比想象中还要复杂点的属性: Font-size 算是最常用而又复杂的属性之一,本文则是从构建样式系统的角度出发,讨论 Font-size 属性处理的复杂性。本文首先讨论了 Font-size 常用的单位,尺寸、百分比、计算值、绝对关键字、相对关键字等;然后介绍了样式系统的工作原理以及对于不同的属性值的工作原理与默认设置。更多 CSS/SCSS 相关资料参考这里
  • 深入浅出 Angular.js 动画:合理的变换动画是构建现代 Web 应用的重要元素,能够方便用户更好地理解产品的设计理念,提升用户体验。本文则是着眼于讨论基于 Angular.js 构建现代 Web 应用中的动画的不同方式,从 CSS 与 JavaScript 动画基础开始讨论,到复杂的 Angular 应用动画组成。本文依次介绍了状态转化基础、如何添加 UI 变换动画、使用 GreenSock 编写命令式动画、使用 Angular Animations 添加声明式动画等内容;更多 Angular 相关资料参考这里

深度阅读

深度思考,升华开发智慧

  • 使用 JavaScript 扩展低延迟内存中键值存储:RAMCloud 是典型的整合了 DRAM 与 RDMA 的超低延迟键值存储,本文则是讨论了使用 SQL、C++/Native Code 以及 JavaScript 这三种不同的方式实现服务端逻辑计算的性能与可用性对比。原论文是使用了 asm.js 来加速 JavaScript 运算,本文作者还扩展讨论了 WebAssembly 在高性能计算方面的应用;更多 JavaScript 相关参考这里
  • 十个可编译为 JavaScript 的语言对比:随着现代 Web 应用复杂度的增加,其相较于简单的网站有了更多的特殊需求;然而浏览器本身只是提供了固定的统一的功能接口,并且目前浏览器仅支持 JavaScript 这一门脚本语言。在这种背景下,出现了很多的 JavaScript 的方言或者超集,这些能够编译为 JavaScript 的语义以其各自的语言特性吸引了很多的关注;本文则对比讨论了 Dart、TypeScript、Elm、PureScript、CoffeeScript、ClojureScript、Scala.js、Reason、Haxe、Nim 等常见的可编译为 JavaScript 的语言。更多 JavaScript 相关参考这里
  • 深入解析高性能 CSS 引擎:Quantum CSS(Stylo):Qutantum 项目旨在利用 Rust 重写 Firefox 内核来提升其运行性能,该项目将会替换现存的 Jet 引擎,主要由 Flow、CSS、Render、DOM、Compositor 这几个部分组成。本文则是对于 Quantum CSS(又名 Stylo)进行深度解析,其能有效利用现代计算机上搭配的硬件设备,利用所有的计算单元来并行化所有的操作。本文依次介绍了 CSS 引擎的工作原理、Stylo 的优化之道等内容;更多浏览器相关资料参考这里
  • JavaScript 工作原理与优化建议:本系列文章着眼于深入讨论 JavaScript 及其内部工作原理,从而帮助开发者编写出更加稳定高性能的 JavaScript 代码。首篇文章会对于 JavaScript 引擎、运行时与调用栈进行简要的介绍,第二篇会专注于 Google V8 引擎的内部原理介绍,与此同时文中还会给出数个 JavaScript 代码优化的建议;更多 JavaScript 相关参考这里

开源项目

乐于分享,共推前端发展

  • Oni :Oni 是基于 Neovim、React 与 Electro 的 IDE,其受到了 VSCode、Atom 以及 LightTable 的启发。Oni 提供了语法提示、自动补全、错误提示、模糊搜索、状态栏等功能,希望为开发者提供跨平台、丰富插件、优良界面、高性能、易用易上手的编辑器。
  • generate-vue-file-components : generate-vue-file-components 是基于 Visual Studio Code 的自动生成 Vue.js 单文件组件的插件,它支持多种灵活地创建方式,允许指定组件模板或者默认的文件路径。
  • Rendertron : Rendertron 是可使用 Docker 进行容器化打包的,基于 Headless Chrome 的渲染解决方案;Rendertron 可用于渲染动态网页,也可以用于增强 PWA 对于不同的 Bot 的响应内容。Rendertron 能够以独立的 HTTP 服务器的方式运行,也可以以中间件形式嵌入到现有的 Web 服务端应用中。
  • Rocket.Chat :Rocket.Chat 是基于 Meteor 开发的,类 Slack 功能丰富的开源 Web 聊天通信平台。Rocket.Chat 为我们提供了服务端、桌面应用、移动应用、Web 应用等涵盖全流程的模块,同时支持 Docker、Ansible、Heroku 等多种不同的部署方式。

巅峰人生

  • 在 CTO 眼里,什么样的程序员是更值得信赖的?:本文是轻松筹 CTO,EGO 会员李汐在大咖说上的分享,主要从公司的层面来聊聊程序员的发展之路。本文依次讨论了如何平衡个人成长与公司效率、90 后程序员的特点以及公司在技术选型上的考量、如何进行有效地个人转型以及优秀程序的特质、如何和产品经理等小伙伴高效合作打造产品等内容。

前端之巅

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


感谢徐川对本文的审校。

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

2017-08-28 19:001801
用户头像

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

关注

评论

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

在线办公时代,企业如何选择一款合适的文档管理系统

小炮

华为云云原生2.0全景图再升级,一切皆服务共创新价值

Geek_2d6073

经期管理APP的开发解决方案

开源直播系统源码

软件开发

集成测试时 MockMvc 无法注入

程序员小航

Java 后端 单元测试

我为 Netty 贡献源码 | 且看 Netty 如何应对 TCP 连接的正常关闭,异常关闭,半关闭场景

bin的技术小屋

Java 网络编程 Netty TCP/IP 6月月更

OpenHarmony开源开发者成长计划 | 知识赋能第六期预告—从零上手OpenHarmony智能家居项目

OpenHarmony开发者

OpenHarmony

通过DAO的现状,看Web3最具影响力的基础设施M-DAO

西柚子

【堡垒机】常见的堡垒机部署模式有哪些?

行云管家

等保 堡垒机 等保2.0

阻塞与非阻塞客户端

Damon

微服务 6月月更

大数据相关名称解释看这里!简单通俗理解大数据!

行云管家

云计算 大数据 数据安全

对抗软件复杂度的战争

阿里技术

软件架构 复杂度

架构实战营6期,毕业总结

本人法海

「架构实战营」

Java—线程池

武师叔

6月月更

企业级Web应用系统权限设计

BigBang!

权限 权限架构 权限设计

ABAP 程序间传递数据

桥下本有油菜花

敏捷需求管理篇|如何从0-1写好一个用户故事

云智慧AIOps社区

需求管理 编程效率 用户故事 敏捷管理 需求迭代

【大厂面试题精选】UDP 和 TCP 核心知识总结

C++后台开发

面试题 udp TCP/IP 校招 大厂面经

虎符交易所Hoo推出挂单活动 未成交订单最高可得 200%APY

区块链前沿News

Hoo 虎符交易所

ebook下载 | 灵雀云发布《 企业高管IT战略指南——为何选择容器与Kubernetes》

York

Kubernetes 容器 云原生 系统架构 技术选型

测试基础之:面试的信心来源于过硬的基础

甜甜的白桃

软件测试 核心竞争力 测试开发 功能测试 6月月更

研发效能管理如何建立闭环?

思码逸研发效能

研发效能

易观分析《机器学习平台市场研究,2022》研究报告正式启动

易观分析

机器学习 AI软件

如何使用物联网低代码平台进行事件管理?

AIRIOT

物联网 低代码开发

焱融科技加入多家行业协会与产业联盟,加速产业互联生态跃迁

焱融科技

模块九:毕业设计

本人法海

「架构实战营」

感谢有你!Apache DolphinScheduler 项目 GitHub star 突破 8k

Apache DolphinScheduler

Apache 大数据 开源 DolphinScheduler workflow

中国信通院、清华大学、腾讯安全,云原生安全产学研用强强联合!

腾讯安全云鼎实验室

云原生 云原生安全

飞腾与百度发布云智一体机,金融领域AI场景成功落地“江苏银行”

百度开发者中心

30倍加速,3毫秒极速识别,人、车、OCR等9大识别任务一网打尽

百度开发者中心

化工产业业态数字升级案例,看摩贝如何快速打通全场景互融互通?

数商云

数字化转型 企业数字化

JDBC连接MySQL数据库,访问数据库信息完成登录功能——保姆级详细教程(附所有java和jsp源代码)

写代码两年半

数据库 JDBC Java EE 6月月更

前端每周清单第 28 期:JS 运行原理与优化,高性能 CSS 引擎,Coursera GraphQL 实践_语言 & 开发_王下邀月熊_InfoQ精选文章