flashover
Goto Top

PHP oder Node.js für kleines Projekt?

Hallo zusammen.
Ich hoffe mit meinem Anliegen keinen Glaubenskrieg auszulösen. Ich gehe davon aus jedem ist klar, daß es für jeden Zweck das richtige Werkzeug gibt und jeder damit arbeiten sollte, womit er am schnellsten Ergebnisse erzielt. Daher auch meine Frage als jemand, der selbst nicht viel mit dem Thema zu tun hat.

Ich möchte demnächst diverse kleine Web-Anwendungen entwickeln lassen. Hier geht es um nix spektakuläres, man könnte von CRUD Anwendung sprechen. Als erstes möchte ich intern eine einfache Verwaltung von unseren Kunden und Rechnungen schreiben und verwalten können. Also relativ überschaubar. Das Frontend sollte mit den Komponenten eines Bootstrap Templates schnell gemacht sein, hier braucht man das Rad nicht neu erfinden. Was mich aber umtreibt ist, was ich als Backend für den Entwickler vorgeben sollte.

Generell ist PHP für solche Dinge geeignet. Aber vielleicht ist NodeJS vielleicht einfach die bessere Wahl und lässt sich genau so schnell oder gar schneller entwickeln. Bei PHP weiß ich was mich technisch erwartet aber ich hab hier bislang nur mit dem Betrieb zu tun und paar Basics. Daher ist meine Erfahrung bei der Entscheidungsfindung nicht viel Wert und und würde mich freuen, wenn Menschen die tagtäglich mit PHP und/oder NodeJS arbeiten mir Ihre Erfahrung sagen würden, was hier vielleicht besser geeignet wäre bzw. wofür ich evtl. einfacher geeignete Leute finden dürfte. Mir ist nur wichtig daß es auf einem Linux Server läuft und die Daten in einer freien Datenbank landen (also MariaDB, MongoDB etc. ... gern auch hier ein Ratschlag eurerseits).

Wenn ich mit einem Entwickler und diesem mini Projekt (ist für interne zwecke und nix zum verkaufen weil ich keine Cloud Dienste wie SevDesk will) gute Erfahrung habe, möchte ich auf der gleichen technischen Basis weitere Projekte angreifen, welche dann doch etwas umfangreicher sein sollten. Aber Bootstrab ist für mich bedingt durch die umfangreichen Frontend Möglichkeiten eigentlich gesetzt.

Ich freue mich über Erfahrungen.
Vielen Dank im Voraus Allen die sich zu dieser Frage Gedanken machen.


PS: Vorsichtshalber nochmals erwähnt. Mir geht es nicht darum was die bessere Sprache oder so ist. Das wurde hier bestimmt schon x-mal durchgekaut und eine goldene Antwort gibt es so und so nicht. Aber ob NodeJS für so ein kleines Projekt sinnvoll oder gar ein unnötiger Stein am Bein des Entwicklers ist, kann ich nicht einschätzen.
Kommentar vom Moderator Dani am 24.03.2018 um 20:49:40 Uhr
Tippfehler im Titel behoben.

Content-ID: 369209

Url: https://administrator.de/contentid/369209

Ausgedruckt am: 08.11.2024 um 07:11 Uhr

kaiand1
kaiand1 24.03.2018 um 21:35:27 Uhr
Goto Top
Da du so grob die Angaben machst...
Jeder nimmt das womit er am Besten das Ziel umsetzten kann.
Da es aber auch um Kundendaten geht muss hier Sicherheit auch gegeben werden.
Mit externen Tools/Scripte musst du schauen ob die Lizenzbedienungen bei dir Passen sowie du auch in der Lage bist selbst Fehler dort zu Lösen.
Es kann vorkommen das die ihre Lizenz Ändern und du dann dein Projekt so nicht mehr Betreiben darfst oder in 4 Jahren diese nicht mehr vorhanden sind und du selbst dies Pflegen musst.
Dies ist was du Bedenken musst da dein Projekt sonst von Heut auf Morgen Unnutzbar wird.

Welche Datenbank du nutzt hängt auch mehr von dein Projekt Ab da jede ihre Vor und Nachteile haben aber es so Problemlos mit jeder Datenbank Laufen wird.

Auch Mobile Nutzbarkeit sollte Bedacht werden da du ja JavaScript als Zwang zur Nutzung Voraussetzt und auch Browser/Einstellungen sich dort Ändern.

Bedenke aber das bei Rechnungen auch die Gesetzlichen Pflichten eingehalten werden müssen und daher der Zugriff der Daten in x Jahre möglich sein muss.
FlashOver
FlashOver 24.03.2018 um 22:10:59 Uhr
Goto Top
Auf JavaScript habe ich mich etwas eingeschossen da ich die Lösung gerne unabhängig vom Betriebssystem nutzten möchte. Wenn ich Windows nutzten wollte für die nächsten x Jahre könnte ich das ja fix mit Visual Studio und c# oder VB bauen oder einfach Filemaker nutzten. Diese Abhängigkeiten und Einschränkungen möchte ich aber ungerne und daher der Ansatz mit JavaScript, was dank ElectronJs auch als HybridApp ohne Browser laufen sollte. Wie es hier mit iOS aussieht weiß ich zwar grad nicht aber das spielt weniger eine Rolle für so eine Anwendung.

Der Datenschutz und Sicherheit spielen nat. ne wichtige Rolle. Verschlüsselte Kommunikation und Speicherung der Daten sowie MultiFaktor authentifizierung werden definitiv ins Pflichtenheft genommen und im Nachgang mit kommerziellen Lösungen getestet. Eingabefeld Validierungen gegen SQL-Injection, XSS etc etc. sind nat. die Basics.

Über den Zugang zu den Daten über 10 Jahre hinweg mach ich mir weniger Sorgen. SQL ist ein Standard der nicht so schnell verschwindet und gespeicherte Dokumente im PDF-A Format sind i.d.R. kein Problem. Aber natürlich alles valide Punkte.

Mich treibt jetzt primär um, ob ich eine Backend Ausschreibung für Programmierer in Richtung NodeJS oder PHP definiere. Gibt ja sicherlich Vorteile wenn Front- und Backend in JavaScript sind wobei PHP nat. auch sehr verbreitet ist und es genügend Entwickler dafür geben sollte. Ob es Sinn macht komplett auf JavaScript/NodeJS zu setzen ist halt die Frage.
LordGurke
LordGurke 25.03.2018 um 00:58:07 Uhr
Goto Top
Ich bin selbst kein Node-Entwickler sondern nur der arme Typ, der dafür zuständig ist, dass das Zeug auf den Servern läuft.
Was mich (und einige unserer Entwickler) gelegentlich in den Wahnsinn treibt, sind die Node-Module.
Du willst ein neues hinzufügen oder ein vorhandenes aktualisieren? Dann stell dich drauf ein, schlechtestenfalls Teile des Codes erstmal anpassen zu müssen.
Node.js ist eine eher agile Sprache und du hast keine Garantie, dass dein Code von heute in ein paar Monaten noch funktioniert.
PHP ist da etwas konservativer und gibt dir da über Jahre hinweg eine stabile und zuverlässige Basis.

Ich persönlich würde für langlebige Projekte lieber PHP und MariaDB nehmen, wenn du ein Projekt "abschließen" können willst.
Denn mit notwendigen Sicherheitsupdates wird irgendwann dein Code unter Node.js inkompatibel.