m12 wrote:
AbstractYouShudNow wrote:So here's my question, in times where computer technology is orienting towards the Cloud, do these applications play such an important role?
That's a question of speculation.
I don't mean from a marketting standpoint. What I mean is that such applications allow us to be more productive, and the dynamic nature of these languages allow for very dynamic applications, with very adaptive UIs. Additionnally, this could allow the OS designer to blur the limit between a "Web-Based" application and a Web Page, so that an application could interact with the website, and vice versa. For example, imagine a "MySocialNetwork" application. The website, when open, would open as the application which would interact transparently with the website, and the web pages (with some security considerations, of course) could access their corresponding applications.
Now, imagine a "Google Search" application. It could call upon the google.com website for its searches, and the 'profiling' settings of that site would also apply to the application, hence allowing one to write cloud-oriented apps very easily and productively.
m12 wrote:
AbstractYouShudNow wrote:And should a new Operating System support them ?
Depends on the design of the OS.
That's true, but whatever the OS design is, assuming a general purpose OS, it could always be interesting to be able to quickly and productively create cloud-based applications, since the code would run on anything once written, and users globally switch to the cloud, enforcing us, as OS designers, to review our OS designs to support such usages.
~ wrote:
Such web languages have no reason to be inherently interpreted.
Somebody could perfectly build a compiler along with an IDE, so that JavaScript code gets natively compiled, and the HTML/CSS gets converted into the application's resource data (be it for Windows or another type of binary).
As Brendan said, this is possible until you consider the dynamic features of these languages. I think the most we can do is a form of bytecode which gets converted to native code by some JIT compiler, and pre-compiling applications makes them loose their platform-independance, which is one of the main advantages of this kind of programming. On the other hand, runtimes such as Adobe AIR (or Qt, as far as I know, which means not very much
) actively use languages such as JavaScript.
~ wrote:
That of course would be a huge advantage, since now we could use the same JavaScript code for regular web pages as well as for regular applications.
Probably if HTML5 and low-level features such as Typed Arrays (binary data), sound and 3D graphics APIs, Canvas, input, etc., keep becoming more and more capable, somebody or some of the bigger companies (Mozilla, Google, Microsoft...), and not to mention open-source compiling tools, naturally, will realize that turning JavaScript/CSS/HTML/HTML5 into a natively-compiled, all-purpose language, is a must for the industry and to make programmers more productive overall.
That's the point of the thing, and the possible applications are just infinite, as long as we give these applications powerful APIs that are secure enough not to be paranoid when running them. As long as wethe OS manages all the security-critical things (for example, we don't enable applications to open an arbitrary file, but instead, we only allow them to call a function that asks the user which file to open, and return an open file descriptor. For the rest, we provide the application a specific API to access its resource files and temporary files. In short, a good API design would definitely eliminate Evilware by just making it impossible for anybody to create them.
For completeness sake, we could also implement a monitor which would watch the app's activity to ensure that nothing potentially harmful i sperformed by the application...