从零开始学习构建 webOS 程序

特稿

2011-04-06 11:02

这是 PreCentral 开发者论坛的新人 jbg7474 编写的一篇文章,它的有趣之处不单在于对 webOS 初学者的指导,还在于表现出一种探索和尝试的精神。凡事你不去尝试它,就永远学不会。Just Do It。

by jbg7474 from PreCentral | @zhangh109 翻译,转载请注明 ifanr.com 译文链接

曾经有没有想过为自己的智能手机编写程序?我就有过,这是多么的酷。

如果你看着那些 PreCentral 上的超级开发者和美轮美奂的应用程序而没有一丝羡慕的话,那简直就不可理喻。也许 webOS 平台上的程序数量赶不上其他的平台,但质量绝对一级棒。

ares-code

每一款伟大的程序背后都有一个或几个伟大的开发者。我也想成为他们中的一员。

  • 首当其冲的原因是,我需要一个爱好。曾经花费了太多时间看电视和电影,充当消费者。现在是时候审视和完善自己了。
  • 其次,我看到了不久的将来,惠普电脑(HP)将运行 webOS 的巨大机会。百万级别的装机量可不是小数目,说不定可以在 webOS PC 上捞到一笔金。
  • 最后,即便 webOS 没有获得长足的发展,我也学会了 web 开发的技能,在这个网络无处不在的世界里非常受用。

看来 webOS 的开发真是件好事情,现在怎么做?对 JavaScript 我可是一窍不通,仅仅是懂点 HTML 而已。那么我就开始求助,开始在 Twitter 上询问如何学习 JavaScript 。这不但得到了一些资深 webOS 开发者的帮助,而且还得到了他们真诚的建议。他们也很高兴能帮助新人。

有人建议使用 w3schools.com 这个网站,上面有免费的教材和代码片段。它能有效地帮助新人学习 HTML,JavaScript,CSS 和其他必备的基础知识。而且它提供了实验区,你可以打开两个窗口对比不同代码的显示效果。我用了近一周的时间泡在上面学习 HTML 和 JavaScript。

另外一项建议是 Douglas Crockford 编写的《JavaScript: The Good Parts》(中译本是《JavaScript 语言精粹》)。有些人说 JavaScript 是一门非常灵活的语言,缺点就是太灵活了,这本书能帮助新人避免坏习惯,我一直在学习它。

javascript-the-good-parts

经过 w3schools 的训练,我已经做好了开发 webOS 应用程序的准备。先去 developer.palm.com 注册一个账户,了解 webOS 的基本政策,或许还应该下载免费的 SDK ?不不,先等等。

我决定从 Ares 开始,这是一套 webOS 的开发方案(和工具),你可以在网页上就完成一个应用软件的开发。Ares 有一个图形化的界面编辑工具,用它可以非常顺手地摆放各种元素。实际上,在线开发真是一件伟大的事情,你只需要打开一个浏览器窗口就够了。我甚至可以趁午休时间,随便在什么电脑上展开我的工作,积少成多。

Ares 也提供了几个非常有用的教程。一个是手把手教你开发 Flickr 程序,另一个是开发简单的地图程序。你只需要把代码复制粘贴就能完成教程,但代码中缺乏注释,缺乏有效信息。纯粹的新人恐怕不知道怎么去面对它,好吧,算是小瑕疵。

ares-flickr

幸运的是,适应一小段时间后就有感觉了。你必须不断地尝试它,观察它的反应。Ares 可以连接到一个模拟器,你可以一边修改代码一边看运行结果。我感觉这是 Debug 的最好方式,你可以随时暂停程序修复 JavaScript 代码,所见即所得。用这样的学习方法,进步神速。

Ares 也有一些缺点。例如 webOS 程序中浮在底部的那些按钮,就无法用 Ares 的 GUI 编辑器直接生成。因为它们不是实例化的按钮。

这就是真正的难点所在,开发 webOS 程序并不只是用 JavaScript 和 HTML 一起工作,你还必须知道 webOS 系统本身的规则。以前有一套 Mojo 的框架,现在又进化成 Enyo 。举个例子,你需要查阅文档才知道 Mojo 中如何把一个 “场景” 给 “推” 出来。到哪里才能获得文档呢?一般在 developer.palm.com 网站上可以看到最新的。

除了 Ares ,你也可以安装 Eclipse 插件,配置自己喜欢的开发环境。Palm 公司真的很贴心,提供了多样化的环境,按照你的习惯来吧。

gentree-emulator

在试水之后,我就开始尝试稍微复杂一点的东西。例如从某些网站抓取内容,当然他们不会轻易地提供支持。于是继续参与 PreCentral 的讨论区,跟高手们交换想法,碰出新鲜的点子。然后再花几个星期做出原型,拿到讨论区让大家测试。很高兴的是,一两天中就有十多人愿意帮忙测试,并发现一些缺点。所以现在我的作品更加强大,更加符合用户的需求。

看看吧,我只是一个从未接触过 webOS 的开发者,对未知的事物充满好奇并试图去了解它。每天的挑战都是新的,未来还有更多技术等着呢,例如 Enyo。不是每个人都有勇气来尝试开发,但你只需要一点点坚持和一个 Web 浏览器,就能踏入这个圈子。这是多么好的机会,用耐克的话说就是:“Just Do It.”

登录,参与讨论前请先登录

评论在审核通过后将对所有人可见

正在加载中

先后在华为技术和炬力集成做码农和 PM,并在华强北摆弄过手机档口。致力移动互联网,LBS,垂直社区,新媒体观察,致力于 iSeed 访谈的推动和建设。

本篇来自栏目

解锁订阅模式,获得更多专属优质内容