N
N
Nikolai2020-02-01 12:34:36
JavaScript
Nikolai, 2020-02-01 12:34:36

Which technology to choose for a mixed editor?

I want to write an application like this:

Interface example
5e3532d19113e080161692.png

On the left is a toolbar from which you can drag and drop components onto the workspace.
In principle, the general idea should be approximately clear from the picture: many containers can be created on the field, and different content can be placed in them. Bottom right - a window that is initially invisible, but appears when you click on the orange button with a question mark.

From the non-obvious - the structure of the container is not known in advance. That is, the user should be able to place components inside, for example, like this:
Example
5e353de052c09060631393.png

Ideally, these text blocks should be "floating" - for example, so that you can resize with the mouse and move the bottom block to the side, and the text will shrink / wrap.
In addition, it is desirable (but not necessary) to be able to place a text block above the picture (blocks with the inscriptions TRUE, CIRCLE) in order to add some captions directly to the right place in the picture without the need to redraw it.

At the same time, it will still be necessary to implement the saving of all text and images in the database in order to backup records.

UPD. I forgot to write right away that the possibility of approaching / moving away is very desirable.

Main motivation:
1) Get rid of the limitations of the linear structure of text editors and their sheet size
2) Making notes more visual - as if you have a detective board with suspects, clues and red strings indicating the connection between all these things
3) Programming practice. As a result, you should get a kind of mindmap editor, which will implement functionality that is not available in existing editors.

Of the candidates for the role of technology, only Wpf and Electron come to mind. Performance and memory size are not important (although of course if a map of 100 blocks takes up 10GB of RAM and moves with lags of 5 seconds, then it is important). In Wpf, I know everything is drawn very quickly and you can make fashionable custom controls, but this is incomparably more difficult than doing similar ones using html and css. .Net has convenient tools for working with the database and I know C# well, but the main implementation difficulty here lies with the interface, so this is not the main criterion, I can look at JS for this if the interface part will be made noticeably easier this way.

So the question turns out to be: on what basis is it easier and more convenient to do such a task as a whole?
I can try to write Hello world on this and that, but no matter how the first impression is deceptive. Therefore, it is interesting to listen to those who had experience in creating something like this and can objectively advise. Maybe even some other technologies (except for C ++ and Qt, it is paid).

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question