Hyper IDE, a Web based IDE

16 Feb 2022 - thomas

Accessing your IDE over the web has huge advantages, such as for instance being able to edit your code from your phone or tablet if you’re in a tight spot and need to edit code and you don’t have access to your development machine. Below is a screenshot of Hyper IDE.

Hyper IDE screenshot

Where Hyper IDE truly shines though is where it creates code automatically for you, wrapping your existing database into HTTP CRUD endpoints, by simply clicking a button. Below is a screenshot of this process. The process is really simple; Choose a database, apply authorisation settings, configure the crudification process, and click a button. Two seconds later you’ve got thousands of lines of code automatically generated for you, wrapping every single CRUD operation into an HTTP endpoint for you. The process is 100% automatic, but still allows you to apply a lot of different configuration overrides, such as whether or not to publish SignalR messages as your write endpoints are invoked, log deletion of items, create joins towards referenced tables, etc, etc, etc.

Crudifying your database

Hyper IDE also creates a frontend automatically for you through a similar process.

Create HTTP endpoints using SQL

Another one of my favourite features with Hyper IDE is its ability to automatically wrap your SQL into an HTTP endpoint, where you supply some SQL, authorisation settings, a URL, for then to click a button - At which point Hyper IDE automatically wraps your SQL into a secure HTTP endpoint, allowing you to immediately consume the endpoint from for instance your frontend Angular or React code. This process also allows you to create parameters for your endpoint that you can reference inside of your SQL. Below is a screenshot.

Creating HTTP endpoints with SQL

The integrated SQL editor also gives you syntax highlighting and autocomplete on tables and columns.

Invoking your HTTP endpoints from your IDE

When you no longer separate your runtime environment from your development environment, some really interesting things becomes possible. One of my favourites here is the ability to immediately execute your HTTP endpoints, without ever having to leave your IDE. When you’ve edited your code, you can save your file, click the “Invoke” button, and immediately test your code without ever leaving your IDE. Below is a screenshot.

Invoking your HTTP endpoint

The above feature gives you instant feedback on issues, resulting in a much faster development process, where it becomes much easier to track down and fix bugs. Think “Postman on steroids” here to understand the concept. Watch the video below for a demonstration of how Hyper IDE works.

Macros

Hyper IDE and Magic of course is about automation, automation, and automation. The idea is to automatically generate as much of your code as possible, without requiring human interference what so ever. One of its expressions is Hyper IDE’s macro support. A macro is basically a micro process that somehow modifies, and/or creates code for you automatically. This is only possible due to Hyperlambda’s structure, allowing you to parametrise any snippet of Hyperlambda dynamically, for then to execute your snippet with your arguments. To understand the idea realise that the following screenshot creates an upload file HTTP endpoint for you automatically. All you have to do is to choose its name/URL, what module it should be associated with, and who’s allowed to invoke it.

Macros in Hyper IDE

After having clicked the “Execute” button above your module immediately has an upload file endpoint, you can consume instantly from your frontend code somehow to allow for uploading files and images to your server. Hyper IDE contains many similar macros for documenting your code, generating download file endpoints, ensuring your module’s database exists, etc, etc, etc. Everything is about increasing developer productivity while eliminating bugs by having the computer generate your code automatically.

Instant DevOps

The idea of merging your runtime environment and your development environment results in something we refer to as “instant DevOps”. With traditional DevOps you typically have to wait for some pipeline to finish its job, deployment processes to do its job, and compilation to occur. With “Instant DevOps” this is no longer the case, since you edit your file, save it, and immediately test your code withing seconds. This results in a shorter amount of time between the point where you potentially introduce a bug, and the point where you experience the bug. Since we know for a fact that the amount of resources required to fix a bug increases exponentially with the amount of time before you find the bug, this results in an instant feedback loop, making it much easier for you to find bugs than if you were using a traditional DevOps process.

Keyboard shortcuts

If your code editor has focus you can use the following keyboard shortcuts.

However, we are expanding upon our list of keyboard shortcuts. Click the “Shortkeys” button to see the complete list of keyboard shortcuts Hyper IDE supports.