你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

我们手机上APP是用什么编程语言写的呢?

[复制链接]
gaosmile 发布时间:2020-12-14 20:32
今天想和大家分享的内容是和我们手机上APP相关的,它们都是用什么编程语言写的呢?
8 s0 |8 N0 O# p. e& C* B& L6 r& F
两大移动端:Android和IOS,我们就不多说了,下面我们从另一个角度进行分类。
- o5 [/ j  Z1 }1 X9 {
01

# H: t- f* S0 t( S  f( o+ {
第一类:针对单一APP开发的语言,即开发一套代码只能运行在一个平台上。
9 Z- }/ y/ b. F2 H) l" b. L7 L
1、开发Android的:Java和Kotlin: U  Q2 r' R: B
Kotlin是一种在Java虚拟机上运行的静态类型编程语言,被称之为Android世界的Swift。Kotlin可以编译成Java字节码,也可以编译成JavaScript,方便在没有 JVM 的设备上运行。运行效率提高很多,并且语法更加简洁好用。
9 `7 \* q% ^, h. {& t
如果是与系统底层进行交互则需要使用JNI技术,通过和C或者C++结合实现相应的业务逻辑,比如美颜或者直播类型的APP。直播类型的APP采用的ffmpeg技术,其中ffmpeg就是用C语言实现的。
0 e# F! B7 m; M) j4 J4 G; _. J
微信图片_20201214203039.jpg
  r( o) _5 g( H" a. n. z
2、开发IOS的:Swift和Object-C
0 t% r' V' m1 b0 {
Swift 结合了 C 和 Objective-C 的优点并且不受 C 兼容性的限制。2 }4 P: L; _7 {! x2 d5 n' n
微信图片_20201214203055.jpg

- L  l# t. w: f6 p" N: _" t
02

/ j- F# Y$ p" H8 N
(二)第二类:可以针对多个APP端的编程语言,即只需开发出一套代码,就可在多个平台上运行。

- R) k! P4 ~" _& C) F. ?  F
1、第一种是Flutter技术
3 J9 @2 P4 A8 C+ c1 ~
基于Dart语言,比如现在闲鱼APP就是基于flutter开发的。并且有着多年经验,而且闲鱼免费开源了框架。% N# u) j; A/ A/ m7 o9 C$ O
Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。0 K6 Q' l, A" `9 }& p
Flutter的热重载可帮助您快速地进行测试、构建UI、添加功能并更快地修复错误。在iOS和Android模拟器或真机上可以在亚秒内重载,并且不会丢失状态。
) r  @6 c1 _8 P
尤其是在UI上使用Flutter的现代、响应式框架,和一系列基础widget,轻松构建您的用户界面。使用功能强大且灵活的API(针对2D、动画、手势、效果等)解决艰难的UI挑战。* C& ~1 x8 ?& f
微信图片_20201214203058.jpg
% _$ L& Y1 K! w+ g( @
2、第二种是Uni-app框架: H; s' i9 |' j2 p, W5 _; G
基于Vue.js。俗称一套代码编到8个平台上。
. \7 O* [5 m8 j9 i0 q* ?( V
uni-app是一个使用Vue.js开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、H5、以及各种小程序:微信/支付宝/百度/头条/QQ/钉钉等多个平台。" ]1 ]2 K0 W* A8 [
微信图片_20201214203102.jpg
小结:

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

9 x* b$ ~. ^" k- L7 O6 N/ k* U
第一种:平台原生推荐语言,如:Android平台的Java和Kotlin,ios平台的object-c和Swift(swift版本之间的差异比较大,要学习的话还是要注意版本选择)。这部分一般用于处理核心业务、权限请求以及高性能要求页面。
$ N/ G3 ]$ h6 ?$ M2 s7 j* F
第二种:web语言,这里主要指的是h5相关的技术栈。这部分主要处理非核心业务逻辑,以及需要动态更新的页面。
  O8 \  A" \) b
第三种:NDK相关,这里一般用到的就是C、Cc++。大部分写业务逻辑的同学用的比较少,不过大型APP一般还是会用到一些。主要应用于安全性要求高,高性能算法以及跨平台算法实现。
  A! d0 m, ~* A. H: y
好了,今天就分享到这里吧,感谢各位耐心阅读!
* L; d. r! ]9 }: a  t" f5 m& m1 [
赞 收藏 评论0 发布时间:2020-12-14 20:32

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版