Je veux créer une application multiplateforme, qui aura également un site Web où les applications de bureau (Windows, iOS, Linux) parleront au serveur et garderont les données des utilisateurs synchronisées.
Jusqu'à présent, les options que je vois sont:
- Écrire une interface graphique native pour chacun des 3 OS, donc j'aurais 3 bases de code GUI (et un seul système backend)
- Utilisez quelque chose comme GTK afin que je puisse utiliser un système avec support dans toutes les plateformes de mention.
Mais le troisième sur lequel je n'ai pas pu trouver beaucoup d'informations (peut-être que je ne recherche pas les bons termes car je suis encore nouveau sur C # et .Net), est d'avoir une fenêtre avec une instance WebKit intégrée intégrée , ce qui me permettrait d'utiliser le même système d'interface graphique que j'utiliserais pour le site Web. Ce qui rendrait l'application cliente et le site Web aussi proches que possible l'un de l'autre afin que les utilisateurs connaissent l'interface.
Cette dernière option avec WebKit est-elle plausible? Je connais déjà bien JavaScript / HTML et si je peux utiliser ces connaissances pour faire l'interface, ce serait génial. Ce serait également un excellent moyen pour permettre aux utilisateurs de personnaliser l'interface avec des plugins et ils pourraient synchroniser toutes les préférences de l'interface utilisateur du local au Web.
Réponses:
Je ne vois pas pourquoi, mais vous pouvez simplement exécuter Chrome en mode "sans fenêtre" à la place, ou IE en mode "hta" (nous avons écrit une application de bureau en utilisant la technologie Web, en la déployant en tant que hta sur Windows il y a une décennie).
Aujourd'hui, je ferais quelque chose sans IE / IIS et j'utiliserais des websockets pour une expérience plus interactive.
Il existe des composants qui permettent au webkit intégré dans les applications C #: voir cet article de SO (le consensus est d'utiliser Webkit.NET )
J'utiliserais également le composant QtWebkit à la place, puis vous écrirez une seule application de bureau multiplateforme Qt légère et multiplateforme qui intègre votre interface graphique Web.
la source
J'ai travaillé sur un cadre d'application pour des projets tels que le vôtre. Il est basé sur le cadre de contenu en chrome. Il permet à l'interface graphique d'une application d'être implémentée avec html / css / js / svg, etc. et la logique d'application à implémenter en javascript ou c #.
Mon objectif est de pouvoir développer des applications de bureau «épaisses» riches et complètes en utilisant les technologies Web, qui sont multiplates-formes et ne nécessitent rien du côté serveur.
la source