app开发 我们该要一门重语言还是轻语言?|2017/3/11
发表时间:2023-11-01 18:01:41
文章来源:炫佑科技
浏览次数:124
菏泽炫佑科技
app开发 我们该要一门重语言还是轻语言?|2017/3/11
首先我们需要选择一种语言来开发本地App。
那么,我们的**步是什么?
从可用语言中选择一种语言。
那么**个要考虑的条件就是,不流行的语言、没有未来的语言不在选择范围之内。
---因为没人用,所以库就会少。 因为这个库不会好用。 因为它不容易使用。 所以用的人比较少。 生态系统的核心思想。
--那么这个世界上就只有C++/Java吗? 当然不是。 因为有些语言是有未来的。 *大的特点是。 减轻了程序员的负担。 或者更有效率。 未来肯定会成为主流。
那么我们常用的语言和有前途的语言有哪些呢?
C/C++ /Java/C#//Ruby/Go/+Html
好的。 这些都是我们常用的语言。 我们关注的是如何一步步踢掉这些语言。 那么就只剩下Java了。
首先被踢出局的是C。到目前为止,很少有超过10万行代码的大型图形界面程序使用C。因为错误处理复杂且没有纠错机制。 使得程序很容易崩溃。 同时。 因为C不是面向对象的。 那么工程开发就显得很麻烦。
我相信现在还没有人主动说出来。 使用C开发Apps等多界面程序。
继续被踢出的就是C#。 为什么我要用一个天生就是用来对付Java的。 它仍然是微软的专有语言。 正确的。 它来自开源世界。 而C#注定不是适合开源世界的语言。
那我们继续玩语言吧:
我们应该使用重语言还是轻语言?
Java/C++/C#/Go/C 是重型语言。
/Ruby/+Html/ 是一种轻量级语言。
正确的。 在我心目中,划分语言的标准基本上就是这样。 只要体现在代码中,我们就需要注重效率。 这就是对语言的重视。
首先强调语言的是操作效率。 然后注重工程。
轻语言强调开发效率和敏捷开发。
让我们回到语言选择的原则。
我们想开发一个本地应用程序。 也适用于性能较低的手机。
那么在C以外的开发语言中。效率*高的是C++,其次是Java。
那么轻量级语言就会被一一踢出局。
Ruby 在网络上发挥着重要作用。 但图书馆太少了。 图形库较少app开发 我们该要一门重语言还是轻语言?|2017/3/11,开发人员都是Web端的人。 被踢吧
+Html - ---->这是未来统一的趋势。 但现在我们正在寻找一种语言来开发本地应用程序。
另外,诚心html+也有先天的缺点。 (效率+)
它有一个完整的图书馆。 它有一个非常受欢迎的社区。 也有人尝试在手机上进行开发。 (诺基亚已经这么做了。Phone的UML也是类语言。)它也是一个大用户。 效率是问题。 但也不是绝对的。 首先保留您对实施的意见。
那么我们来看看本轮入围的四种语言
Java/C++//Go
我们来谈谈围棋吧。 Go语言还不成熟。 图书馆也不是很多。 开发商很少。 但作为主要语言。 大概。 将提供基于Go的sdk。 至少现在的主要语言不会是Go。
还剩三扇门
C++//Java
C++重运行效率。 但跨平台性较弱。 开发难度更大。 图书馆越多,使用它们的人就越多。
,再开发效率。 高度跨平台。 它易于开发,有很多库,并且有很多人使用。
爪哇。 再开发效率。 不如重新运行效率,不如C++。 开发难度低。 库多。 很多人都用它。
然后回到需求:
我想要一种用于开发本地应用程序的语言。 我想消除底层硬件的差异。 该实现是为开发人员提供的统一平台。
同时。 针对当前平台的手机。 功耗和性能。 是一个无法回避的问题。
那么这个语言的跨平台要求是非常高的。 同时,它的效率也很高。
表示:效率确实无法满足其普通手机的要求。 特别是对于图像处理等高度计算的操作。 和。 社区不能与C++/Java相比。 这意味着库没有Java和C++那么多,开发人员也和Java和C++不在一个水平上。
说到C++:用过JNI的人都知道,本地C/C++库至少需要编译多次。 不同的框架代表不同的编译环境。 而如果直接用C++编译运行。 C++不能很好地屏蔽硬件差异。 因此,调试对于开发来说是一件比较困难的事情。
C++并不是一种很好的工程开发语言。
有什么解决办法吗? Qt。 框架可以用来屏蔽大部分的细节操作。 Qt5.0支持。
为什么没用呢。 我猜这是因为它是一个与Qt无关的产品并且它不是开源的。
说到Java:虚拟机是核心。 因为虚拟机确实可以掩盖开发中的许多差异。 并通过虚拟机。 开发者只需在打包时翻译成运行代码即可,不需要翻译成机器码。 许多差异都是通过虚拟机解决的。 而且效率并没有严重损失。
而且无论是在开源社区还是工业界app开发,Java 都比 C++ 更受欢迎。 甚至Java也有版权问题。 。 。
我们掩盖了*基本的硬件差异。 通过Linux,屏蔽了手机的一些基本功能差异。 然后提供纯粹开发者友好的开发和测试方法。 只能通过虚拟机。 而这个虚拟机就需要谈谈性能。
创建了一个虚拟机。 正确的。 这是它的核心。 这是因为对性能的要求很高。 虚拟机必须重新开发。 它是一个非常高效的虚拟机。 其他常用的库都是可用的并且是现成的。 没必要自己写。 把它包起来吧。
然后还有一些库和应用程序必须考虑效率。 该怎么办。
使用JNI技术调用C++
是的,就是这么骗人。
Why-C语言忽略了我提到的大部分要求。 因为苹果有能力创造更好的语言。 只需在开源社区中选择一种语言即可。
和。 生于苹果,死于苹果。 兼容性。 人们不需要思考这个问题。 所以人们才敢用-C,才能实现真正的跨平台。 唯一的选择是Java。