顯示具有 Seaside 標籤的文章。 顯示所有文章
顯示具有 Seaside 標籤的文章。 顯示所有文章

2011年10月13日 星期四

Kaliningrad專案--整合Amber,Seaside以及Monticello

網路上有人釋出Kaliningrad專案意圖整合Amber,Seaside以及Monticello,讓Web開發的前端及後端都能一起來smalltalk,Jimmy's papa稍微小試了一下


先下載Seaside One-Click Experience 3.0.6
起始Seaside然後至Workspace執行下列指令,載入Kaliningrad專案

Gofer new
    url: 'http://ss3.gemstone.com/ss/Kaliningrad';
    package: 'ConfigurationOfKaliningrad';
    load.
((Smalltalk at: #ConfigurationOfKaliningrad) project version: '0.1') load.
寄件者 scratchlab01

將'JimmyScratchLab'新增到Monticello packages

寄件者 scratchlab01

新增後,可在Monticello Browder看到'JimmyScratchLab'這個Monticello package

寄件者 scratchlab01

將'JimmyScratchLab'這個Monticello package登記至KOAmberBrowser class

寄件者 scratchlab01

到Amber端(http://localhost:8080/tools/amber-browser)新增一個同名的'JimmyScratchLab' Package並新增#Test類別後,按下Commit package按鈕

寄件者 scratchlab01

回到後端Seaside,可看到Amber端的.st檔內容

寄件者 scratchlab01

還有自動產生的.js檔內容

寄件者 scratchlab01

2011年3月1日 星期二

Seaside and JQuery

目前所看到JQuery的應用,讓Jimmy's papa覺得Scratch 2.0似乎可以純網頁程式的展現,而不需藉由FlashPlayer外掛程式,例如DesignBlocksJSLively Kernel都是純網頁程式 待續......

2011年1月29日 星期六

Pharo and Seaside

前一陣Jimmy's papa在查資料寫Squeak程式時,找到一個Squeak的特殊分支Pharo,查閱相關開發文件,發覺它支持的Seaside網頁應用程式開發框架(web application framework)可以物件導向的方式很直覺地產生HTML文件,也支援JQuery等等Web 2.0的語法,以下是個簡單的範例 首先,宣告類別JSLCounter,並且定義一個變數count
WAComponent subclass: #JSLCounter
    instanceVariableNames: 'count'
    classVariableNames: ''
    poolDictionaries: ''
    category: 'JimmyScratchLab'
幫JSLCounter宣告一個increase方法
JSLCounter>>increase
    count := count + 1
JSLCounter要顯示的網頁內容則寫在renderContentOn:裡
JSLCounter>>renderContentOn: html
    html heading: 'Welcom to Seaside--JimmyScratchLab'.
    html heading: '歡迎到海邊--機器人積木軟體实驗室'.
    html paragraph: [
        html render: '目前有'.
        html render: count.
        html render: '次點擊'.
    ].
    html anchor
        callback: [ self increase ];
        with: 'Click me'.
這是JSLCounter顯示為網頁的結果,由於Seaside 3.0目前繁體中文只能選擇mac-roman字碼,部份短缺的繁體中文字只能以簡體字代替之,期待Seaside未來的版本支援Big5字碼
寄件者 scratchlab