大型的app都是用什么编程语言编写的?

你好,我来回答这个问题,我有9年多的IT从业经验,负责过一个大型App的前后端架构设计,以及多个小型App的架构编码工作。

大型App的开发,具体用什么编程语言,这个要分场景来说:


①追求用户体验的C端App:

这类面向普通大众、追求良好体验的App,例如微信、支付宝、今日头条等,则建议使用原生代码来开发。即Android使用Java或Kotlin,iOS使用swift语言。

使用原生语言开发,可以充分发挥出App的所有优势,你可以使用任何API提供的功能,而不像混合开发那样有着种种限制。此外,原生代码开发的App的运行速度也是非常流畅的。对于考虑兼容性广、适配所有机型的App来说,原生开发几乎是唯一的选择。

这类开发的弊端是研发成本较高,因为同样的业务逻辑需要在Android和iOS上分别来实现。



②追求迭代效率的B端App:

一些公司内部使用的大型App,由于使用范围仅限于某一个组织内部,不需要追求极致的用户体验以及广泛的机型适配,而追求的是系统版本的功能开发,问题处理的便捷性,更重要是降低App的研发成本。

对于这类App,适合采用混合开发的模式来做,例如Flutter、Ionic、Cordova等,这类开发的优势是一次开发,处处运行。无需再单独为Android和iOS分别开发代码,可有效降低企业的研发成本,也提高了App的版本迭代速度。此外,之前需要高薪聘请Android和iOS工程师,现在只需要会Web开发的人员即可。

这类App的弊端是流畅性较低,兼容性弱,无法开发大型游戏等对性能要求较高的场景。


以上就是目前App开发的两大分类,均占有一定的市场。所以你这个问题不能一概而论,需要分上述两个情况来决策,希望可以帮助到你!

哈喽,我是七步的天,有着五年多的编程经验,很高兴为你解答。

现在主流的开发app的编程语言可以分为两类。下面分别对这两类分别介绍。

(一)第一类:针对单一app开发的语言,即开发一套代码只能运行在一个平台上。

(1) 开发Android的:Java和Kotlin

Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,被称之为 Android 世界的Swift。Kotlin 可以编译成Java字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。运行效率提高很多,并且语法更加简洁好用。

如果是与系统底层进行交互则需要使用JNI技术,通过和C或者C++结合实现相应的业务逻辑,比如美颜或者直播类型的app。直播类型的app采用的ffmpeg技术,其中ffmpeg就是用C语言实现的。

(2)开发IOS的:Swift和Object-C

Swift 结合了 C 和 Objective-C 的优点并且不受 C 兼容性的限制。

(二)第二类:可以针对多个app端的编程语言,即只需开发出一套代码,就可以在多少平台上运行

(1)第一种是Flutter技术,基于Dart语言,比如现在闲鱼app就是基于flutter开发的。并且有着多年经验,而且闲鱼免费开源了框架。

Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。

Flutter的热重载可帮助您快速地进行测试、构建UI、添加功能并更快地修复错误。在iOS和Android模拟器或真机上可以在亚秒内重载,并且不会丢失状态。

尤其是在UI上使用Flutter的现代、响应式框架,和一系列基础widget,轻松构建您的用户界面。使用功能强大且灵活的API(针对2D、动画、手势、效果等)解决艰难的UI挑战。

(2)第二种是Uni-app框架,基于Vue.js。俗称一套代码编到8个平台上。

uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、H5、以及各种小程序:微信/支付宝/百度/头条/QQ/钉钉等多个平台。

小结

第二类开发起来更显效率,节约很多时间成本。

我是七步的天,如果觉得对你有帮助,喜欢就关注我吧。

有其他问题和见解的小伙伴,欢迎在评论区留言。辛苦留下你的宝贵意见。

欢迎点赞、关注、收藏。

Hi,我是科技互联网大叔,有多年的开发经验和架构经验,对题主你的问题还是比较了解的,今天我来回答下这个问题。

一个大型的App包含的内容会很多,比如客户端开发、服务端开发、前端页面开发等等,我会一一道来。

