Ankündigung

Einklappen
Keine Ankündigung bisher.

Node.js vs PHP

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Node.js vs PHP

    Ich habe Bücher gewälzt, Artikel gelesen, Youtube-Videos gesehen, Statistiken ausgewertet; aber schlussendlich will ich mir den Rat aus dem Forum hier holen zum Thema Node.js. Findet ihr es sinnvoll, dass man Node.js anstelle von PHP einsetzt, oder sollte Node.js PHP ergänzen, in den Gebieten, in denen es besser geeignet ist. Habe zu beiden Positionen massenhaft Pro- und Contraargumente, aber will hier mal eine kleine nette Diskussion starten.

  • #2
    NodeJS hat ein Defizit gegenüber PHP: Hosting-Verfügbarkeit.

    Wirst du also als Zielgruppe User haben die irgendwo hosten sollen können, wirst du auf NodeJS verzichten. Ob und wo NodeJS PHP ersetzt hängt schwer davon ab was normalerweise PHP machen sollte, NodeJS aber besser kann und worauf dein Projekt ausgelegt ist.

    Pauschal gesagt: PHP kann das was, NodeJS kann, mit PHP 7 wahrscheinlich auch so effizient und performant. Ob es Sinnvoll ist NodeJS statt PHP für spezifische Implementierungen eines Projekts zu nutzen, beantworte ich mit der Gegenfrage: Statt NodeJS lieber Ruby ?

    Auch ist der Code-Stil von NodeJS ein anderer. Wer PHP und Javascript kann läuft bei NodeJS erstmal von einer Wand aus Fragezeichen, zumindest wenn er JS eigentlich nur zur einfachen Interaktivitätsimplementierung genutzt hat ( wie der Großteil der Anfänger ).

    Du kannst dir ja mal Ghost anschauen, das ist eine Blogsoftware ( wie Wordpress, nur besser :P ) auf NodeJS-Basis: https://github.com/TryGhost/Ghost
    [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

    Kommentar


    • #3
      Da schließ ich mich meinem Vorredner an. PHP ist nun mal Urgestein in Sachen Webentwicklung, und ich glaube das lässt sich nicht von so einem Hype wie node.js schnell verdrängen. Auch war der Einwurf mit PHP 7 genial. Hier ein paar Features, die es wahrscheinlich mit sich bringen wird:
      1. Huge Performance Improvements
      2. JIT Engine
      3. AST: Abstract Syntax Tree
      4. Asynchronous Programming
      5. Standalone Multi-threading Web Server

      Spätestens dann steht PHP Node.js in nichts mehr nach. Bitte korrigiert mich, wenn ich falsch liege, aber Argumente, die von allen Seiten dargebracht werden, nämlich dass es ein gewaltiger Vorteil wäre, in einer einheitlichen Sprache zu programmieren, zählt für mich nicht. Das ist höchstens ein Scheinargument.

      Kommentar


      • #4
        Wenn man NodeJS und PHP vergleichen will, dann geht das eigentlich nur auf Basis von TypeScript. Javascript ist für die Entwicklung von etwas umfangreicheren Anwendungen ziemlich ungeeignet - heisst, man benötigt viel Zeit um Änderungen oder Erweiterungen in einer umfangreichen Applikation zu machen, als mit Sprachen, die ein deklaratives Typsystem haben und daher statische Codeanalyse ermöglichen. Alles was NodeJS ausmacht, kann PHP eigentlich auch. Für Nebenläufigkeit gibt es MQs. Würde man NodeJS und HHVM vergleichen, dann wäre NodeJS sofort aus dem Rennen.

        Kommentar


        • #5
          Wenn man NodeJS und PHP vergleichen will, dann geht das eigentlich nur auf Basis von TypeScript.
          Find ich nicht. Typescript ist doch dieser MS-Aufsatz, der nach JS kompiliert - spontan fällt mir kein prominentes node-Projekt ein, dass auf Typescript aufsetzt.

          Javascript ist für die Entwicklung von etwas umfangreicheren Anwendungen ziemlich ungeeignet
          Mit ES6 Generators, WeakMap etc. (nächste node-Version steht auch vor der Haustür) kommen auch einige interessante Spracherweiterungen dazu.

          QA mit nodejs: moccha, jasmine, jshint, jscs, ... http://www.clock.co.uk/blog/tools-fo...nce-in-node-js
          Wenn das alles ziemlich ungeeignet wäre, gäbe es kein derart umfangreiches Ökosystem (express/connect, geddy,...).

          Alles was NodeJS ausmacht, kann PHP eigentlich auch.
          Events im Sprachecore, Object.watch/defineProperty und co, Blockscopes (let), Cluster-API, async io,... beide Sprachen sind grundlegend verschieden. Vieles von dem, was nodejs kann, kannst du bei PHP mit Userlibs nachrüsten.

          Mein subjektiver Eindruck im Moment ist eher der: Während die nodejs community sich streitet (iojs fork) und PHP den Entwicklungen der letzten Jahre hinterherhechelt, putzt sich go heraus: https://github.com/go-martini/martini
          I like cooking my family and my pets.
          Use commas. Don't be a psycho.
          [URL="http://jscouch.de"]Blog[/URL] - [URL="http://coverflowjs.github.io/coverflow/"]CoverflowJS[/URL]

          Kommentar


          • #6
            Zitat von rudygotya Beitrag anzeigen
            Find ich nicht. Typescript ist doch dieser MS-Aufsatz, der nach JS kompiliert - spontan fällt mir kein prominentes node-Projekt ein, dass auf Typescript aufsetzt.
            Ich habe das auch sehr knapp und einseitig beschrieben. Es ging mir im Grunde um die Möglichkeit, größere Projekte handhaben zu können. Für mich sind das dann im wesentlichen zwei Dinge, die für mich wertvoll sind:
            • Wenn ich etwas ändere - worauf wirkt sich das eigentlich aus?
            • Wenn ich etwas mit Hilfe von Komponenten erstelle: Wie kann ich mir lästige Tipparbeit und Recherche sparen (in welchem Namespace liegt Klasse XY und was für Parameter und welchen Rückgabewert hat YZ)?


            In PHP hat man (zumindest durch PHPDoc) die Möglichkeit, Parametertypen und Rückgabetypen zu beschreiben und eine IDE zu befähigen, Sourcecode zu analysieren. Ich brauche das auch - und ich habe selten jemanden kennengelernt, der ohne jegliche Hilfsmittel in der Lage war, große Applikationen effizient zu warten und zu erweitern ohne viel Arbeit ins Debugging oder in die Entwicklung von Nichtigkeitentests zu stecken.

            Gäbe es ausreichend IDE-Unterstützung (und, um das wahrheitsgetreu zu erwähnen, die Windowsunterstützung) für HHVM, dann würde die PurePHP-Gemeinde um einiges schlanker sein, als sie es heute ist.

            Zitat von rudygotya Beitrag anzeigen
            Mit ES6 Generators, WeakMap etc. (nächste node-Version steht auch vor der Haustür) kommen auch einige interessante Spracherweiterungen dazu.
            Das mag sein. Macht Javascript aber auch zu keiner schöneren Sprache. Zumal:
            http://kangax.github.io/compat-table/es6/
            http://kangax.github.io/compat-table/es7/

            Zitat von rudygotya Beitrag anzeigen
            QA mit nodejs: moccha, jasmine, jshint, jscs, ... http://www.clock.co.uk/blog/tools-fo...nce-in-node-js
            Wenn das alles ziemlich ungeeignet wäre, gäbe es kein derart umfangreiches Ökosystem (express/connect, geddy,...).
            Es gibt nun mal nichts anderes als Javascript im Browser.

            Zitat von rudygotya Beitrag anzeigen
            Events im Sprachecore, Object.watch/defineProperty und co, Blockscopes (let), Cluster-API, async io,... beide Sprachen sind grundlegend verschieden. Vieles von dem, was nodejs kann, kannst du bei PHP mit Userlibs nachrüsten.
            NodeJS hat sicher seine Daseinsberechtigung. Aber ich denke nicht, dass es jemals einen nennenswerten Marktanteil bekommen wird.

            Zitat von rudygotya Beitrag anzeigen
            Mein subjektiver Eindruck im Moment ist eher der: Während die nodejs community sich streitet (iojs fork) und PHP den Entwicklungen der letzten Jahre hinterherhechelt, putzt sich go heraus: https://github.com/go-martini/martini
            Da ist Java doch eh schon längst angekommen.

            Kommentar


            • #7
              Zitat von rkr
              In PHP hat man (zumindest durch PHPDoc) die Möglichkeit, Parametertypen und Rückgabetypen zu beschreiben und eine IDE zu befähigen, Sourcecode zu analysieren.
              JSDoc und Webstorm reicht mir in der Hinsicht.

              Zitat von rkr
              Zitat von rudygotya
              Mit ES6 Generators, WeakMap etc. (nächste node-Version steht auch vor der Haustür) kommen auch einige interessante Spracherweiterungen dazu.
              Das mag sein. Macht Javascript aber auch zu keiner schöneren Sprache. Zumal:
              http://kangax.github.io/compat-table/es6/
              http://kangax.github.io/compat-table/es7/
              JS im Browser und nodejs sind 2 paar Stiefel. Bei node interessieren nur die in v8 enthaltenen Features.
              I like cooking my family and my pets.
              Use commas. Don't be a psycho.
              [URL="http://jscouch.de"]Blog[/URL] - [URL="http://coverflowjs.github.io/coverflow/"]CoverflowJS[/URL]

              Kommentar

              Lädt...
              X