新浪新闻客户端

Dropbox:为iOS和安卓开发共用源代码,会付出更多开发成本

Dropbox:为iOS和安卓开发共用源代码,会付出更多开发成本
2019年08月16日 21:23 新浪网 作者 XL科技说

  写一次源代码,就能在不同设备上执行,是很多开发人员的梦想,但是Dropbox开发团队在部落格分享了他们的经验,虽然这种方法看似节省许多开发工作,但是其背后隐藏的成本比想像中的高很多,因此Dropbox后来不再只用C++撰写iOS和Android应用程序,而是老实地使用各自平台的语言开发。

  

Dropbox:为iOS和安卓开发共用源代码,会付出更多开发成本

  在2013年的时候,Dropbox选择以C++撰写iOS和Android应用程序的共用源代码,而非选择使用Objective C与Java开发各别的程序,而他们已经不采用这样的策略,现在主要使用Swift和Kotlin 。Dropbox开发团队提到,共用源代码的策略需要付出许多隐藏的成本。

  

Dropbox:为iOS和安卓开发共用源代码,会付出更多开发成本

  只使用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++开发移动应用程序的人并不容易,当内部人才流失却没有足够的人才补足,而终使专案失败。

特别声明:以上文章内容仅代表作者本人观点,不代表新浪网观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与新浪网联系。
权利保护声明页/Notice to Right Holders

举报邮箱:jubao@vip.sina.com

Copyright © 1996-2024 SINA Corporation

All Rights Reserved 新浪公司 版权所有