ZFX
ZFX Neu
Home
Community
Neueste Posts
Chat
FAQ
IOTW
Tutorials
Bücher
zfxCON
ZFXCE
Mathlib
ASSIMP
NES
Wir über uns
Impressum
Regeln
Suchen
Mitgliederliste
Membername:
Passwort:
Besucher:
4442150
Jetzt (Chat):
14 (0)
Mitglieder:
5239
Themen:
24223
Nachrichten:
234554
Neuestes Mitglied:
-insane-

ZFX
Coding-Foren
Sourcecode-Probleme
Re: Netter "problemfall" ... aufgabengebiet nicht abgedeckt..
Normal
AutorThema
rOots Offline
ZFX'ler


Registriert seit:
05.10.2007

Deutschland
123332248
Netter "problemfall" ... aufgabengebiet nicht abgedeckt..Nach oben.
Tag zusammen,
der Titel mag etwas irreführend sein, wusste mich nicht anders zu artikulieren

Nun ich hab folgendes Problem, obwohl es weniger eines ist. Und ich weiss auch nicht obs hierhin gehört, aber entwicklung is entwicklung ^^ und vielleicht kann mans mit c++ realisieren ..

Nun folgende umstände brachten mich auf den Gedanken:

Es geht um PHP&MySQL und interaktivität.
Ich sollte für jemand ein Formular erstellen, vielmehr ne reihe von Formularen.
Die Felder sollen sich nach einander je nachdem was man beim vorherigen anklickt/eingibt, mit Daten aus ner Datenbank (bei mir noch plainfiles)
füllen.

Schön und gut, dacht ich mir, mit PHP ist das sicher einfach ... 2 Stunden später war ich völlig anderer Meinung^^ ... Die Ausgabe von nem PHP-Dokument ist ja immer schon "verarbeitet" wenn der User das ergebnis im web sieht. Und ohne erneutes senden (post/get/...) und neu laden der Seite(ist das was mich stört) bekommt man auch keine neuen Daten von PHP.

Da dacht ich mir, gut, bauste eben bisel javascript mit onchange und so nen script aufrufen welches dann beim klicken eines eintrages eben die andern Felder befüllt. 2 Stunden später war ich anderer Meinung -> Javascript kann, wenn es so ziemlich alle gängigen browser unterstützen soll, nicht wirklich MySQL oder auf Dateien die auf dem Server liegen zugreifen (is ja clientside).

Da bin ich dann auf Ajax gestoßen welches auch recht nett ist, und für diese kleines Aufgabe gereicht hat, nur ist es ziemlich umständlich und man hat auch nicht grade viel Spielraum was die rückgabe der daten vom php-script an ajax angeht um mit variablen zu jonglieren - sofern man nicht willig ist nen kleineren xml-parser für das auswerten des responses zu schreiben.


Soviel zur Vorgeschichte, hoffe ihr versteht worum es mir geht.
Nun meine Frage/ mein Denkanstoß ... in wie fern wäre es möglich die tollen sachen aus javascript (interaktivität) mit den starken datenverarbeitungsmöglichkeiten von php&mysql zu kombinieren in einer neuen kleinen Sprache? Oder ein modul für Apache/webserver-xyz.

Habe mir das so vorgestellt
-> User fragt Seite an
-> Code (welcher als "load on call" definiert wurde) abarbeiten, wie ein gewöhnliches PHP-Script.
-> Code ausführen welcher auf usereingaben reagiert, und im hintergrund neue daten anfordert/das aussehen der Seite verändert (im code als ne art "gameloop" aufgebaut .. so lange durchlaufend bis der user "exit" drückt ähnlich einem spiel^^)

Das sowas auch so schon machbar ist, weiss ich, mit Ajax/Javascript/PHP, .... aber das is dann doch eher ein gewurschtel und gehacke .. wäre doch schöner wenn man das alles in einer "API" zur verfügung hätte.


Erzählt mal was ihr davon haltet, was ihr so für erfahrungen habt etc
/discuss
mfg r00ts
14.02.2009, 16:55:23 Uhr
ONeinONeill Offline
ZFX'ler


Registriert seit:
27.02.2002

Deutschland
Re: Netter "problemfall" ... aufgabengebiet nicht abgedeckt..Nach oben.
Schmeiss ich mal Java in den Raum! :P
14.02.2009, 21:46:30 Uhr
rOots Offline
ZFX'ler


Registriert seit:
05.10.2007

Deutschland
123332248
Re: Netter "problemfall" ... aufgabengebiet nicht abgedeckt..Nach oben.
Das zählt nicht
Das ganze soll schmal auf webseiten integrierbar sein wie php oder javascript an sich allein.
15.02.2009, 02:07:09 Uhr
atr_23 Offline
Artwork-Berater


