PHP rocks! wünscht allen Mitgliedern einen guten Rutsch ins neue Jahr 2017 !!!
Hinweis: Das Forum zieht um! Um keine Datenverluste zu haben, schalten wir zwecks Übernahme der Daten das Forum am Sonntag, den 24.04.2016 um ca. 21:00 Uhr offline und passen anschliessend die DNS-Einträge an.
www.php-rocks.de wird euch dann nach den Aktualisierungen der DNS-Server wieder wie gewohnt uneingeschränkt zur Verfügung stehen.
Danke für euer Verständnis!

Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
JavaScript Daten speichern
#1
Servus,

nach langem hin und her, scheint es besser zu sein mich mit JavaScript anstelle von PHP zu beschäftigen.
Für mein Vorhaben, Templates zu bauen, scheint dies sinnvoller zu sein.

Nun möchte ich aber trotzdem gerne Daten speichern können.
Wollte gerne mal einen Maschinenkatalog schreiben, in dem mehrere Maschinen aufgelistet sind und deren Werte man verändern kann.

Das ganze würde ich gerne lokal nutzen, ohne Webserver.
Würde das ganze mit normalen HTML/CSS bauen und lokal im Browser aufrufen.

Kann ich da dann mit JavaScript Dateien beschreiben und dauerhaft speichern?

Ich habe mal das hier gefunden: Filesystem API

Nun schaut das aber schon recht anspruchsvoll aus und ist auch schon 3 Jahre her, kein Plan ob es da mittlerweile was einfacheres gibt.

Ich habe vor kurzem, im Zuge eines PHP-Tutorials, eine txt Datei mit Hallo Welt erstellt und beschrieben und das war im Prinzip nur eine Zeile Code.

Sowas wäre mir mit JavaScript ganz recht Big Grin .

Kennt ihr da was?
Antworten
#2
Hi,

Um lokal Dateien erstellen und ändern zu können bist Du mit der API grundsätzlich gut aufgestellt.
Du solltest allerdings bedenken, dass dies nur in einem "erlaubten" Bereich möglich ist.
Alles andere wäre ein nahezu unüberschaubares Sicherheitsrisiko.

Deine Anforderung
Zitat:wollte gerne mal einen Maschinenkatalog schreiben, in dem mehrere Maschinen aufgelistet sind und deren Werte man verändern kann.
scheint aber doch eher ein Kombi aus HTML5/CSS3 + JavaScript + PHP + MySQL ( alternativ sqlite ) zu rechtfertigen.

Dafür gibt es bspw. XAMPP, das Dir lokal den Webserver zur Verfügung stellt, um all das nutzen zu können.
Verarbeitung gehört für mich klassisch betrachtet in die Server-Umgebung. JavaScript kann zwar auch viel, sollte imho allerdings nur zur Kosmetik und Usability eingesetzt werden.

Gruß Arne
Antworten
#3
Zitat:scheint aber doch eher ein Kombi aus HTML5/CSS3 + JavaScript + PHP + MySQL ( alternativ sqlite ) zu rechtfertigen.

Das habe ich mir schon gedacht Undecided .
Ich wollte mich halt nur mit einer Programmiersprache beschäftigen neben HTML und CSS.

Da ich das ganze nur zum Hobby machen möchte, wird mir das sonst glaub viel zu viel.
Zumal ich mich mit dem ganzen "verstehen der Materie" auch extrem schwer tue.

Wenn ich Sachen für die Firma machen möchte, müsste ich halt Daten speichern können, da wäre PHP wohl das richtige. Mir gefällt auch das man nicht einfach den Code kopieren kann Cool .

Gefühlt erlebt JavaScript aber gerade einen richtigen Boom.
Ich kenn JavaScript nur von früher, da war es das "Böse".
Wurde halt für PopUps und allen möglichen nervigen Mist missbraucht.
Alle die ich kannte hatten NoScript installiert um JavaScript zu blocken.

Heute ist das irgendwie wieder komplett anders.
Viele der großen Seiten sind ohne JavaScript teilweise gar nicht mehr nutzbar.
Bildzeitung etc..

Hab JavaScript nun auch schon oft in anderen Programmen gesehen um Plugins zu schreiben oder zum Beispiel in Unity5 zum Spiele programmieren.

Je mehr ich darauf achte, umso mehr fällt mir auf das JavaScript irgendwie an allen Ecken auftaucht.

Sogar in Visual Studio wird JavaScript nun offiziell unterstützt.

