Frage

Ich mache meinen ersten Ausflug in scala für eine Produktion App. Die App ist derzeit als WAR-Datei verpackt. Mein Plan ist es, eine JAR-Datei der scala zusammengestellt Artefakte zu erstellen und in den Ordner lib für die WAR-Datei hinzufügen. Meine Erweiterung ist ein MySQL-backed App über Jersey ausgesetzt und wird über Httpclient Anrufungen mit einer 3rd-Party-Website integriert werden. Ich weiß, wie dies über einfaches Java zu tun. Aber wenn es in scala tun, gibt es mehrere Entscheidungspunkte, dass ich pussyfooting auf.

  1. scala 2.7.7 oder 2.8 RC?
  2. JDBC über querulous Ist das API für die Produktion bereit?
  3. sbt vs Maven. Ich bin zufrieden mit Maven.
  4. Sie haben einen scala idiomatische Wrapper für Httpclient (oder sollte ich es verwenden, wie in Java)?

Ich würde gerne Ihre Kommentare und Erfahrungen mit scala auf anfangen zu hören.

War es hilfreich?

Lösung

  1. würde ich 2.8.0 verwenden. Es gibt einfach zu viele nützliche Funktionen in 2.8. Außerdem schließt 2.8 auf einer endgültigen Freigabe in. Wenn Sie gerade erst anfangen, beginnen, warum nicht mit, dass aus? FWIW, ich habe mit 2.8.0 seit Beta1, in verschiedenen Tools und Bibliotheken, die ich täglich benutzen. Zwar gibt es Fehler gewesen, haben sie nicht genug gewesen, um mich zu machen 2.7.7 zurückgreifen. YMMV, though.
  2. Das wird nicht Ihre Entscheidung leichter machen, aber es gibt auch andere Möglichkeiten für den Datenbankzugriff. Ich habe mit SQueryL , zum Beispiel; Ich mag das. ORBroker ist eine weitere Option.
  3. Wenn Sie mit Maven bequem sind, dann verwenden, mit allen Mitteln. Ich persönlich ziehe SBT. Ich erhalte die volle Leistung einer echten Programmiersprache, wenn ich spezielle Build-Logik implementieren müssen. So wie nützlich, ich muss nicht mit XML-Konfigurationsdateien umgehen. (XML ist gut für die Daten, aber es ist ein beschissenes Format für eine von Menschen erstellen WWW-Konfigurationsdatei.)
  4. Sie können Databinder Versand versuchen. Siehe dieser Artikel für einen schönen Überblick.

Andere Tipps

  1. Wenn Sie nur gehst Entwicklung zu starten, Scala 2.8 GA wird wahrscheinlich durch die Zeit, die Sie die Produktion gehen zur Verfügung. Auch wenn es nicht, würde ich das frischesten 2.8RC Pack wählen anstatt 2.7.7 kleben. 2.8 nicht nur eine Reihe von großen Features, enthält aber auch viele 2.7.7 Fehlerbehebung.
  2. Im moment gibt es nicht zu viele produktionsfertige ORMs in diesen Tagen für Scala entworfen. Ich würde wahrscheinlich Persistence Heben, weil des Teams von Fachleuten und freundliche Community hinter Aufzug Framework. Aber wenn Sie nicht riskieren wollen, sollten Sie alte gut mit bewährten Java ORMs: Hibernate, JPA, iBatis (die kürzlich auf Mybatis umbenannt wurde), usw.
  3. Sie sollten SBT einen Versuch geben! Es ist kompatibel mit maven POMs, so Migration auf SBT nicht zu schmerzhaft für Sie sein sollte. Vorteile aus der Verwendung SBT:
    • Es ist für Scala konzipiert, so dass Sie von der Last der Aufrechterhaltung unzählige Anzahl von Plugins für Maven erleichtert werden, um es mit Scala funktioniert konsequent
    • Sie werden der Lage sein, zu schreiben Build-Skripte in Scala (es ist eine erstaunliche Erfahrung im Vergleich zu XMLs)
    • SBT hat ein Killer-Feature - kontinuierlich unabhängig (Erstellen, Testen, Bereitstellen ). SBT überwacht Ihren Code, erkennt, wenn seine geändert, und löst eine Aktion (Test, Umschichtung, etc.).
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top