第一、客户端开发

客户端开发,大家应该是感知最明显的,就是你手机里下载的各种App,都是属于客户端开发。那么客户端开发主要用什么编程语言呢,这里又要区分Android和IOS。

Android的常见编程语言是Java,Java语言是一种使用特别广泛的语言,可以用来做很多层面的开发,最早的Android体系大家直接用Java来去开发,Android系统的编译器是可以编译运行的。当然现在越来越流行Kotlin,其实Kotlin是Java语言的一个变种,比Java语法更简练,最终也是运行在JVM上。

IOS常见编程语言是Objective-C,这是早期的编程语言,是基于C语言的一个变种,有很丰富的图形界面开发功能。不过后来苹果公司2014年自己推出了Swift语言,渐渐成为主流。毕竟Swift语言是苹果公司推出的,他们肯定更了解自己的IOS系统内核,所推出的Swift语言对于基于IOS的开发者来说简单易用。

第二、服务端开发

客户端开发主要是做展示,但其实App上有各种各样的数据是从哪里来的呢?比如电商网站的商品介绍,头条App的文章内容等等,这些都是需要服务端提供各种接口,客户端的程序去调用服务端接口,拿到数据后再给用户展示出来,这个做服务接口的就是服务端开发。

服务端开发常见的编程语言也是Java,哈哈,Java确实使用面很广,当然,能用Java的地方就可以用Kotlin。现在服务端开发流行微服务架构,各种各样的支持微服务的Java框架,比如Springboot,Dubbo等等,可以很方便的搭建高并发的服务体系。这些成熟的框架也使得Java进一步的流行起来。

当然现在有一个后起之秀,Go语言。Go语言是Google推出的一个新语言,可以很轻松的兼顾运行性能、开发效率及维护难度,以其独特的设计风格和优势在整个行业有了一席之地。

第三、前端开发

App里面的很多频繁变化的页面不会做成原生页面,而是做成Html5的页面。这种页面方便上下线和做一些修改,特别适合做各种活动的场景。

做前端页面的主要编程语言就是JS了,全称为JavaScript。这种语言是一种脚本语言,具有丰富的控制功能和组件交互功能,不过目前来说用原生JS语言做开发的很少,大部分还是会用比较主流的三大JS框架:VUE,React,Angular。

后端老牌语言:Java,C,C++,C#,其中很明显Java的地位无法撼动。

脚本式语言:Python,Perl,PHP,Ruby,他们比较轻量级,语法灵活,易读性和维护性比较差。其中Python在大数据方面的应用优势明显,所以排名靠前,而PHP下滑严重。

后端新锐:Go,虽然现在受众面比较小,但是以后前途是不错的。

前端语言:JavaScript。实际上js的影响力比排行榜上的位置要靠前,统治了前端的语言。

移动端语言:Swift以及没上榜的ObjectC。没啥好说的,iOS专用。


APP是Application software的缩写,可以翻译为应用软件,主要是给最终用户使用的。例如,Office全家桶,PS,浏览器,播放器这些都是APP,甚至Linux下的一些没有图形界面的APP。

WEB APP

这些软APP通常使用C#,C++,Java,Python,shell,Perl这些语言编写。当然,最近也有使用Electron这样的平台开发的软件,如著名的VSCode,它使用的是Web语言,也就是HTML,CSS,JavaScript。

移动APP

为移动平台创建的APP,被称为mobile APP(移动APP)。我认为是想问的是这种类型的APP。这种类型现在的开发类型主要分为原生开发和混合开发。

原生开发就是移动平台(iOS和Android)各自推荐的语言。

  • iOS平台主要是Swift和Objective-C。

  • Android平台主要是Java和Kotlin,当然还有用C++写的。

  • 混合开发的话,就是想实现使用同样的代码运行在不同的平台。主要就是有那么几个混合开发平台,如Cordova,React Native,微信小程序,这些平台主要使用web语言,即HTML,CSS,JavaScript。当然还有最近比较火的Flutter,使用的是自家的Dart语言。

相关代码参考