Такой milestone в некотором смысле – я написал первый в своей жизни IDE, заточенный под разработку и тестирование jQuery.my-форм.
Интересно, что IDE сам по себе тоже приложение jQuery.my – на картинке в редакторе кода открыт сам редактор этого кода, центральный компонент. И кнопкой Play можно запустить в IDE превью самого себя.
Вот например редактор показывает живое превью самого себя во всплывающем окошке:
Из интересных фич:
- Каждая вкладка помнит своё undo, хотя это всё части одного json-объекта
- Код валидируется в реальном времени, причём не только синтаксически, но и структурно
- Позволяет включать в json-объекты файлы как ресурсы (вообще нигде в вебовых IDE не видел, удобно просто супер, форма например с картинками, которая не зависит от внешних ресурсов совсем)
- Есть кнопка Play (превью), которая работает мгновенно – компилирует манифест и запускает его либо в модальном диалоге, либо фуллскрин, либо инлайн, причём может с имитацией чужого окружения
- Превью может помнить, что вы в него наколачивали при прошлом запуске (запоминает state разрабатываемого приложения)
- Сам редактор – приложение jQuery.my и поэтому в одну короткую строку встраивается в любое другое jQuery.my приложение как контрол (есть же контролы rich-editor’ов, почему бы не быть контролу, который сразу IDE?)
- Так же легко, в одну строку, это приложение встраивается в любую веб-страницу.
Хвалите меня, немногочисленные читатели ) Устал чёто как собака.
PS. Мне пришли компоненты робота – микроконтроллеры, камеры, акселерометры, серво и тд. Начал проектировать.
no subject
Date: 2014-07-27 06:45 pm (UTC)no subject
Date: 2014-07-27 06:56 pm (UTC)Мы разрабатываем интерфейсы со скоростью, которая невозможна с другими решениями. За то время, что обычные мальчики успевают сделать плохонькую и глючную поделку, мы успеваем протестировать и вылизать полноценное приложение.
Там, где другие вытачивают из трактора например Битрикса что-то похожее на кукурузник, мы сразу делаем звездолёт. За то же время. И всего раза в два дороже, да.
Тёма, я на этом деньги зарабатываю ) Сам он не продаётся, но вот то что в нём сделано – очень даже.
no subject
Date: 2014-07-27 07:10 pm (UTC)no subject
Date: 2014-07-27 07:23 pm (UTC)Манифест – json в результате, то-есть дерево с ветками. Обычный IDE даст тебе редактировать такой объект – но никак не в нескольких вкладках с независимыми undo.
И уж точно не так, что в двух вкладках можно держать разные версии одной и той-же ветки, а порядок их расстановки влияет на то, как эти версии друг друга перекрывают.
И совсем точно без валидации.
no subject
Date: 2014-07-27 09:18 pm (UTC)Давай накидаю идей для интересного продолжения (т.к. я сам об этом давно думал, но, судя по всему, у тебя есть силы-желания-возможность таки делать :)).
1. Сделай компоненты данных, которые можно именовать и "бросать на страницу" в режиме разработки, чтобы с помощью них связывать комноненты с кодом. Конечный пользователь не увидит компоненты данных. По сути свой "data" (который у тебя inline) вынеси в отдельный кусок.
2. Сделай возможность создания новых страниц и обмена данными между ними через имена. Скажем, в режиме редактора создаёшь новую страницу "abc" и в URL добавляется "abc". Теперь "/abc" это новый неймспейс для данных на этой странице. Можно подсасывать данные с соседних страниц через их неймспейс.имя-таблицы.
3. Сделай интеграцию со storage на бэкэнде. Скажем, именованные key-value таблицы, привязанные к тому же неймспейсу, т.е. для каждой "страницы" свой неймспейс.
4. Невидимые компоненты с автоматическими тестами для бэкэнда можно будет тоже прямо на странице создавать и настроить, чтобы они исполнялись на сервере и слали результат на e-mail.
5. Осталось только прошить user ids/session ids, и всё, можно будет клепать полновесные сайты, вообще не закрывая browser, в нём же тестировать. Всё это без администрирования бэкэнда через ssh, без знания какого-то ЯП кроме JS, etc. Лепота.
P.S. Твои демо у меня не работают в IE. Не нажимается кнопка Run.
no subject
Date: 2014-07-27 10:00 pm (UTC)2. сделано уже, вся система так спроектирована кста. То-есть если есть два манифеста, один id=ns.Editor, а второй id=ns.Editor.Component, то этот второй сядет на ветку Component первого. Так работает внутренний кэш манифестов jQuery.my.
3. Это делается, будет repo, который по id отдаёт манифест. Вернее, оно уже есть.
4. Ты не поверишь... Разве что не на емэйл )
5. Мы вообще то так и делаем.Поднимаем клон амазоновского имиджа, а дальше практически всё в браузере можно. Пример – new.dvinaland.ru.
Не понял, какие демо. Если на jquerymy.com на заглавной – у меня работает в ИЕ. Скажи подробнее плз, что у тебя за машина и какой ИЕ.
no subject
Date: 2014-07-27 10:08 pm (UTC)Надо открыть cloudwall.me, лучше в Хроме, можно не логиниться (нажать Esc если вылезло окошко).
Открыть консоль и выполнить $.my.cache(null)
Ты увидишь смонтированным всё дерево системных компонентов и приложений за исключением того, что связано с криптографией.