1.1

diclamer: мы рады представить Вам новую версию Incoding framework с поддержкой MVD ( model view dispatcher ). Статья делает обзор всех изменений в версии 1.1, а также акцентирует внимание на основных моментах при обновлении.

Пошаговое обновление

  • Удален метод Form Is Valid

  •  Переименован метод Contains в IsContains

примечание: причина переименования в том, что string имеет встроенный метод Contains

  •  Удален метод Confirm

  •  Удален метод Exist

  •  Удален Selector.Incoding.Href

  • Группа Func выделена в отдельную группу

  •  Устарел ( Deprecated ) конструктор с IDispatcher для IncController

примечание: если в проекте не используется этот конструктор, то можно не регистрировать IncControllerFactory.

  • Устарел (Deprecated) Not

  • Устарел (Deprecated)  Eval ( в рамках If )

примечание: можно использовать вместо Call аналогичный метод Eval, но сопровождение функций намного проще, также важно то, что с каждой новой версией количество вызовов Eval становится все меньше из-за расширения возможностей framework.

  • Устарел (Deprecated) Eval

 примечание: очень удобно то, что Call поддерживает Selector в качестве параметров в метод

  • Изменился синтаксис настройки LoggingFactory

  •   Регистрация Template Factory в Bootstrapper.cs

Исправления

В процессе эксплуатации мы находили некоторые недоработки в версии 1.0 и в новом релизе исправили эти проблемы.

  • Inc-233 – проблема когда в рамках Inner each надо получить значение из объекта верхнего уровня. Для решения задачи был добавлен метод Up, который позволяет подниматься по уровням

  • Inc-178 – Selector в Store.Manipulate

  •  Inc-220 – Поддержка Unary expression для Is

 примечание: так же равнозначно и для отрицания.

Feature

  • Inc-190 – extensions для преобразования string в Selector

 примечание: каждый разработчик может написать дополнительные extensions для своих задач, к примеру если Вы часто используете Selector.Jquery.Tag, тогда подойдет “tr”.ToTag().

 примечание: Inc-128 и Inc-122 это часто используемые методы и поэтому они были включены в библиотеку, но можно расширить своими дополнительными методами.

  •  Inc-161 – метод Flush для repository

 примечание: детали работы метода flush

Мелочи, но приятно )

  • Inc-192 – перегрузка методов Closets, Find и т.д.

  •  Inc-194 – перегрузка методов IsInline , NotInline

Performance

 Версия 1.1 сделала шаг вперед в плане производительности при работе с  клиентскими template:

  1. Сache, построенный на базе Local Storage
  2. Поддержка пре-компилированных template
  3. Новый template engine Handlebars

Описание деталей работы template будут рассмотрены в отдельной статье ( в ближайшее время появится )

 MVD

Тема Model View Dispatcher непростая и требует отдельной статьи

 

Nuget

  • _Layout.cshtml – регистрация js скриптов
  • DispatcherController – для работы MVD
  • Bootstrapper.Start() – вызывает в global.asax

На видео демонстрируется работа нового Nuget пакета

Заключение

Статья не полностью отражает все изменения, поэтому в ближайшие время будет несколько развернутых статей по новому функционалу. Следующий релиз 2.0 запланирован на начало 2014 года, где будет доработан синтаксис IML и добавится новые методы в MVD.

Vlad Kopachinsky

I am a Senior developer at Incoding Software in Russian Federation. I created the Incoding Framework for rapid development

More Posts - Website - Twitter - Facebook - LinkedIn

Leave a Reply