倾城之链 | 优质网站周刊

优质网站同好者周刊(第 124 期)

倾城之链作为一个开放平台,旨在云集全球优秀网站,探索互联网中更广阔的世界。此周刊,将汇聚过去一周倾城所收录的内容,以飨同好;欢迎推荐或自荐(仅限有独立域名的网站,可以是二级域名)。您如果要了解收录要求,请参见关于倾城

备注:本周刊每周五生成,首发于个人微信公众号晚晴幽草轩、博客晚晴幽草轩,以及悠然宜想亭社区;此一键生成脚本基于 Deno 编写,并在 Github 开源:nicejade/nicelinks-weekly

Snapdrop | Open Snapdrop on other devices to send files

标签文件传输 · 分享 · PWA

关键字:File, Transfer, Share, Peer2Peer

Instantly share images, videos, PDFs, and links with people nearby. Peer2Peer and Open Source. No Setup, No Signup.

倾城之链 - Snapdrop | Open Snapdrop on other devices to send files

推荐语Snapdrop ,跨设备传输文件的最简单的方式;您可以在其他设备上打开 Snapdrop 来发送文件,即时与附近的人分享图片、视频、 PDF 和链接。点对点和开放源代码(该网络上的每个人都可以发现您)。无需设置,无需注册。

Snapdrop 用于本地文件共享的渐进式 Web 应用程序( PWA ),它好比苹果系统下的 AirDrop,不过这个是可以跨多平台的,直接打开就可以使用,适合突然要用一下找不到其他工具的场景。snapdrop 使用非常简单,点击「周围用户头像」发送文件,或者右键发送消息。该项目在 Github 仓库开源 ,如果您感兴趣,可移步以了解更多。

── 出自倾城之链 - Snapdrop | Open Snapdrop on other devices to send files

Zed - Code at the speed of thought

标签编辑器 · 编码 · 协作

Code at the speed of thought. Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.

倾城之链 - Zed - Code at the speed of thought

推荐语Zed 是一款高性能、多人代码 编辑器 ,由 Atom 和 Tree-sitter 的创建者开发,其口号是:以思维速度编写代码。高效的编码从不妨碍您的工具开始。Zed 将 IDE 的强大功能与轻量级编辑器的响应能力相结合,让您触手可及的生产力。它具有如下功能特征:

专为性能而设计

Zed 有效地利用每个 CPU 核心和 GPU 立即启动、眨眼加载文件,并在下一次显示刷新时响应您的击键。稳定的性能让您保持流畅,并让其他工具感觉缓慢。

语言感知

当您键入时,Zed 会为每个缓冲区维护完整的语法树,从而实现精确的代码突出显示、自动缩进、可搜索的大纲视图和结构选择。Zed 还使用语言服务器协议来提供自动完成、代码导航、诊断和重构。

引入多缓冲区

多缓冲区将多个文件的摘录合并到一个虚拟缓冲区中。无论您是消除编译错误、查找方法引用还是处理项目范围的搜索结果,您都可以使用多个光标跨文件进行编辑 - 所有这些都无需切换选项卡

综合终端

Zed 集成了功能齐全的终端,让您可以在编辑代码的同一位置进行 shell 访问。使用内置底座将其定位并切换到您想要的任何位置,或使用它来容纳其他选项卡。

Vim 模式

通过可搜索的命令面板、VS Code 样式的默认绑定和 Vim 样式的模式编辑,让您的手指保持在按键上。刚开始依赖快捷方式?工具提示显示按键绑定,以便您下次工作得更快。

内置主题

Zed 附带了各种开箱即用的浅色和深色主题。接近 1.0 的 Zed 还将提供一种创建自己的主题或加载其他人创建的主题的方法。

在任何机器上使用代码

当您加入队友的项目时,您可以导航和编辑,就像代码位于本地计算机上一样。打开任何文件、低延迟键入并与语言服务器交互。无论您是与隔壁办公桌的人还是在不同大陆的人一起工作,这一切都可以无缝地进行。

