2011-09-17 481 views
38

我知道如何用Java創建小型桌面應用程序。我想知道,我可以在Java中製作Windows Metro風格的應用程序嗎?因爲在網上只提到了C++/C/C#/ JavaScript等。如果可以,請給我一些參考,以便快速入門。如果不是哪一個將是最簡單的語言開始?用Java創建Windows Metro風格的應用程序?

+6

這實際上是一個非常有趣的問題。使用WinRT,爲Java創建與新框架的綁定應該相當容易,就像從其他語言訪問它一樣容易。只需一個月或兩個月。 ;) – macbirdie

+3

你可能有機會與IKVM :) http://www.ikvm.net/devguide/java2net.html,但我不知道它的工作效果如何:/ –

回答

14

您只能用C#,VB,JavaScript和C++創建Metro風格的應用程序。目前還不支持使用Java創作metro風格的應用程序。

+0

我也不會假設其他東西。一個相當封閉的生態系統,但內部有廣泛的選擇。 – Bob77

+7

實現像Java一樣的JIT語言存在一些技術上的挑戰,但向編譯語言添加Windows運行時支持應該相對簡單。只要語言運行時的代碼是用metro應用程序的開發工具包編譯的,就應該可以。 –

+0

但是沒有計劃將VBScript帶入我所假設的圖景中,只是提到另一個微軟工具。 – Bob77

6

您無法使用Java製作Metro風格的應用程序。

對於你的問題的另一部分,對於入門指南和語言很容易,MSDN具有起動的指導,幫助建立新的Metro風格應用程序,thisthisthis應該是有幫助的。

哪種語言最簡單,取決於開發人員,開發.NET或WPF或Windows Forms應用程序的人可能更熟悉他熟悉的環境,可能更喜歡使用C++和XAML或VisualBasic開發,具體取決於他以前一直在使用什麼,而來自web開發的人可能更喜歡javascript。對於新開發者,我會推薦使用C#和XAML,但這又是我的選擇,並不是每個人都會同意的。

Here是另一個指向MSDN指南的鏈接,並增加了一些額外的細節。

4

WinRT仍然基於COM,因此您應該可以使用類似the Java-COM bridge的東西從Java訪問它。使用它可能會非常困難(你必須爲方法名稱使用字符串等)。

如果您想在Java中使用WinRT,那需要修改Java運行時以及編譯器,以使它們知道WinRT類型。

+1

如果您從.winmd文件生成虛擬Java類/接口,那麼編譯器可能會保持原樣,並掛接JNI以便動態生成對象包裝。所以我認爲可以在JVM之間移植一個純粹的庫/ JNI解決方案,雖然它不會像.NET那樣無縫。 –

4

我相信你將無法使用Java和WinRT。對於你來說,最好的選擇是C#,因爲在我看來,這是與Java最接近的語言。

2

其實你可以很容易地通過使用CSS庫這樣一個寫一個Metro風格的Web應用程序:http://metroui.org.ua/

有了這個CSS,它可能產生在服務器端普通的老HTML和Java(例如,通過一個servlet),然後尊敬CSS類。

我這樣做是通過使用org.apache.ecs庫(它很古老,但它工作得很好)。

+0

問題是在Java中創建一個胖客戶端應用程序,而不是一個web應用程序(作爲選項在問題中確認) – Krease

0

C#和Java是類似的,但具有不同的框架。在C#中研究開發Metro Style應用程序。請記得註冊Windows Store應用程序的開發者許可證!

0

您可以用Java編寫應用程序,並使用GWT交叉編譯爲JavaScript。我們通過幾個Windows(電話和桌面)應用程序成功完成此操作。此外,該代碼可以與您的iOS和Android端口共享。

相關問題