Re[6]: Очень здорово
От: Kolesiki  
Дата: 22.01.17 10:39
Оценка:
Здравствуйте, licedey, Вы писали:

L>Мы говорим про XAML, с иерархичной структурой и десятком тегов. а конкретнее я имел ввиду layout — быстрее нарисовать, чем прописывать эти Width, Height, вложенность итд.


Слишком узкий взгляд на вещи. Разметка — это не только ГДЕ, но и КАК. Практически невозможно объяснить XAML'у при помощи карандаша, что у тебя не грид, а док-панель и что нарисованная кнопка должна выравниваться вправо. Короче, "визуальные рисовалки" — глупости для детей, в мире декларативного UI они не нужны. Тем более, что XAML-код пишется вообще ненапряжно, а потом только дополняется элементами.
Re[5]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
От: Kolesiki  
Дата: 22.01.17 11:10
Оценка: 4 (2)
Здравствуйте, VladD2, Вы писали:

VD>Но тут, мне кажется, не важно делают они или нет.


Важно. Если бы MS активно догфудилась, то у них было бы меньше вольностей выкидывать технологии — "совместимость" и всё такое.
Но в этом и прикол, что MS знает, какой отстой они выкатили и не торопится складывать яйца в корзину "WPF"! И я с ними согласен — WPF умрёт или очень сильно переродится, урезав свой дикий функционал.

VD> Важно является ил WPF основной платформой для создания настольного GUI или нет. Вроде как является.


На мой взгляд, здесь политика M$ — "выстрел дробью": не ставить на одну технологию (потому что некому её делать идеальной), а набрать десяток макак в каждую команду и каждая команда лепит свой лунапарк — какой из них юзеры примут/полюбят, такой и раскручивать. Разумеется, не бросив серьёзные силы на один проект, невозможно его спроектировать-реализовать-внедрить хорошо. Поэтому мы сейчас и имеем в гуях "как бы устаревший WinWorms" (клянусь, вы его ещё лет 10 хоронить будете!), "как бы новый WPF" (дичайший overengineering + тормоза), но даже при наличии WPF, M$ дёргается в сторону Web'а — мол, "межплатформенно" и всё такое. То есть опять как кисейная барышня, MS не может чётко ответить: да, у нас есть технология XYZ, мы её активно развиваем и это будет наша главная технология для задач ABC.

Такое ощущение, что когда 20 лет назад лошары-большие-шишки прощёлкали "интернеты", им таких вставили, что они теперь вцепились в Web мёртвой хваткой и всячески стараются копировать оттуда любые тенденции. Груздь-доска ситуации в том, что в вебе MS — никто, а значит надо играть на своём поле — декстоп! (который дилетанты и кликуши хоронят последние 10 лет и ещё лет 50 не похоронят) Поэтому MS-ту нужна одна чёткая, надёжная, грамотно спроектированная технология ГУЁв без легаси дерьма типа COM. Такой у них нет. Студия — тоже напрочь состоит из протухших COM-костылей (и это на .NET-е!!). Так что сейчас MS в состоянии паровоза на распутье, а позади него дышит мёртвым холодом ядерный локомотив других, более умных компаний. Вот такие как ionoy — современные, гибкие, безбюрократические муравьишки, способные ВМЕСТЕ сдвинуть гору.


VD> Но если нужно создать окно в дотнетном приложении, то WPF первый в списке получается.


Тоже юзаю WPF, но только после 10 оглядок "а не понадобится ли мне в приложении сложная логика, кастом-контролы или скорость". В результате, главный продукт компании работает на WinForms и чертовски хорошо работает!! Ни у кого даже в мыслях нет "хоронить WinForms", хехе.


VD>Что касается AMMY, то его можно ...


Можно. Но надо понимать — это временная технология, зависящая от смертника-WPF. К счастью, это всего-лишь разметка+фичи, т.е. совершенно спокойно можно нахлобучить ammy поверх тех же WinForms! (или вообще дать рождение новым ГУЯМ) Вот чего надо бояться мелкомягким — что обставят их, монстродумных, что от былого гиганта останется десктопная Win7 и ни одного мелкософтовского продукта на ней.
Re[6]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
От: aloch Россия  
Дата: 22.01.17 11:41
Оценка:
Здравствуйте, Kolesiki, Вы писали:

Расскажи ка нам без грубостей, чем так плох COM? Что там протухло, например?


Re[8]: Очень здорово
От: alex_public  
Дата: 22.01.17 12:38
Оценка:
Здравствуйте, TechL, Вы писали:

TL>А хотелось бы вот что: расчерчивать лэйаут как на доске, и правой кнопкой уже детализировать — что это — грид, панель, датагрид, меню, и так вплоть до кнопок и текстбоксов. Скажем постепенная детализация UI, начиная с разметки или чертежа, заканчивая ответом на вопрос "Что это за квадратик" — правой кнопой можно задать, что это Grid. "А что это за прямоугольник внутри грида?" — в выпадающем меню выбираем button. "А как выглядит этот button?" итд.


Ну вот у меня (не в WPF) прямо так и работает. Только собственно "чертить" (в смысле графически) ничего не надо — и это тоже делается само. А всё управление заключается в перетаскивание лэйаутов по дереву. При этом в соседнем окне отображается превьюшка, которая в точности напоминает эту твою картинку.
Re[7]: Очень здорово
От: alex_public  
Дата: 22.01.17 12:42
Оценка: :)
Здравствуйте, Kolesiki, Вы писали:

L>>Мы говорим про XAML, с иерархичной структурой и десятком тегов. а конкретнее я имел ввиду layout — быстрее нарисовать, чем прописывать эти Width, Height, вложенность итд.

K>Слишком узкий взгляд на вещи. Разметка — это не только ГДЕ, но и КАК. Практически невозможно объяснить XAML'у при помощи карандаша, что у тебя не грид, а док-панель и что нарисованная кнопка должна выравниваться вправо.

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

K>Короче, "визуальные рисовалки" — глупости для детей, в мире декларативного UI они не нужны.


Это всего лишь твоё личное мнение. )

K>Тем более, что XAML-код пишется вообще ненапряжно, а потом только дополняется элементами.


Конечно пишется без проблем. Только вот во много раз дольше, чем аналогичная работа в визуальном редакторе. Скажем результат, достигнутый на видео из первого сообщения темы, я получу где-то за минуту (вместо 25 минут на видео) неторопливого шевеления мышкой. )))
Re[7]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
От: TK Лес кывт.рф
Дата: 22.01.17 16:03
Оценка:
Здравствуйте, aloch, Вы писали:

A>Расскажи ка нам без грубостей, чем так плох COM? Что там протухло, например?


В контексте данной темы там протухло все. протухло OLE, протухли ActiveX, протухли апартенты и библиотеки типов, протух DCOM и COM+ протухли прокси и стабы наконец...
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[8]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
От: aloch Россия  
Дата: 22.01.17 16:17
Оценка: :)
Здравствуйте, TK, Вы писали:

TK>Здравствуйте, aloch, Вы писали:


A>>Расскажи ка нам без грубостей, чем так плох COM? Что там протухло, например?


TK>В контексте данной темы там протухло все. протухло OLE, протухли ActiveX, протухли апартенты и библиотеки типов, протух DCOM и COM+ протухли прокси и стабы наконец...


Т.е. когда я вызываю CoInitializeEx и потом через COM поднимаю хост .Net в процессе, чтоб заиспользовать там WPF, тухлость до WPF доходит или нет? Или в контексте этой темы свежайший JSON выступает оберегом.

А сесли серьезно, хотелось конкретики. И именно от колесиков.


Re[9]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
От: TK Лес кывт.рф
Дата: 22.01.17 17:07
Оценка:
Здравствуйте, aloch, Вы писали:

TK>>В контексте данной темы там протухло все. протухло OLE, протухли ActiveX, протухли апартенты и библиотеки типов, протух DCOM и COM+ протухли прокси и стабы наконец...


A>Т.е. когда я вызываю CoInitializeEx и потом через COM поднимаю хост .Net в процессе, чтоб заиспользовать там WPF, тухлость до WPF доходит или нет?


А тут не важно — с хвоста оно тухнет или с головы — протухнет все. Вы берёте технологию 90х и добавляете что-то из ранних 00х тут все от условий хранения зависит...

A>А сесли серьезно, хотелось конкретики. И именно от колесиков.


Легко — давайте код где будет CoInitializeEx и так дальше до WPF — сразу будет конкретика где тухлость, а где вторичный продует.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[10]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
От: aloch Россия  
Дата: 22.01.17 18:25
Оценка:
Здравствуйте, TK, Вы писали:

Ты — колесики? Вообще — похож.


Re[11]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
От: TK Лес кывт.рф
Дата: 22.01.17 18:44
Оценка:
Здравствуйте, aloch, Вы писали:

A>Ты — колесики? Вообще — похож.


Код то у вас есть? Вы вообще представляете во что выльется от поднять .net хост до заиспользовать через него WPF?
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[2]: Очень здорово
От: TK Лес кывт.рф
Дата: 22.01.17 18:47
Оценка:
Здравствуйте, VovkaMorkovka, Вы писали:

VM>Скажи, ты не пробовал по другому: рисовать и на основе рисунков генерировать код?


Типа как дополненная реальность в смартфоне?
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[7]: Очень здорово
От: TechL  
Дата: 22.01.17 19:05
Оценка:
Здравствуйте, Kolesiki, Вы писали:

K>Слишком узкий взгляд на вещи. Разметка — это не только ГДЕ, но и КАК. Практически невозможно объяснить XAML'у при помощи карандаша, что у тебя не грид, а док-панель и что нарисованная кнопка должна выравниваться вправо. Короче, "визуальные рисовалки" — глупости для детей, в мире декларативного UI они не нужны. Тем более, что XAML-код пишется вообще ненапряжно, а потом только дополняется элементами.


Возможно объяснить правой кнопкой мыши, что у тебя Grid или DockPanel. Ты вообще не понял идеи, выше Vlad2 ответил.
Re[12]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
От: aloch Россия  
Дата: 22.01.17 20:26
Оценка: 2 (1)
Здравствуйте, TK, Вы писали:

TK>Здравствуйте, aloch, Вы писали:


A>>Ты — колесики? Вообще — похож.


TK> Код то у вас есть? Вы вообще представляете во что выльется от поднять .net хост до заиспользовать через него WPF?


Вполне. Естественно, WPF поднимается уже в дотнетовской сборке, с которой из C++ взаимодействуем с через тухлый COM.

Я через тухлый COM .Net/WPF в VB6 IDE поднимаю, есть такая необходимость.


Re[2]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
От: Venom  
Дата: 23.01.17 06:49
Оценка:
Здравствуйте, licedey, Вы писали:

L>только вместо JSON, я использовал что-то близкое к Python-style.

L>Тобишь совсем без скобок, а одни отсутпы.
YAML?
Re[2]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
От: ionoy Эстония www.ammyui.com
Дата: 23.01.17 09:56
Оценка:
Здравствуйте, licedey, Вы писали:

L>Большой Респект ionoy и VladD2 за то что довели до релиза этот проект. У меня была подобная идея, только вместо JSON, я использовал что-то близкое к Python-style.

L>Тобишь совсем без скобок, а одни отсутпы. Довел до прототипа, который генерит из этого простенького ML -> C#-классы. Можем поближе пообщаться..

Ammy тоже сначала код генерировала, но оказалось что некоторые вещи через код не сделать (см. шаблоны и UWP).
Если есть предложения, то пиши конечно. На первой странице сайта, внизу есть ссылки на гиттер и мыло.
www.livexaml.com
www.ammyui.com
www.nemerleweb.com
Отредактировано 27.01.2017 0:59 VladD2 . Предыдущая версия .
Re: Добавил binding converter'ы
От: ionoy Эстония www.ammyui.com
Дата: 23.01.17 10:00
Оценка: 133 (3)
Новый синтаксис позволяет в коде определить конвертер:

Text: bind Name
      convert (string name) => "Hello, " + name


Отличия от "нормального" подхода:

1) Нет необходимости определять отдельный класс для конвертера
2) Поддерживается перезагрузка в рантайме (как и с любыми другими фичами Ammy)


Ссылка на блог пост: http://www.ammyui.com/2017/01/22/introducing-binding-converters/
Документация: http://www.ammyui.com/documentation/syntax/#binding
Тред на реддите: https://www.reddit.com/r/programming/comments/5pnf96/xaml_framework_ammy_introduces_binding_converters/
www.livexaml.com
www.ammyui.com
www.nemerleweb.com
Отредактировано 23.01.2017 10:02 ionoy . Предыдущая версия . Еще …
Отредактировано 23.01.2017 10:01 ionoy . Предыдущая версия .
Re[2]: Добавил binding converter'ы
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.01.17 10:24
Оценка: 33 (1)
Здравствуйте, ionoy, Вы писали:

I>Новый синтаксис позволяет в коде определить конвертер:


I>
I>Text: bind Name
I>      convert (string name) => "Hello, " + name
I>


Я бы добавил бы еще две фиичи:
1. Поддержку вывода типов для параметра конвертера. Он ведь, как я понимаю, всегда задается тем что идет после "bind". В данном примере типом свойства Name.
Text: bind Name
      convert (name) => "Hello, " + name


2. Позволил бы короткий синтаксис для указания статических функций:
Text: bind Name
      convert Utils.MyConverterMethod
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Добавил binding converter'ы
От: ionoy Эстония www.ammyui.com
Дата: 23.01.17 10:36
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Я бы добавил бы еще две фиичи:

VD>1. Поддержку вывода типов для параметра конвертера. Он ведь, как я понимаю, всегда задается тем что идет после "bind". В данном примере типом свойства Name.
VD>
VD>Text: bind Name
VD>      convert (name) => "Hello, " + name
VD>


Вывод типов будет работать далеко не всегда, потому что далеко не всегда тип можно вывести в компайл-тайм. Не знаю, стоит ли добавлять такую фишку, которая то работает, то нет.

VD>2. Позволил бы короткий синтаксис для указания статических функций:

VD>
VD>Text: bind Name
VD>      convert Utils.MyConverterMethod
VD>


+1
www.livexaml.com
www.ammyui.com
www.nemerleweb.com
Re[4]: Добавил binding converter'ы
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.01.17 10:51
Оценка:
Здравствуйте, ionoy, Вы писали:

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


А когда тип известен только в рантайме?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Добавил binding converter'ы
От: ionoy Эстония www.ammyui.com
Дата: 23.01.17 10:57
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>А когда тип известен только в рантайме?


Большая часть источников биндинга ничего не знает о типе. Ресурсы, датаконекст из кода, ElementName если он в родительском контроле.
www.livexaml.com
www.ammyui.com
www.nemerleweb.com
Отредактировано 23.01.2017 11:19 VladD2 . Предыдущая версия .
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.