一起导航

跳转到队友的位置并跟随他们执行代码,然后切换角色并让他们跟随您。这是查看更改或帮助新队友熟悉代码库的好方法。您还可以使用内置屏幕共享来关注 Zed 之外的人员来查看文档或试验正在开发的应用程序。

由内而外的美丽

伟大的产品始于伟大的工程。Zed 团队非常关心您看不到的实现细节,以生成一个您会忘记您正在使用的编辑器。

像视频游戏一样构建

Zed 的突破性性能始于他们的 GPUI 框架,这是一种构建 2D 用户界面的新方法。GPUI 在 GPU 上光栅化整个窗口,就像 3D 视频游戏一样。结果?快速、可靠且流畅地传输每一帧上的像素。

专为多核时代而设计

Rust 独特的类型系统使我们能够跨多个核心并行工作,而不会影响应用程序的稳定性。Zed 使用写时复制数据结构和 Rust 富有表现力的异步原语将 CPU 密集型任务从主线程转移出去,从而产生单线程编辑器不可能实现的响应能力。

经过广泛的稳定性模糊测试

如果没有可靠性,性能和功率就毫无意义。这就是为什么他们对 Zed 的关键代码路径进行随机测试,以帮助他们发现并修复罕见的边缘情况。通过在开发过程中制造受控的混乱,他们实现了生产的稳定性。

语法的原则性方法

正则表达式是分析上下文无关语言的错误工具。这就是他们创建 Tree-sitter 的原因,这是一个开源解析框架,基于编译器中使用的相同理论基础:上下文无关语法。Tree-sitter 使用广义 LR 解析的增量版本,为通用编辑器启用了语言感知功能,而这些功能曾经只能在特定于语言的 IDE 中实现。

每个缓冲区都是一个 CRDT

无冲突复制数据类型(CRDT)是一类最终一致的数据结构,允许数据在面对并发突变时保持同步。在 Zed 中,默认情况下每个缓冲区都是 CRDT,这为多种形式的协作提供了基础。它们也是多线程架构的关键组件,使您可以轻松地使用 Zed。

来自 Zed 团队的原语

我们是 Zed Industries,是一个充满激情的小团队,我们的使命是为您和您的团队打造世界上最好的文本编辑器。

Zed 不是我们的第一位编辑。这是十多年来为开发人员构建工具的经验的结晶。我们创建了可破解的文本编辑器 Atom ,以及推出全新一代桌面应用程序 Electron 的开创性软件平台。我们还构建了 Tree-sitter ,这是世界上最受欢迎的编辑器使用的高级语法解析框架。构建重要的工具是我们的 DNA。

现在,我们正以同样的动力和新的愿景再次打造新的东西。我们相信最好的软件是手工制作的,并且对细节有着无与伦比的关注。我们相信,当软件开发具有共享体验时,效果会更好。我们相信有更好的方法来编写软件——而这只是冒险的开始。

截止 2023 年 06 月 27 日,Zed 尚处于测试阶段;从 Zed 官方博客宣布的信息 ,他们的目标不仅止于高效编 发布于 2023-03-15 09:41 辑代码,而是正在为软件工程师建立一个交流平台,目标是能够随时就任何文本进行对话,如此开发者就可以谈论代码而不必担心版本控制;可见 Zed 团队野心勃勃。

从实际体验来看, Zed 有很多令人惊喜的地方,相比 Visual Studio Code ,Zed 具备更快的启动速度、更高的性能、更简洁的界面、更容易的上手,实时语法分析、高级自动完成、自动格式化...... 当然,由于 Zed 还处于早期开发阶段,某些方面存在限制或不足;诸如,不支持部分框架如 Svelte 、缺乏可扩展生态、现支持 MacOS 系统等等;随着继续开发和发布更新,Zed 编辑器将会变得更加稳定而强大,让我们拭目以待。如果您对 Zed 这款新诞生编辑器感兴趣,不妨移步 Zed Doc 从而了解更多。

