11 Stimmen

Hat jemand Lua verwendet, um eine Webanwendung zu erstellen?

Ich komme aus einem Java- und PHP-Hintergrund, um Webanwendungen zu erstellen.

Hat jemand die Lua vor dem Bau einer Webanwendungen ?

Frage: Wenn ja, was sind die Vor- und Nachteile der Verwendung von Lua gegenüber PHP oder Java für eine Webanwendung? (z. B. Webserver-Unterstützung, Leistung, Code-Wartung usw.).

11voto

Ilya Martynov Punkte 396

Wie bereits erwähnt, ist Lua eine "Do-it-yourself"-Umgebung. Außerdem ist es sehr schnell und ziemlich speichereffizient im Vergleich zu Perl/PHP/Python/Ruby, besonders wenn man LuaJIT verwendet. Und es ist sehr einfach in C/C++-Code zu integrieren. Normalerweise sind diese Punkte für eine typische Webanwendung irrelevant, bei der die Leistung normalerweise durch die Datenbank eingeschränkt wird. Außerdem ist Ihnen die C/C++-Integration nicht wirklich wichtig, und Sie wollen die Dinge nicht wirklich selbst machen, sondern auf bestehenden Frameworks aufbauen. Aus diesem Grund glaube ich nicht, dass Lua für eine typische Webanwendung geeignet ist. Gleichzeitig gibt es aber auch einige Nischenanwendungen, bei denen Lua glänzt. Unsere Firma hat sich zum Beispiel auf die Entwicklung von Hochleistungs-HTTP-Servern für Adserving spezialisiert. Wir verwenden also unseren eigenen, von Grund auf in C++ geschriebenen HTTP-Server, der Lua als Skriptsprache für unsere Geschäftslogik integriert. Dies ermöglicht uns eine schnelle Anpassung der Geschäftslogik in Lua im Vergleich zu einer reinen C++-Umgebung. Gleichzeitig haben wir immer die Möglichkeit, leistungsrelevante Teile in C++ auszuführen. Würden wir eine andere Skriptsprache verwenden, wären wir sicher, dass sie langsamer wäre, mehr Speicher verbrauchen würde und generell schwieriger mit C++-Code zu integrieren wäre. Gleichzeitig ist uns der Verlust umfangreicher Bibliotheksunterstützung bei der Verwendung anderer Skriptsprachen ziemlich egal, da der Bereich, in dem wir arbeiten, ziemlich spezialisiert ist, so dass diese Bibliotheken in der Regel ohnehin irrelevant sind.

9voto

asmarino Punkte 81

Ich verwende Lua im Moment, um eine Webanwendung zu erstellen! Was ist nur mit den Softwareentwicklern passiert, dass "Do it yourself" einen schlechten Ruf bekommen hat - zu faul, entwöhnt von aufgeblähten Megabytes an Support-Bibliotheken, oder was? In Wirklichkeit gibt es, wie andere schon sagten, eine anständige Unterstützung, nur nicht in der Größenordnung von Python, zum Beispiel. Lua ist mit Abstand die schnellste Skriptsprache (insbesondere mit www.luajit.org), und viel, viel sauberer als jedes andere Sprachdesign in seiner Liga da draußen. Dies ist für die langfristige Wartung von entscheidender Bedeutung.

Für diejenigen, die lighttpd als ihren Webserver verwenden (mich eingeschlossen), ist der zusätzliche Bonus, dass die volle Leistungsfähigkeit von Lua für mod_magnet Skripte, nützlich für die synchrone Bearbeitung von Anfragen und das Umschreiben auf Steroiden.

7voto

golgote Punkte 61

Ich habe ein paar Websites mit Lua programmiert. Die erste war ein Schlachtzugsplaner für meine World of Warcraft Gilde (so fängt man oft an, in Lua zu programmieren...). Dafür habe ich mod_lua mit einer Alpha-Version von Apache 2.4 verwendet. Zwei andere waren kleine Wettbewerbsseiten für Kunden, entwickelt mit WSAPI, Nginx, Spawn-fcgi und Orbit. Dieses Setup ist verdammt schnell, schneller als mod_lua und alles andere, was ich gesehen habe. Die Seiten wurden sofort angezeigt, als ob sie im Cache wären! Die Erfahrung war sehr angenehm und Lua macht einen schnell produktiv. Aber man sollte gut organisiert sein. Lua fehlt eine Menge an Batterien, wenn es um Web-Entwicklung geht, so dass Sie oft Ihre eigenen implementieren müssen und es kann unordentlich werden. Ich schlage also vor, dass Sie planen, was Sie brauchen, bevor Sie anfangen. Ich habe mein eigenes Lua-"ORM" mit MySQL und eine geforkete Version von Lua Pages für die Templates verwendet. Schauen Sie hier, wenn Sie Lua+Wsapi+Nginx ausprobieren wollen: http://mascarenhas.github.com/2009/10/24/wsapi-nginx-fcgi.html Ich denke, das ist die beste Lösung.

5voto

user2826084 Punkte 479

Wir verwenden Lua mit großem Erfolg für unsere Backend-Implementierung. Sie können auch einen Blick auf JUCI webgui für eingebettete Geräte werfen. Es verwendet Lua für die Backend-Implementierung. Sie können einen Blick darauf werfen, wie der Code mit dem lua/C-Backend interagiert: https://github.com/mkschreder/juci

Beachten Sie jedoch, dass dieses Backend ein reines jsonrpc-Backend ist, also keine html-ähnlichen php- oder cgi-Seiten erstellt. Lua ist perfekt, wenn alles, was Sie tun, ist Handhabung und Antwort auf json Anfragen. Sie können auch die Hauptanwendung in php haben und Lua benutzen, um die Anwendung im Backend zu schreiben. Oder die Hauptanwendung komplett in Javascript.

Ich denke, wenn Sie Lua an Stellen einsetzen, an denen Sie HTML generieren wollen, werden Sie feststellen, dass es viele Funktionen vermissen lässt, aber wenn Sie es auf eine rein funktionale Backend-Implementierung beschränken, werden Sie feststellen, dass es sehr gut funktioniert.

4voto

PA. Punkte 47

Es gibt eine ganze Reihe von Projekten, die Lua für die Webentwicklung verwenden.

Zum Beispiel, Nanoki , eine HTTP- und Wiki-Engine, die in reinem Lua entwickelt wurde.

Oder Sputnik, das auf Kepler aufgebaut ist.

Abgesehen davon ist Lua eine sehr, hmmm, "do it yourself"-artige Umgebung.

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