Soldat already uses a unhyped programming language, replacing parts of it with javascript will not make much difference as you still need Object Pascal/Delphi to do the real stuff.
For us it really doesn't matter how much opensource support javascript has. If you are really into coding Soldat you will have no issue learning Object Pascal/Delphi.
The idea of using javascript on the soldatserver project is the same as the Node.JS development
Part of the Node.JS source is written in javascript and that fact made the development Node.JS faster and better.
Not really convinced that it would speed up development. Node.js might be a special case here. Soldatserver has also scripting support with pascalscript.
Might be better to use that instead of JavaScript. That would make it look more like the node.js case, don't you think?
Besides that I'm not really convinced that using the C++ plugin feature and Node.js is the way to go for the server.
First it will require us to work in yet another language which in addition has a functional/prototype based concept.
A lot of people misunderstood what javascript is because of the similar syntax.
Why not? Performance?
Second javascript is less efficient than Object Pascal/Delphi.
While this might not be such a big issue there is still the question why we should make the server less efficient.
Could be a little less effecient but could be better on production and scalability.
Because of the different concepts of the language and the difficulties in debugging and building it. It will be a pain to work with. Node.js uses C++ but we don't.
Also duct-taping that stuff together will be an horrible job.
Then there is the issue with installation which will require server hosts work more to get soldatserver up and running (no more unzip, chmod and run).
The update procedure will require some thinking and the hosts will need some way to restrict any access to the js files for their customers.
You could embed Node.JS inside soldatserver's directory. With that you have the same procedure.
I think there's no problem with the update procedure.
Hosts restrictions? Would be much better!
The host would be able to configure each server the way it wanted, with the restriction it wanted.
Sure they could but it requires them to modify the server js code or us to implement the most common solution as each update could break their customization.
My concern was that the js files can be overwritten via ftp and then the customer could do weird stuff.
Since we use Object Pascal/Delphi and not c++ creating a plugin for Node.js isn't that easy. It probably requires C++ and Object Pascal/Delphi code compilation with some manual linker calls among other conversion steps.
I don't believe the dev environment setup needs to be more complicated.
Will continue to need Object Pascal/Delphi?
Yeah we will have to use Object Pascal/Delphi in the future as the client is written in that language and we want to share code.
Porting anything to another language means more work.
Let's say this is not an option and move on. If we finally manage to make soldat opensource you are free to fork and try your changes (as long as the license allows it ofc but I don't think that will be an issue).