手机上的APP都是用什么编程语言写的
主要针对两大移动端:Android和IOS,我们就不多说了,下面我们从另一个角度进行分类。

01

第一类:针对单一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 兼容性的限制。

02

(二)第二类:可以针对多个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/钉钉等多个平台。

小结:
第二类开发起来更显效率,节约很多时间成本。当然,如果加上大型APP这个限定条件的话,就不能用单一的某一种编程语言来说了,一般情况下大型APP必然会用到的编程语言有三种:

第一种:平台原生推荐语言,如:Android平台的Java和Kotlin,ios平台的object-c和Swift(swift版本之间的差异比较大,要学习的话还是要注意版本选择)。这部分一般用于处理核心业务、权限请求以及高性能要求页面。

第二种:web语言,这里主要指的是h5相关的技术栈。这部分主要处理非核心业务逻辑,以及需要动态更新的页面。

第三种:NDK相关,这里一般用到的就是C、C++。大部分写业务逻辑的同学用的比较少,不过大型APP一般还是会用到一些。主要应用于安全性要求高,高性能算法以及跨平台算法实现。

素材源于:文章来源,C语言与程序设计;直接来源:嵌入式ARM

版权归原作者所有。仅供技术的传播和学习讨论,如涉及作品版权问题,请联系我进行删除。

【手机上的APP都是用什么编程语言写的】相关推荐

  1. 对安卓手机上的APP做monkey压力测试

    之前对安卓手机上的APP做了monkey测试,今天来总结一下如何使用安卓自带的monkey命令去做测试. 首先,PC端要对安卓手机进行monkey测试的话,必须要有以下条件: 1.电脑中必须配有ADB ...

  2. Android Studio项目打包生成可安装在自己手机上的App安装包文件

    点击上方"码农的后花园",选择"星标" 公众号 精选文章,第一时间送达 Android程序开发完后,如果要发布在互联网上供别人使用,就要将自己的程序打包成And ...

  3. 用JS任意控制手机上的APP

    用JS控制手机上的APP 1. 控制代码 可以用如下简单的JS代码,控制手机上的第三方APP的行为,实现自动测试等功能 再加上流行的UI交互,可以快速做成牛皮的自动化工具 开源文档:RobotJS文档 ...

  4. NFC是什么 Android手机上的NFC都能做什么

     http://www.anruan.com/news/916.html 在去年后续登陆的Android机型中越来越多的Android机开始配备NFC功能.对于这个新的概念也许很多机友表示不明白有 ...

  5. 手机上的APP是如何与服务器通信的

    文章转自本人公众号:机械猿,本人之前在四川某汽轮机从事结构强度设计,目前在阿里巴巴淘宝事业部担任高级开发工程师,有机械工程同行想转行IT,或者有想入职BAT的可以找我内推~ 絮叨 讲解CS通信之前,先 ...

  6. 凌晨三点,你手机上的APP在自动签到

    点击上方蓝色文字,选择"置顶公众号" 第一时间关注 Python 技术干货! 阅读文本大概需要 5 分钟. 前两篇文章讲到了自动化框架 RF 的搭建和自动化操作你的浏览器.还没上车 ...

  7. 苹果手机利用itune和手机上的app电脑互传数据

    苹果手机可以利用APP和电脑互传数据.

  8. 手机上app测试总结

     手机上的app分为基于HTML5的app(类似于pc上的b/S应用)和本地app(类似于C/S结构). 所以 测试上我们也可以充分吸收 web的b/s和c/s测试经验.但是不同于pc上的应用测试 ...

  9. ios 隔空投安装ipa_ipa文件是什么?怎么安装ipa文件到苹果手机上?

    近期有多人咨询咔叽一个问题 "iphone中的ipa文件如何安装到苹果手机上?",都知道安装到手机上的是App,那ipa文件又是什么呢?下面就来讲解一下关于ipa文件的相关内容. ...

  10. ios动态库注入把越狱手机上自制的动态库安装到普通手机上

    文章目录 预备条件 导出越狱手机上的app包和自己注入的动态库 导出自己写的tweak动态库文件 查看依赖库 执行命令查看程序依赖的动态库名字 用machoview查看 安装insert_dylib ...

最新文章

  1. 16-acrobat por 简单使用指南
  2. Java项目:家教管理系统(java+SSM+MyBatis+MySQL+Maven+Jsp)
  3. python精品课_【人生苦短,我用Python】Python免费精品课连载(1)——Python入门
  4. 计算机基础知识教程职称怎么计算,2017年职称计算机考试基础知识教程详解(二十)...
  5. 从源代码解读spring之DataSource实现和FactoryBean模式(JndiObjectFactoryBean)
  6. python opencv图片放大 缩小_Python OpenCV之图片缩放的实现(cv2.resize)
  7. fedora 27 mysql_无法在Fedora27上的Python2 virtualenv中使用mysqldb
  8. Codevs 1025 选菜
  9. Morph-UGATIT:一种支持渐进式域迁移的图像翻译方法
  10. Fiddler绕过前端直接和后台进行交互
  11. 微信快速开发框架(五)-- 利用快速开发框架,快速搭建微信浏览博客园首页文章...
  12. 安卓仿苹果键盘输入法_仿ios输入法安卓版
  13. 中国港口年鉴(2000-2020年)
  14. 【基于stm32f103c8t6RFID-RC522智能开关】
  15. 给电脑装一个双系统Linux,安装Linux让你的电脑变成双系统的七个理由
  16. 终于申请自己的博客了
  17. 路由器桥接显示无法连接服务器,路由器无法桥接怎么办
  18. OpenWRT设置ADGuardHome+小喵咪
  19. etr2模式,时力高HXD1C转换开关KRGV+ETR2
  20. 漫谈程序员系列:软件开发的十八般乐趣

热门文章

  1. ThingJS:探索3D信息技术发展应用之3D城市地图搭建
  2. html5自动播放视频
  3. JS在H5下实现本地历史搜索记录
  4. python 包络线_Matlab 如何绘制复杂曲线的包络线
  5. 如何优化网站才能让网站打开速度更快
  6. 软件测试周刊(第67期):用一颗浏览的心,去看待人生,一切的得与失、隐与显,都是风景与风情。
  7. bitbucket配置_如何配置Bitbucket的ssh
  8. c语言程序运行超时是怎么回事,这个运行超时是什么原因?求助~
  9. 淘客必看的抖音引流方案,淘客小白如何在抖音上引流?
  10. 栈——后入先出的数据结构(LIFO)