W
W
werymag2021-09-28 14:52:52
C++ / C#
werymag, 2021-09-28 14:52:52

C# language and desktop applications: choice of libraries, platform, interface creation tools?

Justifications for future claims
Я не профессиональный программист, я инженер-физик и 80% моего времени не связаны с программированием, поэтому мои знания в программировании могут быть ниже ожидаемого уровня в данной конференции

Ранее я активно работал в Delphi 10 и в целом меня всё устраивало, кроме атмосферы "Дефли мертв, Делфи скоро умрет, мы все умрем, всё плохо...", потому было решено постепенно переехать на другой, наиболее близкий у Delphi, язык, удобный для создания десктопных приложений и работы с данными (не обязательно в БД). Были написаны простейшие калькуляторы на C++, Java и C# после чего выбор пал на последний по очевидным причинам (дружелюбность, близость к Delphi, ориентированность на ООП). Освоив базовый синтаксис языка я попробовал приступить к созданию первых десктопных приложений и просто утонул в океане нюансов незнакомых мне ранее. Тут тебе и разны платформы (.NET Framework, .NET Core) и разные способы созданий интерфейса WinForm, WPF, UWP, и целая куча библиотек всех форм и видов на любые темы. 3D визуализация данных и создание 3Д моделей возможна как средствами wpf, так и Direct3D, OpenGl.
В архаичном делфи всё 3D практически сразу сводилось OpenGl, а графики к TChart, ну а далее всё по накатанной.

Now the crux of the matter (I ask for advice) is that I need to develop desktop applications for Windows in c # with a large number of windows for entering and visualizing data: two-dimensional graphs, three-dimensional spatial distributions, three-dimensional models. Working with DB. Launching and interacting with other applications (although I think it will be limited to text files only).
Therefore, I ask for advice from experienced developers - which of the variety of libraries, platforms, etc. suits me best.
So far, for obvious reasons, I chose the .NET Framework platform (Linux and mobile applications are not interesting) and for the WPF interface (visually much nicer than WinForm, and, judging by the comments, "not outdated like WinForm").
Further difficulties arose - as I understand it, WPF does not have Chart-a available in WinForm, and you either need to connect it through crutches, or use third-party libraries (of which there are many) - tell me which way is the most optimal? I need to draw a very wide variety of graphs and diagrams.
The second difficulty arose with 3D graphics (charts, models, etc.), at first I poked around in the possibilities of WPF, but I was upset by the inability to draw even a simple line (only through three-dimensional shapes) and, in general, a small number of possibilities, I decided to stop at the familiar OpenGl, but while reading the same portal, I came across comments like: "OpenGl in the .NET Framework is feee, there is a built-in Direct3D, so everything needs to be done on it." Do you think it is? I worked a lot with OpenGL, in general everything is convenient and understandable. Maybe there are other ways of 3D visualization that are even better and more convenient than those mentioned?
Well, in general, tell me - did I choose the right path for creating desktop applications, or maybe there are better and more convenient options? Provided that for me the key is precisely the friendliness of development and the available features (I would not want to spend a lot of time creating my own analogue of Chart), well, it's free.

Answer the question

In order to leave comments, you need to log in

3 answer(s)
H
Hemul GM, 2021-09-28
@HemulGM

Before all this, try FMX in Delphi. Where the cross-platform approach allows you to create 3D in many different ways by toggling flags. You can build a scene in design time and if you need to use a low-level approach, write and compile shaders and more. TChart and FMX adapted with big buns. Layered windows and 3D rendering even on top of the desktop with translucency.

Y
youngMaster, 2021-10-07
@youngMaster

Since you are not a professional programmer, then it makes no sense to learn new libraries in a new language, DirectX 3D instead of OpenGL will not give you anything but a headache in your case, as far as I understand, you use a maximum version 1.2 there? And in general, using Delphi 10, it is strange to hear words about deadness about a system that just received a new version yesterday.

A
Alexander, 2021-09-28
@avorsa

google
Blotch3D looks interesting right off the bat .
There are many libraries for plotting graphs.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question