Войти
ПрограммированиеФорумГрафика

Рендер GUI (5 стр)

Страницы: 1 2 3 4 5 6 Следующая »
#60
23:26, 6 фев. 2019

Che@ter
> Да, только программист. Дизигнеры выдают скетчи и рисуют в своих фотошопах, а
> реализация интерфейса - это только ответственность разработчика приложения,
> т.е. программиста.
Нет. Точнее далеко не всегда. Если UI на HTML, то программист тут нафиг не нужен. Для XAML есть Blend.
Кроме того есть специализация в самом клане программистов. Есть отдельные UI (фронтенд) прогеры, которым нафиг не упёрлось конструировать интерфейс на С++. Для игропрома более вероятно для UI будет свой редактор и программист им точно не будет заниматься.

Che@ter
> А зачем? Он все равно не сможет заставить этот интерфейс работать. Все равно
> придется программисту это делать. Потом он будет адски ругаться на реализацию
> этого "не-программиста".
Опять с чего бы? Взять тот же HTML + JS для интерфейса в играх. Задача программиста платформы предоставить какое-то игровое API для JS, дальше он не нужен, интерфейс любой верстальщик сделает. И сделает лучше, чем если им сам программист будет заниматься.

Che@ter
> Предполагал такой вариант:
...
> В таком виде количество строк почти одинаковое. На плюсах тоже можно в одну
> строчку все написать.
Ответил выше.

Che@ter
> Иерархии чего? Ты на языке программирования так же можешь описать эту самую
> иерархию:
Веб страницу открой. Если иерархию кодом описывать, то его просто неимоверно раздувает. Посмотри сколько объектов в иерархии страниц. Многие из них нужны просто чтобы позиционировать элементы в нужных местах на странице. Ты же не полагаешь, что координаты всех контролов ты просто в коде числами задашь?

Che@ter
> когда в декларативном виде можно только скрыть не нужный элемент, и то уже
> после создания.
нет, зависит от возможностей языка. Можно делать несколько представлений и в рантайме выбирать нужно в зависимости от каких-то условий. Опять же в декларативном виде.


#61
1:14, 7 фев. 2019

Окно - это локация игры.
Курсор - это персонаж игрока.
Текстовые поля - заполняют инвентарь персонажа.

Закрыл окно - и в движок передаётся "статистика" "персонажа" (выбранные чекбоксы, текст и т.д.)

GUI - игра.
Эту игру может выполнить код VM от скриптовой подсистемы движка.

#62
(Правка: 2:06) 2:01, 7 фев. 2019

Мизраэль
> компилятор только синтаксис валидирует, чего ты там понаписал ему пофиг.
статическая типизация? static_assert? не, не слышал

> не обязательно. Верстальщики никак не программисты.
В большинстве случаев эти верстальщики и js скрипты подключают. Погугли требования к верстальщикам. Почти все должны в javascript + всякие jquery. Не программисты говоришь? Верстальщик по твоему не сможет написать:

var button1 = new Button();
button1.Caption = "OK";
button1.Position = ...
button1.Size = ...
panel1.Controls.Add(button1);
?

> на шарпе это будет примерно так:
На шарпе это элементарно можно оформить вот так:

Button(
    Position: Vec(10, 10),
    Size    : Vec(20, 80),
    Childs  : Controls(
        StackPanel(
            Image(
                Width : 20,
                Height: 20,
                Source: "Facepalm.jpg"
            ),
            TextBlock(
                FontFamily: "Arial",
                Text: "OK"
            )
        )
    )
);
Что читается уже ничуть не хуже чем:
<Button Position="10, 10" Size="20, 80">
   <StackPanel>
    <Image Source="some.jpg" Width="20" Height="20" />
    <TextBlock FontFamily="Arial" ...>My text here</TextBlock>
  </StackPanel>
</Button>

> Ты просто похоже интерфейсы сложнее пары кнопок не рисовал.
Ты просто привык писать бойлерплейт код, и даже не подозреваешь, что его можно красиво оформить, я тебя понял.

> существование HTML, XAML, QML, XML формы для андроида
HTML - нормально, к нему претензий нет (но там другие причины). Пока XAML делается в редакторе - к нему претензий нет. Kогда XAML на 100% набивают руками - это уже звоночек. Но вот когда начинают свой xml парсер прикручивать, чтобы сделать кастомный UI - это уже клиника.
Ну а то, что миллионы хомячков набивают XAML ручками - не означает, что XAML действительно удобный инструмент для набивания его руками.

#63
2:28, 7 фев. 2019

