曾经有没有想过为自己的智能手机编写程序?我就有过,这是多么的酷。
如果你看着那些 PreCentral 上的超级开发者和美轮美奂的应用程序而没有一丝羡慕的话,那简直就不可理喻。也许 webOS 平台上的程序数量赶不上其他的平台,但质量绝对一级棒。
每一款伟大的程序背后都有一个或几个伟大的开发者。我也想成为他们中的一员。
- 首当其冲的原因是,我需要一个爱好。曾经花费了太多时间看电视和电影,充当消费者。现在是时候审视和完善自己了。
- 其次,我看到了不久的将来,惠普电脑(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 是一门非常灵活的语言,缺点就是太灵活了,这本书能帮助新人避免坏习惯,我一直在学习它。
经过 w3schools 的训练,我已经做好了开发 webOS 应用程序的准备。先去 developer.palm.com 注册一个账户,了解 webOS 的基本政策,或许还应该下载免费的 SDK ?不不,先等等。
我决定从 Ares 开始,这是一套 webOS 的开发方案(和工具),你可以在网页上就完成一个应用软件的开发。Ares 有一个图形化的界面编辑工具,用它可以非常顺手地摆放各种元素。实际上,在线开发真是一件伟大的事情,你只需要打开一个浏览器窗口就够了。我甚至可以趁午休时间,随便在什么电脑上展开我的工作,积少成多。
Ares 也提供了几个非常有用的教程。一个是手把手教你开发 Flickr 程序,另一个是开发简单的地图程序。你只需要把代码复制粘贴就能完成教程,但代码中缺乏注释,缺乏有效信息。纯粹的新人恐怕不知道怎么去面对它,好吧,算是小瑕疵。
幸运的是,适应一小段时间后就有感觉了。你必须不断地尝试它,观察它的反应。Ares 可以连接到一个模拟器,你可以一边修改代码一边看运行结果。我感觉这是 Debug 的最好方式,你可以随时暂停程序修复 JavaScript 代码,所见即所得。用这样的学习方法,进步神速。
Ares 也有一些缺点。例如 webOS 程序中浮在底部的那些按钮,就无法用 Ares 的 GUI 编辑器直接生成。因为它们不是实例化的按钮。
这就是真正的难点所在,开发 webOS 程序并不只是用 JavaScript 和 HTML 一起工作,你还必须知道 webOS 系统本身的规则。以前有一套 Mojo 的框架,现在又进化成 Enyo 。举个例子,你需要查阅文档才知道 Mojo 中如何把一个“场景”给“推”出来。到哪里才能获得文档呢?一般在 developer.palm.com 网站上可以看到最新的。
除了 Ares ,你也可以安装 Eclipse 插件,配置自己喜欢的开发环境。Palm 公司真的很贴心,提供了多样化的环境,按照你的习惯来吧。
在试水之后,我就开始尝试稍微复杂一点的东西。例如从某些网站抓取内容,当然他们不会轻易地提供支持。于是继续参与 PreCentral 的讨论区,跟高手们交换想法,碰出新鲜的点子。然后再花几个星期做出原型,拿到讨论区让大家测试。很高兴的是,一两天中就有十多人愿意帮忙测试,并发现一些缺点。所以现在我的作品更加强大,更加符合用户的需求。
看看吧,我只是一个从未接触过 webOS 的开发者,对未知的事物充满好奇并试图去了解它。每天的挑战都是新的,未来还有更多技术等着呢,例如 Enyo。不是每个人都有勇气来尝试开发,但你只需要一点点坚持和一个 Web 浏览器,就能踏入这个圈子。这是多么好的机会,用耐克的话说就是:“Just Do It.”