Node.js can be used for servers which are not web related. For example, this IRC server.
What kind of performance can I expect from Node.js in a non-web server role?
Is Node.js a good choice to build a general-purpose (non-web) server?
is it a good way to build a server of
something non-web related?
Yes. Its strength is in DIRT applications (data intensive, real time).
I would like to know the real
perfomance of Node.js
What does this mean? In what context? This is too vague a way to approach performance of any type. You need specific goals in mind for a project, and then you can judge what tool is right for the job.
It looks likes some people already used it for non-web application:
http://www.heatsynclabs.org/boutduinode-a-pool-party-with-arduino-node-js-and-an-rc-boat/
https://github.com/brianlovesdata/node-serialport
Hope this help
Related
I know it is a subjective question, but the reason I ask this question is because
Node.js is not good with heavy computational task
Node.js has some issue with memory leak.
By having the problems above, would node be a good use case to build a payment gateway software?
I'm very comfortable with node, but there are many people said that its better to use other language like golang or scala for this type of systems.
Let me know what you guys think about, whether I should use Node or other languages.
Yes, node.js would be perfectly fine for payment gateway software. An appropriate design using clustering or off-loading computation tasks to child processes could easily help optimize heavy computational tasks.
And, node.js is being used by many heavy traffic commercial sites without memory leak issues. Memory leaks are an issue with faulty software design, not with the platform.
Further, the very nature of payment gateway software (being the middleman in a transaction between two other networking endpoints) is very well set up for the node.js async design that handles lots of in-flight transactions very efficiently.
As with pretty much any major back-end system these days, you just have to design your app to work the way the platform performs best and you could probably use any of the systems you mention just fine.
Our Customers often have Requirements for some small WebProjects, to integrate in our EnterpriseEnviroment. Currently I create those Apps with ASP.NET WebForms or MVC but this Technology often feels a little bit to heavy for this kind of purpose.
I really don´t know much about node.js, only that it scales very well and is good for having a lot of concurrent connections.
So I've asked myself:
Is node.js suitable for small Projects ?
Do I have any advantages for a small Project?
Am I right that it´s more lightweight than ASP.NET WebForms/MVC
How is the node.js support for WindowsServer? Or should I setup a LinuxBox for it?
How is the Database support in node.js ?
Does it support direct DB-Connection to MSSQL-Server?
Or is it better to get my Data from a WebService?
I know that node.js is only server-side and you can´t really compare it 100% with something like ASP.NET WebForms/MVC
Is node.js suitable for small Projects ?
Yes.
Do I have any advantages for a small Project?
Very lightweight, very modular, easy to install.
Am I right that it´s more lightweight than ASP.NET WebForms/MVC
Enormously so.
How is the node.js support for WindowsServer? Or should I setup a LinuxBox for it?
It works OK on Windows. It would probably suffice to install a Linux shell.
How is the Database support in node.js ?
Beautiful.
Does it support direct DB-Connection to MSSQL-Server?
Yes, I believe it does.
Or is it better to get my Data from a WebService?
"Better" is kind of vague, but for a very small project, simplicity is generally the key, so no.
My question is rather straightforward. I started developing quite a large project and realized that node.js COULD be a viable solution. Since I am still new to node and therefore not in the position to determine if it's the right thing for me, I decided to ask here.
The project: It's basically an administration solution for gameserver providers. It includes both a web administration panel as well as server components to control everything.
My doubts are if I should use node for the panel.
It will require life updating of data (where sockets could come in handy) and we plan on developing it as a "one-page" kind of app.
Having it node means it would be able to perform tasks asynchronously and on it's own (instead of, say, php and cronjobs)
It will be distributed. Making it node would make this easy. No dependencies besides node, and a simple "npm install".
It will have multiple people connecting to it and using it at the same time.
Will node be able to handle these multiple connections well? Performance wise, will it be a good choice?
Will node (and maybe Derby) suffice to build a good web panel?
Am I right about any of the points I made, or did I miss something?
Thanks for the help!
Sincerely
-Antariano
Well you did answer yourself for some of the questions. Thanks to the asynchronous tasks node can take quite a load of connections so it should handle your app. I don't know Derby, but express is also good for your task.
Also when one node server will be insufficient you can always deploy next one and just create some communication between them. Since node is lightweight it can do the job.
Will node be able to handle these multiple connections well?
Yes.
Performance wise, will it be a good choice?
Yes.
Will node (and maybe Derby) suffice to build a good web panel?
Yes.
Am I right about any of the points
You are right with all of them.
I think node will be sufficient for this job.
I'm about to develop a web app so i tought i could test the workload with a single Node client since it can make multiple calls to the server without blocking.
Looking at https://github.com/joyent/node/wiki/modules, in the testing section i foun plenty of frameworks, and my question is if someone can recommend or has heard good things from any of those.
I think this is a perfectly answer question, that's why im asking it here.
Edit:
The idea is to use node on the client side not the server that serves the webapp, so profiling would be out of scope when it comes to decide what node testing framework to use.
In every blog, on every site, on every forum, all you hear about Node is how people use it for web development, similar to Ruby on Rails. And at the same time you always hear the slogan "for easily building fast, scalable network applications". My simple question is, can it be used for other server applications as well? Or rather, should it? There is the TCP server example of course, but is Node good/fast enough for other things than a web server? Like... a server for an online game? This is just a question out of curiosity, since it looks like it shouldn't be too much of a problem.
Node.JS at it's core is a high-performance i/o library/framework. So you can basically build ANY application that relies on fast i/o operations (which of course includes a web-server).
Since it's not a scripting language like PHP, you do not rely on a seperate server application to host your code; it's self-hosted.
So to answer your question: yes, you can build ANY server application using node.js (be it a server for an online game, an e-mail server or even a high-speed feed parser for machine-generated data).