Мизраэль

Widget build(BuildContext context) =>
  Center(child:
    Column(children: [
      Text('Hello, World!'),
      Icon(Icons.star, color: Colors.green),
    ])
  )

Это, гм, новейшая разработка гугла для создания кросс-платформенного мобильного gui...

Типа, история завершила цикл и теперь опять в моде всё делать к коде без внешних описаний.

#64
2:40, 7 фев. 2019

nbkolchin
Это хуже чем xaml.
Зачем все эти =>, child, children?
Они там упоролись в своих гуглах.

#65
2:49, 7 фев. 2019

gamedevfor
> child, children
child - единственное число
children - множественное
Вроде всё логично.

> эти =>
Например чтобы можно было OnDemand создавать UI.

#66
3:04, 7 фев. 2019

MrShoor
Сами они не могут распарсить где там child, а где children?
А головной боли следить за этим в ручном режиме прибавится значительно.

#67
3:05, 7 фев. 2019

А в чем проблема иметь обе опции?
Какой-то странный спор получается...

#68
3:16, 7 фев. 2019

gamedevfor
> А головной боли следить за этим
А зачем за этим следить?

#69
3:28, 7 фев. 2019

MrShoor
>А зачем за этим следить?

Потому что если забудешь где то указать или поменять то формат будет не валиден - привет UB.

#70
4:36, 7 фев. 2019

gamedevfor
> Потому что если забудешь где то указать или поменять то формат будет не валиден - привет UB.
Это язык со строгой статической типизацией. Если забудешь указать, а указать надо обязательно -> не скомпилируется и выдаст ошибку. Если поменяешь формат, и попытаешься скормить не то -> не скомпилируется и выдаст ошибку.
А нормальная IDE имеет автокомплит, и при наборе chi уже выдаст тебе child либо children в зависимости от того, какой из параметров нужен.

#71
11:06, 7 фев. 2019

MrShoor
> На шарпе это элементарно можно оформить вот так:
Ты сейчас пишешь на императивном языке в декларативном стиле. Ну и чего ты доказать хочешь? Что можно веб на ассемблере верстать? Так ясно что можно, только тебя с работы попрут с "волчьим билетом" за такое. Я понимаю, если бы ты много интерфейсов разрабатывал на разных технологиях, и теперь выдавал своё оценочное мнение о них. Но ты же только по плюсам упоролся и уверен, что другие языки не нужны :D
Я в работе постоянно использую 9 языков (C++, python, C#, VB.NET, HTML, XAML, JS, ISBL, SQL), т.е. прям чуть ли не каждый день мне приходится на всех писать. У меня никогда не возникало дебильных идей забацать UI на С++ или бэкенд на JS. Я знаю что можно, но нахрена?
Спорить дальше не стану, подтягивай свои скилы.

#72
11:44, 7 фев. 2019

Мизраэль
> Но ты же только по плюсам упоролся
С чего ты взял то?

> использую 9 языков
> HTML, XAML
Так ты программист или верстальщик? Ты определись. А то ты сначала утверждаешь, что программисты не верстают интерфейс, а потом бац, и ты постоянно используешь языки разметки. :)

> У меня никогда не возникало дебильных идей забацать UI на С++ или бэкенд на JS.
> Я знаю что можно, но нахрена?
А потому что ты так и не понял суть, которую до тебя тут пытаются донести. Еще раз для одаренных: если ты пишешь весь код на плюсах, то велосипедить свой аналог xaml, чтобы потом его программисты ручками набивали - критинизм.

#73
11:47, 7 фев. 2019

Мизраэль
> подтягивай свои скилы.

сделай ему больно :)

#74
12:01, 7 фев. 2019

MrShoor
> Так ты программист или верстальщик?
Я программист широкого профиля.

MrShoor
> А то ты сначала утверждаешь, что программисты не верстают интерфейс, а потом
> бац, и ты постоянно используешь языки разметки. :)
Интерфейсом должны заниматься дизайнеры, а не программисты.

MrShoor
> Еще раз для одаренных: если ты пишешь весь код на плюсах, то велосипедить свой
> аналог xaml, чтобы потом его программисты ручками набивали - критинизм.
Если ты пишешь ВЕСЬ код, значит ты программист одиночка, можешь на чём угодно писать. В компаниях обычно делят ответственность и интерфейсами там занимаются отдельные люди и это не программисты, а максимум верстальщики, а то и вообще просто дизайнеры.

Страницы: 1 2 3 4 5 6 Следующая »
ПрограммированиеФорумГрафика