Registriert seit:
16.10.2002

Niedersachsen
107316684
Re: Netter Nach oben.
moin
mit ajax ist das doch möglich und einfach noch dazu ... es gibt doch tausende frameworks die dafür gemacht sind ... für was eigenes bräuchtest du nen clientseitigen interpreter usw. das wäre overkill ...

http://www.dojotoolkit.org/
http://labs.adobe.com/technologies/spry/
http://jquery.com/

naja gibt bestimmt noch viel mehr...
für php gibts bestimmt auch schon mehrere libraries die das direkt einbinden wie jmaki...

Auf bald
atr_23

2 Mal gendert, zuletzt am 15.02.2009, 05:04:37 Uhr von atr_23.
15.02.2009, 05:00:36 Uhr
Vault 23
rOots Offline
ZFX'ler


Registriert seit:
05.10.2007

Deutschland
123332248
Re: Netter "problemfall" ... aufgabengebiet nicht abgedeckt..Nach oben.
omfg....sry, aber es geht darum hier zu diskutieren was nötig wäre, wie man rangehen kann, wie das laufen könnte wenn man dazu nen eigenes apachemodul erstellen würde. .. das hier hat nix damit zu tun was ich brauche oder nicht, es ist ne diskussion..
15.02.2009, 10:59:19 Uhr
Löwe Offline
ZFX'ler


Registriert seit:
29.09.2003

Nordrhein-Westfalen
Re: Netter "problemfall" ... aufgabengebiet nicht abgedeckt..Nach oben.
öh ... dass das ne diskussion und keine problemlösung sein soll, hab ich bis gerade auch nicht verstanden. vllt hättest du das etwas deutlicher formulieren können.

aber gut, thema klingt interessant, ich werd weiter mitlesen

mfg
Löwe
15.02.2009, 18:07:19 Uhr
atr_23 Offline
Artwork-Berater


Registriert seit:
16.10.2002

Niedersachsen
107316684
Re: Netter Nach oben.
jo hab das kleine "/diskuss" am ende auch irgendwie übersehen.

Zitat:
-> Code ausführen welcher auf usereingaben reagiert, und im hintergrund neue daten anfordert/das aussehen der Seite verändert (im code als ne art "gameloop" aufgebaut .. so lange durchlaufend bis der user "exit" drückt ähnlich einem spiel^^)

omg du willst anwendungen mit einer gameloop programmieren? wenn bitte eine ebene höher und gleich eventhandler benutzen.

Zitat:
-> User fragt Seite an
-> Code (welcher als "load on call" definiert wurde) abarbeiten, wie ein gewöhnliches PHP-Script.
-> Code ausführen welcher auf usereingaben reagiert, und im hintergrund neue daten anfordert/das aussehen der Seite verändert

beschreibt genau das, wie man javascript und php bzw. ajax benutzt.

es ist sicherlich sinnvoll genauso etwas zu haben. und es gibt es ja auch schon. auch als funktionierende apis

Dein vorschlag ein apache modul zu entwickeln, verstehe ich nicht, weil apache module serverseitig sind und du vor allem clientseitig für datenabfrage probleme siehst.

Wenn man eine solche API Programmieren möchte, sollte man folgende Komponenten entwickeln.

Code:
ServerVM    <-Daten-Austausch-Standard->     ClientVM
[z.B. php]   [z.B. HTTP]                   [z.b. Javascript]


Wenn man ein Apache-Modul entwickeln will, dann würde ich das Modul als Schnittstelle zur ServerVM entwickeln.
Da JavaScript leider nicht wirklich gut Datenaustausch-Protokolle unterstützt, wäre das wohl der Punkt, wo man ansetzen und verbessern sollte. Da sich JavaScript als Standard für im Browser integrierte VMs durchgesetzt hat, sollte man, wenn man wirklich die, von dir als umständlich kritisierte, Programmierbarkeit verbessern wollen würde, genau diese VM verbessern oder ein Modul dafür entwickeln.

Wenn man Server und Client Vm in einer Sprache füttern können möchte, kann man entweder auf Java oder so zurückgreifen oder eine eigene VM entwickeln, die für Server und Client Programmierung nützlich ist.

Module für JavaScript, die wirklich neue features integrieren und nicht nur den programmiertechnischen Zugriff auf die features verbessern, könnte man bspw. als ActiveX, vielleicht auch Flash oder Java Komponenten entwickeln.

