Quero criar um aplicativo de plataforma cruzada, que também terá um site em que os aplicativos de desktop (Windows, iOS, Linux) conversem com o servidor e mantenham os dados dos usuários sincronizados.
Até agora, as opções que vejo são:
- Escreva uma GUI nativa para cada um dos 3 sistemas operacionais, portanto, eu teria três bases de código da GUI (e um único sistema de back-end)
- Use algo como GTK para que eu possa usar um sistema com suporte em todas as plataformas de menção.
Mas o terceiro no qual não consegui encontrar muita informação (talvez não esteja procurando os termos certos, pois ainda sou novo em C # e .Net), é ter uma janela com uma instância do WebKit incorporada , o que me permitiria usar o mesmo sistema GUI que eu usaria para o site. O que faria o aplicativo cliente e o site parecerem o mais próximo possível um do outro, para que os usuários estejam familiarizados com a interface.
Esta última opção com o WebKit é plausível? Eu já sei bem JavaScript / HTML e se eu puder usar esse conhecimento para criar a interface, isso seria ótimo. Também seria uma ótima maneira de permitir que os usuários personalizassem a interface com plug-ins e pudessem manter sincronizadas as preferências da interface do usuário do local para a web.
Respostas:
Não dá para ver por que não, mas você pode simplesmente executar o Chrome no modo "sem janelas" ou o IE no modo "hta" (escrevemos um aplicativo de desktop usando tecnologia da web, implantando-o como um hta no Windows há uma década).
Hoje eu faria algo sem o IE / IIS e usaria websockets para uma experiência mais interativa.
Existem componentes que permitem o webkit incorporado em aplicativos C #: consulte esta postagem da SO (consenso é usar o Webkit.NET )
Em vez disso, eu também usaria o componente QtWebkit. Em seguida, você escreverá um aplicativo 'desktop' único, leve, baseado em Qt e de plataforma cruzada que incorpora sua GUI da web.
fonte
Eu tenho trabalhado em uma estrutura de aplicativos para projetos como o seu. É baseado na estrutura de conteúdo de cromo. Ele permite que a GUI de um aplicativo seja implementada com html / css / js / svg, etc, e a lógica do aplicativo seja implementada em javascript ou c #.
Meu objetivo é ser capaz de desenvolver aplicativos de desktop "grossos" ricos e completos, usando tecnologias da Web, que são multiplataforma e não exigem nada do lado do servidor.
fonte