Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I am planning to switch to JavaScript as a scripting language for our application, currently we are using VBScript with Microsoft VB Script engine. Scripting scope is being used for Application Automation via exposed APIs and scripts execution can be on-demand, time-based, conditional or event-based.
To enable JavaScript support for my application I have shortlisted Google V8 engine, however someone has suggested to use Node.js instead of Google V8. As everyone knows Node.js is also backed by Google V8 and primary purpose of Node.js is to create network applications.
As per above context which one of above choices (Google V8 or Node.js) will be the best choice.
Selection parameters are:
Implementation
Integration
Framework Complexity
Performance
Maintenance
Whoever told you to use node.js does not understand your use case.
If you want to embed a script engine - you can embed V8. Node JS is a whole platform that brings V8 together with a library for asynchronous io called libuv, and other tools and libraries dedicated to making networking and server building easy.
It's not nearly as easy to embed as V8 itself and it's not as fun. The performance would likely be very similar and maintenance would be a lot harder with node.
Related
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 8 years ago.
Improve this question
I used node for 1 year, but only for writing server applications. I am now interested in making an application that's usually written in a language like C or C++, so I am not sure if it's possible, for example, to write a keylogger or simillar applications using JavaScript and Node.js?
Yes, you can use Node.js to write desktop applications which can act as a keylogger, communicate with device drivers and other system resources.
Most of the system interoperability has gone into providing cross-platform support for particular system event notifications and I/O. Be mindful that there are tall stacks for reading keyboard events that differ from platform to platform, so you will probably want to take a look around the Node.js ecosystem for packages like node-ffi, which may assist you at accessing system resources from your application's event loop.
Should you want to write your own system bindings that are exposed to V8 and accessible by your Node.js application, there is excellent support for going native, from packaging to creating asynchronous events for your Node.js application.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I am reading a book "Real-Time Communication with WebRTC", it says:
Node.js is an extremely powerful software platform that allows users
to easily build scalable server-side applications with JavaScript. It
is based on a single-threaded event loop management process making use
of nonblocking I/O. The library provides a built-in HTTP server
implementation, making it independent from third-party software
components. With Node.js, it is really easy for the programmer to
implement a high-performance HTTP server with customized behavior with
just a few lines of code.
I already use XAMMP as a local HTTP server, why do i need Node.js? What's the difference with Node js and XAMPP? I am new to Node.js stuff.
XAMPP and Node.js are completely different:
XAMPP is a distribution consisting of Apache, MySQL and PHP. So you are using Apache as your web server.
Node.js is a Javascript framework. You could build you own web server with Node.js
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I believe "full-stack" means that a language can handle both the server and client side of things. I have heard that javascript is now able to handle the server side now. I have also heard of node.js but am not 100% sure what that is. What exactly is full-stack javascript? it seems to be the talk of the web.
"full-stack javascript" is idea and marketing term that says that JavaScript is used for both server and client side.
Node.js http://nodejs.org/ was the first JavaScript platform to become popular and set standard for server side JavaScript.
It is using V8 engine from WebKit open-source project, that power Apple browsers and Google Chrome (before they forked it into new own project.)
JavaScript cab be also used for development of Windows 8, GNOME and Mozilla FireOS apps.
Some companies promotes using their frameworks and packs as stack (choices for framework already made)
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
How do cross platform files communicate between each other? I got a chance to go through thunderbird code and I found whole framework comprised of javascript, python, xul and c++ files.
I am surprised to see whole framework. Can anyone guide me about how they communicate with each other?
What is happening when we execute "make" commands?
Mozilla uses XPCOM technology to integrate components written in different languages.
XPCOM is a cross platform component object model, similar to
Microsoft COM. It has multiple language bindings, allowing XPCOM
components to be used and implemented in JavaScript, Java, and Python
in addition to C++. Interfaces in XPCOM are defined in a dialect of
IDL called XPIDL.
XPCOM itself provides a set of core components and classes, e.g. file
and memory management, threads, basic data structures (strings,
arrays, variants), etc. The majority of XPCOM components are not part
of this core set and are provided by other parts of the platform (e.g.
Gecko or Necko) or by an application or even by an extension.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I've been wondering to try out server-side javascript for a while. And I'm finding a good amount of servers, like:
Node.js Rhino SpiderMonkey among others.
Could anyone with experience on server-side javascript, tell me which are the best engines? and why? I like the Node.js because it's based on Google's V8 engine. And seems easy to use. But some feedback on what you would choose would be great.
Edit:
Some benchmarks for Node.
I'm thinking on going with this one but feedback is still welcome.
Thanks
I think each solution has its own advantages/disadvantages
here a list of SSJS solutions:
Aptana Jaxer:
sadly abandoned
Sitepoint Persevere:
based on rhino -
include JSDB, supports JSON Query -
by Kris Zyp, the author of JSON Schema
RingoJS:
based on rhino -
ex Helma NG successor of Helma which existed from long time ago -
multi-thread -
nice community -
great actor on CommonJS
Narwhal:
can work on either spidermonkey, V8, or webkit JavaScriptCore -
another great actor on CommonJS -
defined the JSGI API in the Jack Server
Joyent NodeJS:
based on V8
(fast) -
all is running in a single thread -
all the code must be written using callbacks -
lot of modules available via npm (Node Package Manager)
4D Wakanda:
based on Webkit JavaScriptCore aka SFX or Nitro (which has been faster than V8 and could be faster again) -
include an NoSQL Object oriented JavaScript datastore with a native REST API -
multi-threaded -
provides a studio with a debugger, a Model Designer, and a GUI Designer -
provides a Framework with Widgets directly bindable to the datastore and between each others
APE project: based on spidermonkey - a Push engine to synchronize in live data between many visitor browsers
10gen MongoDB: A NoSQL Document store allowing code in either Erlang & JavaScript (using spidermonkey)
Apache CouchDB: Another NoSQL Document store also allowing code in either Erlang & JavaScript (using spidermonkey)
See a Server-Side JavaScript presentation with some history, benchmarks, & descriptions
The word server is badly used. Those are different JavaScript implementations.
Personally the only thing I'm doubtful about these implementations is about the low amount of system libraries. Most of them come with standard stuff (sockets, filesystem etc..) but lack support for Threads and concurrency. That's why I usually use Rhino, unless I care for speed.
It might help to describe what problem you are trying to solve. There are a lot of "server-side" JS implementations that fill various needs. An there also several "server" platforms built around these implementations. I wrote one implementation on top of Rhino and Java Servlets, called Myna. Myna is for web applications, and I detailed some of its advantages in another question.
Are you trying to deploy web applications? Are you trying to script existing code? Does your code need to start quickly from a commandline, or is it going to be implemented as a daemon?
There are currently no clear winners in this space that do all of these things well, but there are good choices for specific needs.