script openLaszlo / openLaszlo Server

http://www.iteye.com/news/2774

开源的RIA开发平台:OpenLaszlo 4.1发布,新版本同时提供对于DHTML/AJAX和SWF/Flash框架的全部支持,修正了超过800个bug,并且提供了一个极大改进的文档套件。

什么是Openlaszlo?

一个开源的RIA开发平台

一种客户端编程语言
一种面向未来的web应用技术
一个跨平台解决方案支持:Safari3/OSX, Firefox2/OSX, Internet Explorer 7/WinXP, Firefox 2/WinXP, and Firefox 2/Linux。OpenLaszlo。

一个产品化的web2.0解决方案

  成熟的系统架构: http://www.openlaszlo .org/architecture

  完善的开发文档:http://www.openlaszlo .org/documentation/

Openlaszlo 应用

http://www.behr.com

 

Ajax 资源中心

http://www.ibm.com/developerworks/cn/ajax/?ca=wa-specialoffer

订阅《每周RIA行业资讯报道》

http://www.riameeting.com/subscribe

openlaszlo 10分钟教程

http://www.openlaszlo.org/lps4/laszlo-explorer/index.jsp?navset=nav10.xml&bookmark=Introduction

html5 Dynamic Content Injection

http://people.mozilla.com/~prouget/demos/DynamicContentInjection/play.xhtm

https://www.ibm.com/developerworks/mydeveloperworks/homepage/web/getuserpref

目前来说RIA范畴的主流解决方案大致如下几个:
1、   FlashAdobe 公司)
2、   Silverlight (Microsoft公司)
3、   JavaFX (Oracle公司)
4、   Ajax (以JavaScript 驱动)

使用 OpenLaszlo 创建数据驱动的 RIA 应用程序  2006年11月20 日

何 帆 ([email protected] ), 软件工程师, IBM中国软件开发试验室

http://www.ibm.com/developerworks/cn/opensource/os-data-ria/

RIA (Rich Internet Applications) 富互联网应用发展态势 2009 03 30

http://www.whhpaccp.com/hpaccp/studyoer_03302785.html

RIA平台:除了Flex、Silverlight,还有Laszlo  2009年6月8日

http://www.infoq.com/cn/news/2009/06/laszlo-ria-platform

使用最佳的开源客户端框架进行云计算 2009 年 8 月 31 日

图 1. SaaS 的 4 个层次以及每个层次使用的技术
SaaS 的 4 个层次

 

图 2. 开源开发框架的基本比较图
比较开源 RIA 开发框架

用于评估这些客户端开发框架的其他标准包括:

  • 成熟度

    领先者:OpenLaszlo

    严 格的说,OpenLaszlo 的开发在 Flex 之前,尽管它使用的是另一个名称,Laszlo Systems 的发行版一直在 Adobe 之前。Flex SDK 在第 4 次更替开发时还是 beta 版本,而 OpenLaszlo 已经有一个统一的发布计划 — 当前为 V4.4 — 这使 OpenLaszlo 略胜于 Flex。

  • Web 服务支持

    领先者:Flex

    OpenLaszlo 在 Web 服务支持方面远远落后于 Flex,因为它需要配合 OpenLaszlo Java servlet 才能支持 SOAP 和 XML-RPC。考虑到它对 Ajax 的依赖,以 SOLO 模式运行时,OpenLaszlo 以 Web 服务的 XMLHTTPRequest 对象为基础构建。不幸的是,与几乎每个服务器端语言都是用的 Adobe 二进制 AMF 相比,请求—— 响应时间要慢的多。因此,我不得不宣布 Flex 在这个标准中远远领先。

  • 开发所需工作量

    领先者:平手

    随 着这两项技术的成熟,每种框架的持续开发基本原则保持一致:用更少的时间做更多的工作。换句话说,能够使用 MXML 做更多的工作意味着需要更少的 ActionScript 代码。类似地,使用 LZX 标记做更多的工作意味着需要编写的 JavaScript 代码更少。这就意味着您需要做的工作更少。大部分情况下,目前使用 OpenLaszlo 编写应用程序与使用 Flex 编写应用程序所需的时间是一样的。再加上两个平台之间的相似性,很难判断哪一种更加优秀。考虑到这些方面,我宣布二者在这一回合中打成平手。

  • 社区参与度

    领先者:Flex

    Flex 在社区参与度方面取得了胜利。Adobe 新闻聚合器(news aggregator) 仅在 Flex 一项上就有 2,370 feed。此外,从 Flex.org 开放社区和在线 Flex Cookbook(它就像是 Flex “代码库” 百科全书)可以获得许多资源,这都是社区发布的。

  • 软件要求

    领先者:OpenLaszlo

    OpenLaszlo 能够编译为多种文件格式,这使它成功的与所有其他客户端 RIA 框架区别开来。在最大客户端兼容性方面,OpenLaszlo 取得了胜利。