So rein aus dem Bauch heraus, würde ich als Laie behaupten, immer mehr Firmen/Programme setzten auf JavaScript und deshalb bin ich so hin und her gerissen was die Wahl der Sprache anbelangt.

Zumal ich bei den Sachen für die Firma wirklich keine Datenbank brauche.
Das werden max. 20 Dateien sein die beschreibbar/speicherbar sein müssten.

Ganz unkompliziert, den Wert einer Variable ändern und speichern.
Mehr braucht es da echt nicht.
Antworten
#4
Javascript eignet sich hervorragend, um die Usability zu erhöhen oder auch Berechnungen, Events o.ä. Client seitig zu steuern.
Grundsätzlich aber sollte eine Webanwendung ( sofern es eine werden soll ) auf Client seitige Verarbeitung setzen, zumindest ist das meine Meinung.
Vielleicht hat da ja jemand eine andere Meinung, meine muss nicht richtig sein.

Auf jeden Fall empfehle ich Dir, für das Projekt eher PHP zu lernen.
JavaScript kannst Du im Anschluss noch zur "Kosmetik" integrieren.

Gruß Arne
Antworten
#5
Hallo @all,
Zitat:nach langem hin und her, scheint es besser zu sein mich mit JavaScript anstelle von PHP zu beschäftigen.
Man MUSS beides können Wink Und es an der richtigen Stelle einsetzen.
Wie Arne schon sagte...

Zitat:Kann ich da dann mit JavaScript Dateien beschreiben und dauerhaft speichern?
Ich habe mal das hier gefunden: Filesystem API
Schau Dir mal https://github.com/ebidel/filer.js und mein eigenes Shamework an: https://github.com/frdl/-Flow/blob/master/api-d/4/js-api/library.js/core/plugin.core.js#L12219
Es bietet ein Shim für node.js require('fs').
Zur Speicherung wird die von Dir schon erwähnte Filessystem API verwendet, filer.js bietet ein Fallback nach indexedDB.

indexedDB ist, so wie ich es verstanden habe, für "zukunfstsfähige Browser" derzeit das System der Wahl um browserseitig größere Datenmengen zu speichern.

Zitat:Grundsätzlich aber sollte eine Webanwendung ( sofern es eine werden soll ) auf Client seitige Verarbeitung setzen, zumindest ist das meine Meinung.
Vielleicht hat da ja jemand eine andere Meinung, meine muss nicht richtig sein.
Ich denke das hängt sehr stark vom Anwendungsfall ab, je nach Sachlage gibt es jeweils pros und contras ob man server- oder clientseitig entwickelt.
Clientseitige javascripts eignen sich bspw. auch für offline-Anwendungen.

Zitat:Auf jeden Fall empfehle ich Dir, für das Projekt eher PHP zu lernen.
Es hängt davon ab was Du machen willst. Es kann aufjedenfall nicht schaden sich zmindest die Grundlagen beider Sprachen mal anzuschauen, und die Besonderheiten, dann wirst Du acuh sehen das wir hier ein wenig "Äpfel mit Birnen" vergleichen.

Zitat:JavaScript kannst Du im Anschluss noch zur "Kosmetik" integrieren.
Ich denke da tust Du javascript ein wenig Unrecht, ich finde es kann schon mehr als nur "Kosmetik".

Achtung:
Wenn wir hier über js reden, reden wir über clientseitiges vom Browser interpretiertes javascript!?
Heutzutage gibt es vermehrt auch serverseitiges js, siehe node.js.
Wenn es hier um die Wahl geht würde ich Dir auch auf jedenfall eher zu php raten.
Antworten
#6
Zitat:Ich denke da tust Du javascript ein wenig Unrecht, ich finde es kann schon mehr als nur "Kosmetik".
Ja sicher kann JavaScript mehr als nur Kosmetik, gerade wie schon erwähnt in Hinsicht auf die Usability.

Trotzdem tun aus meiner Sicht reine JS-Anwendungen nicht Not, dann sollte man sich mit richtigen Programmiersprachen befassen und Desktop Anwendungen entwickeln.
Wenn ich über JS spreche, spreche ich nur von Webanwendungen und da ist JS für mich halt nur die aufgesetzte ( kosmetische ) Variante.
Wobei ich kosmetisch nicht nur im Sinne von Visualisierung meine, sondern auch in Bezug auf Funktionalitäten ( daher auch in Gänsefüsschen! ).

Aber ich sagte ja:
Zitat:Vielleicht hat da ja jemand eine andere Meinung, meine muss nicht richtig sein.
Wink
Antworten
#7
@Arne, ich habe auch schon ein paar kleine Sachen mit C#, VB.Net und AutoIt für den Desktop gemacht.

