IML TODO
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 присутствует и серверная часть, но в целях уравнивания решаемых задач для более объективного сравнения, сфокусируемся только на клиентской части.Читать дальше →