── 出自倾城之链 - Zed - Code at the speed of thought

1024Code | 轻松创造自己的代码作品

标签编程 · IDE · AI

关键字:1024Code, IDE, 编程, AI, AIGC, 轻协同

用 1024Code, 让编程重回乐趣

倾城之链 - 1024Code | 轻松创造自己的代码作品

推荐语1024Code :一个轻协同 IDE 环境,集成了 AI 编程助手、编程社区,无需安装环境,任何设备,开箱即用。1024Code  提供一个免费的、协作式的、基于浏览器的  IDE  环境,支持  10  多种编程语言,支持  Spring 、Vue 、React  等框架,还支持很多图形库,并集成了 AI 编程助手、编程社区。拥有无需安装环境,任何设备开箱即用的特性,是刚入门的程序员学习编程,与朋友一起创造作品,分享交流的最佳选择。它主要有以下功能:

  • 在线多人协作:类似腾讯文档等在线协作文档的协作功能体验,1024Code  支持用户邀请多人同时加入一个代码空间实时协作编程。
  • 在线分享:分享代码空间链接,打开可查看项目文件并运行的“副本”代码空间。
  • AI 编程助手:使用在线协同  IDE  和  AI  编程助手互动,快速解答疑问、完成重复性质的编码工作。
  • Git 版本管理Git Commit,管理你的代码版本。
  • 数据库:免费的云端数据库,代码空间的最佳搭档。

总之,1024Code 是一个集成 AI 编程助手、 编程 社区的轻量级协同 IDE 环境,可以随时随地共同创造多人在同一个代码空间中 协作 编程,并在线运行 10 余种编程语言项目。用户可以利用 AI 助手更快、更高效地编程,并将作品托管在 1024Code 上轻松地与他人分享。同时,用户可以通过交互式编程合集和个人编程主页总结知识点、技术栈、学习和思考过程,自我沉淀的同时,更好地对外分享和展示,进而收获更多成就,反哺学习动力(截止 2023 年 06 月 27 日,1024Code 尚处于邀测期间,使用邀请码才能注册;没有邀请码,需要自主发起申请,进而被加入候补列表中等待;实际体验,超出预期)。

── 出自倾城之链 - 1024Code | 轻松创造自己的代码作品

Arwes | Futuristic Sci-Fi UI Web Framework

标签框架 · Web开发 · React

Futuristic Sci-Fi UI Web Framework.

倾城之链 - Arwes | Futuristic Sci-Fi UI Web Framework

推荐语Arwes 是一个 Web 框架,用于构建基于未来科幻小说设计、动画和声音效果的用户界面。其背后的概念受到了 Cyber​​prep 和 Synthwave 以及 《Star Citizen》、 《Halo》以及《TRON: Legacy.》等作品的影响。它试图激发先进的科学技术。

该项目正在开发中,尚未准备好投入生产。它仍处于 alpha 版本,因此组件正在接受测试,并且它们的 API 可能会在完成后发生变化。该框架以 NPM 包的形式为 Web 平台提供,@arwes/[package] 适用于 JavaScript ES2018 版本中的 ES 模块、CommonJS 和 UMD 格式,并具有严格的 TypeScript v4.8+ 类型定义。

Arwes 支持适用于 Android、iOS 和桌面版的最新版本 Chrome、Firefox 和 Safari。支持使用 Node.js v18+ 进行服务器端渲染。React.js v18+有自定义 API ,可与 Next.js 和 Remix 等工具一起使用。

由于科幻 UI 通常非常特别,具有定制的视觉工作流程和用户体验,目前提供的工具是 "低/中级 API",这意味着该框架没有为普通的网络应用提供一整套 UI 组件,而是提供了一套基元、实用程序和基础组件来构建一个设计系统。

── 出自倾城之链 - Arwes | Futuristic Sci-Fi UI Web Framework

Medusa - Building blocks for digital commerce

标签程序库 · JavaScript · 开源

Thousands of developers use Medusa’s open-source, NodeJS, e-commerce modules to build rich, reliable, and performant commerce applications without reinventing core commerce logic.

倾城之链 - Medusa - Building blocks for digital commerce

推荐语Medusa 是一组商务模块和工具,可让您构建丰富、可靠且高性能的商务应用程序,而无需重新发明核心商务逻辑。这些模块可以定制并用于构建高级电子商务商店、市场或任何需要基础商务原语的产品。所有模块都是 开源 的,可以在 npm 上免费获得。它具有如下功能特征:

几分钟内即可开始使用

使用一个命令即可设置 Medusa,并开始开发沉浸式体验。

扩展和自定义您的堆栈

添加端点、业务逻辑和数据库实体;构建自动化。

可移植到现代环境

在任何 Node 项目中安装和使用我们的开源模块和包。

与您最喜欢的工具集成

从单个文件管理插件和模块,随着您的成长更换或添加。

快速的开发周期

与其他平台不同,Medusa 是为定制而构建的,因此技术债务保持较低,并且您的团队保持快速。

免费和开源

Medusa 的模块已获得 MIT 许可,以确保您完全控制您的商业堆栈。不再有意外的 API 更改。

每周都更好

该团队们每周都会发布新功能和改进,以不断为您提供更好的工具,并且他们的路线图是公开的。

总之,Medusa 是一种构建商务应用程序的新方法。他们解锁了商务平台内的逻辑,使其可在丰富的定制中重复使用,并可移植到新的现代环境中。他们的商务模块作为开源包提供,可以安装在任何 Node 项目中。这意味着开发人员不必从头开始构建核心商务逻辑,同时仍然能够扩展和修改其应用程序以获得定制商务体验。该项目在 Github 仓库开源 ,如果您对其感兴趣,不妨移步以了解更多。

── 出自倾城之链 - Medusa - Building blocks for digital commerce

标签React · 组件库 · TypeScript

React components and hooks library with native dark theme support and focus on usability, accessibility and developer experience

倾城之链 - Mantine | A fully featured React components library

推荐语Mantine ,功能齐全的 React 组件库;比以往更快地构建功能齐全、可访问的 Web 应用程序,Mantine 包括 100 多个可定制组件和 50 个挂钩,可满足您在任何情况下的需求;它具有如下功能特征:

免费和开源

所有软件包都有 MIT 许可证,您可以在任何项目中使用 Mantine。

基于 TypeScript

构建类型安全的应用程序,所有组件和挂钩导出类型。

随处使用

Mantine 支持所有现代框架:Next.js、Remix 等。

深色配色方案

只需几行代码即可将深色主题添加到您的应用程序中:Mantine 导出浅色和深色主题的全局样式,所有组件都支持开箱即用的深色主题。

定制组件

每个 Mantine 组件都支持使用 props 进行可视化定制 - 您只需修改组件 props 即可快速进行原型设计和实验。

风格压倒一切

每个 Mantine 组件都支持使用类或内联样式覆盖每个内部元素的样式。此功能与其他自定义选项一起允许您对组件进行任何视觉修改,并使其适应几乎任何设计要求。

灵活的主题

使用任意数量的附加颜色扩展默认主题,替换阴影、半径、间距、字体和许多其他属性,以满足您的设计要求。

基于 Emotion

Mantine 基于 Emotion👩‍🎤,利用核心 Emotion 功能:自动供应商前缀、服务器端渲染期间的关键 CSS 提取、惰性评估、动态主题、使用 TypeScript 进行类型安全样式等。

