作者AlvinX (這裡是暱稱)
看板WindowsPhone
標題Re: [討論] Windows Phone 7 致命缺陷
時間Fri Jun 22 13:39:02 2012
原文有兩個錯誤
1. 並非只有大公司才使用Native Code。一般開發者(Indie Game Developer)
會怎麼寫遊戲? 有很大一部份的人會購買小型的商用引擎, 一套約10萬以下,
而且可以不抽成, 開發無限款遊戲。
而這些商引擎用是Native Code開發成, 用自己的VM跑腳本語言, 開發人員就
撰寫腳本語言+準備美術素材。完成之後就可以Build成iPhone/Android/PC等
版本。
但是WP7沒Native Code, 但WP8有, 所以在邊際效應的考量下, 這些商用引擎,
一定很快會支援WP8, 這時在iOS/Android上的APP大軍, 管他大小型公司,
很多APP都會移到WP8上。並非只有EA, Gameloft...這種大公司才用Native code。
2. Native code 影響的不只是遊戲, 有太多APP非得用Native Code才寫得出來,
比如影像處裡, 影片播放這種高效能需求的APP都需要Native Code。iOS上就有
BuzzPlayer, XYPlayer, ECPlayer這類能播各種格式的影片軟體。而WP7
就乏善可陳。為什麼? 因為Native Code, 他們可以把各式Open Source的解碼
函式庫build成ios/android, 但WP7, 很抱歉, 重寫成C#比登天還難。
※ 引述《Cinkot (...)》之銘言:
: 現往後的App若是使用 Native Code 來開發,那WP7就只能旁邊畫
: 圈圈。就算不是用 NC 來開發的App,也是有機會因為API之類的問
: 題而出錯。前面也有大大提到很多次了,需要效能的App會使用NC
: 來開發。精美的遊戲也會用NC來開發,因為還可以搭配微軟七大神
: 器之一 DirectX。一般開發者則會使用 C# 來降低開發困難度,但
: 大公司可能就會直接考慮用 NC,反正死道友不死貧道,難寫是RD
: 的事。而微軟推薦使用 C#,因為這樣WP7的裝置才有得用,加上C#
: 本來就是他力推的。但是不管怎樣,反正WP7不能升到WP8,不能用
: NC,都已是既定事實。
: 我相信現在很多人都很氣,尤其是拿二代機的。但我個人是還好,
: 因為我是拿一代小莫,我不care能不能升級到WP8。因為微軟說會
: 把WP8的新功能下放到WP7來,我在意的只有要放什麼下來,什麼會
: 被放下來?新的UI有,很好。可是光是從目前發佈的新聞稿看起來
: Nokia Drive,現有的WP7(Nokia以外)似乎是無緣的,這才是真的
: 會跳腳的點。
: 至於那些往後會有的精美遊戲,高效能App,我也覺得還好。當然
: 主要是因為我也不玩遊戲,再者就算WP7能夠跑NC的App也不見得跑
: 的順,畢竟硬體真的舊了。比較擔憂的是現有的App其實還是東缺
: 西缺。缺的原因可能是開發商(者)覺得WP還不成熟,沒有吸引力,
: 或者單純就是開發進度緩慢。但最怕的就是他們是在等NC的出現。
: 現在NC出現了,他們就緊抓著NC,那只能仰賴C#的WP7就仰天長歎
: 了。舉例像是啟動速度慢到離譜的What's app,若是改用NC來寫,
: 是否速度就會上來,那開發商是要選擇拋棄現在的C#版只顧NC版,
: 或者是考量現有的2%持續只維護開發C#版,抑或是兩版本同時維護
: 但又有可能C#更新的不完全又或者慢一拍,讓我們繼續看下去。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.3.139
1F:推 Domos:專業 06/22 14:53
2F:推 ttykimo:長知識! 06/22 15:25
3F:推 friedpig:看來WP7.8還是保持被罵得要死APP市場了 6/20以前還夢想 06/22 15:32
4F:→ friedpig:能靠升級舊回來 06/22 15:33
5F:推 arrenwu:我同意這篇的說法。但是Killer App常用到 Native Code 嗎 06/22 15:36
6F:推 icarus0508:1 同意 2. 不一定 c# lib已經很多了 特別ms自已有很多 06/22 15:37
7F:→ icarus0508:可以解同樣的問題 06/22 15:37
8F:→ icarus0508:回a大 killer app 要看是哪樣的killer等級 06/22 15:37
9F:→ icarus0508:反正你可以想像 nc是個能力強大但不好控的玩具 06/22 15:38
10F:→ icarus0508:c#是ms提供的簡單好寫的東西 然後ms自已也給他很多 06/22 15:38
11F:→ icarus0508:lib可用 06/22 15:39
12F:→ icarus0508:要不要用 就看各公司考量 06/22 15:39
13F:→ icarus0508:另外 如果wp7.8的ie 是ie10 且支持html5 那就可以 06/22 15:40
14F:→ icarus0508:解決一些問題 如果html5 這幾年起來的話~ 06/22 15:40
15F:→ icarus0508:不過到時大概早換手機了xd 06/22 15:40
16F:→ icarus0508:還有 請不要小看c# 很多多媒體的lib ms都有弄好了 06/22 15:41
17F:→ icarus0508:同時也已經是標準語言了 06/22 15:41
18F:→ icarus0508:一切還是要等7.8出了spec 再看看吧~ 06/22 15:42
如果說只要少數的Killer APP可以用C#實作, 我們就會有不少APP
留在WP7, 然後就會覺很好用了。
但我覺得事實非如此,
什麼叫Killer APP? 是指出在這個平台上, 這個平台就會大受歡迎的APP嗎?
很多人喜歡引用80/20定理, 套在手機上我們說
一個使用者可能只用一隻手機的20%功能, 然
而我們可以出一隻手機只有20%的功能嗎?
我認為是沒辦法的, 因為每個人的20%都不一樣,
這些20%聯集起來可能是80%或是100%。
同理, APP也是一樣, 只有20% "Killer APP"出在WP7就夠了嗎?
每個人的Killer APP都不一樣, 對A來說Birzzle很好玩,
但對B來說也許影像編輯會更有用。
i大說對一句"就看各公司考量",
以下就說明各公司會怎樣考量。
為了儘可能滿足所有WP7的使用者, M$理應降低開發商進入WP7的門檻,
吸引在iOS和Android的開發商將APP移入WP7。
原本還期待Tango會有Native Code, 有了Native Code,
起碼Native Code為基礎的APP就容易re-build到WP7上
但WP7確定沒了Native Code, 我想大多數的公司都不會特地轉成C#,
只為打入WP7這個不會再成長的平台。
回i大關於C#有很多好用的lib,
我承認C#的基礎.NET Framework提供一堆很強的基礎函式庫,
但那無助於大家把特地APP轉成C#, 再好用, WP7市場小, 實在是無強大誘因。
現在, 我想只有真正非常愛WP7的發開者會在WP7寫APP吧。
※ 編輯: AlvinX 來自: 220.135.3.139 (06/22 18:10)
19F:→ AlvinX:補充: 就以影片解碼常用的libavcodec來說, 06/22 18:14
20F:→ AlvinX:C#跟本就就沒有可以對應的LIB 06/22 18:14
※ 編輯: AlvinX 來自: 220.135.3.139 (06/22 18:14)