I see the APIs are quite extensive but before I dive into this direction, I wanted to know if it is possible to build a custom flutter app entirely using the APIs that discourse supports?
We are currently on xenforo and would be migrating to discourse first and then start working on the custom app user experience.
Nope not planning on using the web view. That would defeat the purpose of a custom user experience.
Duplication of work is a given and acceptable.
What do you mean by incompatibility with the theme component and plugin ecosystem? Do you mean that plugins will not expose the APIs so therefore cannot be used on the custom mobile app. Theme component is specific to the front end framework so understandably ember components cannot be used on flutter.
I read that thread before posting this here. That thread went down the PWA vs native debate and the original poster never returned.
My query is not specifically about flutter anyway even though I have mentioned it in the title.
The query actually is, since there is an extensive list of APIs exposed, is it possible to create a fully functional custom front end using those. Or are there some gaps which would not allow us to do so.
Yes, it’s totally possible, as discourse is just an ember app on top of the rails api.
I think it’s a terrible idea, as you’ll just be duplicating thousands of hours of work. That said, I had a client who did just that and they seemed happy with it. I haven’t heard from them in a long while; I don’t know why.
The good thing about the approach is that at any point you could just decide to switch to the discourse front end. Edit: Or, perhaps, use discourse after the migration and then never get your app good enough to warrant moving to it, or allow users to choose which front end they prefer.
Thanks Jay, your answer really is what I was looking for. In fact I could use the discourse front end for my power users and build a minimalist mobile app for attracting the casual users who would want to engage without getting overwhelmed. You know the ones who like using reddit and facebook.
Oh man I have come back to discourse after years and the evolution here is beyond amazing. Very excited.
My community has 75K members and 2.5 million posts so it would take some work to get migrated. That is my first goal as of now.
I’d like to be proven wrong with an actual example of an independent frontend. I’d also like to be corrected if anything I state here is not accurate! Just in my understanding there’s actually a misjudgement whenever this topic comes up, in the sense of: Discourse has an API and an independent frontend layer, so why not just try a different frontend there?
The misjudgement I see is that
simply by scale, the amount of actual interface elements and views is not properly appreciated. There’s not only topic list and topic view, but a lot more that seem secondary at first, but you’d need to design anyways. Just looking at the user pages, you’d either need to replicate all the different views or work out an alternative structure.
more conceptually, the frontend of Discourse is not just presentational, but a highly functional layer. All the read tracking is based on Ember and without it, many of the sophisticated features of Discourse will not be working. If you don’t replicate the user tracking in your frontend and painstakingly hook it up with the backend, you’d need to drop trust levels, badges, nudges, read states, … and what you have is a pretty bare app that allows users to read, post and like. It’s probably much easier to build such a simple app on a simple foundation, rather than on Discourse.
Thank you, thats probably something I would have discovered as I would have dug deeper. Its a shame then if all the statistics are being triggered and computed in the front end instead of say using queues in the backend. Nowhere near headless then.
Yes going by the helpful responses here we will first attempt to go as far as we can with the theme itself. First priority is to migrate with all the customization that we have in place which includes a bustling marketplace and a trade rating system.
Ok another query. Can users subscribe to categories to see only threads from those categories in their feeds? That’s one thing I had in mind with the APIs.
Is there a way to surface recommended content in feed based on scoring and relevancy to a user?