12 Stimmen

Welche Art von Webanwendung ist der optimale Einsatz für das Scala-Lift-Framework?

Was sind die idealen Anwendungen für das Scala Lift-Webframework?

Meine Anforderungen:

  1. Einfache Entwicklung und Wartbarkeit
  2. Bereit für produktive Zwecke. d.h. gute aktive Online-Community, regelmäßige Patches und Updates für Sicherheits- und Leistungsverbesserungen etc.
  3. Das Framework sollte einige Jahre überleben. Ich möchte keine App in einem Framework schreiben, für das nach einem Jahr keine Updates/Patches mehr verfügbar sind.
  4. Hat gute UI-Vorlagenmotoren
  5. Interoperabilität mit Java (Scala erfüllt dies bereits. Ich erwähne es hier nur der Vollständigkeit halber)
  6. Gute komponentenorientierte Entwicklung.
  7. Die zur Entwicklung erforderliche Zeit sollte proportional zur Komplexität der Webanwendung sein.
  8. Sollte nicht vollständig auf Konfiguration basieren. Ich hasse es, wenn der Code automatisch für mich generiert wird und im Hintergrund allerlei Magie vollführt. Das ist ein Alptraum beim Debuggen.
  9. Der erforderliche Kenntnisstand von Lift zur Entwicklung einer Webanwendung sollte proportional zur Komplexität der Webanwendung sein. d.h. Ich sollte keine 10+ Stunden damit verbringen müssen, Lift zu lernen, nur um eine einfache TODO-Anwendung zu entwickeln. (Ich habe Kenntnisse in Datenbanken, Scala)

Erfüllt Lift diese Anforderungen?

8voto

David Pollak Punkte 7005

Nun ja, du könntest dich durch den Einstiegsguide von Lift durchklicken, in dem du eine Ajax To Do-App erstellst ;-)

Lift gibt es seit 3 1/2 Jahren. Die Google Group hat fast 2.000 Mitglieder. Es gibt 40 Committer, von denen 10+ jeden Monat Commits machen. Wir schließen zwischen 40 und 80 Tickets pro Monat ab, machen monatliche Meilenstein-Veröffentlichungen. Unternehmen wie FourSquare, Xerox und Novell haben Hardcore-Apps auf Lift erstellt.

4voto

Daniel C. Sobral Punkte 290004

Meiner Meinung nach erfüllt Lift diese Anforderungen. Bei #4 bin ich mir jedoch nicht so sicher, andererseits bietet es eine gute Sammlung von Backends, um mit anderen Diensten zu interagieren.

Ich denke, es hängt größtenteils von der Komplexität ab. Lift macht die Dinge auf seine eigene Art und Weise, was du entweder leicht verstehen kannst oder nicht. Ich würde einen Tag damit verbringen, diese TODO-Anwendung zu schreiben - und achte darauf, die liftweb-Gruppe zu nutzen, da es einfach nicht viele Lift-Benutzer auf Stack Overflow gibt - und sehen, wie es läuft. Ich denke, du wirst in der Lage sein, eine Meinung dazu zu bilden - nur an einem Tag.

4voto

emanuel Punkte 1

Über süße Stellen: http://seventhings.liftweb.net/

2voto

nils petersohn Punkte 2068

Ich denke, du solltest das auch in der Lift-Mailingliste posten: http://groups.google.com/group/liftweb

1voto

Dustin Getz Punkte 20462

Nach dem Lesen von seventhings.liftweb.net und dem Überfliegen der ersten beiden Kapitel von Lift in Action scheint der Einsatzbereich von Lift komplexe, HTML-seitenbasierte Anwendungen mit fortgeschrittener Client-seitiger Funktionalität zu sein (wie Facebook und Twitter).

Im Vergleich zu Single-Page-Ajax-"Webapp"-Anwendungen (wie ein Kalender oder hauptsächlich alles, was mit ExtJS erstellt wurde), die fortgeschrittene Client-seitige Funktionalität mit reinem JavaScript und Ajax-Mitteltierdiensten bieten, aber das Programmiermodell ist JavaScript, HTML wird abstrahiert. Vergleichen Sie dies auch mit traditionellen HTML-"Website"-basierten Anwendungen wie einem Wiki oder Blog - denken Sie an Twitter Bootstrap + jQuery -, die keine fortgeschrittene Client-seitige Funktionalität benötigen.

Single-Page-Webapps und seitenbasierte Websites würden meiner Meinung nach mit Lift komplizierter gemacht werden, als es notwendig ist, es sei denn, Sie haben ein erfahrenes und diszipliniertes Team. Dies korreliert wahrscheinlich mit der Produktreife und der Teamgröße - Facebook und Twitter sind extrem große Anwendungen mit Hunderten von interagierenden Teams und einer starken technischen Führung.

Ein kleines Team von Personen, die immer noch verschiedene Apps erkunden und Meinungen darüber bilden, wie sie strukturiert sein sollten, könnte meiner Meinung nach durch Lift zu komplexeren Lösungen verleitet werden, wenn sie vielleicht nur einfache HTML-Vorlagen und einfache Ajax-Endpunkte benötigt hätten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X