Re[4]: AMMY - XAML с человеческим лицом
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.01.17 05:16
Оценка: -1 :)
Здравствуйте, IT, Вы писали:

IT>Сразу чувствуется школа Влада в общении с потенциальными пользователями


Взял и обидел сразу двух людей. Зачем?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: AMMY - XAML с человеческим лицом
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.01.17 05:40
Оценка:
Здравствуйте, IT, Вы писали:

IT>Как мне без копипасты определить десять однотипных кнопок?


Как я понимаю, можно сделать миксин описывающий кнопку (все ее оформление) и капипастить уже обращение к этому миксину указывая уникальные данные. При таком решении копипаста будет очень условной. Что-то вроде:
#MyButton("Button 1")
#MyButton("Button 2")
#MyButton("Button 3")
#MyButton("Button 4")
#MyButton("Button 5")
#MyButton("Button 6")
#MyButton("Button 7")
#MyButton("Button 8")
#MyButton("Button 9")
#MyButton("Button 10")


Или эти кнопки не однотипные, а одинаковые? Вряд ли нужны совсем уж одинаковые кнопки. Если же они чем-то отличаются, то это уже не совсем копипаст.

В XAML, как я понимаю, никаких циклов нет. И никто даже не стремится добавить. Почему?

Как и в случае с XAML в случае с AMMY всегда можно перейти в императивный язык (C# или Nemerle) и закодировать что хочешь. Но в и AMMY, и XAML рассчитаны на MVVM. Так что логичнее было был решать проблемы GUI-я именно в этом стиле.

Ну, еще можно создать свой WPF-контрол и использовать его из AMMY.

В общем, обоснуй необходимость этих самых циклов. Покажи примеры. Может уговорим ionoy добавить их поддержку. На Nitra это не сложно будет сделать. Пока что я не вижу в этом никакой необходимости.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: AMMY - XAML с человеческим лицом
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.01.17 05:54
Оценка:
Здравствуйте, IT, Вы писали:

I>>Но зачем?


IT>Человек, создающий инструменты для программистов не должен задавать таких вопросов


Любой разумный человек должен задавать такие вопросы. Если бездумно пихать фичи в язык, то получится жутик.

Я вот тоже не пойму зачем в языке разметки рассчитанном на парадигму MVVM какие-то циклы.

Ты где-нибудь к XAML-у такие претензии предъявлял?

В общем, привел бы пример задачи, которую это решает.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Отредактировано 19.01.2017 15:43 VladD2 . Предыдущая версия .
Re[2]: AMMY - XAML с человеческим лицом
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.01.17 06:17
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>1)Нужен конвертер из XAML в AMMY.


Полностью согласен! Надеюсь, автор сделает его в ближайшее время.

WH>2)Большое количество значений в строках. Нитра позволяет делать подсветку и автокомплит в строках.


Ага. Я не однократно говорил об этом автору. Но он меня не послушал. Думаю, что в процессе эволюции это уйдет.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Отредактировано 19.01.2017 15:43 VladD2 . Предыдущая версия .
Re[2]: Косяки с точки зрения бизнеса (+)
От: Jack128  
Дата: 19.01.17 06:56
Оценка: +1 :)
Здравствуйте, bazis1, Вы писали:

B>P.S. Лучше бы кто-нибудь запилил XAML для сайтостроения. С нормальным визуальным редактором, strong typed binding-ами безо всяких angular-извращений, интеграцией в IDE и нормальной библиотекой контролов типа всяких TreeView. Вот это взлетит в отличие от.


Был силверлайт. Только это умирающий тренд
Re[2]: Косяки с точки зрения бизнеса (+)
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.01.17 07:37
Оценка: +1 -1 :)
Здравствуйте, bazis1, Вы писали:

Сразу оговорюсь, я не автор языка. Просто язык создан на базе Nitra, а я один из авторов Nitra.

B>1. XAML и WPF — умирающие тренды. В таком рынке люди обычно сидят на поддержке легаси и "взять и переписать лучше" нафиг никому не надо, ибо риск.


Вот здесь полностью не согласен. Для создания GUI в Windows вменяемых альтернатив нет. А программировать в xml-е крайне неприятно.

Сылка на гугльтренд опять таки говорит только о том, что WPF стали меньше пиарить, только и всего. Если попытаться забить там C# или Java вместо XAML получишь примерно такую же картину. Что же теперь C# и Java отмирающие технологии?

Конечно, сейчас в тренде JavaScript. Но и у него тренд не рвется в высь, а всего лишь идет по прямой.

В общем, тезис об вымирании явно высосан из пальца. Если надо делать гуй для виндовс — альтернативы особо и нет.

Кстати, если посмотреть на Xamarin, то его тренд действительно рвется в высь. А это по сути разновидость XAML-а. Почему это так? Все очень просто — Microsoft вкладывает мегабаксы в его раскрутку. Вот сейчас рекламная компания кончится и тренд пойдет на спад. Так что если автор окучит Xamarin, то будет в тренде . А планы такие, вроде бы, есть.

B>2. Вообще, новый closed-source язык с точки зрения рисков — бяка. Допустим, я сделал проект с бюджетом в $100K с помощью нового суперязыка, сэкономив $20K. А что если завтра автору проект надоест и он прекратит развитие? Прекратит интеграцию с новыми версиями студии, рантайма и т.п. Я попал на еще $100K, чтобы в спешке все переделывать на старом языке. Бесплатный язык и платные usability-расширения с точки зрения продаж куда интересней.


Это тоже какая-то надуманная причина. Если вдруг у него бизнес не удастся, то ежу понятно, что он выложит исходники в опенсорс. Исходники и так лежат на https://github.com. Просто в приватном репо. Я к ним доступ имею (просто потому что косултировал автора по Nitre, а код проще было через репо смотреть). Так что в случае "эффекта кирпича" даже я смогу эти исходники выложить. Но, надеюсь, этого не понадобится делать.

Да и твои аргументы совсем уж надуманны. Допустим сделал ты этот проект на C#, а МС решил закрыть тему C#-а. Ты, что переключишься на разработку C#-а? Да не в жизнь! Будешь использовать старые его версии только и всего. Да и как-то писал ты на C# когда он был закрытым.

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

Хотя лично я тоже за опенсорс. Но опенсорс под очень свободной лицензией убьет автору бизнес на прочь. Любой дурак сможет скачать продукт и сделать его клон распространяемый на его условиях.

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

Что касается цены — . Наверно можно было бы и подешевле сделать. Я как-то опенсорсом больше занимаюсь, так что для меня это все бесплатно.

B>3. В чем фишка продукта? JSON вместо XML? Ну да, красиво. Но это из серии "изумрудная тема для VS, радующая глаз". Красота, красотой, но $200 в месяц за это никто платить не будет, особенно учитывая риски.


Вообще-то фишки я описал в тематическом сообщении. Это и более читабельный синтаксис, и миксины, и изменение GUI во время работы приложения (без перекомпиляции в реалтайме) и много чего еще. Но, да — синтаксис первое что раздражает в XAML-е. Я лично ненавижу программировать в XML-е! По сему языки типа XAML-а или WiX меня просто раздражают.

B>4. Возможность менять GUI прямо во время исполнения? А смысл? Если это суперкритично, то


Смысл огромный. Интерактивность разработки очень повышает ее скорость и качество! В студии для XAML есть превью и даже визуальный редактор. Но он постоянно падает и очень сильно тормозит. Плюс отображает не все и данных нормальных нет. А делать GUI в рантайме, да еще и на настоящих данных — это сплошное удовольствие!

B>это можно прикрутить за полдня к обычному XAML-у, перезагружая его по таймеру в debug-сборке.


Так прикрути! Люди тебе спасибо скажут. Только при этом обеспечь интеллисенс. А то в студии в рантайме XAML изменять нельзя вроде.

В AMMY — это одна из фич доступная "изкаропки".

B>В общем, за технологию 5, а за продукт двойка.


