Domain: syntensity.com
Stories and comments across the archive that link to syntensity.com.
Comments · 9
-
Re:oh great
You jest, but one of the interesting things about Boot 2 Gecko is that all the apps are just localled cached web apps, which means that they get "updated" seamlessly without having to interact with an app store or package manager. You get all of the updating advantages of a web app like Google Docs or Gmail, in that installation and upgrading is completely invisible to the user. Even the included apps (the launcher, the dialler, photo viewer, web browser, etc.), which would be native on any other platform, are all just web apps loaded from a particular URL - you can access the same URL using Firefox on a desktop PC, or from an Android phone running Firefox Mobile, and those apps will run. It's the cross platform solution that eliminates the need for native code (think Phone Gap).
Mozilla is aiming to produce a platform that will make apps just an extension of the web. And to standardize everything that they need to do, so that other platforms can implement their APIs. Is it possible for everything? Perhaps not. Does it feel like we are throwing away decades of work on native code? Perhaps, but the web stack of HTML and Javascript is the only cross-platform, globally accepted solution we have. Google tried to add native code to Chrome - it's impressive, it works, but nobody's using it. We had Java applets on the web, but those are effectively dead now. There are projects now that can compile from native code to Javascript - see this amazing demo of Sauerbraten in Javascript running with accelerated WebGL. It's not difficult to imagine a world where Javascript is basically the common bytecode, and with bridges to native APIs it becomes possible to access all hardware, do anything, from a web app that is running on any platform, be it iOS, Windows, Android, Linux, etc.
As I wrote in another comment: the current situation with apps is a bit of a throwback - can you imagine if viewing a web site required you to install it through an app store? And for an author, updating their web site required them to push their site to Dell, who would then approve it and push it out to people with Dell computers? But you need a different web site for people with Asus computers, and you have to push your Asus-build site to them for approval and redistribution? It's crazy, if that were the situation with the web it would've never taken off. Making apps more like the web, or expanding the web to consume apps, whichever way you look at it, is a good thing.
-
Re:Compile, make packages, offer download
You can compile C++ to JS and run it on the web, using Emscripten. It supports SDL.
Here is an example 2D game ported that way: http://www.syntensity.com/static/mams/mams.html
-
Re:Why not...
-
Re:Makes me wish
If you want to embed multiple language VMs in the browser, you immediately start having issues with cross-VM reference cycles causing leaks. The infrastructure needed for breaking those is
.... nontrivial. You also get very complicated interactions performance characteristics as the VMs interact. Note that historically browsers have had issues just solving these problems for the JS VM and C++ DOM, without adding more VMs into the mix.A better bet may be having a single VM that multiple languages can compile to (a la JVM, which all sorts of things other than Java can target). But at that point, perhaps that VM should simply be the JS VM. For example, you can already compile C code to JS. See http://syntensity.com/static/jsconf_eu_Emscripten_lo.pdf for the recent state of that. Now you do get a slowdown over, say, gcc -O3; the slides list this slowdown as somewhere between 2x and 8x depending on the workload. But JS VMs are pretty continuously improving, and it's not clear how fast running C code on the JVM, say, would be... Would be interesting to have those numbers.
-
Re:Source code?
Is this technology FOSS? Where can I get non-obfuscated sources for this? There isn't even a copyright notice or any information about the developers anywhere on the page...highly unusual.
I can't get this website to work, and have no idea what technology they use. But if you want an open source way to run Python in your browser, you can check out this demo (source code and build instructions are in the emscripten source code on github).
-
Yes, Python :)
Personally, I'd recommend Python as a starting language...
I might, if there were a simple, cross-platform, one-click-install download bundle for all of the major operating systems which included pygame and a decent IDE, and even then I'd target motivated 13 year olds as the youngest users.
You can run Python directly in the browser - no need for installs at all. In fact one of the motivations for getting CPython working in JavaScript was for things like this. (Note: It doesn't work perfectly yet, but all the hard work is already done.)
For a basic IDE, that demo includes Skywriter. Integrating some additional features like load/save etc. would make it very usable I think.
Regarding pygame: It would be possible to get something like that working in the browser, targeting an HTML canvas element. See this demo for C++ code written against SDL, compiled into JavaScript and an SDL implementation that targets a canvas. -
Yes, Python :)
Personally, I'd recommend Python as a starting language...
I might, if there were a simple, cross-platform, one-click-install download bundle for all of the major operating systems which included pygame and a decent IDE, and even then I'd target motivated 13 year olds as the youngest users.
You can run Python directly in the browser - no need for installs at all. In fact one of the motivations for getting CPython working in JavaScript was for things like this. (Note: It doesn't work perfectly yet, but all the hard work is already done.)
For a basic IDE, that demo includes Skywriter. Integrating some additional features like load/save etc. would make it very usable I think.
Regarding pygame: It would be possible to get something like that working in the browser, targeting an HTML canvas element. See this demo for C++ code written against SDL, compiled into JavaScript and an SDL implementation that targets a canvas. -
Re:Will it support languages other than JavaScript
Will it finally support languages other than JavaScript for client side programming? Just when we seem to be entering a point in time where people finally realize that they can choose the right language for the job, so much is moving to the web where there's only one language or nothing at all.
JavaScript will remain the only language available on all web browsers everywhere. But, you can write code in other languages and run that on the web. Just like you can run code from all sorts of languages on x86 assembly - you compile into that.
-
Re:A lot of engines are going down this road
Aside from Panda 3D, there is also the open source Intensity Engine, which is making good progress on a browser plugin.
The Intensity Engine actually scripts games using JavaScript, so it kind of makes more sense in a browser context. For example, due to using JavaScript, it has proper sandboxing for games, so you can run untrusted game content without risk - whereas Panda 3D, which uses Python, doesn't have that (Python is notoriously hard to sandbox), so users need to click to run untrusted content (and take the risks upon themselves).
But, bottom line, it is good we have open source (and cross-platform) alternatives to proprietary browser plugins for 3D games. Both Panda 3D and the Intensity Engine are much better than Vision Engine, Unity 3D, etc.