Главная
Блог разработчиков phpBB
 
+ 17 предустановленных модов
+ SEO-оптимизация форума
+ авторизация через соц. сети
+ защита от спама

Incoding rapid development framework

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

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

Состоит из 3 частей:

  • Серверная — реализация 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 это инструмент, тот, что пока не имеет прямых аналогов.

Не имеет аналогов, то как решаются задачи ?

У IML нет прямых аналогов, но безусловно есть косвенные:

  • JavaScript
  • Jquery
  • AngularJS, Backbone, Marionette
  • TypeScript
Без JavaScript, не возвести веб сайт

Вам доводится бороться со всеми трудностями:

  • Ошибки только в runtime
  • Динамическая составляющая языка, которая становится задачей в крупных приложениях
  • Оказывается null бывает различный ( null, undefined, ‘undefined’ )
  • И многие другие “прелести” нетипизированных языков
Не слышал, у меня же Jquery

С возникновением Jquery разработка веб приложений стала проще, но с ростом трудности приложений на клиентской стороне скриптовый подход к написанию кода стал не оправдан из-за нарастающего яруса дубляжа, а такие «особенности» JavaScript, как всеобщии функции и переменные ещё огромнее усложняют поддержку больших планов.

Отлично, возведем архитектуру на UI

Зодчество MVVM либо MVС, построенная на JS, обеспечивает коммуникацию с сервером, но когда на стороне заказчика возникает своя модель, то доводится её синхронизировать с той, что на серверной стороне и это разделяет разработчиков на front end и back end.
примечание: идея распределения программистов на серверных и клиентских, кажется весьма неудачной, потому что доводится согласовывать их действия и неизменно, кто-то работает стремительней, а кто-то неторопливей, но если этого не делать, то разработчик должен знать особенности разработки на всякой стороне.

Дабы не строить архитектуру с нуля, дозволено воспользоватся готовыми JavaScript framework, скажем AngularJS, но тогда, Вам нужно писать Controller, Routes и многое другое, повторяя теснее присутствующий код на asp.net mvc.Основная задача, всех javascript framework, это то, что Вам нужно писать JS код

О, а если без JS

В последние время прогрессирует склонность написания JavaScript, применяя типизированный интерпретатор либо альтернативный язык
TypeScript — это вероятность писать JavaScript, но в C# сходственном синтаксисе. В чем тогда различие TypeScript от IML:

  • не имеет готовых функций ( IML это декларативный язык, тот, что описывает поведение, но не реализацию )
  • нужно учить новейший язык ( IML это C# )
  • нужно устанавливать дополнительных утилит для образования результирующего JS ( IML это C# )
  • не имеет интеeateComplete(true) } @using (each.Not(r => r.IsComplete)) { @createComplete(false) }

Прямо таки все отлично?

Приведу список негативных моментов Incoding Framework

  • Малое сообщество — для open source планов, дюже значимо иметь единомышленников, но пока инструмент используется в рамках
    нашей компании и несколькими знакомыми командами
  • Нужно постигать — мы движемся в сторону уменьшения материалов, которые нужно исследовать для плодотворного применения Incoding Framework, но инструмент покрывает каждый цикл разработки
  • Документация — за прошлый год было выложено 2 плана на open source и опубликовано 20 постов в блоге, но пока ещё не все детали освещены

Прочитал и решил испробовать

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

Завершение

В начале я написал, что наша компания занимается различными планами, я подчеркнул, что круг решаемых задач, тот, что стоит перед Incoding Framework дюже огромный. Многие скажут, что фактически всякая фирма разрабатывает для себя свой framework, но мне кажется у нас получился инструмент, тот, что может быть использован и другими командами.

P.S. Рад услышать отзывы и примечания

Источник: programmingmaster.ru
Оставить комментарий
Форум phpBB, русская поддержка форума phpBB
Рейтинг@Mail.ru 2008 - 2017 © BB3x.ru - русская поддержка форума phpBB