jQuery.my 0.7.3
Jan. 29th, 2013 02:32 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Примерно с полгода назад я выложил этот плагин в открытый доступ. За эти полгода плагин прошёл от версии 0.1 объемом в 6 кБ до версии 0.7.3 (20 кБ) которую я опубликовал только что.
Собсно, плагин этот развивается не из альтруистских побуждений. Этот плагин управляет отображением всех интерфейсов моей корпоративной системы.
Так вот, я только что задеплоил последнее базовое приложение этой системы – всё основное, что у нас было как внутрисетевые виндовые приложения, теперь в вебе.
Вот скриншотики кое-какие, НЕ кликабельные – лень было убирать данные.
Ну то-есть это всё сложные по преимуществу интерфейсы, оч интерактивные, причём интерактив этот реализуется не всплывающими окнами, а вполне себе навигацией по ссылкам и инлайновыми формами. Как вКонтактеге короче.
И конечно всё это огромное изобилие контролов взаимозависимых надо было как-то увязывать. Раньше для этого был InfoPath (это Винда и сопутствующий адовый гимор). Теперь у меня всё это в облаке с веб-интерфейсом.
Причём за эти полгода jQuery.my оптимизировался настолько – как в плане скорости, так и в плане потребления памяти, что самые сложные интерфейсы нашей корпоративной системы не лагают на планшетах. Более того, для планшетов и десктопов у меня единый код.
На сейчас jQuery.my позволяет создавать сложнейшие формы, превосходящие формы InfoPath по функционалу существенно и кратно более короткие по размерам манифестов. С подложенной платформой запуска и связи с БД это уже полноценные веб-приложения. Причём эти формы-виджеты:
- браузерно-независимы
- могут использовать в качестве контролов кучу сторонних плагинов, то-есть это как драйвера для сторонних плагинов
- могут сами служить как контролы и встраиваться в другие формы
- внешний вид и поведение формы-виджета целиком и полностью определяются одним манифестом, который просто javascript-объект – никакого спецсинтаксиса как в Angular или knockout, никаких нескольких файлов
- есть встроенные механизмы упаковки-распаковки манифестов в обычный json.
Пункты 3 и 4 дают возможность встраивать одни виджеты в другие и использовать код повторно. Во втором ряду соседние картинки используют одинаковый код для отображения стены.
Пункт 4 даёт возможность генерить манифесты на ходу, более того, у уже инициализированных виджетов можно менять манифест.
А пункт 5 даёт возможность хранить эти приложения в любой БД как строку и доставлять по запросу как json, а не как скрипт плюс html.
Я даже озаботился сравнением с AngularJS, воспроизвёл интерфейс одного из их примеров – получилось ровно столько же по длине, но reusable и в одном файле, а не в четырёх.
Ну и вот ещё несколько примеров с кодом. По-моему, код охуенно выразительный и простой.
И да, 10 лет назад в этот день была зарегистрирована моя первая компания )
no subject
Date: 2013-02-05 06:31 pm (UTC)How jQuery.my works
Every form has controls. Some of them can receive input (whatever it means), others only display information. jQuery.my just catch a moment when the watched control is updated.
"just catches"
no subject
Date: 2013-02-05 06:37 pm (UTC)