随着技术的发展,在当前开发一款APP已经非常的简单和快速。特别是近些年,利用HTML5技术将APP的开发门槛进一步降低。各种开发工具和框架层出不穷,令人眼花缭乱。这么多的工具摆在眼前应该如何进行选择呢?要回答这个问题,我们需要先理一下APP开发的基础知识。

硬件层

顾名思义手机的所有零部件都属于硬件层,中心是CPU处理器,连接和控制着所有的部件工作。当然这里都一套工艺和驱动标准,用来规范各个厂家生产符合要求的配件产品。大家可以和电脑进行对比,工作原理也是差不多的。这里记住一个重要的东西,驱动标准


手机操作系统层

目前最流行的操作系统就是:安卓和ios。普通用户不可能直接对硬件层发出指令,一个重要的原因就在于指令非常复杂不方便。操作系统实际上是一套软件系统,由一系列的驱动程序和逻辑调用程序组成。通过这套软件用户就可以用简单的图形界面完成指令的执行。同时操作系统层提供一套功能API接口


APP

APP调用操作系统提供的API接口就可以执行指定的操作。对于开发人员来讲,直接调用操作系统提供的API进行开发同样是一件非常复杂和艰巨的任务,因为操作系统提供的API非常多,功能非常细。这个时候就该虚拟机登场了。学习过java和c#的同学应该都知道这个概念。虚拟机简单讲,就是一个运行环境,它连接着我们的程序和操作系统。我们的代码执行的过程中被对应的映射成调用操作系统的各个API接口,从而执行了我们的指令。java作为一款跨平台的语言,拥有几乎所有操作系统的虚拟机sdk。所以针对于安卓和ios,java同样有对应于它们的虚拟机。讲到现在,就离今天要讲的重点越来越近了。


1、原生态开发

正是由于java拥有手机操作系统的虚拟机,所以对应的我们可以通过java开发APP。其它语言进行开发也是类似,都是通过这种原理进行开发的。所以通过这种方式进行APP开发应该是最接近原生态,功能最全面的开发方式。

特点:适用于专业的APP开发和底层APP的开发。

缺点:学习成本高

2、HTML5+

我们知道HTML5是网页开发,把APP中的页面当成一个个网页,做一个封装,我们可以把它当成一个APP,这个应该不难理解。+ 加号的引入可以理解成一种扩展,因为在手机端,有很多手机独特的功能,例如定位、陀螺仪、相机等。除了一般的页面数据展示外,这些才是我们经常用的。所以这里的 + 号就是用来引入这些功能的。那么是如何引入的呢?借助上面讲到的java虚拟机sdk,W3C组织把一些常用的功能,大概32个功能封装成了一个plus对象,记住我这里说的是常用,不是所有。做app开发的同学对plus对象肯定不陌生,这就是为什么普通PC浏览器无法使用plus对象的原因,因为本身它就是为app操作系统服务的。所以使用这种方式做app开发的工具,在生成app文件的时候,必须把java虚拟机sdk打包进去,当然这个是工具的底层在做的事情,我们不用去管。例如我们常用的开发工具hbuilder。

特点:适用于简单的快速开发,甚至都不需要了解java语言。

缺点:不常用的功能无法实现

3、Native.js

HTML5+只是封装了常用的功能,还有大量的功能我们无法使用,这个时候Native登场了,Native提供了使用java原生态开发的app中的所有接口功能。但是这里需要提一句的是,这里的native并不是直接执行功能,而是需要交由java的jar包来执行。native提供一个接口的作用,具体的操作和执行还需要手动去写java包的调用,所以你必须对java原生态开发熟练才行,否则只能去copy代码了。

严格来讲,我是不怎么推荐,因为它处于不上不下的地位

4、小程序

微信小程序或者淘宝小程序开发。各个大厂实际是单独做了一个类似java虚拟机的sdk,然后封装成一系列的简单接口,实现了移动端的大部分功能。我们只要利用大厂提供的开发工具就可以快速开发。

特点:接口完善,规则简单,开发迅速

讲到这里,我想大家应该都有自己的选择了吧!

