Особенности языка:
1. Вместо XML, на котором основан XAML, в AMMY используется синтаксис базирующийся на JSON.
2. Язык строготипизированный.
3. Для AMMY имеется поддержка IDE (подсветка, автодополение, навигация по коду и т.п.).
4. Поддерживает миксины (аналог макросов для XAML). Повышает производительность руда и повторного использования кода.
5. Возможность менять GUI прямо во время исполнения.
Здравствуйте, Jack128, Вы писали:
J>Здравствуйте, VladD2, Вы писали:
VD>>2. Язык строготипизированный.
J>Что имеется в виду? xaml тоже не позволяет написать J><Button BlaBla="10" />
Всё верно. Никакой дополнительной строгой типизации на данный момент Ammy не предоставляет. Разве что более вменяемый intellisense чем у ванильной студии.
Здравствуйте, ionoy, Вы писали:
I>Всё верно. Никакой дополнительной строгой типизации на данный момент Ammy не предоставляет. Разве что более вменяемый intellisense чем у ванильной студии.
Хотелось бы того, что есть — не потерять. в частности поддержку d:DataContext (это конечно не совсем стат типизация, но где то рядом)
Здравствуйте, Jack128, Вы писали:
J>Хотелось бы того, что есть — не потерять. в частности поддержку d:DataContext (это конечно не совсем стат типизация, но где то рядом)
Есть ключевое слово viewmodel, которое работает примерно так:
Здравствуйте, IT, Вы писали:
IT>Здравствуйте, ionoy, Вы писали:
I>>Циклы в XAML реализуются через ItemsControl и ItemTemplate, так что циклы не нужны.
IT>Сразу чувствуется школа Влада в общении с потенциальными пользователями
Сорри, если ответ выглядел снисходительно, этого не было в моих целях.
IT>Как мне без копипасты определить десять однотипных кнопок?
Почему именно 10? Если у тебя 10 моделей, то код будет примерно таким:
Здравствуйте, Ziaw, Вы писали:
Z>Здравствуйте, ionoy, Вы писали
I>>Если просто так 10 кнопок, то придётся копипастить. Но зачем?
Z>А их набор формируется в рантайме?
Здравствуйте, IT, Вы писали:
IT>Здравствуйте, ionoy, Вы писали:
I>>Если просто так 10 кнопок, то придётся копипастить. IT>Да. Нужно просто так 10 кнопок. Или не кнопок, но 10. Или 15.
Всегда легче отталкиваться от конкретной задачи. Если задачи нет, то предложу несколько решений.
Первое, если есть данные, уже описано парой сообщений выше.
1. Добавляем коллекцию в модель представления
class ViewModel
{
public ObservableCollection<Item> Items { get; }
}
Конечно, с циклами получилось бы короче, но мне правда сложно придумать ситуацию где это могло бы быть нужно. Если сможешь привести конкретный пример, то можно будет подумать над реализацией.
1)Нужен конвертер из XAML в AMMY. У людей уже есть горы кода на XAML и переписывать его руками в AMMY они не станут.
А если у них будет такой конвертер, то очень многие попробуют перевести свой ГУИ на AMMY и поиграться.
Это сильно снизит порог вхождения.
2)Большое количество значений в строках. Нитра позволяет делать подсветку и автокомплит в строках.
3)Так как алиас всегда возвращает строго один узел скобки лишние.
alias Header(text) TextBlock {
FontSize: 18
Text: $text
}
Ну и для однообразия с миксинами
alias Header(text) for TextBlock {
FontSize: 18
Text: $text
}
4)Что мешает сделать типизированные переменные?
5)Все миксины в видео не имеют параметров. И при их вызове скобки не используются. Возможно стоит сделать скобки при описании миксина опциональными?
Те вместо
mixin RedWhenDisabled () for Style {
}
Писать так
mixin RedWhenDisabled for Style {
}
6)Где можно скачать проект, созданный в видео? Да и вообще несколько примеров было бы неплохо.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
1. XAML и WPF — умирающие тренды. В таком рынке люди обычно сидят на поддержке легаси и "взять и переписать лучше" нафиг никому не надо, ибо риск.
2. Вообще, новый closed-source язык с точки зрения рисков — бяка. Допустим, я сделал проект с бюджетом в $100K с помощью нового суперязыка, сэкономив $20K. А что если завтра автору проект надоест и он прекратит развитие? Прекратит интеграцию с новыми версиями студии, рантайма и т.п. Я попал на еще $100K, чтобы в спешке все переделывать на старом языке. Бесплатный язык и платные usability-расширения с точки зрения продаж куда интересней.
3. В чем фишка продукта? JSON вместо XML? Ну да, красиво. Но это из серии "изумрудная тема для VS, радующая глаз". Красота, красотой, но $200 в месяц за это никто платить не будет, особенно учитывая риски.
4. Возможность менять GUI прямо во время исполнения? А смысл? Если это суперкритично, то это можно прикрутить за полдня к обычному XAML-у, перезагружая его по таймеру в debug-сборке.
В общем, за технологию 5, а за продукт двойка.
P.S. Лучше бы кто-нибудь запилил XAML для сайтостроения. С нормальным визуальным редактором, strong typed binding-ами безо всяких angular-извращений, интеграцией в IDE и нормальной библиотекой контролов типа всяких TreeView. Вот это взлетит в отличие от.