Mich persönlich stört bei Webentwicklung mit starkem clientseitigen Funktionen genauso wie dich die Unzulänglichkeit von JavaScript und dessen Verwendung mit unterschiedlichen Browsern. Die in meinen Augen vielversprechenste Lösung sind dabei Ansätze wie Visual Web Java Server Faces. Man hat da dann einen Oberflächendesigner wie in Visual Studio und baut sich eine Anwendung aus Komponenten zusammen. Die einzelnen Komponenten werden einer erweiterbaren Komponentenbibliothek entnommen. Welcher Teil der Anwendung nun Serverseitig und welcher Clientseitig ausgeführt wird, wird in den Komponenten verankert und ein Entwickler muss nur noch die Events der Komponenten füllen.
Die Übertragung von angenehmen Dingen der Welt der Desktop-Anwendungsentwicklung auf Webapplikationsentwicklung finde ich sehr gut

(und noch ein) Edit:
http://de.wikipedia.org/wiki/Liste_von_Webframeworks
für eine kleine Liste mit Projekten, die genau "dein" Problem der Server/Client Programmierung in Web Anwendungen versuchen zu erleichtern.

Liebe Grüße
atr_23

PS: falls dir das als Erörterung nicht reicht und du mehr Diskussion sehen willst, würde ich dich bitten nochmal genau aufzuführen was diskutiert werden soll.


7 Mal gendert, zuletzt am 15.02.2009, 20:02:13 Uhr von atr_23.
15.02.2009, 19:41:54 Uhr
Vault 23
NytroX Offline
ZFX'ler


Registriert seit:
03.10.2003

Baden-Württemberg
Re: Netter "problemfall" ... aufgabengebiet nicht abgedeckt..Nach oben.
Also für das problem mit den Formularen nehme ich immer mehrere, ich nenne sie mal, "screens".
Also einfach das erste Formular, wo der User was auswählt, und unten einen "Weiter"-Button.
Dann zieht sich die Applikation das nötige Zeugs aus der Datenbank und zeigt den nächsten Schritt... also quasi eine Art "Wizard".
Das hat bisher bei fast allen Problemstellungen geklappt und braucht nur PHP.
20.02.2009, 22:28:17 Uhr
Akustikkoppler Offline
ZFX'ler


Registriert seit:
06.11.2006

Hessen
276881609
Re: Netter Nach oben.
Denke AJAX ist genau das was du suchst und sollte auch relativ einfach zu implementieren sein.

Weiß jetzt nicht genau, wie deine Seite aussieht, aber ich denke du hast eine
mit
verschiedenen eingabe möglichkeiten drinne: RadioButton, ComboBox, CheckBox, usw...

Diese sollten jetzt alle einen onchange-Handler haben die eine Javascript-Funktion aufruft.
Der Funktion kannst du jetzt die einzelnen States der per Parameter übergeben
oder du holst sie dir in der Funktion per getElementById("id").value und schickst diese
States dann per post an eine PHP-Funktion die, die States auswertet und die
per echo neu schreibt.

Das Ergebnis empfängst du dann in deiner Javascript-Funktion wieder und packst sie
per innerHTML wieder in deine .

Könnte ungefähr so aussehen:

Code:
//=============================================
// HTML - index.html
//=============================================


   
   



//=============================================
// Javascript - updateForm.js
//=============================================

