之前看到的消息
Windows Phone 8 (Windows 8)
看來 ARM 平台是同時在進行, 不會 x86 版出來很久才出...
IE10 and Windows running on ARM
ARM 1.0GHz, Ram 1GB, 沒筆/沒觸控.
CPU... "NVIDIA just tweeted that it's actually a Tegra 2 SOC."
系統以 Windows NT/200/XP/Vista/7 為核心,
不像現在, Pad 的 Embeded Compact7, 跟 Mobile/Phone 都是以 WinCE 為核心.
一開始的 NT 設計就不限在 x86, 有 mips, powerpc, alpha 等等,
只是後來不符經濟效益, 都停掉了, 再把 ARM 加回來應該不是難事.
不過, 現在的 ARM 的機子, 可以跑 Windows 8 嗎?
我是抱懷疑態度...
並不是 cpu 可以 ok 就沒問題, 整個平台, bios 都是相關的...
像 intel 的 Moorestown(Z6xx) cpu, 雖然是 x86, 也不能跑 windows..
http://news.softpedia.com/news/Intel-Moorestown-Will-Never-Support-Windows-143898.shtml
Intel Moorestown Will Never Support Windows
另一個關鍵是 AP,
目前 Windows 的重量級 AP, 都是 native code,
也就它的執行檔直接是 x86 的 machine code,
不管是 ms office, open office, photoshop 等, 都是如此,
這種軟體, 是不能直接拿到不同 cpu 上執行的.
(Windows Mobile 6 之前的大部份軟體也是如此,
像 Papago 之類的, 所以在更早的 PocketPC 這些軟體還要分不同 cpu 版本)
但, 現在 Andorid/WindowsPhone7 則不是如此,
AP 都是 build 在 VM 的機械碼上,
Andorid 用 Java, WindowsPhone7 用 .net(SilverLight)
在這些 vm 上跑小 AP ok, 要跑完整 office 那種大東西... 不確定,
當初也有在 java 上發展 office 的 計畫, 最後也不了了之?
本來有點期望 openoffice 能在 java 上, 也沒有...
而且現在的趨勢是把軟體做在雲端...
LeonHong wrote:
ec大 只要是純.n...(恕刪)
嗯...
我知道純 .net (或是是純 managed code) 的東東沒問題,
問題是, 這種 ap 能寫多大的..?
java 已經出來很多年了,
為什麼會沒有一套用 java 寫的 office 呢?
是不是有什麼 peformance 的問題...?
(
不過, java 問題相對的比 .net 多,
.net 的出發點是能盡量發揮平台上的優勢,
而 java 是希望維持各平台上的相容性,
從 swing(java 上 ui 的 fx) vs winform 就可以看得多...
swing 的 window 都是自己 render 出來, 不透過 os, 相對的枆的資源就大,
而 .net 的 winform/wpf, 都是靠 os, 進一步的 os 靠 gpu 硬體, 兩者就差很多,
嗯... 講遠了...
)
ec wrote:
swing 的 window 都是自己 render 出來, 不透過 os, 相對的枆的資源就大,
而 .net 的 winform/wpf, 都是靠 os, 進一步的 os 靠 gpu 硬體 ....(恕刪)
錯~
swing 的 window 是JAVA VM render 出來
.net 的 winform/wpf的 window 是.NET Framework VM render 出來
都一樣
JAVA VM是掛在OS上,.NET Framework VM 也是掛在OS上
也是都一樣
要不然怎麼宣稱跨平台? 怎麼叫"Managed" code?
枆的資源多寡,跟VM的架構有關係...
james-bc wrote:
錯~swing 的 ...(恕刪)
swing/winform 當然最終是由 vm render 出來,
我講的不是這個, ok?
例如要開一個 window,
swing 跟 winform 作法有什麼不同?
swing 的 window 是靠 java "畫"出來的,
("畫" 這個底層是透過 jvm 去做),
其它的就 window 的 style, button, menu 有的沒的, 就 java 則自己畫.
而 .net 作法, 則是交底層由底層, 叫 OS 去開 window...
java 一開始的 awt 也是如此,
為了要維持相容,
awt 就變成是各種平台的交集.
http://j2se.myweb.hinet.net/article/java/hw02.htm
指的就是 Swing 是由純 Java code 所寫成
相對於 Swing,由於 AWT 的 native code 具有 C 語言的成分,若您
想自行更動 AWT 的視窗變化時,您必須撰寫自己的 C 語言原生碼,
然後再搭配 AWT 的原生碼與 JDK 函式庫。遇到不同的作業平台時,
又必須重新修改和編譯自己所寫的原生碼。因此 AWT 不具跨平台特性、
耗時且難以理解,且又耗費系統資源,所以就稱之為 heavyweight component
,表示 AWT 元件是不容易更動的。
**********************
當時, swing 的講法是自己畫是 lightweight, 靠系統是 heavyweight,
但是靠自己畫, 可以很枆 cpu 的, 相對的靠系統, 則系統還可以靠硬體加速.
當是官方java是全力發展 swing,
非官方則是有各種做法,(MS 也有拿 java, 不過採到底線, 被告...)
*************************
Swing 則是針對 AWT 的問題而誕生的,其擁有樹狀元件等較複雜的
元件,以及克服與作業系統有關的問題,但是由於所產生的元件是利用仿照的,
因此顯示速度較慢,造成在實用上相當不利的缺點。SWT 則針對 AWT 和 Swing 的問題作了改善,
SWT 是一套與作業系統無關的圖形與元件函式庫,在元件的產生方面採用了適當的模擬。
在基本的元件方面則是採用原有作業系統的,至於較複雜的才是用仿照的。此外,
SWT 對於作業系統原有獨特的也提供支援,例如 Windows ActiveX。
>目前 Windows 的重量級 AP, 都是 native code,
>也就它的執行檔直接是 x86 的 machine code,
>不管是 ms office, open office, photoshop 等, 都是如此,
>這種軟體, 是不能直接拿到不同 cpu 上執行的.
>(Windows Mobile 6 之前的大部份軟體也是如此,
>像 Papago 之類的, 所以在更早的 PocketPC 這些軟體還要分不同 cpu 版>本)
.NET應用程式執行的時候也是先編譯成native code才跑的,查一下NGen和JIT就知道了。
Microsoft已經展示過ARM版的Office,原則上應用程式只需要用能產生ARM machine code的compiler重新編譯就好了。
>但, 現在 Andorid/WindowsPhone7 則不是如此,
>AP 都是 build 在 VM 的機械碼上,
>Andorid 用 Java, WindowsPhone7 用 .net(SilverLight)
>在這些 vm 上跑小 AP ok, 要跑完整 office 那種大東西... 不確定,
>當初也有在 java 上發展 office 的 計畫, 最後也不了了之?
>本來有點期望 openoffice 能在 java 上, 也沒有...
>而且現在的趨勢是把軟體做在雲端...
你可以把.NET Framework Runtime視為一種VM,但它和Java VM做的事情絕對是不一樣的。
.NET從MTS->DCOM->COM+一路演化過來,規模已經不是問題,那為什麼Office之類的應用程式還不是用.NET寫的呢?因為除非把整個產品重寫,但正常情況下不會有人這樣做。另外就是某些OS提供的功能並沒有包含在.NET Framework裡面,這種情況使用native code開發也許會比較容易。事實上Microsoft最近的產品已經有部份元件改用.NET了,像Visual Studio裡的某些功能。
另外Windows 8上市時使用的ARM處理器或SOC會比Tegra 2快上許多。
內文搜尋

X