You can completely avoid using web3.js and interact with your Ethereum node using JSON-RPC. It is a stateless, lightweight RPC protocol. Etherum JSON-RPC exposes various APIs that can be used within the same process, over sockets, over HTTP, or in various message passing environments.
These APIs are commonly used to interact with blockchain where JavaScript is not supported. In this recipe, you will learn to communicate with Ethereum using various JSON-RPC commands.