JavaScript Shell HTML Dockerfile
Switch branches/tags
Nothing to show
Clone or download

qewd: Quick and Easy Web Developer

Rob Tweed
24 February 2016, M/Gateway Developments Ltd

Twitter: @rtweed

Google Group for discussions, support, advice etc:

Thanks to Ward De Backer for debugging assistance and functionality suggestions

What is QEWD?

This is best answered by reading this article on QEWD

In summary: QEWD is a Node.js-based platform for developing and running interactive browser-based applications and Web/REST services.

QEWD makes use of the ewd-qoper8 module to provide an isolated run-time environment for each of your message/request handler functions, meaning that your JavaScript handler functions can use synchronous, blocking APIs if you wish / prefer.

QEWD includes an embedded persistent JSON database and session store/cache using Global Storage provided by either the Redis, GT.M or Cache databases.

Interactive QEWD applications can be developed using any client-side JavaScript framework (eg Angular, React, etc).

A single instance of QEWD can simultaneously support multiple browser-based applications and Web/REST services.

QEWD uses Express to provide its outward-facing HTTP(S) interface, and to provide its outward-facing Web-socket interface.


You can install QEWD.js by typing:

   npm install qewd

However, you'll need to then set up the run-time environment manually.

Simpler options are:

  • If you're starting from a "clean slate", you should take a look at the pre-built installer scripts for Linux and Raspberry Pi systems.

  • If you've already installed Node.js, first create a directory to act as the "root" directory for QEWD, eg:


Then do the following:

    cd ~/qewdjs   # or whatever your 'root' directory is
    npm install

This will install QEWD using NPM as before, but then allows you to run a setup script:

    npm run setup

Answer the questions it ask you, and it will create a working run-time environment for you.

###Note: this setup script will NOT install one of the databases used by QEWD (eg GT.M, YottaDB, Cache or Redis). You'll need to do this manually. If you want to use Redis, QEWD expects a default installation, listening on port 6379.

For further details on installing and configuring QEWD.js, see this presentation slide deck.

Learning / Using QEWD

See the free online training course

  • Parts 1 to 3 provide background to the core modules and concepts used by QEWD
  • Parts 4 onwards focus on QEWD


Copyright (c) 2016 M/Gateway Developments Ltd,
Reigate, Surrey UK.
All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at                           

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and
limitations under the License.