.Net / Mono'da GUI olarak Webkit


12

Masaüstü uygulamalarının (Windows, iOS, Linux) sunucuyla konuşacağı ve kullanıcıların verilerini senkronize tutacağı bir web sitesine sahip olacak bir çapraz platform uygulaması yapmak istiyorum.

Şimdiye kadar gördüğüm seçenekler:

  • 3 OS her biri için yerel bir GUI yazın, bu yüzden 3 GUI kod tabanları (ve tek bir arka uç sistemi) olurdu
  • Bahsedilen tüm platformlarda destekli bir sistem kullanabilmem için GTK gibi bir şey kullan.

Ama çok fazla bilgi bulamadım (belki de hala C # ve .Net için yeni olduğum gibi doğru terimleri aramıyorum), gömülü bir WebKit örneği yerleşik bir pencere olması , bu da web sitesi için kullanacağım GUI sistemini kullanmama izin verecekti. Hangi istemci uygulaması ve web sitesi birbirine mümkün olduğunca yakın görünmesini sağlayacak böylece kullanıcılar arayüzü aşina.

WebKit için bu son seçenek makul mü? Zaten JavaScript / HTML'yi iyi tanıyorum ve bu bilgiyi arayüzü yapmak için kullanabilseydim, bu harika olurdu. Ayrıca, kullanıcıların eklentilerle arayüzü özelleştirmesine izin vermenin harika bir yolu olurdu ve herhangi bir UI tercihini yerelden web'e senkronize edebilirler.


Bu tür bir iş için Sencha ExtJS'ye bakıyorum ama bunun henüz kullanmak için en iyi yöntem olduğuna ikna olmadım.
jfrankcarr

Yanıtlar:


10

Neden göremiyorum, ancak Chrome'u "penceresiz" modda veya IE'yi "hta" modunda çalıştırabilirsiniz (on yıl önce Windows'ta hta olarak dağıtan web teknolojisini kullanarak bir masaüstü uygulaması yazdık).

Bugün IE / IIS olmadan bir şeyler yaparım ve daha etkileşimli bir deneyim için web soketlerini kullanırdım.

C # uygulamalarında gömülü webkit izin bileşeni vardır: bkz SO Bu yayının (konsensüs kullanmaktır Webkit.NET )

Bunun yerine QtWebkit bileşenini de kullanırım , o zaman web GUI'nizi gömen tek, hafif, Qt tabanlı, platformlar arası 'masaüstü' bir uygulama yazacaksınız.


Hmmm, bu sağlam bir cevap gibi görünüyor. Cevap olarak işaretlemeden önce kimsenin de çalınıp çalmayacağını görmek için biraz bekleyeceğim. Ama Webkit.Net işi yapabilecek gibi görünüyor. Bağladığınız SO sorusundaki bağlantılardan biri, gömülü bir krom örneğinin bulunduğu bir github repo CefSharp'a gider . Sadece webkit ile karşılaştırıldığında tüm tarayıcıya ihtiyacım olup olmadığından emin değilim. Daha ileriye bakmalıyım.
skift

'Bugün IE / IIS olmadan bir şey yapardım ve daha etkileşimli bir deneyim için web soketlerini kullanırım.' Mono kullanmak istiyorum. IIS ve Windows yöneticisini yeterince tanımıyorum, ancak linux web sunucum var ve biliyorum. Şimdiye kadar canlı kullanıcı-kullanıcı etkileşimi olmayacak, bu yüzden muhtemelen websockets'e ihtiyacım olmayacak. Ve DB senkronizasyonu couchdb kullanacak. Rağmen websockets veya socket.io daha sonra daha gelişmiş şeyler yaparken im
bakabilirsiniz

Web geliştirici için, Linux yığınına sadık kalın, Windows web geliştirme pazarında zayıf bir 2. sıradadır. Monoyu da görmezden gelirdim, Novell altına girdiğinde düştüğünden, bunun Linux'ta daha iyi bir dev deneyimi sağlamak yerine, diğer çapraz platform teknolojilerinden birine bağlı kalmak daha iyi olduğunu söyleyebilirim. Mono desteğe ve gelecekteki güncellemelere güvenmek benim zevkime göre biraz riskli.
gbjbaanb

Evet bu genellikle benim forte değil. Javascript ve node.js'ye gitmeyi tercih ederim. Ama iş için c # /. Net öğrenmek zorundayım, bu yüzden öğrenmeye yardımcı olmak için onunla küçük bir proje inşa edebileceğimi düşündüm. Çoğunlukla windows geliştirme ve web yapıyorsam .Net'in bazı harika özelliklere sahip olduğunu düşünüyorum. Bu yüzden işte kullanacağımı bildiğim şeylerden yararlanmaya çalışıyorum, bu da web ve masaüstü uygulamalarının bir karışımı.
skift

0

Sizinki gibi projeler için bir uygulama çerçevesi üzerinde çalışıyorum. Krom içerik çerçevesine dayanır. Bir uygulamanın GUI'sinin html / css / js / svg, vb. İle uygulanmasına ve uygulama mantığının javascript veya c # olarak uygulanmasına izin verir.

Amacım, web teknolojilerini kullanarak, çapraz platform olan ve hiçbir sunucu tarafı gerektirmeyen zengin, tam özellikli 'kalın' masaüstü uygulamaları geliştirebilmektir.


Her ne kadar bir şeyler yapmak istesem de (kullanıcıların merkezi bir sunucuya veri senkronize edebileceği ve uygulamayı çevrimiçi olarak kullanabileceği gibi), kromu nasıl kullandığınızı bilmek isterim. Benim için, masaüstü sürümleri temelde sunucudaki whats'nin bir kopyası olacaktır, böylece daha hızlı çalışır ve güncellemeleri beklemek zorunda kalmaz ve çevrimdışı olarak kullanabilirler.
skift
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.