Journey to Build a Simple and Centralized Restful Editor [Part 1]

app 28 Agt 2022

In this modern era where everything is possible by a single click action, I always thinking about our open-source community will eventually bring a solution to every problems in the world.

It is the common problem when we develop backend app with Restful API, we use Postman to do API tests. But, it's been a curious moment and tend to be a suspicious for me when using a free service that stores our data on their server.

Because in a perspective of developer or security people, that could be another "issue", for example where the data is being compromised or used by unknown people or organization, even if the data is not really important or informational but still, it is a data that have a meaning.

So i tried insomnia...

This restful editor developed by people at Kong, while has a different concept about how it works, the UI and features are amazing, currently it supports many form of request method, such as GraphQL and gRPC.

Insomnia Restful Tool

I like insomnia, a lot, but when it comes to the flexibility of the collaborations I think something is missing in there, and I want to fix it.

There come an Idea

This maybe not so interesting topic when every time you see something that already built and available as an open source (or often as a service?), you have a different idea which also usually coming from another perspective.

So (here we go again) I got an idea for writing a simple, light and Synchronized restful editor, it might sound too promising but I know my team will be use it once the prototype is done (at least, finger-crossed).

Tauri 1.0

Well, some people at "Rust side" mostly know this tool as a new child for building a small, light and cross platform app for desktop application. They are focusing this project as an alternative comparing to the Electron, which today backing nearly every desktop application, it's an easy choice when you want a cross platform app with support of web technologies.

Tauri Official Website
GitHub - tauri-apps/tauri: Build smaller, faster, and more secure desktop applications with a web frontend.
Build smaller, faster, and more secure desktop applications with a web frontend. - GitHub - tauri-apps/tauri: Build smaller, faster, and more secure desktop applications with a web frontend.

What makes me exited is Tauri reached the stable version (1.0) and long before that release, I was playing with their api, and have a good experience as far as I know, also it has a very promising benefit which I really look into: The App Size.

Tauri works with the same web tehnology as we already know, basically it connects the Tao as cross-platform application window creation and Wry, a lightweight and cross-platform webview library built with Rust. Yeah, you got it? both combined will sound like "Tao ree" which became the name of the project (Tauri).

GitHub - tauri-apps/tao: The TAO of cross-platform windowing. A library in Rust built for Tauri.
The TAO of cross-platform windowing. A library in Rust built for Tauri. - GitHub - tauri-apps/tao: The TAO of cross-platform windowing. A library in Rust built for Tauri.
GitHub - tauri-apps/wry: Cross-platform WebView library in Rust for Tauri.
Cross-platform WebView library in Rust for Tauri. Contribute to tauri-apps/wry development by creating an account on GitHub.

So, I decided to choose that for this new project.

Hadeh App

So, for a few days (after work absolutely) I try to build the interface, web interface and some basic feature to make the invocation happens in the backend for calling the HTTP request, and that works.

The interface very much insipred from the Insomnia app, which has a 3 layout, the list collection, parameter editor and result.

First Layout Hadeh App

The progress is surprisingly seamless, as this project is using the Vue for the application frontend, I just have to do some research for providing a Vue component and minimum effort to understand Rust language, while doing some backend operation (e.g. HTTP call).

See ya on part II...

Tags

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.