使用由 Mantine 维护人员和社区设计和构建的预制响应组件更快地构建您的下一个网站。所有组件对所有人都永久免费。Mantine 适用于所有现代环境:通过官方提供的入门指南立即开始使用 Next.jsGatsby.js 、create-react-app、 ViteRemix 。该项目在 Github 开源 ,如果您对其感兴趣,不妨移步以了解更多。

── 出自倾城之链 - Mantine | A fully featured React components library

mobile.dev - Maestro, Maestro Studio, Maestro Cloud

标签自动化 · 测试 · 框架

Write, update, and run your Mobile UI tests in minutes, instead of days.

倾城之链 - mobile.dev - Maestro, Maestro Studio, Maestro Cloud

推荐语Maestro 是最简单、最有效的移动 UI 测试框架,只需几分钟(而不是几天)即可编写、更新和运行 UI 测试。为什么是 Maestro?Maestro 基于其前身(Appium、Espresso、UIAutomator、XCTest)的经验而构建,可让您轻松定义和测试您的流程:

  • 内置的片状耐受能力。UI 元素并不总是在您期望的位置,屏幕点击也不会总是发生,等等。Maestro 接受移动应用程序和设备的不稳定性,并试图克服它。
  • 内置的延迟容忍度。无需通过 sleep() 调用来进行测试。Maestro 知道加载内容可能需要一些时间(即通过网络)并自动等待(但不会超过所需时间)。
  • 迭代速度极快。测试被解释,不需要编译任何东西。Maestro 能够持续监控您的测试文件并在它们发生变化时重新运行它们。
  • 声明式但功能强大的语法。在文件中定义您的测试 yaml
  • 简单的设置。Maestro 是一个可以在任何地方使用的单一二进制文件。

尽管移动技术取得了令人印象深刻的进步,但当今的应用程序仍然受到一星评论的困扰,并且用户还面临基本的移动应用程序质量问题。在 mobile.dev ,该团队正在为移动开发制定新标准,使所有公司能够提供高质量的移动应用程序。

下面是在 Android 平台简单的示例:

# flow_contacts_android.yaml

appId: com.android.contacts
---
- launchApp
- tapOn: "Create new contact"
- tapOn: "First Name"
- inputText: "John"
- tapOn: "Last Name"
- inputText: "Snow"
- tapOn: "Save"

在 iOS 等其他平台(Maestro 支持 Android、iOS、ReactNative、 Flutter 等平台),同样如此简单;Maestro 的完整文档可以在以下位置找到: maestro.mobile.dev ,该项目在 Github 仓库开源 ,如果您对其感兴趣,不放移步以了解更多。

值得一提的是,除了 Maestro,该团队还退出 Maestro Studio(无论您喜欢无代码、低代码还是全代码,您的个人助理都可以帮助您快速编写 Maestro Flows)、Maestro Cloud(在 CI 中自动测试 Maestro Flows 的最简单方法。通过他们的 CI 集成之一上传您的流程,我们将处理其余的事情)两款付费产品。

── 出自倾城之链 - mobile.dev - Maestro, Maestro Studio, Maestro Cloud

对倾城之链感兴趣的朋友,可通过 Web,小程序,快应用等渠道进行访问(后续将支持更多,如 VsCode 插件,Chrome 扩展等)。您有任何问题,欢迎随时向我们反馈(您可以通过官网反馈渠道,或添加如下倾情打赏),🤲 。

倾城之链 - 倾情打赏

本期文末寄语

俭,美德也,过则为悭吝,为鄙啬,反伤雅道;让,懿行也,过则为足恭,为曲谨,多出机心。藏巧于拙,用晦而明,寓清于浊,以屈为伸。── 明代 · 陈继儒《小窗幽记·集醒篇》

倾城之链作为一个开放平台,旨在云集全球优秀网站,探索互联网中更广阔的世界;在这里,你可以轻松发现、学习、分享更多有用或有趣的事物。

微信公众号 - 晚晴幽草轩

您可能感兴趣的文章