Webkit sebagai GUI di .Net / Mono


12

Saya ingin membuat aplikasi lintas platform, yang juga akan memiliki situs web tempat aplikasi desktop (Windows, iOS, Linux) akan berbicara dengan server dan menyimpan data pengguna dalam sinkronisasi.

Sejauh ini opsi yang saya lihat adalah:

  • Menulis GUI asli untuk masing-masing 3 OS, jadi saya akan memiliki 3 basis kode GUI (dan sistem backend tunggal)
  • Gunakan sesuatu seperti GTK sehingga saya dapat menggunakan satu sistem dengan dukungan di semua platform yang disebutkan.

Tetapi yang ketiga yang saya belum dapat menemukan banyak info tentang (mungkin saya tidak mencari istilah yang tepat karena saya masih baru untuk C # dan .Net), adalah memiliki jendela dengan instance WebKit yang tertanam di dalamnya. , yang akan memungkinkan saya untuk menggunakan sistem GUI yang sama yang akan saya gunakan untuk situs web. Yang akan membuat aplikasi klien dan situs web terlihat sedekat mungkin satu sama lain sehingga pengguna terbiasa dengan antarmuka.

Apakah opsi terakhir ini dengan WebKit masuk akal? Saya sudah tahu JavaScript / HTML dengan baik dan jika saya bisa menggunakan pengetahuan itu untuk membuat antarmuka, itu akan bagus. Juga akan menjadi cara yang bagus untuk memungkinkan pengguna menyesuaikan antarmuka dengan plugin dan mereka dapat tetap menyinkronkan preferensi UI dari lokal ke web.


Saya sedang mencari Sencha ExtJS untuk jenis pekerjaan ini, tetapi saya belum yakin bahwa ini adalah metode terbaik untuk digunakan.
jfrankcarr

Jawaban:


10

Tidak dapat melihat mengapa tidak, tetapi Anda hanya dapat menjalankan Chrome dalam mode "tanpa jendela", atau IE dalam mode "hta" (kami menulis aplikasi desktop menggunakan teknologi web, menempatkannya sebagai sebuah hta di Windows satu dekade lalu).

Hari ini saya akan melakukan sesuatu tanpa IE / IIS dan menggunakan soket web untuk pengalaman yang lebih interaktif.

Ada komponen yang memungkinkan webkit tertanam dalam aplikasi C #: lihat posting ini dari SO (konsensus adalah untuk menggunakan Webkit.NET )

Saya juga menggunakan komponen QtWebkit , maka Anda akan menulis aplikasi 'desktop' lintas-platform tunggal, ringan, berbasis Qt yang menyematkan GUI web Anda.


Hrmm, ini sepertinya jawaban yang solid. Saya akan menunggu sedikit untuk melihat apakah ada yang berdentang juga sebelum menandai sebagai jawabannya. Tapi Webkit.Net sepertinya bisa melakukan pekerjaan itu. Salah satu tautan dalam pertanyaan SO yang Anda tautkan menuju ke github repo CefSharp di mana ia memiliki instance kromium yang disematkan. Meskipun saya tidak yakin apakah saya akan membutuhkan seluruh browser dibandingkan dengan hanya webkit. Saya harus melihat lebih jauh.
Skift

Adapun 'Hari ini saya akan melakukan sesuatu tanpa IE / IIS dan menggunakan websockets untuk pengalaman yang lebih interaktif.' Saya ingin menggunakan mono sehingga saya dapat menggunakan .net dan memiliki dukungan lintas platform, serta dapat meng-host situs pada sesuatu seperti nginx atau cherokee jika mereka memiliki dukungan mono, jika tidak apache. Saya tidak cukup mengenal IIS dan admin windows, tetapi saya tahu dan memiliki server web linux. Sejauh ini saya tidak akan memiliki interaksi langsung pengguna ke pengguna, jadi saya mungkin tidak akan memerlukan websockets. Dan sinkronisasi DB akan menggunakan couchdb. Meskipun mungkin melihat websockets atau socket.io nanti ketika saya melakukan hal
skift

Untuk pengembang web, tetap menggunakan tumpukan Linux, Windows adalah yang ke-2 yang buruk di pasar pengembangan web. Saya juga mengabaikan mono, karena dibatalkan ketika Novell jatuh saya akan mengatakan itu adalah teknologi mati, lebih baik untuk tetap dengan salah satu teknologi lintas platform lainnya yang memberikan Anda pengalaman dev yang lebih baik di Linux. Mengandalkan dukungan mono dan pembaruan di masa depan sedikit berisiko untuk selera saya.
gbjbaanb

Ya itu biasanya bukan keahlianku juga. Saya lebih suka menuju javascript dan node.js. Tapi saya harus belajar c # / .net untuk bekerja jadi saya pikir saya mungkin juga membangun proyek kecil dengannya untuk membantu mempelajarinya. Saya pikir. Net memiliki beberapa fitur keren jika saya melakukan sebagian besar pengembangan windows dan web. Jadi saya mencoba memanfaatkan apa yang saya tahu akan saya gunakan di tempat kerja, yang merupakan campuran dari aplikasi web dan desktop.
skift

0

Saya telah mengerjakan kerangka aplikasi untuk proyek seperti milik Anda. Ini didasarkan pada kerangka konten kromium. Ini memungkinkan GUI suatu aplikasi untuk diimplementasikan dengan html / css / js / svg, dll dan logika aplikasi untuk diimplementasikan dalam javascript atau c #.

Tujuan saya adalah untuk dapat mengembangkan aplikasi desktop 'tebal' yang kaya dan berfitur lengkap menggunakan teknologi web, yang bersifat lintas platform dan tidak memerlukan sisi server apa pun.


Meskipun saya ingin melakukan hal-hal di sisi server (karena pengguna akan dapat menyinkronkan data ke server pusat dan menggunakan aplikasi online), saya akan tertarik mengetahui bagaimana Anda menggunakan kromium. Bagi saya, versi desktop pada dasarnya akan menjadi salinan whats di server sehingga berjalan lebih cepat dan tidak harus menunggu pembaruan dan mereka dapat menggunakannya secara offline.
skift
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.