Is that possible to run SpiderMonkey for JavaScript and WebKit for everything else (CSS, rendering etc)?
According to http://en.wikipedia.org/wiki/Comparison_of_layout_engines_%28ECMAScript%29 WebKit have obsolete JS support (compared to Gecko). So can it work?
So far as I know, nobody has done the legwork to integrate the SpiderMonkey engine into the WebKit code base, but JSC (the WebKit JavaScript implementation) is also a quality, standards-conforming JavaScript engine implementation. There was some work on putting a V8 API on SpiderMonkey, which has some promise for integrating SpiderMonkey into the Chromium code base I suppose, but I don't know how active that effort currently is.
Related
Now Airbnb have a tool Hypernova for server side rendering of javascript views. I would like to know if it can be used for enhancing SEO of Ajax based website like the tool Prerender is used for. If not then why?
A quick way to figure out the way how a tool works is to check its dependencies. It doesn't contain phantom or other adapter for headless browser, so it just evaluates client-side scripts in Node.js.
hypernova runs client-side scripts in Node.js and renders them to HTML. In order to make this possible, scripts should be universal and don't depend on browser-specific features. This allows to avoid the overhead that is caused by rendering in headless browser (like Prerender does).
hypernova documentation is focused on using React components because they are naturally universal and most time don't require real DOM when being rendered in Node.js, They are rendered with hypernova-react package, which is a thin wrapper over React's own SSR features.
AngularJS was developed to run in a browser and relies on real DOM. It is guaranteed to work properly only on client side. It's possible (at least in theory) to render AngularJS application in Node.js with DOM emulation (jsdom) or jQuery emulation (cheerio), but hypernova doesn't offer a suitable adapter for that.
I am reading and seeing that all the major web browsers are removing javascript from their supported languages which I honestly believe is a HUGE and massive mistake as things like Socket.io and jquery are written in javascript and are just 2 of the biggest libraries used. So if javascript is being removed, what is there to replace it? How do I use something like socket.io without any javascript that will natively run in any web browser(hence HTML5)? Is there a getting started guide or reference that can help me get started with sockets in pure HTML5?(Already having issues on Google Chrome with my native javascript coding).
I decided to play a bit with Node.js because I like Javascript a lot as a language and because V8 is so fast. I work with mobile sites a so if I manage to reduce the page response time it will be very good.
I have a relatively simple site built with php and smarty and as an exercise I want to port it to Node and see how it behaves.
My main problem is the following - which of the existing template engines most closely resemble smarty so the porting work of this part of the project to be minimized.
Also I use php library that combines content images into sprites - any image processing tools for V8 that can read/write png and jpeg?
Recently published Node.js Smarty template engine - ported PHP Smarty
https://github.com/stepofweb/nsmarty
When I search for modules I like to use http://search.npmjs.org and https://github.com/joyent/node/wiki/modules.
I have never used Smarty, but maybe ejs could be useful? There is a node.js plugin for ejs available. Also maybe you should have a look at all templates modules available at https://github.com/joyent/node/wiki/modules#wiki-templating.
I searched search.npmjs.org and https://github.com/joyent/node/wiki/modules for png:
https://github.com/pkrumins/node-png
https://github.com/pkrumins/node-image
I am currently researching GWT as a means to develop web apps for a future project, and the more I read, the more I like the features it provides. Yet I am not quite sure what features of HTML5 are fully supported. I am more interested in multithreading (the new worker threads that work straight from JavaScript), WebGL rendering through the canvas element and possibly audio.
If these features are not supported yet, does anyone know any good libraries that are somewhat fast / stable for such features, or if it's possible to create custom widgets / wrappers, or a combination of writing code in GWT and pure JavaScript.
I know there are simpler ways of implementing these through various plugins, but I want something which is fully complaint with open web standards, meaning it has to run straight from the browser, without any plugins. That is why GWT seems like the best candidate, it "compiles" straight into JavaScript and uses features only from the official specifications of html.
GWT is ultimately compiled to javascript, so it has all the features of Javascript.
GWT provides classes (Widget, etc..) that wrap javascript/DOM functionality, but this is limited to standard functionality.
You can access all new/non-standard functionality (WebGL, ..) via JSNI. JSNI allows you to call JS, be called by JS and access properties/objects.
So if what you need can be coded in JS it can be coded in GWT via JSNI.
I am looking for solutions for 3D visualizations in web browsers.
For now I just need to do research about this topic, i.e. I need to know how many solutions exist and which of these are good and why?
Thanks
Brief overview of 3D on the web:
VRML. An HTML-style markup language for 3D models that was supposed to be the amazing cyberspace future of the web, back when we still thought what the web needed to be popular was just to totally change everything about it. We were idiots. VRML is all but dead.
Java. JVMs from 1.3 can run the Java3D engine in applets. With the decline in prevalence of desktop Java I have yet to see this in the wild.
Flash. 3D-primitive support in Flash 10; libraries that hack it in earlier Flash versions, and provide higher-level engine features. (Papervision, Sandy et al.) This is how the majority of in-browser 3D is done today.
CSS. WebKit provides a perspective transform feature to CSS, which has been proposed for standardisation. Won't offer anything like full 3D engine features of course, but the capability to integrate with HTML content in the page is interesting.
O3D. Google's experimental 3D engine browser plugin.
WebGL. Proposed binding of standard OpenGL to JavaScript and HTML5 canvas. Of interest in that you can use it in plain JavaScript with no plugins, but it's pretty low-level. Currently only available in in-development browser snapshots.
Others. There are gaming 3D engines that have been packaged into a plugin, eg. Unity, and a few sundry proprietary-format model viewer plugins.
Open standard webgl,
if you are prepared to download a plugin - lots and lots
Nothing immediately leaps out for maps, a good place to start is opensourcegis,
Unity3D is a game engine that is (relatively) easy to use and builds to multiple platforms including the web (provided you install a plugin).
http://unity3d.com/
X3DOM is plug-in free, supports a lot of X3D (not prototypes) and is written in web browser javascript (where you can do all the prototype stuff you like). Cobweb is an ES6 JavaScript library which supports VRML2 (except collisions last I checked). Cobweb is plug-in free and runs in firefox. Both of these tools are written in WebGL. You may have to convert your event code to X3D. In x3dom, you may have to call x3dom.reload() if you load elements (X3D and Scene) programmatically.