APP开发工具如何选?的更多相关文章

  1. App架构师实践指南二之App开发工具

    App架构师实践指南二之App开发工具     1.Android Studio 2.编译调试---条件断点.右键单击断点,在弹出的窗口中输入Condition条件.---日志断点.右键单击断点,在弹 ...

  2. hybrid app开发工具

    hybrid app开发工具 1.AppCan AppCan是国内Hybrid App混合模式开发的倡导者,AppCan应用引擎支持Hybrid App的开发和运行.并且着重解决了基于HTML5的移动 ...

  3. 最常用App开发工具更新总结

    程序员都知道,App常用开发工具有Sublime Text 3.Webstorm.Eclipse和APICloud Studio等,那么这些开发工具在2016年又有什么重大更新呢? 1.APIClou ...

  4. HTML5来了:5个好用的混合式App开发工具

    在残酷的移动互联网竞争环境下, HTML5技术一直受到各方关注,“HTML5颠覆原生 App”的争论也从未停止过,不管怎样HTML5生态的构建方兴未艾.不过对于移动开发者来说更关心的问题是如何低成本. ...

  5. 10个最佳的网站和App开发工具

    这个世界充满了创新,开发的激情和决心是实现更高目标的关键因素.在网站开发中,毫无疑问,工具和可用的在线网页和 app 设计资源,发挥了重要的作用. 下面我们将带来一些网站和 app 的最佳工具.   ...

  6. Office 365 - SharePoint 2013 Online之添加App开发工具Napa

    1.新建一个网站集,模板选择开发人员模板,如下图: 2.确定以后,需要稍等一会儿; 3.点击网站内容,添加app,如下图: 4.进入SharePoint Store,选择Napa,如下图: 5.选择A ...

  7. App开发工具

    软件下载: 链接:https://pan.baidu.com/s/1yaAko1svHW3v3kdn6mSgxQ提取码:rrcd 参考文档地址: http://dev.dcloud.net.cn/mu ...

  8. Office 365 - SharePoint 2013 Online之加入App开发工具Napa

    1.新建一个站点集,模板选择开发者模板.例如以下图: 2.确定以后,须要稍等一会儿; 3.点击站点内容,加入app,例如以下图: 4.进入SharePoint Store.选择Napa.例如以下图: ...

  9. HTML5 Web app开发工具Kendo UI Web中如何绑定网格到远程数据

    在前面的文章中对于Kendo UI中的Grid控件的一些基础的配置和使用做了一些介绍,本文来看看如何将Kendo UI 中的Grid网格控件绑定到远程数据. 众所周知Grid网格控件是用户界面的一个重 ...

随机推荐

  1. session 控制

    session 控制 beego 内置了 session 模块,目前 session 模块支持的后端引擎包括 memory.cookie.file.mysql.redis.couchbase.memc ...

  2. Lucene索引维护(添加、修改、删除)

    1. Field域属性分类 添加文档的时候,我们文档当中包含多个域,那么域的类型是我们自定义的,上个案例使用的TextField域,那么这个域他会自动分词,然后存储            我们要根据数 ...

  3. cf1266D

    注意到每一个的点出入流是不会变的,因此本质是让构造一张图满足这个出入流并且边上的流量之和最少,显然流量是平衡的,也就是所有节点的出入流之和为0 因此我们可以直接暴力的选择让负数点向正数点连边,连之后就 ...

  4. gulp常用插件之gulp-imagemin使用

    更多gulp常用插件使用请访问:gulp常用插件汇总 gulp-imagemin这是一款缩小PNG,JPEG,GIF和SVG图像的插件. 更多使用文档请点击访问gulp-imagemin工具官网. 安 ...

  5. HDU5608

    题意 英文 做法 设\(g(n)=n^2-3n+2\),有\(g(n)=\sum\limits_{d|n}f(d)\),反演一下有\(f(n)=\sum\limits_{d|n}\mu(\frac{n ...

  6. 常用的一些git命令整合

    一.创建一个版本库 1.mkdir xxx 2.git init 使用git init命令将这个目录变成Git可以管理的仓库 这个版本仓库创建好了,xxx目录下有一个隐藏的.git目录(里面有暂存区( ...

  7. IDEA常用的几个插件

    目录 1. 阿里巴巴代码检测插件 2. Json转Pojo插件 3. mybatis辅助插件 4. 翻译插件 5. markdown插件 6. RestfulToolKit插件 IDEA常用插件 1. ...

  8. 理解Javascript的变量提升

    前言 本文2922字,阅读大约需要8分钟. 总括: 什么是变量提升,使用var,let,const,function,class声明的变量函数类在变量提升的时候都有什么区别. 参考文章:Hoistin ...

  9. Ueditor1.4.3.3 asp UTF-8版文件缺失修改方法

    前几天在做一个项目中需要用富文本编辑器,最终选定用Ueditor编辑器,从官网下载源码(http://ueditor.baidu.com/website/download.html),按照文档创建de ...

  10. Xmanager6

    Xmanager6企业版 6.0096 含产品秘钥: https://www.newasp.net/soft/467373.html