Quiero hacer una aplicación multiplataforma, que también tendrá un sitio web donde las aplicaciones de escritorio (Windows, iOS, Linux) hablarán con el servidor y mantendrán sincronizados los datos de los usuarios.
Hasta ahora las opciones que veo son:
- Escribir una GUI nativa para cada uno de los 3 SO, para tener 3 bases de código GUI (y un único sistema de fondo)
- Use algo como GTK para poder usar un sistema con soporte en todas las plataformas mencionadas.
Pero el tercero en el que no he podido encontrar mucha información (tal vez no estoy buscando los términos correctos ya que todavía soy nuevo en C # y .Net), es tener una ventana con una instancia de WebKit incorporada incorporada , lo que me permitiría usar el mismo sistema GUI que usaría para el sitio web. Lo que haría que la aplicación cliente y el sitio web se vean lo más cerca posible entre sí para que los usuarios estén familiarizados con la interfaz.
¿Es plausible esta última opción con WebKit? Ya conozco bien JavaScript / HTML y si puedo usar ese conocimiento para hacer la interfaz, sería genial. También sería una excelente manera de permitir a los usuarios personalizar la interfaz con complementos y podrían mantener sincronizadas las preferencias de la interfaz de usuario de local a web.
Respuestas:
No puedo ver por qué no, pero podría ejecutar Chrome en modo "sin ventanas" o IE en modo "hta" (escribimos una aplicación de escritorio usando tecnología web, desplegándola como hta en Windows hace una década).
Hoy haría algo sin IE / IIS y usaría websockets para una experiencia más interactiva.
Hay componentes que permiten webkit incrustado en aplicaciones C #: consulte esta publicación desde SO (el consenso es usar Webkit.NET )
También usaría el componente QtWebkit en su lugar, luego escribirás una aplicación de 'escritorio' multiplataforma, ligera, basada en Qt que integra tu GUI web.
fuente
He estado trabajando en un marco de aplicación para proyectos como el tuyo. Se basa en el marco de contenido de cromo. Permite que la GUI de una aplicación se implemente con html / css / js / svg, etc. y que la lógica de la aplicación se implemente en javascript o c #.
Mi objetivo es poder desarrollar aplicaciones de escritorio 'gruesas' ricas y completas con tecnologías web, que sean multiplataforma y no requieran nada del lado del servidor.
fuente