Node.kt


#1

It's early days, but I wanted to put this out there to see if there was any interest. I've been working on a web framework that is based on some of the ideas from Node.js and Express. You can find more details here:

http://jonninja.github.com/node.kt/

Having worked on a number of Node.js projects, I’d found some really excellent ideas, but Javascript imposes some pretty awful limitations. Node.kt is an attempt to provide the best of Node.js with a modern, type-safe language. It’s built on other core Java libraries (ie. Netty, HttpClient, etc.), and wraps them in as simple an API as possible.

There is obviously so much to do. For one, I would love to have a native kotlin template engine, similar to Play Framework’s Scala template engine - currently, Velocity and Freemarker are available instead. Integrating a build system (as described in the runtime section) is also a goal. But for now, I’ve been mostly focused on core middleware functionality (sessions, cookies, etc.).

I’d love to know if anyone else here sees this as a useful project, and if there are any other ideas for what direction to go. Thanks!


#2

There is also a Kotlin plugin for vert.x, see http://java.dzone.com/articles/kotlin-action-wrapping-vertx But it is more fun and much more of a learning experience to build your own stuff.I Know ... :-).

– Oliver


#3

Awesome. I have one feature request: how about websocket support :)


#4

This is certainly very interesting. Keep up the good work!


#5

WebSocket support is a priority.


#6

Awesome. I am planning to integrate http://autobahn.ws/android websocket support for Android Rivers and having a small accessible websocket server would be amazing.


#7

This is interesting. I have not yet tried kotlin but I am planning on doing so soon. I've been thinking about alternatives to node.js and like this direction.


#8

So glad to hear that others have had the same thinking about Node. So far, Kotlin has been great and seems a good fit for this kind of project.


#9

Very cool stuff! Thaks for sharing.


#10

Jon

I’m ready to start testing/plkaying with node.kt

What I want to do is create a small set of restful web services urls (all GETs for now)
Pass some query parameters
sanitize input
run a url to a private service (which emits xml)
transform the xml
emit other xml or json or javaScript as the needs dictate

I will use the jdom2 java xml library (which I have tested with kotlin)

We will not stress this httpd server much for many months.

Is node.kt up to this. We will eventually run this on a ec2 instance.

Thanks

eric

eric at eric f palmer   dot   com


#11

Hey Eric,

I think so. Since most of it is an API layer over Netty (which is very mature), I don’t think there’s anything that should be a problem. If there are any issues, I’ll help out - it will be so useful to get feedback on a real project.

What you describe is exactly the kind of project I’d had in mind for Node.kt. It will also help refine and build out some XML support, since it sounds like that will be an important component.


#12

Jon

Eventaully we will use this to frontend (proxy) a  open source xml database eXist-db. I will certainly take you up on the  offer for advise and to answer questions. thanks
Eric P