Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Desktop/web client #155

Open
MrScriptX opened this issue Jun 17, 2024 · 6 comments
Open

Desktop/web client #155

MrScriptX opened this issue Jun 17, 2024 · 6 comments

Comments

@MrScriptX
Copy link
Collaborator

Hi,

I would be very interested in a desktop client for this app. Would you be interested in such a thing ?
If yes, how should we go about it ?

  • We could make a different repo, starting a client from “scratch” (using pieces of this one).
  • Adapt the current app to make room for a web version. But it would need a lot of changes as some package don't support web client.

If you're not interested or don't have time to take care of such a thing. Would you allow a separate project to be created and work out some sort of data synchronization between the two ?

@smontlouis
Copy link
Owner

Hi !

Hahah, God is good.

I’ve been considering this idea for a while, which led to the recent move to Expo. I’m planning to create a paid web version to cover server costs, as donations aren’t sufficient. Contributors will, of course, have free access.

I intend to use expo-web and transition to platform-specific code (using *.web.tsx, *.android.tsx, etc.) for packages that don’t support the web.

Most Expo-based libraries (expo-* in package.json) already support the web, which is a good starting point.

@MrScriptX
Copy link
Collaborator Author

MrScriptX commented Jun 21, 2024

Indeed, God is good !
It will be my pleasure to help you !

Some package/features are still limited when it comes to web app. I think the benefits of making another project for this should not be discarded too easily.

  • We can work with react based frameworks that are optimized for the web
  • We can implement features specific to desktop clients
  • We would have more control over the overall UX/UI than with react native.
  • Less troublesome to maintain.

The counterparts however :

  • We have to split/copy the UI elements of the current app to share it with the desktop client
  • Two repos to maintain (should be doable though if we stick with react based tech)

In my personal opinion making a separate project might be the wiser choice, because it would be easier and would drop the limitation inherited from react native. But, ultimately, it's your choice. Depends if you consider those limitations not so much of a burden.

PS : j'ai vu que vous parliez Français 😆

@smontlouis
Copy link
Owner

Ah oui en effet ça simplifie les discussions :D.

Je prendrais le temps de réfléchir ce week-end, mais j'aimerais faire un pari sur expo-web.
Je suis pas mal actif sur twitter et en ayant vu certaines conférences, ça a bien évolué de ce côté.

On pourrait peut-être prendre le temps de voir quelles libs ne sont pas compatibles ?
Peut-être que j'en ai une vision un peu trop simpliste, et je pense aussi à la problématique de temps de mon coté, et surtout de travail.

En réalité, si on démarre un projet web, tu seras le développeur principal et je pourrais venir en support pour t'aider, ce qui met sur toi une charge non négligeable.

@MrScriptX
Copy link
Collaborator Author

De mémoire :

J'ai surement oublié certaines choses, mais je n'ai plus le projet local sous la main pour vérifier. Mais pour avoir essayé la migration, ce n'est pas une mince affaire.

Sinon, je peux attribuer un temps assez significatif au développement d'un projet web, oui. Après, on restera sur du React donc, ça ne devrait pas changer énormément de react native. Ça sera assez simple à suivre.

@smontlouis
Copy link
Owner

Noté.
Ok pour une app web à part entière

@MrScriptX
Copy link
Collaborator Author

Je vous laisse mettre en place le repo et me donner les droits nécessaires.

Pour le framework, il y a deux possibilités, soit Nextjs, soit Remix. Les deux sont basés sur React. Je vais voir les avantages de chacun et je documenterai le tout ici

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants