Building a Simple Kafka Client for the Web and Desktop

Building a Simple Kafka Client for the Web and Desktop

This article is about building a simple Kafka real-time web client using KafkaJS, Socket.io, and ElectronJS. * Follow a web development approach * Have a simple and elegant UI * Build a native desktop app ​ ![Kafka client UI](https://dzone.com/storage/temp/14085398-screenshot.png) ​ Being a sort of a de facto standard for most web development with a huge selection of frameworks and libraries, [node.js ](http://nodejs.org/)was chosen as the platform. The UI framework was [Bootstrap ](https://getbootstrap.com/)with a [Material theme](http://mdbootstrap.github.io/bootstrap-material-design/). Though some might argue that it is dated and has lesser capabilities, it fit the bill for the requirement in question. [ElectronJS ](http://electronjs.org/)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](https://www.npmjs.com/package/electron-packager), the executable code for the respective platform can be generated. 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.

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:

  • Follow a web development approach 
  • Have a simple and elegant UI 
  • Build a native desktop app

Kafka client UI

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

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

Hire Node.JS Developers | Skenix Infotech

We are providing robust Node.JS Development Services with expert Node.js Developers. Get affordable Node.JS Web Development services from Skenix Infotech.

How to Hire Node.js Developers And How Much Does It Cost?

A Guide to Hire Node.js Developers who can help you create fast and efficient web applications. Also, know how much does it cost to hire Node.js Developers.

Top Node.js Development Companies and Expert NodeJS Developers

A thoroughly researched list of top NodeJS development companies with ratings & reviews to help hire the best Node.JS developers who provide development services and solutions across the world. List of Leading Node.js development Service Providers...

How long does it take to develop/build an app?

This article covers A-Z about the mobile and web app development process and answers your question on how long does it take to develop/build an app.

Node Socket.io Example | How To Use Node With Socket.io

Node Socket.io Example | How To Use Node With Socket.io. Latest socket.io example. Build a chat app using Node.js and Socket.io, Express and MongoDB.