Почему 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 2 роки тому

      С запуском у 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 работает очень прилично ! Сергей тут не прав и сильно погорячился в этом ролике !

  • @user-su2io1fp3r
    @user-su2io1fp3r 4 роки тому +23

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

    • @ivankipyatkov2968
      @ivankipyatkov2968 9 місяців тому

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

  • @Warfazer
    @Warfazer 5 років тому +56

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

  • @volodymyrsukrut7915
    @volodymyrsukrut7915 3 роки тому +16

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

    • @irgendwer234
      @irgendwer234 3 роки тому +3

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

  • @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 разработчиков. Так что не надо сказок

  • @dreamer_vi905
    @dreamer_vi905 4 роки тому +1

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

  • @angelpensive9145
    @angelpensive9145 4 роки тому +50

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

    • @wlasov
      @wlasov 2 роки тому +1

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

    • @comachine
      @comachine Рік тому

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

  • @08284
    @08284 5 років тому +1

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

  • @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 3 роки тому

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

    • @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 библиотек, да и вся веб инфраструктура оолчень не стабильна, вроде и развивается все, и реально стает лучше, и типизацию ввели(тайпскрипт) но всеравно очень много багов и недопонимания.

  • @HowItWorks
    @HowItWorks 5 років тому +2

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

  • @AntiSmithhh
    @AntiSmithhh 4 роки тому +10

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

  • @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-rp7ej6pq6j
    @user-rp7ej6pq6j 5 років тому +10

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

  • @pamrpabkey4231
    @pamrpabkey4231 4 роки тому +6

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

    • @SergeyNemchinskiy
      @SergeyNemchinskiy  4 роки тому +4

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

    • @mikevinogradov3878
      @mikevinogradov3878 Рік тому

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

  • @AlexFeaT
    @AlexFeaT 5 років тому +4

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

  • @laochang938
    @laochang938 3 роки тому +1

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

  • @user-re1pg5rw1x
    @user-re1pg5rw1x 5 років тому +3

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

    • @arboleet
      @arboleet Рік тому

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

    • @linuxoidovich
      @linuxoidovich Рік тому

      Ещё gtk есть

  • @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 программы уровня мелоксофтофиса/фотошопа итд, написанную целиком на шарпе?

  • @sergeybure
    @sergeybure Рік тому +5

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

    • @s1xshg09e197
      @s1xshg09e197 5 місяців тому

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

  • @MaksymVashchenko
    @MaksymVashchenko 5 років тому +7

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

  • @foxil4370
    @foxil4370 5 років тому

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

    • @arturianec100
      @arturianec100 5 років тому +2

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

  • @Roma4086
    @Roma4086 4 роки тому +1

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

  • @doit6695
    @doit6695 5 років тому +1

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

  • @dmitriywhite8279
    @dmitriywhite8279 5 років тому

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

  • @glebskachko1811
    @glebskachko1811 5 років тому +3

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

  • @kentforthable
    @kentforthable 5 років тому +1

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

  • @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.

  • @Ackep_Tu6ae8
    @Ackep_Tu6ae8 5 років тому +2

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

  • @msvru
    @msvru 3 роки тому +9

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

    • @comachine
      @comachine Рік тому +1

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

    • @ram0973
      @ram0973 Рік тому +1

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

    • @ruden6623
      @ruden6623 Рік тому

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

  • @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

  • @McRay8
    @McRay8 5 років тому +3

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

    • @velsah5763
      @velsah5763 2 роки тому

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

    • @McRay8
      @McRay8 2 роки тому

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

  • @FrickUA
    @FrickUA 3 роки тому +2

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

  • @andreymorozov1189
    @andreymorozov1189 5 років тому

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

  • @YWNWA-ZXC
    @YWNWA-ZXC 5 років тому +2

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

  • @user-qf2xk1fg6e
    @user-qf2xk1fg6e 5 років тому +5

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

  • @velsah5763
    @velsah5763 2 роки тому +2

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

  • @kirillsushilnikov9614
    @kirillsushilnikov9614 5 років тому

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

  • @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-wn9ir6zs5e
    @user-wn9ir6zs5e 5 років тому +22

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

    • @markbeaver4806
      @markbeaver4806 10 місяців тому

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

  • @user-vg1sr9ye5s
    @user-vg1sr9ye5s Рік тому +3

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

  • @Maggistr44
    @Maggistr44 2 роки тому +1

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

  • @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 рулит))

  • @zemskov88
    @zemskov88 5 років тому +3

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

  • @zhabrovets
    @zhabrovets 4 роки тому +2

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

    • @SergeyNemchinskiy
      @SergeyNemchinskiy  4 роки тому +3

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

    • @comachine
      @comachine Рік тому

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

    • @Cat_Programmer
      @Cat_Programmer Рік тому

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

  • @AlexAlex-rc9di
    @AlexAlex-rc9di 5 років тому +2

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

    • @0imax
      @0imax 5 років тому +1

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

    • @iteospace
      @iteospace 8 місяців тому

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

  • @developerninja619
    @developerninja619 5 років тому +3

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

  • @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 приложения дольше запускаются.

  • @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 мс считается уже раздражающей задержкой отклика интерфейса...

  • @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.

  • @111shooter1111
    @111shooter1111 5 років тому +2

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

    • @barbershop1540
      @barbershop1540 3 роки тому

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

  • @MrRedM1KE
    @MrRedM1KE 4 роки тому +1

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

    • @Slash7b
      @Slash7b 4 роки тому

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

  • @user-bp4co9ey5q
    @user-bp4co9ey5q 5 років тому +22

    5:30 а как же qt?

  • @chipsoft1
    @chipsoft1 5 років тому +3

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

  • @ssurrokk
    @ssurrokk 5 років тому +1

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

  • @alevlako
    @alevlako 3 роки тому +1

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

  • @user-rc5vv8sh5l
    @user-rc5vv8sh5l 5 років тому

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

  • @sergdefault
    @sergdefault 5 років тому +17

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

    • @user-um6ru5gf2p
      @user-um6ru5gf2p 5 років тому +4

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

    • @user-hy3jf9oc4x
      @user-hy3jf9oc4x 3 роки тому

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

  • @MRoose
    @MRoose 4 роки тому +3

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

  • @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.

  • @slayertmb
    @slayertmb 3 роки тому

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

  • @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 не за что ) Ну вот в качестве примера для джавы можно взять андройд. Там гуи тоже биндится нативно и поэтому приложения работают быстро, т.е. дело не в скорости виртуальной машины, а в биндинге к нативному гуи.

  • @catlogoc1722
    @catlogoc1722 4 роки тому +1

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

    • @JackDaniels-yx3vg
      @JackDaniels-yx3vg 3 роки тому +3

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

  • @seka1309
    @seka1309 5 років тому

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

  • @SuperRusticus
    @SuperRusticus Рік тому +2

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

  • @yuriyuldashev9513
    @yuriyuldashev9513 4 роки тому +1

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

  • @protiv_bio
    @protiv_bio 3 роки тому

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

  • @vufer3d
    @vufer3d 5 років тому +5

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

  • @Merkury778899556644
    @Merkury778899556644 5 років тому +18

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

  • @arammartirosyan2233
    @arammartirosyan2233 5 років тому +8

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

    • @LobanovSpace
      @LobanovSpace 5 років тому +2

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

  • @vanhalen2210
    @vanhalen2210 5 років тому

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

    • @kawaikaino5277
      @kawaikaino5277 5 років тому +4

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

    • @dmChanal1
      @dmChanal1 5 років тому +1

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

  • @user-jw6fv7wz7o
    @user-jw6fv7wz7o 3 роки тому +1

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

  • @Selavy82
    @Selavy82 5 років тому

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

  • @mrixss
    @mrixss 5 років тому +2

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

  • @romansmaksjutovs4291
    @romansmaksjutovs4291 5 років тому

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

  • @user-zi4xh4kz2k
    @user-zi4xh4kz2k 2 роки тому

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

    • @SergeyNemchinskiy
      @SergeyNemchinskiy  2 роки тому +1

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

  • @111shooter1111
    @111shooter1111 5 років тому +6

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

  • @nerveid
    @nerveid 5 років тому +2

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

    • @user-qo4oc7uc1c
      @user-qo4oc7uc1c 5 років тому +2

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

    • @nightkosh3849
      @nightkosh3849 4 роки тому +1

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

  • @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, у истоков ещё стоял. Ну ещё сталкивался по работе, ВНИИА написал на Свинге среду разработки диаграмм автоматики. Ну это тоже вещь такая, там красоты и супербыстрый запуск не требуются, а переносимость, вероятно, как раз требуется.

  • @MiCola12
    @MiCola12 2 роки тому +1

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

    • @user-mu1ul8qj1x
      @user-mu1ul8qj1x 2 роки тому

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

  • @merabc
    @merabc 5 років тому

    В десктоп Rad Studio Delphi или C++ builder по моему хороши решение

    • @merabc
      @merabc 5 років тому

      @@SergeyNemchinskiy борланда нет но Embarcadero занимается этим embarcadero.com, ну видите учиться надо всем и всегда ;)
      Может методология устарела но десктоп аппликация нам даёт больше возможностей для идентификации пользователя и использовать системные фичери, все таки решает задачи.
      Мне нравится ваша видео и соблюдаю всегда, может сделаете видео про десктоп приложении? Посмотрите новый версии Delphi и C++ builder

  • @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 Не поэтому ли андроид старается не закрывать приложения а усыплять их, чтобы потом быстрее стартануть?
      На питоне пишут потому что проще писать. А тормоза пользователи потерпят.

  • @KKZ_5000_RUB
    @KKZ_5000_RUB 4 місяці тому

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

  • @dmChanal1
    @dmChanal1 4 роки тому

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

  • @LobanovSpace
    @LobanovSpace 5 років тому

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

  • @amr3184
    @amr3184 4 роки тому +1

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

    • @SergeyNemchinskiy
      @SergeyNemchinskiy  4 роки тому +1

      всеми? 8-0

    • @amr3184
      @amr3184 4 роки тому +1

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

  • @noone-hi6kq
    @noone-hi6kq 4 роки тому

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

  • @Lorienl2master
    @Lorienl2master 2 роки тому

    Ну не знаю про жаву машину относиться ко всем виду програм, а щас ПК то мощные, мы к примеру на работе юзаем javafx, как клиент для разных сервисов, именно мой проект это спринг Бут сервесы

  • @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 в один исполняемый модуль то будет гораздо меньше

  • @dimadima7904
    @dimadima7904 3 роки тому +1

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

  • @igoraleksandrovich1498
    @igoraleksandrovich1498 3 роки тому +2

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

  • @EdwVee
    @EdwVee 5 років тому

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

  • @BossVspMax
    @BossVspMax Рік тому

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

  • @romecold411
    @romecold411 2 роки тому +1

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

  • @mverjbitsky
    @mverjbitsky 2 роки тому +1

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

  • @tylerspeaksloud
    @tylerspeaksloud 5 років тому +1

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

  • @ram0973
    @ram0973 4 роки тому

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

  • @user-cv6ok3yl4z
    @user-cv6ok3yl4z 5 років тому

    Почему программы для медицины пишут на Java?

    • @yuriyuldashev9513
      @yuriyuldashev9513 4 роки тому

      Потому что их цель, не разработка ради разработки, а зарабатывание денег через предоставление услуг, и даже если у клиента Windows XP, что в медицине встречается сплошь и рядом, их Java приложение будет там работать, а вот .Net иди Web-приложение не факт.

  • @calchome2768
    @calchome2768 3 роки тому

    Delphi/Lazarus отличная ide... Или processing... Все мультиплатформенное

  • @yurim7756
    @yurim7756 3 роки тому

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

  • @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 роки тому

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