GWT Pleso Framework - Перший публічний випуск
Опубліковано Андрій Скалюк, Олександр Приймак - 15.10.2007, 19:52Теги: gwt-pf
17.08.2007 ми випустили першу публічну версію продуту GWT-PF під відкритою ліцензією LGPL. З прикладним описом фреймворку можливо ознайомитися на відповідних сторінках із описом, переглянути демо, базову документацію та звісно завантажити весь вихідний код. Доступна також його стисла історія та плани розвитоку в розрізі функціоналу, та цим постом ми хотіли б трішки пояснити причини його виникнення та загального застосування.
Гадаємо неодноразово довелося зустрічатися із насиченими інтерфейсами користувача для інформаційних систем. Прикладом будуть слугувати проекти побудовані на основі реляційних баз даних, та що потребують великої кількості точок взаємодії з користувачем. Подібні адміністративні панелі дуже типові для багатьох бізнес-проектів, де при розробці виникає очевидна проблема створення та підтримки маси хоча й різноманітних довідників та форм, та з великою кількістю типових елементів.
Замовники часто цікавляться можливістю створення подібних рішень без необхідності прив'язки до робочого місця, додаткового програмного забезпечення, що дедалі схиляє до вибіру веб-технологій як платформи створення інтерфейсу. В той же час користувач вимагає динамічний, зручний, desktop-подібний веб-додаток з можливістю просто та наочно керувати і представляти свої дані.
Якщо не вдаватися наразі глибоко до аргументації, очевидною стає вимога до створення самого інтерфейсу - це використання великої кількості JavaScript та AJAX-технологій для досягнення динамічності та зручності. Хоча й на перший погляд це не є чимось незвичайним та сладним, та у прикладному проекті навіть із десятками форм відчуваються недоліки рішень, побудованих безпосередньо на ручному дизайні форм в поєднанні із написанням коду на JavaScript. Складність внесення змін, відсутність відлагоджування, постійна турбота щодо крос-браузерної сумісності - це все просто перешкоджатиме розробці, а особливо розвитку.
Для таких задач доречно використати розробку Google Web Toolkit (GWT) - це open source фреймворк розробки візуальних AJAX додатків рівня GMail або Google Maps. Найвизначнішим є момент, що вся розробка проходить на Java, з можливістю відлагодження, меншого приділення уваги проблемам крос-браузерності та ніякої безпосередньої роботи із JavaScript, що буде автоматично згенерований компілятором.
Починаючи від вересня-жовтня 2007 року, перед нашою командою pleso.net саме й була поставлена подібна доволі типова задача розробки комплексної адміністративної панелі та бази даних enterprise рівня. Ми вибрали Google Web Toolkit та можемо стверджувати за результатими роботи - не помилились. По мірі розробки проекту виникла потреба створення великої кількості типових форм, довідників, єдиної системи валідації даних, авторизації, доступу до сервера та інших стандартних для такого роду проекту рішень. Виникла ідея створення фреймворку, що базується на GWT, який би брав левову частку функціоналу на себе і дозволяв автоматично генерувати форми користувацького інтерфейсу по класам бізнес логіки. Це й призвело до появи GWT Pleso Framework (GWT-PF).
Ця розробка зекономила нам багато часу при створенні великої кількості зв'язаних форм додавання, редагування та перегляду даних. Вона дозволила сконцентруватись саме на бізнес логіці проекту, а не на візуальному програмуванні - адже формування всього візуального функціоналу забезпечив фреймворк. Ми уніфікували спосіб доступу до даних та їх представлення, генерація візуального рівня дозволила нам змінювати дизайн і вносити зміни та виправляти візуальні помилки разом всім елементам. Ми отримали чітко розмежовані логіку та представлення даних, що варто відмітити як досягнення правильної архітектурного рішення.
Фреймворк стабілізувався і це дозволило після рефактору нам його вивести у стабільну beta-версію. Задля його розвитку було прийнято рішення опублікувати GWT Pleso Framework під ліцензією LGPL. Наразі ми працюємо над черговим ентерпрайз рішенням, частково універсалізували деякі елементи побудови вже та реалізували набір додаткових компонентів - ми рухаємося згідно оголошеного плану розвитку та після чергового рефактору для надання більш узгоджено вигляду внесених змін, опублікуємо нову версію.
Сподіваємося, що GWT-PF стане у нагоді не лише нам, та вже навіть вже отримуємо приємні повідомлення про перші його застосування.
GWT-PF - його перший, та успішно наразі функціонуючий проект
GWT-PF - його новий проект у розробці, із новими вимогами замовника та інтерфейсом