То-то я смотрю у автора на Редите такая толпа откликов? Раже авторы Xamarin-а и Avalon заинтересовались. Они просто твоего мнения наверно не успели прочитать.

В общем, не гони напраслину на парня. Получился очень приличный язык, нужный людям. А так можно все что угодно заклевать. Ему сейчас поддержка нужна, а не наезды беспочвенные.

B>P.S. Лучше бы кто-нибудь запилил XAML для сайтостроения.


А зачем шило то на мыло менять?

Конечно, иметь типизированный MVVM-язык для создания WUI было бы не плохо. Но зачем тут XAML? Опять программирование в XML? Ну, его на фиг!

А решение для WUI автор делал несколько лет назад. NemerleWeb называется. На старых технологиях, правда. И вот такие же критики как ты его заклевали, даже не поняв смысла и крутости продукта.

На сегодня есть только аналоги на JavaScript. А жаль.

B>С нормальным визуальным редактором,


Не нужен никому этот редактор. Нельзя в нем полноценно отобразить MVVM-ые фичи вроде биндинга. Вот превью нужно. Но быстрое, а не те тормоза, что в Студии есть. И качественное. А то у меня редактор XAML постоянно падает.

Единственное зачем я использовал редактор XAML — это найти нужный участок XAML-а. Если сделать так, чтобы в рантайме можно было найти соответствующий контролу кусок кода на AMMY было бы просто идеально. Такую подержку сделать можно. Разны XAML-spy-е хватает. Прикрутить к такому навигацию и будет супер.

B>strong typed binding-ами безо всяких angular-извращений, интеграцией в IDE и нормальной библиотекой контролов типа всяких TreeView. Вот это взлетит в отличие от.


Вот все это было в NemerleWeb. Но заклевали. Такие как ты заклевали. Потом автор ушел из веб-разработки и занялся GUI-ём под Windows. Вот и зародилась у него идея сделать решение заменяющее убогий XAML, на котором приходилось не мало работать.

Собственно на Nitra то что ты хочется делается. Хочешь — займись. Может даже денег поднимешь. Мы тебе поможем, как помогли автору AMMY.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Отредактировано 19.01.2017 15:44 VladD2 . Предыдущая версия .
Re[3]: Косяки с точки зрения бизнеса (+)
От: ionoy Эстония www.ammyui.com
Дата: 19.01.17 08:59
Оценка:
Здравствуйте, VladD2, Вы писали:

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


B>>2. Вообще, новый closed-source язык с точки зрения рисков — бяка. Допустим, я сделал проект с бюджетом в $100K с помощью нового суперязыка, сэкономив $20K. А что если завтра автору проект надоест и он прекратит развитие? Прекратит интеграцию с новыми версиями студии, рантайма и т.п. Я попал на еще $100K, чтобы в спешке все переделывать на старом языке. Бесплатный язык и платные usability-расширения с точки зрения продаж куда интересней.

VD>Ну, и AMMY в итоге генерирует XAML. Так что в крайнем случае можно тупо взять полученный XAML и продолжить пилить его руками (без блэкджека и шлюх).
Да, всё что нужно, это убрать из из референсов Ammy и добавить сгенерированные XAML файлы. Они, кстати, получаются не сильно хуже рукописных.

B>>P.S. Лучше бы кто-нибудь запилил XAML для сайтостроения.


VD>А решение для WUI автор делал несколько лет назад. NemerleWeb называется. На старых технологиях, правда. И вот такие же критики как ты его заклевали, даже не поняв смысла и крутости продукта.


Надо отметить, что делал я его не один, а вместе с _NN_.

VD>Вот все это было в NemerleWeb. Но заклевали. Такие как ты заклевали.


Проблема была не в критике, (хотя по-моему её было неоправданно много), а в том что не нашлось сторонников. К тому же у меня родился ребёнок, а у NN так вообще двойня. Заниматься проектом параллельно с основной работой и ребёнком стало просто нереально.
www.livexaml.com
www.ammyui.com
www.nemerleweb.com
Re: Code behind поддерживается ?
От: Jack128  
Дата: 19.01.17 09:11
Оценка:
Re[2]: AMMY - XAML с человеческим лицом
От: ionoy Эстония www.ammyui.com
Дата: 19.01.17 09:12
Оценка:
Здравствуйте, WolfHound, Вы писали:

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


WH>1)Нужен конвертер из XAML в AMMY. У людей уже есть горы кода на XAML и переписывать его руками в AMMY они не станут.


Он есть, но в очень зачаточном состоянии. Фактически он просто читает XML и переводит в Ammy с небольшими правками. Там пока нет поддержки x:Name, x:Key и прочего.
В любом случае я в ближайшие пару дней залью его на http://www.github.com/ammyui/ammyui

WH>2)Большое количество значений в строках. Нитра позволяет делать подсветку и автокомплит в строках.

Такова природа XAML'а. В некоторых местах можно будет убрать необходимость строк, но пока это не приоритет.

WH>3)Так как алиас всегда возвращает строго один узел скобки лишние.


WH>Ну и для однообразия с миксинами

WH>
WH>alias Header(text) for TextBlock {
WH>    FontSize: 18
WH>    Text: $text
WH>}
WH>


Ага, я точно про такой синтаксис думал. Но поразмыслив решил остановится на текущем — он по моему легче читается. "Есть функция, которая вставляет такую-то ноду". Короче говоря, это спорный момент.

WH>4)Что мешает сделать типизированные переменные?

Нет смысла. Типизация помогает с интеллисенсом и проверкой во времени компиляции.
Проверка работает и так, потому что при компиляции Ammy запускается парсер XAML ошибки которого потом мапятся обратно на Ammy.
С интеллисенсом хуже, но для того чтобы его получить пришлось бы усложнять синтаксис. Например, чтобы получить подсказку по enum'у пришлось бы писать:

Visibility $visibility = Hidden


Со свойствами ещё хуже:
from Control $triggerProperty = Background


И всё это только для интеллисенса. Повторюсь, ошибки и так показываются интерактивно.

WH>5)Все миксины в видео не имеют параметров. И при их вызове скобки не используются. Возможно стоит сделать скобки при описании миксина опциональными?

Согласен, надо над этим подумать. Если не сложно, можешь на гитхаб сделать Issue?

WH>6)Где можно скачать проект, созданный в видео? Да и вообще несколько примеров было бы неплохо.

В ближайшее время всё выложу на http://www.github.com/ammyui/ammyui.
www.livexaml.com
www.ammyui.com
www.nemerleweb.com
Re[2]: Code behind поддерживается ?
От: ionoy Эстония www.ammyui.com
Дата: 19.01.17 09:14
Оценка:
Здравствуйте, Jack128, Вы писали:

В этом плане Ammy ничем не отличается от XAML. Когда добавляешь Ammy контрол, добавляется точно такой же code behind как и раньше.
www.livexaml.com
www.ammyui.com
www.nemerleweb.com
Re[3]: Code behind поддерживается ?
От: Jack128  
Дата: 19.01.17 09:25
Оценка:
Здравствуйте, ionoy, Вы писали:

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


I>В этом плане Ammy ничем не отличается от XAML. Когда добавляешь Ammy контрол, добавляется точно такой же code behind как и раньше.

Да, не обратил внимание, сорри.
Re[4]: Code behind поддерживается ?
От: ionoy Эстония www.ammyui.com
Дата: 19.01.17 09:27
Оценка:
Здравствуйте, Jack128, Вы писали:

I>>В этом плане Ammy ничем не отличается от XAML. Когда добавляешь Ammy контрол, добавляется точно такой же code behind как и раньше.

J>Да, не обратил внимание, сорри.
А чего сорри, мне наоборот хорошо когда много вопросов. Становится понятно какие моменты неочевидны, что нужно подробнее описать на сайте. Так что спасибо за вопрос
www.livexaml.com
www.ammyui.com
www.nemerleweb.com
Отредактировано 19.01.2017 9:41 VladD2 . Предыдущая версия . Еще …
Отредактировано 19.01.2017 9:27 ionoy . Предыдущая версия .
Re[2]: Code behind поддерживается ?
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.01.17 09:41
Оценка:
Здравствуйте, Jack128, Вы писали:

