Below is a source code for a basic http server application;
Let’s turn it into a protected binary file
The source codes are not visible anymore;
And the above binary file works very smoothly without doing anything extra!
This is just a beginning. There are many useful features combined into JX packaging;
How is JXcore Different?
JXcore’s approach to stability is mostly based on structural changes on both libuv and node.JS core, including IO, wrapper, and request queues, extra measurements, and prevention of asset backed crashes all over the solution, and finally safe wrappers around global members. We believe these structural changes are very important for the stability with or without multithreading since async I/O strictly depends on the queues. JXcore uses an external memory for source codes and related resources.
JXcore comes with a built-in multithreading support that can be enabled on your existing Node.js applications without additional changes. JXcore’s multithreading can be considered as multiple instances of Node.JS running under the same process. We optimized the CPU and memory usage as well as other system resources in order to improve the overall performance of an application. JXcore multi threading may bring approx. 30 to 50 percent solid performance advantage over Node.JS cluster module.
Better UpTime & Fail Recovery
JXcore’s internal monitoring feature tracks each thread separately and saves both process and threads from unexpected crashes. In the case of a failure, JXcore gives you a chance to restart the running instance and save any information needed. JXcore’s monitoring also works as a service to track running processes.
Source Code Protection
Cross-platform Messaging API
JXcore comes with a cross-platform, fast and highly scalable messaging API including all the features needed for applications requiring real time communication with the server. JXcore messaging is already passed the test of handling 50 billion random requests without an issue.
External Memory Store
Using the built-in memory stores, you can move beyond the memory limitations of V8. JXcore provides both per thread and cross-thread memory stores beneficial for different application scenarios. Each JXcore thread has its own maximum V8 memory limitation.
Built-in SQLite DB Engine
JXcore has an SQLite database engine embedded and ready to use on all platforms with multi threaded JX instances. Our intention is to reduce the overhead of installing/compiling SQLite on target platforms and ensuring efficiency & stability under multi threaded usage.
Built-in Package Manager
JXcore comes with a built-in package manager that helps you to download the 3rd party modules and carry them to the offline environments easily. You can both use NPM and JXcore package manager without installing anything special.
Easy to Deploy
We have already tested and compiled JXcore for many platforms. Instead of compiling Node.JS and popular native modules per each platform, you can simply download the corresponding JXcore binary and deploy/run your Node.JS solution.
Native Mobile Applications
Looking for more?
JXcore documentation and tutorials are available from JXcore website.
You can track/collaborate issues from our public Github page