Главное Свежее Вакансии Образование
336 2 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Очень большие проблемы на пустом месте!

Относительно недавно я начал работать над системой разработки UI (проще говоря, дизайнер форм) для NW.js приложений. И в близлежащей альфа-версии редактора уже надо бы пользователям (разработчикам) дать попробовать новую систему, ибо я считаю её удобной, но я - это я, а нужно учесть как можно больше мнений. Наступил этап внедрения...

b_5b9bbb48ef4d4.jpg

...Наступил этап внедрения.

Проблема 1. Внешка.

Под внешкой подразумевается всё то, что видит разработчик при работе с редактором. Что обычно он видит, при работе, например, в Lazarus:

b_5b9bbbea0d1a6.jpg

И, тут всё понятно. Есть компоненты, есть панель настроек объектов, есть непосредственно форма (будущий UI) и работа с кодом.

NW.js IDE был первоначально ориентирован только на код, поэтому, работа с таким громоздким инструментом требует особого подхода.Спасло два решения:

  1. Выезжающие (и уезжающие) панели
  2. Вкладки и списки

Изначально всё было очень плохо. То, что работало, как отдельная программа, совершенно не работает, как встроенный инструмент. Со всех сторон куча панелей, вкладки файлов, куча лишнего. Пришлось идти на хитрости, с чем, собственно, вышеуказанный список и помог.

Дальше - интереснее. Расположение элементов - это одно. Их оформление. Вот, где по-настоящему стало не по себе. Сейчас редактор имеет возможность темизации (смены тем оформления), и новоиспеченный редактор нужно подгонять под темы. С точки зрения юзабилити - одно из важнейших мероприятий. Запарился я с этим больше, чем на неделю, чтобы универсализировать все элементы и заставить их работать вместе с тем, что уже существует. Одна проблема еще не решена - это иконки. Но её я уже знаю, как решить, и, думаю, что скоро и быстро решу.

Проблема 2. Форматы.

Когда делаешь программу с UI на HTML+CSS, работаешь исключительно с текстом. И формат у всего этого только один - это html разметка. Работая же с UI, есть куча вспомогательного шлака, который в конечный HTML (в продакшн) добавлять не то, что бы не нужно, а совсем нельзя. Было решено развивать свой формат хранения промежуточных данных. И, вроде как, прокатило. Однако, теперь, когда ведешь разработку UI, получается два файла: *.html и *.ui. Немного раздувает проект.

Проблема 3. Документация.

Я специально выделил эту проблему самым большим шрифтом, так как это самая большая и пока не побежденная проблема.

Система UI, несмотря на всю простоту освоения, по своей сути, все-таки, достаточно сложная и многоуровневая.

  1. Каждый элемент является наследником другого объекта более низкого уровня.
  2. Каждый объект несет в себе уникальные свойства и методы.
  3. Каждый объект может быть расширен нестандартным набором свойств и методов.
  4. Система событий полностью автоматизирована и содержит на своем борту как методы и свойства высокого уровня, так и низкого, для более тонкой настройки.
  5. И так далее...

И это действительно проблема, так как всё это нужно где-то описать в удобочитаемом виде, что, пока что, не реализовано совсем.

PS: Вот такие вот проблемы на этапе внедрения нового редактора у меня возникли, и они сильно оттягивают дату выхода новой версии.

+4
В избр. Сохранено
Авторизуйтесь
Вход с паролем
Комментарии
S++
Это новый язык программирования
rrwx 93744
Не думал, что новые строки кода могут вызвать столько проблем) Не знаю кто вообще в наше время пишет документацию. Разве это не автоматически делается?
Ответить
Сергей Глазов
да уж...как все сложно
Ответить
Выбрать файл
Блог проекта
Расскажите историю о создании или развитии проекта, поиске команды, проблемах и решениях
Написать
Личный блог
Продвигайте свои услуги или личный бренд через интересные кейсы и статьи
Написать

Spark использует cookie-файлы. С их помощью мы улучшаем работу нашего сайта и ваше взаимодействие с ним.