Size: a a a

Сообщество разработчиков на Universal Windows Platform

2020 July 07

K

Katz in Сообщество разработчиков на Universal Windows Platform
Stanislav
не знаю, я xaml больше люблю, чем html+css, у меня от "пиксел перфект верстки" жопа сгорала на флексах
+
источник

K

Katz in Сообщество разработчиков на Universal Windows Platform
Stanislav
мне кажется для xaml-а нет норм инструмента рендеринга (первью) например
Есть такое, да
источник

K

Katz in Сообщество разработчиков на Universal Windows Platform
Но проблема в дизайнере, а не XAML. Не факт, что шарповый код оно будет хорошо рендерить.
источник

I

Igor in Сообщество разработчиков на Universal Windows Platform
Katz
Скажем, банальная кнопка
https://i.gyazo.com/1d23f9f257065dce1e24220cc20f3782.png

Ну смотри та же кнопка уже композируемый элемент.
Неплохой пример в Google Jetpack Compose

Surface > Box > ProvideTextStyle
И каждый из них точно такой же независимый компонент.
источник

K

Katz in Сообщество разработчиков на Universal Windows Platform
Igor
https://i.gyazo.com/1d23f9f257065dce1e24220cc20f3782.png

Ну смотри та же кнопка уже композируемый элемент.
Неплохой пример в Google Jetpack Compose

Surface > Box > ProvideTextStyle
И каждый из них точно такой же независимый компонент.
Вижу, но что я должен тут оценить?
Краткость кода? Или то, что оно в одном файле с код бихайндом?
источник

S

Stanislav in Сообщество разработчиков на Universal Windows Platform
Katz
Если сложность не в самом XML, а в разных XAML составляющих типа StateTrigger, Binding и т.д., то в едином языке все эти конструкции ведь тоже нужны будут. Возможно в другом виде. И их надо будет учить.
ну вот к стати, я топлю за авалония стили , т.е css подобные.
оставить параметры , которые характерны xaml, но задавать через селекторы куда круче выглядит, эдакий микс подход.
сами visualtrigger/statetrigger etc не сложно понять (как по мне), но часто приходиться ради простого ховера, тянуть простыню говна)
источник

I

Igor in Сообщество разработчиков на Universal Windows Platform
Katz
Вижу, но что я должен тут оценить?
Краткость кода? Или то, что оно в одном файле с код бихайндом?
Их можно использовать по отдельности, а можно собрать в кнопку.
И поведение всегда будет одинаковое, тк они зависят только от параметров (и есть мемозиция для оптимизации).
источник

I

Igor in Сообщество разработчиков на Universal Windows Platform
А из кнопок можно собрать tab-bar, а его вложить в page, а page в stack-history-application
Композиция одним словом.
источник

K

Katz in Сообщество разработчиков на Universal Windows Platform
Stanislav
ну вот к стати, я топлю за авалония стили , т.е css подобные.
оставить параметры , которые характерны xaml, но задавать через селекторы куда круче выглядит, эдакий микс подход.
сами visualtrigger/statetrigger etc не сложно понять (как по мне), но часто приходиться ради простого ховера, тянуть простыню говна)
Да, потому тоже присел на авалонию сейчас.
Но и у нее с этим проблема, на одних селекторах все не вытащить. И так же приходится тянуть простыню говна, только вместо State у тебя уже Pseudoclass.
источник

S

Stanislav in Сообщество разработчиков на Universal Windows Platform
Katz
Да, потому тоже присел на авалонию сейчас.
Но и у нее с этим проблема, на одних селекторах все не вытащить. И так же приходится тянуть простыню говна, только вместо State у тебя уже Pseudoclass.
В каком случае пришлось тащить, если не секрет ?
источник

K

Katz in Сообщество разработчиков на Universal Windows Platform
Stanislav
В каком случае пришлось тащить, если не секрет ?
Когда создаешь контрол с особым состоянием, который не можешь определить в селекторе через доступные свойства.
источник

I

Igor in Сообщество разработчиков на Universal Windows Platform
Igor
https://i.gyazo.com/1d23f9f257065dce1e24220cc20f3782.png

Ну смотри та же кнопка уже композируемый элемент.
Неплохой пример в Google Jetpack Compose

Surface > Box > ProvideTextStyle
И каждый из них точно такой же независимый компонент.
И опять так для работы с этим достаточно редактора кода.

Тот же Xaml требует отдельной поддержки в IDE и до недавнего времени тупо не работал в Rider.
И скорее всего до сих пор в VSCode.
источник

S

Stanislav in Сообщество разработчиков на Universal Windows Platform
Katz
Когда создаешь контрол с особым состоянием, который не можешь определить в селекторе через доступные свойства.
Понял
источник

K

Katz in Сообщество разработчиков на Universal Windows Platform
Igor
Их можно использовать по отдельности, а можно собрать в кнопку.
И поведение всегда будет одинаковое, тк они зависят только от параметров (и есть мемозиция для оптимизации).
Скажем, вот типичный шаблон кнопки в XAML фреймфорке.
<Button>
   <Button.Template>
       <Border>
           <ContentPresenter/>
       </>
   </>
</>
источник

K

Katz in Сообщество разработчиков на Universal Windows Platform
Где ContentPresenter - атомарный контрол, который просто рендерит тот контент, который в него положили.
Border - атомарный контрол для бекграунда, рамки, округлых углов.
Button - состоит из первых двух + события на Click и прочее кнопко-специфичное.
источник

K

Katz in Сообщество разработчиков на Universal Windows Platform
И из таких кнопок можно так же собрать  tab-bar
источник

K

Katz in Сообщество разработчиков на Universal Windows Platform
А лучше через ItemsRepeater или аналог, с которым тебе не надо будет напрямую модифицировать список Children контейнера этого tab-bar
источник

K

Katz in Сообщество разработчиков на Universal Windows Platform
Igor
И опять так для работы с этим достаточно редактора кода.

Тот же Xaml требует отдельной поддержки в IDE и до недавнего времени тупо не работал в Rider.
И скорее всего до сих пор в VSCode.
Это да. Не везде хорошо бывает.
источник

K

Katz in Сообщество разработчиков на Universal Windows Platform
Но если в VS с XAML особо проблем нет в поддержке редактора, то превьювер проблемный в принципе (и C#/F# верстка не спасет).
источник

I

Igor in Сообщество разработчиков на Universal Windows Platform
По этому в Flutter / React-Native и есть live-reload
Которые при этом состояние не сбрасывает, а когда это у тебя декларативный UI это гораздо проще, тк стейт в одном месте, а не размазан по графу виджетов.
источник