私はPlayでScalaJSを使用しています。 JSプラットフォームとJVMプラットフォームの両方で使用したいモデルの多くは、日付と時刻を含んでいます。クロスプラットフォームの日付/時刻ライブラリがないため、どのように人々がこれに近づいていますか?私が知っているScalaJS:プラットフォーム間の日付については、どのような最新技術がありますか?
もの:
- scalajs-javaのタイムプロジェクト(https://github.com/scala-js/scala-js-java-time)Scala.jsにポートJDK8のjava.time APIへ。残念ながら、完全なものではなく、コミットログで判断すると、時間がかかっているようです。
- https://github.com/mdedetrich/soda-timeはScala/Scala.jsに対するJodaTimeのポートです。しかし、それは生産のための準備ができていません。
- 古い投稿はhttps://groups.google.com/forum/#!topic/scala-js/6JoJ7x-VxLAで、共有コードにミリ秒を格納し、各プラットフォームで暗黙的にjs.DateまたはJodaTimeに変換することを示しています。しかし、私たちは本当に共通のインターフェースを必要としています。
- Li Haoyiの優れた "Hands-on Scala.js"には、理論上、jvmとMomentoのJodaTimeに委任された/共有されたAPIを思い付くように拡張できる単純なクロスプラットフォームライブラリ(http://www.lihaoyi.com/hands-on-scala-js/#ASimpleCross-BuiltLibrary)がありますon js - しかし、それは多くの仕事のように聞こえる。
- (後で追加)https://github.com/soc/scala-java-timeは、OpenJDKに貢献したjava-timeの実装に基づいています。 READMEは、ほとんどのものは動作していると主張しています。今、これは私のニーズにとって最も有望なアプローチのように見えます。
私の前に行った人からのアドバイスはありますか?今の4番目の選択肢は、私が実際に使用するものに限定されたAPIを使って、私の最高の賭けのように思えます。私はより良いものを望んでいる。
これはおそらくあなたに役立ちます:http://pavkin.ru/cross-platform-polymorphic-datetime-values-in-scala-with-type-classes/ – sjrd
はい、その参考になります。私が実際に試してみると、もっと広範囲に報告されます。ありがとうございました。 – bwbecker
私はpavkin.ruのリファレンスがJSとは対照的に、JVM上で異なるコーディング規則を持つように見える実際に複雑な解決策であることを発見しました。私は前進することができませんでした。また、すべてのケースクラスをDate/Timeのものでパラメータ化する必要があるという考えが嫌いです。おそらく私は物事を理解していないだけですが、私はこの道を辿るとは思わないでしょう。 – bwbecker