标签:前端开发
React 19已经到来,它带来了复杂而灵活的新功能、难以置信的优化,以及一种全新的思考应用程序的方式。 但在构建营销网站时,React 19的功能是否过于工程化?或者这些功能是否值得付出努力? 在过去的18个月里,这些功能已经在React Canary和Next.js App ...
快速摘要:我们如何能更擅长命名?这篇文章致力于命名约定、技巧和现实世界的例子,帮助您以一种健壮和灵活的方式命名事物。 命名很难。作为设计师和开发人员,我们经常在为设计令牌、颜色、UI组件、HTML类和变量找到正确名称方面遇到困难。有时,我们选择的名称太通用,因此很难理解确...
我们刚刚发布了首次HTML状态调查的结果,这是数月辛勤工作的结果,不仅是我的努力,还有Lea Verou设计的调查问题,以及许多志愿者帮助翻译、提高可访问性、测试等。 至少可以说,这次调查是成功的,有超过20,000名受访者参与并回答了多达90个问题!我们希望产生的数据将证明是...
我自2012年左右开始全职从事JavaScript工作,这既是幸运也是不幸。不幸的是,在2015年左右,当ECMAScript规范开始出现重大改进之前,这门语言每天都在让我头疼。 然而,我也很幸运,因为自那以后JavaScript进行了很多改进,但语言的基本工作原理仍然相同,所以...
引言 在软件开发的世界里,我们经常想当然地认为我们日常依赖的工具和平台是安全和可靠的。我们假设我们下载的包和我们使用的注册表是安全和值得信赖的。然而,在Lupin & Holmes,我们最近发现了npm注册表上的一个缓存投毒攻击,这是JavaScript最大的包注册表之一,可能暴...
许多持久的开发问题隐藏在“就是这样”的背后。这些是感觉本质上就很慢的流程,总是需要过度沟通的步骤,以及不可避免地有时顺利有时不顺的工作流程。 人们感到沮丧,但很难退一步说,“我们可以怎么做得更好?”当流程足够好用时,很难认识到流程可以从“足够好”变得很优秀。 这就引出了设计交接。...
平衡旧技巧与新技能:Slack中的从Enzyme到React测试库的AI驱动转换
在前端开发的世界里,有一件事是确定的:变化是唯一的不变。新框架不断涌现,而库也可能在没有警告的情况下变得过时。跟上不断变化的生态系统需要处理各种大小的代码转换。对我们来说,一个重大转变是从Enzyme过渡到React Testing Library (RTL),这促使许多工程师将...
被统称为“模块和谐”的多项长期提案将完成JavaScript从CommonJS迁移时丢失的功能。 JavaScript曾被视为一种开发者能够快速编写代码的语言,但它并不一定适合大规模编写大型应用程序的团队。一个原因是,直到最近,它还没有原生的强大模块支持。 在ECMASc...
使用JavaScript中的Intl.DateTimeFormat掌握日期格式化
通常,要将日期以特定格式呈现,人们会立即想到一些JavaScript库,比如moment.js,以及更近的date-fns。尽管这些库仍然能够满足一些非常特殊用例的需求,但对于简单的日期格式化来说,它们已不再是必需的。 自2016年以来,Intl API得到了广泛支持,目前全球覆...
类型 -> 集合 TypeScript的类型系统可以被看作是一个纯粹函数式语言,它在类型上操作。但是,在类型上操作意味着什么?对我来说,我发现将类型解析为它可以构造的项目集合非常有用。这个集合将包含每个可以分配给该类型的实际值。 然后TypeScript的核心语法是操作给定集合中...