• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Framework für Webanwendung

sven007

Neues Mitglied
Hallo zusammen,
ich möchte eine kleine Web-App bauen, die bei uns im 10-Mann-Büro genutzt werden kann (nur lokal, nicht übers Web).
Bisher ist es eine Access-DB-Lösung. Ihr könnt Euch das wie ein Addressverzeichnis vorstellen, bei dem man Kontakte suchen und anzeigen, gruppieren und bearbeiten kann sowie Beziehungen untereinander abbildet.

An HTML, CSS und JS traue ich mich durchaus ran, allerdings muss ich ja auch irgendwie eine Datenbank haben und auf diese zugreifen.
Gibt es hierfür eine Art Framework, so dass ich nicht bei Adam und Eva anfangen, sondern mich auf das Frontend konzentrieren kann?
Zudem gibt es das Problem, dass wir jetzt keinen DB-Server haben, sondern lediglich ein Netzwerk, bei dem sich die Rechner ein Filesystem teilen (was für Access ja eigentlich gut läuft).

Danke für Eure Ideen und schöne Grüße
Sven
 
Werbung:
Du schreibst jetzt nicht genau, mit welchem Tech Stack du das ganze umsetzen willst und auch nicht, wie ausgeprägt deine Kenntnisse sind. Da du dich an HTML, CSS und JS rantraust, wäre ich allerdings dagegen, PHP mit ins Spiel zu bringen. Das ist hier einfach nicht nötig.

Da das Frontend sich nicht sonderlich komplex anhört, würde ich auf ein light weight Framework setzen (z.B. Vue), aber auch mit Frameworks wie Angular oder React wirst du wohl an dein Ziel kommen, auch wenn die Learning curve da durchaus anders aussieht.

Beim Back-End gibt es auch ne Million Möglichkeiten das ganze umzusetzen. Zum Beispiel könntest du einen Node.js-Server mit Express.js als Back-End-Framework benutzen. Damit baust du deine API, die auf deine Datenbank (z.B. PostgreSQL, MySQL) zugreift.
Hier noch ein Tipp: Benutze auf jeden Fall ORM (Object–relational mapping) um auf die Datenbank zuzugreifen. Für Node.js wäre das Sequelize.

Einen Webserver wirst du brauchen, einen Datenbankserver nicht unbedingt, du kannst auch mit SQLlite arbeiten, das ist "nur" eine Datei.
Das ist in der Regel keine gute Idee. SQLite sollte nicht in Produktionssystemen genutzt werden. In den meisten Fällen solltest du es nicht nur nicht tun, sondern kannst es gar nicht. Du kannst nämlich nicht concurrent, also Parallel, darauf zugreifen. Sprich: Versuchen 2 User in die Datenbank zu schreiben, wird das nix.
 
Werbung:
Bei 10 Usern nicht ideal aber durchaus machbar ...

Weshalb PHP? Es ist einfach, einfach aufzusetzen (XAMPP) und einfach umzusetzen. Und sag jetzt nicht man sollte XAMPP nicht produktiv verwenden, klar, aber für den beschriebenen Use-Case durchaus vertretbar.

Eine Umgebung mit Node.js und einem Datenbankserver zu betreiben ist wesentlich komplexer. Und ich persönlich find auch die Lernkurve bei Node und Express und Co wesentlich steiler, vor allem wenns dann noch etwas komplexer wird. Aber das ist sicherlich Geschmackssache.
 
Und sag jetzt nicht man sollte XAMPP nicht produktiv verwenden, klar, aber für den beschriebenen Use-Case durchaus vertretbar.
Ich wüsste jetzt nicht, wann ich auch nur angedeutet haben soll, dass XAMPP nicht produktiv verwendet werden darf. Das ist ein etablierter Tech stack.

Eine Umgebung mit Node.js und einem Datenbankserver zu betreiben ist wesentlich komplexer. Und ich persönlich find auch die Lernkurve bei Node und Express und Co wesentlich steiler, vor allem wenns dann noch etwas komplexer wird. Aber das ist sicherlich Geschmackssache.
Wie du bereits sagtest, ist das individuell und hängt auch von den Fähigkeiten ab, die sven007 hat. Ich persönlich finde eine Node-Umgebung um einiges unkomplizierter. Allerdings verstehe ich noch nicht ganz, warum es einen dedizierten Datenbankserver benötigt. Du kannst doch bei so einer kleinen Applikation die Datenbank auf demselben Server hosten, auf dem du auch deine Node-Application hostest.

Ich wollte hier, bis auf den SQLite-Ansatz, deinen Ansatz gar nicht schlecht machen. Der ist ja legitim. Ich wollte einen weiteren Ansatz mit in den Topf werfen & Probleme deines Ansatzes aufzeigen.

Im Übrigen wäre es auch ein Ansatz, gar keine OR-DB zu nehmen, sondern z.B. eine Document oriented Datenbank wie MongoDB.
 
Hast du nicht, vielleicht hab ich unfairerweise und in dem Fall falscherweise vorgegriffen. ;)

Und na klar, ein Server reicht.
 
Werbung:
Hallo Jungs,
erst einmal vielen Dank für Eure Anmerkungen. Da sind gute Ansätze dabei, die ich aber erst einmal für mich sortieren muss. Ich bin davon ausgegangen, dass ich um ein PHP-Backend nicht herum komme und mit Java nicht auf Dateien/Datenbanken zugreifen kann.
Von SQLite habe ich bereits gelesen, aber da es zwangsläufig vorkommen wird, dass mehrere Kollegen parallel mit den Daten arbeiten, habe ich davon schnell Abstand genommen.
Da ich noch nie einen Webserver aufgesetzt habe - und auch meine Zweifel habe, dss in unserer Firmen-IT durchzubekommen: Kennt hierzu jemand ein gutes Tutorial?
Auch zu node.js finde ich haufenweise Material aber irgendwie nicht so das richtige zum Einstieg...

Ich hatte die naive Hoffnung, dass ich mit ein paar HTML-, CSS- und JS-Dateien auskommen kann und dann "nur" noch irgendwie die Daten ablegen muss. ;)

Grüße
Sven
 
Darum rate ich zu PHP und XAMPP, da installierst du das Ding und an sich läuft das dann. Zudem sehr verbreitet, also falls du ein Problem hast findest du sicher Hilfe resp. jemanden der dasselbe Problem schon mal hatte.

Ganz ohne etwas selbst zu schreiben wird es nicht gehen.
 
mit Java nicht auf Dateien/Datenbanken zugreifen kann.
JavaScript ≠ Java!

Ich wüsste jetzt nicht, wann ich auch nur angedeutet haben soll, dass XAMPP nicht produktiv verwendet werden darf.
Dazu im übrigen noch ein Edit: Ich habe den LAMP-Stack-Begriff mit dem XAMPP-Begriff verwechselt. XAMPP installiert dir ja nur einen LAMP/WAMP-Stack.

Und deswegen korrigiere ich mich noch ein wenig. XAMPP sollte ebenfalls, wenn möglich, für Produktiv-Systeme vermieden werden (aus Sicherheitsgründen). @sven007 wenn es also möglich ist und du dir das ganze zutraust, solltest du den Tech-Stack selber installieren. Allerdings müssen bei diesem Projekt wohl einige Kompromisse eingegangen werden, also befürchte ich, dass es wohl auf XAMPP hinauslaufen wird. Sprich am besten trotzdem mal mit deiner IT-Abteilung, ob es da gewisse Sicherheitsrichtlinien gibt, die dir das ganze ggf. verbieten.
 
