2010-03-17 65 views
0

我是來自unix/c環境的web開發環境的新手。 我最近被要求創建一個web應用程序,我認爲這需要postgresql, java/j2ee,以及客戶端界面的javascript。因爲我曾經想要一個更好的gui,我已經在extjs上看過 ,這對我來說看起來非常好。Jdeveloper vs java/j2ee/js + extjs?

同事提到,學習所有這些不同的 件所需要的時間需要的時間是費時,和JDeveloper似乎提供大部分我們會需要 (我被一個演示,這似乎是能夠生成一些漂亮的網頁界面)。

不同的方法有什麼優點和缺點?

有些我能想到的: - jdeveloper是一個集成的ide,它可以輕鬆創建UI,並與數據庫集成在一起 。 (親) - jdeveloper會更重? (con) - 嚮導生成的代碼可能難以重構? (CON) - 在Java/J2EE/JS + ExtJS的需要制定從地面向上(CON)的東西

提前感謝分享您的經驗和想法... SAM

回答

1

雖然這是非常主觀主題,我仍強烈建議不要使用「集成IDE」。無論是IDEA,Netbeans,JDeveloper,Eclipse,你都可以這樣命名:不要過頭,也不要過度依賴它們。他們傾向於涵蓋開發的很大一部分,但是當你想要脫離他們的「集成」技術時,你遇到了麻煩。正如你也提到的,生成的代碼也很難維護。

我一直在用ExtJS做2個商業項目。優點是:(1)更容易啓動並快速執行正在運行的應用程序,(2)大部分邏輯如客戶端的大量記錄分頁(僅在內存中保留3-4頁例如)已經爲你完成了,(3)使用一些較低級別的抽象更好,感覺更有價值和更有成效,而不是J2EE方法「我們有一個模型來開發一個創建框架的過程」,即使對擁有10年以上經驗的開發者也是如此。

缺點:不是你想要的一切,都會在那裏。例如,如果管理人員(或客戶)在Web頁面某些部分的棘手的圓角上佔上風,那麼它是好運 - 您必須Google,找到用JS編寫的CSS包裝庫等。我用ExtJS做的第二個項目最終花費了40%的時間來進行小的GUI調整。

儘管如此,我仍然強烈主張立即更容易理解的技術,並在最初給出更快的結果。如果他們有6個月的時間表,沒有人會很有動力,他們在第二個月末看到他們的第一個真實結果。

希望這會有所幫助。

1

爲什麼JDeveloper比較重要?無論如何,它不會成爲Web應用程序的一部分。

現在幾點建議。我想建議你去開發,同時嘗試理解底層技術,即JSP,Servlet,Servlet Filters等。

你用什麼IDE並不重要。我更喜歡IntelliJ和Netbeans。IntelliJ是商業化的,順便提供了一個社區版本,但是卻忽略了web開發中所需的一些非常強大的工具/功能。所以,你只剩下JDeveloper,Netbeans和Eclipse。選擇你喜歡的任何東西。

你應該使用一些快速的Web開發框架,對,我想你尋找到檢票或條紋。聽說有關Play框架的好消息。對於JavaScript部分,我建議你看看JQuery和JQuery UI,它是一個非常強大的框架,具有很好的社區支持。

另一種選擇可以是Spring。抓住臨春書,並開始開發你的應用程序與這個全功能強大的框架。即使官方文件是真棒。 Spring IoC,Spring MVC,以及良好的Spring JDBC API。在前一個選項中缺少JDBC API時,您需要爲此獲取某種ORM,或者提出自己的代碼。在這裏,您將獲得簡單維護的好處,您可以輕鬆添加新功能。

但讓我再說一遍。你必須知道底層技術。因爲你不知道可能會受到傷害。

1

如果你正在尋找到JDeveloper中,我假設你正在考慮Oracle Application Development Framework?我對這個框架的經驗是它使得一些簡單的開發任務變得非常簡單,並且一些非常困難。特別是,廣泛定製外觀可能非常耗時。

如果你是幸福的基本ADF的外觀和感覺,和你的需求被滿足the components provided,該框架可以爲您節省一些時間。如果您需要完全控制應用程序的外觀,或者您的用例與預定義的組件不匹配,我會建議查看其他框架。使用自動進稿器或類似的框架的

一個好處是,你可以快速生成基本的網絡應用,而HTML,CSS或JavaScript的豐富知識。這是否重要取決於開發團隊的技能。

0

答案中缺少的一個部分是,JDeveloper和更具體的ADF爲您提供的是一種端到端解決方案,它不僅涵蓋了UI部分,還涵蓋了如何將其綁定到業務服務,以及也是構建業務服務的一個更簡單的解決方案。