Просьба не задавать вопросов в заголовке.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Code behind поддерживается ?
От: Jack128  
Дата: 19.01.17 09:46
Оценка: 16 (1)
Здравствуйте, ionoy, Вы писали:

Опечатка в самом низу http://www.ammyui.com/documentation/syntax/

This insert ы a cached image into parent control. Meaning that if your image source is network/web based you won’t have to load it every time.

Re: AMMY - XAML с человеческим лицом
От: Jack128  
Дата: 19.01.17 10:13
Оценка: 24 (1)
Здравствуйте, VladD2, Вы писали:

Баг или у меня косяки ??

1) Есть два солюшена, один с ammy-юзер контролом, другой — просто новое wpf приложение.
2) Ставим ammy-экстеншн.
3) Открываем ammy-солюшн, подсветка есть, авторелоад есть.
4) открываем обычный wpf солюшн, тут же закрываем его
5) открываем ammy-солюшн, авторелоад работает, а подсветка синтаксиса — пропала.

Сами солюшены https://lm.grandsmeta.ru/licmanager/download/Temp/Ammy-Test.zip

update:
хотя второй солюшн не нужен. Достаточно закрыть/открыть ammy-solution
Отредактировано 19.01.2017 10:15 Jack128 . Предыдущая версия .
Re[2]: AMMY - XAML с человеческим лицом
От: ionoy Эстония www.ammyui.com
Дата: 19.01.17 10:17
Оценка:
Здравствуйте, Jack128, Вы писали:

J>update:

J>хотя второй солюшн не нужен. Достаточно закрыть/открыть ammy-solution

Очевидно баг. Спасибо за репорт!
www.livexaml.com
www.ammyui.com
www.nemerleweb.com
Re[2]: AMMY - XAML с человеческим лицом
От: ionoy Эстония www.ammyui.com
Дата: 19.01.17 10:39
Оценка:
Здравствуйте, Jack128, Вы писали:

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


J>Баг или у меня косяки ??


Починил. Если есть желание, обновится можно с тестового сервера MyGet.
Nuget V2: https://www.myget.org/F/ammy/api/v2
Nuget V3: https://www.myget.org/F/ammy/api/v3/index.json

Добавляется в Options -> Nuget Package Manager -> Package Sources

При обновлении попросит перезапустить студию, надо перезапустить.

Ещё раз, спасибо
www.livexaml.com
www.ammyui.com
www.nemerleweb.com
Re[3]: AMMY - XAML с человеческим лицом
От: ionoy Эстония www.ammyui.com
Дата: 19.01.17 10:40
Оценка: 15 (1)
Здравствуйте, ionoy, Вы писали:

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


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


J>>Баг или у меня косяки ??


I>Починил. Если есть желание, обновится можно с тестового сервера MyGet.

I>Nuget V2: https://www.myget.org/F/ammy/api/v2
I>Nuget V3: https://www.myget.org/F/ammy/api/v3/index.json

I>Добавляется в Options -> Nuget Package Manager -> Package Sources


I>При обновлении попросит перезапустить студию, надо перезапустить.


I>Ещё раз спасибо
www.livexaml.com
www.ammyui.com
www.nemerleweb.com
Re[4]: Косяки с точки зрения бизнеса (+)
От: ifle  
Дата: 19.01.17 10:56
Оценка: 24 (1)
Добавьте киллер фичу — поддержку ограниченного css, как в nativescript и react-native. Будет очень полезно и для xamarin
Re[5]: Косяки с точки зрения бизнеса (+)
От: ionoy Эстония www.ammyui.com
Дата: 19.01.17 10:58
Оценка:
Здравствуйте, ifle, Вы писали:

I>Добавьте киллер фичу — поддержку ограниченного css, как в nativescript и react-native. Будет очень полезно и для xamarin


А можно пример как это должно выглядеть?
www.livexaml.com
www.ammyui.com
www.nemerleweb.com
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.