API Documentation: https://gdi.sh/docs v8 Documentation: https://v8.dev/docs JS Reference: https://developer.mozilla.org/en-US/docs/Web/JavaScript
GDI.js is an experimental javascript runtime that implements win32 api calls into v8 interface. Started as a personal digital assistant project at 2009. Switched from Mozilla's spidermonkey to Google's V8 engine at 2014. It's gained attraction in corporate environment and eventually became a drop-in replacement of node.js with extra arms.
- Multithreading: While other runtimes driven by async event loops to maximize I/O throughput, GDI.js uses standard windows message loop with multithreaded operations for sake of simplicity.
- Native desktop: GDI.js is just a native desktop application. It can directly access to serial ports, activex objects, desktop, network, gpu, external DLL's without requiring any extra module.
- Smaller payload: Bare minimum stack, GDI.exe and engine.dll is just 13.4mb while implementing modern ECMA-262 standard (for comparison, node.exe is around 90mb today)
- Rapid JS prototyping hence the fast bootup
- Build monitoring applications for your arduino projects
- Create data sources for your desktop widgets
- Connect to web services, process and manipulate data, send it back
- Fork the
engine
repository and build theengine.dll
by using visual studio 2015. Main branch pre-configured for dll deployment. - Fork the
boot
repository and create theengine.js
by runningmerge.bat
- Drop the both files into project sources and run
res.bat resources.rc
to generate resource file - Generate the executable by compiling gdi.dpk
- V8 project, Google Inc, https://v8.dev/
- Sqlite3 Interface, Tim Anderson [email protected]
- MD5 unit, Dimka Maslov [email protected]
- CPUID, Roelof Engelbrecht [email protected]
- XSuperObject, Onur YILDIZ https://github.com/onryldz
- JSONEx, Randolph [email protected]
- DISystemCompat, Ralf Junker [email protected]
- BASS, Un4seen Developments [email protected]
- v8 headers, Ryan Zhou, [email protected]
- SendKeys, Ken Henderson [email protected]
- SetupAPI, Robert Marquardt [email protected]
- ModuleLoader from Project JEDI, http://delphi-jedi.org
GDI.js is a free project and a result of the collective efforts of independent developers who may be unaware of where, when and how their contributions are utilized. Please honor their work by citing the original developers when incorporating their work into your own projects.
Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License.MD for the specific language governing rights and limitations under the License.
Created by PsyChip [email protected] May 2024
.eof