结束语

考虑到 RIA 社区对 Flex 的宣传,一开始似乎可以断言 Flex 将完胜 OpenLaszlo。但是,我发现实际情况并非如此。事实上,这两种 RIA 开发技术各有千秋,很难指出谁是 “最佳” 的框架语言。也许这次比较的意义在于:关注业务的需求并根据这些需求选择合适的开发技术。

 

http://shanji.iteye.com/blog/415073

http://shanji.iteye.com/blog/415105

http://shanji.iteye.com/blog/415112

http://shanji.iteye.com/blog/415116

 

        概述

       OpenLaszlo ( 开源拉兹罗 ) 是一种富客户机应用程序架构,使用 Macromedia Flash 作为部署载体。 OpenLaszlo 依赖 JavaScript 来表达逻辑,并提供了传统 Flash 开发方式无法比拟的一些优点,包括高级的 UI 约束系统、面向对象的设计方法学以及内置的对 Web 服务和各种风格的远程过程调用( Remote Procedure Call RPC )的支持。

         Laszlo OpenLaszlo 所使用的一种语言,这种语言通过说明性方法,用 XML JavaScript 来创建部件或整个应用程序。这种标记语言与脚本语言的合并类似于目前的 HTML/JavaScript 组合。然而, Laszlo 不是通过浏览器在客户端来解释语言,而是在服务器端将语言转换成 Macromedia Flash 格式。这样实际上就自动提供了跨浏览器支持,因为 Flash 提供了一个标准运行时。由于 Flash 格式是基于矢量的,因此允许使用非常灵活多变的用户界面组件,并且这些组件可以大量重用。

Laszlo 平台由 LZX 标记语言和 Laszlo 表示服务器组成:
   LZX 是基于 XML JavaScript 的描述语言,类似于 XUL XAML LZX 使能声明式、基于文本的开发过程,支持快速原型和软件开发最佳实践的
   Laszlo 表示服务器( LPS )是一个编译 LZX 应用程序为目标运行环境中可执行二进制的 Java Servlet Laszlo 目前的目标是 Falsh Player LPS LZX 应用程序编译成 SWF 字节码,为任何使能 Falsh 5 及其以后版本的 Web 浏览器 提供这些被编译应用程序的服务和缓存,同时为后端的 XML 数据源和 Web 服务代理应用程序请求
  使用 Laszlo ,你可以:
   使用基于 XML JavaScript 的一种代码来开发标准的 RIA
   发布它们到运行在 Linux UNIX Windows Mac OS X 下的任何 J2EE 应用服务器
Java Servlet 容器
  在使能 Falsh 5 及其以后版本的 Web 浏览器中显示它们,达到所有 Web 使能桌面系统的 97%  

资源

十分钟学会 Laszlo
http://www.laszlosystems.com/lps/laszlo-in-ten-minutes/

Laszlo 文档:
http://www.laszlosystems.com/developers/learn/documentation/

LZX 参考:
http://www.laszlosystems.com/developers/learn/documentation/lzxref/

 

Laszlo 开源官方站点:
http://www.openlaszlo.org/

Laszlo Eclipse 插件 ( IDE4laszlo ) ,下载地址:
http://www.openlaszlo.org/

安装

         http://www.openlaszlo.org/ 下载最新的 Laszlo 服务器,目前最高版本为

OpenLaszlo Server 4.5.x 安装之前确保您已经安装了 jdk 并且正确的设置了环境变量等参数。

安装完成后, laszlo server 会自动启动,同时启动自带的 Tomact ( 位于 OpenLaszlo Server 4.5.x\Server) ,版本应该是 tomcat-5.0.x 。如果安装和启动都没有问题,就好自动启动 laszlo laszlo-explorer 演示程序,三十秒内就该看到漂亮的系统界面了。如果看不到的话从浏览器中访问: http://127.0.0.1:8080/lps-3.2/laszlo-explorer/index.jsp

开发环境

