Hi, For the company I work for we have a Java client interfacing
to Servers written in VisualAge Smalltalk using Ultra
Light Client protocol (a proprietary (ex) IBM protocol). In order to make our interface look more “sexy”
and to keep up with the hyperbole, it has been decreed that we need to develop
an I’m curious if anyone knows of a serious Smalltalk
alternative to using JavaScript, bearing in mind that one of the main
attractions to JavaScript is the zero install. All comments appreciated… Cheers, Stewart |
Stewart MacLean wrote:
> > For the company I work for we have a Java client interfacing to Servers > written in VisualAge Smalltalk using Ultra Light Client protocol (a > proprietary (ex) IBM protocol). > > In order to make our interface look more “sexy” and to keep up with the > hyperbole, it has been decreed that we need to develop an Ajax front end > to the servers (which are also earmarked for rewriting in a more > “mainstream” language down the road). > > I’m curious if anyone knows of a serious Smalltalk alternative to using > JavaScript, bearing in mind that one of the main attractions to > JavaScript is the zero install. Seaside has recently (this year) acquired the ability to use Ajax or an Ajax-like JavaScript library. You don't have to program in JavaScript to use it, you specify your stuff in Smalltalk. I don't know very much about it more than that -- what I've seen looks cool, but I haven't used it myself. Unfortunately for your situation, Seaside does not run in VA, only in VW and Squeak. -Martin |
In reply to this post by Stew MacLean
At 06:51 AM 9/21/2006, Stewart MacLean wrote:
Hi, Somebody else may have some ideas, but I've not heard of anything on the client side that you can leverage without an install of some sort (VisualWorks has a browser plug-in, but obviously it's not a "zero install"). That said, I have used Ajax with the VisualWorks Application Server and my impression is that you can do a lot without getting heavily involved in JavaScript. Have you looked at the JS framework called "Prototype"? http://prototype.conio.net/ I believe this is used by scriptaculous, and ergo Seaside. It's not very complicated and takes a lot of the pain out of using JavaScript. For Ajax, you just include Prototype, write a few simple glue functions, and then you can talk to a server running Smalltalk without much fuss. With a few hours of work, you can have web pages that use HTTP POST in the background, dynamically updating the page depending upon success or failure. After the glue functions are done, you can avoid writing more JavaScript except for the little bits that invoke the functions <input type="button" value="Submit" onclick="postAndUpdate('myServerPage.ssp', this.form, 'responseString', 'errorString', true);">. Thus, you can keep the bulk of your code in Smalltalk on the server. You can, for example, do input validation in Smalltalk by applying all the rules on the server instead of writing a bunch of JavaScript, and forwarding validation exceptions on the server as errors that get returned to the web client. The Ajax architecture makes it easy to do this without stashing a lot of stuff inside session variables on the server. Of course, it depends upon what you want your front end to look like, but it may be a lot less messy than you think, and you can put the cycles you save into the Smalltalk server application. Finally, if you're curious, I can provide some example code for what I used with Prototype. HTH, M. Roberts Cincom Systems, Inc. |
In reply to this post by Stew MacLean
Hi Steward,
In my experience Ajax is more than just a buzzword and it can really help making web apps more user friendly and closer to GUI counterparts. I even expect that in the future the web and GUI apps will merge into one. MS Vista is an example of that direction, if you just look at its quite web-alike GUI apps. Ajax can be quite easily "hidden", that is, seamlessly integrated into a server-side Smalltalk code and maybe a small example can show that better. This is a code for a first example in Ajax demo (see Demos at http://aida.eranova.si/, a demo site for the Aida/Web web application server, developed on VW): WebDemoApp>>ajaxTimeElement | e | e := WebElement new. e style: '{background-color: #eee }'. e addTextBold: Timestamp now printString. ^e WebDemoApp>>ajaxUpdateTimeExample | e element | e := WebElement new. e addTextH4: 'Example 1: Update element from server (AJAX)'. element := self ajaxTimeElement. e add: element; addBreak; add: ((WebElement new addText: 'click here to update') onClickUpdate: element); addBreak. ^e This demo demostrates a most common Ajax pattern, which updates a portion of a web page when some event occurs. In our case we update a timestamp printout when we click on text 'click here to update'. A timestamp printout is a duty of a first method #ajaxTimeElement. This method should be therefore called every time we click on 'click here to update' and result should be returned to a client to replace a printout there. As you can see from a bottom of second method, in Aida/Web you do that simply by: anElementToClickOn onClickUpdate: anElementToUpdate. To demonstrate Ajax even more, here are some screenshots from commercial Ajax enabled web apps: http://www.aidaweb.si/screenshots.html Best regards Janko Stewart MacLean wrote: > Hi, > > For the company I work for we have a Java client interfacing to Servers > written in VisualAge Smalltalk using Ultra Light Client protocol (a > proprietary (ex) IBM protocol). > > In order to make our interface look more “sexy” and to keep up with the > hyperbole, it has been decreed that we need to develop an Ajax front end > to the servers (which are also earmarked for rewriting in a more > “mainstream” language down the road). > > I’m curious if anyone knows of a serious Smalltalk alternative to using > JavaScript, bearing in mind that one of the main attractions to > JavaScript is the zero install. > > All comments appreciated… > Cheers, > Stewart > -- Janko Mivšek Svetovalec za informatiko EraNova d.o.o. Ljubljana, Slovenija www.eranova.si tel: 01 514 22 55 faks: 01 514 22 56 gsm: 031 674 565 |
In reply to this post by Martin McClure
In fact Seaside had Ajax support before the term was coined :)
But now you have a good support using the scriptaculous library. have a look at http://scriptaculous.seasidehosting.st/ to see it live :) Stef On 21 sept. 06, at 00:01, Martin McClure wrote: > Stewart MacLean wrote: >> For the company I work for we have a Java client interfacing to >> Servers written in VisualAge Smalltalk using Ultra Light Client >> protocol (a proprietary (ex) IBM protocol). >> In order to make our interface look more “sexy” and to keep up >> with the hyperbole, it has been decreed that we need to develop an >> Ajax front end to the servers (which are also earmarked for >> rewriting in a more “mainstream” language down the road). >> I’m curious if anyone knows of a serious Smalltalk alternative to >> using JavaScript, bearing in mind that one of the main attractions >> to JavaScript is the zero install. > > Seaside has recently (this year) acquired the ability to use Ajax > or an Ajax-like JavaScript library. You don't have to program in > JavaScript to use it, you specify your stuff in Smalltalk. > > I don't know very much about it more than that -- what I've seen > looks cool, but I haven't used it myself. > > Unfortunately for your situation, Seaside does not run in VA, only > in VW and Squeak. > > -Martin > |
In reply to this post by Martin McClure
Hi Martin,
Thanks for this. Yep, sadly we're a bit stymied with Seaside and VA. I believe Instantiations have put it out as a challenge to port Seaside to VA. However, from what I understand, the stack architecture of VA presents some difficulties :(. Cheers, Stewart >-----Original Message----- >From: Martin McClure [mailto:[hidden email]] >Sent: 21 September 2006 10:01 a.m. >To: Stewart MacLean >Cc: [hidden email] >Subject: Re: Smalltalk alternative to Ajax? > >Stewart MacLean wrote: >> >> For the company I work for we have a Java client interfacing to >> written in VisualAge Smalltalk using Ultra Light Client protocol (a >> proprietary (ex) IBM protocol). >> >> In order to make our interface look more "sexy" and to keep up with the >> hyperbole, it has been decreed that we need to develop an Ajax front end >> to the servers (which are also earmarked for rewriting in a more >> "mainstream" language down the road). >> >> I'm curious if anyone knows of a serious Smalltalk alternative to using >> JavaScript, bearing in mind that one of the main attractions to >> JavaScript is the zero install. > >Seaside has recently (this year) acquired the ability to use Ajax or an >Ajax-like JavaScript library. You don't have to program in JavaScript to >use it, you specify your stuff in Smalltalk. > >I don't know very much about it more than that -- what I've seen looks >cool, but I haven't used it myself. > >Unfortunately for your situation, Seaside does not run in VA, only in VW >and Squeak. > >-Martin |
In reply to this post by Mark Roberts
Hi Mark, Thanks for your reply. I have done a bit of research into
JavaScript toolkits, and prototype (along with Richo)
looked promising. I’ve opened up the Server using the VisualAge Web Connect feature, and done basic
authentication and a generic SQL like select query. I’d take up your kind offer of code samples, however my role is currently
“Smalltalk/Server Side”. I’ve never tried the plug in, and
was wondering what the over head is? Does anyone actually use this? Maybe this
could be used along with WithStyle? I’ve got an uncompressed VisualWorks runtime image that’s ~15MB (with a
“non aggressive” packaging strategy). So with the VM, my guess is
that it would take along time to do the initial download? Cheers, Stewart -----Original Message----- At 06:51 AM 9/21/2006, Hi,
|
In reply to this post by Janko Mivšek
Hi Janko,
As we say down under... NICE! I'm wondering what the possibility of porting it to ViusalAge would be? Would it be possible to use VisualAge's WebConnect instead of Swazoo as an interface to the web? Cheers, Stewart >-----Original Message----- >From: Janko Mivšek [mailto:[hidden email]] >Sent: 21 September 2006 8:32 p.m. >To: Stewart MacLean; 'VWNC' >Subject: Re: Smalltalk alternative to Ajax? > >Hi Steward, > >In my experience Ajax is more than just a buzzword and it can really >help making web apps more user friendly and closer to GUI counterparts. >I even expect that in the future the web and GUI apps will merge into >one. MS Vista is an example of that direction, if you just look at its >quite web-alike GUI apps. > >Ajax can be quite easily "hidden", that is, seamlessly integrated into >server-side Smalltalk code and maybe a small example can show that >better. This is a code for a first example in Ajax demo (see Demos at >http://aida.eranova.si/, a demo site for the Aida/Web web application >server, developed on VW): > > >WebDemoApp>>ajaxTimeElement > | e | > e := WebElement new. > e style: '{background-color: #eee }'. > e addTextBold: Timestamp now printString. > ^e > >WebDemoApp>>ajaxUpdateTimeExample > | e element | > e := WebElement new. > e addTextH4: 'Example 1: Update element from server (AJAX)'. > element := self ajaxTimeElement. > e > add: element; > addBreak; > add: ((WebElement new addText: 'click here to update') > onClickUpdate: element); > addBreak. > ^e > > >This demo demostrates a most common Ajax pattern, which updates a >portion of a web page when some event occurs. In our case we update a >timestamp printout when we click on text 'click here to update'. > >A timestamp printout is a duty of a first method #ajaxTimeElement. This >method should be therefore called every time we click on 'click here to >update' and result should be returned to a client to replace a printout >there. As you can see from a bottom of second method, in Aida/Web you >that simply by: > > anElementToClickOn onClickUpdate: anElementToUpdate. > > >To demonstrate Ajax even more, here are some screenshots from commercial >Ajax enabled web apps: > > http://www.aidaweb.si/screenshots.html > > >Best regards >Janko > > >Stewart MacLean wrote: >> Hi, >> >> For the company I work for we have a Java client interfacing to >> written in VisualAge Smalltalk using Ultra Light Client protocol (a >> proprietary (ex) IBM protocol). >> >> In order to make our interface look more "sexy" and to keep up with the >> hyperbole, it has been decreed that we need to develop an Ajax front end >> to the servers (which are also earmarked for rewriting in a more >> "mainstream" language down the road). >> >> I'm curious if anyone knows of a serious Smalltalk alternative to using >> JavaScript, bearing in mind that one of the main attractions to >> JavaScript is the zero install. >> >> All comments appreciated. > >> Cheers, > >> Stewart >> > >-- >Janko Mivšek >Svetovalec za informatiko >EraNova d.o.o. >Ljubljana, Slovenija >www.eranova.si >tel: 01 514 22 55 >faks: 01 514 22 56 >gsm: 031 674 565 |
In reply to this post by stéphane ducasse-2
Hi Stef,
Yes, Seaside seems to be ahead of it's time. Sadly it's not an option for us as we're using VisualAge. Cheers, Stewart >-----Original Message----- >From: stéphane ducasse [mailto:[hidden email]] >Sent: 21 September 2006 10:24 p.m. >To: Martin McClure >Cc: Stewart MacLean; [hidden email] >Subject: Re: Smalltalk alternative to Ajax? > >In fact Seaside had Ajax support before the term was coined :) >But now you have a good support using the scriptaculous library. >have a look at http://scriptaculous.seasidehosting.st/ to see it live > >Stef > > >On 21 sept. 06, at 00:01, Martin McClure wrote: > >> Stewart MacLean wrote: >>> For the company I work for we have a Java client interfacing to >>> Servers written in VisualAge Smalltalk using Ultra Light Client >>> protocol (a proprietary (ex) IBM protocol). >>> In order to make our interface look more sexy and to keep up >>> with the hyperbole, it has been decreed that we need to develop an >>> Ajax front end to the servers (which are also earmarked for >>> rewriting in a more mainstream language down the road). >>> Im curious if anyone knows of a serious Smalltalk alternative to >>> using JavaScript, bearing in mind that one of the main attractions >>> to JavaScript is the zero install. >> >> Seaside has recently (this year) acquired the ability to use Ajax >> or an Ajax-like JavaScript library. You don't have to program in >> JavaScript to use it, you specify your stuff in Smalltalk. >> >> I don't know very much about it more than that -- what I've seen >> looks cool, but I haven't used it myself. >> >> Unfortunately for your situation, Seaside does not run in VA, only >> in VW and Squeak. >> >> -Martin >> |
In reply to this post by Stew MacLean
Hi Steward,
Stewart MacLean wrote: > As we say down under... NICE! Thanks! > I'm wondering what the possibility of porting it to ViusalAge would be? I'm sure Aida is portable to VA too, because I managed to port it recently to Dolphin without much problems. Aida don't use (a lot) of deep metaprograming tricks, which allows portability obviously to any Smalltalk dialect. > Would it be possible to use VisualAge's WebConnect instead of Swazoo as > an interface to the web? I think yes but if there is not a specific reason to use WebConnect I'd propose to port Swazoo too. All what is needed is to port Bruce Badger's SPort portability layer, after that Swazoo (and also Aida) is much easier to port. Best regards Janko > > Cheers, > > Stewart > > >> -----Original Message----- >> From: Janko Mivšek [mailto:[hidden email]] >> Sent: 21 September 2006 8:32 p.m. >> To: Stewart MacLean; 'VWNC' >> Subject: Re: Smalltalk alternative to Ajax? >> >> Hi Steward, >> >> In my experience Ajax is more than just a buzzword and it can really >> help making web apps more user friendly and closer to GUI counterparts. >> I even expect that in the future the web and GUI apps will merge into >> one. MS Vista is an example of that direction, if you just look at its >> quite web-alike GUI apps. >> >> Ajax can be quite easily "hidden", that is, seamlessly integrated into > a >> server-side Smalltalk code and maybe a small example can show that >> better. This is a code for a first example in Ajax demo (see Demos at >> http://aida.eranova.si/, a demo site for the Aida/Web web application >> server, developed on VW): >> >> >> WebDemoApp>>ajaxTimeElement >> | e | >> e := WebElement new. >> e style: '{background-color: #eee }'. >> e addTextBold: Timestamp now printString. >> ^e >> >> WebDemoApp>>ajaxUpdateTimeExample >> | e element | >> e := WebElement new. >> e addTextH4: 'Example 1: Update element from server (AJAX)'. >> element := self ajaxTimeElement. >> e >> add: element; >> addBreak; >> add: ((WebElement new addText: 'click here to update') >> onClickUpdate: element); >> addBreak. >> ^e >> >> >> This demo demostrates a most common Ajax pattern, which updates a >> portion of a web page when some event occurs. In our case we update a >> timestamp printout when we click on text 'click here to update'. >> >> A timestamp printout is a duty of a first method #ajaxTimeElement. This >> method should be therefore called every time we click on 'click here to >> update' and result should be returned to a client to replace a printout >> there. As you can see from a bottom of second method, in Aida/Web you > do >> that simply by: >> >> anElementToClickOn onClickUpdate: anElementToUpdate. >> >> >> To demonstrate Ajax even more, here are some screenshots from > commercial >> Ajax enabled web apps: >> >> http://www.aidaweb.si/screenshots.html >> >> >> Best regards >> Janko >> >> >> Stewart MacLean wrote: >>> Hi, >>> >>> For the company I work for we have a Java client interfacing to > Servers >>> written in VisualAge Smalltalk using Ultra Light Client protocol (a >>> proprietary (ex) IBM protocol). >>> >>> In order to make our interface look more "sexy" and to keep up with > the >>> hyperbole, it has been decreed that we need to develop an Ajax front > end >>> to the servers (which are also earmarked for rewriting in a more >>> "mainstream" language down the road). >>> >>> I'm curious if anyone knows of a serious Smalltalk alternative to > using >>> JavaScript, bearing in mind that one of the main attractions to >>> JavaScript is the zero install. >>> >>> All comments appreciated. >>> Cheers, >>> Stewart >>> >> -- >> Janko Mivšek >> Svetovalec za informatiko >> EraNova d.o.o. >> Ljubljana, Slovenija >> www.eranova.si >> tel: 01 514 22 55 >> faks: 01 514 22 56 >> gsm: 031 674 565 > > > > -- Janko Mivšek Svetovalec za informatiko EraNova d.o.o. Ljubljana, Slovenija www.eranova.si tel: 01 514 22 55 faks: 01 514 22 56 gsm: 031 674 565 |
Free forum by Nabble | Edit this page |