作者:老貓3.1 OpenLaszlo的前世今身
3.2 OpenLaszlo 相比 Flex的優(yōu)勢(shì)它是開源的( CPL 協(xié)議 ) 基于開發(fā)者熟悉的技術(shù) ( JavaScript 、 XML )。 支持DHML方式。
![]() OpenLaszlo編程入門非常簡(jiǎn)單,大部分的語法與JavaScript一致,整體的結(jié)構(gòu)遵循XML原則。對(duì)于一個(gè)Web前臺(tái)工程師來說,和它平時(shí)的工作沒有太大區(qū)別,只要熟悉了幾個(gè)基本概念,如canvas、class、layout等,就馬上可以上手。 當(dāng)前,OpenLaszlo帶有豐富的控件庫和類庫,要熟悉和使用好這些東西,卻需要狠很地花上一番功夫。 3.3 OpenLaszlo的框架v OpenLaszlo的SDK包括: § 一個(gè)Java寫的編譯器 § 一個(gè)JavaScript的運(yùn)行庫(Runtime) § 一個(gè)運(yùn)行應(yīng)用程序的附加的Servlet(可選)
![]()
3.4 OpenLaszlo的編譯3.4.1 編譯原理OpenLazslo編譯器將LZX源文件編譯成目標(biāo)運(yùn)行環(huán)境(runtime)下的可執(zhí)行二進(jìn)制文件 OpenLaszlo目前的目標(biāo)環(huán)境是: Flash player 8 Flash player 9 DHTML ![]() 3.4.2 編譯過程發(fā)生了什么?XML UI編譯 把lzx文件中用XML描述的用戶界面(UI)編譯成在Flash下可執(zhí)行的swf字節(jié)代碼或者DHML。 ECMAScript編譯 把lzx文件中用ECMAScript表示的帶有方法和事件句柄的用戶界面類和實(shí)例編譯成優(yōu)化的字節(jié)代碼。 媒體、數(shù)據(jù)和字體編譯 轉(zhuǎn)換PNG、JPG, GIF, SWF, MP3和TrueType字體文件,并把它們嵌入到應(yīng)用對(duì)象文件(僅用于swf)。 Size Profiling Html報(bào)告應(yīng)用程序的大小
3.4.3 編譯模式和服務(wù)器框架v 代理方式(Proxied)
![]()
v SOLO方式 ![]()
3.5 OpenLaszlo客戶端框架![]() ![]()
OpenLaszlo-Runtime Library(LFC) v 組件(Components) 一個(gè)豐富的UI組件庫 v 布局(Layout) 多樣化的布局管理器管理,當(dāng)UI組件的尺寸發(fā)生變化時(shí)能自動(dòng)調(diào)整UI組件的位置。 v 動(dòng)畫(Animation) 通過使用聲明的動(dòng)畫系統(tǒng),為所有UI部件提供可聲明的或可編程的動(dòng)畫,為高質(zhì)量的動(dòng)畫設(shè)計(jì)帶來自動(dòng)化的易入易出體驗(yàn)。 v 約束(Constraints) 可聲明的約束系統(tǒng),在數(shù)據(jù)源的值改變、其他用戶接口組件的屬性值改變、或者用戶事件發(fā)生時(shí),能夠自動(dòng)更新用戶接口的屬性。 v 數(shù)據(jù)綁定(Data binding) 可以從XML數(shù)據(jù)集自動(dòng)填充用戶接口組件值,可以生成多個(gè)組件的副本來匹配多個(gè)數(shù)據(jù)值。 v XML Services § HTTP requests for XML § SOAP § XML-RPC § JavaRPC services. v 調(diào)試(Debugging) 附帶一個(gè)嵌入式的命令行調(diào)試器,可以在運(yùn)行時(shí)顯示警告和日志信息,并且可判讀應(yīng)用程序中ECMAScript腳本的上下文表達(dá)式。
3.6 部署模式v Proxied 代理方式 § 代理模式部署應(yīng)用程序可以做到SOLO模式做不到的更多的事情,但是部署起來更加麻煩,很多時(shí)候執(zhí)行起來比較慢。 v SOLO 方式 § SOLO更易于部署,執(zhí)行效率也更高。 ![]()
3.7 工作流—天氣預(yù)報(bào)典型應(yīng)用![]()
3.8 不足v 沒有一個(gè)很好的集成開發(fā)環(huán)境(IDE)。目前在Eclipse下開發(fā)Laszlo應(yīng)用有兩種選擇: § Laszlo IDE插件 § Spket插件。 § 前者已經(jīng)停止了維護(hù),而后者對(duì)Laszlo的支持與Flash Builder相比較的話,仍然任重道遠(yuǎn)。 v 無法在IDE環(huán)境下做到UI的所見即所得,或者在IDE環(huán)境下直接獲得編譯錯(cuò)誤; v 缺乏斷點(diǎn)調(diào)試等方便的調(diào)試手段; v 與商業(yè)軟件Flex相比,參考資料和書籍缺乏。 |
|