18

私は現在、ビジネスクリティカルなプロセスにScalaのXMLサポートを使用することを検討し始めています。その点で、Scalaの標準XMLライブラリの現在の状態を知りたいと思います。

私はScala2.7と2.8トランクに関連するいくつかの「古い」記事を読みました。そこでは、XML処理はscala 2.8に対してスレッドセーフであり、バージョン2.7.xにはいくつかのバグがあると述べられていました。XMLクラスの階層性についても批判が寄せられていますが、それは好みの問題だと思います。

では、誰かが質問に答えてくれたら、バージョン2.9.xのScala XMLライブラリの現在の状態はどうなっているのでしょうか?

前もって感謝します。

4

4 に答える 4

13

ScalaのXMLで利用可能な代替ライブラリであるAnti-XMLがあります。ホームページから:

Anti-XMLは、Scala標準ライブラリのscala.xmlパッケージの代替案です。標準パッケージは古く、修正を超えています。強固な基盤の上で、下位互換性の負担をかけずに、最初からやり直す必要があります。Anti-XMLは、使いやすさ、信頼性、パフォーマンスの3つの主要な領域で品質を目指しています。

XMLの使用を真剣に検討している場合は、Anti-XMLを検討する価値があります。

ソースはここから入手できます:https ://github.com/djspiewak/anti-xml

于 2011-09-27T12:43:29.477 に答える
11

私はこのように答えさせてください:

または、言葉で言えば、多くの人が満足していません。結局のところ、人々はライブラリを「修正」しようとするのではなく、本格的な代替案を書いています。そして、修正について言えば、O(n ^ 2)からO(n)に操作を変更する修正が長い間提出されていたので、誰かが同じ問題を再び開いたときに、それを開いたことさえ覚えていませんでした前。

念のために言っておきますが、Liftは標準ライブラリXMLを使用しており、私が知る限り、他のほとんどのWebフレームワークも使用しています(Playは使用していないと思います)ので、使用できないわけではありません。

于 2011-09-28T01:03:18.033 に答える
2

Scales Xmlは、その質問に対する私の答えです。Scala XMLの癖が悪いと思ったわけではありませんが、アプローチ自体がうまくいかず、「コンテンツをツリーから分離し、プッシュとプルを統合したらどうなるか」という質問を促しました。

何度も遊んだ後、Scala XMLよりも正確で高速な、多くのアクティビティでのXMLの使用を簡単にするために、型システムを活用する多くのクールな方法を発見しました。

代替ライブラリを作成するとき、ScalaXMLにどれだけの考えと労力が費やされたかをすぐに理解できます。そのキラー機能は次のとおりです。

  1. デフォルトのライブラリが付属
  2. 構築されたXML構文

箱から出してすぐに使用できるので、打ち負かすのは難しいです(ただし、私はそれを実行したと確信しています^ _ ^)。

Anti-XMLのような他の若い選択肢が選択肢として登場したことは、多くの場合、イノベーションを推進するものであることが重要です。代替案が自動的に最良の選択を提供すると仮定するのではなく、ユーザーに本当に必要なものを確認することをお勧めします。

于 2011-11-05T19:21:24.463 に答える
2

Scala XMLは安定していてサポートされており、非常に長い間なくなることはありません。

それにもかかわらず、いくつかの設計批判があり、何人かの人々が腰を下ろして、より良い代替案であるAnti-XMLをゼロから作成することにしました。

すべてがうまくいけば、将来的には追加の選択肢があります。

于 2011-09-27T17:46:47.173 に答える