Harpoon.js JavaScript Web Server

Harpoon.js



Harpoon.js is a lightweight and high performance web server with JavaScript backend.

Features

  • JavaScript according to modern ECMAScript ES6 standard
  • arrow quick
  • integrated document oriented LiteDB database system
  • integrated relational SQLite database system
  • Server-sent events
  • Switchable in-memory cache for faster file access
  • executable under Windows and Linux
  • 32/64 bit compatible
  • much more

Why Harpoon.js?

The programming language of the future is JavaScript. From small scripts embedded in HTML pages to highly scalable distributed applications on the internet and also as a programming language for app and desktop programming, JavaScript is becoming increasingly important. In conjunction with the development of HTML5 and related technologies, JavaScript offers unbeatable user interface design options. Modern document-oriented databases are storing JSON objects that can be processed seamlessly in the application thanks to native support from JavaScript.


„Harpoon.js closes the gap between Node.js and PHP.”
A large number of websites are based on PHP. The scripting language is easy to learn and therefore particularly suitable for smaller projects. With Node.js, a platform is available that can be used to realize resource-saving web applications based on JavaScript. However, getting started with Node.js is much more difficult: The programmer must first program the web server functionality in JavaScript himself and learn the event-based concept of Node.js. For beginners and changers, therefore, a look at Harpoon.js should be interesting.
The big advantages of a unified programming language in frontend and backend are obvious:
  • The communication between front and backend is simplified because both sides can deal with the same data objects (here: JSON objects).
  • The developer does not need two separate programming languages to master, but can concentrate on one. This reduces errors and at the same time increases the productivity of the developer.
  • Functions of the backend (for example, the sorting of data objects) can be more easily transferred to the frontend, if necessary, without first having to translate the source code into the target language.

Code Examples

Node.js source code: var http = require("http");
http.createServer(function (request, response) {
  response.writeHead(200, {'Content-Type': 'text/plain'});
  response.end('Hello World');
}).listen(80);


Harpoon.js source code: function show() {
  write('Hello World');
}
The script is executed for every call - the dreamlike benchmark results do not stem from cached HTML output.

Benchmarks

Benchmark: Node.js vs. Harpoon.js
The results were determined with TaratuLoom. The benchmark tool is available free of charge to measure and compare the speed of your own Internet services.

System Requirements

A PC with .Net Framework 4.5 (or higher) is required. The software is compatible with the mono framework and has been successfully tested under Windows and Linux.