ScalaがWeb開発に使用されていることについてはよく耳にしますが、Scalaがデスクトップアプリケーションに使用されていることについてはほとんど耳にしません。デスクトップアプリケーションにはあまり使用されていないというのは本当ですか?これの理由は何ですか?
3 に答える
Javaがこれ以上使用されないのとまったく同じ理由で、Scalaはデスクトップアプリケーションでこれ以上使用されません。そして、それはそれのための優れたツールキットとフレームワークの欠如です。確かにswingやswtなどはありますが、それほど洗練されていません。それらを使おうとすると、10年前に行ったような気分になります。本当の問題は、なぜJavaデスクトップツールキットがそれほど悪いのかということですが、それはこのツールの範囲外です。Scalaの設計原則の1つは、既存のJavaライブラリを活用することでした。そして、大部分はscalaがそれを行っています。Javaは現在主にサーバー側のアプリに存在し、Android(デスクトップではない)は主に同じ運命をたどっています。
これは将来変更される可能性がありますが、私はそれを疑っています。
道具が少ないからだと思います。プラットフォーム、フレームワーク、オペレーティング システム、またはこの場合はプログラミング言語など、ジョブに適したツールを選択するという話をよく耳にします。
Scala 自体には、デスクトップ アプリケーションの作成を妨げるものは何もありません。要点は、言語でプログラムを書くことは決してないということです:ツールキットでプログラムを書きます。ツールキットは、言語、ライブラリ、およびすべてを結合するためのヘルパー ツールで構成されています。Scala は優れた言語であり、Java からいくつかのクールなウィジェット ライブラリを継承していますが、デスクトップ アプリケーションを構築するための Scala フレームワークはありません。
したがって、開発者を止めるものは何もないとしても、開発者を励ますものは何もありません。そのため、通常、デスクトップ開発には他のプラットフォームが選択されます。Tcl/Tkの例にされることが多い
言語が比較的新しいため、その機能は主に大きくて複雑なデータを扱うアプリの開発に役立つか (関数型プログラム言語に共通する機能)、または既に開発されたフレームワークが Web アプリケーションの作成に役立つためだと思います。
C++、Java などの言語と比較して、通常の「デスクトップ」アプリに scala を使用することには大きな利点はありません。しかし、しばらくすると、scala でコーディングする開発者が増え、さらにさまざまな標準デスクトップ scala アプリも増えるでしょう。