Хочется достаточно простую задачу решить, а именно из .net core позвать нативные функции для создании окна в линух и немного событий ввода с него половить базовые типа KeyDown/MouseDown.
В винде я бы сделал [dllimport] CreateWindow , GetProcessMessage() и т.п.
а как лучше к этой задаче подойти в Linux ? Какие способы порекомендуете посмотреть ? Основное требование — отстуствие платных лицензий и вызов из .net core.
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Здравствуйте, okon, Вы писали:
O>а как лучше к этой задаче подойти в Linux ? Какие способы порекомендуете посмотреть ? Основное требование — отстуствие платных лицензий и вызов из .net core.
Ну можно так же сделать XCreateWindow и тд из xlib заимпортировать. Правда надо будет отрисовывать всю графику самостоятельно. Или Gtk, у него тоже сишный интерфейс, там уже будет больше функционала реализовано.
Здравствуйте, okon, Вы писали:
O>Хочется достаточно простую задачу решить, а именно из .net core позвать нативные функции для создании окна в линух и немного событий ввода с него половить базовые типа KeyDown/MouseDown. O>В винде я бы сделал [dllimport] CreateWindow , GetProcessMessage() и т.п. O>а как лучше к этой задаче подойти в Linux ? Какие способы порекомендуете посмотреть ? Основное требование — отстуствие платных лицензий и вызов из .net core.
Я бы начал с gtk#
Вопрос не по теме: А чем вас Qt не устраивает или gtkmm или если простую задачу то U++? Почему обязательно C#?
_>Вопрос не по теме: А чем вас Qt не устраивает или gtkmm или если простую задачу то U++? Почему обязательно C#?
Основное приложение на C# .net core и для одного информационного диалога тянуть крупные библиотеки не хочется.
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Здравствуйте, okon, Вы писали:
O>а как лучше к этой задаче подойти в Linux ? Какие способы порекомендуете посмотреть ? Основное требование — отстуствие платных лицензий и вызов из .net core.
Как один из вариантов встроить в приложение kestrel сервер(просто создать asp .net core приложение), встроить chromium(тоже nuget пакетом), а ui можно сверстать наконец в blazor(а не богомерзком js).
Підтримати Україну у боротьбі з країною-терористом.
Здравствуйте, okon, Вы писали:
_>>Вопрос не по теме: А чем вас Qt не устраивает или gtkmm или если простую задачу то U++? Почему обязательно C#? O>Основное приложение на C# .net core и для одного информационного диалога тянуть крупные библиотеки не хочется.
Ну а так целый core тянете для одного информационного диалога.
Правда, возьмите Qt. Ну или даже https://github.com/vurtun/nuklear если на то пошло...
Matrix has you...
Re[2]: что посоветуете на тему Linux UI + .net core
O>>а как лучше к этой задаче подойти в Linux ? Какие способы порекомендуете посмотреть ? Основное требование — отстуствие платных лицензий и вызов из .net core.
J>Как один из вариантов встроить в приложение kestrel сервер(просто создать asp .net core приложение), встроить chromium(тоже nuget пакетом), а ui можно сверстать наконец в blazor(а не богомерзком js).
не совсем понятно, зачем embed-ить chromium в что-то? почему не использовать обычное веб-приложение a la blazor?
Re[3]: что посоветуете на тему Linux UI + .net core
Здравствуйте, okon, Вы писали:
_>>Вопрос не по теме: А чем вас Qt не устраивает или gtkmm или если простую задачу то U++? Почему обязательно C#? O>Основное приложение на C# .net core и для одного информационного диалога тянуть крупные библиотеки не хочется.
Ну можно попробовать CoreRT https://github.com/dotnet/corert
So Test.CoreLib really is a minimal runtime!! But the difference in size is dramatic, it shrinks down to 0.49 MB compared to 3.93 MB for the fully-featured runtime!
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, takTak, Вы писали:
T>не совсем понятно, зачем embed-ить chromium в что-то? почему не использовать обычное веб-приложение a la blazor?
Что бы быть уверенным на 99%, что приложение запустится у пользователя, пользователь может вообще вместо браузера использовать какой-то фурифокс или линкс или хромиум со своими крутыми патчами. В обычном браузере пользователь может открыть в новых вкладках сайты, которые будут сильно нагружать систему и пользователю придется перезапускать браузер или браузер сам вылетит, а так у пользователя будет ровно 1на вкладка в которой он сможет долго комфортно работать мышкой.
Підтримати Україну у боротьбі з країною-терористом.
T>>не совсем понятно, зачем embed-ить chromium в что-то? почему не использовать обычное веб-приложение a la blazor?
J>Что бы быть уверенным на 99%, что приложение запустится у пользователя, пользователь может вообще вместо браузера использовать какой-то фурифокс или линкс или хромиум со своими крутыми патчами. В обычном браузере пользователь может открыть в новых вкладках сайты, которые будут сильно нагружать систему и пользователю придется перезапускать браузер или браузер сам вылетит, а так у пользователя будет ровно 1на вкладка в которой он сможет долго комфортно работать мышкой.
если мы говорим про какое-то "Line of business"- приложение, то одна вкладка при существующих двух мониторах на рабочем столе- это прошлый век и большое неудобство для любого пользователя ...
Re[5]: что посоветуете на тему Linux UI + .net core
Здравствуйте, takTak, Вы писали:
T>если мы говорим про какое-то "Line of business"- приложение, то одна вкладка при существующих двух мониторах на рабочем столе- это прошлый век и большое неудобство для любого пользователя ...
Вот небольшой список приложений используемых chromium для UI: https://en.wikipedia.org/wiki/Chromium_Embedded_Framework и в вот: https://electronjs.org , не считая популярных текстовых редакторов: VS Code, Atom, нового скайпа от мс: ms teams.
Одна вкладка не обязательно должна быть открыта на fullscreen; в chromium можно создавать столько вкладок сколько понадобится. Что бы посмотреть возможности такого решения, можно поклацать ту же IDE VS Code, только в ней для бекенда используется js (api от electron фреймверка), но вместо electron-а можно использовать .net core+cef.
Підтримати Україну у боротьбі з країною-терористом.
T>>если мы говорим про какое-то "Line of business"- приложение, то одна вкладка при существующих двух мониторах на рабочем столе- это прошлый век и большое неудобство для любого пользователя ... J>Вот небольшой список приложений используемых chromium для UI: https://en.wikipedia.org/wiki/Chromium_Embedded_Framework и в вот: https://electronjs.org , не считая популярных текстовых редакторов: VS Code, Atom, нового скайпа от мс: ms teams. J>Одна вкладка не обязательно должна быть открыта на fullscreen; в chromium можно создавать столько вкладок сколько понадобится. Что бы посмотреть возможности такого решения, можно поклацать ту же IDE VS Code, только в ней для бекенда используется js (api от electron фреймверка), но вместо electron-а можно использовать .net core+cef.
не знаю даже сколько лет MDI, ничего удобнее для пользователя не придумано, достаточно сравнить нормальную Visual Studio с этим усовершенствованным Notepad a la VS code, и сразу станет ясно, что на порядки удобнее