PhoneGap之深度探索–理念、目标和宗旨

标签: 工具与框架 PhoneGap 跨平台 | 发表时间:2012-05-12 19:24 | 作者:Lisober
出处:http://www.webapptrend.com

本篇文章选自PhoneGap的官方 博客,该文章旨在让大家走出在理解PhoneGap的目标中的几个误区。

我们的目标是理念和发展观的延伸。深入地了解像PhoneGap这样的免费软件,需要的不仅仅是实现细节方面的知识,还需要了解代码背后的每一个参与者。每一个人和他们背后促使他们了解该技术是否适合你的故事,你的目标,和你的工作伙伴都是我们需要了解的。世界是多样化的,而这种多样性无一不体现在我们的代码和我们写代码的工具中。

背景

2008年夏天,Nitobi Software旗下的PhoneGap面世。Nitobi是个典型的Web咨询服务公司,并拥有很强大的JavaScript背景,同时,它也是一家Web开发商。我们的咨询服务背景为PhoneGap项目开发团队提供了一些理念。这些观点是我们自己的,大部分PhoneGap开发者和Apache Cordova委员会表示认同。

理念

我们有两个核心且根深蒂固的理念:

1.web为跨平台提供了解决方案。/解决了跨平台带来的烦恼.

2.随着时间的流逝,新的技术总是会取代原来的技术。

我们认为,Web为设备功能的差异性提供了最令人信服的解决方案。实际上,历史上只有C能够担此殊荣,但是即便如此,读者们都知道,Web乃是一神器。虽然HTML,CSS,和JavaScript都有各自的优缺点,皆有其临界量。造成这个缺陷的一大部分原因是Web技术的低门槛,虽然这是多么的不可思议。这正是我们灵感的由来。

我们的第二个理念冒险做出了声明:所有的技术都会逐渐衰退。从历史中我们可以发现这一现象。鉴于有这样的想法,作为服务咨询服务公司,我们知道拉车的马都不可免除灾难性的结局。当然,这不是绝对的,一些技术得益于某个专家可能几十年后仍然风头正劲。作为技术工作者我们的责任是保持现状,并且预测未知的变化。是否有所作为在于我们的选择,无作为的结果将是有另外的技术替代我们的技术。

目标

理解我们的理念帮助大家理解为什么我们组建了一个强大的开发团队:精通8种开发语言和多个操作系统,每天和他们打过交道的手机可以装满一个冰箱,我们当然不会把它们放进冰箱,那是我们放啤酒的地方。于是,我们创建了一个 Device wall。 Device wall 不是用于放置手机,而是为了防止开发时使用特定的平台。,了解了这些理念,下面我们来看一下PhoneGap的目标。

我们对PhoneGap提出了两个高层次的目标:

1.Web是最优先(Top)开发平台。

2.PhoneGap的最终目的是消除目标平台间的差异。

当然,现在Web并不是第一选择的开发平台。落后的工具,极少的外围API,受限的GUI元素集,Web还有其他的很多问题,或者可以说成是特点,比如说sandbox和一些未提供的API,可以为它带来绝好的机会。简而言之,我们认为Web是一个处于劣势的平台,我们需要用PhoneGap来填补这个劣势。

我们的第二个目标听上去有些不切实际,却是作为一个平台致力于web的标准化。我们支持Web向所有人开放,无论大家以何种方式进行参与。通向Web的方向畅通无阻,没有任何阻隔。对W3C,WHATWG和Mozilla的WebAPI、BONDI,WAC,Webinos,webOS,Tizen等类似内容的调查研究也给了我们很多的启发。

宗旨

我们中的大多数人都是UNIX的推崇者,我们崇尚简单,精确,专用工具。PhoneGap和其它的解决方案相比,大同小异。我们不可能做到尽善尽美,满足所有人的要求,但是我们相信Web能够解决软件中的很多缺陷。随着Web的不断改进,它能够解决的问题将会越来越多。

不无讽刺地说我们的第一个理念(web解决了跨平台带来的困扰)关系到第二个理念(任何的技术都会逐渐衰退)。这也是我们开发PhoneGap的目的。我们知道目前Web并不是一个优秀的开发平台,所以我们一再努力对它进行改进。我们意识到Web平台的限制给很多用例的可行性带来了不便,使一些提供了更好工具的特定的解决方案案获得了优势。这与我们的理念和目标完全相悖。

依赖性是所有烦恼的根源。然而,我们并不依赖于Web,JS或者哪种技术。事实上,为了PhoneGap的实现,我们中的大多数人现在精通多种平台,语言,工具和操作系统。任凭新的技术放马过来吧:我们的终极杀手锏就是:浏览器。

我们更新的速度很快,一般是两次/月,并且长期以来一直如此。有传言说PhoneGap可能会落后于本机应用,从技术角度上来看,这没错,但是我们一般不会落后多于两周时间。另外,对于开发者来说,为实现某个非自己开发的功能添加插件是非常简单的事情,我非常鼓励你们阅读 我们相关的发布哲学。我觉得在当前该产业中我们是最棒的。 

最后总结

我们承认目前没有最好的解决方案,Web并不适用于所有情况。不管怎么说,Web技术并没有进一步恶化,浏览器的抽象层和操作系统(C,C++)是同样的。Web技术当前没有实现的功能并非是它的能力所限,也并不是永远不能实现,而是我们还未着手实现那个功能。

如果你想尽自己所能改进Web技术,你可以 在这里了解更多的投稿信息。如果你对PhoneGap真正的缺点有一些真知灼见: 你可以先在这里试试看

 

原文出处: PhoneGap Beliefs, Goals, and Philosophy

 

您可能也喜欢:

新手必读:PhoneGap入门六大问题

[摘要]Vision Mobile发布2012跨平台开发工具报告 PhoneGap最受欢迎

PhoneGap 1.3 版发布 大大改进对BlackBerry和WP平台支持

PhoneGap开发初体验:用HTML5技术开发本地应用
无觅

相关 [phonegap 深度 理念] 推荐:

PhoneGap之深度探索–理念、目标和宗旨

- - Web App Trend
本篇文章选自PhoneGap的官方 博客,该文章旨在让大家走出在理解PhoneGap的目标中的几个误区. 我们的目标是理念和发展观的延伸. 深入地了解像PhoneGap这样的免费软件,需要的不仅仅是实现细节方面的知识,还需要了解代码背后的每一个参与者. 每一个人和他们背后促使他们了解该技术是否适合你的故事,你的目标,和你的工作伙伴都是我们需要了解的.

初识PhoneGap

- - IT技术博客大学习
标签:   PhoneGap.      一、PhoneGap是什么.     PhoneGap是一个标准的开源框架,用PhoneGap开发移动应用是免费的,无论是商业或是开源;一个用基于HTML,CSS和JavaScript的,创建跨平台移动应用的 快速开发平台. 它使开发者能够利用iPhone、Android、Palm、Symbian、WP7、Bada和Blackberry智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等,此外PhoneGap拥有丰富的插件,可以以此扩展无限的功能.

Phonegap踩过的坑

- - snoopyxdy的博客
最近2个月一直在做一个Phonegap(现改名为cordova,其实我用的cordova来做的,但是叫惯了phonegap)的手机app项目,目前已经debug完毕,准备发布上线了,发现真印证了网上流传的一句话:. 如果你恨一个人,让他去开发PhoneGap应用;如果你爱一个人,让他去开发PhoneGap应用.

Android + Eclipse + PhoneGap 环境配置

- - CSDN博客推荐文章
用了3天的时间,终于把环境搭建完毕,郁闷了N天,终于完成了. 这里我只是讲述我安装的过程,仅供大家参考. 环境搭建首先要去下载一些安装包:. (下载前注意一下,电脑是32位还是64位的请注意选择安装包). java环境的JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html.

phonegap 框架详解 - Blue Sky ......

- - 博客园_首页
首先, 来看一下phonegap 初始化流程以及Native 与 JS 交互流程图. 说明:socket server模式下, phonegap.js 源码实现的采用1 毫秒执行一次XHR请求,  当Native  JS 队列里面有JS语句数据时,才是真正的1毫秒调用一下;  当没有数据, scoket server 会阻塞10毫秒, 也就是XHR 要等10秒钟才能收到结果,并进行下一次的轮询.

PhoneGap现已完全支持WP7

- - HTML5研究小组
PhoneGap现已完全支持Windows Phone 7所有的原生功能,其支持力度达到了iOS与Android的水平. 微软在去年7月帮助Nitobi将PhoneGap移植到了Windows Phone Mango上,并在9月 发布了 该框架的一个可用版本. 很多原生特性都得到了支持,包括Accelerometer、Camera、Contacts、Geolocation、 Notification与MediaCapture,但团队希望能找到一些Bug.

关于Phonegap的一些看法

- - SweetRiver
呃, phonegap今年发展不错啊,至少“跨平台”一个词就是多少人无法拒绝的一个诱惑,而且使用HTML+CSS+JS开发,可灰常有吸引力. 网易轻博LOFTER的移动客户端就是用phonegap开发的,但是目前只有iOS版本,Android版本似乎还在开发中. 试用了下iOS下phonegap做出来的LOFER,应该说UI效果非常接近原生APP,但不如原生APP流畅,可以感觉到网易LOFTER团队付出了很多的努力.

Phonegap + HTML5 开发经验小结

- - Miller
        去年曾对 Phonegap做过一次调研,当时还是1.1版本,印象也一般. 对他的性能以及真实的跨平台能力都不太确定. 今年过完春节至今正好有机会参与了一个纯Phonegap + HTML5开发的项目,项目至今已经完成了一期的App Store提交,所以也正好能抽时间来小结一下. 一个月左右的开发过程让我对这种开发模式有了更深的认识,这对于前端开发人员而言绝对是一个大的机会.

HTML5漫谈(4)–HTML5应用平台:PhoneGAP

- - HTML5研究小组
(  程宝平 chengbp @gmail.com). http://phonegap.com)按官方说法,是HTML5移动应用平台,它包括两部分:. 1)       应用开发框架:采用Web/HTML5技术编写应用,支持设备能力(如GPS、重力感应等)调用;支持能力插件灵活扩展. 图1 PhoneGAP支持设备能力API列表.

phonegap利用百度地图sdk定位

- - snoopyxdy的博客
近期的一个phonegap项目把我做的焦头烂额,最让人蛋疼的就是安卓4.1.x对html5的定位获取经纬度有个无比巨大的坑,一般我们利用如下代码进行html5的定位. 另外一个巨坑也直接影响了我对这个问题的判断,如果我重启了安卓4.1的机器,那么上述代码将能够正常跑大约几小时,甚至半天,可是到了第二天又会出现同样的问题,无尽的timeout.