Pull to refresh
19
0
Євген @jhekasoft

Інженер-програміст

Send message
А где взять генштабовскую карту?
Может просто не нужно идти в IT ради денег, а заниматься тем, что тебе нравится? Те, кто выбрал IT не ради денег, а ради призвания, не испытывают столько проблем, как те, кто выбрал IT ради денег. Хотя проблемы всегда есть, но как и в любой другой отрасли.
Не забывайте делать проверку типов файлов на стороне сервера

Тут скорее не проверка типов файлов. Тут единая точка входа должна быть, то есть в настройках сервера указать, что выполнять можно только один index.php по конкретному пути и всё.
Ах-ха-ха. Да я забил на это.
Ну, так для этого Glade, либо для Qt есть QtCreator. Там всё как вы хотите.
Если кратко, то кросскомпиляцию я делал по этой инструкции: github.com/gotk3/gotk3/wiki/Cross-Compiling#from-linux-for-windows-64-bit. То есть компилил под Windows в GNU/Linux с помощью mingw-компилятор (для Си-кода GTK+3).

Я компилировал как раз в той ОС, для которой есть описание установки mingw — ArchLinux. mingw и GTK-библиотеки под это компилятор собирались с исходников. Это очень длительный процесс, как там и описано. У меня примерно сутки всё компилилось. Я уже думал, где можно найти готовые бинарники. Но после того как скомпилились все либы компилить само приложение для Windows стало просто.

Я задумываюсь, что если мне придётся заново собирать mingw-библиотеки для GTK+, то это будет кошмар. Я даже задумывался, что может быть под самой Windows компиляция будет проще.

А вы не пробовали под Windows скомпилить по официальной инструкции: www.gtk.org/download/windows.php?
Грид-контроль — это GtkTreeView. К нему есть биндинг в gotk3. Выше я показывал скриншот с приложением, которое делал. Там он есть. Там можно очень много чего накастомизировать.

Richtext-контрол — есть GtkTextView, тоже есть биндинг в gotk3 и пример. Там много возможностей по форматированию. Единственное, что придётся самому все контролы добавлять для этого и написать какой-то код для фоматирования текста.

А вот с графиками не всё так просто. Можно вручную всё рисовать с помощью Cairo, которая идёт с GTK и вроде бы есть биндинги в gotk3. Либо же использовать кастомный виджет (один из: gtkgraph.sourceforge.net/screenshots.html). Но для этого виджета скорее всего не будет биндинга для Go. Поэтому придётся самому биндинг писать. Если же вручную рисовать, то есть пример работы с графикой на gotk3.

Работает. Я на Windows компилировать 32-битное приложение. Вот тут его можете скачать: https://jhekasoft.github.io/insteadman/. Расскажу в продолжении подробнее.

Да, выше писали о ней уже. Я о ней знаю. Но там нет таблиц. Мне нужны были таблицы. Посложнее интерфейс в приложении:
image
Не устроило то, что они много весят. Ну и ресурсы системы едять порядочно. Компромиссом может быть github.com/zserge/webview. Это нативный вебвью.

Но надо отметить, что Visual Studio Code сделан как раз на Electron с TypeScript. И по сравнению с IntelliJ Idea весит гораздо меньше, да и память не так сильно жрёр. Это говорит о том, что Electron может быть лучше растолстевшего JVM.
Ну и если написать на Мак под Свифт, то приложение будет только для Мака. Не кроссплатформенное.

Под атомом вы имеете ввиду Electron? Я писал, что с ним тащится Chromium + node.js. Это не очень. Плюс ресурсов жрёт много.
Рассматривал. Там даже нет списков, treeview. Не серьёзная вещь пока что. Так, демку можно сделать, но полноценное приложение на нём не получится. По крайней мере то, которое я задумывал.
Нет. Я написал приложение на nw.js (https://github.com/jhekasoft/insteadman2), понял, что такие технологии, в которых нужня тянуть Chromium и node.js меня не устраивают вообще. И поэтому переписал приложение на Go + gotk3 (https://github.com/jhekasoft/insteadman3).
На данном этапе всё кажется простым и не вызывает трудностей. Но трудности у меня появились при кросскомпиляции


Дальше я написал. В общем об этом в продолжении. :)
main.glade можно при желании упаковать в бинарник. Но он задуман всё-таки как отдельный файл представления, которое можно поменять не перекомпилируя приложение. При компиляции его парсит GtkBuilder и динамически создаёт объекты.

Нужны будут динамические библиотеки GTK+, их общий вес не сильно велик по нынещним меркам: github.com/gotk3/gotk3/wiki/Cross-Compiling#deployment. Я дальше об этом расскажу.
И вам спасибо! Я дальше расскажу, что плохого в GTK+.
На GNU/Linux библиотеки будут в системе, на macOS — тащаться с собой нужные библиотеки в бандле (как и во всех других приложениях), под Windows — нужные библиотеки идут в папке с программой. Их вес не сильно велик для современных реалий. Уж точно меньше всяких Электронов. Я об этом рассказу в продолжении.

Вот в документации gotk3 про это: github.com/gotk3/gotk3/wiki/Cross-Compiling#deployment.
Есть Visual Studio Code, Есть IntelliJ Idea.
Всё, что можно сделать с помощью GTK+, можно сделать и на Go. А на GTK+ есть довольно-таки сложные GUI-приложения. Если чего-то нет в биндинге gotk3 для GTK+, то всегда можно добавить. Я делал такое приложение: jhekasoft.github.io/insteadman. Это ланчер для INSTEAD-игр Там ещё окно настроек есть. Возможно не сильно сложное приложение, но я не вижу приград для усложнения.
Тем не менее 3.22 уже как 3 месяца релизнули. Но gotk3 поддерживает версии выше 3.16. У меня свободно компилится.

Там у них для разных версий есть отдельные файлы, в которых только фичи тех версий. Возможно просто что-то напутали в gotk3 с этими версиями и поправят.

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity