Ergebnis 1 bis 9 von 9
Like Tree1Likes
  • 1 Post By mikdoe

Thema: Elemente verschieben: Javascript, Java oder Flash?

  1. #1
    jannmann ist offline Jungspund
    registriert
    18-06-2012
    Beiträge
    13

    Lightbulb Elemente verschieben: Javascript, Java oder Flash?

    Ich habe eine Anwendung mit PHP erstellt und MySQL-Datenbank. In der Anwendung werden in einem Bereich Stichworte gesammelt, die dann später passend gruppiert werden:

    Stichworte, z.B.

    Bäcker
    VW
    rot
    grün
    BMW
    Audi
    gelb
    Landwirt
    Schuster

    Gruppieren:
    Bäcker -> Beruf
    VW -> KFZ-Hersteller
    rot -> Farbe
    grün -> Farbe
    BMW -> KFZ-Hersteller
    Audi -> KFZ-Hersteller
    gelb -> Farbe
    Landwirt -> Beruf
    Schuster -> Beruf

    Mit PHP kann ich es über HTML-Selektfelder machen, das kommt mir aber ein wenig altmodisch vor.

    Am liebsten wäre es mir, links die Stichworte stehen zu haben und rechts Boxen für die Gruppen und dann die Stichworte einzeln nach rechts in die richtige Gruppe zu ziehen. Das bekomme ich ausschließlich mit PHP und HTML natürlich nicht hin.

    Bevor ich anfange, mich in eine neue Programmiersprache einzuarbeiten drei Fragen:
    1. Ich vermute, die Lösung wäre Javascript, Java oder Flash. Java und Flash will ich eigentlich nicht auf meiner Webseite haben. Wäre Javascript ein guter Weg, um mein Ziel zu erreichen?

    2. Wäre es sinnvoller, bei jedem verschieben eines Stichwortes in eine Gruppe das Ergebnis an PHP zu übergeben, damit es in MySQL gespeichert wird oder den Benutzer erst alle Stichworte Gruppieren zu lassen und erst wenn er speichern drückt, alles in einem Rutsch an PHP zu übergeben?

    3. Falls ich es doch einen erfahrenen Javascript-Programmierer machen lasse, wieviel Stunden wird der (ganz unverbindlich) pi x Daumen dafür benötigen? Will nur erahnen, ob so etwas ewig schwierig oder relativ leicht ist.

    Extrafrage:
    Ich habe gerade eine ganz verwegene Idee: Wäre es möglich, dass man mehreren Benutzern gleichzeitig alle Stichworte gibt und jeder von denen gruppiert und die anderen sehen das sofort auf ihrem Bildschirm und können auch bei Bedarf ein Stichwort umgruppieren??

    Bin auf Eure Anregungen richtig gespannt :-)
    Geändert von jannmann (26-04-2015 um 19:37 Uhr)

  2. #2
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.944

    AW: Elemente verschieben: Javascript, Java oder Flash?

    Cool, dass du solange hier Mitglied bist obwohl du kein JS machst

    Ja, JS wäre dafür genau das Richtige. Und benutzerspezifische Sortierung ist dann abhängig davon, wie du das im Backend speicherst.
    Ich würde mir dafür mal Draggable aus jQuery's UI anschauen, damit sollte das in wenigen Zeilen möglich sein: https://jqueryui.com/draggable/
    Anschließendes Speichern dann per jQuery .ajax().

    Bei Fragen einfach hier nochmal melden bitte.
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png

  3. #3
    jannmann ist offline Jungspund
    registriert
    18-06-2012
    Beiträge
    13

    AW: Elemente verschieben: Javascript, Java oder Flash?

    Zitat Zitat von mikdoe Beitrag anzeigen
    Cool, dass du solange hier Mitglied bist obwohl du kein JS machst
    Ich programmiere viel in PHP und natürlich läuft einem dabei immer wieder JS über den Weg. Aber außer ein paar fertigen Skripten, die angepasst habe, bin ich nie richtig in JS eingestiegen

    Zitat Zitat von mikdoe Beitrag anzeigen
    Ja, JS wäre dafür genau das Richtige. Und benutzerspezifische Sortierung ist dann abhängig davon, wie du das im Backend speicherst.
    Ich würde mir dafür mal Draggable aus jQuery's UI anschauen, damit sollte das in wenigen Zeilen möglich sein: https://jqueryui.com/draggable/
    Anschließendes Speichern dann per jQuery .ajax().
    Das liest sich ja und hört sich wirklich erbaulich an.
    Wäre auch meine oben genannte Extrafrage mit JS lösbar?

    Und - gibt es jemanden hier (oder an einen anderen Ort im Internet), den man dazu evtl. mal live sprechen könnte, um mein ganzes Vorhaben mit Javascript zu besprechen und eine Einschätzung über die Machbarkeit zu erhalten?

  4. #4
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.944

    AW: Elemente verschieben: Javascript, Java oder Flash?

    Zur Extrafrage: personenbezogene Speicherung der Gruppierung: ja, relativ einfach. Aber dass andere diese Gruppierung sofort sehen ist etwas schwieriger. Was machst du, wenn mehr als einer gleichzeitig am Gruppieren sind? Wer hat Vorrang? Und zweitens müssten dafür alle Benutzer dauernd pollen, um mit zu bekommen, ob jemand was gruppiert hat. Je nach Struktur der Anwendung kann das unnötigen Traffic in erheblichem Ausmaß erzeugen. Oder besteht die techn. Möglichkeit, auf dem Server mit WebSocket zu arbeiten?
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png

  5. #5
    jannmann ist offline Jungspund
    registriert
    18-06-2012
    Beiträge
    13

    AW: Elemente verschieben: Javascript, Java oder Flash?

    Zitat Zitat von mikdoe Beitrag anzeigen
    Zur Extrafrage: personenbezogene Speicherung der Gruppierung: ja, relativ einfach. Aber dass andere diese Gruppierung sofort sehen ist etwas schwieriger. Was machst du, wenn mehr als einer gleichzeitig am Gruppieren sind? Wer hat Vorrang? Und zweitens müssten dafür alle Benutzer dauernd pollen, um mit zu bekommen, ob jemand was gruppiert hat. Je nach Struktur der Anwendung kann das unnötigen Traffic in erheblichem Ausmaß erzeugen. Oder besteht die techn. Möglichkeit, auf dem Server mit WebSocket zu arbeiten?
    Zu Deinen 2 Fragen:

    1. Konflikte, wenn zwei gleichzeitig das gleiche tun, also das selbe Stichwort in eine ANDERE Gruppe schieben. Meine Idee ist: in diesem Fall das Stichwort sofort wieder aus der Gruppe rausnehmen und zu den ungruppierten Stichworten legen. So sehen beide, es hat nicht geklappt.

    2. Websocket: Danke für Deine Erklärungen und Deinen Link. Ist mir schnell klar geworden, dass ein Websocket für mein Vorhaben wohl nötig ist. Ob auf meinem Server die Möglichkeit besteht, weiß ich nicht. Bin für meine einfachen Projekte bei bei 1und1 und ganz zufrieden. Da mein jetziges Projekt erheblich größer wird und erheblich mehr User haben wird, könnte ein Wechsel nötig sein. Gibt es einen einfachen Test, ob 1und1 Websockets (außer Fragen, aber das ist kein Test :-)) zulässt?
    Geändert von jannmann (28-04-2015 um 00:49 Uhr)

  6. #6
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.944

    AW: Elemente verschieben: Javascript, Java oder Flash?

    Nach meiner Info kann man Websockets nur auf einem Root-Server bekommen, nicht auf shared Hosts. Konkret bitte den jew. Provider fragen.

    Wieviel User sind denn geplant? Vielleicht kann man doch was mit Polling machen. Ich denke da an Möglichkeiten, die Benutzer die gleichzeitig sortieren irgendwie schlau einzugrenzen. Ich würde mal behaupten, bis 20 User dürfte nicht mit Problemen zu rechnen sein. Wobei ich 1&1 nicht einschätzen kann, weil ich mit denen keine Geschäfte mache.
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png

  7. #7
    jannmann ist offline Jungspund
    registriert
    18-06-2012
    Beiträge
    13

    AW: Elemente verschieben: Javascript, Java oder Flash?

    Zitat Zitat von mikdoe Beitrag anzeigen
    Wieviel User sind denn geplant? Vielleicht kann man doch was mit Polling machen. Ich denke da an Möglichkeiten, die Benutzer die gleichzeitig sortieren irgendwie schlau einzugrenzen. Ich würde mal behaupten, bis 20 User dürfte nicht mit Problemen zu rechnen sein. Wobei ich 1&1 nicht einschätzen kann, weil ich mit denen keine Geschäfte mache.
    Langfristig müssen das deutlich über 20 User werden, die gleichzeitig das System nutzen, sonst hätte sich der Riesenaufwand, den ich in die Applikation gesteckt habe, nicht gelohnt. Für den Anfang kann man mit 20 Usern gleichzeitig hinkommen.

    Ich fasse mal in meinen Worten zusammen, um zu sehen, ob ich alles richtig verstanden habe:

    Es geht ja um die Frage "Wie bekommt der User mit, wenn sich etwas (in der Datenbank) geändert hat?"
    Das spielt sich also an der Schnittstelle PHP <-> Javascript ab.

    Alternative I: "Pull" - das wird ausgelöst von Javascript (Client): JS schickt dann laufend Abfragen an PHP.

    Alternative II: "Push" - das wird ausgelöst von PHP (Server): PHP schickt genau dann etwas, wenn neues in der Datenbank steht.
    Also müsste PHP laufend angestoßen werden, um zu prüfen, ob etwas in der Datenbank steht. Ich schätze alle 1/2 Sekunden, damit der Benutzer Änderungen fast unmittelbar mitbekommt. Wahrscheinlich müsste man dafür ein zusätzliches kleines PHP-Script schreiben, um nicht immer den ganzen PHP-Framework aufzurufen.

    Wäre es sinnvoll mit Alternative I zu beginnen um dann im Bedarfsfall auf II umzusteigen? Oder zu aufwändig?
    Geändert von jannmann (28-04-2015 um 15:42 Uhr)

  8. #8
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.944

    AW: Elemente verschieben: Javascript, Java oder Flash?

    Ich habe selbst noch nicht mit Websockets gearbeitet aber in der Theorie was ich darüber gelesen habe müsste das so gehen, dass ein PHP Script alle "laufenden" Websockets quasi von der Änderung unterrichtet. Das ist ja der Sinn und Zweck des Websockets Servers. Von daher muss es nicht laufend angestoßen werden sondern der Anstoß eines einzigen Users reicht zur Weiterreichung an alle bestehenden Websockets.

    Ansonsten würde ich sagen richtig wieder gegeben. Wie gesagt, ich habe leider keine Praxiserfahrung mit Websockets aber ich vermute, dass das im Grunde - abgesehen von der DB Kommunikation - was völlig anderes ist als Dauerpoll aller User. Deshalb würde ich - wäre ich in deiner Lage - direkt mit A oder B anfangen aber nicht darauf hoffen, dass man das eine teilweise für das andere verwenden kann, falls man später doch umsteigt. Ob Websockets möglich sind oder was für Kosten anfallen es möglich zu machen kann man ja schnell rausfinden. Wenn das im Budget liegt würde ich direkt damit beginnen und mich darauf konzentrieren. Falls nicht mach Dauerpoll. Das kann man ja später bei zunehmender Nutzerzahl an der Leistungsfähigkeit des Servers optimieren und/oder die gleizeitigen Sortierer quantitativ einschränken nach dem Motto "hierfür sind nur x User gleichzeitig erlaubt bitte später nochmal versuchen".

    Falls es Websockets wären würde ich mich sehr freuen, wenn du das hier ab und zu ein bisschen zeigen würdest. Das ist bestimmt eine spannende Angelegenheit.
    jannmann likes this.
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png

  9. #9
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.757

    AW: Elemente verschieben: Javascript, Java oder Flash?

    PHP ist für Websockets eher nicht gut geeignet. Node.js ist dafür sehr gut ausgelegt.

Ähnliche Themen

  1. Antworten: 17
    Letzter Beitrag: 20-12-2012, 11:18
  2. Elemente/Bilder mit Javascript verschieben
    Von Onkel-Tom im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 19-05-2008, 16:21
  3. Antworten: 9
    Letzter Beitrag: 06-04-2008, 21:12
  4. Per JS Java-Applet verschieben
    Von Firemice im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 17-09-2006, 11:06
  5. Elemente mit der Maus verschieben
    Von Deever im Forum JavaScript
    Antworten: 11
    Letzter Beitrag: 29-06-2006, 15:16

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •