Webkit GUI – Using Webkit as GUI in .Net/Mono

cguijavascriptmononet

I want to make a cross platform application, which will also have a website where the desktop applications (Windows, iOS, Linux) will talk to the server and keep the users data in sync.

So far the options I see are:

  • Write a native GUI for each of the 3 OS, so I would have 3 GUI codebases (and a single backend system)
  • Use something like GTK so I can use one system with support in all the mention platforms.

But the third which I have not been able to find much info on (maybe I'm not searching for the right terms as I'm still new to C# and .Net), is to have a window with an embedded WebKit instance built in, which would allow me to use the same GUI system that I would use for the website. Which would make the client app and the website look as close as possible to each other so the users are familiar with the interface.

Is this last option with WebKit plausible? I already know JavaScript/HTML well and if I can use that knowledge to make the interface, that would be great. Also would be a great way to allow users to customize the interface with plugins and they could keep in sync any UI preferences from local to web.

Best Answer

Can't see why not, but you could just run Chrome in "windowless" mode instead, or IE in "hta" mode (we wrote a desktop app using web tech, deploying it as a hta on Windows a decade ago).

Today I'd do something without IE/IIS and use websockets for a more interactive experience.

There are components that allow webkit embedded in C# apps: see this post from SO (consensus is to use Webkit.NET)

I'd also use QtWebkit component instead, then you will write a single, lightweight, Qt-based, cross-platform 'desktop' app that embeds your web GUI.

Related Topic