以前很多公司都高度评价C++的跨平台能力,但现在他们却决定不再使用,这种转变背后的经济代价究竟有多大?这个问题自然成为了开发者们关注的焦点。
曾经的推崇
2014年,公司对C++的跨平台开发持积极态度。那时,公司对开发人员分享的内容可以反映出这种立场。那时,编写两套代码被视为有很大缺点,而C++的跨平台特性被认为能有效解决这些问题。公司推荐使用C++,旨在利用其优势整合资源,提升开发效率,以便在多个平台上展现良好应用。在跨平台开发领域,C++一度被视为理想选择。但时间推移,新的问题逐渐显现。
当时,C++社区的一些内在优势得到了进一步的凸显。比如,它在处理基础逻辑和数据网络逻辑方面表现出色。众多开发者相信,用C++编写共享库可以节省资源。此外,在那时,C++的跨平台特性在一定程度上减轻了开发者的工作负担。
如今的放弃
现在情况有了很大不同。公司不再用C++来编写适用于iOS等平台的代码。这主要是因为代码共享涉及的成本实在太高。例如,在构建框架和库时,费用相当可观。而且,C++在移动领域的开源氛围并不浓厚。在当前这种需要众多开源工具来推进开发进程的环境中,C++社区的这种状况显得尤为不利。
此外,在移动开发领域,新技术的出现和新模式层出不穷。然而,与这些相比,C++的开发似乎显得有些落后。许多移动开发者对于参与C++项目并不热衷。在这种背景下,C++的跨平台开发因缺乏足够的人手而难以顺利进行。
来看看原生框架
选用各平台自带的开发工具,如Swift,确实有不少优势。这些框架在开发过程中,大多无需过多考虑兼容性问题。以iOS系统为例,使用Swift编写的框架,能充分利用系统本身的各项特性。
原生框架能很好地融入平台特性。比如在动态效果展示、设备传感和用户交互等领域。因为它是专门为该平台设计的,所以在这些领域的支持自然更加完善。因此,应用的使用体验能得到有效保障。
曾经的经验成债
过去推崇的C++跨平台开发技术,现已成为技术上的负担。回顾5年前的决定,现在看来确实有失考量。原先期望通过C++的中间库来共享逻辑,提升效率,但现在却带来了诸多不便。尤其在UI设计上,一开始就要求用原生代码编写,而现在全面转向原生技术,这也间接反映出当初策略的不足。
从长远角度考量,持续投入于之前基于经验建立的开发模式,其成本可能并不比回归原生技术更低。公司为此付出了相应的代价,以调整过往的发展方向。
其他类似的放弃案例
2018年,某些企业选择停止使用React,转而采用原生技术。这一做法与现阶段的放弃C++进行跨平台开发决策有相似性。项目规模扩大后,维护难题变得尤为突出。特别是在实现跨平台时,需要投入大量时间和精力去解决不同平台间的差异问题。
第三方库相较于原生平台,内容不够丰富,结构也不够坚固。在使用某些功能时,可能会遇到阻碍。尽管回到原生平台看起来像是走了弯路,但实际上,这是经过深思熟虑后的决定。
对未来的展望
尽管我们放弃了这种跨平台开发方式,但这并不意味着我们未来没有机会。或许C++的社区会有所转变,之前提到的一些不利因素可能会消失。然而,目前看来,原生技术似乎更有优势。
手机制造商们理应从此类事件中汲取经验。在采纳新技术时,需全面权衡其利与弊。不能仅着眼于眼前的利益,还需关注对未来发展可能产生的影响。
大家对舍弃C++进行跨平台开发的举措有何看法?期待您的点赞、转发和评论。