A
A
Alex3002017-01-21 15:25:18
Java
Alex300, 2017-01-21 15:25:18

Is Java suitable for desktop and MS Office?

I'm going to learn Java. I want to write incl. desktop applications for Windows using MS Office data in Java. I heard that Java is almost never used in this area. I understand that C# is the ideal option for this. I also understand that in Java, if desired, you can do everything. The question is how badly Java is not suitable for these tasks. If possible, rate on a scale of 1 to 10, where 1 is "this is a complete perversion" and 10 is "another language is SLIGHTLY better for this".

Answer the question

In order to leave comments, you need to log in

9 answer(s)
V
Vladimir Borutkin, 2017-01-21
@Atanvar

Since this is not a cross-platform application, then c# is better suited

F
Frozen Coder, 2017-01-21
@frozen_coder

If you write in Java only for the sake of Java itself, then yes you can. Although I don’t know about all sorts of Words, I calmly worked with excel using Apache POI. Java desktop applications win if you need cross-platform. If you only need windows, then C # with its platform will be the best choice and Java will be more of an overhead. Java tries to cover everything that is possible, but sometimes it is not necessary and there are tools that are more tailored for specific purposes. And the choice of a tool (in this case, a language and an ecosystem) must be approached based on the task and some conditions or restrictions.

D
d-stream, 2017-01-21
@d-stream

Personally, my feelings about java applications are rather negative. Even though these are applications from mastodons like HP, Avaya, client-banks, a bunch of specific portals, etc. Some sensations of instability, heaviness, instability.
Therefore, in my opinion, for not very multi-platform applications, it is better to implement it on a dotnet - that is, "in C #". The fact that there is a .net framework for working with office data and applications - well, as it were, "from the manufacturer", that is, the most informed. Well, visual possibilities - WPF and there will be happiness.
Multiplatform - you can look at least towards UWP for win-platforms, or slightly shrink your impulses and look towards mono / xamarin - then actually WITH THE PROPER APPROACH, you can even talk about multiplatform from win to android-apple-Linux

R
rPman, 2017-01-21
@rPman

If we compare c# and java in the direction of developing desktop applications, then c# wins objectively.
There is not much difference on what to implement your task, but personally it’s more convenient for me to rivet molds on ancient WinForms than on the same java fx (even using GUI builders) there are really fewer gestures, easier to study, ideological bugs are all simple.
Access to data exactly in microsoft office is bullshit, although I very rarely met problematic documents, access to data of which was only from a running office using its language (or interprop communication in c #, when a hidden office is launched and the language has access to the objects of the office itself and open document), in java it seems to be even less convenient.

M
Mikhail Usotsky, 2017-01-21
@AquariusStar

I used to study Java. But then the language belonged to Sun Microsystem. And when Oracle acquired Java, I realized that this language would develop much more slowly. Just look at OpenOffice. If you want to implement graphic delights, then Java is rather weak in this direction. (Not to be confused with Java for Android, in general, Oracle wants to get money from Google for making changes and adaptations for the needs of Android. At one time, Sun Microsystem did not mind this approach, and supported it in every possible way. Recent news that Google has joined the .NET project Foundation (There is reason to believe that C# will become even more widespread on Android. Yes, .NET Core is cross-platform, which can add much more popularity to C#.) C#, with its WPF and UWP, has a lot more options. I must say that C # is very actively developing.

A
Alex300, 2017-01-21
@Alex300

Yes, thanks, I understand that C# is better for this purpose. But the question is - how much better - ie. does it make no sense to solve these problems in Java at all (it is possible, of course, but it’s better not to) or will there not be any special problems (although it will be a little easier to do it in another language)?

R
Rou1997, 2017-01-21
@Rou1997

I also understand that in Java, if desired, you can do everything.

To put it mildly, you misunderstand.
On the question, write first in C #, and then it will be seen why Java is needed, if you understand that it is inferior in some way anyway?

T
Tony, 2021-03-31
@TonyHunt

60646f6c6abf7279482564.png
Kotlin for Desktop https://github.com/JetBrains/compose-jb
Kotlin + Ktor for server.
Kotlin + Korge for games.
Kotlin + JS for web applications.
Kotlin Native (LLVM) without JVM.
Target platforms:
macOS
iOS, tvOS, watchOS
Linux
Windows (MinGW)
Android NDK

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question