簡體   English   中英

哪個java web技術要學習開發富Internet應用程序?

[英]Which java web technology to learn to develop Rich Internet Applications?

我使用JSF(myfaces組件)開發了Web應用程序。 但在響應式UI的這些日子里,JSF並不是很好。 我聽說過很多關於AJAX,GWT等的內容。所以我希望您對我應該學習哪些Web技術/框架以便為企業產品開發Web應用程序有所了解。 我聽到的一些網絡技術是:

  1. ICE Faces(支持AJAX Bridge)
  2. GWT
  3. extJSextGWT
  4. JavaFX的
  5. Apache Wicket
  6. jQuery的
  7. AJAX
  8. 打開拉斯洛

以上哪項或上述組合對我有幫助?

您可以對這些Web技術進行評級的一些參數是:

  1. 易於學習
  2. Web應用程序代碼的可維護性
  3. 社區支持
  4. IDE支持 - Eclipse或NetBeans
  5. 現成的組件可用性(如文本框,表格,選項菜單)
  6. 許可證 - 商業用途是否需要支付費用?
  7. 用戶體驗 - 響應式UI。 不應該遲鈍

關於SO的類似問題確實部分回答了我的問題。 會想要更多信息。

編輯:答案整理:基於答案:AJAX將是學習基礎知識的最佳選擇,然后學習JQUERY。 任何基於組件的框架工作都可以補充ajax,jquery?

編輯2:如果我必須設計一個像StackOverFlow這樣的Web應用程序(在java平台中),這將是學習和采用的最佳選擇嗎?

Wicket + Jquery,WiQuery

GWT

一些XYZ Faces技術(RichFaces / ICEFaces)+ AJAX。

一些與他們合作並且可以在上述參數中對其進行評級的人表示贊賞。

我強烈推薦Apache Wicket,我看到你評論/編輯了這個問題,說你傾向於Ajax / JQuery,並要求組件框架補充這些。

作為基於組件的框架中的IMO,Wicket提供了與第三方JavaScript庫的最佳集成。 我親自評估了競爭者GWT,Tapestry和JSF - 但是Wicket讓它非常容易:

  • 將HTML貢獻給HTML> HEAD
  • 將ajax回調代碼(或自定義javascript)注入網頁
  • 在服務器端的有狀態組件上調用事件
  • 在Ajax(XHR)請求觸發之前或之后執行任意javascript

你可以看到這篇關於如何將YUI與Wicket集成的博客文章,同樣的概念可以很容易地擴展到JQuery。

也就是說,Wicket內置的Ajax支持實際上使您無需編寫一行javascript代碼即可創建豐富的UI-s。 考慮動態刷新網頁的選擇性部分,彈出對話框等。

我也知道一個名為WiQuery的 Wicket-JQuery集成項目 ,但我還沒有嘗試過。

我一直在GWT(用GWT-ext)為我的最新項目工作,並且非常喜歡它。 除此之外,jQuery一直是天賜之物,每當我沒有更強大的框架時,我就會使用它。

AJAX只是一個(在我看來,毫無意義的)術語。

jQuery是,在我看來, 順便做的JavaScript。 除非有一個不可克服的requeriment禁止它的使用,我推薦它,如果你需要自己編寫Javascript(注意,如果你使用GWT,你使用的是Javascript,但不是它,所以你不需要jQuery)。

  1. 易於學習:你需要從傳統的程序式JS中改變你的思維方式[jQuery仍然是程序性的,但具有很大的聲明性方面]。 如果您從未編寫過Javascript,那么可能更容易接近
  2. Web應用程序代碼的可維護性:非常
  3. 社區支持:相當多
  4. IDE支持 - Eclipse或NetBeans:我不這么認為。 我不會錯過它; 我討厭寫足夠的Javascript讓我錯過了一個IDE。
  5. 現成的組件可用性(如文本框,表格,選項菜單):jQuery UI有一點,那里有很多材料
  6. 許可證 - 商業用途是否需要?:不

在你提到的其他技術中:

  1. GWT:我相信如果您是目標內部網站點或類似的東西,編寫類似桌面的網站(想想Gmail,而不是典型的內容網站),這很有趣。 我想你需要做出相當大的努力才能使你的基於GWT的網站被搜索引擎抓取並被非復雜的瀏覽器使用(即GWT對於像某些手機這樣的無JS瀏覽器是沒用的)
  2. JavaFX的。 我相信這只是一個噱頭。 不會給Java applet增加太多,它沒有Java那么多的慣性。
  3. Apache Wicket:這是我的調查清單
  4. OpenLaszlo:如果你想在沒有支付許可證的情況下做Flash內容,看起來很有趣。

作為我的建議。

我建議你先學會開發沒有JS的網站。 然后添加JS(使用jQuery),谷歌“漸進增強”。

一旦你能做到這一點,你就可以學習使用像GWT這樣的東西,並在合理的情況下使用它。

如果你必須做相當數量的Javascript / AJAX,你肯定想學習和使用jQuery! 如果它在1999年出現,它將為我節省多年的悲傷。

Seam,Spring,Richfaces,Ajax4jsf

我傾向於專注於基礎知識,因此,您可能希望深入了解javascript,包括面向對象的javascript。

一旦你熟悉了javascript,這些庫就很容易上手了。

您可能想要了解一些有用的HTML5功能,例如標記。

您可能還想學習Actionscript 3,因為這將有助於您了解閃存的工作原理,因為您將知道Flash ide正在生成什么代碼。 我使用了一個ant腳本來編譯我的actionscript代碼,使用Eclipse。

Silverlight越來越受歡迎,但這需要VisualStudio Express,但它是Flash的強大競爭對手。

對於其余部分,傳遞引用可能很有用,因為您的列表並非詳盡無遺,但要確保您能夠很好地理解這些基礎語言以及您可以快速獲取的框架。

如果您希望通過Web瀏覽器獲得某種客戶端/服務器體驗,我建議您與Google Eclipse插件一起查看GWT。 這種技術使您能夠編寫您可以實現的最具響應性的Web應用程序(從我的角度來看)。

否則,如果您想開發更傳統的Web應用程序並只添加Ajax功能,您可以查看DWR (Direct Web Remoting)。 這種技術使您能夠將服務器端Java對象連接到客戶端,以便能夠通過JavaScript使用其功能。 它將幫助您編寫Ajax功能,還可能重用現有邏輯。

當然,jQuery總是一個很好的選擇。

我的選擇是GWT,因為GWT程序用java編程語言編寫,這種編程語言非常強大且易於理解。

jQuery和ext-js也很好但我在JavaScript編程語言方面遇到了一些問題。 這種編程語言非常容易出錯。

Apache Wicket編碼喜歡GWT,但它是服務器端技術,它是一項繁重的技術。

因為JavaFX程序需要插件不是我的選擇。

如果您沒有JavaScript問題,我建議您使用jQuery或ext-js。

我和你在同一條軌道上,試圖找出哪個將是我的服務器端+客戶端開發工具集為一個巨大的互聯網站點。 據我所知,一如既往,它取決於您需要的Web應用程序的類型。

有人使用不同的javascript框架,基於易用性,聲明性,面向對象等。

有幾點需要考慮:1)客戶端技術1a)“核心”客戶端技術:框架1b)UI客戶端技術增強2)服務器端技術

對於“核心”javascript框架,你可以找到JQuery,MooTools(MIT許可證),ExtJS Core(MIT許可證)(不是ExtJS:這是ExtJS Core + UI小工具,后來需要商業許可證),Yahoo UI等等。可以在像這樣的網站中比較它們: http//www.domassistant.com/slickspeed/

該測試“以某種方式”比較了每個“核心”客戶端javascript框架的不同方面。

你從這些框架中得到了什么? 其中大多數允許您與“跨瀏覽器”兼容,並且每個都有多種不同的方式和語法。

只是測試和尋找你最喜歡的人。

所以,有了這個,你就可以找到一種代碼“everybrowser”的方法。

現在,如果您需要“Widgets / Controls / UI小工具”,那么每個“核心”框架都有自己的UI相關擴展。

甚至,其中一些人可以互相交流。 我已經閱讀過關於ExtJS(不是核心,帶有幾個好的UI元素的那個)的實現可以連接到jQuery的內容。

因此,對於客戶端,您必須選擇“核心”框架,如果您需要UI,那么,一些與之關聯的UI。

有幾個IDE與這個框架兼容,一個可以是Aptana,Eclipse,Netbeans(最新版本可以很好地與javascript集成),或者在Microsoft端Expression,Visual Studio Express或“Pro”。

事實上,jQuery被“按原樣”包括在內,並得到微軟和諾基亞的支持。 因此,jQuery現在會得到更多的關注,更多的支持,以及更多的“公開”,我預測它會獲得很多關注和增強。 他們沒有購買jQuery,從現在開始,他們堅持將其作為開源包含在VS解決方案中。 並且將與ASP.NET MVC,組件等緊密結合。

無論如何,正如我之前所說的那樣,jQuery不是唯一的,而且不是最好的。

對於服務器端,它取決於您的知識:java,ASP.NET,無論您感覺舒服。

希望這個對你有幫助。

您可能需要學習一組工具,但應該從AJAX開始,然后轉到一些JS庫(JQuery,prototype-scriptaculous,MooTools等)。

這些也很好地補充了JSF框架。

在評估基於Java的RIA平台時,您可能還會考慮使用Eclipse Rich Ajax Platform

我建議你看看Vexi ,它提供類似桌面的應用程序,比Applet + Swing / AWT更靈活。

(免責聲明:我是Vexi的開發人員)

這些應用程序是類似桌面的 - 豐富且響應迅速 - 並且是通過Internet“預測”的用戶界面。 所有應用程序邏輯都駐留在您選擇的語言中創建的服務器上,並通過XmlRpc接口公開。

Vexi的主要優點是布局非常簡單,因為它是一個盒子模型。 它甚至比HTML更容易理解。

<box>
    <box orient="vertical">        .-------------------.
        <box fill="red" />         |   red   |         |
        <box fill="blue" />        |---------|  green  |
    </box>                         |   blue  |         |
    <box fill="green" />           '-------------------'
</box>

腳本使用JavaScript完成,並且有一個可擴展的小部件集。 使用小部件也很容易。

<button id="button1" text="My button" />
<textarea id="text1" shadowtext="Type in here!" />

暫無
暫無

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

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