封面图

如何使用 Node.js 发送电子邮件全解和相关工具推荐

4 月 19 日
阅读 8 分钟
110
大多数Web应用程序都需要发送电子邮件。它可能用于注册、密码重置、状态报告,甚至是完整的市场营销活动,如新闻和促销。本教程解释了如何在Node.js中发送电子邮件,但其概念和挑战适用于您正在使用的任何系统。
封面图

亲测,用亮数据,轻松玩转数据获取!

4 月 16 日
阅读 1 分钟
69
在这个数据驱动的时代,数据采集的重要性不言而喻,作为一名数据分析师面对很多项目的数据采集需求,其实经常会遇到各种疑难问题。恰巧最近,我发现了一个名为亮数据的平台,它以其强大的功能和稳定的性能轻松地帮助我化解了绝大多数在数据采集过程中遇到的问题。

封面图

Dart 中 JS 互操作的历史

4 月 10 日
阅读 4 分钟
305
由于在 Dart 3.3 中达到了令人兴奋的 JavaScript 互操作里程碑,Wasm 的支持刚刚登陆当前的 Flutter 测试版。为了庆祝这一里程碑,我们回顾了 Dart 和 JavaScript 互操作性长达十年的历程。
封面图

Flutter Keys: 你的终极指南,让 widget 世界更快乐

4 月 6 日
阅读 2 分钟
367
我们将讨论 UniqueKey、ValueKey、ObjectKey、PageStorageKey 和 GlobalKey — 所有这些很棒的 Key 类型都可以提升您的 Flutter 水平!
封面图

如何打造一个好的(Vue)组件库?这里有一个清单

4 月 3 日
阅读 2 分钟
162
你是否考虑过在 Vue.js 或其他框架中构建组件库,或者你需要它来构建可重用的设计系统,以减少投入市场的时间并提供视觉一致性,或者你想为社区贡献另一个组件库。
封面图

小技巧|如何向文本添加渐变效果和图案

3 月 27 日
阅读 4 分钟
131
我们实现此目的的方法是使文本透明,通过 background-image 属性在文本上放置背景装饰,并使用 background-clip 将该背景装饰剪切到文本字符。
封面图

使用 Node.js 和 htmx 构建全栈应用程序

3 月 23 日
阅读 16 分钟
221
在本教程中,我将演示如何使用 Node 作为后端和 htmx 作为前端来构建功能齐全的 CRUD 应用程序。这将演示 htmx 如何集成到全栈应用程序中,使您能够评估其有效性并确定它是否是您未来项目的不错选择。
封面图

Flutter 3.13 之后如何监听 App 生命周期事件

3 月 20 日
阅读 8 分钟
667
在 Flutter 中,您可以监听多个生命周期事件来处理应用程序的不同状态,但今天我们将讨论 didChangeAppLifecycleState 事件。每当应用程序的生命周期状态发生变化时,就会触发此事件。可能的状态有 resumed 、 inactive 、 paused 、 detached 和 hidden 。您可以使用 WidgetsBindingObserver mixin 监听此事件。
封面图

使用 GitHub Actions 通过 CI/CD 简化 Flutter 应用程序开发

3 月 17 日
阅读 2 分钟
657
在快节奏的移动应用程序开发世界中,速度、可靠性和效率是决定项目成功或失败的关键因素。持续集成和持续部署 (CI/CD) 实践已成为确保满足这些方面的强大工具。当与流行的跨平台框架 Flutter 和 GitHub Actions 的自动化功能相结合时,开发人员可以创建无缝管道,加速开发生命周期并确保交付高质量的应用程序。在本文中...
封面图

使用 Array.prototype.with 更新不可变数组

3 月 11 日
阅读 3 分钟
159
庆祝:此功能现已在所有三个主要浏览器引擎中可用!浏览器最近获得了一种新的可互操作方法,您可以在数组上调用它:Array.prototype.with() 。Browser Support 浏览器支持:chrome 110Edge 110firefox 115Safari 16本文探讨了此方法的工作原理以及如何使用它来更新数组而不改变原始数组。Array.prototype.with(index, va...
封面图

Vue3:使用 Composition API 不需要 Pinia?

3 月 3 日
阅读 3 分钟
455
在 Vue.js 开发的动态环境中,在单个组件中处理复杂的业务逻辑可能会导致笨重的文件和维护噩梦。虽然 Pinia 提供集中式状态管理,但仅依赖它来处理复杂的业务逻辑可能会导致代码混乱。本文探讨了使用 Composition API 的替代方法,说明开发人员如何将数据和逻辑封装在自定义 hooks 中以实现高效的状态管理。
封面图

小技巧:在 Flutter 中提供触觉反馈,让用户感受到您的应用程序

2 月 21 日
阅读 1 分钟
1.6k
好吧,flutter 总是有一些简化的解决方案来实现任何目标。这次没有什么不同; Flutter 有 haptic_feedback 包,它可以模拟触觉模式并使其在各个平台上保持一致。
封面图

VueFire:一个一流的 Vue 和 Firebase 体验,包括对 Nuxt 的支持,现在已经稳定了

1 月 31 日
阅读 6 分钟
607
去年,我们宣布与 Eduardo San Martin Morote 合作,构建一个成熟的 Vue 和 Firebase 体验。自那时起,我们一直在努力构建我们的特性,如 Nuxt 支持,并使库通过 alpha 和 beta 阶段。我们很高兴地说,库现在是稳定的。
封面图

如何优雅的发布一个 TypeScript 软件包?

1 月 29 日
阅读 3 分钟
479
向 NPM 发布软件包本身并不是一个特别困难的挑战。但是,配置你的 TypeScript 项目以取得成功可能是一个挑战。你的软件包能在大多数项目上运行吗?用户能否使用类型提示和自动完成功能?它能与 ES Modules (ESM) 和 CommonJS (CJS) 风格的导入一起使用吗?
封面图

Flutter 高级动画技术综合指南

1 月 26 日
阅读 10 分钟
1.4k
Flutter 的动画系统围绕着一个“Animation 对象”的概念,这个对象的值会随着时间而变化,这个变化由一个“AnimationController”来控制,它定义了动画的持续时间、方向和其他参数,要设置一个动画,这两个元素必须连接起来。
封面图

fsx 简介:适用于 JavaScript 的现代文件系统 API

1 月 24 日
阅读 6 分钟
573
我们今天拥有的 JavaScript API 比十年前要好得多。考虑一下从 XMLHttpRequest 到 fetch() 的转变:开发者体验显著改善,允许我们编写更简洁、功能性更强的代码来完成同样的事情。异步编程的 promises 的引入允许了这种变化,以及一系列其他变化,使得 JavaScript 更容易编写。然而,有一个领域几乎没有创新:服务器端 J...
封面图

DOMPurify:一个只针对 DOM 的、超快的、宽容的 HTML XSS清理工具

1 月 22 日
阅读 2 分钟
1.1k
DOMPurify 是用 JavaScript 编写的,在所有现代浏览器(Safari(10 ),Opera(15 ),Edge,Firefox 和 Chrome - 以及几乎所有使用 Blink,Gecko 或 WebKit 的浏览器)上都可以运行,它不会在 MSIE 或其他旧版浏览器上崩溃。
封面图

2023 年顶级前端工具,你都用了哪些呢?

1 月 17 日
阅读 12 分钟
1.4k
在过去的 12 个月里,我在我的时事通讯 Web Tools Weekly 中分享了数百种工具。我为前端和全栈开发人员提供了大量实用的库、帮助程序和其他有用的东西。这些工具涵盖许多类别,包括 JavaScript 库和实用程序、Web 框架、CSS 生成器、数据库工具、React 组件、CLI 工具,甚至 ChatGPT 和基于 AI 的工具,后者是我在过去一...
封面图

htmx 只是另一个 JavaScript 框架吗?老外吵上了

1 月 15 日
阅读 3 分钟
543
这是一个很好的反对意见!对于你引入到项目中的任何第三方 (3P) 代码,你都有权提出疑问。即使你没有亲自编写 3P 代码,但只要将其纳入项目,你就必须了解它--如果你想升级它,就必须重新了解它。
封面图

date-fns v3 发布——这个由 200 个函数组成的 JavaScript 日期处理套件

2023-12-24
阅读 4 分钟
362
date-fns v3 发布——这个由 200 个函数组成的 JavaScript 日期处理套件已经在 TypeScript 中重写,重新引入了 String 日期参数,在 Node 上支持 ESM,并且所有函数现在都可以通过命名导出导出。
封面图

NativePHP:使用 PHP 构建桌面应用程序

2023-12-22
阅读 2 分钟
339
PHP 在我心中占据着特殊的位置。它是我的第一份工作,我记得我在家里花了无数个小时做一些小项目。我非常想用 PHP 创建桌面应用程序,但我从来没有做到过。
封面图

前端扫盲:什么是API网关?为什么它有用?

2023-12-22
阅读 4 分钟
729
在创建 API 时,需要选择编程语言(Java、Python、PHP 等)来编写 API 逻辑,还需要将 API 部署到服务器上,并监控 API,以确保基础设施有足够的能力处理大量请求。
封面图

如何为开源项目做出贡献——你应该知道的非技术性的事情

2023-12-18
阅读 5 分钟
342
我已经为开源项目贡献了几年,并从中学习到了很多东西。这些经验让我更近距离地观察开源流程,从技术方面(如 Git 和 GitHub)到非技术方面。
封面图

Google 终于要改进东亚语言如中文日文的排版体验了,CSS 中引入四个新的国际功能

2023-12-15
阅读 2 分钟
805
CSS Text Module Level 4 中的四项新国际 CSS 功能即将登陆 Chrome 浏览器。本篇文章将介绍哪些功能已经发布,哪些功能即将发布。从 Chrome 119 开始:日语短语换行与断字:word-break: auto-phrase。开发中:使用 text-spacing-trim 属性的中文、日文和韩文标点字距。来自 Chrome 120 的:具有 text-autospace 属性的文...
封面图

新知|原生 CSS 中类似 Sass 的嵌套

2023-12-14
阅读 2 分钟
463
当你想为某一特定元素编写 CSS 时,如果该元素是另一元素的子元素,这就非常有用了。你不必反复编写父选择器。只需将子选择器嵌套在父选择器中就可以了。
封面图

如何优雅地观察 Vue.js 3 中 localStorage 的变化?

2023-12-13
阅读 3 分钟
579
原生 localStorage 只能监听同源跨不同页面的变化。然而,对于单页面应用程序来说,这种方式并不实用。因此,我打算创建一个自定义钩子来监视 localStorage 中的变化。
封面图

新知|仅用 CSS 实现网页阅读进度条

2023-12-03
阅读 2 分钟
808
为了构建一个阅读进度条,即显示用户向下滚动时阅读文章的进度,很难不考虑 JavaScript。但是,事实证明,您也可以使用纯 CSS 构建阅读进度条。
封面图

Flutter 中在单个屏幕上实现多个列表

2023-11-16
阅读 8 分钟
1.7k
今天,我将提供一个实际的示例,演示如何在单个页面上实现多个列表,这些列表可以水平排列、网格格式、垂直排列,甚至是这些常用布局的组合。下面是要做的:实现让我们从创建一个包含产品所有属性的产品模型开始。 {代码...} 现在,我们将设计我们的小部件以支持水平、垂直和网格视图。创建一个名为 HorizontalRawWidget...
封面图

干货 | 在 Flutter 中实现最佳 UX 性能的 12 个图像技巧和最佳实践

2023-11-13
阅读 7 分钟
1.4k
Image widget 是 Flutter 中最常用的 widget 之一,但我相信我们没有充分利用它的功能,仅仅显示一个图片是不够的,你还应该给用户他们需要的最佳体验!
封面图

关于 Vue 样式的 7 个你(可能)不知道的技巧

2023-11-08
阅读 4 分钟
632
单文件组件由三个不同的实体组成:模板、脚本和样式。所有这些都很重要,但后者往往被忽视,尽管它可能会变得复杂,并经常导致挫折和错误。更好地理解可以改进代码审查并减少调试时间。
封面图

有完美的 React 框架吗?三巨头之战:Remix、Next.js 和 Gatsby

2023-11-08
阅读 5 分钟
1.1k
React 的流行已经超越了前端开发,现在它被用于不同的开发目的。这种扩展导致了新框架的出现,这些框架的目标是增强开发者体验、优化流程和解决特定的挑战。React 的主要挑战之一是由于客户端渲染而与 SEO(搜索引擎优化)的斗争。
封面图

基础:JavaScript中怪癖之一:提升(Hoisting)

2023-11-07
阅读 4 分钟
295
JavaScript,通常被称为“Web 语言”,是一种多功能且广泛使用的编程语言。它以其怪癖而闻名,其中之一就是 hoisting(提升)。无论你是经验丰富的开发人员还是刚刚开始你的编码之旅,理解提升对于编写干净和高效的 JavaScript 代码至关重要。
封面图

超越基础:Flutter 中 onTap 的 5 条规则让你脱颖而出

2023-11-06
阅读 3 分钟
1.2k
小事情决定了你的熟练程度,这些小细节的有趣之处在于它们的丰富性。您将在代码库中的数百个位置遇到 onTap 事件。增强它们可以对代码的可维护性和最终用户体验产生重大的积极影响。
封面图

将 UniLinks 与 Flutter 集成(安卓 AppLinks + iOS UniversalLinks)

2023-11-02
阅读 9 分钟
5.4k
我是 Pedro Dionísio,是葡萄牙 InspireIT 公司的 Flutter 开发人员,我写这个 UniLinks 教程的座右铭是: