Re[29]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: alex_public  
Дата: 15.08.21 19:38
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Сначала ты утверждаешь, что де canvas это классный инструмент для UI, и приводишь целый пример с 3д тенями.


Только не canvas, а WebGL — если уж пытаешься цитировать, то делай это точно.

I>После этого выясняется, что на самом деле вы используете какую то 3d party библиотеку о которой ты не сказал ни слова.

I>Может тебе поработать над аргументацией?

Ну так эта библиотека и рисует GUI с помощью WebGL в одинокий canvas, из которого и состоит вся html страница (и страница тоже единственная естественно).

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

_>> Ты похоже сильно путаешь просто canvas и webgl.

I>Трудно понть о чем ты пишешь, если у тебя canvas и 3д тени как основной аргумент.
I>Ну вебгл, и что с того?
I>Само по себе это низкоуровневый движок рендеринга, без высокоуровневой либы ничего интересного не происходит.

Эммм, WebGL — это вообще не движок. ))) Это просто бальный доступ для твоего кода к видеокарте пользователя и всё. Слегка устаревший (где-то на уровне 2010-го года), но для целей GUI и этого даже много. Т.е. этот API просто позволяет твоему коду быть наравне (ну почти) с декстопным и всё. Ну а уж воспользуешься ты этой возможностью или нет — уже твой выбор...

И кстати, насчёт низкоуровневости. Мы используем в одном месте и непосредственно сам WebGL (да, те самые шейдеры, текстуры и т.п.), но не для прорисовки элементов GUI, а как раз для того, что ты называешь контентом (в нашем случае это специальным образом обработанное реалтаймовое видео). А уже поверх этого библиотечка рисует всякие свои всплывающие окошки с кнопками и т.п.

I>Тут есть большая разница

I>Скажем, от канваса требуется максимальный перформанс.
I>От либы UI требуется максимальная продуктивность специализированного разработчика. React тот же вполне себе справляется с этой задачей и не требует многих лет втыкания в QT, с++ и webql
I>Сам реакт или, скажем, только jsx можно без проблем использовать с другим рендерером, хоть в 2d, 3d графику или в *.txt или консольный скрин

А с этим всем разве кто-то спорил? ) Я этот ваш React никогда не видел, но вполне допускаю, что это очень удобная для разработчика GUI библиотека.

I>Вобщем, трудо понять, что ты хочешь сказать.


Вообще то я всего лишь отреагировал на твоё утверждение, что в браузере кроме как в DOM рендерить больше некуда. Как видишь есть куда, причём там ещё и в разы больше возможностей.

I>Я ведь обычный человек, а не какой нибудь vdimas, который, с его слов, всё знает лучше всех. Я опираюсь на твои слова — ты сказал, что де у фронтов есть супер-пупер-мега-классный инструмент — канвас, а они пользуются HTMl/CSS/DOM.

I>Странно, что вашим супер-пупер-мега-классным инструментом пользуется ничтожное количество людей.
I>Парадокс! И конечно же у тебя объяснение в том, что фронтенды они того, недалёкие, не знают своего щастя!

Да ладно бы просто не использовали. В конце концов работа с подобными API — это специфика разработчиков или GUI библиотек или игровых движков или каких-то особенных случаев (как у нас например). Но ведь судя по твоей цитате, вообще даже не знают о существование такой возможности!

Если по аналогии, то это как если бы разработчик под Винду в 2000-ых не знал бы о возможности отрисовки через DirectX.

I>>>Я напомню — MFC, Winforms, WPF и многие другие вобщем слились, хотя обладали очень крутыми возможностями. То есть, не в крутости дело.

_>>Угу, они все слились в пользу Qt, которая точно такая же, только кроссплатформенная. )))
I>Смешной аргумент. Сейчас 90% UI это бразерный на HTML/CSS/JS, а остальное примерно поравну делится межжу
I>1. джава
I>2. дотнет
I>3. всякие иос и макос придумки
I>и где то на грани статистической погрешности будут всякие QT

Web безусловно впереди, но совсем не из-за качества библиотек (тут скорее всё наоборот и мир фронтенда всегда был пугалом в остальном IT), а исключительно из-за другой (гораздо более удобной) схемы распространения и установки ПО. Собственно лично я сам являюсь живой демонстрацией этого. Однако не все приложения могут себе такое позволить, так что в определённых областях ещё долго будет необходим десктопный/мобильный GUI. И вот тут уже царит или вообще нечто самописное (могут позволить себе особо жирные конторы, т.к. там надо под каждую ОС отдельно писать) или же Qt. А все остальные как раз та самая статистическая погрешность... )))