Zuletzt bearbeitet:
Werbung:
Welche Kompromisse meinst Du?
Du sagst selbst, dass du noch Anfänger bist. Jetzt hast du Ansätze bekommen und stehst vor einem ganzen Berg Arbeit. Ich weiß nach wie vor nicht genau, wie versiert du in HTML, CSS und JS bist. Falls sich deine Kenntnisse auf das hier begrenzen:
Ich hatte die naive Hoffnung, dass ich mit ein paar HTML-, CSS- und JS-Dateien auskommen kann und dann "nur" noch irgendwie die Daten ablegen muss. ;)
wirst du dir sehr viel Wissen aneignen müssen. Die Umsetzung ist meiner Meinung nach keine Sache von 2-3 Wochen. Und du kannst natürlich anfangen etwas zu bauen und es funktioniert, aber ich garantiere dir, dass es da noch eine Menge Sachen gibt, bei denen du (wissentlich oder unwissentlich) Kompromisse eingegangen sein wirst (einfach, weil du es nicht besser weißt oder auch aus Zeitgründen). Dazu gehören z.B. Dinge wie Sicherheit, es handelt sich schließlich um sensitive Daten (du meintest ja eine Adressliste), aber auch sowas wie Clean Code und eine ganze Menge mehr.
Die meisten Kompromisse werden vermutlich kein Problem sein, da es sich um ein lokales Projekt handelt. Andere hingegen können schon kritischer sein.

Wie gesagt, kennt jemand eine Beginner-Doku oder kann ansonsten Literatur empfehlen?
Kommt halt darauf an, wonach du genau suchst. Viele Dinge haben mittlerweile wirklich gute Dokumentationen. Da muss man sich dann durchkämpfen. Ich kann dir jetzt kein Video oder Literatur empfehlen, dass deine Anforderungen erfüllt. Es wird eine Kombination aus viel Doku, Tutorials, Trial-and-Error & Learning by doing werden.
 
Servus,
mittlerweile habe ich mich etwas eingelesen und verschiedene Optionen angesehen. Lösungen gibt es ja wie Sand am Meer, da fällt die Auswahl schwer.

Mal ne (wie üblich) doofe Frage: Wie schätzt Ihr jQuery ein, ist das noch tauglich und aktuell? Auf Basis dieses Tutorials habe ich ein meinen Vorstellungen gar nicht so unähnliches Gerüst gebastelt...

Grüße
 
Werbung:
jQuery und jQuery Mobile sind 2 unterschiedliche Sachen. jQuery lebt, jQuery Mobile ist ziemlich tot.
 
Zumindest noch. jQuery wird immer noch in zahlreichen Projekten benutzt. Es ist allerdings meiner Meinung nach langsam aber sicher im downwards-Trend, da das direkte Manipulieren des DOMs immer mehr als veraltet angesehen wird. Für so etwas gibt es ordentliche Frameworks mit conditional rendering, two-way-binding, usw..

Nichtsdestotrotz eignet sich jQuery vermutlich für dein Projekt und auch als Anfänger macht es einem das Leben ernsthaft einfacher. Kann ich dir also weiterempfehlen ;)
 
Werbung:
jQuery und Node.js sind zwei völlig verschiedene Dinge und lassen sich nicht in diesem Sinne vergleichen.

Node.js ist ein runtime enviroment, dass im Back-End läuft.
jQuery ist eine JavaScript-Library, sie vereinfacht also JavaScript.

Typische Anwendungszwecke sind z.B., dass du jQuery für dein Front-End verwendest, um das DOM zu manipulieren und Requests an dein Back-End zu schicken. Im Back-End läuft dann Node.js mit (z.B.) Express, das mit der Datenbank interagiert und die Ergebnisse zurück an das Front-End schickt.

Du kannst also nicht das eine durch das andere ersetzen.

Fakt ist, dass Node.js für seinen Anwendungszweck top aktuell ist und jQuery für seinen Anwendungszweck langsam aber sicher ein Auslaufmodell ist (meiner Meinung nach).
 
Zuletzt bearbeitet:
Ich denke in der Nicht-professionellen und Semi-Professionellen Webentwicklung wird jQuery sicher noch eine Rolle spielen. So ganz aussterben wirds nicht und für einfachere Sachen ists sicher auch in Zukunft noch eine gute Sache.
 
Zurück
Oben