Hybrid App开发 四大主流移平台分析

Hybrid App在过去的两年中已经成为移动界的核心话题,但是作为一名Web开发者来说要如何站在移动互联网的浪潮之巅呢?是选择学习原生开发,研究Java、Object-C、C#等语言,还是选择继续使用网页开发,容忍HTML5功能的局限性?就在开发者左右为难的情况下Hybrid App作为一个折中的解决方案诞生了。那么究竟什么才是Hybrid App呢?

  Hybrid App概念

  Hybrid App:Hybrid App is a mobile application that is coded in both browser-supported language and computer language. They are available through application distribution platforms such as the Apple App Store,Google Play etc. Usually,they are downloaded from the platform to a target device,such as iPhone,Android phone or Windows Phone. The subscribers need to install to run them.

  总体来讲,Hybrid App是同时采用网页语言与程序语言进行开发,通过不同的应用商店进行打包与分发,应用的特性更接近原生应用而且又区别与Web应用。但是在开发过程中同时使用了网页语言,所以开发成本与难度大大降低。也就是说Hybrid App兼具了Native App与Web App两者的诸多优点。

  浅析Hybrid App

  Hybrid App主要以JS+Native两者相互调用为主,从开发层面实现“一次开发,多处运行”的机制,成为真正适合跨平台的开发。目前已经有众多Hybrid App开发成功应用,比如百度、网易、街旁等知名移动应用,都是采用Hybrid App开发模式。

  经过众多开发者与成功案例证明Hybrid App兼具了Native App的良好用户体验的优势,也兼具了Web App使用HTML5跨平台开发低成本的优势。现在有更多的开发者在面临移动平台的选择,所以在这里根据开发中各个平台的使用情况,针对现在主流的平台进行分析。

  主流移动平台分析

  Hybrid App开发,现阶段主流的平台包括PhoneGap,AppCan,appMobi,Titanium等,它们基于webkit开源内核,使用HTML5 标准开发,适配机型简单,支持开发者自定义插件,并能很好的应用于商业,教育,娱乐等行业,成为移动开发者的首选开发平台。

  PhoneGap(Cordova)

  产品功能:

  PhoneGap是一款国外的开源移动开发平台。目前已经将核心代码贡献给Apache cordova,最新版本是2.6.0, 它是基于HTML,CSS和JavaScript的,可以使用一些开源的框架比如jQuery Mobile,Dojo Mobile,Sencha Touch等等来提高用户体验,也提供了比较丰富的原生插件调用。

  特性:

  1. 可以使用DreamWeaver 5.5编码,现在使用appMobi提供的xdk 进行模拟器开发。

  2. 代码开源,开发者可以放心使用。

  3. 兼容性,一次开发,多处运行。

  4. 使用JS+HTML5,成本低。

  优点:

  1. Native接口比较丰富,通过封装的API可以直接访问硬件,比如说加速,相机,指南针,GPS,文件访问等。

  2. 接口文档描述非常详细。

  3. 支持平台多,包括iOS,Android,Blackberry,Symbian,bada,Windows Phone 7,Windows Phone 8 等。

  缺点:

  1. 需要针对相应的平台环境配置,进行编译,打包测试,发布等等。由于使用Hybrid 开发的用户群,大部分是web开发者,对原生开发基本不了解,这无疑给每一个开发者增加了沉重的负担,需要对各个平台的开发都要需要了解,对硬件等等都要配置,加大开发成本。

  2. 使用效果启动慢,页面切换响应慢,数据请求慢。

  3. 文档虽比较详细但是基本是英文,对于国内大部分用户英文水平较差的是比较大的挑战。

  4. 因为是国外的框架,技术支持不够到位,出现问题,无法排解,成为技术攻关的难点。

  AppCan

  产品功能:

  AppCan是本土移动开发中使用最广的移动平台,网络舆论而言,AppCan是PhoneGap的中国化,但是从对AppCan实际使用,以及转向移动开发的朋友们互相交流反馈,他们是截然不同的两个移动平台,AppCan不仅封装了类似于PhoneGap的本地调用功能,而且封装了uexWindow多窗口机制,实现了移动端的iframe效果,虽然不是开源项目,但一直都有面向开发者的免费版,并且也有定位于企业用户的企业版套装,目前最新版本为2.2.X。

  特性:

  1. 提供的集成开发环境的IDE进行模拟器开发。

  2. 兼容性,一次开发,多处运行。

  3. 使用JS+HTML5 ,成本低。

  4. 在线打包。

  5. 代码加密保护机制。

  优点:

  1. 支持在线上传证书打包,对于不了解苹果,以及Android 环境开发的人是福音。

  2. 支持更多的原生调用,比如UI控件的封装,通讯类(socket),地图,支付宝等更多的原生控件支持。

  3. 拥有统一数据统计平台,便于运营管理开发的应用。

  4. 完善的技术支持,官方论坛以及Q群建设较为完善,使开发者更好的进行交流沟通。

  缺点:

  1. 虽然有中文的开发文档,但描述比较简单,希望他们丰富他们的API文档。

  2. 免费版本不支持自定义插件(据说企业版可以自定义插件)。

  3. 暂时只支持iOS,Android两大平台,不知道什么时候推出Windows Phone 8?

  4. 许多功能需要企业版才能实现,不过是收费的。

  Titanium

  产品功能:

  Titanium移动平台是所有移动开发平台中比较另类的,它将JavaScript和本地库链接在一起,编译成字节码,针对iOS以及Android两个平台分别构建一个软件包。应用程序使用HTML,JavaScript和CSS进行开发,并支持PHP,Ruby和Python。应用程序可以使用 Appcelerator API访问本地特性。并提供Appcelerator Studio开发环境,由于编译成本地代码,所以用户体验是最好的。

  特性:

  1. 针对不同平台生成对应的原生包 。

  2. 供Appcelerator Studio开发。

  优点:

  1. 针对JS解析生成原生控件,基本达到纯原生的用户体验。

  2. 支持自定义插件。

  缺点:

  1. API文档为英文,并且比较简单,对国内用户使用有一定挑战。

  2. 跟PhoneGap 同样,国外框架,技术支持困难。

  3. 支持Android,iOS,黑莓平台。

  4. 环境需要用户自己搭建比较复杂。

  appMobi

  产品功能:

  appMobi推出了全新开发工具XDK,这个工具使得开发者可以使用HTML5构建网络和移动平台的应用程序,可以进行屏幕仿真调试、设备实际调试和遥控调试等。

  特性:

  1. 使用XDK 进行开发。

  2. Html5+CSS+JS。

  3. 一次开发,多处运行。

  优点:

  1. 本地接口较为丰富,并且推出有游戏加速引擎,主要包括物理引擎、离线和动态缓存、媒体播放器、验证和加密、增强现实、二维码和QR扫描、更好的显示支持。

  缺点:

  1. 国外框架,技术支持差。

  目前已经有很多移动开发公司把PhoneGap进行了封装,提供打包、快速模板等开发环境。但是由于PhoneGap本身的局限性,如果要做长期的商业项目还有很长的路要走。而国内使用最多的AppCan,它从多个角度多种模式进行开发,可以满足国内从普通网站维护者到Web专业开发者等对于移动应用的需求。加上良好的技术支持,目前已经成为众多开发者的首选框架。而appMobi,Titanium移动平台,不同的用户根据自己的需求也有相应的选择。

  Hybrid App,一个特定时期的特定产品,不同的期望不同的选择。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


