-
Notifications
You must be signed in to change notification settings - Fork 44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Дальнейшие планы на репозиторий #11
Comments
С новой минорной версией этой программы не плохо было бы
Хотя бы добавить слово "Desktop", но наверное лучше придумать что-то с нуля. Одинаковые названия у основного веб приложения и у моего отдельного десктопного все же не есть хорошо. |
Я так понимаю, с моей занятостью я опять буду выпускать, как и раньше, один релиз в год. Тем не менее я нашел время проверить такую штуку, как "вкладки". Со всеми выполнеными условиями вызов вкладки через Также можно будет попробовать сделать приложение на более легковесных движках. Я когда-то давно уже пробовал запускать в оболочке Neutralinojs, но это было очень плохо. Возможно, что-то в этом плане уже поменялось. Также на 64 битных системах windows были замечены лаги. Связаны, как я понял по загрузке системы, с графикой, что, скорее всего, лечится отключением использования GPU приложением. В своих выводах пока не уверен и надо этот момент протестить на том компьютере, где наблюдались лагги. Благо программа позволяет запускать себя с определенными параметрами командной строки, в том числе и через параметр В общем буду и дальше стараться работать над своей версией программы. |
|
если они есть и протестировать работоспособность этого всего. |
Я нашел проблему, из-за чего скроллинг приводил к лаггам!!!
* Upd: Как оказалось на Windows отключение ускорения прорисовки 2D в canvas делает только хуже. Однако лаги при всех вышеперечисленных параметрах возникают только при скроллинге, но не продолжаются после скроллинга, как это было в предыдущих версиях. Соответственно 2 последние задачи остаются. |
Есть еще одна идея. Я буду пробовать упаковывать circuitjs1 в новую, но свою версию nw.js, почистив сами исходники браузерного движка chromium патчами для ungoogled-chromium. Там огромная куча ненужных бинарных файлов, убрав которые инструментом для сборки ungoogled-chromium можно добиться значительного уменьшения размера итогового бинарника новых версий nw.js. Единственное, что я уже начал работать над этим и не все патчи смогли примениться не смотря на то, что версии движка для ungoogled-chromium и для nw.js одинаковы. Придется проверять каждый патч.
|
По поводу возможности создания вкладок помимо скриптового chrome-tabs есть еще и встроенные в gwt вкладки TabBar, даже DecoratedTabBar которое использовать все же предпочтительнее в плане удобности отслеживания реального создания и удаления элементов под вкладкой при удалении вкладок. В связи с попыткой сделать свою версию nw.js также необходимо
Ибо в nw-builder есть параметры для смены адреса источника получаемых версий nw.js и можно подсунуть ему свою кастомную сборку. |
Патчи ungoogled-chromium для nw.js на деле значительно изменяют размер только версии для винды. Уменьшить размер оболочки для linux помогает отключение отладочной инфы. Конкретно для линукса с патчами ungoogled-chromium, отключением отладочной инфы и многих компонентов и удалением артефактов локализации пока удалось уменьшить размер оболочки с 408 Мб до 289,2 Мб. Все еще много, даже не дотягивает до его аналога электрона, но это уже хоть что-то. Еще есть над чем работать. |
Работа над собственной версией nw.js окончена. После проверки на реальном макбуке, приведения репозитория в порядок и работы над документацией сделаю его репозиторий публичным. Есть такой момент, что лучше бы я перешел на электрон, но поковырять хоть как-то исходники хромиума было все же от части забавно. Версия 0.64.1, размер 180-210 Мб в зависимости от архитектуры. |
"Вся сборка полностью через npm":
|
Версия веб приложения circuitjs1 2.9.0js успешно встроена и пока вся разработка в ветке 1.3.0.
|
Из-за сложности реализации, возможно, оставлю на следующую версию. |
|
|
Писать это все на английском тяжело, по этому будет все на русском.
Записывать это все в project boards как-то не очень удобно, по этому все будет по старинке в одном ишью...
Для нормальной работы над программой нужно кардинально менять структуру репозитория в целом. В это ишью будут записаны несколько заданий, которые нужно сделать за раз и + некоторые планы на будущее.
Раньше я просто брал проект основного разработчика и вносил свои уже готовые изменения из папки
Step1-Java
, а после компиляции переносил вручную результат компиляции из папкиwar
в свою папкуStep2-JavaScript
и там же компилировал в бинарники. На этот раз нужно эти две папки переместить в отдельную с названием либоsamples
, либоmodified_files
. Скорее всего в содержимом папкиStep2-JavaScript
не будет необходимости, т.к. оно и так будет полностью дублированно в папкуwar
.В остальном структура будет как у основных разработчиков с той лишь разницей, что все будет настроено под сборку через Maven. Благо готовый вариант настроек уже есть и я его уже протестировал: https://github.com/briangordon/circuitjs1. Это дает возможность собрать приложение без необходимости устанавливать Eclipse с GWT плагином.
Сборку в бинарники нужно также свести к консольным командам, чтоб в конечном итоге можно было написать один bash скрипт для полной сборки программы.
Итого нужно за один push сделать пока следующее:
Step1-Java
переместить в отдельную папкуmodified_files
templates
для производных языковых файлов, дополняющих основные, а также для конфигов, которые скриптами копируются в папку для сборки бинарниковStep2-JavaScript
переместить в папкуwar
В бинарники будет все компилироваться пока по старому через Web2Executable. В дальнейшем скорее всего найду консольный билдер,
либо попытаюсь компилиловать через внутренние ресурсы nw.js, благо есть инструкция.Окончательный вариант подразумевает компиляцию java(maven) -> javascript -> bin одним скриптом, по этому нужно также:
В следующей версии 1.2.2 ничего кроме обновления самого веб приложения меняться не будет. Для дальнейших версий буду пытаться внедрять следующее:
Если я смогу сделать полноценно хотя б один из этих пунктов, кроме первого, это будет уже новая минорная версия (1.3.0).
The text was updated successfully, but these errors were encountered: