可以完全通过 API 使用 Discourse 来构建 Flutter 应用程序吗?

我看到 API 非常广泛,但在我朝着这个方向深入之前,我想知道是否可以完全使用 Discourse 支持的 API 来构建自定义 Flutter 应用程序?

我们目前使用的是 XenForo,之后将迁移到 Discourse,然后再开始着手自定义应用程序的用户体验。

还有什么需要注意的吗?

1 个赞

您打算使用 Web 视图吗?

如果不是:

  • 前端工作可能存在大量重复
    • 包括持续的维护重复
  • 与主题组件和插件生态系统不兼容,因此无法利用它。
1 个赞
1 个赞

罗伯特,你好:

不,我没打算使用网页视图。那将违背自定义用户体验的目的。

工作重复是必然的,也是可以接受的。

你说的与主题组件和插件生态系统不兼容是什么意思?你的意思是插件不会暴露 API,因此不能在自定义移动应用程序上使用。主题组件特定于前端框架,因此可以理解的是,Ember 组件不能在 Flutter 上使用。

1 个赞

我在这里发帖之前读过那个帖子。那个帖子陷入了 PWA 与原生应用的争论,而且原帖楼主再也没有出现过。

我的问题其实并不是专门关于 Flutter 的,尽管我在标题中提到了它。

我的问题实际上是,既然暴露了大量的 API,是否有可能使用这些 API 创建一个功能齐全的自定义前端。或者是否存在一些空白,导致我们无法这样做。

这些(主题组件是100%前端)的前端元素是用EmberJS编写的,并使用了Discourse的JavaScript API。

您几乎肯定会切断所有这些定制化。

不,但没有前端的更改,它们 pretty useless。

请看我的帖子:

(主题已在上面链接)

基本上,作为项目来说很有趣,但我确信它在经济上和技术上都没有多大意义。

如果您想在应用商店上部署,有一个好得多的选择。

2 个赞

是的,完全有可能,因为 Discourse 只是一个运行在 Rails API 之上的 Ember 应用。

我认为这是一个糟糕的主意,因为你只会重复数千小时的工作。话虽如此,我有一个客户就是这样做的,他们似乎对此很满意。我已经很久没有收到他们的消息了;我不知道为什么。

这种方法的优点是,你可以在任何时候决定切换到 Discourse 的前端。编辑:或者,也许,在迁移后使用 Discourse,然后你的应用永远无法足够好以至于值得迁移到它,或者允许用户选择他们喜欢的前端。

6 个赞

谢谢 Jay,你的回答正是我想要的。事实上,我可以为我的高级用户使用 discourse 前端,并为吸引那些不想被压倒的休闲用户构建一个极简的移动应用程序。你知道那些喜欢使用 reddit 和 facebook 的人。

哦,天哪,我多年后又回到了 discourse,这里的进化真是太棒了。非常兴奋。

我的社区有 75,000 名成员和 250 万篇帖子,所以迁移工作需要一些时间。这是我目前的首要目标。

我们确实有一些主题可以玩,它们可能比“从头开始用 flutter 构建 Discourse 前端”更省时。

你可以在你的站点上安装这些主题,用户可以自己选择。

我很想看到一个独立的前端的实际例子来证明我是错的。如果我说的有什么不准确的地方,也请纠正我!:hugs: 仅凭我的理解,每当这个话题出现时,都会有一种误判,那就是:Discourse 有一个 API 和一个独立的前端层,为什么不直接尝试一个不同的前端呢?

我看到的误判是:

  • 仅仅从规模上看,实际的界面元素和视图的数量没有得到充分的认识。不仅有主题列表和主题视图,还有更多看似次要的东西,但你仍然需要设计它们。仅仅看看用户页面,你 either 需要复制所有不同的视图,或者想出一个替代结构。
  • 更概念化地说,Discourse 的前端不仅仅是展示性的,而是一个高度功能化的层。所有的已读跟踪都基于 Ember,没有它,Discourse 的许多复杂功能将无法正常工作。如果你不在你的前端复制用户跟踪并费力地将其与后端连接起来,你将不得不放弃信任级别、徽章、提示、已读状态……而你得到的是一个相当简陋的应用程序,只允许用户阅读、发帖和点赞。在简单的基础上构建这样一个简单的应用程序,可能比在 Discourse 上构建要容易得多。
3 个赞

谢谢,这可能是我深入挖掘后会发现的东西。如果所有统计数据都在前端触发和计算,而不是使用后端队列,那就太遗憾了。这完全算不上无头。

谢谢 Natalie,我之前看过这些主题,并且认为 FKB Pro 更接近我们想要的效果。

请看这个移动应用程序的概念 UI。

嗯……我不确定我们能这么说吗?

点赞是在后端计算的,帖子和主题计数也是后端……

我认为阅读时间是基于前端代码的,但这并不奇怪……

1 个赞

是的,我将更改为“阅读跟踪”……但我的观点仍然是:许多高级功能都基于阅读跟踪。

在我看来,这就像一个主题。

别花钱买一个完全原生的应用程序。

1 个赞

同意这个观点。一些组件已经可以为这个功能提供支持:

2 个赞

是的,根据这里有益的回复,我们将首先尝试在主题本身上尽可能地进行。首要任务是迁移我们现有的所有自定义设置,其中包括一个繁华的市场和一个交易评级系统。

2 个赞

好的,还有另一个问题。用户是否可以订阅类别,以便在他们的动态消息中只看到来自这些类别的帖子?这是我通过 API 想到的一件事。

是否有办法根据用户评分和相关性在动态消息中展示推荐内容?

我建议你把这个内容分成另一个主题。

请注意,在 Discourse 中,thread = Topic

有一个关于此的特性请求:

1 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.