http://www.openlaszlo.org/ 下载最新的 IDE4laszlo, 解压以后把 features 文件加下的文件全部复制到 eclipse features 目录下,把 plugins 文件夹下的文件全部拷贝到 eclipse plugins 目录下,重新启动 eclipse 即可。注意:这样安装的前提是您的 eclipse 已经集成的 wtp ,如果没有集成 wtp ,请安装 wtp 插件。为了简便,您可以直接在 http://www.openlaszlo.org/ 下载 wtp-all-in-one-0.7-win32.zip ,这个事已经集成了 wtp eclipse

安装完成后,启动 eclipse ,点击 Window >Preferences 您就能看到 Laszlo 的设置界面:

 

 

如图所示配置您自己的 LPS Web Root :您自己安装的 Laszlo 服务器的 lps-4.5.x 目录 等参数,最后点击 ok 保存。到此,开发环境完全完成。

 

第一个简单测试

         开发环境正确安装完成以后,我们就来做一个简单的小测试,来验证我的开发环境,同时学习属性一下在 Eclipse 平台下 laszlo 的开发方法。

         1. 新建一个项目 (Laszlo 项目 )

                  点击 new >project ,在弹出的新建项目向导中选择 Laszlo Project

        

          

                   然后点击 next 进入项目名称等属性设置界面:

        

 

      输入项目名称,点击 next 进入 LPS 设置页面:

   

        

       设置完成后,点击 finish ,完成新建项目向导,在 Eclipse 中,您将看到如下图所示的项目结构:

  

 

 

如上图所示, bin 目录是新建的 lzx 文件后编译后的存放目录, src 是新建的 lzx 的存放目录 C__JavaTools_OpenLaszlo Server 4.5.x_Server_lps-4.5.x_lps_components E__tools_eclipse3.3_configuration_org.eclipse.osgi_bundles_643_1_.cp_resources_lfc 是项目所需资源的目录,您的环境部同,这连个目录的名称也会不同。

2. 新建 lzx 文件

  右键点击 src 文件夹, new > 选择 Laslzo File

 

 

点击 next 进入属性配置页面:

 

填写 filename 点击 finish 完成 新建文件向导。

向导完成后,您即可看到新建的文件的代码视图:

 

 

图中左边是新建的 laszlo 文件的代码视图,图中的几行代码由向导自动生成。右边是 laszlo 的组建视图,包含 laszlo 的所有 组件。如果你需要向一个文件中添加一个新的组件,直接在组件视图中选中该组件,按住鼠拖动的目标文件中即可。

3. 填充文件内容

      为完成简单的测试,您可以向新建的文件中添加一个 text 组件显示一些简单的文本,如下代码:

<? xml version = "1.0" encoding = "UTF-8" ?>

< canvas >

    < text > Hello World </ text >

</ canvas >

    到此,一个 Laszlo 文件已经完成,一个简单的 Laszlo 也已经完成。

   

    4 . 运行示例 :

   

       一个简单的项目已经完成,接下来就是测试项目能否正常运行:

    首先编译项目,然后右键点击 src 下的 new_file.lzx 选择 Run As Laszlo Applicatio 几秒过后,即可在浏览器中看到效果。前提是确保您的 laszlo server tomcat 都已经正常启动

 

创建 Laszlo web 项目

         上面已经对 Laszlo 进行了简单的说明,完成了 Lasalo 开发环境的搭建,并且用一个简单的 project 完成了对开发环境的测试,同时也详细的讲述了 Laszlo project 的创建方法,在接下来的内容中将描述 Laszlo web 项目的创建过程:

         Laszlo  web project 的创建步骤如下:

         1) 新建一个 Dynamic Web Project( 动态 web 项目 ), 在新建 web 项目的的向导中需要配置 Target Runtime ,为防止出错,建议选择 Laszlo server 自带的 tomcat ( OpenLaszlo Server 4.5.x\Server\tomcat-5.0.24) ,当然,选择其他的 tomcat 也可以。

    2) 拷贝 OpenLaszlo Server 4.5.x\Server\lps-4.5.x\ 目录下的 lps 文件夹到新建项目的 WebContent 目录下。

     3) 拷贝 OpenLaszlo Server 4.5.x\Server\lps-4.5.x\WEB-INF\ 目录下的 lps 文件夹到新建项目的 WebContent\WEB-INF\ 目录下。其中 WEB-INF/lps/work 目录用于存放编辑产生的 swf 文件 , 但是默认就会有很多文件 , 导致项目文件太大 , 可以删除其中的内容。

           4) 合并 OpenLaszlo Server 4.5.x\Server\lps-4.5.x\WEB-INF\web.xml 新建项目的 WebRoot\WEB-INF\web.xml 中的内容。

            5) 新建项目的 WebContent 目录下新建一个测试用的 lzx 文件: Hello.lzx 代码如下:

