能否實現一種中間件將 iOS、Android、Windows Phone 7 上任意平台開發的軟體在其他平台也能運行?

類似java的虛擬機,.net的跨平台,因為大多數都是相通的,有差異的,再用一些類似插件等方式解決。這樣,開發人員就不用那麼累。應該比較難,但是跨平台不能說不可能實現吧?

從回答可以看出來,已經有人在做類似的事情了,那是否也說明了,以後如果應用可以直接跨平台,那麼就會影響它們的市場份額,因為壁壘降低了。至於屏幕,搜索等,我想這個並不是它們的壁壘,就類似台式機增加,變化一個硬體一樣的道理,不可能因為其中的一個硬體問題就要換一個操作系統吧?


跨平台的問題,最主要不是語言問題,而是用戶體驗問題。

在每個系統中,都存在一個「用戶認知」的「原生操作方式」,也就是說,操作方式最接近手機原生應用的方式最能夠讓目標手機用戶接受,但
是跨平台就意味著你在不同系統中的設計是一樣的,而所謂跨平台設計,事實上,要麼是給所有個平台用戶都帶來糟糕的體驗,要麼就是兼容一個平台的用戶體驗卻無視所有其他平台的用戶體驗。

如果你不能給用戶帶來好的用戶體驗,那麼還不如就只做一個 HTML 的應用,因為這樣做肯定跨平台了。


考慮幾個例子:

iPhone 的正面只有一個 Home 鍵,程序的所有操作都必須明顯的做成按鈕,佔用屏幕空間。

Android 的 Menu 鍵是標準鍵,因此所有操作都可以做進 Menu ,無須在屏幕上放那些按鈕。——從用戶認知的角度來講,你一個 android 應用,在屏幕上放滿各種功能的按鈕卻不提供 Menu 鍵支持,用戶會覺得傻。但你一個 iOS 應用,這些功能你不放屏幕上就沒法用。

與此衍生的一個問題是:APhone一般是長型的,用戶如果需要按四大天王鍵,手指肯定不可能點到屏幕上方,因此 APhone 設計屏幕按鈕應當設計在偏下的位置。——但 iPhone 相對來說扁一些,同時 iPhone 尺寸偏小,在保證能按到 Home 鍵的同時,單手能覆蓋整個屏幕,為了避免誤觸,一般 iPhone 界面的按鈕都設計在屏幕偏上的位置。

iPhone 肯定沒有照相機鍵。

Android 手機,(靠譜的)一般會存在一個真實的,雙行程的照相機鍵(半按對焦,全按照相,懂攝影的人都懂的)

iPhone 肯定沒有搜索鍵,Android 手機,Moto/HTC必有搜索鍵,三星手機長按菜單為搜索,國產手機產商常常沒有(因為他們以為三星沒搜索鍵,其實人家三星有)。

iPhone 肯定沒有回退鍵,Android 手機,肯定有回退鍵。

手機應用一般要全屏,那麼 3:2 的屏(iPhone), 4:3 的屏(iPad),16:9 的屏(APhone),16:10的屏(APad),5:3 的屏(WP),你版面布局肯定是不一樣的。而版面布局,又是與用戶體驗密切相關的。


已經有了啊

Web 就是


web應用一統江湖的夢想,被iphone的出現給無限期推遲了。


建議你了解下phonegap 一個跨平台的中間件 支持 iphone android window phone7 等等 僅僅需要了解html5 及javascript


html5


Cardova(PhoneGap)?

AppCan?


Firemonkey暫時支持IOS和Android的native程序 WP未來可能加入

Xamarin支持在ios和android上使用Csharp和.net 至於WP呢不需要

至於Browser的話感覺不是題主所想得到的


xface!


mono就是個c#跨平台框架,而且支持原生API,跨平台框架也就是解決業務邏輯復用,ui最好還是每個平台一套


目前主流的跨平台開發庫:

1,手機平台的話,有cocos2d-x,跨ios, android.

2,unity3d, 跨pc,網頁,手機平台。

前面人說的不同手機,設計體驗不同,所以跨平台庫不好的原因很可笑。

我用cocos2d-x開發一個ios版本的,再開發一個android的。比用object-c開發ios, 用java開發android,那個成本低?

利用跨平台庫的主流做法就是邏輯部分統一,各個平台ui模塊再重寫。

我的想法是傾向於用unity3d開發客戶端。基本玩法保持不變,網頁的,端游的,手機的,UI各自重新實現。一個統一的服務端。


你好 你說的這個東西 沒見過 倒是記得有國外的大哥在開發一個android上運行的 OX OS模擬器 如果說到跨平台了 那未來可能是html5.。。


不錯的啊。。。。


不看好類似的東西,稍微大點的公司,如果需要,都會直接招聘對應平台的開發工程師來寫原生的程序。其它公司要實現跨平台應用,HTML5是一個很好的選擇,沒必要再折騰一個平台出來。做這樣的跨平台方案,公司實力是很關鍵的,你說你一個小公司做出來,誰會用?穩定性、可靠性、用戶體驗等等,很難讓人滿意


國內的appCan也在做平台,與phoneGap,titanium,等領先國內市場。


Titanium 很不錯,我們已經做了一款產品,適配android和iPhone


很贊同pansz的回答。其實統一併不一定就代表先進的,大多數情況還是與公司的策略、實力、投入相關。

有一家不大不小的公司,在09年的時候,就開始做手機應用。當時nokia為王,智能機遠遠沒有今天這麼火。公司為了疲於應付客戶對多手機平台、快速發布的要求,於是引進了一個中間件產品(具體不說了,一個法國公司),就是可以達到一次編譯,多個平台運行。

經歷了2年,最終被自然淘汰掉,最主要的原因,就是pansz提到的,統一的中間件無法實現各平台差異化的設計,結果就是所有的平台的用戶體驗是中庸的。智能機 app重新回歸到native開發。

但是,並不是說這個中間件平台就沒有價值。至少,在2年內,他基本滿足了快速發布和部署的需求,對公司和項目來說,作用已經起到了,只不過對於當時做中間件開發team而言,稍微悲催一點而已。


adobe AIR 平台,很多ios 和 android 的應用都是基於adobe air 開發的,(Dr Stanley"s House 2,機械迷城, Hero Mages等)。


已經有了,node.js這個剛剛興起的技術。


adobe air


推薦閱讀:

鬥魚,熊貓APP 這類APP用到了哪些視頻,音頻方面的框架和技術?
簡訊驗證碼API哪家比較好?
自學 Android 什麼程度可以找工作?
Bitmap和Drawable的區別,為什麼要用bitmap?

TAG:iOS | WindowsPhone7 | iOS開發 | Android開發 | 中間件 |