当前位置: 首页 > 科技观察

Swift难以主导Android平台的四个理由

时间:2023-03-11 23:18:37 科技观察

Swift无法称霸Android的4个原因使Swift成为Android平台上的主流开发选项无疑是困难重重的。在今天的文章中,我们将讨论为什么Google仍然需要严重依赖Java。为了找到答案,我们不妨考虑另一个更具体的问题:谷歌需要投入多少努力才能让Swift成为Android开发者和用户的首选?还有,谷歌为什么要选择这样一条坎坷而漫长的道路?困难:将Android部分从Android迁移到Swift就像我们全家移民一样困难。首先,谷歌需要为Android开发Swift运行时,并确保其功能与现有的Java运行时一一对应。谷歌在这方面做了一些尝试——包括用更快的ART运行时替换DalvikVM,但两者仍然基于Java。更难的是,Swift很难成为Android平台上最好的语言。拥抱Swift必须循序渐进-即首先使用Swift和JavaVM,然后慢慢只留下Swift选项。这种转变需要数年时间,尤其是在像Android这样无处不在的生态系统中。Apple也面临着类似的问题,因为这两年它也需要在生态系统中同时维护Swift和Objective-C。在这个体系中,苹果拥有绝对的统治地位。但安卓相对来说更麻烦一些,因为它拥有大量的运营商、手机厂商和谷歌本身,三股重要的力量需要平衡。最终,这一举措将需要Android开发人员的积极参与——他们中的大多数人对Swift不太感兴趣。难度:开发者部分除了谷歌做决定,开发者也需要加入进来,以确保从Swift到Android的平稳过渡。Android当初之所以选择Java,是因为它拥有丰富的开发资源和从业者基础。但更年轻、未受过良好考验的斯威夫特缺乏同样的动力。不过,Swift确实势头强劲,各种开发者的认可,使其在今年4月的Tiobe编程语言排行榜中跻身前20名(目前第15名)。当然,开发者还需要花费相当多的时间来理解并彻底掌握这门新语言——这意味着Swift和Java将继续共存。从Oracle到Apple目前,Android计划使用OpenJDK而不是Oracle的Java,主要是因为后者一直在利用后者的知识产权来骚扰Google的开发工作。但毫无疑问,未来Oracle将继续主导Java的发展方向。同样,Swift是Apple的宠儿。即使已经开源,这也只是Swift长远发展,在跨平台应用中得到认可的途径。如果能够降低平台和运行时对专有技术的高度依赖,相信谷歌会继续积极推动Swift的转型。但需要再次强调的是,Swift的前进方向是由Apple控制的。当然,谷歌想要被关键竞争对手控制是不可能的——即使相关技术方案是开源项目。从理论上讲,Google确实可以为Swift创建一个fork并占据主动,但完整语言的维护和管理会带来高昂的成本。按照谷歌的想法,转用Go可能更靠谱。如果谷歌真的想摆脱第三方语言和运行时的束缚,那么从Java转向Swift可能不是最好的选择。在内部构建语言、运行时和工作链是理想的:Go或Golang是Google的救世主。Go目前被用于移动开发领域。它的1.5及以上版本同时支持Android和iOS,并有一个“app”包,这意味着开发者可以为这两个平台编写完整的Go应用程序。当然,需要指出的是,移动设备对Go的支持还处于试验阶段。如果谷歌使用Go或Swift作为Java以外的Android平台的补充方案,还有很多工作需要逐步完成。就目前而言,Android生态系统在相当长的一段时间内仍将以Java为中心。原文链接:Swift难以称霸Android平台的四大原因【.com独家翻译,合作站点转载请注明出处】