Introducing node-firebird-driver-wire

Posted on in firebird, nodejs, javascript, typescript

I am pleased to announce the first beta release of node-firebird-driver-wire, currently available as version 0.0.1-beta.1.

This new driver implements the same high-level interface as node-firebird-driver-native, but with a different architecture: it speaks the Firebird wire protocol directly and does not depend on native code or the fbclient library.

That makes it a good option when you want the familiar Node.js Firebird API without dealing with native module builds, client library deployment, or platform-specific setup.

Why this driver exists

node-firebird-driver-native continues to be a solid choice when using the native Firebird client library is not a problem. However, there are scenarios where a pure JavaScript implementation is more convenient:

  • Simpler installation and deployment.
  • No dependency on fbclient.
  • No native compilation step.
  • Easier usage in environments where shipping native binaries is undesirable.

The goal of node-firebird-driver-wire is to offer that convenience while keeping compatibility with the interface already used by node-firebird-driver-native.

Interface compatibility

One of the main design goals of this project is API compatibility.

If your application is already structured around the interfaces implemented by node-firebird-driver-native, adopting the wire driver should require minimal changes in your application code. This makes it easier to choose the driver that best fits your deployment model.

Current status

This is an early beta release: 0.0.1-beta.1.

It should be considered experimental and is intended for evaluation, early testing, and feedback. At this stage, changes may still happen as the driver matures.

If you want a Firebird driver for Node.js with the same programming model as node-firebird-driver-native but without native dependencies, please give node-firebird-driver-wire a try.