app开发方式大汇总
1.原生方式。android平台使用java方式、IOS平台使用object-c或者swift方式。优点:可以将app的性能做到极致。缺点:开发效率低、维护成本高。
2.纯前端方式。比如用jquery mobile、bootstrap等做一个移动web网站,然后用转化工具转化为app,其实这个app就是一个内置浏览器而已,和微信的内置浏览器一个道理。从本质上说,和 web网站是一样的,无论从性能,还是维护方式都和web一模一样。和原生对应,是一种相反的路线,优点是:开发速度快,跨平台,在线更新;缺点:应用性能受限、应用能力受 限、应用范围有较大局限性。有篇文章对这两个做了比较详细的比较:点我。
3.混合方式。比如appCan,apiCloud等,这类模式是将上面两种模式进行了融合,集成了他们的优点。其实主要核心原理就是一个定制化的内置浏览器,将浏览器的限制解除,并引入原生操作 接口,比如调用摄像机、硬件、文件系统这些接口。优点是:既可以像开发网站那样方便地开发跨平台app,利用web开发模式的优势,也拥有原生应用的所有能力。缺点是:相比 原生来说确实要损失一部分性能。
4.C++方式。主要指crossApp。这个工具是利用c++语言开发跨平台app。不同于方式2和3,不使用前端技术。也就意味着,底层并不是一个内置浏览器,而是全部编译为原生代码。因此web 的优势全部没有。优点是:性能极好,和原生没有什么差别。所以这种方式适合那种想实现跨平台但又对性能有极高要求的。
5.傻瓜式。这种方式主要指一些非编码开发方式,利用图形化操作界面,进行简单的配置和拖拽实现app。其实这些工具的底层大部分也是实现一个内置浏览器。优点:对于可以满足需求的app, 开发速度最快。缺点:性能和第2中方式差不多,甚至更低、功能限制较大、灵活性受局限。列举一些:应用公园 5款工具
app开发方式大汇总的更多相关文章
- android app性能优化大汇总(内存性能优化)
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 写在最前: 本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上 ...
- android app性能优化大汇总
这里根据网络上各位大神已经总结的知识内容做一个大汇总,作为记录,方便后续“温故知新”. 性能指标: (1)使用流畅度: 图片处理器每秒刷新的帧数(FPS),可用来指示页面是否平滑的渲染.高的帧率可以 ...
- 大礼包!ANDROID内存优化(大汇总)
写在最前: 本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总.挑选.简化后整理而成. 所以我将本文定义为一个工具类的文章,如果你在A ...
- ANDROID内存优化——大汇总(转)
原文作者博客:转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! ANDROID内存优化(大汇总——上) 写在最前: 本文的思路主要借鉴了20 ...
- ANDROID内存优化(大汇总——中)
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 写在最前: 本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上 ...
- ANDROID内存优化(大汇总——上)
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 写在最前: 本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上 ...
- 实用的vue插件大汇总
Vue是一个构建数据驱动的 web 界面的渐进式框架.Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件特别整理了常用的vue插件,来了个大汇总,方便查找使用,便于工作 ...
- ANDROID内存优化(大汇总——全)
写在最前: 本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总.挑选.简化后整理而成. 所以我将本文定义为一个工具类的文章,如果你在A ...
- C#开源系统大汇总(个人收藏)
C#开源系统大汇总 一.AOP框架 Encase 是C#编写开发的为.NET平台提供的AOP框架.Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖 ...
随机推荐
- Memcache教程 Memcache零基础教程
Memcache是什么 Memcache是danga.com的一个项目,来分担数据库的压力. 它可以应对任意多个连接,使用非阻塞的网络IO.由于它的工作机制是在内存中开辟一块空间,然后建立一个Hash ...
- UI控件闪烁及刷新
我们常常在一个窗口上放置很多控件,在改变窗口大小时,控件会跟着一起闪烁... 此时,可以将窗口添加WS_CLIPCHILDREN属性即可.(如果包含多层,都需要WS_CLIPCHILDREN属性) 默 ...
- 实战Java虚拟机之一“堆溢出处理”
从今天开始,我会发5个关于java虚拟机的小系列: 实战Java虚拟机之一“堆溢出处理” 实战Java虚拟机之二“虚拟机的工作模式” 实战Java虚拟机之三“G1的新生代GC” 实战Java虚拟机之四 ...
- Unity学习疑问记录之图片画质
http://blog.csdn.net/candycat1992/article/details/22794773
- 手动删除portal中托管服务。
在portal中将server作为托管联合服务器,然后发布了托管服务.若中间取消了托管联合服务器,再重新连接,那么会出现之前的托管服务无法删除的现象. 下文为怎样手动删除这些服务的方法,(不过貌似之后 ...
- 精简的javascript下throttle和debounce代码
//频率控制 函数连续调用时,fn 执行频率限定为 1次/waitMs.立即执行1次 function throttle(fn, waitMs) { var lastRun = 0; return f ...
- PXE DHCP获取IP与传统DHCP获取IP地址的区别
正常的DHCP获取IP的流程(Discover-Offer-Request-Ack): (Discovery)主机端在LAN中发布MAC地址为FF:FF:FF:FF:FF:FF的广播来寻找DHCP服务 ...
- 更新与升级 FreeBSD
https://www.freebsd.org/doc/zh_CN/books/handbook/updating-upgrading-freebsdupdate.html 安全补丁存储在远程的机器上 ...
- 转: CentOS安装jdk8
from: http://tecadmin.net/install-java-8-on-centos-rhel-and-fedora/ After a long wait, finally Java ...
- jQuery 取选中的radio的值方法
var val=$('input:radio[name="sex"]:checked').val(); 附三种方法都可以: $('input:radio:checked').val ...