Задать вопрос
Kakeru
@Kakeru

Как происходит визуализация интерфейса декстопных приложений?

Не понимаю, программирование это написание кода, так как делается визуальная часть приложений? Так же как и в вебе?
  • Вопрос задан
  • 222 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
@Mercury13
Программист на «си с крестами» и не только
УРОВЕНЬ 1. ПРОГРАММНОЕ РИСОВАНИЕ. В экстремальном случае — программист сам рисует элементы управления, как на Canvas’е. Его опустим. Так, например, поступают в разработке игр, когда элементов мало, и они должны быть предельно стилизованы. Но и в таком случае лучше делать библиотеку объектов.

Ещё прямым рисованием часто пользовались в текстовом режиме, особенно без мыши, где постоянно были какие-то нюансы, мешавшие сделать свою библиотеку — например, потому, что лучше было представить программу как одно большое меню, а не как кучу маленьких пунктов.

УРОВЕНЬ 2. ОБЪЕКТНАЯ БИБЛИОТЕКА. Часто ОС и/или система программирования имеют свою библиотеку элементов управления. В таком случае получается что-то типа.
program HomeMadeForm;

uses
  Vcl.Forms, Vcl.StdCtrls;

{$R *.res}

var
  fm : TForm;
  bt : TButton;

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;

  fm := TForm.Create(nil);
  fm.Width := 400;
  fm.Height := 200;
  fm.Caption := 'Test';

  bt := TButton.Create(fm);
  bt.Parent := fm;
  bt.Caption := 'Go!';
  bt.Left := 150;
  bt.Top := 80;

  fm.ShowModal;
  fm.Free;
end.


УРОВЕНЬ 3. ВИЗУАЛЬНОЕ РИСОВАНИЕ. Наконец, существуют механизмы рисования форм: Qt Widgets, Qt Quick, VCL, WxWidgets, Windows Forms… В таком случае программист просто рисует форму, а про механизмы конструирования-позиционирования не думает. Создал форму, на неё поставил кнопку, к кнопке приделал событие OnClick — и вот уже при нажатии кнопки вызывается событие.
5b006b57a3c2f727637474.png

Существуют и HTML-подобные механизмы. Например, элементы HTML есть в Apache Cordova, обеих разновидностях Qt. Используют их, потому как удобно, но механизмы разбора HTML довольно сложны и потому не везде есть.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
SilenceOfWinter
@SilenceOfWinter
та еще зажигалка...
Грубо говоря да, есть даже смежные среды разработки вроде Apache Cordova:
Apache Cordova позволяет программистам создавать приложения для мобильных устройств с помощью CSS3, HTML5 и JavaScript, вместо того, чтобы использовать конкретные платформы API, такие как Android, IOS или Windows Phone. Это обеспечивается за счет преобразования из CSS, HTML и JavaScript в код, который любая платформа воспринимает как элемент web.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы