• MaskJS — HMV* фреймворк


      Разрабатывая MaskJS вот уже больше полугода, удалось превратить DOM шаблонизатор в очень мощный, но при этом производительный веб фреймворк. В статье познакомлю вас с возможно интересными подходами к разработки. Уверен, будет интересно почитать о использовании сигналов и слотов вместо DOM событий. И как компоненты делают нашу жизнь проще. Маска легко интегрируется в уже готовый проект, и даже может быть использована вместе с любым другим фреймворком. Основным же отличием наверное является render flow, где в процессе поэтапно создается Document Fragment / контроллеры / «биндинги». Собственно всю гибкость даже сложно передать, но я попробую, и приглашаю под кат.
      Читать дальше →
    • Преимущества произвольных тегов, или как я отказался от HTML разметки

        Уже какое то время использую/разрабатываю библиотеку MaskJS. Вначале использовал её только как движок для шаблонов, а со временем, она полностью заменила HTML. В статье расскажу какими преимуществами обладает компонентный подход в разработке приложений и данная реализация в частности. Если выделить по-пунктам, то мы получим приблизительно такой список:
        • Скорость
        • Обработчики тегов
        • Пре- и Пост-процессоры
        • IoC
        • Изоляция/Декомпозиция
        • Разметка — Модель — Код — Стили

        Более подробно о самой библиотеке и примеры можете посмотреть здесь — libjs/Mask, a исходники тут — github/Mask
        Читать дальше →
      • Другой IncludeJS

          Только не смейтесь. Наверное это самая лучшая вводная фраза — так как ну на самом деле, «Как? Ещё один сборщик скриптов?». Да, в посте пойдёт речь о ещё одной «личной наработке ». Постараюсь не просто вбросить ещё одну либу, а поразмышлять над тем, чем же это решение могло бы быть лучше миллиона других. Возможно у меня не получится донести до вас, все как есть, но я попытаюсь, а вы не судите строго. Это будет вторая статья в серии о компонентах и MVP. Если интересно можете ознакомиться с первой.

          Проблема компонент


          Часто компоненты/виджэты помимо скриптов состоят из других ресурсов — html разметки, стилей, картинок, компонентов. И вот, хотелось бы получить сборщик этих самых ресурсoв. Во время разработки указываете путь к директории с компонентами/библиотеками, подключаете нужное, а во время сборки html склеится в один, стили и javascript тоже, картинки скопируются в наше приложение — «Кушать подано». Прошу не пинать больно, такие «конструкторы» уже наверняка существуют, но подходящего я не нашёл — и к тому же, моей целью было не создать конкурирующий продукт, а сделать нужную мне вещь для себя.

          Здесь(github) эту вещь можно скачать/глянуть на апи. Того, кому эта тема показалась интересной, и кто готов уделить 10 минут на эту неумелую писанину, приглашаю под кат.

          Читать дальше →
        • MaskJS, поговорим о шаблонном движке, или новом велосипеде



            Вот, наконец дошли руки поделиться с людьми одним из множества велосипедов (как сейчас называют личные наработки). До хабраката пару плюсов и минусов этого решения:
            Из плюсов:
            • скорость jsperf (тест с прекомпилированными шаблонами: jsperf)
            • расширяемость := кастомные контролы, трансформация шаблонных данных
            • data bindings
            • компиляция в json для дальнейшего кэширования
            • приятный синтаксис (без мешанины логики и структуры)

            Из недостатков:
            • шаблонные данные могут находиться только в атрибутах и литералах (хотя, поверте — этого достаточно)

            Если тема интересная —
            Читать дальше →
          • Bada Web-based приложение: Взаимодействия C++ и Javascript

              Привет, хабрадруг!

              Коротко о главном: как известно, из С++ кода достаточно вызвать метод EvaluateJavascriptN для передачи данных или вызова события. А вот из Яваскрипта вызвать С++ метод пока что не возможно. Для этого нам придется воспользоваться очень уж железным ломом. Но если вам удобнее разрабатывать приложение на html/css/Javascript, но при этом вам нужен доступ к нативному коду и локальным файлам, то вам определенно под кат. Там мы рассмотрим этот ломик подробнее и заготовим себе Project Template для быстрого старта.
              Читать дальше →
            • Локализация .NET приложения, а в частности ASP.NET WebForms

              Привет Хабрадруг!
              Я, конечно, понимаю, что тема это уже заезжена до дыр, но попытаюсь описать мое видение локализации приложения и ее реализацию. И так, что мы хотим получить в итоге: Систему быстрой локализации .NET приложения, а в частности WebForms, на стадии пост разработки. По пунктам:

              1. Разработка приложения: минимум внимания локализации.
              2. Завершение разработки: минимум времени на локализацию.
              И ещё надо, что бы это все было максимально удобно и просто.

              Если коротко, то все будет выглядеть так:

              У нас будет метод, что то на подобии gettext, в который мы будем передавать какой-то текст, или ключ + текст, а метод в свою очередь нам вернет локализованную строку или же то, что было в него передано. А также будет утилита, которая пропарсит *.cs, *.aspx, *.ascx файлы в поисках этого самого метода, получит оттуда ключи и текст, посмотрит или данные тексты и ключи уже имеются в ресурсах приложения. Потом мы воспользуемся google translate, что бы хоть худо бедно, да перевести новые тексты. И напоследок отредактируем переводы и сохраним это все назад в ресурсы. Готово.
              Явно, что похожий, или может даже лучший механизм уже разработан, но полазив в интернете, увидел только мега тяжёлые и к тому-же платные решения.

              Читать дальше →