There is a request to write a desktop multiplatform application. The condition language must be on the Java platform.

It is necessary to write quickly, so it is necessary that the language has a decent library.

What do you advise?

According to C / C ++ / Perl and so on. please do not be clever. The application has a fairly large set of Java libraries with business logic, so the platform is strictly Java - there are no options.

Closed due to the fact that off-topic participants xaja , Kromster , Cyrus , Athari , Vladimir Martyanov Nov 6 '15 at 6:52 .

It seems that this question does not correspond to the subject of the site. Those who voted to close it indicated the following reason:

  • " Questionnaires are forbidden on Stack Overflow in Russian . To get an answer, rephrase your question so that it can be given an unambiguously correct answer." - xaja, Kromster, Cyrus, Athari, Vladimir Martyanov
If the question can be reformulated according to the rules set out in the certificate , edit it .

  • Why do you ask? Judging by your rating, you already know everything! But if you want an answer, then on the Java platform, use Visual Basic 6. Do not lose! - Vyacheslav Kirichenko
  • 2
    Monsieur knows a lot about perversions - Specter
  • one
    A high rating does not guarantee the completeness of knowledge ... Well, I appreciated your joke :) - Barmaley
  • one
    About the "no options" . You can divide business logic into java and user interface on which it is more convenient for 2 processes and connect them, for example, through a socket. At the same time get the groundwork for distributed processing. Years through 5 shoot. - avp
  • @avp - I'll think about an interesting offer - Barmaley

3 answers 3

  • Scala and Groovy themselves do not yet contain separate production-ready solutions for the GUI , except for wrappers over the swing .

In this case, generally speaking, there are two options - SwingBuilder for Groovy and scala.swing for Scala .

  • If you are familiar with Groovy / Scala (and if you're not the only one on the team who can boast about it) , then you can use one of these approaches.

In this case, obviously, it is necessary to take into account the time needed to understand the details of the corresponding wrappers and possible risks due to their lack of thought or incompleteness. It will be a shame to run into UnsupportedOperationException("Not yet implemented") at the end of the sprint.

  • If not, and the choice between vanilla Java / Scala / Groovy appeared only because of the latter’s “fashion” , then work through them with java.swing , or stop at just Java .

Personally, if I didn’t have at least a year of working with Scala / Groovy / Clojure / Kotlin , I didn’t undertake to develop a business solution based on them.

  • one
    Vanilla Java is 5! We'll have to take in the hands of good old Java Swing - Barmaley
  • There is still a doubtful type of a wrapper of ScalaFX and GroovyFX. But I by no means recommend them) - Nofate
  • Thanks to everyone I took Swing in my hands - even more so there is a wonderful constructor under Netbeans - Barmaley

I stumbled on dzone today on the issue of the Java Tech Journal magazine dedicated to Groovy, and already in it on the article about the Grails-like platform for desktop applications Griffon .

What is given (if you believe the article):

  • A set of command line utilities for project creation, assembly, packaging, and deployment
  • MVC
  • Bindings for Bean Properties
  • various implementations directly GUI (Swing, SWT, JavaFX)
  • plugin extensibility
  • Convention over Configuration, application structure and lifecycle management

In general, if there is a desire for experimentation, I would take a look.

  • 2
    groovy + griffon IMHO! Examine the groovy, you will not regret. Easy, fast to learn - voiddev

If you need to quickly write a desktop multiplatform application, today it is only possible on Lazarus + freepascal, which also clears the conscience with its openSource. The words "quickly write", "java" and "multi-platform application" do not fit. Fairy tales about java are simply well-spun.

  • 3
    Alas, fairy tales about [free] pascal were promoted in the past millennium, and now very few people remember them. - alexlz
  • one
    Difficult to argue with zombies - Alexmai
  • And the zombies - who is this? Lazarus? So it is to die, thanks to a sufficiently large amount of code and the lack of literacy of teachers (there are pascal in junior courses, but there is no longer any ability to use a slide rule), it has not died yet. So not yet a zombie - so, "dying swan." Nedobitok. - alexlz
  • 6
    @Alexmai - Nobody breeds Flood. You can, in principle, train your subordinates in whatever simple-1-programming to speed up the analysis of the user , but you just could not read the question , where it is clearly stated that there is dependency on a certain set of Java libraries implementing the business logic of the application. - Obviously, this condition makes your answer about freepascal completely meaningless. - Costantino Rupert
  • one
    The thesis that Lazarus is the only cross-platform solution is simply confused. - skegg 2:43 pm