169 похожих чатов

Ребят, подскажите в нужном ли я месте … я пытаюсь

найти способ написать пару утилит кроссплатформенных с GUI, например под bsd/risc-v причем так что бы это работало хорошо и быстро

где я уже был… я пробовал зайти со стороны golang (честно изучил и честно запилил CLI но без GUI) когда попробовал сделать что то с интерфейсом понял что упираюсь в c/c++ и cgo с кросскомпиляцией

дальше я пошел в rust, где библиотеки запилены на самом rust, и лишь легонько трогают систему через c/c++… проблемы впринципе те же, кросскомпилция, ну и сам rust довольно сложный…

дальше я смотрел на Flutter, но ограничения по платформам (при желании конечно можно на BSD собрать, но это все с костылями, а про risc-v

дальше я пошел в .NET и у этих то ребят как раз все движется очень быстро и правильно, есть хорошие редакторы, есть на удивление неплохой c# но кроссплатформа в плане GUI, еще не добралась до моей экзотики (может когда то и дойдет)

вчера я вспомнил что когда то пилил на java, и решил посмотреть что изменилось за 10 лет, понял что есть SWT, и собрал на нем Hello World! который мне понравился 😁 мне стоит искать дальше или впринципе можно сделать быстрое приложение и на java + graalVM + SWT ?

6 ответов

17 просмотров

вот эбаут котлин

1. В расте есть кросс-компиляция, причем одной строчкой. Ставишь cross-rs, ставишь докер на дев машину, он одной командой твоей проект собирает в контейнере под любую архитектуру, включая андроид, и выплевывает тебе бинарь обратно. Ну и не понимаю, что показалось там сложным, он намного проще тех же плюсов, на уровне голенга 2. В дотнете гуй прибит гвоздями к винде. Кое-как заводится еще на мобилках и макоси, но через десять слоев эмуляции. На линуксе вообще не может. Есть Avalonia как решение, но она раза в три тормознутее натива 3. SWT дико устаревший. Если принципиально оставаться на джаве, то я бы взял javafx. Если не принципиально, то котлин и Compose Multiplatform. Заодно бесплатно к десктопу поддержку мобилок получишь

Sergey-V. Автор вопроса
Александр Ушаков
1. В расте есть кросс-компиляция, причем одной стр...

1. на раст все еще посматриваю, книжку пупил, но смущает rust учить, надо осознать связывание и т.д. Кросскомпилляцие работает, я смотрел на egui + wgpu в софт режиме, такое впринципе теоритически как мне сказали в профильном чатике, может и сбратьсяь под bsd/risc-v 2. у них есть сторонний гуй (Avalonia) да, но он не под все платформы пока…и да конечно есть у нее минусы и другие, зато очень все по красоте с редакторами и документацией в .net 3. на счет SWT, он просто сбоку прикручен, не по идеологии java, устарвший, но апка собралась, выглядит нативненько и судя по всеми никаких c/c++ 😁 javafx не смотрел, но посмотрю обязательно. На счет котлина требую пояснений, т.к. пока не совсем понимаю что, зачем и почему… какие декстопы поддерживает и т.д.

Sergey V.
1. на раст все еще посматриваю, книжку пупил, но с...

1. С десктопным гуем на раст есть нюансы, если не париться с низкоуровневым кодом, то глянь на tauri, это как электрон в мире жса, только лучше. Сам раст несложный, но смотря с чем сравнивать. Сложнее питона, проще плюсов, примерно плюс-минус на уровне голенга 2. редакторы давно есть под все популярные языки, фирма JetBrains. Лучше ничего не придумали, тут шарп ничем не выделяется. Я надеюсь, что ты вижуалку за хороший редактор не принял) 3. Котлин - язык, вышедший из джавы, поддерживает очень хорошую совместимость с ней (джавовские либы может использовать и тд). Во многом лучше и удобнее нее. Сейчас его немало на бэкенде (в основном бэк на джаве на него мигрируют, но не все), на него переписывают джава десктоп, он является официальным главным языком разработки под андроид и тд. Для гуя у него есть Compose Multiplatform, он удобнее и современнее всего, что есть под джаву. Из коробки поддерживает андроид, ios, линукс, винду и мак, без изменений кода (всм можно написать один раз и просто пересобирать) про поддержку именно архитектур не скажу вот у него, это надо отдельно гуглить. Но десктоп писал на нем, нормально, лучше джавовского. А на андроиде вообще официально весь гуй теперь на композе, там никуда не деться людям уже

Sergey-V. Автор вопроса
Александр Ушаков
1. С десктопным гуем на раст есть нюансы, если не ...

1. с tour понял, погляжу, кстати про питон забыл написать, на нем я тоже немного кодил (пилил почтвый сервер) и к нему есть мультиплатформенные GUI плюс можно все это упаковать в один бинарь… и помоему даже JIT есть под это дело, но надо углубляться, т.к. все таки питон от окружения зависим и т.д. 3. бегло про котлин читнул, вижу что kotlin/Native из коробки, полная совместимость с java либами async/await и т.д. с интерфейсом сейчас почтаю тоже благодарю за развернутый ответ!

Sergey V.
1. с tour понял, погляжу, кстати про питон забыл н...

у котлина есть три вида kotlin/jvm, который работает на жвм и совместим с джавой kotlin/js, работает на ноде или в браузере, совместим с жс либами и kotlin/native, это билд в фулл натив, тут же и совместимость с платформами эппла, и просто натив под разные оси каждый вид котлина может юзать чисто котлиновские либы + либы своей платформы

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта