ITADN
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

Neon

Neon logo

一个用于使用 Flutter 构建收敛式跨平台 Nextcloud 客户端的框架。

在 2023 年 Nextcloud 大会上,有一场闪电演讲总结了 Neon 框架:https://www.youtube.com/watch?v=MD3zlRHdSEw

贡献

请查阅我们的贡献文档,以开始使用 Neon 进行开发。

我们提供了大量文档,从帮助你搭建开发环境到我们的指南。 请在开始贡献之前务必阅读它们。

Neon 的目标

Neon 项目有三个主要目标:

  1. Neon 框架为 Nextcloud 客户端开发者承担了繁重的工作。Neon 已经处理了身份验证流程,并管理数据请求和缓存。这意味着开发者可以复用大量代码,无需重新发明轮子。
  2. Neon 应用是一个跨平台的 Nextcloud 客户端,可在 iOS、Android、macOS、Windows、Linux 和 Web 上运行。我们已支持 Android 和 Linux,其他平台正在开发中。
  3. Neon 应用是一个多客户端应用。这意味着你可以在同一个移动应用中拥有多个客户端。它实现了在多个应用之间无缝切换,正如 Nextcloud 用户在 Web 上一直享受的那样。

其他客户端当前存在的问题

  • 有许多客户端被设计为仅在单一平台或设备类型上运行。它们拥有不同的代码库,这使得功能一致性和维护变得更加困难。
  • 用户体验和功能在不同平台之间存在显著差异,这导致了用户的挫败感。这尤其影响了运行 Linux 的移动设备(例如 postmarketOS)。在该平台上根本没有合适的客户端。使用桌面版 Linux 客户端进行文件同步可能可行,但它仍然缺少在例如 Android 上可用的几乎所有功能,并且该客户端并未向移动屏幕的需求收敛。
  • 即使在功能丰富的平台上,功能也分散在多个应用中,这使得那些只想在设备上充分利用其 Nextcloud 服务器的用户感到更加复杂。

Neon 作为框架如何尝试解决这些问题

Neon 项目使用 DartFlutter 来帮助移动客户端开发者构建应用。Flutter 使我们能够构建具有原生体验的跨平台客户端。 我们是一个 100% FOSS 框架,不依赖任何专有库,这使得开发者可以轻松地在 F-Droid 商店等地方发布他们的应用。 我们提供了一个生成的 Nextcloud Dart 客户端,它由随 Nextcloud 发布的新 OpenAPI 规范生成,并且已被其他 Dart 和 Flutter 项目使用。过去那种查看 PHP 代码并手动实现 API 客户端的耗时且极易出错的日子已经一去不复返了。 有关生成 OpenAPI 规范的更多详细信息,您可以观看 Nextcloud Conference 2023 的以下闪电演讲:https://www.youtube.com/watch?v=lI9PrOOMLzE

我们提供抽象、通用工具和预构建的 UI 组件(在 Flutter 中称为 Widgets),这些组件可以重复使用。这使得 Neon 能够轻松开发新的 Nextcloud 客户端,只需添加一些自定义 UI 元素和必要的状态管理,而其他一切都已为您处理妥当。

回馈贡献

我们鼓励每位客户端开发者将其应用实现回馈到 Neon 中。 这样,应用开发者就可以从大量可用的客户端中进行选择。

开发与支持

我们有一个 Matrix 空间,您可以在那里提问:https://matrix.to/#/#nextcloud-neon:matrix.org

功能

参见此处查看截图。

  • :white_check_mark: 已支持
  • :construction: 进行中
  • :rocket: 计划中
应用状态
仪表盘:white_check_mark:
文件:white_check_mark:
新闻:white_check_mark:
笔记:white_check_mark:
通知:white_check_mark:
聊天:construction:
活动:rocket:
日历:rocket:
联系人:rocket:
食谱:rocket:
支出:rocket:
幻灯片:rocket:
照片:rocket:
任务:rocket:

平台支持

平台进度
Android:white_check_mark:
iOS:construction:
MacOS:construction:
Linux:white_check_mark:
Windows:rocket:
Web:white_check_mark:

试一试

查看 示例 以获取试用该应用的说明。