Как стать автором
Обновить
-3
0

программист

Отправить сообщение

Про президента РФ уже научился отвечать?

Да какая она обратная.. Трей уже 10 лет никак сделать не могут, приходится из swt использовать. Плюс непонятные глюки с QuantumRenderer, когда ни с того, ни с сего, одно ядро процессора кушается полностью и навсегда, до перезагрузки приложения.

Не так все просто. Например, Astra linux se (на которую переходят все силовые структуры и госаппарат) из коробки не умеет запускать appimage. И юзеры ничего настраивать не умеют и не хотят. Проже дать каталог с явой и баш-файл запуска

Java, может и еле дышит на десктопе, не работаю с ней. Зато плотно работаю с десктопом на котлине, с помощью javafx/tornadofx. Можно нарисовать достаточно красивый интерфейс, со всеми плюшками, будет точно работать под линукс и Винду (мака у меня нет). Но обе либы, считай, заброшены.

Благодарствуйте за столь подробный ответ!

Текущий статус "прототип"?

Так понимаю, в продакшн под десктоп его использовать не следует?

Или у вас есть положительный опыт его использования?

И, если позволите, немного о моем не положительном опыте на линусовском десктопе. Astra linux se

1) kotlin+javafx/tornadofx. Контекстное меню только на первом мониторе. Невозможно исправить вообще.

2) Electron. В астре se стоит запрет на запуск appimage. Обойти настройками можно, но юзеры настраивать не хотят. Распакованный appimage может не запустится из-за настроек песочницы хромиума.

3) Delphi tokio. Вроде и бинарник нормально работает, но Паскаль после котлино это как плавать с гирей на шее. Работает, но радости нету.

Котлин научился делать исполняемый бинарник под linux? Не инсталяшку с явой внутри, а именно чистый бинарник, такой же, как делает delphi и go ? Котлин научился рисовать gui под линуксом без javafx и swing ?

Как что? Почему эта чёртова сериализация падает )))

 цена станка от 380 до 13 тысяч мало влияет на цену конечного изделия

Не скажите. Был фуговальник КОРВЕТ 101. Маленький, кривой, но работать можно, именно с помощью него и делал свои первые шкафы. Но, блин, как же с ним долго, неудобно, постоянно сбиваются настройки, тупятся ножи. Сейчас аналог JET JPT-310 HH , забыл, когда настраивал последний раз и менял ножи. Он просто работает и работает классно. А время, отведенное на хобби, очень мало, и хочется кайфовать, а не исправлять косяки станков.
С другой стороны, зачем далеко ходить за примерами? Мало кто хочет писать код в блокноте, всем подавай автозаполнение, генераторы и т.д., хотя на стоимости программы стоимость ide практически не влияет

О самоокупаемости даже не мечтайте )) Хороший инструмент стоит столько, что можно обставить весь дом мебелью, а плохим работать ну такое себе удовольствие. Даже хороший ручной (veritas, lie-nilsen) инструмент, который точно никогда не окупится, стоит очень немалых денег. Для ориентира, моя мастерская, которую собираю уже лет 20, стоит по текущим денькам примерно 600-700тр. Но инструмент приличный: чугунные станки, приличный электрический (не ниже макиты). Из ручного, правда, только стамески ))

Так что для айтишника столярка - это хобби, как рыбалка или фото, такое же дорогое и бессмысленное )

Как хорошо умеющий в столярку, огорчу - никто из столяров/краснодеревщиков не получает, как сеньор. Вообще никто. Даже близко такого нет. Я могу позволить себе любой инструмент, практически не глядя на цену, а им приходится очень сильно копить, чтобы купить очень нужный станок. Знаю многих столяров, которые так и делают лестницы и мебель на маленьких рейсмусах, хотя серьёзный станок пару лет назад стоил ~200тр, но они не могут его купить, хотя он позарез нужен.

