簡體   English   中英

Java原教旨主義者的Web客戶端開發技術

[英]Web client development technology for java fundamentalist

我是Java開發人員,我想為網絡開發富客戶端。 我的問題是我討厭javascript,flash等,以及通常用於網絡客戶端的大多數編程語言。 我很樂意繼續使用Java開發可在常見的Web瀏覽器上使用的Web客戶端,以及為什么不在新型時尚的移動設備上使用。 我正在尋找一些建議/警告,以做出一個不錯的選擇。

Java applet對於我來說似乎很完美,但是根據一些謠言,這不是一個真正可持續的解決方案。 我應該看看JavaFX嗎? GWT? 還有其他可能性嗎?

你想讓我做什么? Vaadin基於GWT,因此使用的HTML5 + JavaScript比Java Applet慢得多。 我嘗試過船,帶有Swing的Applet比Vaadin快很多。

使用Java Applets,Swing和Hessian,您可以在業務應用程序中獲得無與倫比的性能。 Hessian是一種非常快速的二進制Web服務協議。 使用JavaScript,通常只能使用文本編碼的Web服務協議(例如Json)和各種基於XML的協議。 與二進制協議相比,基於文本的協議會占用大量CPU,內存和帶寬-而且它們根本無法為您提供任何優勢。

Applets的弱點是硬件加速圖形,例如OpenGL和多媒體。 如果您正在開發游戲或電影播放器​​,Applet並不是很好。

JavaFX承諾會修復硬件加速的圖形性能和視頻編解碼器。 根據您的描述,不清楚您是否需要等待。

但是,如果您真正需要的不是標准的applet所能提供的功能,而是Web Start可能是解決方案。 有點像帶有簽名或未簽名應用程序的舊ActiveX,它具有額外的特權-通過被sun簽名或詢問用戶。 這將允許您使用JOGL或3d場景圖形引擎。

您非常適合JavaServer Faces(JSF)。 是的,只需試一試。 看,你看起來很棒。 JSF的吸引力在於1.它是一種標准化技術,是Java EE的一部分。2。它非常依賴Java編程,而不依賴於任何JavaScript編碼(根本沒有做到)。 3. JSF已經存在了一段時間,並且運行良好。 另外,JSF開箱即用地與Ajax配合使用(額外的好處),而無需編寫一個JavaScript音節。 唯一的缺點是您將必須編寫一些html代碼,而“ facelets”基本上是html頁面,並帶有一些您需要學習的額外標簽。 但是絕大多數的真實處理都是用Java完成的。 JSF還可以在不增加Java EE負擔的情況下工作,它是為與普通的Tomcat(如服務器(或Glassfish或JBoss等),瀏覽器和Java SE(桌面版本)一起使用而構建的。

我認為JavaFX作為基於Java的RIA技術看起來非常有前途。 不過這是最前沿的。 Mac OS X和Linux版本僅提供預覽。 已經宣布了對移動和其他設備的支持,但尚未宣布支持AFAIK。

Vaadin也將是合適的,即使對於新組件開發,也完全不需要Javascript或HTML。 頁面布局是使用布局管理器(如Swing)完成的。 新組件可以由現有組件組成(再次類似於Swing),也可以使用GWT從頭開始編寫(相當簡單,純Java)。

可以合理選擇包含核心框架中未包含的某些功能的附加組件。

對於具有Swing經驗的Java開發人員而言,該框架非常易於使用,並且具有開箱即用的優美外觀。 但是,布局管理器確實很難使用CSS來改變外觀-像添加邊框這樣的簡單任務很難。

布局也相當“繁重”,這意味着Vaadin網站可能會顯得有些呆滯。 以我的經驗,這種感覺仍然比某些較重的JSF框架要好。

它與所有主流瀏覽器兼容。

演示者: http : //demo.vaadin.com/sampler/

您也可以考慮Wicket 這具有類似的基於組件的方法,但是使用簡單的HTML片段定義了組件,這導致DOM輕得多(因此瀏覽器性能更好),並且對外觀的控制更好。 Wicket的學習曲線較陡。

在嘗試了GWT並嘗試使用其所謂的“超級開發模式”后,我發現JavaScript編程並不是那么痛苦。 我強迫自己學習和練習,終於完全采用了它。 JavaScript和許多庫中有許多不錯的東西。 對於我的情況,我的建議是僅堅持使用w3schools教程學習JavaScript。

暫無
暫無

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

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