2012-02-09 86 views
6

我決定學習另一種語言,並在採摘階段。爲什麼Java有像C#那樣多的版本?

目前正在研究Java和C#,但傾向於Java,因爲它是跨平臺的。我將主要建立基於網絡的應用程序,但各種Java版本讓我感到害怕。 Java EE,SE,ME,FX有什麼區別?使用一個到另一個有什麼好處?

好的,FX用於臺式機,ME用於移動,SE和EE是一樣的,但一個是「業務」,另一個不是。所以,如果我學習SE,那麼切換到EE會需要什麼?還是FX?我的問題是,我不明白爲什麼SE,EE和FX是獨立的產品?它們都運行相同的JVM,並且都可以執行相同的結果應用程序。爲什麼他們分開了呢?

+0

還要注意的是,甲骨文計劃的Java FX集成到Java SE的9版本,如果他們得到的社會認可:http://openjdk.java.net/projects/openjfx/ – Puce 2012-03-05 14:00:59

回答

10

它並不那麼具有破壞性。

  • Java SE是標準應用程序的標準。
  • Java ME適用於移動電話,例如無浮點的子集。
  • Java EE是用於Web應用程序和Web服務器的Java SE的補充。
  • Java FX是一個flash player的替代品,但現在用java綁定/集成。

因此Java SE構成了基礎。 Java EE適用於Web應用程序。

未來的java將會得到一個模塊化的系統,區別將僅僅在庫級別上。

+0

但是,我們可以說,Java版本是建立在相同的基礎之上的,而版本只是針對特定行業領域的附加庫/框架? – 2012-02-09 21:31:46

+0

Java FX是一款具有自己的腳本的產品,但集成在Java SE中。 Java ME是一個剝離版本,專爲使用非X86 CPU的低級手機而設計。但是,Java EE和Java FX是新增功能。 – 2012-02-09 21:45:24

+0

@JoopEggen:請注意,Oracle刪除了Java FX腳本以支持純Java API。 – Puce 2012-03-05 13:48:11

16

想起他們的這樣的:

  • 我〜= Compact框架
  • SE〜= .NET客戶端配置文件
  • EE〜=完整的.NET框架(和一些額外的位:)
  • FX〜=的Silverlight

這不是一個準確的比較,但它是足夠接近的開始..

3

不同版本(SE,EE,ME和FX)都只是位於JVM之上的不同API(可在此處找到完整描述:Your First Cup)。它們不是不同的語言,所以沒有新的語法來學習它們之間的切換,只是不同的API調用。

個人而言,我更喜歡C#開發Web應用程序,因爲它與ASP.NET和MVC框架的集成。

4

當你說編輯器,我認爲你的意思是IDE(集成開發環境)。 Java之所以有這麼多編輯器和C#沒有,是因爲Java是開源的,而C#則不是。因此,您將在C#中找到的唯一真正好的IDE稱爲「visual studio」(它不是免費的)

我強烈建議您去java,因爲幾乎所有的工具都是免費的甚至是部署應用程序的應用程序服務器。

不要害怕java版本,如果你想構建web應用程序,你需要去JavaEE(企業版)。 無論如何,這是他們每個人都做的:

SE(標準版):它包含最常用的桌面應用程序的基本庫,但它也是企業版的一部分。

EE(企業版):用於企業應用程序(不只是Web應用程序),這樣就意味着分佈式編程,從網絡應用程序,桌面到Web服務...

ME(微型版):是指對於移動技術而言,不僅僅是手機,還有自動售貨機,智能電視,導彈制導......;

FX:是一個以簡單的方式開發強大客戶的豐富開發平臺。

關於你的問題,EE和SE之間的差異,我已經回答了,換句話說:

EE是SE的擴展,包括EE,讓您的企業應用程序。 所以如果你想在EE中編程,你需要安裝SE(只要把它想象成一個系統需求)。

我真的不明白你的商業意味着什麼。我可以告訴你的是,企業版在其庫中集成了用於開發商業組件的工具,稱爲EJB(Enterprise Java Beans)。

EE,SE和FX是分離式產品的原因是因爲需要分離關注點。

例如:您可能創建了根本不需要通過互聯網進行通信的桌面應用程序。你爲什麼要在企業庫中使用分佈式編程?

惠顧所有方面,但最後一個問題是有點沒有道理。

+0

謝謝!非常翔實和很好的解釋。 – 2012-02-09 22:41:11

+0

有一個免費版本的Visual Studio ... – 2013-01-31 17:45:46

+0

@Nik Bougalis :)我不確定,但是,視覺工作室快遞?不知道,這有什麼好處嗎?我想,當你選擇一種編程語言時,你也希望使用一種非常受歡迎,並且已經有很多人使用的IDE,這樣當遇到困難時你可以更容易地找到解決方案。我對這個IDE並不熟悉,但即使是我,我想我也不會推薦它。 – sfrj 2013-01-31 20:35:03

相關問題