Aber es ist schwer kleine Hobbyprogramme als Desktopanwendung zu schreiben die später auch von jemandem benutzt werden sollen. Wer lädt sich schon ne Eieruhr oder sowas als Programm runter.

Nehmen wir mal einen einfachen BMI Rechner:

Wenn ich den mit PHP oder JavaScript schreibe und ihn zum Download anbiete, bin ich mir sicher das er im Jahr 50 x runtergeladen wird.
Einfach weil es zig Fitnesstudios gibt oder Fitnesseiten die das brauchen können.

Als Desktopanwendung würde das kein Mensch runter laden, sondern einfach googlen und irgendwo online nutzen.
Deshalb möchte ich so eine Onlinesprache lernen.

Ich finde die Onlinesachen sehr viel schwieriger mit dem ganzen vermischen verschiedener Sprachen.

Bei C# mit Visual Studio braucht man sich ja gar keinen großen Kopf um Design machen.
Da zieht man sich alles per Drag&Drop so hin wie man es will und los geht das coden. Cool

Also ich schau mir jetzt mal von JavaScript und PHP die Grundlagen an und schau dann weiter.
Bisher finde ich beide sogar recht ähnlich.

Man verkettet bei PHP mit . und bei JavaScript mit nem +
Soweit bin ich schon mal Big Grin .
Antworten
#8
Du solltest Dir auch die Grundlagen über Vererbung / prototype anschauen, das läuft bei js etwas anders als bei php.

Auch hilfreich ist, zu entscheiden ob eine Funktion/Methode asyncronous non-blocking oder syncronous blocking ausgeführt werden soll. (async/sync vs. non-/blocking wird oft mißverständlich verwendet)

Einige primitive Typen in javascript sind "in Wahrheit" Objekte.

Zitat:Trotzdem tun aus meiner Sicht reine JS-Anwendungen nicht Not, dann sollte man sich mit richtigen Programmiersprachen befassen und Desktop Anwendungen entwickeln.
Nun, aber andererseits, für die reine Kosmetik eine Desktop Anwendung entwickeln, hm? Wink

Zitat:Nehmen wir mal einen einfachen BMI Rechner:

Wenn ich den mit PHP oder JavaScript schreibe und ihn zum Download anbiete, ....
So ein Tool kann man gut in ein "Widget" bundlen http://frdl.webfan.de/widgets.286.html
bzw. braucht Dein BMI Rechner auch noch GUI-Komponenten (z.B. .css und .html und .images, renderer...),
Kosmetik hin- oder her javascript wird selten ausschließlich verwendet!
Antworten
#9
Zitat:Auch hilfreich ist, zu entscheiden ob eine Funktion/Methode asyncronous non-blocking oder syncronous blocking ausgeführt werden soll. (async/sync vs. non-/blocking wird oft mißverständlich verwendet)

Gut das ich keine Ahnung habe was das bedeutet Big Grin .
Sollte ich über diese Begriffe stolpern werde ich mich hoffentlich an deinen Ratschlag erinnern.

Hab gestern gesehen das man mit JavaScript Desktopanwendungen schreiben kann und diese auch in eine .exe kompilieren kann.

JavaScript Desktopanwendung
Antworten
#10
Zitat:Gut das ich keine Ahnung habe was das bedeutet Big Grin .
Sollte ich über diese Begriffe stolpern werde ich mich hoffentlich an deinen Ratschlag erinnern.
https://www.google.de/?gws_rd=ssl#q=javascript+non-blocking+is+not+async&;*
Einige Funktionen geben ein return value zurück bevor sie ausgeführt werden, so das die Ausführung des übrigen codes nicht blockiert wird, das ist nicht das ganz dasselbe wie gleichzeitig, mehr wollte ich nicht sagen, siehe: XMLHttpRequest, setTimeout, setImmediate....

Zitat:Hab gestern gesehen das man mit JavaScript Desktopanwendungen schreiben kann und diese auch in eine .exe kompilieren kann.
Schau Dir mal nw.js an:
https://nwjs.io/
Building tool: https://github.com/jyapayne/Web2Executable
Allerdings: Dieser Weg (mit .exe und so) kann in die Plattformabhängigkeit führen und für jedes Widget einen Browser mitzuliefern ist u.U. zuviel overhead m.e.
Antworten


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Hilfe, mein JavaScript frißt CPU! Till 4 13.186 26.03.2018, 10:42
Letzter Beitrag: Arne Drews

Gehe zu: