Hallo Zusammen,
ich bin z.Z. dabei mich mehr mit WEB-Development zu beschäftigen, dabei sind HTML(!) und CSS kein Problem, aber für mich stellt sich die Frage was noch wichtig ist zu wissen. JavaScript steht zur Zeit bei mir auf dem Plan.
Ich habe folgende Fragen die ich leider bis jtz nicht ausreichend beantwortet sehen konnte...
...HTML5 ist dermaßen umfangreich und ausgeprägt, dass einiges mit HTML5 möglich ist wozu vorher andere Optionen genutzt werden musste (siehte PHP), man siehe das Canvas was mit HTML5 kommt und viele andere Elemente die HTML5 zur Zukunft des Web 2.0 machen. Im Blick auf die Fragestellung "hat PHP neben HTML5 eine Zukunft?", was wäre da eine realistische Anwort?
...Mein "lieblings" Sprache Python würde ich gerne umfangreicher einsetzen, auch in Sachen Webgestalltung, aber wo positioniert sich Python in bezug zu JavaScript und PHP, sind sie austauschbar zu Python? oder wo hat sich Python in der Webgestalltung eingeordnet?
Da ich selbst noch wenig Übersicht habe, ist es für mich verwirrend und dort wo ich bis jtz nachgeforscht habe wurden die Unterschiede, Gemeinsamkeiten, Anwendungsgebiete, Verhalten zu einander, nicht herausgearbeitet. Ich möchte mit Python auch an Webseiten arbeiten, kann ich es wie JS nutzen, oder ist es sowas wie PHP?
Sollte ich da was nicht richtig gefragt haben, werde ich mich gerne klarer ausdrücken, sollte es nötig sein.
MfG
P.
Ich spreche Internet...aber was genau? (Python zu JS, PHP)
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Dir fehlt irgend wie der komplette Background, was die essenziellen Webtechnologien und -protokolle anbelangt. Das kann man imho sehr einfach durch wikipedia / google selber recherchieren (wenn man sich die Mühe macht).
Machen wir es kurz und "lügen" ein wenig:
JavaScript -> Client (embedded im Webbrowser)
Python, PHP, *whatever* -> Server
Python hat im Webbereich also praktisch die gleiche Rolle wie PHP.
Vielleicht ist es am einfachsten, wenn Du Dir mal ein Web-Framework anguckst. Flask oder Bottle böten sich für einen schnellen Einblick an.
JS wird z.B. für Dinge wie AJAX gebraucht; also Logik, die Client seitig durchgeführt werden soll.
Weiterführendes kannst Du auch in unserem Wiki finden: wiki.python.de.
Machen wir es kurz und "lügen" ein wenig:
JavaScript -> Client (embedded im Webbrowser)
Python, PHP, *whatever* -> Server
Python hat im Webbereich also praktisch die gleiche Rolle wie PHP.
Vielleicht ist es am einfachsten, wenn Du Dir mal ein Web-Framework anguckst. Flask oder Bottle böten sich für einen schnellen Einblick an.
JS wird z.B. für Dinge wie AJAX gebraucht; also Logik, die Client seitig durchgeführt werden soll.
Weiterführendes kannst Du auch in unserem Wiki finden: wiki.python.de.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Naja, das ist so ein wenig wie Fragen ob Windows zu Zeiten von HTML noch Zukunft hat. Sind ganz verschiedene Sachen. Meist wird HTML am Server mittels PHP oder Python oder What-have-you generiert und dann im Browser dargestellt, mittels HTML und CSS.Faerelis hat geschrieben:...HTML5 ist dermaßen umfangreich und ausgeprägt, dass einiges mit HTML5 möglich ist wozu vorher andere Optionen genutzt werden musste (siehte PHP), man siehe das Canvas was mit HTML5 kommt und viele andere Elemente die HTML5 zur Zukunft des Web 2.0 machen. Im Blick auf die Fragestellung "hat PHP neben HTML5 eine Zukunft?", was wäre da eine realistische Anwort?
Natürlich kann man die ganze Seite auch in JS und HTML realisieren, ein wenig so wie GMail das macht, aber um irgendwelchen Code der Serverseitig läuft wirst du nicht herumkommen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Danke für die schnelle Antwort. Wie bereits angedeutet bin ich relative neu, von daher ergeben sich manchmal solche Grundsatzfragen.
JS = Client, Python etc. Server, klar; Aber mich wundert auch der Zusammenhang... JS ist eine Scriptsprache wie Python und hat Objekte, Strings, Prozeduren etc. wie Python, also einen (für meine Sicht) ähnlichen/gleichen Aufbau, warum ist dann nur JS auf ClientSeite nutzbar? Wenn ich mir das so ansehe, dürfte es doch auch möglich sein ganze Programme mit JS zu schreiben, so lange diese nicht auf den NutzerRechner zugreifen.
((Ich werde hier keine speziellen Fragen stellen, wie mache ich dies oder jenes, aber es werden nur immer solche speziellen Fragen beantwortet wenn ich irgendwo nachschaue. Möchte ich aber solche Fragen beantwortet haben (wie oben) dann bekomme ich Antworten "arbeite dich ein" oder "das ist schwer zu erklären". ))
JS = Client, Python etc. Server, klar; Aber mich wundert auch der Zusammenhang... JS ist eine Scriptsprache wie Python und hat Objekte, Strings, Prozeduren etc. wie Python, also einen (für meine Sicht) ähnlichen/gleichen Aufbau, warum ist dann nur JS auf ClientSeite nutzbar? Wenn ich mir das so ansehe, dürfte es doch auch möglich sein ganze Programme mit JS zu schreiben, so lange diese nicht auf den NutzerRechner zugreifen.
((Ich werde hier keine speziellen Fragen stellen, wie mache ich dies oder jenes, aber es werden nur immer solche speziellen Fragen beantwortet wenn ich irgendwo nachschaue. Möchte ich aber solche Fragen beantwortet haben (wie oben) dann bekomme ich Antworten "arbeite dich ein" oder "das ist schwer zu erklären". ))
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Naja, JS ist eben von Haus aus Sandboxed - Python nicht. Natürlich könnte man in einen Browser auch Python als Scriptsprache anbieten - gibt / gab dazu doch auch schon Ansätze.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Das siehst du ganz richtig. Essentiell sind Python und JavaScript nicht so unterschiedlich. In den Details natürlich unglaublich verschieden, aber das ist natürlich an dieser Stelle nicht relevant.Faerelis hat geschrieben:JS = Client, Python etc. Server, klar; Aber mich wundert auch der Zusammenhang... JS ist eine Scriptsprache wie Python und hat Objekte, Strings, Prozeduren etc. wie Python, also einen (für meine Sicht) ähnlichen/gleichen Aufbau,
Da hast du ungenau formuliert, weil man kann das zweierlei auslegen (und wenn ich Hyperions und webspiders Posts anschaue, dann wird das auch so gemacht): "Warum ist nur JS auf Client-Seite nutzbar" oder "Warum ist JS nur auf Client-Seite" nutzbar.Faerelis hat geschrieben:warum ist dann nur JS auf ClientSeite nutzbar? Wenn ich mir das so ansehe, dürfte es doch auch möglich sein ganze Programme mit JS zu schreiben, so lange diese nicht auf den NutzerRechner zugreifen.
Um die erste Formulierung zu beantworten: Weil Browser in der Regel nur Interpreter für JavaScript haben. Es gibt etwa Forks wie Dartium, die neben JavaScript auch Dart verstehen, aber sogar die Entwickler raten vom Einsatz als ´Pprimärbrowser ab, weil das eher eine Tech-Demo ist und kein fertiges Produkt. Nun, natürlich kann man auch Sprachen zu JavaScript kompilieren, wie Beispielsweise CoffeeScript oder ClojureScript machen. Eine durchaus beachtliche Liste solcher Lösungen findes du im CoffeeScript-Wiki.
Um die zweite Formulierung zu beantworten: Ist es nicht. Es spricht nichts dagegen JavaScript auch auf Server-Seite auszuführen. Die bekannteste Lösung dazu ist zurzeit Node.js, wovon ich aber nur mäßig begeistert bin. Daneben gibt es noch zig weitere Implementationen wie RingoJS etc.
Wo? Hier werden auch allgemeine Fragen oftmals durchaus umfangreich beantwortet.Faerelis hat geschrieben:Möchte ich aber solche Fragen beantwortet haben (wie oben) dann bekomme ich Antworten "arbeite dich ein" oder "das ist schwer zu erklären".
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Ok, danke an alle, das hilft meinem Verständnis schon weiter.
Im Grund liegt es also nur den Interpretern, wenn in den gängigen Browser, z.B. ein Python, Interpreter eingebaut wäre, könnte man, aufgrund der erweiterten Möglichkeiten Pythons, auf sensible Daten auf dem Nutzerbrowser zugreifen und sich die dollsten Sachen ausdenken? na das wäre ja ein Hackerparadis
Im Grund liegt es also nur den Interpretern, wenn in den gängigen Browser, z.B. ein Python, Interpreter eingebaut wäre, könnte man, aufgrund der erweiterten Möglichkeiten Pythons, auf sensible Daten auf dem Nutzerbrowser zugreifen und sich die dollsten Sachen ausdenken? na das wäre ja ein Hackerparadis
Sandboxing, kennst du es?
Irgendwie werde ich den Eindruck nicht los Leute sollten sich besser zumindest elementare Programmierkenntnisse zulegen bevor sie anfangen über "Hacker" zu reden. Der Hinweis sich einzulesen kommt ja nicht von ungefähr.
Irgendwie werde ich den Eindruck nicht los Leute sollten sich besser zumindest elementare Programmierkenntnisse zulegen bevor sie anfangen über "Hacker" zu reden. Der Hinweis sich einzulesen kommt ja nicht von ungefähr.
- Sr4l
- User
- Beiträge: 1091
- Registriert: Donnerstag 28. Dezember 2006, 20:02
- Wohnort: Kassel
- Kontaktdaten:
... könnte man Python im Browser nutzen, kann man aber nicht, weil alle großen Browser sich zur Zeit auf JavaScript beschränken. Theoretisch könnten sie jede Sprache unterstützen.Faerelis hat geschrieben:Im Grund liegt es also nur den Interpretern, wenn in den gängigen Browser, z.B. ein Python, Interpreter eingebaut wäre, könnte man ...
Nein, wenn Browser Python unterstützen würden, dann würde die sich darum kümmern das man damit keinen Schaden anrichten kann, ist bei JS nicht anders.Faerelis hat geschrieben:... z.B. ein Python, Interpreter eingebaut wäre, könnte man, aufgrund der erweiterten Möglichkeiten Pythons, auf sensible Daten auf dem Nutzerbrowser zugreifen und sich die dollsten Sachen ausdenken? na das wäre ja ein Hackerparadis
Das "Hackerparadis" gibt es doch schon durch die Browser Plugins, also durch Java, Flash und Co.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Dann wäre es aber kein "Python" mehr, sondern eine Sprache, die eine Untermenge von Python darstellte Sicherlich kommt es hier auf die Art und Weise an, wie man Python definiert. Ich sehe die Standardlib als essenziellen Bestandteil an - und der beinhaltet ja zig IO-Funktionalität.Sr4l hat geschrieben: Nein, wenn Browser Python unterstützen würden, dann würde die sich darum kümmern das man damit keinen Schaden anrichten kann, ist bei JS nicht anders.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
@Hyperion: du hast da eine komische Definition von "Untermenge einer Sprache". Die standardlib ist da sicher nur sehr beschraenkt bis gar nicht ausschlaggebend in allen anderen Kontexten von "Untermenge einer Sprache".
Selbstverstaendlich wuerde ein Browser-Python sowas wie itertools beinhalten. Aber ich halte os.path zB nicht fuer Teil des Sprachumfangs von Python...
Selbstverstaendlich wuerde ein Browser-Python sowas wie itertools beinhalten. Aber ich halte os.path zB nicht fuer Teil des Sprachumfangs von Python...
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Und wo würdest Du da eine (sinnvolle) Grenze ziehen?deets hat geschrieben: Selbstverstaendlich wuerde ein Browser-Python sowas wie itertools beinhalten. Aber ich halte os.path zB nicht fuer Teil des Sprachumfangs von Python...
Es mag natürlich immer auf den Kontext drauf ankommen, aber wenn ich irgend wo lese, dass ein Programm Python als Scriptsprache anbietet, dann würde ich erwarten, dass ich damit alles machen kann, was ein Stand-alone Python mir auch bietet. Aber vielleicht sehe ich das ja wirklich anders als die "Mehrheit"
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Es geht um die *Semantik* einer Programmiersprache. Die haengt nunmal nicht von Bibliotheken ab. ueblicherweise. ausser irgendwelchen sprach-internen Funktionen benoetigen die. Das waere dann aber sicher auch nix das Sandbox-relevant waere. *Ausser* jemand entwickelt eine Sprache mit eingebauten File-Operatoren oder sowas.
@Hyperion: Nach der Definition kann kein Browser Java.
Den Sprachumfang inklusive Standardbibliothek könnte man im Browser ja zur Verfügung stellen. Es ist halt nur der Sandkasten, der die Verwendbarkeit einschränkt. Wenn Du ein normales Python in einer jail-/chroot Umgebung ausführst, wo Python weder Schreibberichtigung auf dem Dateisystem hat, noch die Erlaubnis Sockets zu öffnen, ist das doch auch noch Python und nicht plötzlich eine Untermenge der Sprache.
Zumal im Browser schreiben auf Dateien innerhalb und lokal zum Sandkasten und öffnen von Sockets mit einer „same origin policy” ja durchaus möglich sein könnten.
Den Sprachumfang inklusive Standardbibliothek könnte man im Browser ja zur Verfügung stellen. Es ist halt nur der Sandkasten, der die Verwendbarkeit einschränkt. Wenn Du ein normales Python in einer jail-/chroot Umgebung ausführst, wo Python weder Schreibberichtigung auf dem Dateisystem hat, noch die Erlaubnis Sockets zu öffnen, ist das doch auch noch Python und nicht plötzlich eine Untermenge der Sprache.
Zumal im Browser schreiben auf Dateien innerhalb und lokal zum Sandkasten und öffnen von Sockets mit einer „same origin policy” ja durchaus möglich sein könnten.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Ok, ich sehe ein, dass ich da wohl die Lage falsch beurteilt habe.
@deets: Stimmt, die Semantik (und Syntax) prägen eine Sprache. Ansonsten könnte man ja sogar nicht von "JavaScript" sprechen, da ja letztlich jede Integration in ein Programm besondere Funktionalität zugänglich macht (JS im Browser != JS in Plasma / Qt). Da habe ich mich wohl verrannt.
@deets: Stimmt, die Semantik (und Syntax) prägen eine Sprache. Ansonsten könnte man ja sogar nicht von "JavaScript" sprechen, da ja letztlich jede Integration in ein Programm besondere Funktionalität zugänglich macht (JS im Browser != JS in Plasma / Qt). Da habe ich mich wohl verrannt.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Das finde ich interessant; Wenn man ein Interpreter in einen Browser einbaut und diesem Interpreter, seitens des Browsers, nur beschränkte Rechte gibt, dann kann doch der Sprachumfang ja größer sein, als man durch beschränkte Rechte letztendlich nutzen kann. Von daher wäre es doch egal ob Browser verschiedenste Interpreter implementiert haben...oder wäre dann der Browser so weit manipulierbar, dass man diese beschränkten Rechte umgehen kann? Daraus wäre dann ja geschlossen, dass man dann keine zusätzlichen Interpreter implementiert.BlackJack hat geschrieben:...Wenn Du ein normales Python in einer jail-/chroot Umgebung ausführst, wo Python weder Schreibberichtigung auf dem Dateisystem hat, noch die Erlaubnis Sockets zu öffnen...
ps: dies sind Fragen eines Wenigbewanderten, ich bitte um Nachsicht
pps: SolitaryMan; jtz haben wir alle gesehen, wo du mich überall gefunden hast, danke
ppps: ich weiss was Hacker und was Hacker sind, aber Reden und Reden sind zwei Sache...
Es ist so: wenn die Sprache es erlaubt, dass zB Maschinen-Code generiert wird (explizit, oder durch Ausnutzung von Luecken in zB JIT-Implementationen), dann gibt es nur ein Mittel, um eine Sprache einzufangen: Sandboxen, wie zB Chrome sie implementiert. Wenn die Bug-frei sind, dann kann die Sprache versuchen was sie will, sie wird nicht rauskommen.
Python ist zwar von der Sprache selbst her ziemlich sicher, d.h. wenn man alle System-nahen Module abklemmt, dann ist man da recht sicher. Aber sie ist nicht mit dem Ziel geschrieben worden eine sichere Sprache zu sein.
Insofern muesste man sie eben einsperren, wie Chrome das ja auch tut.
Aber das alles ist theoretisches Geschwaetz - auf Browsern ist im Moment JS verfuegbar. Punkt. Mittels Plugins koennte man auch Python verfuegbar machen, aber das ist nicht wirklich realistisch. Bliebe noch sowas wie die Chrome Pepper API - aber dann ist man halt auf 30% des Browsermarktes beschraenkt.
Python ist zwar von der Sprache selbst her ziemlich sicher, d.h. wenn man alle System-nahen Module abklemmt, dann ist man da recht sicher. Aber sie ist nicht mit dem Ziel geschrieben worden eine sichere Sprache zu sein.
Insofern muesste man sie eben einsperren, wie Chrome das ja auch tut.
Aber das alles ist theoretisches Geschwaetz - auf Browsern ist im Moment JS verfuegbar. Punkt. Mittels Plugins koennte man auch Python verfuegbar machen, aber das ist nicht wirklich realistisch. Bliebe noch sowas wie die Chrome Pepper API - aber dann ist man halt auf 30% des Browsermarktes beschraenkt.