Kafka is an open-source platform that is used for event distribution, logging, and streaming. Distributions from Confluent and other vendors provide a web UI for broker management and client tasks, while those from Apache Kafka provide just command-line tools. Also, for most of the requirements, a simple client that publishes and consumes events or messages from the topic is sufficient. The main objectives of building such a client were:
Being a sort of a de facto standard for most web development with a huge selection of frameworks and libraries, node.js was chosen as the platform. The UI framework was Bootstrap with a Material theme. Though some might argue that it is dated and has lesser capabilities, it fit the bill for the requirement in question. ElectronJS was used to provide the native desktop app capabilities. It has a flat learning curve with usually only a main file that it generates with functionality to manage the window being displayed. The Kafka client-specific code can be in separate files and can be included in this file. Using utilities such as electron packager, the executable code for the respective platform can be generated.
#cloud #tutorial #web development #kafka #socket.io #node js development