手機跨平台的美夢,你還夢著嗎?

        不少人都懷抱著,一次開發到處執行的美夢,市面上也有許多產品,針對這個問題點在努力,但那跟美夢總是有落差的,公司永遠的想著最低花費最高報酬,這點沒錯,但有捨就有得,可怕的是局外人,永遠都不知道他得到甚麼,失去甚麼,依然在自己快樂的夢裡,而自己也在這上面,有過血淚,所以這篇就是來分享一些自己的心得。





      理想的夢,Cordova真正達成做一套,就可以橫跨多平台,也是許多人最愛的夢想,甚麼iOS、Android這樣要找兩個人?多付兩人的錢,有這套我找個Web就能頂住了,多美好,但現實總是殘酷的,能跨平台是因為兩邊都有能執行Web的環境WebView,但Web的包袱也導致了效能上的問題,而透過Cordova去呼叫原生功能這塊,也要你的需求,都有人幫你實現,而且穩定,你才有辦法快快樂樂使用這樣的模式去開發,不然你也還是要有原生(Android、iOS)的工程師,你才有辦法擁有控制權,比較適用於接外包案,有明確的的範圍,且沒有未來神奇需求的情況下,但偏偏很多開發自己產品的公司還想用這套.....

        我比較看好的做法是Xamarin的做法,也是比較好的省成本方式,還是要有Android跟iOS的人,UI也要各自做,但優點是統一了語言可以共用邏輯的部分,然後還可以寫寫後端,缺點就是遇到問題可能網路上的資料比較少,Java派的話當然是J2ObjC囉!,既不會有UI效能的問題又能節省重複的工,真是最棒的解決方式,可惜就不夠美好,人人都愛萬靈丹...其實React Native也是類似的概念,只不過語言是JavaScript,三家有各自不同的實作,但概念上是類似的。

        C/C++派,這也是能夠同時跑在多平台上的語言,所以也是能達成上面共用邏輯,UI自己處裡的做法,但是這樣是不是反而增加了問題的複雜度呢?為了跨平台或節省開發成本,反而把事情更加複雜化,原本各自負責就能搞定的事情,又多了不同的技術來攪局,最後到底有沒有省到開發時間呢?這樣看來J2ObjC在原本的技術上延伸,是不是更理想呢?

不論如何這個夢,很多人會繼續夢下去.........

延伸閱讀
聊聊移動端跨平台開發的各種技術- dongweiq - 博客園 - http://www.cnblogs.com/dongweiq/p/4530234.html

留言