function createRequestObject() {
   var ro;
   var browser = navigator.appName;
   if(browser == \"Microsoft Internet Explorer\"){
      ro = new ActiveXObject(\"Microsoft.XMLHTTP\");
   }else{
      ro = new XMLHttpRequest();
   }
   return ro;
}

function UpdateForm()
{
   var combo01 = document.getElementById('ComboBox01').value;

   var http = createRequestObject();    
   http.onreadystatechange = function() {
      if ((http.readyState == 4) && (http.status == 200)) {
         document.getElementById('BeispielForm').innerHTML = http.responseText;
      }
   };

   http.open('post', 'updateForm.php');
   http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
   http.send('combo01=' + escape(combo01));
}

//=============================================
// PHP - updateForm.php
//=============================================

   $combo01 = $_POST['combo01'];

   echo \"\";
   echo \"\n\";


Ist jetzt nur ein Beispiel wie es aussehen könnte und ich kann dir auch nicht garantieren das es 100% korrekt ist,
habs jetzt nur schnell aus dem Kopf zusammen gebastelt, aber ungefähr so würde ich das machen.
Müsstest du halt noch für deine zwecke erweitern.

Gruß
Akustikkoppler

1 Mal gendert, zuletzt am 21.02.2009, 03:49:21 Uhr von Akustikkoppler.
21.02.2009, 03:48:04 Uhr
klickverbot Offline
ZFX'ler


Registriert seit:
24.08.2008

Österreich
Re: Netter "problemfall" ... aufgabengebiet nicht abgedeckt..Nach oben.
Es gibbt auch zahlreiche JavaScript-Libraries, die dir unter anderem den Umgang mit AJAX erleichtern, z.B. Prototype.
21.02.2009, 10:04:18 Uhr
rOots Offline
ZFX'ler


Registriert seit:
05.10.2007

Deutschland
123332248
Re: Netter "problemfall" ... aufgabengebiet nicht abgedeckt..Nach oben.
....nehmt das jetzt nicht persönlich, aber lesen könnt ihr 3 letzten?

Ich kann sehr gut mit Ajax umgehen, auch weiss ich das es relativ einfach ist wenn man mehrere Formularseiten baut, nur Fakt ist: Es geht hier NICHT um ein konkreten Problemfall sondern um ne diskussion über einen NEUEN Lösungsweg für so etwas ..... seid ihr Programmierer damit ihr immer fertige Lösungen nehmt? Ich jedenfalls hab mich dem Programmieren mal hingegeben um initiativ und innovativ meine eigenen Vorstellungen und Fantasien zum leben zu erwecken (mal etwas hart ausgedrückt^^)


Dieser thread soll anlass zur Diskussion sein, über Lösungsansätze wie man sowas "revolutionieren" kann. Wie gesagt, ich kann SEHR gut mit javascript/ajax im Zusammenhang mit PHP etc umgehen und meine Projekte damit realisieren, nur WILL ich das nicht. Verstehts das? Danke

Denke aber das Forum hier ist das falsche um über solche Dinge zu diskustieren, schade.
24.02.2009, 07:54:20 Uhr
odenter Offline
ZFX'ler


Registriert seit:
13.12.2002

Bremen
Re: Netter "problemfall" ... aufgabengebiet nicht abgedeckt..Nach oben.
Also genau für dieses Problem gibt es eine Lösung schon seit x Jahren, JavaScript, Ajax ist ja nur ne Neuauflage eines alten Konzeptes.

Wenn man neugierig ist, kann man sich ja nen neuen Weg bauen um mal zu wissen was da genau abläuft im Hintergrund. Wenn man aber was fertig machen will, dann macht es keinen Sinn das Rad immer wieder neu zu erfinden.
24.02.2009, 09:55:22 Uhr
rOots Offline
ZFX'ler


Registriert seit:
05.10.2007

Deutschland
123332248
Re: Netter "problemfall" ... aufgabengebiet nicht abgedeckt..Nach oben.
Zitat von odenter:
Also genau für dieses Problem gibt es eine Lösung schon seit x Jahren, JavaScript, Ajax ist ja nur ne Neuauflage eines alten Konzeptes.

Wenn man neugierig ist, kann man sich ja nen neuen Weg bauen um mal zu wissen was da genau abläuft im Hintergrund. Wenn man aber was fertig machen will, dann macht es keinen Sinn das Rad immer wieder neu zu erfinden.


Es ist keine fertige Lösung da es ein mix mehrerer Sprachen ist. Für mich ist es auch keine fertige Lösung wenn ein Framework diesen Mix kapselt.
Eine fertige Lösung wäre z.B ne neue Sprache. Sehts ein, das sind bis jetzt nur notlösungen weils anders bis jetzt nicht ging.
24.02.2009, 18:33:36 Uhr
dv Offline
ZFX'ler


Registriert seit:
15.09.2002

Österreich
89159988
Re: Netter "problemfall" ... aufgabengebiet nicht abgedeckt..Nach oben.
Gegen mehrere Sprachen spricht nix. Das ist sogar eine Stärke; die Kopplung zwischen Front- und Backend ist nicht sehr stark, was u.a. triviales Austauschen vom View und vom Datenmodell erlaubt. Eine Sprache für all das ist eher unsinnig, weil die Problemdomänen verschieden sind. Eine reflektive Sprache wie Javascript ist für lokale, nicht so rechenintensive Tätigkeiten ideal. Auf der Serverseite kann man die Stärken anderer Sprachen ausnutzen, die "starrer" sein können.

Das echte Problem bei AJAX ist das HTML-Modell. HTML ist für Anwendungsfrontends nicht geschaffen, was man in der Misshandlung von div-Tags usw. sieht. Auch sind Nachrichten vom Server zum Client nur über Hacks wie Long Polling, Comet usw möglich. HTML 5 wird da einiges verbessern, aber das grundsätzliche Schema eines Browsers ist hier falsch (was soll man in einer Anwendung mit einem "Back"-Button zB?).

Es gibt andere Ansätze: XUL, XAML, Flash, Silverlight, Adobe AIR. Flash/Silverlight sind nicht primär für sowas gemacht, die anderen drei aber sehr wohl. Das wirkt sich auch auf die Codegröße und Übersicht aus.
24.02.2009, 20:57:40 Uhr
0xdeadbeef
Normal


ZFX Community Software, Version 0.9.1
Copyright 2002-2003 by Steffen Engel