Ich beginne mein nächstes Web-Entwicklungsprojekt und wollte etwas über die Vorzüge von Lua im Web-Entwicklungsbereich erfahren.
Wie vergleicht sich Lua mit PHP / Python / JSP / etc .. für Web-Entwicklung?
Irgendein Grund, warum Lua eine schlechte Wahl für eine Webanwendungssprache im Vergleich zu den anderen wäre?
Kurz gesagt:
Lua gibt Ihnen ein kleineres, einfacheres System, das Sie in seiner Gesamtheit verstehen können , aber es ist in einem viel kleineren Ökosystem ; Kepler ist alles, was Sie bekommen, und Sie werden wahrscheinlich einige Ihrer eigenen Sachen bauen müssen. Ich finde das einfach und macht Spaß (ich benutze die Lua-Bindungen zum Expat-Parser und die Lua Object Model , die Teil von Kepler sind, aber andere bevorzugen vielleicht das, was alle anderen benutzen.
PHP begann als eher ein Makroprozessor als eine Sprache, und obwohl es sich im Laufe der Jahre verbessert hat, wenn Leute sagen " X ist wirklich viel besser geworden", tendiere ich vor X vorsichtig sein. Ich finde PHP offputting, aber es gibt ein großes Ökosystem für Web-Entwicklung.
Python ist eine nette Sprache, aber viel größer als Lua, und in den Wirren einer größeren Revision (Übergang von 2.5 zu 3.x). Wieder erhalten Sie ein großes Ökosystem ; Das Problem, das ich mit Python habe, ist, dass die Sprache und das System zu groß sind, als daß eine Person alles verstehen könnte . Ich mag es nicht, in dieser Situation zu sein, wenn ich nicht muss.
Ruby ist ein bisschen sauberer, und das große Rails-Ökosystem ist ein Gewinner . Ruby ist weniger komplex als Python, aber komplexer als Lua. Rails ist ein bisschen wie ein Biest.
Es kommt auf diese Frage an:
Würdest du lieber die Software in deinem System verstehen, selbst wenn du viele Dinge selbst bauen musst?
Oder hättest du lieber eine Menge Dinge für dich gebaut, selbst wenn du nicht genau verstehst, wie jedes Stück funktioniert?
Wenn du alles verstehen willst, ist Lua dein Spiel. Wenn Sie eine Menge Zeug für sich selbst bauen wollen, kann ich Ihnen nicht raten, wie Sie zwischen PHP / Python / JSP / Rails usw. wählen.
Mehr zu Lua und Python unter Which Sprache ist besser zu verwenden, Lua oder Python?
Die Verwendung von Lua für Web-Entwicklung ist ziemlich selten ... Sie könnten es tun, aber es wird viel zeitaufwendiger sein, als eine Sprache zu verwenden, die als Web-Entwicklungssprache (PHP) gereift ist. oder hat gute Web-bezogene Bibliotheken (Python / Ruby / etc.) Wenn Sie mit Lua gehen, bedeutet dies, dass Sie am Ende "das Rad neu erstellen" eine Menge für was leicht in ausgereiften Web-Sprachen verfügbar sein kann.
Die bessere Frage ist, was bietet Lua Ihnen an, was nicht in den anderen Sprachen angeboten wird, die Sie aufgelistet haben? Oder möchten Sie Lua helfen, eine bessere Web-Entwicklungsplattform zu werden, indem Sie ein Lua MVC-Framework erstellen, wie es Rails für Ruby getan hat?
Das Kepler-Projekt ist wahrscheinlich der bekannteste Ausgangspunkt für die Entwicklung von Webanwendungen in Lua. Sie haben eine Mailing-Liste , deren Archive viel über die Vorzüge verschiedener Ansätze diskutieren werden.
Die Kepler-Site selbst ist in einem CMS-Framework namens Sputnik aufgebaut, das fast ausschließlich in Lua geschrieben wurde und auf dem Kepler-Projekt basiert / p>
Der typische Ansatz mit Lua besteht darin, eine Sprache zu verwenden, die für die Anbindung verschiedener Systemkomponenten geeignet ist, um diese Schnittstellen zu implementieren, und Lua für Geschäftslogik und Leim zu verwenden. Kepler stellt Bibliotheken bereit, die größtenteils in C geschrieben sind und den Zugriff auf Dateisysteme, Datenbanken und das Netzwerk für den Lua-Code ermöglichen. Es bietet auch eine definierte API-Ebene für die Verbindung mit dem Webserver, mit Implementierungen für Apache, jeden CGI-fähigen Server und Xavante, einem vollständigen Webserver, der hauptsächlich in Lua implementiert ist.
Ich komme etwas spät ... aber ich wollte eine andere Sprache einwerfen: haXe
warum?
haXe ist eine Open-Source-Sprache, die von einer recht kleinen, aber aktiven Community gesteuert wird
haXe ist eine plattformunabhängige Sprache ... Ziele sind:
Das bedeutet, dass Sie als Webentwickler sowohl Rich Clients als auch Server in derselben Sprache schreiben können ... der gleiche Code kann später für Desktop / Mobile Apps wiederverwendet werden
Der größte Fehler bei haXe ist, dass es untypisiertes Codieren erlaubt, auf Kosten der plattformspezifischen Ausführung von untypisiertem Code ... wenn gut typisiert (was nicht viel Arbeit mit haxe ist), wird der Code ausgeführt genauso auf allen Plattformen ... wenn nicht, sind die Ergebnisse abhängig von der Laufzeitbehandlung der Plattform selbst ...
um es in ein paar Worten zu sagen: Es ist eine großartige Sprache, mit der Sie auf viele Plattformen zielen können ... es ist jung, es wächst, und Sie können teilnehmen ...
greetz
back2dos
Wenn es nur die Sprache ist, stimme ich Norman zu. Wenn das Web-Entwicklungs-Framework für Sie wichtig ist, müssen Sie Ruby berücksichtigen, da RoR ein sehr ausgereiftes Framework ist. Ich liebe Python, aber es scheint eine ganze Reihe von Frameworks zu geben, von denen keiner dominant ist. CherryPy, Django, Pylons, web2py, Zope 2, Zope 3 usw. Ein wichtiger Hinweis für mich ist, dass es auf dem Markt mehr RoR-Jobs gibt als jeder andere (Sprache, Framework).
Soweit Lua Web-Frameworks gibt es auch LuCI . Es wird hauptsächlich für kleine eingebettete Systeme verwendet. Wir fangen gerade ein Projekt an, das es benutzt, also kann ich es jetzt nicht zu viel kommentieren. Wir machen nur ein paar einfache Konfigurationsbildschirme, die den bereits beschriebenen Beispielen ähneln. Ich bin mir sicher, dass dies für unsere Bedürfnisse ausreicht.
Tags und Links python php web-applications lua