node.js uses an event-loop model which is not really a good fit with the current App Engine design.
Also you might want to check out ApeJS. A little framework I wrote similar to AppengineJS but more minimalist.
Tornado can run on app engine and is similar to node.js but using python, and has a nice yield approach too. But there are limitations with tornado’s use on app engine that might defeat the object of using it for your project. See tornado on github for more info
I use both but node.js with connect middelware and express.js to make node easier to use for simple web apps.
Now the best option is to use Google Compute Engine and Datastore > link here
You can use Google Compute Engine to host your node.js app and use google-api-nodejs-client to connect to the datastore:
- You need to create a project in Google API Console, and activate Compute Engine service for it
- You have to enable Google Cloud Datastore API (see link above)
- You need to set your dataset-id (same identifier as your Google Cloud Project ID).
- You need to be connected to a Compute Engine instance with both the datastore and userinfo.email scopes (node.js support for certificate-based service accounts is not yet implemented).
- You need a working node.js environment in your Compute Engine machine.
- npm install google-api-nodejs-client in your administration command-line tool
And you should be ready to go
While not the same as pure app engine (eg. manual scaling and currently in alpha status), this is now possible using Appengine Managed
- Appengine NodeJS Quickstart project
- appengine-nodejs library
They also announced a Node.JS library for working with the google cloud
- gcloud-node library