Tool to make a full GUI

Hi,

Sometimes I’m amazed by the functionality given by a webinterface. For example the interface from my new NAS of Synology. (http://www.synology.com/products/dsm_livedemo.php?lang=enu)

It looks and feels like a opperating system, yet it is presented in your browser. How do they do that? What technologys, frameworks or libraries are there to make such a thing? Do any of you have experience with this?

thx for your thoughts

Yeah. That’s truly amazing (to me).

The most popular way to do something like this would be with Java. Java is used by some games that are insanely complex. Trust me. INSANELY COMPLEX. Take a look at Jagex, owners of well-known [Runescape.com and url=funorb.com[u]FunOrb[/u]. RuneScape is an extremely popular game with teens aged 13-21 (ish). It’s like World of Warcraft in a browser.

~TehYoyo

thx. I was a bit affraid it would be insane. A quick search didn’t reveal much, that was my first clue.
I do like to find out how big ‘the gap’ is. I know you can make basic window resize functions with jqueryUI and basic dialog boxes are also quite common. So I was wandering if the next step is available.

Ext JS springs to mind. That’s what the Synoly DSM is built on as well (going by the source).

So it’s “just” HTML, CSS and JavaScript – Ext JS is a JavaScript library, like jQuery is.

Hmm interesting and good to know. I found this example http://sonspring.com/journal/jquery-desktop which is “just” jquery. I think I can go and play around with that. (my Sitepoint jQuery book should be here anytime now…)

Ext JS is nothing like jQuery. Ext JS is a full MVC application development framework w/ many pre-built components. jQuery is merely a library of functions for common tasks. Ext JS attempts to push client-side scripting using JavaScript to it’s limit. Which can be obvious given poor performance/response at times. None the less if graceful degradation isn’t a concern it is a very nice product. Still though there is much more that would go into building an admin interface like the one described than just knowing some client side code. You would also need to know enough server-side scripting to send and process data between the client and server if using Ext JS.

Meanwhile I’ve been seeing this nonsense for a decade, and still can’t be bothered to wait for it to finish loading before I close it… when it takes ten times longer to start up than windows 98 did on a P3 – can’t say I see the point other than as a novelty.

I’ll agree with this rant. Not advisable. Also not good for search engines or for accessibility.

~TehYoyo

I can’t argue with accessibility but I can with SEO. When creating admin systems backed by authentication SEO doesn’t matter. That is what the product is being marketed towards – complex admin systems.

What’s your logic behind it not being good for SEO? Genuinely curious :).

Well I figure it’s a lot like Flash, right? You create a Java applet and that can’t be read by Search Engines?

~TehYoyo

It’s not really all that similar to flash. At least not code wise. In the end, it’s still just javascript.

Are you sure? I thought Java=/=Javascript?

~TehYoyo

Where are you getting Java from? I’ve onlyseen mentions of Jquery and Javascript in this thread. Only you have mentioned Java in this thread.

Java is completely different than Javascript.

Ext JS is completely built in javaScript and lacks a fall back. So by nature it is inaccessible. Again… maybe not the best solution for most websites but those that require a sophisticated admin for known set of users perhaps.

Nah… JavaScript and Java are two completely different things.

Ham is hamster as Java is to JavaScript.

If it were built in Java it would probably be accessible because that executes server rather than client side.

Uhm… no… Well… kinda. Java is one of the few languages that can run both client and server side while served over the web – MOST people think of Java as client side.

I know I do when using jdosbox – it’s why we even have an applet tag in the first place! To run java client side. The whole idea of java being “run anywhere” - client side, server side, pickle on the side and a bag of chips…