Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Linux Software

Linux 'Weblications' with SashXB 181

Ches2000Pro writes "Via Wired News, IBM has announced a new Linux scripting environment called SashXB. From their description: SashXB is an open source application environment that exposes native functionality to JavaScript. It's ideal for web developers with HTML and JS skills who want to write full-featured native applications, as well as experienced programmers who'd appreciate the convenience of rapid application development. SashXB is being released under the LGPL license." It's not exactly new, but seems to be quite usable now. Has anyone used this?
This discussion has been archived. No new comments can be posted.

Linux 'Weblications' with SashXB

Comments Filter:
  • Am I the only one who gets hives thinking of the security implications of that?
    • No No you are not. That is just wrong in *so* many ways. /me shudders
    • Am I the only one who gets hives thinking of the security implications of that?

      No, you are not. It's the same thing as ActiveX that everyone always complains about, judging by the description in the slashdot post.

    • Are you suggesting that a skilled web 'developer' who writes slick JavaScript wouldn't have a clue about system security? Or that perhaps giving the world at large access to your lower level functions is a bad idea? I mean, if that were the case, wouldn't MS have revamped IIS well before now?
    • How is this any diffrent then any other programming language?
  • popups (Score:2, Funny)

    by Anonymous Coward
    great, now native apps will be opening popups!
    • great, now native apps will be opening popups!

      Actually, popups (and any untrusted web stuff) getting access to native apps should be a far bigger concern.
  • exposes native functionality to JavaScript

    You mean things like `rm -rf /*`
  • too bad (Score:2, Funny)

    by GutBomb ( 541585 )
    another reason billg can claim that a web browser is an integral part of the OS.
  • JavaScript? (Score:1, Funny)

    by Anonymous Coward
    So it'll need code forks for every OS and every distribution and every processor and every case color? Sounds like fun.
  • So now, it'll be even easier to do nasty things with JS!
    Who wants to take bets on when the first JS rootkit comes out?

    Of course, this is hypothetical as long as nobody actually uses it. If somebody takes it and puts it a a web browser, that will be the end (or the beginning).

    BTW, Windows already has that: ActiveX. You can see what kind of mess it can do.
  • Browser OS (Score:4, Funny)

    by TheViffer ( 128272 ) on Tuesday April 02, 2002 @02:21PM (#3271578)
    For instance, SashXB weblications can currently run in a simple window, in a Glade-designed UI, in a GNOME panel, or even in a console-based scripting environment. Future locations might include ScreenSaver, Nautilus, and an embeddable Bonobo component. We have also written extensions to access the native filesystem, play Vorbis files, parse and construct XML documents, communicate with other machines using the Jabber protocol, use FTP, and interact with the UI using GTK and Glade, among other things.

    Dang. Makes me wonder why we even need operating systems anymore.
    • Dang. Makes me wonder why we even need operating systems anymore.

      i thought that was the point of all these things like java and this was so that you could get away from OS specific development. who knows maybe one day we can get away from using an operating system on our computers, and when that day comes i will welcome it, as long as it works.
    • But AFAIK this guy is pretty Linux specific. It relies on Mozilla, GTK, etc...

      They mentioned a Sash for Windows client, so you can write some cross-platform apps (and they showed an example), but I think this SashXB client allows access to some X based UI toolkits - GTK, Glade. So I think you're SOL if you want to write cross platform.
      • Actually, many of the Sash extension APIs are cross-platform, and thus weblications written using these extensions will work on both SashXB and Sash for Windows. For example, the SashXB team has written a Checkers weblication that runs on both platforms.

        Other extensions, such as GTK and Glade, are linux-specific, so you still use the full functionality of a specific platform if you choose.
    • ...and look what they started doing, creating ActiveX and .NET.

      I plan on creating a browser for p0rn only. It caches the p0rn files on a nfs partition that windows can't read, but my weblication thingy can. This way snooper programs can't see my p0rn cause it is not part of the windows file system. WHEEEEE!!!!

      You see, I'm shite at C++. I'm decent at C, Javascript, and Perl. So this is just what I need to feel like a real man (ok real geek).


      Yes, I'm a moron with 3rd degree burns.
  • Tried this before... (Score:4, Interesting)

    by lkaos ( 187507 ) <anthony@codemonk ... s minus math_god> on Tuesday April 02, 2002 @02:23PM (#3271589) Homepage Journal
    Many, many, moons ago when NS first released the Mozilla code (and the source for the JS API) for a research project I added a bunch of low-level classes to JS in order to allow it to be used for more advanced applications (independent of a browser).

    This was long before MSJScript, but anyway, while it worked out pretty cool for the most part, it was horribly painful to add classes and especially painful to map APIs (I was using Win32 at the time) to JS objects.

    My second problem was that as a language, JS is just to forgiving. Optional use of semi colons and other things such as that make it a little confusing to distribute and debug.

    I always have liked JS though and I'm glad someone wrote a good backend to it. I'll have to check it out...
  • SashXB Testimonial (Score:5, Informative)

    by goldenfield ( 64924 ) on Tuesday April 02, 2002 @02:25PM (#3271602) Journal
    I figure we're all going to be asking what this is about...

    This is a reprint of text from MartinG from the old thread [slashdot.org]:

    > Can anyone point to a coherent explaination of what
    > Sash can offer on Linux, and what it's parts are?
    >

    This question is probably going to be asked a lot, so I guess we should
    start creating a FAQ somewhere.

    Anyway. This is of course by no means an official position on anything;
    these are just my thoughts.

    The Sash end-user gets:
    * Painless installation (no command line necessary -- straight from the
    browser to the [graphical] installer).
    * One-click uninstallation, with recursive dependency checking to prevent
    the removal of vital components.
    * A point and click interface for the execution and management of all of
    his weblications
    * Automatic updating of programs/extensions (this is in the works)
    * Tiny download sizes for native, fully functional weblications
    * Highly componentized infrastructure avoids bloatware -- a program only
    fetches and loads exactly what it needs to run.
    * Tight security controls every single thing a weblication tries to do

    The Sash developer gets:
    [from a structural point of view]
    * Rapid deployment and easy management of programs
    * Powerful native functionality without having to learn a new skill set
    (provided that he already knows JavaScript and HTML)

    [from a design point of view]
    * Ridiculously easy drag-and-drop design for his weblication's UI
    * Painless integration of UI with SashScript
    * A full-featured IDE which takes him from start to finish in creating a
    weblication, including:
    - syntax highlighting
    - syntax assistance (a la Microsoft's Intellisense)
    - multiple document/multiple window interface
    - Druids (wizards) which aid in the creation of any given action,
    or in the creation of the weblication as a whole

    I'm sure there are more features which I am missing right now.

    Yeah, this sounds terribly hokey, but it's actually true. We've created a
    sample text editor, a web browser, even a simple Lotus Notes mail client
    (as demos), each in about an hour, start-to-finish.

    Man, I really do sound like a salesman ;).

    As for parts, perhaps that's for another email. There are two main parts:
    the runtime, which runs the weblications, and the WDE (development
    environment) which aids developers in writing weblications. For more info,
    check out the README.* files in the source tree...

    AJ
    • I am so excited about this! I can think of a million uses for this. Now Linux will come into it's own as a desktop. You can write tons of shitty little apps in no time with this. Which has been the main drawback of Linux.

      And since it exsposes the OS, there should be no reason why you couldn't access binaries with it as well(ala perl modules). And I can use DOM to make pretty interfaces too.


      die C# die!
  • I finished doing a web-based application for a client about 4 months ago. That was a complete nightmare. They wanted native gui functionality, yet cross-platform, and it had to work on netscape (all vers) and IE (all vers). Oh, did I mention that we couldn't expect the users to download anything additional, EVER? So that ruled out java applets (since xp doesn't have a jvm by default). The whole thing was done with ASP, Javascript, and plain html forms.

    Making a long story short, the Netscape 4.x functionality ended up being severely lacking (since 4.x JS engine wasn't capable of performing most of the functionality they wanted). Oh, we weren't allowed to refresh the pages very often, so almost everything had to be done with JS actively manipulating the current document. To make matters worse, my spineless boss allowed them to change the spec several times throughout the project. When you have 1000+ lines of JS per page, any little change is a pain in the ass.
    • by kato ( 5369 ) on Tuesday April 02, 2002 @02:36PM (#3271685) Homepage
      That's irrelevant to SashXB, though. SashXB uses standard JavaScript and HTML (which is supported brilliantly in Mozilla) and does not even require network access to run the weblications. A weblication runs inside of a container called a Location, which uses a JavaScript interpreter to handle calls from a HTML DOM or a glade layout. So, although the entire application may be written in JavaScript, it is far from a traditional web application.

      I would suggest that everyone try out SashXB before they make a judgement. Try the FTP client [ibm.com], it rocks.
    • by zmooc ( 33175 )
      So does that make web-applications bad? No. It sounds project which should never have been accepted with those requirements. And with 1000+ lines of JS per page, I hope there's only 1 or 2 pages? If not: how many code did you duplicate? Quite a lot I believe. As a company developing web-applications, you should know that it is almost impossible to deliver an application with a lot of JavaScript for all platforms. If the client still wants it, don't accept the project or you'll be screwed.
      • There were only 3 pages with that much code, and their functionality was extremely different, so code reuse wasn't possible. Believe me, I looked! And yes, I knew as well as you that this project would be impossible to do. I fought it tooth and nail, yet my boss only saw the dollar signs floating by.

        My first reaction to the mockups we were given was, "we're doing this with java applets, right?". Once that was shot down, i knew the project was impossible. It ended up being at least three times over bugdet, and my the company had only charged the client a flat rate for the whole sha-bang. So, yes, we got screwed.
        • Well good luck working there then:P Has your boss learned it's lesson by now?:)
          • I'm not sure. They got so close to bankrupt that they had to cut their staff down to ~3 people. This is after they already had to make cuts from ~30 ppl down to ~8. I made the first cut, but started looking for alternate jobs right away. I was laid off when the second round of cuts came along.

            My guess is, no, they haven't learned their lesson. I don't expect them to survive the rest of this year.
    • They wanted native gui functionality, yet cross-platform, and it had to work on netscape (all vers) and IE (all vers). Oh, did I mention that we couldn't expect the users to download anything additional, EVER? So that ruled out java applets (since xp doesn't have a jvm by default). The whole thing was done with ASP, Javascript, and plain html forms.

      Sorry for a newbie-type question, but could you have done it in Flash? I believe there are Flash plug-ins for all the platforms you mention. Flash 5 supports XML and can talk directly to databases. I know Flash has a horrible rep among Web designers, but none of the objections I've seen are inherent in the technology. They're all design issues that can be circumvented with intelligent planning.

      • Flash doesn't work on Linux without some gymnastics. So far, no one has ante'ed up to write a Linux-native Flash plug-in.

        Other than that, Flash is a pretty horrible piece of software to go writing applications in. It requires a good deal of graphical thinking, and the underlying structure of Flash does not lend itself to writing full-blown applications.

        This, of course, is only my opinion.

    • Oh, we weren't allowed to refresh the pages very often,

      Oops.

      I've often thought that a reasonable GUI could be emulated with enough server side logic (couldn't PHP be used for this?), but the premise rests heavily on having a really fast connection.

      • I once saw a online chat application who's client side was an *animated gif* in an image map. yeh, really. It was insaine. And it actualy worked!. and worked well. It was pretty impressive. Of course, I have ethernet access to the 'net
      • (* I've often thought that a reasonable GUI could be emulated with enough server side logic ....but the premise rests heavily on having a really fast connection. *)

        Do you mean via mostly client-side code or server-side code?

        I have come to conclude that most typical B-to-B and intranet applications could be drivin by relatively simply GUI commands in a GUI-Browser. The problem is that any HTTP-based GUI-like thingy ends up trying to do it via client-side scripting or applet-like technology. The "commands" to draw and handle events from a typical custom biz app are not that large I have concluded after thinking about this issue for more than 5 years. IOW, the GUI can be entirely server-controlled without local scripting. (My personal experiment and draft protocol is called SCGUI, plug plug.)

        IOW, we don't need to download scripts and EXE's per app to get the performance and response needed for real GUI's. Why does the industry keep reinventing this wrong wheel?
    • Then your client is a moron... That dosn't mean that IE/Moz wouldn't provide a stable platfrom... and did you think of using Flash (I don't know if it would have provided everything you wanted, personaly I hate flash :P).
  • by jcorwin ( 528092 ) on Tuesday April 02, 2002 @02:29PM (#3271632)
    Keep in mind that SashXB uses JavaScript as an *application* development language, not as a webpage scripting tool. Sash weblications are run just like traditional applications -- not by just browsing to a page in Mozilla. The native functionality added to JavaScript is limited by the Sash security manager, which allows granular control over access to system resources on a per-application basis. For example, if a weblication needs access to the filesystem, the user will be notified prior to installation and be given full details of the weblication's requested security permissions. Sash was designed with security in mind, and is in fact more secure than a typical native application written in C/C++/Perl. Because the JavaScript code is interpreted, the SashXB runtime can actually check each JavaScript call.
    • Now I did the little tour of SashXP - it looks like the end user has the option of accepting/denying access to local resources via a dialog box. So it seems like you could have the same kinds of problems you do with those email viruses - silly users blindly clicking "Ok, go ahead and erase all my local filez."

      In any event, this seems like a pretty handy tool for doing development on trusted networks like corporate intranets. At least if your corporate end users have linux on their desktop. :/

      Maybe too some enterprising college students will be able to do some cool things with it...

    • As long as you need to download Turing-Complete programs/applets/weblets, or whatever the fudge the spinsters call them this week, you will have too many versioning and security problems for it to work.

      It is fat-client in a leaky bottle all over again.

      What is really needed[1] is a lite-client remote GUI protocol (like SCGUI, plug plug). IOW, a GUI Browser that does not download any "smart" code that executes.

      [1] At least for B-to-B and intranet stuff. Businesses keep trying to create VB/Delphi-like GUI's with JS+DOM, and it really stinks.
  • by interiot ( 50685 ) on Tuesday April 02, 2002 @02:29PM (#3271637) Homepage
    Windows has had this for a while, via its Windows Script Host. You could associate it with .js or .vbs files, and just double-click them to run. I ended up using them just because the limitations with normal batch files is so great.

    Also, the upcoming JScript.NET will have similar functionality, but will be cross-platform.

    • by Anonymous Coward on Tuesday April 02, 2002 @02:44PM (#3271740)
      This is true. SashXB and Sash for Windows provide similar functionality to that of the Windows Scripting Host. However, there are many advantages that the Sash system brings. For instance, installation and security models. Sash installers will seek out dependencies and automatically install them and also has an automated update and controllable caching functionality. This is all built-in...no messing around with InstallShield or anything like that. Also, Sash extensions allow you to expose more functionality to JS with the granular security model of Sash. The most you can do in WSH is to instantiate more ActiveX objects which simply run more binary unchecked code.
    • Double-clicking WSH scripts doesn't compare to this. Sash is an entire environment for developing applications, not just a means to double-click a script. You can do that with any decent file manager under X.

      It's a shame WSH doesn't provide the application scriptability that AppleScript does, it's a pain to automate apps on Windows in comparison. Like WSH, you can have language plug-ins for the AppleScript system, scripting any AS-aware app in whatever the language has a plug-in, perl or JavaScript, for example.
    • Disclaimer: I work for IBM, these views are my own however

      In the last weeks I played around with Sash a little bit and found that it exceeds the capabilities of WSH by far.

      Sash allows me to create GUIs in HTML and the programming logic in SashScript (a superset of JavaScript) similar to creating webpages. Those files run like regular programs, desktop toolbars (like the IE5+ address toolbar or quicklaunch toolbar), IE toolbar extensions, Start Menu Search entries, ... you name it.

      Adding a german-english translator to my desktop as a taskbar enty field was a matter 4 lines of HTML and JavaScript code - this is what sold Sash to me.

      Wolfram
    • Actually I think HTA (HTML Applications) is the closer Microsoft technology to this. I think it was first introduced in IE 5.0 (may have been 4.x but I don't remember). Basically what you can do with it is rename any html file to .hta and it is then run and acts and has the permissions of an application. There is only one specialized HTML tag used, to specify the icon file, borders, whether or not to allow multiple instances, etc., but other than that its all HTML/CSS/Javascript/ActiveX as far as IE supports it. You also have color constants in IE which match up with the user defined system colors as well, so you can make some pretty nice looking things with it. I've made several apps I use myself and I quite like it actually.

      Anyway, more information (general and reference) can be found on this page [microsoft.com].

  • oops. (Score:2, Funny)

    by room101 ( 236520 )
    Oh, I thought it said SlashXB. Nevermind.
  • deep breath.... (Score:4, Insightful)

    by Anonymous Coward on Tuesday April 02, 2002 @02:30PM (#3271644)
    ...ok...

    JavaScript is just a language, just as Python, Perl are languages.

    JavaScript can be hosted by browsers, shells, custom applications, etc...

    It can only access the OM's supplied to it... For instance, the most (in)famous is the DOM... remember, Document Object Model...

    So, if someone wants to write a shell host, expose shell functionality as a SOM (Shell Object Model), it's entirely up to them, but DOES NOT COMPROMISE BROWSER SECURITY....

    I'm begining to think "News for Nerds" means techno-weenies, who have no technology/development/systems background whatsover, duuuuuuuude, lets qo to a 2600 meeting and talk about all the coooooool hacker movies we watch.....

    • DOES NOT COMPROMISE BROWSER SECURITY....

      That's assuming no IE-style bugs whatsoever in it's integration with a browser, isn't it? It seems highly probably that while the SPECIFICATION does not compromise security, the specification is complicated enough that most implementations will compromise you, at least at first.

  • "Linux 'Weblications' with SlashXP"

    I had a hard time picturing CmdrTaco et al. Embracing porting slashcode to XP. :P
  • See also: XWT (Score:4, Interesting)

    by adam_megacz ( 155700 ) <adam AT megacz DOT com> on Tuesday April 02, 2002 @02:38PM (#3271700)

    This is quite similar to XWT [xwt.org]. XWT is often described as "A 'lite' version of Mozilla's XUL, packaged as an ActiveX/JavaApplet, using XML-RPC instead of XPCOM.

    From the xwt.org front page:

    XWT is the XML Windowing Toolkit. It lets you write remote applications -- applications that run on a server, yet can "project" their user interface onto any computer, anywhere on the Internet....

    Unlike all other remote-display technologies, XWT applications are usable and responsive regardless of network congestion, delays, and even complete network failures.

    The XWT Engine is packaged as both an ActiveX control and a Java applet, so you can access XWT applications from all major platforms (Win95/98/ME/NT/2k/XP, Linux, Solaris, MacOS X) without installing any additional software. It is distributed under an open source license (LGPL and GPL), so it can easily be ported to new platforms.

    There's a tutorial [xwt.org] to walk you through creating a tic-tac-toe application and a comprehensive reference [xwt.org] spelling out all the nitty gritty details about how the engine works.

    • I wondered if you'd pop up in this discussion. :)
      • I wondered if you'd pop up in this discussion. :)

        No doubt =)

        Care to post a few lines about your plans to use XWT to enhance PHPTriad [phpgeek.com]?

        • For the current Alpha release of PHPTriad, I added an "administrative" Apache service listening on port 1005. It has a completely separated configuration so the user can't screw it up. A control panel uses that to run PHP scripts for starting/stopping Apache/MySQL and other admin tasks. The current implementation is done with HTTP GET/POST. I'm now starting on an XWT version that will provide a more native look/feel with added functionality instead of routing it through a web browser.
  • Thank you (Score:4, Funny)

    by Grape Shasta ( 176655 ) on Tuesday April 02, 2002 @02:41PM (#3271725) Journal

    It's all these great new terms like "weblications" that make this world of new technology (or worlnewology!) a better, happier place.
  • by ACK!! ( 10229 )
    Why is this such a big deal in terms of exploits?

    After all if we are talking Windows hosts there are about a dozen ways to screw the box up using Windows scripting tools and a half bit of VB knowledge. Is there something I am missing from the article?

    Most of the posters here have either screamed about the possibilities of exploits or reached the same conclusion I just did. What are the other half missing?

    ________________________________________________ __
  • by sulli ( 195030 )
    will we have Slashvertisements for Weblications?

    Just asking.

  • Any idea if you can use this to make OS X apps, or if there are plans to port to it?
    • by kato ( 5369 )
      If you run an X server on Mac OS X, it should run fine. Rule of thumb: if you can run the gimp on a platform, you can run SashXB on the platform (with some slight modifications, if necessary).

      Bottom line: SashXB is open source. If you have a Mac OS X box and the time, try it. Better yet, use the Cocoa MozEmbed and make it run natively.
  • by pubjames ( 468013 ) on Tuesday April 02, 2002 @02:51PM (#3271803)

    This actually fits in quite nicely something I've been thinking about.

    One of the nice things about web pages is that you can just look at the source. Wouldn't it be great if you could look at the source for any widget in an application in the same way? Even make changes just by editing the source directly, if you wanted to. So, for instance, if I'm using a Word processor and there's a function I never use I can just delete it from the source script.
    • Congratulations, you've just described XUL :-)

      Mozilla, and apps based on its tech, some Perl IDE (Can't remember the name right now) use XUL files to describe behaviour and appearance of widgets, DTD files to define different locales, and use javascript for their logic.

      I am using a US keyb layout now while used to a Finnish one, so I am not getting anywhere fast with this post, but have a look at the Moz stuff. It's perfectly possible (if not done already) to write for example an Office app using just those Moz tools. Including very rich features (HTML content, pictures, plugins, etc), drag and drop, clipboard, etc.

      • You're probably thinking of ActiveState's Komodo, which does other things in addition to Perl (Python, etc.).
      • you're talking about Komodo. I use it every day, 10 hours a day.

        One thing to point out about Komodo, it's damned slow. Not sure if that's because of the built in Perl interpreter (for instant debugging) or XUL.

        • It's funny. I don't find it THAT slow. Sure it's a bit sluggish at times but I wouldn't call it SLOW. Except maybe when you're debugging or opening files or closing tabs or...okay maybe it is a BIT slow.

          I'm actually pretty damned happy with it. I've been using it nonstop for about 3 weeks developing an internal PHP webapp and it's a lifesaver.
          • don't get me wrong...I used it for a few months before we bought, and I wouldn't have gotten the pointy-hairs to buy me a copy if it wasn't useful. The good definitely outweighs the bad.

            The regex prototyper and real time debugging are killer features, I just wish the damned thing was a bit peppier...

    • Tim Berners-Lee, in his book Weaving the Web [w3.org] and in articles about the Semantic Web [w3.org] talks about his original concept of the web consisting of internal (two-way) as well as external (standard) links, and page editing being interactive; and of how market forces and the then available technology diluted this concept into today's model of the web.
      Nowadays, server-based software such as Wiki [wiki.org] and variants [twiki.org] make collaborative web editing possible, but mass practical application of internal linking is still a long way away, due to issues of trust and synchronization, although steps [w3.org] are being taken in this direction as well.
      • Although Wiki webs are nice in concept, I have yet to see one that did not very soon degenerate into a morass of ill-connected thought fragments. In fact, I think Wikis are quite possibly the strongest argument ever encountered for site administrators and/or moderators.

        For an example of what I mean, visit www.tuxscreen.net and just *try* to figure out what all you have to do to get the current version of the software installed and running. The information is there (mostly), but it's so fragmented as to make it pretty much impossible to find or use.

        Still, there's no doubt that two-way webs are someting we should strive for, a la Ted Nelson's Xanadu concept.

        Sadly, the fundamental problem is that information organization is what produces much of the value of information, and organizing information is something that's fundamentally hard and difficult to automate. (Not that the KM (Knowledge Management) guys aren't trying, but they've got a long way to go, and those are pretty rarefied tools, not available to most of us, either by reason of price or complexity/learning curve.)
    • if I'm using a Word processor

      You better be careful there, by capitalizing the word "Word" in the context of a word processor, you risk infringing on Microsoft's patent on the technology of Word and the concept of Word Processing. The BSA will contact you shortly, licensing fees for the use of capitalized "Word" are expected to approach US$3200.

      :)
    • One of the nice things about web pages is that you can just look at the source. Wouldn't it be great if you could look at the source for any widget in an application in the same way? Even make changes just by editing the source directly, if you wanted to. So, for instance, if I'm using a Word processor and there's a function I never use I can just delete it from the source script.
      That's exactly what's so wonderful about the GPL. Of course, it's not quite so simple (you have to recompile, you have to set some things up), but the idea is the same. The difference with JS is that the source is open *by default* (since it's interpreted, and you have to run an obfuscator to close it), so many people open-source their scripts (though not in a legal sense, or in the Stallman sense) without realizing it, whereas with compiled languages like C it's closed by default (and must be opened by adding extra files to the archive).
  • by RevAaron ( 125240 ) <revaaron AT hotmail DOT com> on Tuesday April 02, 2002 @02:59PM (#3271868) Homepage
    Sash is pretty old news... Saw it either here or on fm.net a year ago. However, a similar technology, XWT [xwt.org] was released more recently, and may appeal to a similar crowd.
  • by kato ( 5369 ) on Tuesday April 02, 2002 @03:00PM (#3271869) Homepage
    For those of you interested, there's a book recently published by IBM about the Windows version of Sash. You can buy it online or download the entire thing from here [ibm.com].
  • I really don't understand why people can't come up with simple names for things. I mean, that's fine if it were an extension of something called Sash. But when you get to think up a whole new name from scratch? SashXB?

    I mean, they're a huge company with vast experience of naming products. IMHO, even sed, awk and grok are fine, because at least they are pronouncable, and probably stood for something once.

    Maybe I'm wrong though and there is a logical basis to the naming. If so, does anyone know what it is?

    I suspect that they might be getting their product names from /dev/urandom

  • by Anonymous Coward
    Polluting linux with crappy applications written by script kiddies and web programmers is NOT the way to bring it to the mainstream! Sure, it worked for Windows, but our marketing budget is significantly smaller....

    • Then what would you suggest, given that there is a limited marketing budget?

      Paying programmers to write quality applications?

      The everyone-contributes model only goes so far in application development and doesn't cover all the grunge-work that programmers won't do (user documentation; help files; clean, friendly examples).
  • ASP,JSP,ChiliASP,ColdFusion... Anyone with experience in writing script based web applications knows that it is a nightmare. You end up with thousands of lines of untyped script code that you have to maintain w/o a decent debugger or development envirornment. Hence the introduction of richer web development envirornments like java servlets and asp.net. This seems like a throwback to me.
  • Anyone? (Score:3, Insightful)

    by mobiGeek ( 201274 ) on Tuesday April 02, 2002 @03:31PM (#3272078)
    Has anyone used this?

    Reading the posts thus far, has no one actually used this?

  • The subject line pretty much says it all.

    In many ways this looks like a Visual Basic for Linux. In some ways this would be more cool if there was a Windows version, simply because it would provide a cross-platform development environment that MS didn't control and that would allow for easy transition of users to Linux.

    Still, Linux only has some interesting possibilities as well...

    Jack William Bell; who writes business software for a living and would like very much to transition his users to Linux
  • I saw a reference to a Lotus Notes Client written in sashXB in the previous post, but now I cant find anything about it in the sashXB homepage. Is there such a thing ? It would be extremely helpfull in convincing my company into changing from Windows to Linux.
  • by evilviper ( 135110 ) on Tuesday April 02, 2002 @04:29PM (#3272476) Journal
    What scripting languages do we have now? SH, Perl, Python, Ruby, Javascript, etc. There's plenty of them. Why can't we just stick with one (i.e. Perl) and end the needless complexity.
    • In that case, why not just use Python? The point is that each language is designed to be used for certain tasks, and although you can use most of these languages to accomplish the same set of tasks some languages are better than others when it comes to certain tasks.

      One other thing: this environment is not really a new scripting language, rather it exposes native components to the JavaScript language. The JavaScript language has been around for some time now and is used in more than just browsers (think server-side JavaScript).
      • why not just use Python?

        Because Perl is insanely popular, and many people prefer the Perl language syntax and layout over python. Not to mention that perl is really just an extension of Unix... Maintaining the same style and expressions.

        The JavaScript language has been around for some time now and is used in more than just browsers (think server-side JavaScript).

        It sure as hell isn't running in MY brower. Perish the thought. Not to mention that Javascript is an incredibly weak language. I can't even imagine any useful purposes on the server side. Of course, that's what this is meant to address. It just doesn't NEED addressing.

        I can understand the need for a scripting language like perl, and even for PHP (while perl can potentially do the same function, PHP is far cry from Perl), but another scripting language simply reproducing funcionality is a terrible idea. Fragmentation was what endangered the future of Unix systems in the first place. Now we have to worry about endangering the future of scripting languages.
  • by SomeOtherGuy ( 179082 ) on Tuesday April 02, 2002 @04:30PM (#3272493) Journal

    Looked through all of the documentation for this and could not find anywhere that stated weather sash (windows or linux version) had the ability to work with ODBC or any other API's (OCI for oracle, or the MySQL API, etc) If not then this would be of little use for anything above and beyond your typical "Hello World", or "Ticker App" (reading from a flat file of course :)

    To see what it does however here [ibm.com] is a link of a one page example that explains it better than reading the whole book!
    • by Anonymous Coward
      I believe that Sash for Windows has a DB2 extension. Just browsing through the SashXB site, it looks like it wouldn't be difficult to add a Linux database extension.
  • by sys49152 ( 100346 ) on Tuesday April 02, 2002 @04:33PM (#3272525)
    If I grok this right, this is a wonderful thing. What we have here is the ability to author a GUI (or character) application with separation of the UI from the code. Much like in a browser, you can have the UI described by HTML and events managed by JavaScript -- without a browser. Not only that, Sash is built on top of the Gecko rendering engine and XPCom among other things.

    Even as we speak I am writing an application for a customer. The app is a cross-platform, GUI/Character installer for their application. No existing installers could do what was necessary, so I'm writing a dedicated one from scratch. What to write it in? Perl/TK, was the only realistic choice.

    Now lets look at some Perl/Tk code as compared to SashXB (formatted poorly to avoid lameness filter).
    ### Create a new frame to line up the directory Entry widget with the file
    ### Browse button
    my $BrowseFrame = $UI{entryFrame}->
    Frame()->pack(-side => 'left', -anchor => 'w',);

    $UI{Balloon}->attach(
    $BrowseFrame->Entry(-textvariable => \$Input{TMPDIR},-validate => 'focusout', -validatecommand => sub {my $tmp = appendSlash($Input{TMPDIR}); $Input{TMPDIR} = $tmp;})->pack(-side => 'left',-anchor => 'w', -pady => 2,),
    -balloonmsg => $screen->{widget}->{TMPDIR}->{balloon});

    my $FileButton = $BrowseFrame->
    Button(-text => 'Browse',-width => 6, -command => sub { if (my $d = getDirectory()) { $Input{TMPDIR} = $d;}},)->pack(-side => 'right' -padx => 5,);
    Now what I'd much rather do is something like this:
    <form>
    <input type='text' name='TMPDIR' onblur='appendSlash()'>
    <input type='button' onclick='getDirectory()'
    </form>
    And have this run from the OS, not in a browser. It looks like Sash will let me do this, and what could be wrong about that?

    Since important parts of SashXB (needs a new name) are Gecko, XPCom, and the Mozilla JavaScript interpreter. It seems that rich, complicated UI's are in reach via XUL. I sincerely hope that a richer version of SashXB will soon be mentioned in the same breath as Perl, Python, and Ruby.
  • by maggard ( 5579 ) <michael@michaelmaggard.com> on Tuesday April 02, 2002 @04:48PM (#3272634) Homepage Journal
    Seriously, through Apple's Open Scripting Architecture [apple.com] folks have been able to use any number of languages [applescrip...cebook.com] such a Tcl/Tk. Java, Perl, Python, Jpython, and JavaScript [latenightsw.com] under MacOS & MacOS X.

    The great thing is that virtually every Mac application has hooks for scripting through the standard Apple Events [apple.com] model which is automagically available to all other OSA languages.

  • Doesn't this break platform independence? Wouldn't you be better off using JNI?
  • So where does RMS stand on this issue? It seems to me that the way this scripting environment works, it is somewhere between application-linking-against-a-library and external-process-execution. Can a non-GPL program be controlled from a script?
  • by clmensch ( 92222 )
    JavaScript OSA [latenightsw.com] for MacOS seems like it might be something similar:

    JavaScript OSA is a port of the Mozilla JavaScript 1.5 scripting system to the Macintosh in the form of a OSA (Open Scripting Architecture) component. You can use JavaScript OSA as a scripting language in any Macintosh application supporting OSA languages, such as the Script Editor included with the MacOS or our own Script Debugger product.

    Though not necessarily made with "weblications" in mind, you could probably produce a full featured application using this AppleScript component (such as by making calls to a Unix shell or via XML-RPC and SOAP calls implemented in OSX 10.1). My question is, would a Darwin/OSX port of SashXB be more or less useful than just using JavaScript OSA for a system-level JavaScript API?

  • Java Webstart... (Score:1, Interesting)

    by theolein ( 316044 )
    This reminds me very much of Java webstart. The security model is also similar in that runtime verification is done.

    However, unlike Java, I think this might be very successful on the desktop and might release an avalanche of Applications and I certainly wish it luck and wish to congratulate the developers. The only problem that I can see is that it uses GTK+ which will make it difficult to port.

    For all those who kept on dissing Mozilla, perhaps now is the time to have a rethink.
  • What does "weblication" mean? Is it the combination of "web" and "plication"? Or is it web replication? Web complication?
  • ... A web-based virus toolkit! Ingenious!

    Anybody remember VB-Script? Oh wait, it's not MS, so new features are a good thing.
  • Being a web developer I think this is fabulous!

    I'm going to give this tool a try.

  • Unfortunately everyone is missing the point. The problem
    with SashXB is that it should be deployed as a stand-alone package
    without a dependency to certain particular versions of
    libraries! As soon as some of these change the whole thing would break!

    At least the diretibuition should be one single binary or it should load its own set of libraries.

    Personally it should have been built using wxWindows.

  • JavaScript is just not the language to write 10k programs in--it has some serious problems in its object model and scoping rules. JavaScript is barely up to the task of writing web pages.

    The premise also seems wrong to me. People who are so inexperienced that they can't figure out a scripting language like Python or Perl probably shouldn't be writing GUI applications in the first place. And Python and Perl both already have excellent GUI toolkits available to them.

    SashXB also falls short in the installation area. It depends on half a dozen other packages to be installed on the user's machine. Sorry, but something like this should be a single download for the user, and a single click install.

THEGODDESSOFTHENETHASTWISTINGFINGERSANDHERVOICEISLIKEAJAVELININTHENIGHTDUDE

Working...