有没有想过如果能为你的手机开发应用程序是一件多么酷的事情啊?我是觉得相当酷。如果你没有看到在Precentral的社区里有着这样令人着迷的开发者的话你可能很难有这个想法。与别的平台相比我们可能应用程序的数量不多,但我们还是有不少高质量的程序。Carbon和Neato!都是webOS平台上很棒的程序。Preware为使用者打开了安装许多额外程序、补丁以及其他东西的大门。你应该已经见识过了,也知道我说的是什么。在webOS平台上确实有很多很棒的程序,而在这些程序的背后则是一个个很棒的开发者或者是开发团队。
我也希望成为他们其中的一员。
首先,我需要一个兴趣爱好。我爱看各种电影和电视剧。是到了时间让我花费更多的闲暇时间来改善这一体验,而非仅仅成为一名消费者了。其次,我看到了未来可能在HP的PC上将会运行webOS的这一潜在的机遇。即使是在1亿台中占据一个很小的比例也会是一个很大的数字。我从没想过成为一个webOS开发专家,但在这种规模下,我可以想象即使我只是一个一般的开发者,一年也能赚个成千上万刀。最后,即使为webOS开发程序是没有回报的,开发webOS所需的技能和开发网页是一样的,而网页开发可是不会在短期内消亡的哦。
所以开发webOS是一件不错的事情。不过?我对Javascript几乎一无所知,我知道HTML语言是一门标记语言,对于一个初学者而言如何学习这些语言呢?最好的方法就是多问。大部分webOS开发者不仅技术高超,而且还非常乐于助人。我在Twitter上问了一句如何学习Javascript,然后得到了不少好的建议。
有一些朋友让我先从 w3schools.com 这个网站看起。这个网站提供了最权威的免费HTML基础知识以及Javascript、CSS以及其他基础的网页编程知识。最棒的是在他们的网站上你可以当场实践你所学的东西。在这个网站上有个按钮,点击之后会弹出两个新窗口:一个是代码窗口,另一个是运行的结果。一旦修改了代码,运行的结果也会马上跟着改变。对于学习HTML而言,这是一个很好的工具。我大概花了1周的时候学习了这些内容。
另一个朋友推荐我去看这本书:JavaScript: The Good Parts。(下载地址)里面介绍了Javascript的基础知识,并附了很棒的练习案例。Javascript是一种很灵活的语言,有些人甚至觉得太灵活了。这本书能帮助你避免一些坏的编程习惯。我还在学习。
在看完了w3schools.com的教程之后,我开始正式接触webOS了。我已经在developer.palm.com上注册了一个用户,并免费下载了webOS的SDK开发包。每个人都能够和我一样免费注册并下载SDK。为了能够理解接下来的事情,还有一件事情要说明一下。
我决定从Ares开始。这个是HP专门为开发webOS程序设计的网站。你能够在Ares这个网站上编写你的webOS应用程序。Ares还有一个可视化界面,所有的代码都能够以一个直观的形式展现出来。它还会替你自动处理一些问题,让你能够免去不少小麻烦。使用在线的开发环境的一个好处就是你可以随时随地写上几句代码。比如在午餐时间利用单位的电脑写点代码,而不用再重新搭建一个编程环境。
Ares还链接了一些比较有用的教程文档。其中一个是教你如何编写一个Flicker应用的。另一个是教你如何搭建一个地图应用的。这些教程都很棒,不过他们给你留下来大量的关于如何编写一个真实的程序的信息。Flicker程序确实很棒,但你学习的时候主要还是在复制粘贴,而没有很好地解释。这样的案例可不是一个学习的最佳例子。
幸运的是,很多人在看了这些例子之后还是有了不少长进。你应该深入了解这些例子,修改其中的一些代码,看看会发生什么。Ares可以和模拟器连接,这样可以让你进行debug工作。终端可以允许你直接输出Javascript代码到模拟器里,这样你就可以看到变量的实际运行的结果,这是一个非常强大的学习工具。
不过Ares还是有一些不足之处。有很多应用程序光靠Ares是无法开发出来的。举个例子,你知道在很多程序中出现在底部的漂浮按钮吗?你不能在Ares的GUI工具中直接制作它。原因很简单,这些按钮的展现方式和一般的web页面是不同的。不过如果你不知道其中的缘由,你也不会在Ares中感觉到。你会开发一个不包含此类按钮的程序。Ares是支持这些按钮的,所以以后你一旦知道了,加进来也很容易。
而这就是事情的关键所在。编写webOS程序不仅仅是要熟悉Javascript和HTML语言。你还需要知道webOS程序是如何工作的。他们存在于一个叫Mojo的框架之中,现在有新的框架,叫Enyo,一个全新的并很快就要出现的框架。举个例子,在你的程序中要打开一个新的界面,你必须知道Mojo的Push Scene命令。为此你需要详细的说明文档。
好在这样的文档很多。developer.palm.com的一些新改进让这些文档找起来更方便。这个不错。除了Ares,Eclipse的插件、模拟器,Palm在这方面为开发者做的工作还是不错的。
在编写了一些简单的程序之后,我想真正开始编写一个较为复杂的程序了。我有一到两个好的想法,但我编写他们还需要得到一些支持,而Palm的网站并未提供。所以我来到了Precentral的社区。我在这里得到了我想要的答案。这里有不少优秀的程序,而我也不需要借助App Catalog来发布我的测试程序。这为新的开发者创造了很好的条件。对于好的想法几乎没有什么缺点。这耗费了我几周的时间。不过我现在几乎有了一个快要可以发布的程序了。当我觉得差不多的时候,我又来到了这个社区招募测试者。在一到两天内我就找到了10个测试人员。而且他们发现了很多需要改进的地方。现在我的程序变得更健壮了,基本上可以满足某些用户的需求了。
我还在继续学习。我还不是一个webOS高手。今天还有一个测试者提出了一个新的功能,但我还不知道如何去编写。不过能够指出这一个需求已经够让我感到惊喜的了。对我而言这也是开发的魅力所在。每一个小问题的解决都像是一个小小的比赛,解决它,并且解决的更好,这样的挑战几乎每天都在发生。而当你觉得你已经把所有问题都解决的时候,新的框架Enyo又出现了,这又能让你重新思考每个功能如何重新编写了。
并不是每个人都能做开发,不过也有人精于此道。有志者事竟成。我想你也可以。如果你对webOS开发感兴趣的话,没有比现在更合适的时候了。你不需要获得一个计算机科学的学位,你所需要的仅仅是恒心和一个网页浏览器。就像Nike的宣传口号那样——Just Do It!
信息来源:Precentral
翻译:WebOSHome