Задать вопрос
@Alex300

Подходит ли Java для desktop и MS Office?

Собираюсь изучать Java. Хочу писать в т.ч. desktop-приложения для Windows с использованием данных MS Office на Java. Слышал, что в этой области Java почти не используется. Понимаю, что идеальным вариантом для этого является С#. Так же понимаю, что на Java при желании можно всё сделать. Вопрос в том, насколько сильно не подходит Java для этих задач. Если можно, оцените по 10-бальной шкале, где 1 - "это полное извращение", а 10 - "другой язык подходит для этого ЧУТЬ лучше".
  • Вопрос задан
  • 1574 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 9
Atanvar
@Atanvar
Frontend developer
Раз это не кроссплатформенная приложуха то лучше подойдет с#
Ответ написан
Комментировать
@frozen_coder
Java-developer
Если писать на Java только ради самой Java, то да можно. Хотя за всякие ворды не знаю, но с excel я спокойно работал, используя Apache POI. Desktop-приложения на Java выигрывают, если Вам нужна кроссплатформенность. Если Вам нужен только windows, то лучшим выбором будет C# со своей платформой и Java будет скорее оверхед. Java старается охватить всё, что только можно, но иногда это не нужно и есть более заточенные под определенные цели инструменты. А к выбору инструмента (в данном случае языка и экосистемы) нужно подходить исходя из задачи и некоторых условий или ограничений.
Ответ написан
Комментировать
@d-stream
Готовые решения - не подаю, но...
Лично мои ощущения от java-приложений - скорее негативные. Даже притом что это приложения от мастодонтов типа HP, Avaya, клиент-банки, кучки специфических порталов и т.п. Некие ощущения неустойчивости, тяжести, нестабильности.

Поэтому на мой взгляд для не очень мультиплатформенных приложений - лучше реализовывать на дотнете - то бишь "на C#". То что есть .net framework для работы с офисными данными и приложениями - ну как бы "от производителя", то есть наиболее информированные. Ну а изобразительные возможности - WPF и будет счастье.
Мультиплатформенность - можно посмотреть как минимум в сторону UWP для win-платформ, или слегка ужать свои порывы и смотреть в сторону mono/xamarin - тогда собственно ПРИ ДОЛЖНОМ ПОДХОДЕ вполне можно даже говорить о мультиплатформенности от win до андроидов-яблок-линуксов
Ответ написан
Комментировать
@rPman
Если сравнивать c# и java именно в направлении разработки desktop приложений, то c# объективно выигрывает.

Нет особой разницы на чем реализовывать вашу задачу, но лично мне удобнее клепать формочки на древнючем WinForms, чем на той же java fx (даже с использованием GUI построителей) реально меньше телодвижений, проще изучение, идеологические баги все простые.

Доступ к данным именно microsoft office это фигня, хотя я очень редко но встречал проблемные документы, доступ к данным которых был только из запущенного офиса средствами его языка (или interprop communication в c#, когда запускается скрытый офис и язык имеет доступ к объектам самого офиса и открытого документа), на java кажется это будет еще менее удобно.
Ответ написан
Комментировать
Я в своё время изучал Java. Но тогда язык принадлежал Sun Microsystem. А когда Oracle приобрела Java, то я понял, что этот язык будет развиваться куда медленней. Достаточно посмотреть на OpenOffice. Если вы хотите реализовать графические изыски, то Java в этом направлении слабоват. (Не стоит путать с Java для Android, там вообще Oracle хочет поиметь с Google деньги за внесение изменений и адаптаций для нужд Android. В своё время Sun Microsystem не возражал такому подходу, и всячески поддерживал. Недавняя новость, что Google присоединился к проекту .NET Foundament. Есть основания полагать, что C# получит ещё большее распространение на Android. Да .NET Core является кроссплатформенным, что может добавить куда большей популярности C#.) У C# со своими WPF и UWP намного больше возможностей. Надо сказать, что C# очень активно развивается. Недавно C# получила версию 7.0, позволяющую программисту расширить возможности при создании программ.
Ответ написан
Комментировать
@Alex300 Автор вопроса
Да, спасибо, я понимаю, что C# лучше для этих целей. Но вопрос в том - насколько лучше - т.е. решать эти задачи на Java вообще не имеет смысла (можно, конечно, но лучше не стоит) или же особых проблем не будет (хотя на другом языке сделать это будет немного проще)?
Ответ написан
Комментировать
Rou1997
@Rou1997
Так же понимаю, что на Java при желании можно всё сделать.

Мягко говоря, неправильно понимаете.

По вопросу, пишите сперва на C#, а дальше будет видно, зачем Java-то, если понимаете, что в чем-то она в любом случае уступает?
Ответ написан
@private_tm
JAVA dev
Для desktop нет. Для обработки MS Office документов почему бы и нет(к примеру через веб интерфейс).
Ответ написан
Комментировать
TonyHunt
@TonyHunt
Part-time developer – full-time geek.
60646f6c6abf7279482564.png

Kotlin для Desktop https://github.com/JetBrains/compose-jb

Kotlin + Ktor для сервера.
Kotlin + Korge для игр.
Kotlin + JS для веб приложений.
Kotlin Native (LLVM) без JVM.

Target platforms:
macOS
iOS, tvOS, watchOS
Linux
Windows (MinGW)
Android NDK
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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