二维码的前世今生
和一维码相比,二维码的信息承载量更大,能表达的信息更加多样化。比如,同样是识别商品,一维码只能展示出商品的名称、价格、产地等少量基础信息,二维码则可以展示出更详尽的信息,甚至扫码后还能获得图片、视频、音频等不同类型的信息。
GraphQL 是 FaceBook 推出的一种用于 API 的查询语言。本文主要围绕 GraphQL 的 Server 端实现,因为相比 Client 端,Server 端包含了更多的内容。如果你的项目正处于技术选型,你正在犹豫选择一种接口风格的时刻,不妨了解一下 GraphQL 这个神奇而强大的技术。
ES2015(即:ES6)引入了模块的概念,提供了 export
和 import
2 个主要的语句(API)。相对于社区实现的 JS 模块管理方案,ES6 模块管理更加强大和灵活,最重要的是,这是 ECMAScript 官方推出的 JS 模块管理方案,是每位前端开发者需要掌握的模块化方案。
领域特定语言 DSL 是一种旨在特定领域下的上下文的语言。这里的领域是指某种商业上的上下文(例如银行业、保险业等),也可以指某种应用程序的上下文。与之相比的另一个概念是通用语言( GPL),通用语言则可以广泛应用于各种商业或应用问题当中。
随着前端的发展,特别是 React、Vue 等构造单页应用的兴起,前端的能力得以很大提升,随之而来的是项目的复杂度越来越大。此时的前端的静态资源也越来越庞大,而毫无疑问 javascript 资源已是前端的主体资源,对于压缩它的体积至为重要。
在过去,与大多数工程师一样,我认为前端代码的设计水平大多与工程师的能力有直接关系。但随着接手了几个多人协作的大型前端项目,我开始意识到,这种认知对短生命周期的小型项目可能适用,但对真正的大型项目,仅靠提升工程师质量有时并不能直接提升代码的质量。