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框架依赖 ...
随机推荐
- JS问题汇总
1.Q:$(this)在js中失效,无法获取当前元素 A:function()在被调用时this是指向window的,如果要想指向被点击的元素,一般是将this作为参数传入,例如: <div ...
- 重学ps_1
1,选取 打开图片->点击选取工具->ctrl+c->ctrl+n->ctrl+v 2,去除图片背景 打开你要去除背景的图片->在图层面板中->双击图层把图层改为0 ...
- VIM键盘映射 (Map)~转载
VIM键盘映射 (Map) 设置键盘映射 使用:map命令,可以将键盘上的某个按键与Vim的命令绑定起来.例如使用以下命令,可以通过F5键将单词用花括号括起来: :map <F5> i{e ...
- shell (check return of each line)and sudoer
shell result from cmdline echo $? if 0 then success ;else failure (shell 执行每部返回值,rm -rf 错误,打包不能覆盖) 解 ...
- iOS小画板画线总结
一:基本画线: 使用贝赛尔曲线画: //创建路径 UIBezierPath* aPath = [UIBezierPath bezierPath]; //设置线宽 aPath.lineWidth = 5 ...
- Preference Screen 首选项
设置Preference Screen (res\xml\userpreferences.xml) <?xml version="1.0" encoding="u ...
- 线性时间O(n)内求数组中第k大小的数
--本文为博主原创,转载请注明出处 因为最近做的WSN(wireless sensor network)实验要求用3个传感器节点接受2000个包的数据并算出一些统计量,其中就有算出中位数这么一个要求, ...
- 调用CachedRowSetImpl类时出现错误
调用CachedRowSetImpl类时,出现以下错误: Access restriction: The type CachedRowSetImpl is not accessible due to ...
- Mac上安装django
参考:https://docs.djangoproject.com/en/1.9/topics/install/#installing-official-release 升级pip sudo pip ...
- Sqlserver 导出数据脚本
编写数据压缩选项的脚本 true 要编写脚本的数据的类型 仅限数据