Метка «web-framework»

в 9:06, , рубрики: .net, ASP, ASP.NET, asp.net mvc, nojs, метки: , , , , ,

image
disclaimer: статья является ответом на критику ( которая обрушилась на хабре ), раскрывая потенциал IML на примере популярного приложения ToDo MVC.

Получил тумаков

Критика – это слово крайне мягкое по отношению к дискуссии, которая возникла к моей предыдущей статье, потому что это было больше похоже на избиение в котором были крайне не приятные комментарии ( на фото топ бредовых ), но также и объективные:

  • Код на AngularJs не фонтан — сложно опровергнуть, хотя все они были с официального сайта и популярного руководства
  • Слабые примеры – упор был на задачи, а не на сценарии, но соглашусь что более комплексное решение более полно раскрывает потенциал ( я предложил некоторые наши проекты, которые открыты на open source, но они остались без внимания )
  • Не знаешь AngularJs ? – по понятным причинам это очень сильно задело разработчиков AngularJs
  • Топик JS – это серьезная ошибка, потому что не используя asp.net mvc, сложно понять прелести типизированных TextBoxFor и других расширений.

Почему ToDo ?

В комментариях предложили попробовать реализовать “Todo MVC” в качестве доказательства возможностей IML и сейчас мы посмотрим что из этого получилось. Во первых demo версия, которая имеет одно отличите от тех, что представлены для js framework, в том, что в качестве хранилища используется не local storage, а база данных, а также исходный код, который мы будем разбирать далее в посте. В процессе реализации я строил всю логику ( расчеты подвала, скрытие элементов и т.д. ) на клиенте, хотя на реальных задачах, проще ( иногда необходимо ) обновлять “точечно” элементы, которые имея IML код, знают, как себя вычислить и отобразить.

Code review

Стиль повествования в этот раз будет не сравнение одного решения с другим (иначе объем материала будет большим ), а обзор кода, который получится при реализации приложения todo. Я упоминал выше о том, что в реализации IML присутствует и серверная часть, но в целях уравнивания решаемых задач для более объективного сравнения, сфокусируемся только на клиентской части.

Читать полностью »

image

disclaimer: сравнение не подразумевает поднятие “холивара”, а делает обзор задач, решаемых одним инструментом в сравнении с другим. Я не являюсь знатоком всех тонкостей angularJs, но прочитав 10 статьей обзора этого инструмента, привожу альтернативный пример решения тех же самых задач на IML.
Читать полностью »

image

Пара слов о себе — я работаю в компании Incoding Software, которая много лет успешно занимается аутсорсингом, выполняя Internet и Intranet проекты в различных областях ( медицина, доски объявлений, социальные сети и многое другое)

Incoding Framework — это клиент / серверное решение для разработки веб проектов на платформе asp.net mvc.

Состоит из трех частей:

  • Серверная — реализация CQRS и Event Broker
  • Unit Test Contrib — набор утилит и сценариев для быстрого написания тестов
  • Клиентская — делится на:
    • IML — Декларативный язык ( Incoding Meta Language ), позволяющий описывать клиентские сценарии на C#
    • Model View Dispatcher ( MVD ) — CQRS на MVC, позволяет исполнять Command и Query без написания промежуточных Controller

примечание: особенность Incoding Framework в том, что каждая часть интегрируется между собой ( IML использует MVD для AJAX, MVD исполняет CQRS и т.д ), но позволяет применять по отдельности ( на Nuget 3 независимых пакета )

Так как рассмотреть каждую часть framework в одной статье не получится, то будет сделан акцент на самом интересном компоненте нашей библиотеки — это IML. Почему я выделил именно клиентскую часть, дело в том, что CQRS, Event Broker и Unit Test имеют множество аналогов в “мире” .net и быстро заинтересовать ( хотя мы имеем ряд особенностей ) крайне трудно, но IML это инструмент, который пока не имеет прямых аналогов.
Читать полностью »

Создание веб фреймворка под свои нужды [Часть 1/3]
Добрый день, %username%!
Сегодня я хочу рассказать вам, как легко и удобно написать свой небольшой веб фреймворк на языке программирования php, для использования в личных целях, в не больших проектах. Отчасти это удобно тогда, когда вам требуется создать не большую систему, или заказчик просто не разрешает использовать чужие технологии. Вам может показаться, что это довольно сложная вещь, но всё оказывается иначе. Подробнее под катом.Читать полностью »

О Mojolicious уже написано какое-то количество статей из которых можно получить общие впечатления о этом веб-фреймворке. Читая публикации можно понять, как легко разворачивается приложение, в том числе и PSGI, маштабируется, взаимодействует с веб-серверами и выдерживает высокие нагрузки. Всё это хорошо, конечно, но почему-то нет статьи о том, как запустить приложение на обыкновенном вирутальном хостинге. Хотя, может быть её нет по тому, что это сделать до неприличия просто?
Читать полностью »

Сегодня, спустя 8 месяцев разработки, была выпущена версия 3.0 веб-фреймворка Mojolicious.

Mojolicious 3.0

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

Новая версия, под кодовым названием «Rainbow», это первый релиз образованной группы, в которую входят Glen Hinkle, Abhijit Menon-Sen, Marcus Ramberg и сам Sebastian Riedel. Как известно, двое последних — участники основной группы, разрабатывавшей Catalyst. Так же, количество форков на гитхабе подбирается к семи сотням, а все вместе это говорит о развитии фреймворка и его растущей популярности.
Читать полностью »

13 марта состоялся релиз второй версии scala/java-фреймворка Play. На хабре уже был обзор новых фич Play 2.0. В этой же статье я хочу восполнить пробел в отсутствии мануалов на русском языке по этому интересному фреймворку на примере создания простого приложения на Java, состоящего из списка категорий и привязанных к ним вакансий.

Статья рассчитана на тех, кто совсем не знаком с Play и хотел бы его «пощупать», не тратя много времени.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js