2014-01-16 12 views
6

Ich muss eine kleine Web-basierte UI schreiben, die auf einem raspi laufen würde und da ich versuche, einige Scala in meine tägliche Arbeit zu ziehen, würde ich gerne eine von Play verwenden, Scalatra oder Lift. Hat jemand Erfahrung mit der Entwicklung für Raspberry Pi mit diesen Frameworks? Wenn ja, welches ist in Bezug auf die Leistung empfehlenswert?Scala Web Framework Leistung auf Himbeer pi

+0

Spiel, Lift, sogar Scalatra oder, wirklich, Scala überhaupt sind auf einem solchen Gerät wohl fast unmöglich. Zusätzlich zu Flavics Standpunkt zu RAM ist Scala wohl nur auf Desktops, Servern oder was sich heute als High-End-Mobilgeräte von CPU-Geschwindigkeit und Prozessor-Cache-Standpunkt aus qualifiziert. –

+2

@ {flavian, Randall}: Das pi B hat 512 MB RAM, ich würde es nicht als Low-Memory-Umgebung betrachten. Ich habe es bereits mit Scala benutzt und es funktioniert eigentlich ganz gut, meine Bedenken sind Overhead von diesen Frameworks. – Chirlo

Antwort

11

Die Menschen haben mit Scalatra eine sehr gute niedrige Gedächtnisleistung gemeldet. Ein Beispiel Zuschreibung ist bei:

http://fehguy.tumblr.com/post/33760322808/my-house-heater-has-a-rest-api-with-phidgets-scala

Speichernutzung Zahlen so günstig wie ~ 30MB bis ~ 40MB haben etwa in Blog-Posts und IRC Gespräche hantiert worden.

Einige Tipps:

1) Scalatra Sie genau die Abhängigkeiten auswählen können, die Sie wollen. Der Core-HTTP-Router funktioniert auf einem Raspberry Pi einwandfrei. Seien Sie äußerst vorsichtig bei der Auswahl zusätzlicher Bibliotheken und vergleichen Sie Ihre Speicherauslastung, wenn Sie ein neues JAR hinzufügen.

2) Die aktuelle Scalatra g8-Vorlage wird standardmäßig vorkompilierte Scalate-Vorlagen für Sie verkabeln. Diese sind auf einem normalen Server in Ordnung, und es ist normalerweise sehr praktisch, wenn die Dinge bereits für Sie eingerichtet sind. In einer Umgebung mit eingeschränktem Speicher sind sie jedoch das erste, was Sie entweder als Graben oder Optimieren betrachten möchten.

3) Mindestens drei Personen im #scalatra irc Kanal auf Freenode haben bereits damit experimentiert, sie auf einem Pi laufen zu lassen. Je nach Ihren Anwendungsfällen können Ihre Schmerzen also Ihr Vorteil sein.

4) Sie erhalten den bestmöglichen Speicherverbrauch, indem Sie Ihre Scalatra-App als eigenständiges Jetty-Servlet starten. Dies ist detailliert in der Scalatra standalone deployment guide.

+1

Ich habe tatsächlich einen ersten Versuch mit Play gemacht und obwohl es ungefähr eine Minute braucht, um es zu starten, läuft es danach ziemlich gut. Wenn ich irgendwelche Leistungsprobleme habe, werde ich Scalatra in Betracht ziehen. Vielen Dank! – Chirlo