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?
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.
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));
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.
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.
0x or or snor perron?!
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.
Sash is pretty old news... Saw it either here or on fm.net a year ago. However, a similar technology, XWT was released more recently, and may appeal to a similar crowd.
Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
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...
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.