码迷,mamicode.com
首页 > Windows程序 > 详细

关于PhoneGap转apicloud的那些事

时间:2015-04-25 14:59:34      阅读:1083      评论:0      收藏:0      [点我收藏+]

标签:

 

一直在做PC端的HTML5开发,之前也用过Phonegap,一直关注Hybird开发的发展。前几天看到APICloud,试用了一下,整体感觉不错,打算转到apicloud开发,针对两个平台我也简单的做下总结,如下:

  1. PhoneGap起源——

构建一个Web技术和Objective-C之间的桥梁,即让Web技术和Objective-C之间能够互联互通。通过标准的Web技术(HTML、JavaScript、CSS),开发者能够开发类似本地应用的iPhone程序。

MP:使用Web技术开发类似本地应用的程序。

 

2.PhoneGap主要功能

打包:可以打包Web应用为本地应用格式(apk和ipa文件)

访问智能移动设备本地特性:GPS、设备摄像头、设备信息、通讯录等

扩展插件:

 

3.PhoneGap的本质:在移动设备上像本地应用一样运行Web应用(WebView实现);实现JavaScript和本地API之间的调用和通信。

PhoneGap应用:实际上就是运行在移动设备中WebView组件内的Web应用。

 

4.PhoneGap实现的JavaScript和本地API之间的相互调用和通信方式:

iOS:

 

JavaScript-本地代码:本地代码拦截JavaScript中调用的window.location="gap://Class.method/args"命令。本地代码拦截该命令后,解析获取的参数,再调用对应的类、方法并传递参数

本地代码-JavaScript:UIWebView.stringByEvaluatingJavaScriptFromString,实现本地代码调用JavaScript

Android:

 

JavaScript-本地代码:拦截JavaScript的prompt命令(默认会弹出对话框,PhoneGap的Android本地代码会拦截该对话框)

Java-JavaScript:Android上的PhoneGap内部,使用Java实现了一个HTTP服务器,通过持久性的XHR连接,JavaScript可以不断轮训内部XHR服务器存储的信息,从而实现了从Java到JavaScript方向的通信

BlackBerry 4.x:通过document.cookie实现(一方设定,另一方从Cookie中获取信息)

BlackBerry WebWorkshop

 

JavaScript-Java:通过ScriptEngine.addExtension,java对象可以暴露给JavaScript

Java-JavaScript:Java可以使用ScriptEngine.executeScript来调用JavaScript

Windows Phone7

 

JavaScript-本地代码:通过window.external.Notify将信息发送给本地代码

本地代码-JavaScript:通过WebBrowser.InvokeScript运行本地代码调用JavaScript

 

5.PhoneGap功能特点

优点

 

兼容性

标准化——PhoneGap采用W3C标准

JavaScript+H5

开发成本低

缺陷

 

运行速度慢,UI反应延时,在移动端越来越要求体验上,表现的不是很流畅。

 

6.WebView和UIWebView

相同点:用于在移动设备上显示网页,二者都使用WebKit引擎

不同点:

 

WebView——Android

UIWebView——iOS

本质:WebView提供了与浏览器同样的功能,但不提供浏览器边框。因此,WebView方式下运行的Web应用,在用户看来就像在本地应用一样。WebView封装了Web应用。

 

Apicloud

一个新兴的平台,上线短短半年多就被业界所看好,他们是用前端语言就能写出媲美原生语言的app,使用JavaScript即可轻松调用各类模块,如果你一时忘记某个模块的参数名称,IDE还提供智能提示功能;同时每个模块都设定了配置项,开发者可快速的更改配置项以满足差异化和精细化的需求,一套代码适配双平台应用。平台产出的app上架store完全没问题,目前已经有很多商业案例。

 

优点:
    1、方案完整,简化,上手快。因为有Phonegap的基础,了解概念花了不到两个小时,做出第一个小App花了一天半。
    2、IDE整合做的不错,直接连接云端,SVN代码同步,直接连接手机App Loader真机调试,Log可以通过IDE输出,比模拟器真实,直观。
    3、云编译很方便,跨平台打包,直接生成二维码,我的小App做完打包,直接发二维码给朋友用。
    4、手机底层硬件/组件调用API很实用,测了一些,比如语音识别,都不错。
    5、文档完备,相比开源项目往往缺乏文档,信息需要东拼西凑来说,APICloud的文档比较集中和全面。
    
缺点:
    1、缺乏常见模式App的完整框架Demo,平台前期估计得知识沉淀,一时半会不会有很多的demo和教程指导,时间长就应该会好一些。
    2、UI组件不够丰富(也可能是我了解还不够),我尝试写测试App的时候最先考虑用APICloud提供的UI组件,但是发现很散且不成体系,无奈只好用JQMobi搭建了UI框架,虽然知道既然APICloud宣称可以实现原生App体验,像我这样使用第三方JS框架的方式apicloud官方肯定是不推荐的。
    4、文档层次和细致程度还不够。有一些地方有错误。另外还有一些API没有说明文字,但是他们的文档是开源的,开发者可以帮助修改。

 

经过几个月的快速迭代,现在的APICloud已经相当强大,各种封装好的的原生模块,完善的云端数据库,让用户可以快速的开发自己的App,无需把经历放在购置域名,服务器上,节省了大部分费用。在开发中的问题已经经验总结都分享在论坛中,大多数都已被加精,大家有兴趣可以看看我之前的发布的经验分享。

关于PhoneGap转apicloud的那些事

标签:

原文地址:http://www.cnblogs.com/apicloud/p/4455900.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!