Когда я был сильно моложе, очень мне нравилась идея о компьютерном правительстве, которое возьмёт на себя всю работу с бумажками, этакий электронный документооборот на максималках. Ты нажимаешь кнопочки, ИИ определяет, что ты хочешь, сам прописывает инфу в разные базы, собирает данные, решает твою проблему, выдаёт тебе документ/заключение и т.д. Но, спустя годы, я столкнулся с зачатками государственного документооборота, где теряют данные из баз, где почему-то не доходят электронные письма, где каким-то образом мне приходят письма из чужих госаккаунтов. И понимаю - если будет электронное правительство - это будет ад. Тебя потеряли в базе - и всё. Пропал идентификатор, ссылки рухнули, а людей, которые могут вникнуть в проблему и что-то починить - либо нет, либо они завалены работой и очередь на пару лет.

Есть. Почему-то градл не любит линковать виндовую javafx при сборке под линуксом.

Читайте внимательнее, плиз. Это сборка моей программы, которая с "javafx, usb, rabbitmq, postgresql, блекджеком и девушками". Кстати, забыл, что там ещё и groovy в качестве скриптов работает .

Итого jar в данный момент 51мб . Ну плюс ещё нужна голая jre, без javafx


Если я правильно понял ваше "Итого: экзешник 120MB.", то это размер инсталяшки с jre ?

Пишу на котлине, система сборки gradle. Для сборки использую shadowJar.
Это почти рабочий пример, за исключение некоторых nba-кусочков

plugins {
    application
    id("java")
    kotlin("jvm") version "1.7.20"
    kotlin("plugin.serialization") version "1.7.20"
    id("com.github.johnrengelman.shadow") version "5.2.0"
}

dependencies {
    implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version")
    implementation("org.jetbrains.exposed:exposed:$exposed_version")
    implementation("org.postgresql:postgresql:$postgresql_version")
    implementation("com.rabbitmq:amqp-client:latest.release")
    implementation("org.codehaus.groovy:groovy-all:3.0.9")
    implementation("ch.qos.logback:logback-classic:$logback_version")
    implementation("no.tornado:tornadofx:1.7.19")
    implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinx_serialization_version")
    implementation("org.usb4java:usb4java:1.3.0")
    implementation(fileTree("../libs"))  // тут лежат библиотеки javafx
}

sourceSets.main {
    java.srcDirs(
      // тут пути к исходникам
    )
    resources.srcDirs(
      // тут пути к ресурсам
    )
}

application {
    mainClassName = "ru.AAA.AAA.MainAbdKt"
}

tasks {

    shadowJar {
        manifest {
            attributes["mainClassName"] = "ru.AAA.AAA.MainAbdKt"
            attributes["Company"] = "AAA"
            attributes["Implementation-Version"] = "6.0 build $build от ${formatter.format(LocalDateTime.now())}"
        }
    }
    compileKotlin {
        kotlinOptions.jvmTarget = "1.8"
    }
    compileTestKotlin {
        kotlinOptions.jvmTarget = "1.8"
    }
}

100% вы неправильно используете эти инструменты. Мои fatjar с javafx, usb, rabbitmq, postgresql, блекджеком и девушками не выходят за 50мб.
Хотя делфийское приложение с тем же функционалом - 4мб ((

А лучше сразу подключить com.github.johnrengelman.shadow, и настроить его так, как нужно. Можно сразу нужную версию FX запаковать

@Query(
"""select * from jgproj_api.f_search_project_by_name(
p_search_text => cast(:search_text as text),
p_user_id => cast(cast(:user_id as text) as bigint),
p_offset=> :offset,
p_limit=> :limit,
p_sort=> cast(:sort as text))""",
nativeQuery = true
)

Господа, но ведь это жесть неподдерживаемая! У exposed-а ведь есть мощная dsl, которая сильно помогает не ошибиться в названии поля, и в случае каких-либо правок в слое базы, весь ошибочны код даже не скомпилится. Почему здесь вы такой подход не использовали?

Жаль, что обошли внимание Kotlin/JS. Очень интересно было бы пообщаться с соратниками по грабельному полю

Не так всё однозначно.. Вы можете привести пример языка, который строит нативный exe в считанные секунды? Пишу в основном под десктоп, и это прям боль, ждать когда сборщик соизволит закончить работу. Что ява, что котлин, что qt, что электрон, все тормознутые донельзя. Плюс размер бинарников какой-то умопомрачительный.
А родная старая делфа - нажмёшь F9, пара секунд и форма на экране. Как же мне этого не хватает.

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Зарегистрирован
Активность