Lua vs PHP / Python / JSP / etc [geschlossen]

7

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?

    
RBerteig 20.08.2009, 00:00
quelle

6 Antworten

19

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?

    
Norman Ramsey 20.08.2009, 03:43
quelle
7

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?

    
Glitz 20.08.2009 00:12
quelle
4

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.

    
RBerteig 20.08.2009 00:16
quelle
3

Ich komme etwas spät ... aber ich wollte eine andere Sprache einwerfen: haXe

warum?

  1. haXe ist eine Open-Source-Sprache, die von einer recht kleinen, aber aktiven Community gesteuert wird

  2. haXe ist eine plattformunabhängige Sprache ... Ziele sind:

    • Flash-Player 6-8 und 9-10 Bytecode oder ActionScript 3-Quellcode
    • JavaScript-Quellcode
    • PHP-Quellcode
    • NekoVM-Bytecode oder Neko-Quellcode (NekoVM ist eine leichtgewichtige und erweiterbare VM, die sowohl für die Serverentwicklung als auch für Desktop-Apps geeignet ist)
    • C ++ - Quelltext
    • Android-Java-Quellcode wird derzeit an
    • bearbeitet

    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

  3. haXe ist eine sehr ausdrucksstarke und kraftvolle Sprache mit:
    • erstklassige Funktionen (anonyme Funktionen und Methoden, die in haXe gleich sind) und Closures sowie Enums mit Parametern (ähnlich wie algebraische Typen), die die Verwendung von funktionalen Ansätzen ermöglichen
    • gutes Typsystem, einschließlich Generika, strukturelles Subtyping usw. ... Um seine Verwendung zu vereinfachen, hat der Compiler eine sehr hilfreiche Typinferenz, die sicherstellt, dass Code streng typisiert ist, aber viel Redundanz spart (variabler Typ wird bestimmt) durch Initialisierung, Rückgabe der Funktion nach Art der zurückgegebenen Ausdrücke ...
    • Cross-Plattform-API, einschließlich alles von dynamischen Arrays, zu Reflexion / Introspektion und einem Remoting-Paket, mit dem Sie ganze Objekte von Client zu Server, von einer Plattform zur anderen senden können ...
    • konsistentes und radikales Sprachdesign ... natürlich hat es ein paar Fehler, aber diese kommen meistens von der Tatsache, dass es extrem unterschiedliche Plattformen anvisiert ...
  4. Mädchen lieben es und es wird dich wirklich reich machen ...: D

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

    
back2dos 24.08.2009 22:40
quelle
1

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).

    
grokus 05.01.2010 19:31
quelle
1

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.

    
James Graves 18.09.2009 15:11
quelle

Tags und Links