Slashdot Mirror


Linux 'Weblications' with SashXB

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?

12 of 181 comments (clear)

  1. Browser OS by TheViffer · · Score: 4, Funny

    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.

    --
    -- Knowing too much can get you killed, but knowing who knows too much can make you rich.
  2. Tried this before... by lkaos · · Score: 4, Interesting

    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...

    --
    int func(int a);
    func((b += 3, b));
  3. Re:Huh? by Asprin · · Score: 4, Funny

    exposes native functionality to JavaScript

    You mean things like `rm -rf /*`


    YOU SEE, YOU SEE! LINUX *IS* BECOMING MORE LIKE WINDOWS!!!!!!

    --
    "Lawyers are for sucks."
    - Doug McKenzie
  4. SashXB Testimonial by goldenfield · · Score: 5, Informative

    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:

    > 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

  5. Before you ask: SashXB and Security by jcorwin · · Score: 5, Informative

    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.

  6. Windows has had this for a while by interiot · · Score: 5, Informative
    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.

    1. Re:Windows has had this for a while by Anonymous Coward · · Score: 5, Informative

      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.

  7. deep breath.... by Anonymous Coward · · Score: 4, Insightful

    ...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.....

  8. Re:Weblications == bad by kato · · Score: 4, Informative

    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, it rocks.

  9. See also: XWT by adam_megacz · · Score: 4, Interesting

    This is quite similar to XWT. 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 to walk you through creating a tic-tac-toe application and a comprehensive reference spelling out all the nitty gritty details about how the engine works.

  10. Thank you by Grape+Shasta · · Score: 4, Funny


    It's all these great new terms like "weblications" that make this world of new technology (or worlnewology!) a better, happier place.

    --

    "I am a cipher, a cipher, wrapped in an enigma, smothered in secret sauce" -Jimmy James
  11. Been thinking about this by pubjames · · Score: 4, Interesting


    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.