Здравствуйте, ionoy, Вы писали:
I>Можно пару примеров из других подобных фреймворков? А то я честно говоря не понимаю о чём речь идёт.
Spring Framework и т д
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, ionoy, Вы писали:
I>>Можно пару примеров из других подобных фреймворков? А то я честно говоря не понимаю о чём речь идёт. А>Spring Framework и т д
Что Spring Framework? Каким боком он подобен NemerleWeb?
Здравствуйте, <Аноним>, Вы писали:
I>>Можно пару примеров из других подобных фреймворков? А то я честно говоря не понимаю о чём речь идёт. А>Spring Framework и т д
Ну, так используй, кто тебе мешает? NemerleWeb это система построения ГУИ. Она берет на себя все, что связано с созданием ГУИ в браузере и обмен данными с сервером. Всё остальное не её забота.
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
I>>Можно пару примеров из других подобных фреймворков? А то я честно говоря не понимаю о чём речь идёт. А>Spring Framework и т д
Я бы понял, если б упомянули django (своя orm, которую хрен от туда выкорчуешь) или ROR (своя orm, которую хрен кому придет в голову идея выкорчевывать).
А что в спринге такого искаробочного в плане Бд? Транзакции? Спрингдата, где надо конкатенировать строки как в 90х?
В любом случае, надуманная проблема. Список библиотек для организации DAL в дотнете известен и был приведен выше.
Какая и зачем предполагается интеграция этого в веб-фреймворк из примера со спрингом не ясно.
Здравствуйте, STDray, Вы писали:
I>>>Можно пару примеров из других подобных фреймворков? А то я честно говоря не понимаю о чём речь идёт. А>>Spring Framework и т д STD>Я бы понял, если б упомянули django (своя orm, которую хрен от туда выкорчуешь) или ROR (своя orm, которую хрен кому придет в голову идея выкорчевывать). STD>А что в спринге такого искаробочного в плане Бд? Транзакции? Спрингдата, где надо конкатенировать строки как в 90х? STD>В любом случае, надуманная проблема. Список библиотек для организации DAL в дотнете известен и был приведен выше. STD>Какая и зачем предполагается интеграция этого в веб-фреймворк из примера со спрингом не ясно.
Тем более что те же Django и RoR — это серверные фреймворки, на месте которых у нас ASP.NET MVC. Это я опять к тому, что работа с БД конкретно к NemerleWeb отношения не имеет.
Здравствуйте, STDray, Вы писали:
STD>Здравствуйте, ionoy, Вы писали:
I>>Исправил баг, который ломал функциональность в Strict Mode (IE). I>>Проверил в эмуляторе, WP7 и WP8 теперь должны работать. У самого WP8.1 так что на железе более старые версии проверить не могу.
STD>А сайт NemerleWeb обновлялся или нет? Потому что там ситуация сохраняется, попробовать забрать версию из репозитория смогу только вечером.
Да, обновляется автоматически. Вроде как всё работает
Здравствуйте, kekekeks, Вы писали:
K>Вы бы тут проанонсировали в момент публикации на хабре. А то там понабежала толпа людей не в теме, зато с негативным опытом от GWT.
Да, спасибо.
В общем по ссылке выше статья о NemerleWeb на хабре. Если есть что сказать, то пишите там в коментариях.
Просьба, если критиковать, то конструктивно. Пофлеймить мы и на рсдн можем.
Здравствуйте, kekekeks, Вы писали:
K>Вы бы тут проанонсировали в момент публикации на хабре. А то там понабежала толпа людей не в теме, зато с негативным опытом от GWT.
GWT можно по-разному готовить. У нас от него исключительно положительный опыт
С уважением, Евгений
JetBrains, Inc. "Develop with pleasure!"
Здравствуйте, kekekeks, Вы писали:
K>Вы бы тут проанонсировали в момент публикации на хабре. А то там понабежала толпа людей не в теме, зато с негативным опытом от GWT.
Мы также послали на публикацию в RSDN, но пока еще не опубликовали
Здравствуйте, ionoy, Вы писали:
I>Да, спасибо. I>В общем по ссылке выше статья о NemerleWeb на хабре. Если есть что сказать, то пишите там в коментариях.
Здравствуйте, ionoy, Вы писали:
А>>3. для списка List[Task] если возможно добавить перекрытие метода Add с параметрами конструктора Task I>А каким образом? Разве что макрос какой замутить, но это ведь обычный серверный код. Зачем его так коверкать?
А методы-расширения поддерживаются? Если "да", то это не сложно реализовать.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, ionoy, Вы писали:
I><# #> должен подкрашивать, тут вопрос в макросе Html. Я тут со всеми делами забыл про эту проблему, надо будет с Владом посоветоваться.
Что за проблема?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, ionoy, Вы писали:
I>Тут наверное надо сделать сноску. Дело в том, что серверные методы должны возвращать какое-то значение, даже если логически его может не быть. I>Но вообще можно генерировать null для void методов. I>... I>Все переменные на клиенте. Какой-либо синхронизации с сервером нет. Все данные передаются явно через вызовы методов, в которых как раз происходит автоматическая сериализация.
Такие вещи нужно в комментариях описывать. Чем меньше подразумеваемого, тем быстрее и проще поймут ваши примеры.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
А><tr $foreach(task in _tasks.OrderBy(t => t.Priority))>
А>
А>Не объяснено различие и почему сделано так, а не А>
А>$foreach(task in _tasks.OrderBy(t => t.Priority))
А>{
А><tr>
А>}
А>
Потому что так удобнее. Как сказал автор НВеба — их литералы сделаны поверх макры ХМЛ-литералов, которую писал я. Я почерпнул синтаксис у одного веб-фреймворка (уже не помню какого). Такой подход намного удобнее и позволяет четко контролировать валидность ХМЛ-я.
Тут нужно уточнить, что это не просто текст ХМТЛ-я. Это ДСЛ к его объектной модели. Так что еще на стадии компиляции делаются все проверки.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, ionoy, Вы писали:
I>Сравнение с другими решениями это не лучший способ познакомить с возможностями, имхо.
Ну, почему же? Объяснить преимущества по сравнению с другими походами — это очень даже хорошо. Особо здорово, если будет пример горы кода на АСП.НЭТ + ДжаваСктипт и короткий пример на НВебе.
I>NemerleWeb работает поверх ASP.NET MVC, он не занимается генерацией статических страниц. NemerleWeb — это чисто Single Page Application фреймворк, который умеет удобно общаться с сервером.
Кстати, сама идея использования ваших шаблонов для рендеренга ХТМЛ-я на сервер очень даже здравая. Иногда нужно срендерить статический ХТМЛ. В прочем, это можно и с помощью ХМЛ-литералов Немерла сделать.
I>Потому что такой подход позволяет удобно декомпозировать как логику, так и представление. А если очень хочется использовать разметку от дизайнера, то её можно почти 1 в 1 вставить в строку и разбавить директивами.
Думаю, что тут стоит отметить, что НВеб рассчитан на сложные интерактивные интерфейсы в которых дизайнер мало что может в принципе. Так что лучше дать дизайнеру рисовать прототипы и стили. Потом уже можно отлаживать стили на готовых формах. А НВеб — это средство турбореактивной разработки динамичных фом.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, ionoy, Вы писали:
B>>В общем, я б пока не рекомендовал публиковать статью — слишком много вопросов для заголовка, претендующего всё объяснить. I>Для этого и выложил сюда, чтобы определить что людям непонятно и как можно сделать статью доступнее для всех
Вам нужно на пальцах объяснить MVVM и показать, что это в разы эффективнее модификации HTML DOM с помощь ЖабаСкрипта. Как я понимаю, тут большинство людей не понимаю даже, что это конкурент именно ЖабаСкрипта и рукопашного формирования JSON-а на сервере.
Покажите "закат солнца вручную" на АСП.НЕТ МВЦ и ЖабаСкрипте и аналог этого кода на НВебе. Это будет куда нагляднее.
Хорошей идеей было бы сравнение со всеми имеющимися конкурентами на мелких примерах.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, btn1, Вы писали:
B>А когда шаблон придётся улучшать — опять вырезаем из исходника Немерли, правим, вставляем обратно?
Во-первых, выделенных дизайнеров имеют далеко не каждый сотый веб-разрабочик. У многих задачи не красоты наводить, а кучу интерактивных форм сделать. Тут ваш дизайнерских подход сольет по полной. Если же у тебя почти статический стайт с крутым дизайном от Артемия Лебедива (гы-гы), то это просто не твой фрейворк. Каждый сам выбирает подход. Не твой? Походим мимо.
Во-вторых, мы не в пещерном веке когда дизайн определялся ручным написанием ХТМЛ-я. Сегодня внешний вид, в основном, задается стилями. Я вот сейчас ваяю движок рендеринга сообщений с новым языком (аля Маркдаун) для РСДН. Ну, как я отдам дизайнеру то, что генерируется по микроскопическим кусочкам? Дизайнер (условно, так как у нас их попросту нет) мне нарисовал вот такую вот страничку. А я тупо генерирую div-ы и span-ы приставляя к ним нужные классы. Та же фигня со сложными пользовательскими интерфейсами. Функциональсность там так сложна, что толку от дизайнера при правке кода == 0. Пусть он прототипы рисует и шаблоны строгает. А я уже как-нить вставлю их минут за 5.
В общем, тут соревнование кто быстрее и проще. Если интерфейс сложный, то подходы с простынными шаблонами попросту не дают приемлемого результата за приемлемое время.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, WolfHound, Вы писали:
WH>Проблема в том, что они с мамутом думают, что это очередной шаблонизатор. WH>И хрен их убедишь, что они нихрена не поняли.
Ну, вот и надо это объяснить. Причем не для них, а для окружающего большинства. Чтобы таких вопросов не возникало.
Причем не стоит кого-то переубеждать, если он считает, что серверный шаблонизатор это лучшее что может быть и что ему именно это и надо. Если ему это надо, то пусть выберет его. А вот если возможностей не хватает, так как нужно воять интерактивный пользовательсткий интерфейс, то НВеб — это отличное решение. Короче, не надо навязывать изо всех сил. Не надо? Проходите мимо. Мы сделали решение для других. Для тех кому этот подход кажется удобным.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.