在Enyo框架下编写webOS的“hello world!”

移动开发
本文我们将介绍研究webOS下的Enyo开发者在Enyo框架下编写webOS的“hello world!”希望对webOS有兴趣的开发者可以参考本文完成webOS应用开发。

继上篇讲解了webOS SDK的安装及取得Enyo 1.0的代码后,这节讲如何写一个Enyo的hello wrold。

上一节我们把Enyo的框架代码放在了H:\enyo目录下,目录结构如下图:

 

目录1.0必须有,且不能改名,否则会引起框架中自带的示例因为路径错误,找不到框架源码而无法运行。目录下的framework是框架的源码。support提供一些开发方面的支持,包括文档,示例等。

所有示例的运行,不需要webOS SDK的支持,直接用webkit内核的浏览器在PC上就能看到效果,所以请先准备好chrome浏览器。SDK 3.0目前也不支持Enyo程序,即使把程序打包安装到模拟器中,也没办法正常运行。以后教程中的示例效果除特别说明,都是PC上在chrome浏览器中看到的效果。

下面讲解Enyo的hello world

Enyo框架带的示例中就有hello world中的样例代码,地址为support目录下的examples\HelloWorld,目录结构如下:

 

用chrome打开index.html可以看到浏览器中打出Hello World!,如下图:

 

下面进入代码讲解。

打开index.html

  1. <html> 
  2. <head> 
  3. <title>enyo HelloWorld</title> 
  4. //这里引入框架的JS,可以看到路径里有1.0,所以前面提到复制的时候不能少了1.0 
  5. <script src="../../../../1.0/framework/enyo.js" type="text/javascript"></script> 
  6. </head> 
  7. <body> 
  8. <script type="text/javascript"> 
  9. new enyo.Canon.HelloWorld().renderInto(document.body); 
  10. </script> 
  11. </body> 
  12. </html> 

body中的代码是程序启动时执行的代码。new enyo.Canon.HelloWorld(),创建了一个enyo.Canon.HelloWorld的对象。renderInto(document.body)则是指把前面创建的对象渲染到body中。那enyo.Canon.HelloWorld对象是哪里定义的呢?在HelloWorld.js中。如下:

  1. enyo.kind({ 
  2.  
  3. name: "enyo.Canon.HelloWorld", 
  4.  
  5. kind: enyo.Control, 
  6.  
  7. content: "Hello World!" 
  8.  
  9. }); 

这些代码的意思是指,创建一个继承自enyo.Control的类enyo.Canon.HelloWorld,并且这个类的一个属性content是Hello World!。

渲染的时候控件的content就会写入html的body标签中。

HelloWorld项目下的其它几个文件作用如下:

HelloWorld.css:定义样式,为空的话,所有的样式都是使用webos内置的样式。

appinfo.json:包含装载和启动程序所必需的一些信息。最主要的属性是ID,webos内所有的程序的ID都是***的,不能重复。

经过这个教程,大家应该对webos的开发有个感性认识,接下来的文章,会介绍enyo开发的基础。

责任编辑:佚名 来源: baiyuxiong
相关推荐

2011-07-01 10:52:59

EnyowebOS 3.0 S

2011-07-18 10:57:58

webOSEnyo系统服务

2011-07-04 10:55:10

EnyowebOS 3.0 S

2010-11-23 08:39:41

EnyowebOS 2.0WebOS

2011-07-07 10:40:18

Enyokindscomponents

2014-04-11 11:36:42

NDKAndroid开发终端

2011-06-08 17:59:43

Qt Creator

2012-05-26 23:32:54

webOS

2017-11-23 17:45:46

Yii框架IntelYii框架深度剖析

2014-12-19 10:07:10

C

2010-06-21 17:08:10

Java框架ScalaSpring

2022-08-30 12:05:19

C语言代码

2009-06-19 16:05:39

时间类型Struts

2009-07-30 13:21:17

Scala入门Hello World

2023-01-06 08:18:44

2009-09-16 17:15:19

OSGi Bundle

2009-08-11 10:32:23

什么是Groovy

2023-09-04 07:30:03

Wasm汇编语言

2011-06-08 14:39:06

Qt 教程

2012-05-27 08:05:00

惠普webOS集体离职
点赞
收藏

51CTO技术栈公众号