【手机上的APP都是用什么编程语言写的】
手机上的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都是用什么编程语言写的】相关推荐
- 对安卓手机上的APP做monkey压力测试
之前对安卓手机上的APP做了monkey测试,今天来总结一下如何使用安卓自带的monkey命令去做测试. 首先,PC端要对安卓手机进行monkey测试的话,必须要有以下条件: 1.电脑中必须配有ADB ...
- Android Studio项目打包生成可安装在自己手机上的App安装包文件
点击上方"码农的后花园",选择"星标" 公众号 精选文章,第一时间送达 Android程序开发完后,如果要发布在互联网上供别人使用,就要将自己的程序打包成And ...
- 用JS任意控制手机上的APP
用JS控制手机上的APP 1. 控制代码 可以用如下简单的JS代码,控制手机上的第三方APP的行为,实现自动测试等功能 再加上流行的UI交互,可以快速做成牛皮的自动化工具 开源文档:RobotJS文档 ...
- NFC是什么 Android手机上的NFC都能做什么
http://www.anruan.com/news/916.html 在去年后续登陆的Android机型中越来越多的Android机开始配备NFC功能.对于这个新的概念也许很多机友表示不明白有 ...
- 手机上的APP是如何与服务器通信的
文章转自本人公众号:机械猿,本人之前在四川某汽轮机从事结构强度设计,目前在阿里巴巴淘宝事业部担任高级开发工程师,有机械工程同行想转行IT,或者有想入职BAT的可以找我内推~ 絮叨 讲解CS通信之前,先 ...
- 凌晨三点,你手机上的APP在自动签到
点击上方蓝色文字,选择"置顶公众号" 第一时间关注 Python 技术干货! 阅读文本大概需要 5 分钟. 前两篇文章讲到了自动化框架 RF 的搭建和自动化操作你的浏览器.还没上车 ...
- 苹果手机利用itune和手机上的app电脑互传数据
苹果手机可以利用APP和电脑互传数据.
- 手机上app测试总结
手机上的app分为基于HTML5的app(类似于pc上的b/S应用)和本地app(类似于C/S结构). 所以 测试上我们也可以充分吸收 web的b/s和c/s测试经验.但是不同于pc上的应用测试 ...
- ios 隔空投安装ipa_ipa文件是什么?怎么安装ipa文件到苹果手机上?
近期有多人咨询咔叽一个问题 "iphone中的ipa文件如何安装到苹果手机上?",都知道安装到手机上的是App,那ipa文件又是什么呢?下面就来讲解一下关于ipa文件的相关内容. ...
- ios动态库注入把越狱手机上自制的动态库安装到普通手机上
文章目录 预备条件 导出越狱手机上的app包和自己注入的动态库 导出自己写的tweak动态库文件 查看依赖库 执行命令查看程序依赖的动态库名字 用machoview查看 安装insert_dylib ...
最新文章
- 16-acrobat por 简单使用指南
- Java项目:家教管理系统(java+SSM+MyBatis+MySQL+Maven+Jsp)
- python精品课_【人生苦短,我用Python】Python免费精品课连载(1)——Python入门
- 计算机基础知识教程职称怎么计算,2017年职称计算机考试基础知识教程详解(二十)...
- 从源代码解读spring之DataSource实现和FactoryBean模式(JndiObjectFactoryBean)
- python opencv图片放大 缩小_Python OpenCV之图片缩放的实现(cv2.resize)
- fedora 27 mysql_无法在Fedora27上的Python2 virtualenv中使用mysqldb
- Codevs 1025 选菜
- Morph-UGATIT:一种支持渐进式域迁移的图像翻译方法
- Fiddler绕过前端直接和后台进行交互
- 微信快速开发框架(五)-- 利用快速开发框架,快速搭建微信浏览博客园首页文章...
- 安卓仿苹果键盘输入法_仿ios输入法安卓版
- 中国港口年鉴(2000-2020年)
- 【基于stm32f103c8t6RFID-RC522智能开关】
- 给电脑装一个双系统Linux,安装Linux让你的电脑变成双系统的七个理由
- 终于申请自己的博客了
- 路由器桥接显示无法连接服务器,路由器无法桥接怎么办
- OpenWRT设置ADGuardHome+小喵咪
- etr2模式,时力高HXD1C转换开关KRGV+ETR2
- 漫谈程序员系列:软件开发的十八般乐趣