Особенности языка:
1. Вместо XML, на котором основан XAML, в AMMY используется синтаксис базирующийся на JSON.
2. Язык строготипизированный.
3. Для AMMY имеется поддержка IDE (подсветка, автодополение, навигация по коду и т.п.).
4. Поддерживает миксины (аналог макросов для XAML). Повышает производительность руда и повторного использования кода.
5. Возможность менять GUI прямо во время исполнения.
Здравствуйте, VladD2, Вы писали:
VD>Появился первый полноценный язык программирования созданный независимым разработчиком — ionoy.
VD>AMMY — XAML с человеческим лицом.
Хотел сам создать тему, но раз уж Влад сделал это первым, то пускай будет так.
Про проект можно почитать на сайте и немного в блоге. Так же некоторые вопросы уже обсудили на форуме Немерле
.
В проект было вложено много сил — почти год близкой к фуллтайм работы.
В качестве основной технологии парсинга и типизации выступает Нитра. Приходилось много обращаться к Владу за поддержкой, но в целом технология вполне зрелая для реальной разработки.
Здравствуйте, Mihas, Вы писали:
M>Здравствуйте, ionoy, Вы писали:
M>AMMY — как-то расшифровывается? M>На слух перекликается с известной программулиной для удаленного администрирования компов. Так задумано?
Вообще-то Ammy, а не AMMY. Так что никак не расшифровывается. И к Ammyy отношения не имеет
Здравствуйте, VladD2, Вы писали:
VD>Появился первый полноценный язык программирования созданный независимым разработчиком — ionoy.
VD>AMMY — XAML с человеческим лицом.
А вот это реально может взлететь в широком употреблении, в отличие от того же Nemerle (который в основном решает нишевые проблемы).
Я, по крайней мере, собираюсь попробовать.
Там есть средство конвертации в этот язык существующего XAML? При беглом чтении документации я не нашёл.
Re[2]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
Здравствуйте, vmpire, Вы писали:
VD>>AMMY — XAML с человеческим лицом. V>А вот это реально может взлететь в широком употреблении, в отличие от того же Nemerle (который в основном решает нишевые проблемы). V>Я, по крайней мере, собираюсь попробовать.
Спасибо!
V>Там есть средство конвертации в этот язык существующего XAML? При беглом чтении документации я не нашёл.
Здравствуйте, Shmj, Вы писали:
S>Здравствуйте, ionoy, Вы писали:
I>>В проект было вложено много сил — почти год близкой к фуллтайм работы.
S>А почему продаете, разве Микрософт не оторвет ваше решение с руками и ногами? Или хотите поторговаться?
Если будут отрывать, то посмотрим А пока хочется хотя бы немного денег. Этот год был не из лёгких, прямо скажем.
Здравствуйте, Shmj, Вы писали:
I>>В проект было вложено много сил — почти год близкой к фуллтайм работы. S>А почему продаете, разве Микрософт не оторвет ваше решение с руками и ногами? Или хотите поторговаться?
А Microsoft что активно делает на WPF?
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[4]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
Здравствуйте, ionoy, Вы писали:
I>Если будут отрывать, то посмотрим А пока хочется хотя бы немного денег. Этот год был не из лёгких, прямо скажем.
А вот, кстати, что лучше чтобы сами обратились к вам или же чтобы инициатива исходила от вас?
У меня был пример что чел. сам сделал и обратился в контору с коммерческим предложением, завершилось успешно. Конечно, миллионов долларов не дали, но работа была оплачена более чем. То есть возьмите зарплату за год и умножте на 5-10 -- вполне можно рассчитывать на эту сумму единоразово + плата за развитие.
А если ждать пока сами обратятся -- то этого может и не произойти. Нужно быть уж очень заметным. Да и кто знает -- может вы не хотите сотрудничать, вдруг вы миллионер и вы по мелочи не торгуетесь.
Re[5]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
Здравствуйте, Shmj, Вы писали:
S>У меня был пример что чел. сам сделал и обратился в контору с коммерческим предложением, завершилось успешно. Конечно, миллионов долларов не дали, но работа была оплачена более чем. То есть возьмите зарплату за год и умножте на 5-10 -- вполне можно рассчитывать на эту сумму единоразово + плата за развитие.
Честно говоря, хотелось бы самому посмотреть что из этого выйдет. А если заглядывать в будущее, то я бы выбрал сотрудничество нежели полную передачу проекта. У меня ещё куча невоплощённых идей, так что отдавать контроль в чужие руки пока эти идеи не реализованы просто не хочется.
Здравствуйте, TK, Вы писали:
TK>А Microsoft что активно делает на WPF?
Разве это не дефолтная платформа для GUI всех Windows Universal App (которые теперь работают и на PC, и RT, и на Phone, и на часах даже!)? Другого же ничего не предлагается.
WinForms уже устарел.
Хотя я на PC почти не юзаю эти Universal Apps -- не удобно. Заменяю классическими или Web-версиями.
Но поскольку у меня, как у поклонника MS, есть и Win RT и Win Phone (причем и 7 и 10 версии) -- то на этих устройствах альтернативы нет. Помоему довольно юзабельно для таких устройств, как по мне так даже предпочтительнее Android-среды.
Re[6]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
Здравствуйте, ionoy, Вы писали:
I>Честно говоря, хотелось бы самому посмотреть что из этого выйдет. А если заглядывать в будущее, то я бы выбрал сотрудничество нежели полную передачу проекта. У меня ещё куча невоплощённых идей, так что отдавать контроль в чужие руки пока эти идеи не реализованы просто не хочется.
А, ну раз у вас вопрос финансов остро не стоит -- то можно и так.
Re[7]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
Здравствуйте, Shmj, Вы писали:
TK>>А Microsoft что активно делает на WPF? S>Разве это не дефолтная платформа для GUI всех Windows Universal App (которые теперь работают и на PC, и RT, и на Phone, и на часах даже!)? Другого же ничего не предлагается. S>WinForms уже устарел.
Это — пиарщики предлагают. В реальности — следует учитывать тот факт, что PC с 24" и планшет с 12" имея одно и тоже разрешение — имеет ахрененно разные экраны, и влазит кнопок в последний гораздо меньше. Я уже не говорю про телефоны или часы. Это я подвожу к тому — что сделал раз и везде запустил в отношении UI — это как было несбыточной мечтой, так и осталось. UI прийдется продумывать, перерисовывать, или допиливать под те или иные нужды устройств в любом случае. Поэтому предложение — делать под разные типы устройств — разные фронтэнды — всё так же неплохо работает как и раньше: т.е. тулчейн основательно изменился, но технологически они не предложили вообще нихрена нового, ровно как и больше возможностей тоже не дали. Скорее лишь убрали свои косяки в секторе портативных устройств.
Что же касается устаревания WinForms — то, на десктопе абсолютно всё построено на нативных окнах. WinForms просто один из корявых но простых способов управления ими. Естественно, строить серьезный и красивый гуи на нём сейчас довольно тяжело.
Кстати, кто скажет — последний офис десктопный попрежнему использует WinForms для addins?
S>Хотя я на PC почти не юзаю эти Universal Apps -- не удобно. Заменяю классическими или Web-версиями.
В 10-ке ими можно нормально пользоваться, но я тоже ими не пользуюсь. +1. Впрочем это лишь подтверждает тот факт, что они просто здесь не нужны.
S>Но поскольку у меня, как у поклонника MS, есть и Win RT и Win Phone (причем и 7 и 10 версии) -- то на этих устройствах альтернативы нет. Помоему довольно юзабельно для таких устройств, как по мне так даже предпочтительнее Android-среды.
Я ничего против технологии в принципе не имею то. Мой основной пойнт был лишь о том, что окна — никуда не делись, и без них — ничего серьезного написать *вообще* нельзя. То что их спрятали под капотом завесив кучей лапши с красивыми картинками — у меня вообще никаких эмоций не вызывает. Бывает, пройдет и это.
Re[4]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
Здравствуйте, TK, Вы писали:
TK>Здравствуйте, Shmj, Вы писали:
I>>>В проект было вложено много сил — почти год близкой к фуллтайм работы. S>>А почему продаете, разве Микрософт не оторвет ваше решение с руками и ногами? Или хотите поторговаться?
TK>А Microsoft что активно делает на WPF?
Слушай, ты крутой чувак, но не говори ерунды. В области логов у МС есть только нормальный нативный апи их писать. После этого идет жирнейшая точка — остальная команда в МС не научилась их быстро читать. Увы-увы — но любая самописная гадость будет на две головы выше того фуфла что втюхивают они.
Re[6]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
Здравствуйте, _NN_, Вы писали:
_NN>Эта программа на WPF и её активно разрабатывают.
В 15 году каждый месяц новости. А тут, в сентябре выпустили мелкий релиз и дальше как в воду канули. Если до марта-апреля ничего не будет — можно сливать
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[8]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
Здравствуйте, TK, Вы писали:
TK>Здравствуйте, _NN_, Вы писали:
_NN>>Эта программа на WPF и её активно разрабатывают.
TK>В 15 году каждый месяц новости. А тут, в сентябре выпустили мелкий релиз и дальше как в воду канули. Если до марта-апреля ничего не будет — можно сливать
Надеюсь что не ещё закопали
Здравствуйте, fddima, Вы писали:
F> Кстати, кто скажет — последний офис десктопный попрежнему использует WinForms для addins?
VSTO Add-in можно делать с использованием хоть WinForms, хоть WPF.
Однако, VSTO это ныне устаревшая технология. Современные расширения разрабатываются на связке HTML+CSS+JS, а в качестве библиотеки стандартных контролов (и вообще UI Framework) используется Office UI Fabric
Здравствуйте, SeLo, Вы писали:
SL>Здравствуйте, VladD2, Вы писали:
VD>>Сайт языка: http://www.ammyui.com Там много примеров, доки, видео. VD>>Видео с демонстрацией процесса разработки: https://vimeo.com/198873582
SL>Мой антивирус распознает на сайте угрозу "C2/Generic-A" и не пущает !!!
Здравствуйте, VovkaMorkovka, Вы писали:
VM>Скажи, ты не пробовал по другому: рисовать и на основе рисунков генерировать код?
"Рисовать" — это тоже язык. Раньше (в середине 90-х) это была довольно популярная тема. Из рабочих вещей были только дизайнеры структуры БД на базе ER-диаграм. Но и при их серьезном использовании упирались в недостаточную выразительность и гибкость.
Были еще разные UML-редакторы. Но лично я их вообще использовать не смог. Они скорее мешали.
Так что я скорее за текст. Хотя противником визуальных редакторов не являюсь.
Надеюсь я правильно понял, что ты имел ввиду.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Так что я скорее за текст. Хотя противником визуальных редакторов не являюсь.
VD>Надеюсь я правильно понял, что ты имел ввиду.
Нарисовать быстрее, чем вписывать каждую деталь. Особенно сами контейнеры.
Re: Хочу похвастаться! Первый язык на основе Nitra - AMMY
Здравствуйте, VladD2, Вы писали:
VD>Появился первый полноценный язык программирования созданный независимым разработчиком — ionoy.
VD>AMMY — XAML с человеческим лицом.
Большой Респект ionoy и VladD2 за то что довели до релиза этот проект. У меня была подобная идея, только вместо JSON, я использовал что-то близкое к Python-style.
Тобишь совсем без скобок, а одни отсутпы. Довел до прототипа, который генерит из этого простенького ML -> C#-классы. Можем поближе пообщаться..
Здравствуйте, VladD2, Вы писали:
VD>Это спорный вопрос. Что ты в форуме то не рисуешь, а пишешь?
Мы говорим про XAML, с иерархичной структурой и десятком тегов. а конкретнее я имел ввиду layout — быстрее нарисовать, чем прописывать эти Width, Height, вложенность итд.
Здравствуйте, licedey, Вы писали:
VD>>Это спорный вопрос. Что ты в форуме то не рисуешь, а пишешь?
L>Мы говорим про XAML,
Почему? Как я понял Вовку, он в более широком контексте вопрос задавал.
L>с иерархичной структурой и десятком тегов. а конкретнее я имел ввиду layout — быстрее нарисовать, чем прописывать эти Width, Height, вложенность итд.
Да, вот как раз, практика многих программистов показывает обратное. Разные гриды (лайаута) заполнять из визуального дизайнера крайне неудобно. Дизайнер скорее нужен для того чтобы посмотреть превью, чтобы быстро перейти к нужному описанию, ну и, чтобы через свойства понастраивать значения и опять же быстро посмотреть результат.
Но все эти шаблоны, гриды и прочие дизайнер не очень то позволяет присвоить. Все же это язык. А дизайнер не позволяет читать этот язык. Он позволяет смотреть результат. А в результате уже шаблонов нет.
Ну, и дизайнер XAML-а дико тормозит и глючит частенько.
Если приставить некий гипотетический идеальный дизайнер, то может это здорово. Но в текущем виде это довольно убогий инструмент.
Хотя у всего есть свои поклонники.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
Здравствуйте, Михаил Романов, Вы писали:
МР>Однако, VSTO это ныне устаревшая технология. Современные расширения разрабатываются на связке HTML+CSS+JS, а в качестве библиотеки стандартных контролов (и вообще UI Framework) используется Office UI Fabric
И не потому, что WinForms или WPF плохи, а потому, что облако и Office 365 в нем с Web-мордой.
Я в свое врем думал, почему MS, имя крутой для своего времени встраиваемый IE6 не сделала UI-решение еще для первой версии .Net на HTML+CSS+JS, глядишь, и WPF громоздить бы не понадобилось.
Re[8]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
Здравствуйте, aloch, Вы писали:
A>И не потому, что WinForms или WPF плохи, а потому, что облако и Office 365 в нем с Web-мордой.
Да. Плюс такое решение оказалось проще переносить на другие платформы где есть или планируется быть Office
Но, блин, в VSTO было вложено просто огромное количество сил, и до его текущего состояния нынешним Add-ins еще не один год развития. А VSTO "всё" (правда, по схеме SilverLight — явно ничего не объявлялось, но все всё и так поняли).
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, licedey, Вы писали:
VD>Но все эти шаблоны, гриды и прочие дизайнер не очень то позволяет присвоить. Все же это язык. А дизайнер не позволяет читать этот язык. Он позволяет смотреть результат. А в результате уже шаблонов нет.
VD>Ну, и дизайнер XAML-а дико тормозит и глючит частенько.
VD>Если приставить некий гипотетический идеальный дизайнер, то может это здорово. Но в текущем виде это довольно убогий инструмент.
Вот именно, что в текущем виде мы имеем, что громоздкий не только XAML, но и убогий дизайнер. На который к слову лучше забить и писать XAML (еще лучше JSON конечно).
А хотелось бы вот что: расчерчивать лэйаут как на доске, и правой кнопкой уже детализировать — что это — грид, панель, датагрид, меню, и так вплоть до кнопок и текстбоксов. Скажем постепенная детализация UI, начиная с разметки или чертежа, заканчивая ответом на вопрос "Что это за квадратик" — правой кнопой можно задать, что это Grid. "А что это за прямоугольник внутри грида?" — в выпадающем меню выбираем button. "А как выглядит этот button?" итд.
Попробовал изобразить мысль с лэйаутом в Paint'e
Re[9]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
A>Здравствуйте, Михаил Романов, Вы писали:
A>Так VSTO вроде на месте и с ним все хорошо. или уже нет?
Я же говорю — так же, как SilverLight. Т.е. официального закрытия не было, выпиливать из VS его не стали, но последняя версия VSTO — 4-я, а это 2010 студия и офис (точнее, выходила еще 4.5 для поддержки Office 2013 и Office 2016, но там никаких изменений практически не было — только PIA новые).
Ну и в документации на VSTO везде вставлен баннер с предложением перейти на новую модель.
Т.е.
Использовать можно
Нововведений и поддержки новых возможностей ждать не стоит
В любой момент могут закрыть окончательно
Здравствуйте, licedey, Вы писали:
L>Мы говорим про XAML, с иерархичной структурой и десятком тегов. а конкретнее я имел ввиду layout — быстрее нарисовать, чем прописывать эти Width, Height, вложенность итд.
Слишком узкий взгляд на вещи. Разметка — это не только ГДЕ, но и КАК. Практически невозможно объяснить XAML'у при помощи карандаша, что у тебя не грид, а док-панель и что нарисованная кнопка должна выравниваться вправо. Короче, "визуальные рисовалки" — глупости для детей, в мире декларативного UI они не нужны. Тем более, что XAML-код пишется вообще ненапряжно, а потом только дополняется элементами.
Re[5]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
Здравствуйте, 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
Здравствуйте, TechL, Вы писали:
TL>А хотелось бы вот что: расчерчивать лэйаут как на доске, и правой кнопкой уже детализировать — что это — грид, панель, датагрид, меню, и так вплоть до кнопок и текстбоксов. Скажем постепенная детализация UI, начиная с разметки или чертежа, заканчивая ответом на вопрос "Что это за квадратик" — правой кнопой можно задать, что это Grid. "А что это за прямоугольник внутри грида?" — в выпадающем меню выбираем button. "А как выглядит этот button?" итд.
Ну вот у меня (не в WPF) прямо так и работает. Только собственно "чертить" (в смысле графически) ничего не надо — и это тоже делается само. А всё управление заключается в перетаскивание лэйаутов по дереву. При этом в соседнем окне отображается превьюшка, которая в точности напоминает эту твою картинку.
Здравствуйте, Kolesiki, Вы писали:
L>>Мы говорим про XAML, с иерархичной структурой и десятком тегов. а конкретнее я имел ввиду layout — быстрее нарисовать, чем прописывать эти Width, Height, вложенность итд. K>Слишком узкий взгляд на вещи. Разметка — это не только ГДЕ, но и КАК. Практически невозможно объяснить XAML'у при помощи карандаша, что у тебя не грид, а док-панель и что нарисованная кнопка должна выравниваться вправо.
Ну не знаю как в мире XAML, но в других это делается элементарно (все эти выравнивания и т.п. задаются в один клик мыши) и отлично работает уже много лет.
K>Короче, "визуальные рисовалки" — глупости для детей, в мире декларативного UI они не нужны.
Это всего лишь твоё личное мнение. )
K>Тем более, что XAML-код пишется вообще ненапряжно, а потом только дополняется элементами.
Конечно пишется без проблем. Только вот во много раз дольше, чем аналогичная работа в визуальном редакторе. Скажем результат, достигнутый на видео из первого сообщения темы, я получу где-то за минуту (вместо 25 минут на видео) неторопливого шевеления мышкой. )))
Re[7]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
Здравствуйте, aloch, Вы писали:
A>Расскажи ка нам без грубостей, чем так плох COM? Что там протухло, например?
В контексте данной темы там протухло все. протухло OLE, протухли ActiveX, протухли апартенты и библиотеки типов, протух DCOM и COM+ протухли прокси и стабы наконец...
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[8]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
Здравствуйте, TK, Вы писали:
TK>Здравствуйте, aloch, Вы писали:
A>>Расскажи ка нам без грубостей, чем так плох COM? Что там протухло, например?
TK>В контексте данной темы там протухло все. протухло OLE, протухли ActiveX, протухли апартенты и библиотеки типов, протух DCOM и COM+ протухли прокси и стабы наконец...
Т.е. когда я вызываю CoInitializeEx и потом через COM поднимаю хост .Net в процессе, чтоб заиспользовать там WPF, тухлость до WPF доходит или нет? Или в контексте этой темы свежайший JSON выступает оберегом.
А сесли серьезно, хотелось конкретики. И именно от колесиков.
Re[9]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
Здравствуйте, aloch, Вы писали:
TK>>В контексте данной темы там протухло все. протухло OLE, протухли ActiveX, протухли апартенты и библиотеки типов, протух DCOM и COM+ протухли прокси и стабы наконец...
A>Т.е. когда я вызываю CoInitializeEx и потом через COM поднимаю хост .Net в процессе, чтоб заиспользовать там WPF, тухлость до WPF доходит или нет?
А тут не важно — с хвоста оно тухнет или с головы — протухнет все. Вы берёте технологию 90х и добавляете что-то из ранних 00х тут все от условий хранения зависит...
A>А сесли серьезно, хотелось конкретики. И именно от колесиков.
Легко — давайте код где будет CoInitializeEx и так дальше до WPF — сразу будет конкретика где тухлость, а где вторичный продует.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[10]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
Здравствуйте, Kolesiki, Вы писали:
K>Слишком узкий взгляд на вещи. Разметка — это не только ГДЕ, но и КАК. Практически невозможно объяснить XAML'у при помощи карандаша, что у тебя не грид, а док-панель и что нарисованная кнопка должна выравниваться вправо. Короче, "визуальные рисовалки" — глупости для детей, в мире декларативного UI они не нужны. Тем более, что XAML-код пишется вообще ненапряжно, а потом только дополняется элементами.
Возможно объяснить правой кнопкой мыши, что у тебя Grid или DockPanel. Ты вообще не понял идеи, выше Vlad2 ответил.
Re[12]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
Здравствуйте, TK, Вы писали:
TK>Здравствуйте, aloch, Вы писали:
A>>Ты — колесики? Вообще — похож.
TK> Код то у вас есть? Вы вообще представляете во что выльется от поднять .net хост до заиспользовать через него WPF?
Вполне. Естественно, WPF поднимается уже в дотнетовской сборке, с которой из C++ взаимодействуем с через тухлый COM.
Я через тухлый COM .Net/WPF в VB6 IDE поднимаю, есть такая необходимость.
Re[2]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
Здравствуйте, licedey, Вы писали:
L>Большой Респект ionoy и VladD2 за то что довели до релиза этот проект. У меня была подобная идея, только вместо JSON, я использовал что-то близкое к Python-style. L>Тобишь совсем без скобок, а одни отсутпы. Довел до прототипа, который генерит из этого простенького ML -> C#-классы. Можем поближе пообщаться..
Ammy тоже сначала код генерировала, но оказалось что некоторые вещи через код не сделать (см. шаблоны и UWP).
Если есть предложения, то пиши конечно. На первой странице сайта, внизу есть ссылки на гиттер и мыло.
Здравствуйте, 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
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, 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>
Здравствуйте, ionoy, Вы писали:
I>Вывод типов будет работать далеко не всегда, потому что далеко не всегда тип можно вывести в компайл-тайм. Не знаю, стоит ли добавлять такую фишку, которая то работает, то нет.
А когда тип известен только в рантайме?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, ionoy, Вы писали:
I>Большая часть источников биндинга ничего не знает о типе. Ресурсы, датаконекст из кода, ElementName если он в родительском контроле.
А вот это свойство Name тоже неизвестно во время компиляции?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, ionoy, Вы писали:
I>Вывод типов будет работать далеко не всегда, потому что далеко не всегда тип можно вывести в компайл-тайм. Не знаю, стоит ли добавлять такую фишку, которая то работает, то нет.
А зачем вообще там тип? Биндинг все равно динамически работает.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
Здравствуйте, Venom, Вы писали:
V>Здравствуйте, licedey, Вы писали:
L>>только вместо JSON, я использовал что-то близкое к Python-style. L>>Тобишь совсем без скобок, а одни отсутпы. V>YAML?
Не YAML
className1
field1, field2
field3.
property1
int property2.
method1
method2(param1)
className2
prop1
int prop2
На выходе 2 файла: ClassName1.cs ClassName2.cs с определенными полями, свойствами и методами.
Re[7]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
Пока время не вышло — я благополучно профукал весь этот тред. Прежде всего хотелось бы извиниться за необоснованно дерзкий ответ. Прошу прощения если обидел.
По теме — потом, сейчас руки не дотянуться. Да и там наверное не так много чего есть сказать. Основная идея что eventlog — ужасен. А etw — далек от удобства. Пересечение найти — вообще тяжело. Есть ситуации где выбора нет. А есть — где мы себе хозяева. Я, к примеру, анализирую логи самописными тулзами. Но там самописные (текстовые) данные. Т.е. это не относится к каким-то специфичным вещам, а наоборот прикладуха. Хотя в общем смысле — должно быть пофигу. Но, я всё равно этим постом не про это. А про то, что:
Ещё раз прошу прощения, прочитал сам — и ужаснулся.
Re[11]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
Во-первых, я по скудоумию, выкинул из ума, что там действительно COM. Иронично — что последний мой плагин — на чистом COM хоть и под дотнет. Да-да, с этими долбанными шимами. Ну да ладно. Давно делал, да и ничего интересного в этом нет.
В рамках топика — я прежде всего намекал на то, что весь офис работает на нативных окнах — и никакие там WPF рядом не валялись. Более того — Outlook — может создавать много "главных" окон. Это некоторых ставит совсем в тупик.
Насчет office365 — то тут — гуляйте ребята. Можете сделать хоть office999 — но, лично для меня — или gmail/inbox/whatever — или идите в... другое место.
Или сделайте нормальный десктопный клиент. Т.е. доступ к office365 у меня есть и так. Но зачем он мне? У меня есть нормальный десктопный офис. И он — делает всех банально по удобству, хотя и он не идеал.
Кто-то от него что-ли собирается отказаться? Я пропустил?
Re[7]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
Здравствуйте, fddima, Вы писали:
F>Здравствуйте, _NN_, Вы писали:
F> Пока время не вышло — я благополучно профукал весь этот тред. Прежде всего хотелось бы извиниться за необоснованно дерзкий ответ. Прошу прощения если обидел.
мир ,дружба ,пиво
Здравствуйте, fddima, Вы писали:
F> Основная идея что eventlog — ужасен. А etw — далек от удобства.
А можно, если будет возможность, раскрыть поподробнее — чем ужасен eventlog?
Я имею в виду современный (начиная с Vista) EventLog, который, по сути, и ETW (только немного сбоку), а не тот, что был в NT.
Или вы какраз про NT-шный?
Re[12]: Хочу похвастаться! Первый язык на основе Nitra - AMMY
Здравствуйте, fddima, Вы писали:
F> Кто-то от него что-ли собирается отказаться? Я пропустил?
Нет, на сколько я знаю, отказываться не собираются и даже более того — хотят развивать и зарабатывать.
Беда (или не беда — кому как), что из-за растущей кросс-платформенности (тут не только Office Online, тут и версии под мобильные, и OSX, и ...) в качестве механизма расширений были выбраны связка HTML/CSS + JS.
Ну и собственно моя печаль в том, что бурно развивавшийся VSTO (.Net платформа для плагинов) — более не развивается, а JS Add-ins до него еще очень далеко.
P.S. Ну и чтобы связать с темой стартового сообщения — VSTO Add-ins были одной из облластей, где плагины всё больше делали на WPF (другой вопрос — сколько этих плагинов делали в принципе...), а теперь WPF и там не нужен стал.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, AndrewVK, Вы писали:
AVK>>А зачем вообще там тип? Биндинг все равно динамически работает.
VD>Более интересный вопрос: зачем биндинги динамически работают, когда можно было все статически проверить?
VD>Динамика без необходимости — зло.
Ага. Я вот тоже всегда не понимал, зачем биндинг динамичексим делают.
К счастью, теперь это даже до Микрософтовцев дошло.
В новой версии UWP есть новый статический биндинг ({x:Bind ...) — синтаксис похожий, но работает через кодогенерацию вместо рефлекшена.
Все строго типизированно и работает в разы быстрее.
Здравствуйте, Евгений Акиньшин, Вы писали:
ЕА>К счастью, теперь это даже до Микрософтовцев дошло. ЕА>В новой версии UWP есть новый статический биндинг ({x:Bind ...) — синтаксис похожий, но работает через кодогенерацию вместо рефлекшена. ЕА>Все строго типизированно и работает в разы быстрее.
Ну, вот и надо все это за Ammy скрывать. В нем все должно быть типизированно, а там уже, под капотом, будет самое решать нужна эти типизация нижлежащей платформе или нет.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Ну, вот и надо все это за Ammy скрывать. В нем все должно быть типизированно, а там уже, под капотом, будет самое решать нужна эти типизация нижлежащей платформе или нет.
Я тебе выше привёл примеры где типизация невозможна. А заставлять пользователей вручную указывать тип — это не наш вариант.
Здравствуйте, VladD2, Вы писали:
I>>А заставлять пользователей вручную указывать тип — это не наш вариант.
VD>Ну, почему же? Я лучше тип укажу и буду иметь интелисенс и проверки.
Можно добавить опциональную типизацию как в том же TypeScript.
VD>Плюс типы ведь можно и выводить.
Здравствуйте, koandrew, Вы писали:
I>>Вообще-то Ammy, а не AMMY. Так что никак не расшифровывается. И к Ammyy отношения не имеет
K>Имя вышей жены/подруги?
Здравствуйте, ionoy, Вы писали:
I>Здравствуйте, VladD2, Вы писали:
VD>>Ну, вот и надо все это за Ammy скрывать. В нем все должно быть типизированно, а там уже, под капотом, будет самое решать нужна эти типизация нижлежащей платформе или нет.
I>Я тебе выше привёл примеры где типизация невозможна. А заставлять пользователей вручную указывать тип — это не наш вариант.
У меня вот со старым нетипизированным биндингом после любого рефакторинга чего-нибудь где-нибудь молча отваливается
Так что нет уж, лучше я тип укажу
Конечно можно — в него есть строготипизированные райтеры. Но как его не читай — оно получается сильно мпдленнее чем прогрепать 10гб текста. А что — сами не замечали 1-2 секунды задержки? Или считаем что это mmc торомозит? Нет. Это тор озит именно иуповатая вычитка. Сами же идеи по записи типижированных эвентов — правильны. Вопрос в понимании. В сыром остатке — текстовые логи рулят. Но не потомучто нетекмтовын — ерунда. Нет. Просто с текстовыми — нет нужды в спец тулзах. А в случае винды — когда родное работает весьма странно — то это естественно, что люди самоустраняются от туда.
Еще раз: технологически — хорошая штука. Практически — крайне неудобная.
Re: Хочу похвастаться! Первый язык на основе Nitra - AMMY
Здравствуйте, VladD2, Вы писали:
VD>А вроде с Avalonia были проблемы с платформами. Решил?
С Avalonia как раз было мало проблем в плане портирования.
VD>И кто такой NoesisGUI?
Интересный кроссплатформенный UI движок, который использует XAML как фронтенд: http://noesisengine.com/
У них API очень близок к WPF, так что с его портированием тоже не возникло больших проблем. Ну и самое главное, что там был человек заинтересованный в использовании Ammy, так что он очень помог.