https://niwoxuexi.com/blog/user/148
概述你肯定知道,动画在创建引人注目的 Web 应用程序中扮演着重要的角色。随着用户越来越多地将注意力转移到用户体验上,商户开始意识到完美、愉快的用户体验的重要性,结果 Web 应用程序变得越来越重,并具有更动态交互的 UI。这一切都需要更复杂的动画,以便用户在整个过程中更平稳地进行状态转换。今天,这甚至不被认为是什么特别的事情。用户正变得越来越挑剔,默认情况下,他们期望的是具有高响应性和交互性的用 ...
正如在上一篇关于渲染引擎的博客文章中提到的,我们认为优秀的 JavaScript 开发人员和杰出的 JavaScript 开发人员之间的区别在于,后者不仅理解语言的具体细节,而且理解其内部结构和周遭环境。讲一点历史49年前,一种叫做 ARPAnet 的网诞生了。它是一个早期的分组交换网络,也是第一个实现TCP/IP套件的网络。20年后,蒂姆·伯纳斯-李提出了一种“网状结构”的建议,这种结构后来被称 ...
当你构建 Web 应用程序时,你不只是编写单独运行的 JavaScript 代码,你编写的 JavaScript 正在与环境进行交互。了解这种环境,它的工作原理以及它的组,这些有助于你够构建更好的应用程序,并为应用程序发布后可能出现的潜在问题做好充分准备。浏览器的主要组件包括:用户界面 (User interface):包括地址栏、后退/前进按钮、书签目录等,也就是你所看到的除了用来显示你所请求页 ...
Web 应用程序在客户端变得越来越重,原因很多,例如需要更丰富的 UI 来容纳更复杂的应用程序提供的内容,实时计算等等。复杂性的增加使得在 Web 应用程序生命周期的每个给定时刻都很难知道 UI 的确切状态。而当你在搭建某些框架或者库的时候,甚至会更加困难,例如,前者需要根据 DOM 来作出反应并执行特定的动作。概述Mutation Observer API 用来监视 DOM 变动。DOM 的任何 ...
推送通知在移动端非常常见。在 Web 端,尽管开发人员对其功能的需求很高,但出于某些原因,推送通知被引入 Web 的时间比较晚。简介Web 推送通知允许用户在 Web 应用程序需要更新时选择是否接收更新消息,目的是在重新吸引用户群注意的更新信息通常是对用户来说有趣、重要、实时的内容。推送通知的基础是我们上一篇讲的 Service Workers。在这种情况下,使用 Service Worker 的 ...
你可能已经知道,渐进式Web应用程序只会越来越受欢迎,因为它们的目标是让Web应用程序用户体验更流畅,创建类似于原生应用程序的体验,而不是浏览器的外观和感觉。构建渐进式Web应用程序的主要要求之一是使其在网络和加载方面非常可靠——它应该在不确定或不存在的网络条件下可用。在这篇文章中,将深入探讨Service Workers:它们是如何工作,你应该关心什么。最后,还列出了 Service Worke ...
这次我们会逐步讲解Web Workers,先说个简单的概念,接着讨论不同类型的Web Workers,他们的组成部分是如何一起工作的,以及不同场景下它们各自优势和限制。最后,提供5个正确使用Web Workers的场景。正如我们前面文章讨论的那样,你应该知道 JavaScript 语言采用的是单线程模型。然而,JavaScript 也为开发人员提供了编写异步代码的机会。异步编程的局限性以前的文章讨 ...
这次将讲解 WebAssembly 是如何工作的,更重要的是,它是如何在性能方面与JavaScript进行比较的:加载时间、执行速度、垃圾收集、内存使用、API开放平台、调试、多线程和可移植性。首先,让我们看看WebAssembly做什么首先,我们有必要了解一下asm.js。2012年,Mozilla 的工程师 Alon Zakai 在研究 LLVM 编译器时突发奇想:许多 3D 游戏都是用 C ...
文章底部分享给大家一套 react + socket 实战教程这一次,我们将深入到通信协议的领域,映射和探讨它们的属性,并在此过程中构建部分组件。快速比较WebSockets和 HTTP/2。最后,我们分享一些关于如何选择网络协议的方法。简介如今,功能丰富、动态 ui 的复杂 web 应用程序被认为是理所当然。这并不奇怪——互联网自诞生以来已经走过了漫长的道路。最初,互联网并不是为了支持这种动态和 ...
通过第一篇文章回顾在单线程环境中编程的缺陷以及如何解决这些缺陷来构建健壮的JavaScript UI。按照惯例,在本文的最后,分享5个如何使用async/ wait编写更简洁代码的技巧。为什么单线程是一个限制?在发布的第一篇文章中,思考了这样一个问题:当调用堆栈中有函数调用需要花费大量时间来处理时会发生什么?例如,假设在浏览器中运行一个复杂的图像转换算法。当调用堆栈有函数要执行时,浏览器不能做任何 ...
本中,我们将讨论另一个重要主题——内存管理,这是由于日常使用的编程语言越来越成熟和复杂,开发人员容易忽视这一问题。我们还将提供一些有关如何处理JavaScript中的内存泄漏的技巧,在SessionStack中遵循这些技巧,既能确保SessionStack 不会导致内存泄漏,也不会增加我们集成的Web应用程序的内存消耗。概述像 C 这样的编程语言,具有低级内存管理原语,如malloc()和free ...
概述JavaScript引擎是执行 JavaScript 代码的程序或解释器。JavaScript引擎可以实现为标准解释器,或者以某种形式将JavaScript编译为字节码的即时编译器。以为实现JavaScript引擎的流行项目的列表:V8 — 开源,由 Google 开发,用 C ++ 编写Rhino — 由 Mozilla 基金会管理,开源,完全用 Java 开发SpiderMonkey — ...
本文是旨在深入研究JavaScript及其实际工作原理的系列文章中的第一篇:我们认为通过了解JavaScript的构建块以及它们是如何工作的,将能够编写更好的代码和应用程序。我们还将分享构建SeStHealsStad时使用的一些经验法则,这是一个轻量级的 JavaScript 应用程序,必须保持健壮和高性能以保持竞争力。如GitHut 统计数据所示,在GitHub中的活动存储库和总推送方面,Jav ...