Почему Java для десктопа это плохая идея и какие есть аналоги

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 พ.ค. 2019
  • Рассказал, почему использовать Java для десктопа плохая идея. Ну и на чем с моей точки зрения лучше писать такие приложения. Спойлер - с моей точки зрения сейчас это C#
    Новый тренинг для новичков (Киев и онлайн): инструментарий Java bit.ly/2waKckJ
    Проверь, достаточно ли тебе знаний чтобы начать обучение на курсе Java менторинг в FoxmindEd? bit.ly/30kGQct
    Advanced он-лайн курс Enterprise Patterns: bit.ly/2HmlBQg
    Сайт учебного центра: bit.ly/2VJAeFV
    Учебный центр в ФБ: / foxmindedco
    Разработка: software.foxminded.com.ua
    Web-разработка: foxminded.agency
    Мой Telegram: t.me/nemchinskiyOnBusiness
    Мой блог: www.nemchinsky.me
    Мой ФБ: / sergey.nemchinskiy

ความคิดเห็น • 349

  • @NickMukhin
    @NickMukhin 3 ปีที่แล้ว +59

    Категорически не согласен! 1) Время запуска десктопного Java приложения в наше время - совершенно не узкое место. Во первых JVM стали намного эффективнее, а во-вторых объемные библиотеки можно подгружать динамически по мере необходимости. 2) Среднему бизнес-приложению все эти свистелки-перделки, красоты и анимации на фиг не нужны, а чтоб окошки и кнопки выглядели не как жопа, а нормально и эргономично - есть кучи библиотек. В конце концов, для особо упоротых любителей "голубизны" есть JavaFX. 3) Конечно на всех осях есть свои средства разработки десктопных прилад, но какие ещё кроме Java позволяют скомпилить один раз и запускать везде? Тот факт, что на Java пишут сложнейшие IDE уже опровергает все аргументы против ее использования для десктопа.
    Однако соглашусь с Сергеем, что Java действительно все реже применяется на десктопе, но не потому, что она плоха, а потому, что не модна. За 30 лет в IT я видел немало прекрасных технологий, которые ушли в небытие из-за агрессивного маркетинга "новых, улучшенных с банановым вкусом" фреймворков и языков

    • @user-xn3ub2nn7s
      @user-xn3ub2nn7s 3 ปีที่แล้ว

      С запуском у Java всё хорошо, если сравнивать с Python. У меня есть старые скрипты на Python + cli, по сути, там логика при запуске: прочитай конфиг (десяток записей), прочитай файл на пару Кб и покажи вопрос в консоли. Так вот это чудо стартует 5-7 секунд. Сейчас переписываю на Java, ещё не всё готово, но запуск до момента вопроса примерно 0.3 секунды. Есть ещё приложение на Python+Qt, можно успеть потереть красные глаза, пока оно запускается

    • @user-gc3lm8pi2v
      @user-gc3lm8pi2v 2 ปีที่แล้ว

      Стоит ли при изучении java уделять много времени изучению gui? Нравится язык, пишу свое приложение для понимания более-менее всего и понимаю, что на данный момент есть два основных пути далее - андроид и бэкенд. Стоит ли добавить себе в изучение линию десктопных приложений или это будет не востребовано?
      Или сразу для десктопа (не могу не уделять этому внимание в принципе, так как закостенел благодаря делфи и в моем понимании это мастхев) учить какой-нибудь .нет или react native?

    • @thelensky
      @thelensky 2 ปีที่แล้ว

      @@user-gc3lm8pi2v Не стоит.

    • @thelensky
      @thelensky 2 ปีที่แล้ว +1

      Работал с javafx, минус технологии в том что разработка выходит дороже нежели js + electron (к примеру). На мой вкус и поддерживать чуть сложнее.

    • @romecold411
      @romecold411 2 ปีที่แล้ว +3

      Nick прав - сейчас java-desktop работает очень прилично ! Сергей тут не прав и сильно погорячился в этом ролике !

  • @dreamer_vi905
    @dreamer_vi905 4 ปีที่แล้ว +1

    Давно мучал этот вопрос, Сергей, спасибо!

  • @user-su2io1fp3r
    @user-su2io1fp3r 4 ปีที่แล้ว +23

    Вы забыли про целый пласт ПО - промышленная автоматика. Существует много видов АРМ-ов управления системами, изолированных от внешнего мира по понятным причинам, поэтому там нет Web-а в принципе. Случай из моего опыта - АРМ управления был написан на Java+Eclipse SWT под Windows, а насколько лет назад "сверху" пришло указание отказаться от Windows и перейти на opensource(Linux). Представьте, что было бы, если бы пришлось всё переписывать заново! А так пару месяцев на проверку и всё.

    • @ivankipyatkov2968
      @ivankipyatkov2968 10 หลายเดือนก่อน

      Всё так. Сергей, скорее всего, разделяет десктоп и интерпрайз.

  • @Warfazer
    @Warfazer 5 ปีที่แล้ว +56

    Сергей, Вы не совсем правы в своих сравнениях - некоторые жопки очень даже ничего =)

  • @volodymyrsukrut7915
    @volodymyrsukrut7915 3 ปีที่แล้ว +16

    Не знаю, я балдею от ретро стиля окон в Swing :)))

    • @irgendwer234
      @irgendwer234 3 ปีที่แล้ว +3

      Я тоже, только этой gui библиотекой и пользуюсь

  • @08284
    @08284 5 ปีที่แล้ว +1

    Как всегда, объяснили просто и понятно. Как всегда, лайк...

  • @AntiSmithhh
    @AntiSmithhh 4 ปีที่แล้ว +10

    а как же Майнкрафт? ))

  • @laochang938
    @laochang938 3 ปีที่แล้ว +1

    благодаря комментам определился с тем, что мне нужно)
    спасибо за видео!

  • @JohnHeppner
    @JohnHeppner 5 ปีที่แล้ว +48

    Десктопные продукты от JetBrains, которые по сути написаны на Java, работают очень круто. Тот случай, когда "если очень захотеть, то можно".

    • @dmytro_dd
      @dmytro_dd 5 ปีที่แล้ว +16

      и жрут как не в себя. Больше, чем приложения на электроне

    • @sno-oze
      @sno-oze 5 ปีที่แล้ว

      TornadoFX они используют

    • @dmChanal1
      @dmChanal1 5 ปีที่แล้ว +22

      @@dmytro_dd а Вы попробуйте написать тот же функционал на электроне - боюсь вообще не запустится

    • @andrewelvlasov6316
      @andrewelvlasov6316 5 ปีที่แล้ว +1

      @@dmChanal1 VSCode with plugins ?

    • @dmytro_dd
      @dmytro_dd 5 ปีที่แล้ว +2

      @flakerZ vscode это мощный инструмент, стандарт де-факто для golang разработчиков. Так что не надо сказок

  • @angelpensive9145
    @angelpensive9145 4 ปีที่แล้ว +50

    QT вам в помощь. С++

    • @wlasov
      @wlasov 2 ปีที่แล้ว +1

      От c++ я на МК плююсь, но деваться некуда. Разработка В РАЗЫ дольше, чем на джаве. Гуй на этом делать - это надо быть извpaщенцем.... Разве что сишники сильно дешевле, единственный аргумент. Обычно прикладную дрянь на QT пишут для обмена с мк, и да, это криво, трудозатратно и необслуживаемо. Единственная причина - потому что программист микроконтроллеров кроме C как правило ничего не знает, чудо если с плюсиками знаком. А прикладную десктопную часть тоже пишет он. Я же на джаве под любое устройство пишу эмуляторы, и это офигеть как быстро и удобно. Вероятность искать ошибку днями и неделями вообще нулевая.

    • @comachine
      @comachine ปีที่แล้ว

      @@wlasov да неужели прям в разы? С гуи там все тоже самое что и с джавой же, чтобы добавить кнопку, не нужно трахаться с памятью, сарказм, это та же работа с гуи как и везде. А в принципе по кодингу сами плюсы очень похожи на джаву

  • @pamrpabkey4231
    @pamrpabkey4231 4 ปีที่แล้ว +6

    Сергей, вы удивительно легко и приятно рассказываете! Очень рад, что нашел ваш канал =)

    • @SergeyNemchinskiy
      @SergeyNemchinskiy  4 ปีที่แล้ว +4

      спасибо за такие чудесные слова)

    • @mikevinogradov3878
      @mikevinogradov3878 ปีที่แล้ว

      @@SergeyNemchinskiy заврался кое-кто об "убогом диалоговом интерфейсе". Трабл в том - что СUI и прочая лабула потом через Design Language "украшается".

  • @user-rp7ej6pq6j
    @user-rp7ej6pq6j 5 ปีที่แล้ว +10

    Я использую. Через javafx. В этом случае все выглядит красиво (благодаря css). Пока доволен.

  • @sergeybure
    @sergeybure ปีที่แล้ว +5

    На Java написаны DBeaver, PyCharm и многое другое. На современных PC и Mac все быстро и хорошо работает.

    • @s1xshg09e197
      @s1xshg09e197 6 หลายเดือนก่อน

      На Java под десктоп хорошо написаны только продукты от жидбрейнс. Все остальное - полное гoвно, в том числе и дибивер

  • @msvru
    @msvru 3 ปีที่แล้ว +9

    Как я ненавижу тормозные веб приложения. Очень прискорбно что всё туда скатывается. Разработчику удобно, пользователь страдает.

    • @comachine
      @comachine ปีที่แล้ว +1

      думаю это из-за того, что в основном разрабы пытаются впихнуть в веб тот функционал, который разумно действительно под силу только десктопу например

    • @ram0973
      @ram0973 ปีที่แล้ว +1

      Как под MS-DOS хорошо было))) Всё летало

    • @ruden6623
      @ruden6623 ปีที่แล้ว

      Хз, у меня норм всё. Хотя ещё смотря этот веб берётся с сервера или локально.

  • @andreymorozov1189
    @andreymorozov1189 5 ปีที่แล้ว

    Спасибо, вполне доступно изложено

  • @alexandermaymin2621
    @alexandermaymin2621 5 ปีที่แล้ว +81

    Ну линейка ide от jetbains весьма сносна на разных ОС, и как я понимаю, написана на java.

    • @LobanovSpace
      @LobanovSpace 5 ปีที่แล้ว +1

      Da

    • @SpaSergo
      @SpaSergo 5 ปีที่แล้ว +14

      Он сразу сказал что ide как раз и делаются, а всё остальное уходит в веб

    • @LedoCool1
      @LedoCool1 5 ปีที่แล้ว +15

      @@SpaSergo Хах я слышал эту замечательную пургу, что все уходит в веб. Правда, рассказывают ее одни веб разработчики. В какой-то степени правда, в какой-то - нет. Но если говорить категорично "все уходит в веб", то однозначно пурга. Те же мобильники вот почему-то наоборот развиваются - веб заменяется набором приложений - каждое для своего сайта. Те же десктопные системы продолжают нуждаться в сервисных приложениях. Документооборот по принципу saas попросту на любителя. Если вы делаете свой dropbox то надо писать нативку. Да и вообще много чего так просто не выкинуть в облако.
      А мелкие компании выкидывают в облако как правило приложения для своего внутреннего пользования. Все что наружу идет, пытаются хоть как-то завернуть в скачиваемый апп - пусть даже через electron (буээ).

    • @SpaSergo
      @SpaSergo 5 ปีที่แล้ว +1

      @@LedoCool1 согласен. Десктоп будет жить ооочень долго. Точнее вечно, как минимум как альтернатива вебу.

    • @SpaSergo
      @SpaSergo 5 ปีที่แล้ว

      @@LedoCool1 те же операционки и прошивки это фактически десктоп

  • @user-re1pg5rw1x
    @user-re1pg5rw1x 5 ปีที่แล้ว +3

    Спасибо за видео. Поверхностно слышал про Qt, но не совсем пониманию в чем его плюсы и чем он лучше, например, той же джавы. Было бы неплохо, если бы вы сделали обзор по этой технологии - интересно ваше мнение.

    • @arboleet
      @arboleet ปีที่แล้ว

      плюсы qt это плюсы
      бдум тсс

    • @linuxoidovich
      @linuxoidovich ปีที่แล้ว

      Ещё gtk есть

  • @pahan51
    @pahan51 5 ปีที่แล้ว +19

    Плохо как то тема раскрыта.
    Нет упаминания конкретных библиотек графических элементов.
    Типа Swing, SWT, JavaFX. Все три вполне годные.
    JavaFХ сейчас очень активно развивается.
    Для медицинских учреждений, кассовых аппаратов, инвентарного учета и тому подобному вполне себе пишут на Java. Особенно раньше, до того как все на WEB перешли.
    Просто этот софт широкой публике не известен.
    Если десктопное приложение грубо говоря состоит из окошек, кнопочек и полей для ввода, то Java вполне хороший вариант.

    • @alexey3295
      @alexey3295 5 ปีที่แล้ว

      но ведь JavaFX уже не поддерживают

    • @pahan51
      @pahan51 5 ปีที่แล้ว +5

      @@alexey3295 Не совсем так.
      Начиная с Java 11 исключена из состава JRE/JDK и теперь развивается в рамках отдельного проекта OpenJFX, как набор модулей. openjfx.io/
      Также как Java сейчас развивается в рамках проекта OpenJDK. openjdk.java.net/

    • @FrickUA
      @FrickUA 4 ปีที่แล้ว

      +++, Хотя у меня был веб проэкт для касовых апаратов, ну точнее там полноценное рабочее место касира. Но десктоп будет жить еще ооочень долго. Пока все попытки мигрировать в облака разбиваются об отсутсвие адекватных интернетов, да и юай в браузере еще далека от идеала. Те же месенджеры у многих установлены десктопные , хотя у большинства есть и веб версии....

    • @developerninja619
      @developerninja619 3 ปีที่แล้ว

      @@FrickUA я ниче не имею против Java и JavaFX, но чем плох web UI? HTML/CSS (CSS Grid, Flexbox, Bootstrap), JS (React, Vue, или тот же Jquery) и все очень красиво выглядит

    • @FrickUA
      @FrickUA 3 ปีที่แล้ว +2

      @@developerninja619 дело ж не только во внешнем виде. Софт который активно использует внешние устройства сложно написать на "вебе". Для работы с графикой(хотя хтмл 5 отлично поддерживает канву) тоже часто нужны "десктопные" возможности. Ну и производительность, увы хоть веб и ооочень развился за последние 5 лет, всеравно ни джаваскрипт ни хтмл с цсс не рассчитаны на супер высокую нагрузку. В джиес нет многопоточности например(есть асинхронность) Постоянно нужно искать компромисс - много запросов к серверу тормозит из-за интернета, много данных на клиенте тормозит браузер. К счастью сейчас в моде минимализм и для большинства приложений вполне достаточно веба) у меня было несколько серъезных проэктов десктопных, поэтому я не могу согласиться с тем что джава там не состоятельна. Swing и JavaFX с поддержкой графического редактора интерфейса - супер удобные и очень мощные и отлично работают как на линукс так и под виндой без кроскомпиляций. Есть приложения которые обрабатывают например довольно объемные данные, для обработки в вебе нужно загрузить сначала на сервер, потом скачать с него результат, да и интернет должен быть хорошим и какая мощность сервера нужна для этого. Хотя сейчас есть гибридные приложения десктопные, которые во время установки просто поднимают локальный веб сервер и работают с ним, по сути совмещая мощь десктоп приложений с повсеместностью веба, и решают частично и проблемы производительности и отсутсвия хорошего интернета. Также нужно помнить что безопасность тоже не позволяет прям все реализовать через браузер.
      P.S. Да и честно говоря даже сейчас, глючность js библиотек, да и вся веб инфраструктура оолчень не стабильна, вроде и развивается все, и реально стает лучше, и типизацию ввели(тайпскрипт) но всеравно очень много багов и недопонимания.

  • @dmitriywhite8279
    @dmitriywhite8279 5 ปีที่แล้ว

    Сергей, не думали ли Вы сделать небольшие курсы/уроки для OCP?

  • @kirillsushilnikov9614
    @kirillsushilnikov9614 5 ปีที่แล้ว

    Спасибо за видео.

  • @glebskachko1811
    @glebskachko1811 5 ปีที่แล้ว +3

    Я пока ещё студент, но если честно, пока не сталкивался с идеей во front-end'е, которая не решалась связкой JavaFX + CSS

  • @HowItWorks
    @HowItWorks 5 ปีที่แล้ว +2

    Помимо производительности есть такая штука как удобство разработки. Если нужно быстро наваять полноценное десктоп приложение под винду работающее с базочками данных, то на мой взгляд самое лучшее что было это FoxPro. Там всё заточено под работу с БД (перечислять вкусности долго). Если нужно тоже самое, но не только БД, а какая то графика, звук, то Delphi. На последнем можно как просто декстоп с окошечками, кнопочками, так и игрушки под DirectX/OpenGL, а так же всевозможные динамические библиотеки для других приложух (например WinAMP, да и встраивал мультимедиа в тот же FoxPro посредством самописных библиотек). Это просто, быстро, эффективно. Джава хороша в мобильных девайсах, в вебе, кросплатформенность (это её фишка, для чего её и создавали).

  • @foxil4370
    @foxil4370 5 ปีที่แล้ว

    Здравствуйте, можете подсказать, у меня в городе появилась летняя академия от большой компании, она набирает студентов с небольшими знаниями и учит их бесплатно (если пройти небольшой экзамен )если успешно окончить курс то берут на работу, там есть курс Java я хотел пойти туда, но проблема в том что как оказалось это курсы по разработке софта на Java а софт клепать мне не очень нравится (но терпимо), душа лежит к web (front, beck оба направления оч нравятся). Подскажите пожалуйста что выбрать: идти к ним в академию ( просто это отличный шанс " войти в IT") или же самому учить web ?

    • @arturianec100
      @arturianec100 5 ปีที่แล้ว +2

      Я "мимо проходил", но советую идти к ним. Java прочно сидит в web backend со своими Spring Framework и не только. Другое дело, что Java многословнее скриптоты а-ля php, js, python. Зато на джаве пишут крупные надёжные приложения (из них очень много веб приложений).

  • @user-bp4co9ey5q
    @user-bp4co9ey5q 5 ปีที่แล้ว +22

    5:30 а как же qt?

  • @doit6695
    @doit6695 5 ปีที่แล้ว +1

    Сергей на прошлом стриме вы обещали подробный разбор по ЯП и сферах их применения .Вы не забыли ?Уже.......

  • @AlexFeaT
    @AlexFeaT 5 ปีที่แล้ว +4

    У нас оффлайн приложение для проигрывания аудио и видео контента. Иногда взаимодействует с сервером для обновлений. Делать кросплатформенное решение для android/win/linux гораздо удобнее, чем держать 2/3 команды. Плюс тестированию проще, так как логика одинаковая. И необходимость в однотипных тестах на разных системах меньше.
    У нас был опыт, когда под android писали на java, а под win писали на c#. Логика работы приложений была разная, не смотря на то что задачи ставил один и тот же человек. Так же разнился функционал. Тем самым кросплатформенная разработка на java бывает выгодна, просто всё как всегда зависит от задач.
    Да и java удобна за счёт того, что если на ОС можно поставить java машину, то это означает, что там можно запустить наше приложение. Возможно понадобятся небольшие доработки, но это не разработка с нуля всего функционала.

  • @MaksymVashchenko
    @MaksymVashchenko 5 ปีที่แล้ว +7

    Вот ты говоришь java в десктопе плоха и т.д. А устроиться работать как раз на десктоп для первой работы у меня и вышло)
    Про eclipce RCP почему-то не все говорят, хотя это очень масштабируемая технология для десктопа.

  • @SirMenschsein
    @SirMenschsein 5 ปีที่แล้ว +67

    Приложения на JavaFX выглядят не так уж плохо.

    • @danilishei
      @danilishei 5 ปีที่แล้ว +1

      Даже очень. Там полностью кастомизируется

    • @LobanovSpace
      @LobanovSpace 5 ปีที่แล้ว

      Хм...

    • @alex-uk-kharkiv
      @alex-uk-kharkiv 5 ปีที่แล้ว +9

      ​@@danilishei и костылизируется из-за сырого функционала.

    • @Ilyas377
      @Ilyas377 5 ปีที่แล้ว

      не впечетлил. был один проект, писали на fava fx. но оно жестко загрузил jvm

    • @developerninja619
      @developerninja619 5 ปีที่แล้ว +4

      Qt рулит))

  • @Maggistr44
    @Maggistr44 2 ปีที่แล้ว +1

    Под ваши видео хорошо кодится (это комплимент).)

  • @lynx6511
    @lynx6511 5 ปีที่แล้ว +19

    Для C++ есть прекрасный фреймворк Qt (учил довольно долго), позволяющий писать код, работающий на основных операционках (и даже микроконтроллерах, но не углублялся), в т.ч. и использующие фичи каждой (хоть и небольшой список) - Android/MacOS/Windows Extras. Есть также GTK, Wx, но ну их в пень, скажу честно. Сейчас вот net core будет новый, мб там и Forms какие-то завезут, вот это уже что-то интересное будет. А так, Java элементарно не затачивалась под десктоп, вот задачи там такой не стояло (не смотря на Swing и JavaFX).

    • @developerninja619
      @developerninja619 5 ปีที่แล้ว +6

      Мне кажется десктоп лучше писать на C#. Он приятнее и проще, чем C++ как язык. На нем пишут с помощью WinForms приложухи под винду, на Xamarin Forms под Android, IOS, Windows Phone, Mac OS X. А если надо что-то запилить под линукс, то MonoDevelop #GTK. По моему очень хорошая альтернатива Qt

    • @developerninja619
      @developerninja619 5 ปีที่แล้ว

      Я изучаю C++ и думаю, что выбирать: C# со всем его стеком .NET. Или же дальше учить C++ и потом Qt. Но все же пока что больше склоняюсь к C# .NET, думаю купить книгу по C# 7.0. на днях. Сможете переубедить?))

    • @saimonshaplygin7867
      @saimonshaplygin7867 5 ปีที่แล้ว +4

      Qt есть и для python, что позволяет быстрее разрабатывать чем на С++ и если нужно использовать ML и другие различные библиотеки

    • @user-xl2tf4gq1g
      @user-xl2tf4gq1g 5 ปีที่แล้ว +3

      @@developerninja619 flutter под Android/IOS, Java либо C++ Qt под Win, Linux, MacOS
      А под windows phone как-то странновато писать, когда их поддержка прекратилась Microsoft

    • @mihax56
      @mihax56 5 ปีที่แล้ว

      @@developerninja619 если всю жизнь планируешь писать десктопное ПО - флаг в руки учи сишарп. к вопросу выбору языка - сможешь назвать хотябы 2-3 программы уровня мелоксофтофиса/фотошопа итд, написанную целиком на шарпе?

  • @YWNWA-ZXC
    @YWNWA-ZXC 5 ปีที่แล้ว +2

    как раз шапры тоже упали в WPF, чем JavaFX плох?

  • @Roma4086
    @Roma4086 4 ปีที่แล้ว +1

    а из чего вообще строится фротенд приложений для внутренних операций в компании? Например, вы пришли в банк и сотрудник банка заходит в систему работает с ней, на чем строится UI этой системы?

  • @Ackep_Tu6ae8
    @Ackep_Tu6ae8 5 ปีที่แล้ว +2

    На Java ещё и UML-редакторы делают, например Visual-Paradigm (наверно самый крутой UML редактор).

  • @user-io2gl1xi7b
    @user-io2gl1xi7b 5 ปีที่แล้ว +35

    Серьёзно? На JavaFX плохой дизайн UI? В ютубе полно обучающих видео с реализацией Material Design. Соглашусь, на запуск приложения, написанного на JavaFX уходит какое-то время, в среднем 1-2 секунды, но блин, что в этом криминального?)))

    • @user-bo4fh7of8l
      @user-bo4fh7of8l 5 ปีที่แล้ว

      Согласен. Мелкие красивые утилиты, которые должны одинакового отрабатывать в любой кофеварке - это скорее джава, чем кути. Какие то крупные десктоп приложения так или иначе касаются сети и лучше сразу делать вебсервис. Мое мнение.

    • @user-io2gl1xi7b
      @user-io2gl1xi7b 5 ปีที่แล้ว +4

      @@user-bo4fh7of8l В своё время (лет 10 назад) кодил на PHP и скажу что без JS или CSS не получится реализовать что-то футуристичное, например скрывающихся окон и плавающих кнопок. Проблема в том, что JS и CSS не работают стабильно в разных браузерах, а для enterprise это очень плохо. Плюс к тому, если Вы fullstask dev, и приложение должно работать в локальной сети, то будет удобнее писать приложение на одном языке, чем на 2+ языках.

    • @user-bo4fh7of8l
      @user-bo4fh7of8l 5 ปีที่แล้ว +4

      @@user-io2gl1xi7b я и не спорю. Сам когда то сидел на этом стеке (пхп джс/джиквери ксс хтмл мусикул). Я просто рассуждаю за выбор между джавой (и ЮИ джаваФХ) и плюсами с библиотекой кути. И плюсы и джаву я знаю, но рекомпилить приложуньку под разные архитектуры такое себе, так что я все таки склоняюсь к написанию на жабе. Пусть джава машину рекомпилят, а нам надо один раз написать и чтобы везде работало.

    • @yuriyuldashev9513
      @yuriyuldashev9513 4 ปีที่แล้ว

      1-2 секунды, так .Net приложения дольше запускаются.

  • @kentforthable
    @kentforthable 5 ปีที่แล้ว +1

    я писал десктоп приложение на JavaFX, работает то оно работает, но вот много минусов. Например, там CSS обрезанный, нет доступных анимаций, как есть в вебе. А ещё всякие глюки, например когда назначаешь на ALT + какую либо клавишу, вызов какого-либо метода, воспроизводится звук не забиндиных клавиш(если в виндоус делаете приложение) ДА и для того,чтобы упаковать работающий jar с базой данных и со всеми библиотеками в exe инсталлятор тоже пришлось помучаться

  • @KirillTerekhov
    @KirillTerekhov 5 ปีที่แล้ว +30

    Очень странно слышать аргумент про быстродействие и интрепретируемость в 2019 когда GraalVM позволяет полностью скомпилировать код AOT и выдаёт бинарник.
    Аргумент про ненативный UI тоже звучит странно. Большинство приложений сейчас пишутся на Web-технологиях. Там тоже UI ненативный, но он красивый и всем нравится.
    На мой взгляд, desktop на Java не пишут потому что нет хорошего фреймворка для этого. Mobile разработка на Dart тоже считалось дикой, пока не появился Flutter. Люди, когда начинают писать, выбирают технологии, а не языки.

    • @edkachalov
      @edkachalov 5 ปีที่แล้ว +5

      Пойди попользуйся Photoshop в WEBе.

    • @rebrov_vyacheslav
      @rebrov_vyacheslav 5 ปีที่แล้ว +4

      Зачем упоминать веб технологии если речь о десктопе

    • @megabaytm
      @megabaytm 5 ปีที่แล้ว +2

      @@rebrov_vyacheslav про electron слышал?

    • @rebrov_vyacheslav
      @rebrov_vyacheslav 5 ปีที่แล้ว

      Причем здесь электрон, явно же речь в другом контексте.
      П.с. - нет, до этого ролика не слышал, не моя сфера интересов.

    • @KirillTerekhov
      @KirillTerekhov 5 ปีที่แล้ว +5

      @@edkachalov я думаю, если бы Фотошоп начинали писать сейчас, то UI для него бы написали на на Web, а работу с графикой, "движок", - на языке с ручным управлением памятью. Так сейчас устроены VSCode, Skype, Hangouts. Список можно продолжать долго и он будет пополняться.
      Это не потому что JS лучше Java, Kotlin или C++, а потому что React, Vue и Angular лучше, чем JavaFX и Qt.
      Появился Flutter и куча людей стало писать на Dart, хотя этот язык сочетает в себе синтаксис Java с системой типов JavaScript.
      Думаю, если завтра появится крутой фреймворк для UI от какого-нибудь Амазона на Java, то все побегут писать на нём.

  • @user-qf2xk1fg6e
    @user-qf2xk1fg6e 5 ปีที่แล้ว +5

    Про использование Golang в больших проектах. Что вы об этом думаете. Запишите пожалуйста. Очень прошу.

  • @McRay8
    @McRay8 5 ปีที่แล้ว +3

    Из минусов можно добавить, что не каждый юзер хочет себе помимо приложухи ещё и jvm отдельно ставить. Можно упаковать, но тогда размер вырастет

    • @velsah5763
      @velsah5763 2 ปีที่แล้ว

      Извините. На сколько? Я не в теме.

    • @McRay8
      @McRay8 2 ปีที่แล้ว

      @@velsah5763 на размер jvm - при мне было где-то 200 мбайт

  • @ssurrokk
    @ssurrokk 5 ปีที่แล้ว +1

    что думаете о Kotlin?

  • @FrickUA
    @FrickUA 4 ปีที่แล้ว +2

    Блин. Вы приводите пример из статейки про джаву, с момента ее выхода. Вы видели сколько стартует современные Microsoft Office например, Photoshop? Они ж не на джаве написаны. Серьезные декстоп приложения тоже часто запускают раз в день/неделю/месяц, апотом просто включают сон на компьютере вместо выключения. Или программисты ide и все тулзы для работы с БД и чем то еще кажды день перезапускают?)) Java FX дает замечательную картинку. В любом случаи программа должна быть со стандартным интерфейсом, а не с рюшиками, фиг пойми как пользоваться. В чем проблема вызвать с джавы нативку, под разными осями разную, если это действительно важно для работы этого приложения? SAAS подходит далеко на для всех приложений. Пример? Посмотрите сколько не клиент-серверных приложений под андроид в плей маркете. Увы даже html 5 с его канвой, не дает хорошо реализовать сложные юай интерфейсы. Точнее дает, но писать нужно многое с нуля. Пример - палнировщики мебели, есть онлайновые, но либо убогие в использовании, либо с кучей самописных фишичек. Я как бы тоже за то что б делать веб ориентированые приложения, где эт о только возможно. Из минусов нужен хостинг, с поддержкой той же джавы, которые обычно доступны только на VDS, ну или клауд, а это все не очень дешево для мелких приложений, особенно если интернет им не нужен для основных функций. Да и даже современные html+css требуют хорошего бекграунда для построения адекватных интерфейсов. Что начинающему джависту может быть сложно. Это не кнопочек натягать на формочку, и по двойному клику события поописывать.

  • @HITROME
    @HITROME 3 ปีที่แล้ว +8

    Сейчас весьма быстро запускаются десктопные приложения, написанные на Java, и если руки программиста не кривые, то и красоты сейчас чтоб навести всего в Java достаточно. Игрушки вообще классно клепать. Хоть 2d, хоть 3d.. Рендеринг быстрый, всякая акселерация используется. JIT компилирует в бинарник при первом проходе, и это заметно, к стати, на десктопных приложениях очень хорошо. Да и на WEB, когда та же JSP-шка при первом проходе слегка подвисает, зато при втором моментально отрабатывает. Где там 3, 5 или больше проходов - я не знаю... Ну, не видел такого ещё.. Гарбидж-коллектор - тот да, подстраивается иногда заметно как.. Особенно, когда какую-нибудь графическую демку делаешь или игрушку - запускается быстро, но через некоторое время иногда бывают проглюки в скорости, особенно, если сильно много процессорного времени забрал... На Java, конечно, много разных инструментов для разработчика.. Почему-то мало джавовского софта для работы с мультимедиа. И часто как-то так криво написаны бывают такого рода поделки, что поплюёшься и снесёшь.. Хотя я пробовал работать со звуком - если сделать всё качественно, то вполне всё бегает без каких-либо глюков... С видео серьёзно не работал, но что делал - сносно работало. Видел WEB-морды для видеокамер, где видеопроигрыватели были написаны на Java, как апплеты (ещё в старые добрые времена :-) ). Так там они и расшифровывали поток, и показывали.. И, самое главное, работали под любой ОС, что меня, как линуксоида, радовало. Так что, ничего подобного: Java для десктопа - это нормальная идея. Не сказать, всё-таки, что отличная, но вполне годная, особенно если её помножить на преимущества кросплатформенного приложения. ИМХО

    • @zakharbondarev7814
      @zakharbondarev7814 2 ปีที่แล้ว

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

    • @HITROME
      @HITROME 2 ปีที่แล้ว

      @@zakharbondarev7814 Да. Java решает проблему кроссплатформенности. Главное, чтобы под платформу имелась JVM.

  • @user-vg1sr9ye5s
    @user-vg1sr9ye5s ปีที่แล้ว +3

    Кроссплатформа - это плюс, а не минус. Выглядеть приложение должно одинаково и на виндовс и на Линукс, что в этом такого. Реагировать на перемотки рабочих столов оно будет так же как и другие приложения, потому что это не от приложения зависит.

  • @velsah5763
    @velsah5763 2 ปีที่แล้ว +2

    Из опыта. На текущий момент мы возвращяемься к нехватке ресурсов. Понятное дело, что это касается не всех. Но средний бизнес страдает. Слишком разбаловались. Так что в будущем в пределах бывшего СНГ вижу тенденцию к менее ресурозатратным системам. (в сторону мелких)

  • @Merkury778899556644
    @Merkury778899556644 5 ปีที่แล้ว +18

    Не согласен насчет убогости. Под JavaFX вполне себе красивые приложения писать можно, которые будут мелькая всеми цветами радуги и иметь произвольные размеры и поведение

  • @zemskov88
    @zemskov88 5 ปีที่แล้ว +3

    С удовольствием смотрю Ваши видео, но с этим видео не согласен. На работе активно использую Swing с системным look and feel, и выглядит все как нативное приложение и под windows, и под linux, все достаточно симпатично. Со временем запуска и скоростью работы тоже никаких проблем не замечал. У java приложения интерфейс получается гораздо отзывчивее, по сравнению с web приложением, по крайней мере в случае если в приложении отображаются большие объемы данных, или если есть формы с большим количеством компонентов в них.

  • @codeline9387
    @codeline9387 5 ปีที่แล้ว +10

    Android так же использует jvm и там нет проблем описанных вами в видео.

    • @pavlotalashchuk6741
      @pavlotalashchuk6741 5 ปีที่แล้ว

      Разве приложение написаноe для андроид запуститься на ios? Тут не много не корректно сравнивать, в адроиде jvm (art) запущена постоянно и ее не нужно подымать по запуску приложение, во вторых еще пару лет назад ходили слухи что адроид разработка перейдет на какой то нативный язык, потому что запуск и работа приложений на адроид уступали тем же на ios если сравнивать на релевантных девайсах и-за как раз jvm

    • @homo-ergaster
      @homo-ergaster 4 ปีที่แล้ว +1

      ​@@pavlotalashchuk6741 На Kotlin они переходят. Только Kotlin тоже работает поверх JVM. Они на него переходят не потому, что на андроиде что-то плохо запускалось, а из-за растянувшегося спора с Oracle относительно авторских прав на Java.

  • @Ackep_Tu6ae8
    @Ackep_Tu6ae8 5 ปีที่แล้ว +4

    Плюс, Open office и Libre office. Благодоря им, можно пользоваться вордовыми документами на линуксе, или на винде, без самого ворда.

    • @user-ip1tw5xo1i
      @user-ip1tw5xo1i 5 ปีที่แล้ว +1

      Если что, то они написаны на C++

    • @Ackep_Tu6ae8
      @Ackep_Tu6ae8 5 ปีที่แล้ว +1

      @@user-ip1tw5xo1i "Написана на C++ и Java[2]
      Операционная система Linux, Microsoft Windows и macOS
      Языки интерфейса Русский, английский и др.
      Первый выпуск 30 апреля 2002[1]
      Аппаратная платформа Java Virtual Machine" Вики. Это опен офис. А вот либре, действительно на C++. В любом случае, он был начат на Java. Он обладал всеми недостатками и достоинствами, приложений на Java (переносимость win/linux, тормоза в работе, большой функционал, по сравнению с другими десктоп приложениями).

    • @user-ip1tw5xo1i
      @user-ip1tw5xo1i 5 ปีที่แล้ว

      @@Ackep_Tu6ae8 джавы там очень мало, в core 87% - С++
      github.com/LibreOffice/core

  • @vufer3d
    @vufer3d 5 ปีที่แล้ว +5

    Qt для плюсов шаг к аросплатформенно ти

  • @chipsoft1
    @chipsoft1 5 ปีที่แล้ว +3

    Тем не менее знаю парочку крупных корпораций, которые используют Java для Desktop приложений. Количество клиентов - я так думаю сотни тысяч, а может и миллионы. Да, оно все громадное, да, оно не так быстро работает, но тем не менее от этого никто не собирается отказываться. И что самое интересное - приложение исключительно под Windows.

  • @developerninja619
    @developerninja619 5 ปีที่แล้ว +3

    7:10 что такое "саас" приложения? Кто-нибудь может пожалуйста объяснить?

    • @ruslansergazin8239
      @ruslansergazin8239 5 ปีที่แล้ว +3

      SaaS - software as a service, гугли

    • @Ackep_Tu6ae8
      @Ackep_Tu6ae8 5 ปีที่แล้ว +2

      Также, есть Paas, Iaas, и т.д.

    • @developerninja619
      @developerninja619 5 ปีที่แล้ว +1

      @@ruslansergazin8239 спасибо

  • @AlexAlex-rc9di
    @AlexAlex-rc9di 5 ปีที่แล้ว +2

    Шарп прекрасен и логичен. Вот бы все языки были такие френдли. Да и много где сейчас используются интерпретаторы. Тот же Unity потом код из шарпа переводит в С++, а оттуда загоняет его в Java через дэв киты для совместимости с мобильными устройствами(может я не прав по поводу прослоек, и там немного иначе, но на выходе имеем Java). А для портирования в браузер, переводит шарп в html5. Ну т.е. со временем будет почти без разницы на каком языке писать, не считая определённых особенностей архитектуры языков, например когда на питоне удобнее писать машин лёрнинг.

    • @0imax
      @0imax 5 ปีที่แล้ว +1

      И всё-равно останутся ярые фанаты С++, доказывающие, что это не язык устарел, а программисты обленились (и будут правы).

    • @iteospace
      @iteospace 8 หลายเดือนก่อน

      ML на шарпе легко делается

  • @user-rc5vv8sh5l
    @user-rc5vv8sh5l 5 ปีที่แล้ว

    4:39 Лучше,в случае необходимости потом продать портирование.(переписать для другой ос. за деньги)

  • @LobanovSpace
    @LobanovSpace 5 ปีที่แล้ว

    Люблю видео про Java.

  • @sergdefault
    @sergdefault 5 ปีที่แล้ว +17

    У нас в продакшене приложения на swing и javaFx и нет никаких проблем. Все работает и на линуксе и на Винде.

    • @user-um6ru5gf2p
      @user-um6ru5gf2p 5 ปีที่แล้ว +4

      @Serhii Tsymbaliuk, у кого это "у вас"? Можно подробнее? Название компании хотя бы.

    • @user-hy3jf9oc4x
      @user-hy3jf9oc4x 3 ปีที่แล้ว

      Завод гоша дудуарь

  • @arammartirosyan2233
    @arammartirosyan2233 5 ปีที่แล้ว +8

    "Спойлер - с моей точки зрения сейчас это C#
    "
    Я человек простой, вижу любимый C# в рекомендациях == лайк не глядя.

    • @LobanovSpace
      @LobanovSpace 5 ปีที่แล้ว +2

      Я так же про Java могу сказать)

  • @111shooter1111
    @111shooter1111 5 ปีที่แล้ว +2

    Насчет текста, гугл док конечно работает в браузере, но вот MS Word Работает в браузере ограниченнее и медленее чем на десктопе. Веб хорошо тем что сам ей управляешь, обновление сам ставишь, не даешь доступ ко всем потрохам. Но вот софт вроде фотошопа онлайн маловероятен.

    • @barbershop1540
      @barbershop1540 3 ปีที่แล้ว

      Облачный гейминг)))))))))))))))) скоро и до фотошопа дойдёт

  • @JohnHeppner
    @JohnHeppner 5 ปีที่แล้ว +13

    Имхо, зачастую в 2019-м десктоп приложение - это Electron (или nw.js), в который заворачивают веб-приложение.

    • @PugachevIgor
      @PugachevIgor 5 ปีที่แล้ว

      Electron хорошая вещь, но там тяжело вызывать нативные API операционной системы. Хотел написать приложение под MACOS, которое работало бы в background и считало, какое расстояние прошел курсор за день. Нашел, с помощью чего сделать github.com/TooTallNate/NodObjC, но так и не понял, как с этим работать.

    • @JohnHeppner
      @JohnHeppner 5 ปีที่แล้ว

      @@PugachevIgor Есть вариант с C# - библиотека electron-edge-js.

  • @seka1309
    @seka1309 5 ปีที่แล้ว

    Для ВЭБ-а что лучше Java или C#?

  • @dmChanal1
    @dmChanal1 5 ปีที่แล้ว +3

    Скорее дело еще и в том , что многие привыкли GUI разрабатывать, добавляя в редакторе формы и меняя их свойства - преимущественно мышкой. Еще с делфи и визуал-бейсика такое. Поэтому думают, что изучать джаву надо тоже с десктопа - типа легче и уже умеют. Но на самом деле для написания десктопного приложения на джаве надо знать намного больше - включая многопоточность и паттерны. Десктопные приложения в джава - это не для новичков. Еще не видел ни одного десктопного приложения у новичка в джаве, где бы код был нормальный. Но если Вы это все умеете - то может получиться офигительная вещь типа IDE от JetBrains

    • @tupsdupa5734
      @tupsdupa5734 5 ปีที่แล้ว

      Тормозная хрень все иде на жаве. Если на машине нет ССД диска и памяти минимум 8гб - работа в таких виде просто невозможна, это не работа а воспитание психопата который рано или поздно расколотит комп от тормозов выражающего меню 😌

    • @dmChanal1
      @dmChanal1 5 ปีที่แล้ว

      @@tupsdupa5734 расскажите об альтернативных IDE для больших проектов, которые имеют такой же функционал и работают быстрее. С меньшим функционалом их вагон и маленькая тележка. Кроме того, никто не запрещает RAM диск

    • @tupsdupa5734
      @tupsdupa5734 5 ปีที่แล้ว

      Даже vsc работает быстрее. А про функции если все тормозит их вызывать никто не будет🐱

    • @dmChanal1
      @dmChanal1 5 ปีที่แล้ว +1

      @@tupsdupa5734 мы про разработку на Java еще говорим? Если нет - то я могу привести пример blackbox component builder, который супермаленький и быстрый, и еще является каркасом Вашего будущего приложения. Но это совсем не про то. Если Вы работаете программистом, то знаете, что большую часть времени уходит на чтение кода и дебаг. Есть претензии к скорости по навигации по коду по этому вопросу к intelidea или к эклипсу? А что может тормозить реально - это сборка проекта. Ну тут это уже не от ide зависит. Я иногда и в jeany программирую, но это не заменит в больших проектах intelidea. Требования к железу Вы правильно указали. Но это Java вообще много кушает - Вам же еще приложение локально подымать. Я бы еще в требования хороший проц добавил. Если разрабатывать на старом железе, то надо или язык менять или брать старые версии ide которые намного быстрее так как у них функционала меньше. Раньше например для андроид разработки очень хорош был еклипс. А вот андроид студия у меня даже не запускалась на старом компе. В целом думаю если выпилить кучу функций типа интеллектуальной постановки из интелидеа (ради которой ее и юзают многие) то скорость сильно вырастет

    • @tupsdupa5734
      @tupsdupa5734 5 ปีที่แล้ว

      @@dmChanal1 именно удивительно даже просто прокрутка текста и то тормозит на этих новейших иде. Что они туда натолкали, очевидно если пользователь листает текст ненадо никаких интеллектуальных процессов делать. Когда сидит думает кнопки не трогает тогда и считайте. Только еще момент начали считать и все остановится не могут 😜 и все опять тормозит. Для человека вроде 100 мс считается уже раздражающей задержкой отклика интерфейса...

  • @MRoose
    @MRoose 4 ปีที่แล้ว +3

    Спасибо за видео. В защиту винды скажу - пишите на шарпе + WF или WPF, в топку кросплатформенность

  • @ffelicius
    @ffelicius 4 ปีที่แล้ว

    Подскажите пожалуйста, кто разбирается в теме.
    Почему на C# получаем нативный виндовый код, когда программы на шарпах точно так же под виртуальной машиной CLR работает?

    • @sergeydostovalov6180
      @sergeydostovalov6180 3 ปีที่แล้ว

      У сишарпа виртуальная машина вместе с виндой поставляетя

    • @ffelicius
      @ffelicius 3 ปีที่แล้ว

      @@sergeydostovalov6180 но ведь это не отменяет того факта, что между железом и кодом есть прослойка в виде CLR. В моем понимании нативность - это исполнение сгенерированных компилятором инструкций напрямую на процессоре, а не на виртуальной машине.

    • @sergeydostovalov6180
      @sergeydostovalov6180 3 ปีที่แล้ว

      @@ffelicius C# не компилируется в нативный код, он так же как и джава исполняется в виртуальной машине. Медленный гуи на дескотопе у джавы связан с философией - всё делать на джаве, даже рендер. Обычно же, в С# делают биндинги к нативным вызовам вин апи, где C# просто задает конфигурацию компонентов и их состяне, а рендером занимается уже сама ОС.

    • @ffelicius
      @ffelicius 3 ปีที่แล้ว

      @@sergeydostovalov6180 я и говорю, какая здесь нативность, если C# не компилируется в нативный код.
      Ну если в шарпах гуи биндится на винапи, тогда да, похоже на нативность.
      Спасибо за разъяснения)

    • @sergeydostovalov6180
      @sergeydostovalov6180 3 ปีที่แล้ว +1

      @@ffelicius не за что ) Ну вот в качестве примера для джавы можно взять андройд. Там гуи тоже биндится нативно и поэтому приложения работают быстро, т.е. дело не в скорости виртуальной машины, а в биндинге к нативному гуи.

  • @zhabrovets
    @zhabrovets 4 ปีที่แล้ว +2

    А почему бы не загрузить java машину в память и не выгружать? Или сделать java машину частью операционной системы (по моему лет 15 назад эти идеи были)?

    • @SergeyNemchinskiy
      @SergeyNemchinskiy  4 ปีที่แล้ว +3

      ага. и эти идеи привели к появлению ОС, в которую джава-машина встроена. И, привет, скорее всего на ней и работает ваш телефон. Это - андроид

    • @comachine
      @comachine ปีที่แล้ว

      @@SergeyNemchinskiy странно, почему бы не сделать тоже самое с виндой, линуксом и маком

    • @Cat_Programmer
      @Cat_Programmer ปีที่แล้ว

      @@SergeyNemchinskiy по этому ОС Android так много места занимает? Всё из-за JVM?

  • @rosenblat_ivan
    @rosenblat_ivan 3 ปีที่แล้ว +1

    А как же JavaFX ? Там с помощью CSS можно чудеса творить . И смотреться будет на всех системах одинаково. А одинаково красиво или жопошно зависит уже от вас)

  • @alevlako
    @alevlako 3 ปีที่แล้ว +1

    Хоть java на десктопе и не тренд, тем не менее, для десктопа на классической java с обычной библиотекой Swing и своими анимашками написаны не только офисная прога, но и несколько резвых приложений, работающих со сторонними устройствами по стандарту real time. Стартуют да, не по сишному из-за jvm, но в остальном проблем нет. Чтобы GUI быстро работало - потоки использовать и создавать UI так, чтобы на экране было именно то, что нужно, остальное пусть себе бегает на уровне данных, пока нет нужды показывать. Если кастомизировать L&F самому не хватает ресурсов, то вполне себе симпатичные шкурки есть в JTattoo.

  • @111shooter1111
    @111shooter1111 5 ปีที่แล้ว +6

    Сергей, ну не ОС все же выполняет команды :) код всегда выполняется процессором и исполняются непосредственные инструкции процессора. ОС предоставляет различные системные вызовы.

  • @catlogoc1722
    @catlogoc1722 4 ปีที่แล้ว +1

    А на чем всякие дропбоксы, яндекс диск под win пишут?

    • @JackDaniels-yx3vg
      @JackDaniels-yx3vg 3 ปีที่แล้ว +3

      Жаль что за год так и не ответили ((

  • @slayertmb
    @slayertmb 3 ปีที่แล้ว

    чет все равно не понятно. если все упирается в веб в конечно счете то все интерпретирующиеся языки такие же ос- независимые. в чем же плюс именно явы

  • @protiv_bio
    @protiv_bio 3 ปีที่แล้ว

    Да все ходит по кругу. Открываем Олиферов, хотя бы и первое издание, и смотрим аналогию на текущую ситуацию в виде мэйнфреймов и терминалов. Но потом почему-то перешли на индивидуальные компы. Разгадка одна - что дешевле в пересчете на единицу полезности, то и используется. Если у каждого будет дешевая память и программы не будут прожорливы, как сейчас, выгодно будет все из облак перенести на распределенные десктопы. Гит - по смыслу десктопное приложение, хоть и консольное в основном, а не UI. Если приложение пользуется минимумом сетевых функций, то оно не перейдет в веб. Например, документы я редактирую на машине для себя, а если нужно расшаренный документ - пользуюсь веб-приложением, но таких документов < 1% от всего, что я редактирую. Я вот игру купил mk11 - без подключения к интернету в принципе не работает. Когда сервера прикроют, этот "продукт" просто отправиться на помойку, и кто о нем вспомнит через пару лет?

  • @MrRedM1KE
    @MrRedM1KE 4 ปีที่แล้ว +1

    Что-то не понял... В чём тогда коммерческая ценность языка, по Вашему мнению? В каких реальных проектах может использоваться, не считая разработки под Андроид? С чем тогда связана такая популярность языка? Под веб более удобнее, чем какой-то PHP, получается? - Не думаю, 90% сайтов на php почему-то.. Остается ещё какая-то "разработка сложных и хорошо защищенных распределенных систем" на серверах и клиенты к ним, получается, но явных примеров не знаю.

    • @Slash7b
      @Slash7b 4 ปีที่แล้ว

      Рекомедационный алгоритм, дата платформа и т.д.

  • @yuriyuldashev9513
    @yuriyuldashev9513 4 ปีที่แล้ว +1

    Вопрос не так прост, как кажется на первый взгляд, аналоги java на десктопе тоже так себе, тот же с++ и с# за последние 20 лет сменили кучу фрэймворков для разработки под десктоп, другой вопрос, по соотношению выгоды и усилий, если уж пишешь на java, то пиши серверные приложения, там тупо денег больше. К слову сказать, те десктопные приложения, с которыми я сталкивался в аптечном и банковском бизнесе, выглядели на голову лучше, чем конкурирующие приложения на с#, но там возможно дело было в профессионализме разработчиков. Про скорость запуска - java запускается не медленней, чем .Net приложение. Про администрирование - положить рядом jre и настроить пути в скрипте запуска гораздо проще, практически на любой операционке, от linux до winxp, с .Net всё сложнее, если у вас не последняя версия десктопа или сервера от microsoft, то приложение может и не взлететь и никак это не исправить.

  • @mrixss
    @mrixss 5 ปีที่แล้ว +2

    По поводу Java-приложений, которые выглядят как жопа. Есть JavaFX, там всё сильно лучше.
    А по поводу аналогов, странно, что не был упомянут Electron. Множество кроссплатформенных приложений сейчас пишется на JavaScript и Electron (сходу могу назвать Atom, VSCode, Slack)

  • @user-wn9ir6zs5e
    @user-wn9ir6zs5e 5 ปีที่แล้ว +22

    Java на декстопе отлично работает и отлично смотрится. Рассуждения, что java не подходит для десктопа по крайней мере убого.

    • @markbeaver4806
      @markbeaver4806 11 หลายเดือนก่อน

      Да, все зависит от прямоты рук. А то все критикуют - а само в последний раз пробовали какой-нибудь awt

  • @Selavy82
    @Selavy82 5 ปีที่แล้ว

    ... ну есть AOT - начиная с Java9 в стандарте, а Excelsior Jet давным давно уже делали. Там такой проблемы нет

  • @dimadima7904
    @dimadima7904 3 ปีที่แล้ว +1

    Ну, смотря какая жопа. Есть даже конкурс вроде в Бразилии. У финалисток совсем даже не плохо выглядят.

  • @EdwVee
    @EdwVee 5 ปีที่แล้ว

    Эх, как у меня пригорало от работы с Gephi написанной на джаве. Прога для работы с графами. Но мои сильно связанные, и она жрала сто гигов оперативы и жутко тормозила. Как разрабам пришло в голову тут джаву юзать.

  • @vanhalen2210
    @vanhalen2210 5 ปีที่แล้ว

    Насколько хорош java как язык для обучения? Или стоит постигать азы с с++?

    • @kawaikaino5277
      @kawaikaino5277 5 ปีที่แล้ว +4

      Начинающий? - бери питон , от с++ полысеешь быстро

    • @dmChanal1
      @dmChanal1 5 ปีที่แล้ว +1

      Для азов если совсем никогда не программировали лучше pascal как бы его не ругали не придумано. Ну или можно из более современных golang или oberon-07

  • @dilettant05
    @dilettant05 11 หลายเดือนก่อน +2

    7:20 Software as a servis

  • @romecold411
    @romecold411 2 ปีที่แล้ว +1

    Ничего подобного ! Сейчас Java-Desktop широко используется и работает очень прилично !

  • @igoraleksandrovich1498
    @igoraleksandrovich1498 3 ปีที่แล้ว +2

    C и C++ будут в тренде ещё долго.

  • @MiCola12
    @MiCola12 2 ปีที่แล้ว +1

    Спасибо. Очень познавательно.
    Интересно что по факту все пытались делать всякие там JRE и .NET. А по факту универсальной средой SaS приложений стали: HTML, CSS, JS броузеры!

    • @user-mu1ul8qj1x
      @user-mu1ul8qj1x 2 ปีที่แล้ว

      Ага броузеры это мошная срыда разработыкы

  • @Konstantin_Terletskiy
    @Konstantin_Terletskiy 4 ปีที่แล้ว +2

    Вот бывает такое, чтобы десктоп-приложение должно работать под всеми ОС и это прямо must have. Бывает. www.gses.com/simulation-technology/ например. Десктоп на Яве. Так что не вполне с автором соглашусь. Ну и, скажем, Станция Инструктора у атомного тренажёра и на C, C++ написанная нативно под конкретную ОС всё равно будет стартовать медленно, ибо ей кучу всего надо грузить. Это не баловство, нужно кучу всяких списков из базы подцепить, связаться по сети с Главным Моделирующим Компьютером и т.п. Опять же, у указанной фирмы, да и у той, где я сейчас работаю, кроссплатформанность декстопа обязательна, ибо заказчики бывают такие, что хотят Винду, а бывают такие, которые требуют только Линукс, а Винду либо на дух не переносят, либо им её нельзя поставлять по причинам санкций или безопасности. А держать несколько версий таких приложений под каждую ОС для компании излишние расходы. Красоты под конкретную ОС - ну сейчас уже и этот вопрос решается, есть возможность и под каждую ОС красоты дописывать. Видел я такие приёмчики. Кроме того, использование JavaFX делает вид GUI уже весьма красивым, и уж этим неприглядным словом это никак не назовёшь. А ещё сейчас появилась новая виртуальная машина OpenJ9, как утверждается, заточенная под уменьшение времени запуска. Так что не всё уж так плохо, что прям вот нельзя десктоп на Яве и всё тут.

    • @SergeyNemchinskiy
      @SergeyNemchinskiy  4 ปีที่แล้ว

      спасибо за пример. не слышал о таких

    • @Konstantin_Terletskiy
      @Konstantin_Terletskiy 4 ปีที่แล้ว +1

      @@SergeyNemchinskiy Справедливости ради замечу, что написание десктопов для разработчиков тренажёров электростанций и рабочих мест инструкторов и операторов весьма специфическая область. В России есть всего три известных мне компании, включая моего работодателя, которые этим делом занимаются. А то, что у GSE Systems на той страничке, я был одним из основных разработчиков JADE, JDesigner, JStation, у истоков ещё стоял. Ну ещё сталкивался по работе, ВНИИА написал на Свинге среду разработки диаграмм автоматики. Ну это тоже вещь такая, там красоты и супербыстрый запуск не требуются, а переносимость, вероятно, как раз требуется.

  • @user-zi4xh4kz2k
    @user-zi4xh4kz2k 2 ปีที่แล้ว

    Ну вот объясните мне, ведь на Яве пишутся приложухи для андроид?

    • @SergeyNemchinskiy
      @SergeyNemchinskiy  2 ปีที่แล้ว +1

      пишутся. Там джава-машина является ядром системы

  • @romansmaksjutovs4291
    @romansmaksjutovs4291 5 ปีที่แล้ว

    Сергей, здравствуйте! Запишите пожалуйста видео о том, насколько надо углубляться в Java обучение, если планирую только писать для Android?

    • @juanantonio5941
      @juanantonio5941 5 ปีที่แล้ว

      Для Android, сегодня, kotlin

  • @dmChanal1
    @dmChanal1 4 ปีที่แล้ว

    excelsior jet и компилируете (!) java(javafx) в очень компактный и быстрый дистрибутив.

  • @nerveid
    @nerveid 5 ปีที่แล้ว +2

    А Minecraft который в первых версиях был запилен на java Desktop?

    • @user-qo4oc7uc1c
      @user-qo4oc7uc1c 5 ปีที่แล้ว +2

      Он до сих пор разрабатывается на java, есть отдельное издание на С++. Если попробовать поиграть в java версию майна, то можно увидеть, насколько сильно она тормозит

    • @nightkosh3849
      @nightkosh3849 4 ปีที่แล้ว +1

      @@user-qo4oc7uc1c как человек, занимавшийся модингом кубача очень долгое время, могу с уверенностью сказать, что тормозит он в первую очередь потому, что там внутри невероятно лютый говнокод. Хотя, конечно, это ещё не гарантирует, что он не тормозил бы при прямых руках его разрабов.

  • @noone-hi6kq
    @noone-hi6kq 4 ปีที่แล้ว

    в смысле не используют? КучаCRM разработаны на Джаве. И они все говно, но используются практически везде - от коллцентров до обычных офисов

  • @mverjbitsky
    @mverjbitsky 2 ปีที่แล้ว +1

    В этом видео - мнение дилетанта.
    1. Десктоп необходим для использования железа рабочей станции (обычно cd-rom, e-token, криптозащита).
    2. Преимущества C# не очевидны, т.к. это Java - вид сбоку с java-машиной имеющей другое название.
    3. Интерфейс десктопа на Java внешне не отличается от C#

  • @KKZ_5000_RUB
    @KKZ_5000_RUB 5 หลายเดือนก่อน

    Ну если примитивные всякие штуки то можно и через веб версию или RDP. А для чего-то более серьезного конечно нужно ПО и да лучше под конкретную ОС.
    Хрено что эта java не подходит. Чего же её тогда везде все учат кругом, если она не для чего толком не подходит?

  • @Mike19910711
    @Mike19910711 5 ปีที่แล้ว

    Какие-то серьёзные приложения когда пилятся на C++ под несколько ОС, там как правило, пилится, грубо говоря, абстрактный класс для доступа к основным контролам, а затем под каждую конкретную ОС пилятся в виде отдельных библиотек реализации для вывода этих контролов под конкретную ОС. В самом коде приложения уже напрямую с гуем ОС не общаются, а юзают методы того абстрактного класса. По-моему так в Opera Presto даже делали (потому у них дизайн контролов одинаково на разных ОСях выглядел). Впрочем, существуют уже готовые решения для мультиплатформенной разработки приложений с гуем на C++: Qt, wxWidgets и др. Естественно, если речь идёт о написании очередного калькулятора или блокнота, так заморачиваться никто не будет (проще взять ту же Джаву и Swing и на них всё запилить).
    Я пробовал писать небольшие приложения на Java при помощи Swing, мне понравилось в общем-то, очень похоже на тот же WindowsForms у MS. С точки зрения пользователя, десктопные приложения на Джаве имеют ряд неудобств: во-первых, пользователю нужно устанавливать JRE (как я подозреваю, не на многих компьютерах она установлена пользователем заранее); во-вторых, есть инфа, что при работе через удалённый доступ интерфейс может не отображаться нормально (поскольку Swing использует hardware acceleration); в-третьих, потребление памяти, тормоза при вызове GC. И кстати, та же Intellij IDEA хоть и является лучшей IDE на сегодняшний момент, все минусы Java в ней ощущаются очень хорошо: долгий запуск, постоянные тормоза (вероятно, при сборке мусора); у меня Android Studio периодически зависает на пару минут, когда я просто пишу код в редакторе и IDE вдруг начинает искать предложения для автозавершения.

    • @mihax56
      @mihax56 5 ปีที่แล้ว

      серьезные приложения так пилились лет 20 назад, сейчас просто берут готовый фреймворк, а не изобретают трехколесный велосипед.

    • @Merkury778899556644
      @Merkury778899556644 5 ปีที่แล้ว

      =во-первых, пользователю нужно устанавливать JRE (как я подозреваю, не на многих компьютерах она установлена пользователем заранее); =
      если вы не знали, то jre можно поставлять свою собственную вместе с приложением простым копированием. Потом только как запускать будете ява -файл, укажите полный путь до java.exe \javaw.exe . Т.о. пользователю дополнительно ничего не надо ставить

    • @Mike19910711
      @Mike19910711 5 ปีที่แล้ว

      @@Merkury778899556644JRE 1.8.0 в установленном виде весит порядка 200 МиБ. Имхо, многовато будет, если к каждому распространяемому приложению на всякий случай прицеплять такой "багаж".

    • @user-nr2lj5ek4r
      @user-nr2lj5ek4r 5 ปีที่แล้ว

      OptionParalysis 200 будет если вы прицепите со всей документацией, исходниками и утилитами из директории bin. Если упаковать непосредственно среду и jar в один исполняемый модуль то будет гораздо меньше

  • @ram0973
    @ram0973 4 ปีที่แล้ว

    Это слабая позиция, если отказываться от чего-то. Типа мы за вас решили, вам этого не надо. C# не отказался, там и Prism, и WPF, и Unity. А что на Java? JavaFX и тот выпилили из библиотек. И если человек будет сейчас выбирать что учить, Java или C#, он выберет C#. Достаточно посмотреть, как развивается язык, и библиотеки (я в курсе, что энтерпрайз консервативный), да и конкуренты тот же Котлин развиваются быстрее (мне Java нравится если что)

  • @SuperRusticus
    @SuperRusticus ปีที่แล้ว +2

    С появлением JavaFX, Java перестала выглядеть, как "жопа".

  • @user-ol6pw2uk4t
    @user-ol6pw2uk4t 4 ปีที่แล้ว

    Не понял, говорите что java-приложение на десктопе долго стартует, а почему тогда на Android скорость старта java-приложений всех устраивает?

    • @SergeyNemchinskiy
      @SergeyNemchinskiy  4 ปีที่แล้ว +1

      Там джава-машина зашита в ядро

    • @user-ol6pw2uk4t
      @user-ol6pw2uk4t 4 ปีที่แล้ว

      @@SergeyNemchinskiy Но если Intel процессор помощней, то это не компенсирует скорость?

    • @user-ol6pw2uk4t
      @user-ol6pw2uk4t 4 ปีที่แล้ว

      @@SergeyNemchinskiy А почему тогда пишут десктоп-приложения на python, если он ещё медленнее исполняется?

    • @msvru
      @msvru 3 ปีที่แล้ว

      @@user-ol6pw2uk4t Не поэтому ли андроид старается не закрывать приложения а усыплять их, чтобы потом быстрее стартануть?
      На питоне пишут потому что проще писать. А тормоза пользователи потерпят.

  • @AlexanderDembinsky
    @AlexanderDembinsky 5 ปีที่แล้ว +2

    По такой логике можно спросить "Зачем делать мобильные приложения под iOS или Android? Там тоже есть браузер".

    • @dharmov
      @dharmov 4 ปีที่แล้ว

      Так зачем же?

    • @ivanlyapunov7541
      @ivanlyapunov7541 3 ปีที่แล้ว

      Нативное можно продавать через заботливо выращенные апсторы и гугелплеи, а браузерные ещё надо суметь пропихнуть, чтобы купили. Как одна из главных причин, но не единственная.

  • @amr3184
    @amr3184 4 ปีที่แล้ว +1

    а как же всеми любимый DevelNext ?

    • @SergeyNemchinskiy
      @SergeyNemchinskiy  4 ปีที่แล้ว +1

      всеми? 8-0

    • @amr3184
      @amr3184 4 ปีที่แล้ว +1

      @@SergeyNemchinskiy было большое сообщество у jPHP , поддержка прекратилась , но данная ide не потеряла актуальность (в качестве прототипирования десктоп приложений) . Эксперты их хабрахабр считают что писать десктопный софт на DevelNext это рискованное дело.

  • @tylerspeaksloud
    @tylerspeaksloud 5 ปีที่แล้ว +1

    00:32 вот где начало ес че

  • @BossVspMax
    @BossVspMax 2 ปีที่แล้ว

    Почему Python для Android плохо?

  • @kookaburru
    @kookaburru 5 ปีที่แล้ว +1

    Все давно пишут десктоп на Delphi начиная с XE2, причём как для Винды так и для Мак и иОС, или Андроид.

    • @andgr8928
      @andgr8928 5 ปีที่แล้ว

      Умерла твоя Эмбаркадеро, последние 5 лет ее электрошокером приводят к жизни. Я сам перешел на Visual Studio, там и веб и андроид и iOS и Windows и поддержка нормальная и документация отличная.

    • @kookaburru
      @kookaburru 5 ปีที่แล้ว

      Это глубокое заблуждение, на Delphi намного проще писать код под все платформы.

    • @developerninja619
      @developerninja619 5 ปีที่แล้ว

      @@kookaburru 😂😂😂😂

    • @retriever7061
      @retriever7061 4 ปีที่แล้ว

      Староверы пишут, и особенно бохатые, она же немеренно денек стоит. А молодешь всё пишет исключительно на Петоне, самое модное и бесплатное, и главное - без противных {скобок}. Вчера тут график анимированный смотрел в динамике, им даже и Джава не нужна.

  • @yurim7756
    @yurim7756 3 ปีที่แล้ว

    Тю. В .Net те же проблемы, но при этом проблема десктопа легко решена. Есть Xamarin, проекты этого типа компилируются в десктоп под любую систему. Под макось, под андроид, под ios и там остальное. При этом, Xamarin, в отличие от Unity 3d, платформа не для разработки игр, а именно для разработки десктопа. И фокус там в том, что интерфейс описывается в Xaml, т.е. xml язык, в котором просто описываются в общих чертах необходимые элементы, а Xamarin компилирует уже под конкретную систему так, чтобы они выглядели как принято в той системе. Код практически тот же, а выглядит, как родное для каждой системы.
    Т.е. проблема красоты решена. Проблема оптимальности сильно как бы преувеличена. Под дотнетом уже 20 лет пишут для винды как основным средством для разработки десткопа, вообще никто не замечает скорости насколько оно медленно или быстро стартует. Это на глаз не очень-то заметно.
    Но а размер, да. Есть такая печаль. Пока люди ходят в кармане с дешевыми калькуляторами, то приложение с 3-мя кнопками сразу так за 20 мегабайт на андроиде, это пока что может кого и отталкивать. Но такие же мысли когда-то были и у виндовых разработчиков, типа надо каждый байт трахать )), а потом оказалось, что вообще никого не волнует, 1 мегабайт или 20. Или даже 200, если приложение нужное. Только упоротых преждевременных оптимизаторов байты на диске интересуют.
    Так что и джава могла бы такое делать. Видимо не хочет этот рынок.

  • @user-nh5yb2uv4b
    @user-nh5yb2uv4b 4 ปีที่แล้ว +1

    На С++ пишут не потому- что тремя пальцами крестятся, а потому-что он быстрее явы раз в сто, а если сделать в релизе, то и в 200 )))

    • @trenkvaz
      @trenkvaz 4 ปีที่แล้ว

      Для интерфейса вообще не важна эта разница в скорости.Ни один пользователь на заметит разницу, что кнопка откликается на сколько-то миллисекунд медленнее.
      Большая часть кода в пользовательской программе не требует больших скоростей выполнения.
      Если в программе есть кусок, для которого критична скорость, ну ее можно написать на С++ и вызвать из Java.
      Все знают, что чем сложнее структурно программа, тем выгоднее использовать именно java.

    • @user-nh5yb2uv4b
      @user-nh5yb2uv4b 4 ปีที่แล้ว +2

      @@trenkvaz конечно все знают что сложные вещи пишутся на JAVA, а вот всякая мелочь - как-то ОС, CADы, компиляторы, виртуальные машины, браузеры пишутся на плюсах)))

    • @msvru
      @msvru 3 ปีที่แล้ว +1

      @@user-nh5yb2uv4b Так им нужно быстрее хуяк-хуяк и в продакшн, а не за байтами следить. Иначе конкурент первым впарит товар лоху.

    • @user-nh5yb2uv4b
      @user-nh5yb2uv4b 3 ปีที่แล้ว +1

      @@msvru А потом имеем что имеем. Как-нибудь интернет-магазин, с 10 покупками в неделю, требует для своей работы 3-4 ноды, хотя должен со свистом работать на расбери пи ))

  • @denisbogoslovskiy6208
    @denisbogoslovskiy6208 5 ปีที่แล้ว +4

    QT ;)