深度探索PhoneGap:走出PhoneGap的几个误区

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

[[74178]]我们的目标是为了实现我们的信念和开发哲学而努力奋斗。深入地了解像PhoneGap这样的免费软件项目,需要良好的实现细节方面的基础知识,还需要了解代码背后的每一个参与者。他们每个人的认知和行为,都会提示你对于你的目标和技术以及工作伙伴的选择是否恰如其分。世界是多样化的,而这种多样性无一不体现在我们的代码和我们写代码的工具中。

背景

2008年夏天,Nitobi Software旗下的PhoneGap面世。Nitobi是个典型的Web咨询服务公司,并拥有很强大的JavaScript背景,同时,它也是一家Web开发商。作为顾问,我们觉得自己并没有融入PhoneGap项目开发团队,这样想法是作者自己的,但是大部分PhoneGap开发者和Apache Cordova委员会也这么觉得。

 

理念

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

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

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

我们认为,Web为设备功能的差异性提供了最令人信服的解决方案。实际上,历史上也只有C语言能够担此殊荣,但是即便如此,读者们都知道,未来还有强大的挑战在等待着大家。此外,HTML,CSS,和JavaScript都有各自的优缺点,毁誉参半。造成这个局面的主要原因是Web技术的门槛太低。任何人都可以在任何时间任何地点发布任何内容,这就是技术革命的物质基础,像物种进化一样。

我们的第二个理念大胆地做出了声明:所有的技术早晚都会退出历史舞台,站在观察统计和历史的角度来看。鉴于有这样的想法,作为服务咨询服务公司,我们知道用同一套马车来驾驭所有的马将不可免除灾难性的结局(比喻用同一个解决方案应用所有场景是不可能的)。当然,话也不能说得太绝对,某些技术得益于某个专家的杰出贡献可能可以持续数十年的辉煌。作为技术工作者我们的责任是把握住当前的技术,并且时刻注意变化。如何去行动取决于我们的选择,但是如果无作为,结果将是有别人来替代我们了。

目标

理解我们的理念帮助大家理解为什么我们组建了一个强大的开发团队:精通8种开发语言和多个操作系统,每天和开发团队打过交道的手机可以装满一个冰箱(只是形容品种型号数量多),我们当然不会把它们放进冰箱,那是我们放啤酒的地方。(作者幽默了)于是,我们创建了一个巨大的设备墙 wall。 这个 wall 并不是用来把设备们放进来的,而是为了防止开发时使用特定的平台。(足够open,不要受到局限)了解了这些理念,下面我们来看一下PhoneGap的目标。

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

1.做出***的Web开发平台。

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

责任编辑:佚名 来源: Web App Trend
相关推荐

2010-05-27 16:42:26

综合布线

2011-10-11 10:06:12

PhoneGap插件

2011-12-20 11:20:46

PhoneGap APCompass

2011-12-19 16:09:32

PhoneGap APCamera

2011-12-22 09:27:36

PhoneGap APGeolocation

2011-12-22 10:33:39

PhoneGap APNotificatio

2011-12-22 10:45:32

PhoneGap APStorage

2011-12-20 13:32:52

PhoneGap APContacts

2011-12-21 21:56:45

PhoneGap APFile

2011-12-20 15:34:55

PhoneGap APConnection

2011-12-19 16:26:39

PhoneGap APCapture

2011-12-19 15:30:25

AccelerometPhoneGap AP

2011-12-22 09:54:40

PhoneGap APMedia

2011-12-20 16:09:57

PhoneGap APDevice

2011-12-20 17:15:52

PhoneGap APEvents

2011-12-23 10:02:37

PhoneGapAndroid插件

2011-12-30 13:47:57

PhoneGap AP视频Contacts

2011-12-30 13:59:38

PhoneGap APDevice视频

2012-03-07 15:07:54

PhoneGapAndroid源码示例

2011-09-13 09:49:59

PhoneGap插件
点赞
收藏

51CTO技术栈公众号