I>Это значит, что вы занимаетесь узкоспециализированой работой, раз у вас не вожникают типичные для фронтенда задачи.


Просто слово фронтенд сейчас относят к любой веб-морде, будь то сайт-визитка или запускаемый в браузере CAD. Хотя это принципиально разные задачи, требующие абсолютно разных подходов. Заниматься украшательствами на сайтах — это действительно нормально. А вот заниматься таким же в приложениях...

I>>> А сколько времени надо, что бы новому кастомеру вообще все стили переделать?

_>>В теории мгновенно.
I>Это или понты, или ложь — ну не бывает мгновенного набора текста. Вам присылают желаемую картинку, а вы должны вписать все шрифты, цвета, отступы, итд и тд.

Ой, да не цепляйся ты так по глупому к мелочам, сам же от этого смешно выглядишь. Думаю всем очевидно, что забить значения в подготовленные поля — это в контексте разработки означает мгновенное изменение.

>>А на практике такого никогда не будет — мы не на аутсорсе и менять что-то по прихоти отдельного клиента не собираемся в принципе.

I>Аутсорс здесь ни при чем — кастомизация это форма продажи нашего продукта. Например, если продаёшь китайцам или японцам, для них придется постараться, или твой продукт никто из них не купит.

Тогда это скорее будет прихоть нашего специалиста по Китаю/Японии, а не клиента, да и то будет выполнена один раз в жизни. Самое забавное, что у меня тут даже есть такой специалист (точнее специалистка), но что-то по GUI от неё никаких советов пока не было. Пока в основном советы о том, что лучше дарить при встречах и т.п. )))

_>>Все контролы естественно размещаются автоматически и динамически. Т.е. я поверну телефон на 90 градусов и все они тут же автоматически перестроятся под оптимальный размер и позицию. Причём мне для этого ничего делать не надо. всё само. Вообще такие вещи являются нормой в GUI библиотеках уже десяток лет (в Qt всё было тоже самое) и только в мире веб-фронтенда такие простейшие и очевидные вещи до сих пор вызывают вопросы.

I>Это же очевидно — при изменении ориентации UI должен выглядеть так, как решил дизайнер, а не так, как считает либа.
I>И эти правила нужно описать.

Ты похоже или реально не знаешь как автоматически размещаются контролы во всех GUI библиотеках уже лет 15-20 или же просто придуриваешься. )))

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

I>Как все сложно то. А всех делов — описать xml-подобным языком элементы карточки и прописать стили. А вот дальше нужно смотреть ,как это хранить, т.к. взаимодействие с этой карточкой может иметь массу вариантов, в зависимости от придумки дизайнера. Нет взаимодействия — храним в обычном JSON в плоском виде. Отсюда ясно, что серилизация, десерилизация перед нами вообще не стоит — это тривиальная часть задачи, которую даже упоминать не стоит.

Я правильно понимаю, что ты предлагаешь не трансформировать данные в свои прикладные типы, а использовать в приложение то, что выплюнет xml парсер? Понятно, понятно... ))) Ну да ладно, пускай даже так, это же у нас не реальная архитектура, а умозрительный пример на тему GUI. Так вот, не вижу никаких проблем в визуализации при таких данных. Просто делаем цикл по всем элементам, в котором для каждого xml узла добавляем его прорисовку, в зависимости от значения атрибута "тип" (в большинстве случае в виде просто одного соответствующего контрола из библиотечки). Могу за 20 секунд накидать код прямо форуме. ))) И где обещанная "страшная" сложность задачи? )))

_>>Всё оно отлично прижилось (я естественно про WebGL, а не какие-то там DOM поделки, типа голой canvas). ) Просто доля настоящих приложений (но при этом работающих в браузере) пока что ничтожна по сравнению с бесчисленными сайтиками.

I> "доля ничтожна" означает "не прижился"
I>А вот html/css/dom именно что прижился, т.к. его сейчас по скромной оценке процентов 90. На него переводят даже САПР, офис, итд. И даже в Микрософте. Вот так!

Ну как бы и фронтендеры в целом тогда тоже не прижились на этой планете, потому как их на порядки меньше таксистов...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.