1.小程序的优缺点优点:不需下载、卸载使用方便缺点:嵌套在微信中,属于微信的子应用2.使用的技术实际上是Hybrid技术的应用HybridApp(混合模式移动应用),使用网页语言和程序语言共同开发小程序兼具了NativeApp所有优势,也兼具了WebApp使用Html5跨平台开发低成本注:微信小程序与传
端口类型-HybridHybrid端口是交换机上既可以连接用户主机,又可以连接其他交换机的端口。Hybrid端口既可以连接接入链路又可以连接干道链路。Hybrid端口允许多个VLAN的帧通过,并可以在出端口方向将某些VLAN帧的Tag剥掉。华为设备默认的端口类型是Hybrid。 Hybrid端口收发数据帧的规则
不同vlan同段IP通信LSW1vlan1vlan2vlan3interfaceEthernet0/0/1porthybriduntaggedvlan2to3interfaceEthernet0/0/2porthybridpvidvlan2porthybriduntaggedvlan2to3interfaceEthernet0/0/3porthybridpvidvlan3porthybriduntaggedvlan2to3
VLAN中access、Trunk和Hybrid三种端口区别:acesss:1、发送不带标签的报文2、一般与PC\server相连时使用3、只可以属于一个VLANTrunk:1、发送带标签的报文2、一般用于交换机级联端口传递多组VLAN信息使用3、可以属于多个VLANHybrid:1、混合端口可以同时属于多个vlan2、混合端口
这系列文章内容包括:STP、RSTP、MSTP、VLAN、LACP、SuperVLAN。以学习实验配置为主要目标;实验引用华为官方na在线视频中实验。6.3VLAN原理和配置实验截图:配置第一个交换机:修改端口类型acc、配置端口所属vlan、配置trunk端口。实验心得:有一个问题,当你配置e0/0/3为trunk以及al
实验一:交换机端口类型配置1.拓扑图如下图所示:2.实验要求:实现二层网络中工程部和市场部不能互访,但是都能与网络中心的服务器通信3.请写出你的配置思路、配置命令实验思路:将交换机SW1、SW2、SW3之间配置为trunk链路,其他接口配置为Hybrid链路;实验配置名如下:SW1sysnameSW
   这个英文材料对我一个英语一般的学生表示亚历山大啊,不过还是勉强看完了,说说自己的看法吧。   谷歌作为一家商业公司,利润是其基本的追求目标,这一点是毋庸置疑的。但是谷歌并没有被这个基本目标挡住了视野,无数公司失败的经验告诉我们,如果缺少创新,公司的一切发展
简介:VLAN10内通信,VLAN20内通信,VLAN30与VLAN10、VLAN20、VLAN30皆可通信Hybrid接口应用拓扑图:  一、配置PC机ip并测试相互能否ping通 PC名称IP子网掩码网关PC110.1.1.1255.255.255.010.1.1.254PC210.1.1.2255.255.255.010.1.1.254PC310.1.1.3
通常情况下,公司对内网的使用远远高于对外网的使用。公司的内部网络是由二层交换网络构建的,所以二层网络设计的好坏直接影响公司的正常业务。好的设计不仅使功能得到体现,还可以应对一些未知的隐患,如线路损坏、设备损坏等。下面我们主要对华为的二层设备进行了解,不过首先要了解的就
手机app代表了互联网时代的发展,促使我们的日常生活也变得越来越轻松,不管是哪个行业或者企业,在人们手机上存在最多的还是APP,手机APP逐渐的超越了网络,本身这些APP系统就是一个大型的APP系统,具体APP怎么开发呢?开发出来的手机APP,主要还是通过编程的方式设计出来的,有了变成那么就需要程
我想导出一种简单可靠的方法来自动提升正在运行的批处理,而无需使用其他线程中建议的额外的VBS文件或提升的快捷方式.通过javascript从批处理调用UAC对话框可确保简短的简单代码.在对话框中选择“是”,但错误对话框弹出时(在Cmd窗口外部)“Windows找不到’test.bat’”,下面的脚
无论如何,我可以在FORTRAN程序中使用BoostGraphLibrary(BGL)来使用图形数据结构.任何人都可以帮助我或给我一个提示.我想在我的MPI-FORTRAN代码中的几个处理器上进行并行图结构.是否可以使用BoostGraphLibrary(BGL)来达到此目的!亲切的问候,谢夫解决方法:你必须构造一个用C语
原文链接:http://www.cnblogs.com/iamzyf/p/3515889.html其实问题很简单:我的产品页面在 http://www.gdtsearch.com/products.spiderstudio.docapi.htm,这是一个静态页面;而我所有的技术博客都在博客园中.为了让访问者能够直接在产品页面中看到我最
Hybrid接口是华为特有的一种接口Hybrid接口是既可以连接普通终端的接入链路,又可以连接交换机间的干道链路。简单说就是Hybrid接口既能实现Access的功能又能实现Trunk接口的功能。实验模拟:实验拓扑:实验编址:测试连通性:查看交换机接口类型(默认情况下都是hybrid类型)displayportvlan
原生APP开发-NativeApp:需要用户下载安装使用,可访问手机的所有功能(GPS,摄像头,重力加速器),拓展性强,是专门为某种操作系统开发的(IOS,Android,黑莓等),但是开发和维护的成本都比较高 webApp:html5语言写出的app,不需要下载安装,基本上就是触屏版的网页,可以在多个设备上运行,有很大的局限性
拓扑图如下:(1)sw1的配置:<Huawei><Huawei>system-view//切换到系统视图Entersystemview,returnuserviewwithCtrl+Z.[Huawei]sysnamesw1//配置主机名Oct25201916:29:31-08:00sw1DS/4/DATASYNC_CFGCHANGE:OID1.3.6.1.4.1.2011.5.25.191
程序员常用等宽字体1SourceCodePro2CourierNew(传统)3Consolas4Monaco5中文雅黑混合版(YaHeiConsolasHybrid)
Japan'shybridmodelinventoryofhairEwhaRinkaLead:passed37thbirthdayofthepear,theeyesofeveryonestillhasaLolita-likegirltemperament,herinterpretationoftheinvolutionBOBlongghdhairstraightener hair,andevensetoffinas
1url不要用hash模式,如果涉及到外部如firebase方式直接发送给客户端动态链接,要求打开app内h5地址的时候,这个#会被截断,客户端无法解析2尽量在多页面,当客户端由不同入口进入的时候,前端尽可能做多业务拆分,避免以后所有模块在一起,一次修改要全部上线,3移动端输入框键盘要求输