Appcan、apicloud、HBuilder 不同之处解析

  现在Hybrid app是一中非常火热的开发模式,在国内对应的开发工具也乱象丛生,有WeX5、crossApp、ExMobi、Appcan、apicloud、HBuilder等。

  其中WeX5只是在PhoneGap外面套了一层壳子,内部的UI都是通过大量的css,js实现的,页面切换也大量采用webapp模式,类似于JQuery Mobile中的框架,太过偏向于webapp,性能得不到较好的体验,而且缺少第三方功能SDK封装支持。

  crossapp是一款实用C++开发跨平台应用的工具,因为Android与IOS应用程序本身就是能够用C++来开发的,所以这也算是一种类原生方式开发,但是C++开发Android应用程序或者开发IOS应用程序很少见,会的人不多,缺少交流平台,自己开发插件比较困难,只能完全依赖官方提供,官方的第三方插件库资源不足,很难满足开发者变态的需求。

  ExMobi是烽火科技研发的一种内部使用的开发平台,当然也可以购买使用权,虽然也有免费版,但是在免费版连推送功能都不开放的情况下你还会选择吗?大量的功能需要购买不同的版本才会提供,对于小型开发团队来说不切实际。

  Appcan是国内最早一批研发Hybrid app开发模式中的一员,其存在时间之久,属目前国内Hybrid app开发平台之最,为什么它能够一直坚持下去?那肯定是有其优点所在。Appcan基于多webview来开发单Activity模式app,最近去除了ActivityGroup,采用Fragment来代替,优化了性能及体验,同时其合作商家广泛,第三方SDK应有尽有,能够很好地满足开发者的变态需求。

  apicloud的一种从Appcan脱离出来的技术,虽说其开发人员有很多是Appcan原来的技术人员,但是这是两种不同的设计方式,它也有大量的第三方SDK支持,并且其UI是令人看着比较舒服的(个人觉得)。

  HBuilder的webview处理方式与apicloud基本类似,其实这种用webview装载网页的技术都大同小异,网上也能找到,只是在于细节点处理方面不同而已。

  Appcan&apicloud&HBuiler

  • 最初使用Appcan的时候感觉其打开新窗口响应较慢,而且其内部UI完全是黑色的,比较难看,当初找相关技术人员,想让其提供能够选择UI主题的接口,但是最后不了了之,在apicloud出来之后,发现其UI效果很好,因此又去研究了一下,发现其窗口响应速度比Appcan要高
  • 现在Appcan引擎已全部开源,开发者能够完全自己Design,主题这些都不是问题,而且我再次测试了窗口响应速度,现在有了明显提高,与apicloud不想上下
  • HBuilder的webview最初一直不看好,因为没有采用硬件加速渲染,渲染比较慢,会出现空白,而他们官方提供的一种方式是预加载,当初我问他们技术,预加载不会过多消耗资源吗?他们技术脱口而出,只要不显示就不消耗资源,不用担心。而且好像还发表了一篇这样的文章介绍预加载的,我就在想,难道我这些年开发一直白学了,哪个程序创建个变量会不消耗资源?预加载你总要创建webview实例吧?这是忽悠谁呢?如果真的不消耗资源为什么你们右面又提供一种模板页构建的方式呢,所有二级页面只需预加载两个嵌套webview就可以。
  • 对于前段UI,Appcan有一套很全面的css与js框架,其完全采用自适应模式。。什么?不知道自适应?好吧一会介绍其区别。HBuilder也有一套UI,js和css比较全,apicloud没有专门的UI,需要用户自己DIY,对于个人来说,我反而倾向于apicloud,因为他们提供的UI中js与css太多而杂,Appcan中js引入了Zepto,Backbone、Underscore库,显得异常臃肿,导致网页加载js效率受影响;HBuilder中所有css与js都在一个文件中,大量不需要用到的样式无法删除,就算你这个页面只需要用到一个按钮样式,那么都需要引入整个css与js
  • 关于自适应,有很多人说,我前端就是自适应的啊,其实那并不能严格说是自适应,你们的布局只能说是根据设备大小进行自适应,而不是分辨率,apicloud和HBuilder的webview会根据设备的分辨率来进行放大或缩小(一般是放大),并不是网页原来的形态,这也就是为什么明明定义的1px的border在Android上看上去是2px或者1.5px的原因。而Appcan中1px就是1dp,其设备大小被修改成与分辨率相等,这就使得网页在webview中保留了原形态,没有放大缩小,其视觉体验非常好,图片等不会失真。其本质原因是Appcan是基于Android 4.4.2的API,也就是API19来开发的,其设置了viewport的支持,在viewport中设置target-densitydpi=device-dpi就可以实现高清晰效果,而apicloud是基于API20以上开发的,Android在4.4以后就不支持viewport属性了,因此在apicloud中设置viewport属性与否没有任何影响,在这点上HBuilder与Appcan类似,能够通过viewport属性来修改像素点,从而得到较好的视觉体验,当然也可以设置成与apicloud一样的情况,这种就具有较好的选择性,但是这种布局就要求有较强的能力了,Appcan中为不同分辨率定义了不同的字体大小,也就是em值对应的像素,在其中布局最好使用em来实现,不要使用px。而在apicloud中使用px能够在不同的手机上达到一样的效果,这就是不同分辨率的适配

  以上纯属个人浅见,没有针对任何平台的意思,如果有认识更深入的同伴发现不对之处希望能够回应,谢谢~

时间: 2024-10-13 04:45:24

Appcan、apicloud、HBuilder 不同之处解析的相关文章

移动web:原生开发打包,嵌入h5页面 webApp:全部都是H5开发的应用 混合APP:使用第三方开发平台从apicloud,appcan,hbuilder等开发,cordova技术打包 原生APP:就是eclipse开发或者studio等工具开发

论坛43213 移动端webApp兼容问题解决 谈谈App混合开发 Hybrid APP混合开发的一些经验和总结 PhoneGap是一个采用HTML,CSS和JavaScript的技术,创建移动跨平台移动应用程序的快速开发平台.它使开发者能够在网页中调用IOS,Android,Palm,Symbian,WP7,WP8,Bada和Blackberry等智能手机的核心功能--包括地理定位,加速器,联系人,声音和振动等,此外PhoneGap拥有丰富的插件,可以调用. Cordova提供了一组设备相关的

跨平台开发框架(国内)

目前国内主要的混合开发框架有wex5,appcan,apicloud,HBuilder,国外有cordova,boostrap,国外的东西好是好,但是除非有你扎实的基本功加卓越的编写能力,要不然劝你不要尝试,还是用国内的比较适合我们,简单的说一下国内的这几款开发工具,我只是说下个人使用感受...不喜欢的请自行屏蔽就可以了. WeX5是起步推出的,起步是一家做开发开发平台十几年的公司,一直不温不火的做着,wex5的市场份额不是太大,不过现在版本更新很快,里边自带的domo有外卖,电商.旅游什么的,

数据库中间件 Sharding-JDBC 源码分析 —— SQL 解析(二)之SQL解析

关注微信公众号:[芋艿的后端小屋]有福利: RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表 RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址 您对于源码的疑问每条留言都将得到认真回复.甚至不知道如何读源码也可以请教噢. 新的源码解析文章实时收到通知.每周更新一篇左右. 认真的源码交流微信群. 1. 概述 2. SQLParsingEngine 3. SQLParser SQL解析器 3.2.1 #parse

Deviceone:站在移动互联时代的十字路口上

最近总能看到类似“App已死,服务永生”.“App必死,web永生” .“App已死,微信建站已生”这样的文章.不晓得这些网络写手到底是想代表某些公司的立场.还是想要表达怎么样的一个情结,文章中语气都是如此之肯定,好像大家真的有什么仇什么怨一样. 回顾软件发展的历史,C++开始流行时,就有人因其优秀的面向对象能力而预言C语言已死:Java语言开始流行时,也有人因其出色的跨平台能力和完备的内存管理机制而预言C++已死:在web盛行的年代,更是而有人因看好这种轻量级的B/S交互模式而预言原生应用已死

站在移动互联时代的十字路口上_deviceone

最近总能看到类似"App已死,服务永生"."App必死,web永生"."App已死,微信建站已生"这样的文章.不晓得这些网络写手到底是想代表某些公司的立场.还是想要表达怎么样的一个情结,文章中语气都是如此之肯定,好像大家真的有什么仇什么怨一样. 回顾软件发展的历史,C++开始流行时,就有人因其优秀的面向对象能力而预言C语言已死:Java语言开始流行时,也有人因其出色的跨平台能力和完备的内存管理机制而预言C++已死:在web盛行的年代,更是而有人因

Hybird框架UI重构之路:一、师其长技以自强

这两年在支撑公司的Hybrid框架的运维发展,让人确认这种移动开发方式确实是一条不错的路.混合应用这种开发方式降低开发难度,极大的提高开发效率,最重要的一点效果可以接近原生应用.框架的本身是需要持续不断发展的,这里开始我讲述我重构Hybird框架的UI的这三个月(2014-11——2015-1),而在重构之前,预先调查了目前所了解的几个混合应用的框架,师其长技以自强. PS:Hybrid应用是web页面与原生壳(Android.IOS)的结合最后打成安装包的应用. 重构的前奏曲: ApiClou

移动应用开发之自适应布局与单位(px、em)选择

移动应用开发中自适应布局是非常重要的,因为不同设备分辨率不一样,大小也不一样,不采用自适应布局在不同的设备中显示会出现各种问题 能够起到自适应布局的方法 CSS3中的自适应布局 百分比布局法:即大小,位置,边距等用百分比来限制,能够在不同的设备中占据总体的布局一致 webkit-box结合-webkit-box-flex布局法:使用webkit-box能够实现弹性盒子模式布局,结合-webkit-box-flex能够实现将屏幕完全分割的布局,与半分比不同的是:百分比布局在存在border的时候不

web前端的发展态势

以前 作为一个java程序员写的代码主要还是后台的代码,虽然开始的时候前后端都写,但是也是用别人造好的轮子来用,学学html,css,js,jquery,再找一个前端ui框架学学,上手之后我们就可以写界面,写后台了,当然这只是企业的后台管理项目,界面要求不是特别高,对于网站项目还是需要前端童鞋来设计,布局,写好html给到我们,我们转成jsp,或者各种模板引擎文件.这种模式对前端童鞋要求不是特别高,会设计,切图,就差不多了,什么前端组件化,模块化,自动化这些概念都没有,可能是小公司没有接触到,大

复变函数简要

一.关于复数 (1) 复数是实数的扩充,具有不同于实数的性质.例如不可比较大小. (2) 关于复数,首要的问题是复数是否具有完备性,对复数进行运算 + - * /  共轭 开方 极限运算所得结果仍是复数.一些运算规律结合律分配律等同实数. (3) 复数域是否可定义序? (4) 复数的表达方法. 代数表达 z=x+ i yz=x+iy ,称x=Re(z),y=Re(z)x=Re(z),y=Re(z) ; 指数表达 z=r exp i(\theta +2k\pi)z=rexpi(θ+2kπ) .模与