<? xml version = "1.0" encoding = "UTF-8" ?>

< canvas >

    < text > Hello World </ text >

</ canvas >

注意:直接在 WebContent 下创建这个 .lzx 文件 (Laszlo 文件 ) 的时候会报错,并且您将不能完成文件创建向导,此时您可以在 src 目录下随便创建一个文件夹,在新创建的文件夹下创建这个 Hello.lzx 文件,然后把这个文件复制到 WebContent 目录下,当然, src 下的 Hello.lzx 已经没有用处了,您可以把它删除掉。之后在新建 Laszlo 文件的时候您就可以用拷贝黏贴的方式在 WebContent 目录下操作 Laszlo 文件了。

       到此项目和文件就全部完成了,接下来的工作就是部署和测试了。项目整体结构如下图所示:

   

        6) 部署:您应该还记得在新建项目的过程中已经配置了运行时环境 Target Runtime ,选择的是 OpenLaszlo Server 4.5.x\Server\tomcat-5.0.24 。项目要想正常运行起来,还少不了服务器的支持,既然前面选择的运行时时 OpenLaszlo Server 4.5.x\Server\tomcat-5.0.24 ,那么我们就应该把项目部署到这个容器中。有两种部署项目的方式,您可以根据自己的需要和习惯选择一种。

                   方法一:使用 Eclipse Export 功能,将项目导出到任意目录,导出的文件当然应该是一个 war 包。然后把该 .war 文件拷贝到

OpenLaszlo Server 4.5.x\Server\tomcat-5.0.24\ webapps\ 目录下,启动 Laszlo server tomcat 即可。

 

                   方法二:在 Eclipse 中新建一个 server ,选择 Runtime 为:

OpenLaszlo Server 4.5.x\Server\tomcat-5.0.24 server 创建完成以后,把项目添加到该 server ,然后运行该 server 即可,同时保证 laszlo server 处于运行状态。

                   关于 web 项目的创建, server 的创建以及项目的部署这里就不做详细描述,做过 java web 项目的程序员应该都非常的熟练,当然,绝大部分人都会比我熟练。如果有在这方面不明白的,可以查看相关的文档或者学习资料。

                   7) 查看测试:

                   如果 Lasalo server tomcat 都已经正常启动,您就可以看一下您刚才创建的项目的效果了。在浏览器中输入 http://localhost:8080/ProjectName/Hello.lzx ,如果您的 laszlo 文件如步骤 5 中所示,您在浏览器中将看到如下效果:

 

          

         这 确实很简单,也没有设么绚丽的界面效果,不过,您要明白一点,这只是一个简单的,基本的测试,有了这个测试,您就可以添加任何您想要的组件,做出任何您想 要的效果的界面。别忘了左后一点:这个界面看起来是很简单,不过您在界面点解鼠标右键,您会发现,原来这已经不是一个简单的 html 页面,而是 Flash 了。

         如果您采用的是第二种部署方式,您也可以在 Eclipse 中选中 Hello.lzx 文件,然后右键 Run AS >Run On Server 来启动 Tomcat 并且在 Eclipse 自带的浏览器中查看效果。

         以上只是有关 OpenLaszlo 的一些介绍以及基于 OpenLaszlo 平台来创建项目的步骤的描述,到此,还没有提及到 Laszlo 的语法与服务器的交互,这些都将是令人兴奋的尝试,有关这方面的描述,将放在第二阶段的学习中来描述。

 

OpenLaszlo video&camera ( 视频和摄像头 )         

         这部分需要 red5 server 作为服务器,并应用 red5 自带的一个 demo (oflaDemo) 作为服务 ( 有关 red5 的相关知识请参考 red5 文档 )

         过程:

                   1). 创建工程:参照上部分内容,新建一个 Laszlo 项目。

                   2). 视频展示:创建一个 lzx 文件: video.lzx   代码如下:

                  

         < canvas width = "100%" height = "100%">

        < include href = "av" />

        < rtmpconnection src = "rtmp://localhost/oflaDemo"                        autoconnect = "true" />

        < rtmpstatus />

        < view align = "center" >

           < videoplayer height = "300" width = "400" url = "Spiderman3.flv"            type = "rtmp" autoplay = "true" />

        </ view >

    </ canvas >

    3). 摄像头展示:创建一个 lzx 文件:   camera.lzx   代码如下 :

    < canvas >

        < view align = "center" >