Linked by David Adams on Wed 18th May 2011 03:10 UTC, submitted by sawboss
General Development The name Fabrice Bellard may not be recognizable to a lot of people, but the work he carries out as a programmer and computer scientist is. . . . He is a very talented programmer, and his latest project demonstrates once again just how talented he is. Using the super-fast JavaScript engines that now come as standard in popular web browsers, he has managed to create a PC emulator that runs in a browser. As a demonstration he has posted a link to a version of the Linux kernel running in such a scenario.
Thread beginning with comment 473600
To read all comments associated with this story, please click here.
Purpose?
by snowbender on Wed 18th May 2011 18:44 UTC
snowbender
Member since:
2006-05-04

It's probably just me, but... what is the point?

Honestly, I also don't get the point of using JavaScript to try to build desktop applications in a web browser.

From an academic point of view, JavaScript is a nice language, but I believe that it's much more efficient to build those types of applications in for example C, C#, C++, Objective-C, Java.

All those fancy JavaScript applications are basically client-server applications, that use the web browser as their execution environment. Why is something like java webstart not used more? It can be used to run a client-server applications, it can be started from the web browser, and it downloads the needed libraries over the internet (so no installation/distribution problems on big deployments). What is it with everything has to run inside the browser?

It seems likes our powerfull desktop machines are only used to run a browser that hosts our new fancy javascript applications. It seems like going back to the central servers with several "dumb" x-terminals connected to it, with all of our data centralized on those servers. That is what we had ages ago. But back then, it was needed because it was too expensive to have machines that could actually run the software for everyone. Nowadays our machines are a lot more powerfull, but then we start to code our applications in javascript in a browser. Basically, you need a powerfull computer to run those web applications, even though in the end the client javascript code itself (mostly) doesn't execute any business logic; the business logic executes on the central server. The client javascript code in the end is only used for presentation. And that is something that we had ages ago with X-terminals.

But anyways, I seem to be one of the few that feels that way.

Edited 2011-05-18 18:45 UTC

Reply Score: 4

RE: Purpose?
by Alfman on Wed 18th May 2011 19:59 in reply to "Purpose?"
Alfman Member since:
2011-01-28

snowbender,

"All those fancy JavaScript applications are basically client-server applications, that use the web browser as their execution environment. Why is something like java webstart not used more?"

Someone else who sees the value of the most flexible platform ever made...thank you!

The reason it didn't have widescale adoption was because of corporate politics and power plays.


For years, the large players have been drooling over "XYZ as a service" to replace "XYZ as an app".

Technically, as we all should know, centralized services have far worse scalability characteristics than local/edge services. Centralized services require full time connectivity, use bandwidth unnecessarily, etc.

However it's well documented that the microsofts, googles, apples want more control, so they deliberately promoted technologies which give them more control.

Google couldn't mine emails for ads if you're email client is an JWS app which lets us them out of the loop.

Microsoft was so horrified of the potential for java applets (compared to it's own activex controls) that it used it's embrace, break, extinguished maneuver against java.

Apple couldn't sell a proprietary walled garden in a world where JWS apps are common, therefor it had every incentive to kill them off.

So, although Java Web Start solved many of the problems much better than javascript ever will, it was doomed to fail.


Edit: It seems plausible to me that active support of any one of these players could have brought JWS technology to the masses.

Edited 2011-05-18 20:12 UTC

Reply Parent Score: 2

RE[2]: Purpose?
by twitterfire on Wed 18th May 2011 23:51 in reply to "RE: Purpose?"
twitterfire Member since:
2008-09-11

It's a shame that Java Web Start was killed but we have Silverlight which is still more powerfull than Javascript.

Reply Parent Score: 1

RE: Purpose?
by Soulbender on Thu 19th May 2011 00:27 in reply to "Purpose?"
Soulbender Member since:
2005-08-18

It's probably just me, but... what is the point?


To see if it could be done.
Because he likes a challenge.
Who cares why?

Reply Parent Score: 2

RE: Purpose?
by Ventajou on Thu 19th May 2011 00:41 in reply to "Purpose?"
Ventajou Member since:
2006-10-31

The purpose of the PC emulator in JS is just fun for the developer. Just like running linux on a console.

However there is a purpose in using JS for "desktop" applications, particularly in the enterprise. I don't care for Google or MS having control of all my documents but if your server is within your own datacenter, a web app has several advantages over a desktop app:

- No distribution: PCs come with a browser, just put a link to your web app on your intranet and all of your employees can use it, regardless of what computer they're on. Heck they might even be able to use it from home.

- Easy to back up data: assuming it's an app that saves files, those are now saved in a central location on a server which can be backed up regularly and more easily than a bunch of PCs.

- Multiplatform: your web app will run on Windows, Mac or Linux and maybe even on mobile devices if done well. And again you don't need management software to handle all of those platforms.

Javascript is quite a pain to use for large projects though that's why Google came up with GWT. I personally like to use Script# but that's not for everyone. What would be awesome is something like Silverlight has but standard across browsers: a bytecode VM so that developers could use their language of choice. But that's just me dreaming.

Reply Parent Score: 3

RE[2]: Purpose?
by twitterfire on Thu 19th May 2011 01:47 in reply to "RE: Purpose?"
twitterfire Member since:
2008-09-11

The purpose of the PC emulator in JS is just fun for the developer. Just like running linux on a console.

However there is a purpose in using JS for "desktop" applications, particularly in the enterprise. I don't care for Google or MS having control of all my documents but if your server is within your own datacenter, a web app has several advantages over a desktop app:

- No distribution: PCs come with a browser, just put a link to your web app on your intranet and all of your employees can use it, regardless of what computer they're on. Heck they might even be able to use it from home.

- Easy to back up data: assuming it's an app that saves files, those are now saved in a central location on a server which can be backed up regularly and more easily than a bunch of PCs.

- Multiplatform: your web app will run on Windows, Mac or Linux and maybe even on mobile devices if done well. And again you don't need management software to handle all of those platforms.

Javascript is quite a pain to use for large projects though that's why Google came up with GWT. I personally like to use Script# but that's not for everyone. What would be awesome is something like Silverlight has but standard across browsers: a bytecode VM so that developers could use their language of choice. But that's just me dreaming.


-No distribution: that's what Web apps are for. And I think that some JSP/Java or ASP.NET/Silverlight solutions are more powerful

-cross platform does really not matter

Reply Parent Score: 1

RE[2]: Purpose?
by snowbender on Fri 20th May 2011 23:04 in reply to "RE: Purpose?"
snowbender Member since:
2006-05-04

no distribution

This is the most important argument I guess. But.. you have the same advantage with Java applets/JavaWebStart, or Silverlight/ClickOnce. I know the argument with those is that you have to install something extra.

easy to backup

I know that argument too, but this is something that you have with every client-server application.

multiplatform

Java applets


I give those arguments, but I know that companies are probably gonna demand javascript applications. But see... with GWT.. you actually program in Java, to compile it to JavaScript, that you run on a browser, which contains a very fancy JavaScript interpreter to make it run as fast as possible. All that while there is basically a technical solution (applet/JWS) that let's you program in Java and compile it straightaway and run it on a very performant and mature JVM.

Reply Parent Score: 2