Dropbox:為iOS和安卓開發共用源代碼,會付出更多開發成本

   信息來源:PtxhJdFpM

寫一次源代碼,就能在不同設備上執行,是很多開發人員的夢想,但是Dropbox開發團隊在部落格分享了他們的經驗,雖然這種方法看似節省許多開發工作,但是其背后隱藏的成本比想像中的高很多,因此Dropbox后來不再只用C++撰寫iOS和Android應用程序,而是老實地使用各自平臺的語言開發。

在2013年的時候,Dropbox選擇以C++撰寫iOS和Android應用程序的共用源代碼,而非選擇使用Objective C與Java開發各別的程序,而他們已經不采用這樣的策略,現在主要使用Swift和Kotlin 。Dropbox開發團隊提到,共用源代碼的策略需要付出許多隱藏的成本。

只使用C++開發不同平臺的程序,最大的成本,就是需要額外建立自己的框架與函式庫,Dropbox開發團隊提到,他們為了讓移動應用程序能與主機環境互動,而開發了幾個框架,包括能產生跨開發語言類型宣告和界面綁定工具Djinni,還有可用于后臺執行任務和主要執行緒的框架等。函式庫方面,則有為JSON序列化開發的json11,以及為C++開發不可空值函式庫nn。

但只要采用平臺原生語言,這些工作都可以避免,而且C++比起Python或C#,所要付出的成本更高,因為C++缺乏單一全功能標準函式庫,雖然可以用開源社群資源,發展這些框架與函式庫,但是Dropbox開發團隊提到,C++社群的開源風氣并不如移動開發社群興盛。

當不使用Google和Apple的開發環境,也就等同于放棄各陣營,對開發平臺提供的最佳開發實踐。Dropbox開發團隊表示,移動生態系統有許多工具可以加速開發效率,特別是對應用程序除錯來說,在平臺預設的IDE中,為原生開發語言除錯,比C++源代碼容易許多。此外,Dropbox開發團隊還需要投入時間建置工具,來支持共用C++源代碼,像是需要創建一個函式庫來打包C++源代碼,使其能夠被Apple的Xcodebuild和Google的Gradle讀取。

而且即便iOS和Android都是移動應用程序,有著相同的特性與功能,但畢竟平臺仍然存在差異,因此也會影響實作的方法,像是iOS和Android的后臺程序的執行方法不同,和照片檔案互動的方法也不一樣,因此也難以真的達到只撰寫一次源代碼,就可以在不同平臺執行的理想。而人才也是一大問題,要找到能以C++開發移動應用程序的人并不容易,當內部人才流失卻沒有足夠的人才補足,而終使專案失敗。


牌九歌,邸秋紅,神的手表,迪拉盧王,李林熙,敵羞吾去脫他衣,冷宮囚歡,官能教習,天之禁2,岳程程,僵尸保齡球,龍鳴鳳舞,神鷹魔狼傳,極品飛車11配置要求,邊疆頌歌歌詞,直死之魔眼,福力康,sophone4,穿越新石器時代,韓姿雪,刷黃鉆代碼,少女娼婦三邦車視網,中茶茗品家居專營店,撈情網,鄭才木,拳皇wing1.9,嘮叨藥,中國奇跡的黃昏,無上圣尊,男子當女兒面吸毒,諾曼琦官方網站專賣店,問道內測論壇,wpe封包教程,柯蘭h,途程網,杜宥儀高靖榕,陳程玉,單獨二孩明年初實施,第一條暴君的刷新時間是開局多少分鐘,立陶宛多國軍演,龍蛇演義2,天心傳奇登陸器下載,呂明奧數,吳鐵花個人資料,落枕30分鐘治愈,我的欲望發動機,喪尸圍城配置,死歌出裝,雪利奴,七殺器,避二胎罰款嫁舅舅,6080藍雨,九轉神龍決,ca1109,瀚視奇官網,52酷播,翩躚麗人行,qq密碼大盜賊,重生之擅始善終,永恒精魄,真鍋卡奧麗,歷史的天空小說,拳皇1.68下載,軍王獵妻之魔眼小神醫,寵妻婚然天成,以撒的結合圖鑒,使命召喚9error during,冥戰錄,263聊天跑車,月關作品集,艷色異世界,億次元,生日祝福語 簡短獨特,名殿功夫,河北云辦稅廳,雜交少年,qq九仙圖標怎么點亮,馮愛萍 馬拉松,首學網,三國群英傳8修改器,秦時明月 呂丹 小說,美人夜來香,伊麗莎白·奧爾森,中國夢想秀20130429,可提瑪官方網站,誰家夫君,國產零零發txt,第一邪皇,獵魔手記,陳曦予,斗羅大陸七怪成神之路,奮斗在初唐,大帝國修改器,易順佳進銷存,頑皮的寶寶洗澡,黑崎直步,百分數的認識ppt,洪子亮,章慕良,王紫漪,

2018傳奇手游排行榜
蜘蛛池