簡體   English   中英

使用Web技術創建桌面應用程序

[英]Using web technologies to create desktop applications

最近,Web瀏覽器改進和實現新技術(例如HTML5)的速度似乎已經大大加快。 與此同時,用於開發Web應用程序的工具(例如jQuery)或無數的Web框架也使Web開發變得更加容易。

我們現在是否有必要使用Web技術開發純粹的單用戶桌面應用程序? 假設我們可以將最新的瀏覽器與我們的應用程序一起安裝,我們不必擔心與舊版瀏覽器的兼容性。

恕我直言網絡應用程序是未來。 目前,有些應用需要很長時間才能上網,比如adobe產品。 在我們達到這一點之前,網絡仍然需要更多的進步。

Web瀏覽器的時間落后於時代,瀏覽器共享的瀏覽器份額太多,不支持(或不支持)HTML5,CSS3等功能。

如果您不介意處理跨瀏覽器的麻煩,雲技術是可行的方法。 雲應用程序客戶端的最大優勢是,他們可以在任何地方訪問它而無需下載任何東西。

但如果您指的是將基於Web的技術下載到用戶桌面,那么您可以使用adobe air :)

我個人在網絡技術方面做的一切都是我在桌面應用程序中所做的。 瀏覽器差異帶來了很多痛苦。 它絕對是內部應用程序的方式。 外向應用程序可能存在的問題是你必須假設人們沒有關閉javascript。

編輯:

如果您希望使用javascript等網絡技術實際開發桌面應用程序,那么adobe air可能就是您的選擇

不,這不是一個人可以達到的目標 出於安全性和隱私的原因,Web應用程序將始終比桌面應用程序更受限制,更不用說跨平台的敏感性,實現質量以及直觀的視覺和設計要求。

因此,除非您的應用程序可以處理一些非常嚴重的限制(提升權限的可能性為零,可能限制訪問文件系統,如果有的話,沒有文檔交換,速度限制,使用計算能力的限制,......),它只是不是一個現實的方法。

編輯:

通過澄清“視覺和設計要求”一點:用戶通常希望他們的桌面應用程序具有一定的外觀和感覺,在多個平台上符合這種外觀是一種絕對的痛苦; 因為無論你去哪里,一切都有不同的大小。 如果您還沒有計划支持多個平台,那么首先有什么意義呢?

換句話說,最終你可以使用90%的開發時間來維護樣式表,使每個平台看起來都很清晰; 或者在所有平台上使它變丑(參考:Java)

是的,我們現在正處於可以完成的階段,除了總是有問題的IE。 在使用XUL和Prism的Firefox中已經有一段時間了。 我看過幾個應用程序展示了你所說的功能。 他們在所有現代瀏覽器中工作。 當然,他們都不能在IE中工作。 IE總是阻止網絡。

不 - 您可以為用戶提供三種特定的體驗,並且許多應用程序的理由不會混淆它們

輕量級 - 純網絡,客戶端只需要能夠運行瀏覽器 - 這可以進一步細分為移動客戶端,在受挑戰的環境中運行的客戶端(低CPU,低帶寬等)

豐富的互聯網應用程序 - 更重的Web應用程序 - 不再是傳統的asp.net(我希望),因為應用程序擊敗了通信渠道(viewstate)和主機服務器(通常回發導致大量代碼運行在服務器僅用於3行'真實'功能) - 我建議jQuery用於它的廣闊競爭環境,Silverlight用於更有限的游樂場,但無可否認的豐富經驗,並且想知道什么時候HTML 5的承諾將真正進入市場

胖客戶端應用程序 - 自定義代碼,對文件系統的訪問,3D渲染,真正需要本地代碼以及訪問本地資源的所有位

既然如此,你問題上的積極旋轉與你的應用程序的分解有關 - 注意你的層之間的分離,特別是關於你的表示層和它所討論的邏輯層之間的分離 -

1)使用全局通信機制 - 錯誤,這意味着REST,因為任何人都可以說它 - 所有客戶端都可以使用它 - SOAP不是全局可用的

2)不要單片,面向服務 - 打破你的功能,以便可以直接訪問特定的位 - 這意味着jQuery和富客戶端可以輕松地在需要時輕松訪問他們需要的位 - 你想要在你不關心客戶是誰/什么的位置(對於輕量級的你,對所有其他人來說)你創建服務一次,每個人都以大致相同的方式使用它

3)使演示文稿對於不同的媒體/交付類型/使服務統一是唯一的 - (也就是說,對於富客戶端,有時需要將服務處理卸載到客戶端以節省服務器並提高可擴展性)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM