ermouth: (Default)
[personal profile] ermouth

Примерно с полгода назад я выложил этот плагин в открытый доступ. За эти полгода плагин прошёл от версии 0.1 объемом в 6 кБ до версии 0.7.3 (20 кБ) которую я опубликовал только что.

Собсно, плагин этот развивается не из альтруистских побуждений. Этот плагин управляет отображением всех интерфейсов моей корпоративной системы.

Так вот, я только что задеплоил последнее базовое приложение этой системы – всё основное, что у нас было как внутрисетевые виндовые приложения, теперь в вебе.

 

Вот скриншотики кое-какие, НЕ кликабельные – лень было убирать данные.

Снимок экрана 2013-01-29 в 1.22.41Снимок экрана 2013-01-29 в 1.22.23

Снимок экрана 2013-01-29 в 1.16.30Снимок экрана 2013-01-29 в 1.24.20

Снимок экрана 2013-01-29 в 1.20.38Снимок экрана 2013-01-29 в 1.23.34

Снимок экрана 2013-01-29 в 1.18.26Снимок экрана 2013-01-29 в 1.17.38

Ну то-есть это всё сложные по преимуществу интерфейсы, оч интерактивные, причём интерактив этот реализуется не всплывающими окнами, а вполне себе навигацией по ссылкам и инлайновыми формами. Как вКонтактеге короче.

И конечно всё это огромное изобилие контролов взаимозависимых надо было как-то увязывать. Раньше для этого был InfoPath (это Винда и сопутствующий адовый гимор). Теперь у меня всё это в облаке с веб-интерфейсом.

Причём за эти полгода jQuery.my оптимизировался настолько – как в плане скорости, так и в плане потребления памяти, что самые сложные интерфейсы нашей корпоративной системы не лагают на планшетах. Более того, для планшетов и десктопов у меня единый код.

На сейчас jQuery.my позволяет создавать сложнейшие формы, превосходящие формы InfoPath по функционалу существенно и кратно более короткие по размерам манифестов. С подложенной платформой запуска и связи с БД это уже полноценные веб-приложения. Причём эти формы-виджеты:

  1. браузерно-независимы
  2. могут использовать в качестве контролов кучу сторонних плагинов, то-есть это как драйвера для сторонних плагинов
  3. могут сами служить как контролы и встраиваться в другие формы
  4. внешний вид и поведение формы-виджета целиком и полностью определяются одним манифестом, который просто javascript-объект – никакого спецсинтаксиса как в Angular или knockout, никаких нескольких файлов
  5. есть встроенные механизмы упаковки-распаковки манифестов в обычный json.

Пункты 3 и 4 дают возможность встраивать одни виджеты в другие и использовать код повторно. Во втором ряду соседние картинки используют одинаковый код для отображения стены.

Пункт 4 даёт возможность генерить манифесты на ходу, более того, у уже инициализированных виджетов можно менять манифест.

А пункт 5 даёт возможность хранить эти приложения в любой БД как строку и доставлять по запросу как json, а не как скрипт плюс html.

Я даже озаботился сравнением с AngularJS, воспроизвёл интерфейс одного из их примеров – получилось ровно столько же по длине, но reusable и в одном файле, а не в четырёх.

Ну и вот ещё несколько примеров с кодом. По-моему, код охуенно выразительный и простой.

И да, 10 лет назад в этот день была зарегистрирована моя первая компания )

Date: 2013-02-05 06:31 pm (UTC)
From: [identity profile] mr. casual (from livejournal.com)
Поздравляю с релизом и памятной датой :) Небольшая поправка:

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"

Date: 2013-02-05 06:37 pm (UTC)
From: [identity profile] ermouth.livejournal.com
Спс, поправил. Мой инглиш оставляет желать лучшего )

Profile

ermouth: (Default)
ermouth

November 2021

S M T W T F S
 123456
78910111213
14151617181920
21 222324252627
282930    

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 4th, 2025 03:36 pm
Powered by Dreamwidth Studios