用什么语言编写移动应用程序?
从简单到复杂,它可以分为三个层次:事实上,它是将网页封装成应用程序。有很多工具和框架,比如cordova、uni等等。
以这种方式实现“应用程序”是最简单的方法,而且是跨平台的。只需为ios和android做一个设置。价格是功能弱,性能低,换句话说就是“卡”。
这种解决方案在ios和android上实现了本机框架。通用flutter和reactnative是流行的native跨平台框架。cocos2d和coronasdk的游戏也可以包括在这个级别。
由于ios和android可以在跨平台、一次性开发中运行,因此这种解决方案在应用程序实现上有一定难度。功能和性能也是中等的,不如原生应用,但比html5好得多。
直接在ios和android上开发本机应用程序。
ios可以使用objectivec或swift。
android可以使用java或kotlin。
让我们看一张图表。虽然很简单,但很明显:
大型互联网平台的后端实现通常是一个复杂的过程。许多平台将使用各种不同的编程语言,为用户提供更快、更安全、更稳定的体验。
从技术实现的角度来看,目前的互联网平台更多的是基于三大技术,一是分布式计算;二是分布式存储;三是资源调度管理。这三项技术也是当前大数据和云计算技术的基础。
如果我们考虑技术解决方案的稳定性和可扩展性,更多的互联网平台将选择使用java语言。一方面java语言的性能比较稳定,另一方面java的生态系统比较健全,java语言的成功案例很多,开发风险也会大大降低。与具体应用层的实现相比,在构建平台(容器)的过程中,我们更注重性能和可扩展性,而不是特别注重开发周期的长短和调整的方便性。因此,java语言无疑是一个更合适的选择。当然,在构建平台的过程中,也会调用用c语言或c语言构建的资源管理模块。
除了java之外,php和python也是常见的选择。使用php进行平台开发往往具有较快的开发速度,但后期的扩展,尤其是性能的提高,更多的依赖于云计算平台的支持。然而,由于php具有自然热部署的特性,php在后端开发领域得到了广泛的应用。另外,python也是后端开发的通用编程语言。虽然python和java在性能上有一定的差距,但python语言具有很强的资源管理能力和可扩展性。