[原创]palm webOS从零到helloworld

小溪红鱼 2009-09-25

欢迎大家关注webOS开发系列,更多内容访问http://i.wezine.cn/index.php/webos-dev,转载请注明出处

 

官方的英文还好浅显易懂,不过挺冗长,精简后翻译过来,是个不错的入门日记。

——————————–开始之前———————————-

1 开始第一个webOS实例前,确认安装好mojo sdk,并熟悉模拟器

2 熟悉如何启动app程序,本教程帮助建立第一个简单app实例,并检验开发工具是否正常运行。

——————————–app实例目录—————————–

webOS程序有它特殊的目录结构,在安装好开发插件的Eclipse上创建实例目录,只需选择File > New > Project(wizard) ,展开Palm webOS并选择Mojo Application输入实例名hello world。另外,也可以在命令行模式下用palm-generate命令创建。

命令行创建

1 打开cmd命令行模式,进入工作区目录,例如e:/app_dir之类的

2 在工作目录下键入以下命令

1.palm-generate -p "{title:'Hello World', id:com.mystuff.hello, version:'1.0.0'}" HelloWorld

查看工作目录下生成以下文件:

app目录——存放实例assistants, models, 和views目录,接下来的操作,会向目录中添加文件

appinfo.json——程序信息文件

icon.png——程序图标,格式为png透明,详细大小、格式后期教程详细描述

images——图片包

index.html——程序场景主流程文件

sources.json——场景资源调用清单文件

stylesheets——程序样式表存放目录

详细目录说明,原文

——————————–app程序信息—————————–

appinfo.json文件记录SDK framework中使用的package信息,以及版本信息和厂商信息,程序名称等等

01.{
02."id""com.mystuff.hello",
03."version""1.0.0",
04."vendor""My Company",
05."type""web",
06."main""index.html",
07."title""Hello World",
08."icon""icon.png"
09.}

注意id标识的package包以及vendor提供商,将用于在设备中运行时标识和认证

——————–设置stage流程(stage不知道这么翻译对不对)—————
流程/运行面是程序界面运行的平台,一个流程通常相对应一个程序选项卡或者程序窗口。大部分程序都只有一个流程/运行面,包含在index.html文件中。一个程序允许用户同时执行多个动作时可能就需要多个流程/运行面。举个例子,一个email程序,需要一个流程显示收件箱,但同时需要第二个运行面显示写邮件的界面。提醒和后台程序基本不需要运行面。
查看index.html内容:

01.<?xml version="1.0" encoding="UTF-8"?>
02.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
03."http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
04.<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
05.<head>
06.<title>Hello There</title>
07.<script src="/usr/palm/frameworks/mojo/mojo.js" type="text/javascript" x-mojo-version="1" />
08. 
09.<!-- application stylesheet should come in after the one loaded by the framework -->
10.<link href="stylesheets/hellothere.css" media="screen" rel="stylesheet"type="text/css" />
11.</head>
12.<body>
13.<h2>This text verifies your application is running.</h2>
14.<p>
15.To create a fully functional Palm application create a scene and remove this text from index.html.
16.See the documentation on Palm Applications for more information on creating applications and scenes.
17.</p>
18.</body>
19.</html>

注意index.html是一个标准的xhtml页面,导入webOS程序中要用到的SDK框架里<script>
片段,虽然还不是很丰富,但是是时候启动在模拟器上做个实例了。
——————————–启动模拟器—————————–
* Linux: 命令行中输入palm-emulator.
* Mac: 进入程序目录,双击Palm Emulator图标.
* Windows: 双击Palm Emulator图标,不用介绍了吧.
—————————–模拟器中运行程序—————————
如果使用Eclipse配插件开发,可以选Run > External Tools > Run As > Palm Application或者选中项目右键Run As > Palm Application,Eclipse自动编译包,安装并启动程序(前提是你得先打开模拟器,我就犯过几次傻),另外命令行模式下也可以使用sdk中的工具启动程序。
Notes:(我觉得应该放后的,不过按官方顺序翻译吧)
* 在helloworld中尽量加入些你实际应用的内容
* 安装程序新版本时不会删除掉没有显示的旧版本资源,因此,在测试期间,安装新版本之前最好先卸载旧版本程序,不然的话测试时有可能看不到新版本效果。
* workspace包含所有程序目录(这句话官方有点废话:-()
———————-命令行模拟器上手动编译和安装———————–
1 启动模拟器
2 命令行模式下进入工作区目录(就是程序包所在目录)
3 使用palm-package +程序名

1.palm- package HelloWorld

4 使用palm-install +程序安装编译好的.ipk程序包

1.palm-install com.mystuff.hello_1.0.0_all.ipk

———————–命令行模拟器上卸载程序—————————-
1 保证模拟器启动
2 命令行工作目录下输入palm-install -r +程序id,和安装有点差别

1.palm-install -r com.mystuff.hello

————————-命令行模拟器启动程序—————————-
1 保证模拟器启动
2 命令行工作目录下输入palm-launch +程序id

1.palm-launch com.mystuff.hello

————————-命令行模拟器关闭程序—————————-
1 保证模拟器启动
2 命令行工作目录下输入palm-launch -c +程序id

1.palm-launch -c com.mystuff.hello

—————————模拟器运行程序——————————–
1 保证模拟器启动
2 点击底部的程序启动图标(默认是半个月亮)
3 显示出一下画面

palm Emulator Hello World snap

palm Emulator Hello World snap

Global site tag (gtag.js) - Google Analytics