Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

W jakim języku pisać strony internetowe ? Jak to funkcjonuje ?

0ceanborn 09 Jun 2012 13:54 7482 19
Nazwa.pl
  • #1
    0ceanborn
    Level 25  
    Witam wszystkich zainteresowanych.

    Opanowałem już trochę HTML - nie znam wszystkiego na pamięć.
    Pora iść dalej. Mam kilka ciekawych pomysłów, niestety do ich realizacji muszę poznać jakiś język skryptowy.
    Nie wiem w którym pójść kierunku.
    Czytałem troszkę w necie ale pewnych informacji nie da się znaleźć.
    Musiałbym przebrnąć przez tony książek.
    Próbowałem nawet zaglądać do jakiś książek i nic tam nie znalazłem
    (oprócz suchej teorii).
    Niestety ale wszystko to czego nie rozumiem jest we wszystkich książkach które wziąłem do ręki, objęte skokiem myślowym - zupełnie przemilczane.
    Czy znajdzie się ktoś kto mi wyjaśni te niezrozumiałe kwestie, uporządkuje moją wiedzę ?
    PHP choć jest bardzo popularny - korzysta z niego m.in. wikipedia, facebook, allegro, nie chcę w niego inwestować swojego czasu bo jest wolny.
    Inne języki są szybsze - np java, python...
    Moje pomysły do realizacji wymagają czegoś bardzo szybkiego.
    Więc mam kilka pytań:

    Oczywiście główny dokument - napisany jest w HTML-u.
    Na nim mogą być osadzone skrypty - bezpośrednio w tym dokumencie:
    Code: html
    Log in, to see the code
    itp
    1. Jakie języki są do wyboru ?
    Szukałem w sieci i znalazłem tylko kilka - javascript, php, i coś jeszcze.
    W pythonie nie ma nic napisane. Nawet yahoo maps które podobno ma być w pythonie - dałem pokaż źródło i wyszło javascript. Python - takiego słowa nie ma w całym dokumencie.
    Z javascript i php - szybsze ma być php ale są też inne języki.
    2. Czy jednym z tych języków (skrypt osadzony bezpośrednio w dokumencie HTML) można zrobić wszystko, a przynajmniej większość rzeczy, czy trzeba poznać każdy z nich ?
    Chodzi mi o to czy jakaś funkcja w jednym języku ma swoje odpowiedniki w pozostałych.
    3. Czy znacie jakieś strony które są napisane na pewno w pythonie ?
    4. W jaki sposób, na jakiej zasadzie pisze się strony w pythonie ?
    Czy wkleja się je bezpośrednio do dokumentu HTML, robi się odnośniki do pliku jak Frame CSS a może w inny sposób ?
    Wiem tyle, że jvm obsługuję ten język, więc można się odwołać do niej.
    5. Na http://python.kofeina.net/index.cgi/FAQ przeczytałem, że python może być zarówno prekompilowany do bytekodu jak i interpretowany.
    Czy na stronach www też można użyć interpretowanego Pythona ?
    Jeśli tak to w jaki sposób ?

    Przydatne informacje wynagrodzę przesłaniem 25-100 punktów.

    Bardzo nie chciałbym żeby to forum przekształciło się w kolejne pole zaciekłej walki o to który z cms-ów na PHP jest najlepszy.
    Będę skrupulatnie raportował każdy post nie na temat, szczególnie o PHP.
  • Nazwa.pl
  • Helpful post
    #2
    cyclone4
    Level 17  
    Javascript i PHP/Python to zupełnie inna 'warstwa'. Ten pierwszy jest interpretowany przez przeglądarkę a dwa drugie są wykonywane na serwerze. Nie zobaczysz kodu strony w PHP czy Pythonie bo oglądasz tylko wynik działania kodu.
  • Nazwa.pl
  • #3
    discharge
    Level 12  
    0ceanborn wrote:
    Witam wszystkich zainteresowanych.
    Niestety ale wszystko to czego nie rozumiem jest we wszystkich książkach które wziąłem do ręki, objęte skokiem myślowym - zupełnie przemilczane.

    Będziesz spotykał wiele takich "skoków", im dalej w las, tym więcej. Trzeba czytać i próbować. Innej rady nie ma.
    Quote:

    PHP choć jest bardzo popularny - korzysta z niego m.in. wikipedia, facebook, allegro, nie chcę w niego inwestować swojego czasu bo jest wolny.
    Inne języki są szybsze - np java, python...

    "Java" - rozumiem, że nie masz na myśli JavaScript bo PHP i Java Server Pages (JSP) działają po stronie serwera a JavaScript po stronie klienta (w przeglądarce). Co do Javy, znajdziesz darmowe śrdowiska serwerowe ale musiałbyś albo mieć własny serwer albo placić ciężkie pieniądze za hosting!
    Quote:

    Szukałem w sieci i znalazłem tylko kilka - javascript, php, i coś jeszcze.
    Z javascript i php - szybsze ma być php ale są też inne języki.

    Jak wyżej napisałem, JS a PHP to dwie różne rzeczy!
    Quote:

    2. Czy jednym z tych języków (skrypt osadzony bezpośrednio w dokumencie HTML) można zrobić wszystko, a przynajmniej większość rzeczy, czy trzeba poznać każdy z nich ?
    Chodzi mi o to czy jakaś funkcja w jednym języku ma swoje odpowiedniki w pozostałych.

    Chcesz chyba iść na skróty ale się nie da. Nie znam Pythona, Ruby, itp. Ale ja balansowałem między PHP a ASP.NET. Hostowanie tego drugiego jest kilkakrotnie droższe niż pierwszego. Ale ASP.NET bardziej mi pasuje bo (moim zdaniem) łatwiej budowac strony. Ale warunek jest taki, że i tak trzeba dobrze znać technologie (HTML, CSS, JS no i jakiś język .NET). Aby programować w PHP trzeba znać to samo z PHP zamiast języka .NET.

    Radzę nie zapalać się "na pusto" i zacząć coś pisać licząc się z porażką w świetle zasady: "jak się nie przewrócisz to się nie nauczysz". :)
  • #4
    0ceanborn
    Level 25  
    discharge wrote:
    Co do Javy, znajdziesz darmowe śrdowiska serwerowe ale musiałbyś albo mieć własny serwer albo placić ciężkie pieniądze za hosting!


    Czy aby na pewno ?
    Java może być w formie serwletów i apletów.

    discharge wrote:
    Jak wyżej napisałem, JS a PHP to dwie różne rzeczy!

    No pewnie tak jak dioda nie jest kondensatorem.
    Jednak obydwa (JS i PHP) mogą być wpisane bezpośrednio w dokument HTML i uruchomione w przeglądarce.
    To oczywiście błąd - wyjaśnienie w dalszej części.

    Proszę zobaczyć stronę http://www.agro.host-hermer.pl/index1.htm
    zakładka kupię i zobaczyć kod środkowej ramki.
    Wydaje mi się, że ten skrypt podobnie jak javascript uruchamiany jest w oknie przeglądarki po stronie klienta. Jeśli się mylę to proszę mnie poprawić.
  • #5
    discharge
    Level 12  
    0ceanborn wrote:
    discharge wrote:
    Co do Javy, znajdziesz darmowe śrdowiska serwerowe ale musiałbyś albo mieć własny serwer albo placić ciężkie pieniądze za hosting!


    Czy aby na pewno ?
    Java może być w formie serwletów i apletów.

    Miałem na myśli JSP. Oczywiście o ile przeglądarka obsługuje Javę, będziesz miał aplety lokalnie. Ale nie zobaczysz kodu źródłowego tylko IL (kod pośredni).
    Quote:

    discharge wrote:
    Jak wyżej napisałem, JS a PHP to dwie różne rzeczy!

    No pewnie tak jak dioda nie jest kondensatorem.


    Napisałeś, że "z javascript i php - szybsze ma być php ale są też inne języki."
    Jaki sens porównywania parametrów kondensatora do diody?
    Quote:


    Jednak obydwa (JS i PHP) mogą być wpisane bezpośrednio w dokument HTML i uruchomione w przeglądarce.


    Tak jak zarówno kondensator jak i dioda w jednym układzie.
    JS wykonuje się lokalnie (w przeglądarce) więc jest ładowana do niej i widzisz jej kod w podglądzie źródła strony.
    Kodu PHP nie widzisz w podglądzie źródła strony w przeglądarce bo dociera do niej tylko wynik działającego po stronie serwera kodu PHP. Np. (o ile pamiętam składnię PHP, mogę sie pomulić w składni) w pliku masz echo 'napis' (czy print('napis') a w przeglądarce masz "napis". Nie widzisz polecenia echo (czy pront). Łapiesz?
    A w JS będziesz miał widoczne polecenie.
  • #6
    0ceanborn
    Level 25  
    discharge wrote:
    JS wykonuje się lokalnie (w przeglądarce) więc jest ładowana do niej i widzisz jej kod w podglądzie źródła strony.
    Kodu PHP nie widzisz w podglądzie źródła strony w przeglądarce bo dociera do niej tylko wynik działającego po stronie serwera kodu PHP. Np. (o ile pamiętam składnię PHP, mogę sie pomulić w składni) w pliku masz echo 'napis' (czy print('napis') a w przeglądarce masz "napis". Nie widzisz polecenia echo (czy pront). Łapiesz?
    A w JS będziesz miał widoczne polecenie.


    Proszę zobaczyć stronę http://www.agro.host-hermer.pl/index1.htm
    zakładka kupię i zobaczyć kod środkowej ramki.
    Czy skrypt w php, a skrypt w javascripcie różnią się czymś od siebie ?
    Tak samo nie widać ani jednego ani drugiego polecenia chyba że klikniesz pokaż źródło ramki.
    Wtedy widać oba.
  • #7
    entermen
    Level 32  
    @0ceanborn
    Czemu twierdzisz, że PHP jest wolny?
  • Helpful post
    #8
    discharge
    Level 12  
    0ceanborn wrote:

    Tak samo nie widać ani jednego ani drugiego polecenia chyba że klikniesz pokaż źródło ramki.
    Wtedy widać oba.

    PHP widac bo jest źle zapisany. Widać nie tylko w źródle ale i na wyświetlanej stronie.
  • Helpful post
    #9
    grzemach
    Level 21  
    0ceanborn wrote:
    Czy skrypt w php, a skrypt w javascripcie różnią się czymś od siebie ?

    Potrzebujesz dużo podstaw.
    Koledzy wyżej pisali czym się różnią. Kod PHP jest wykonywany po stronie serwera a JS jest wykonywany po stronie klienta.
    W kodzie PHP możesz umieścić strony dla "zalogowanych", jeśli jednak zrobisz to w JS - każdy może obejść to zabezpieczenie.

    JSP, PHP, Ruby, phyton - są to języki do tworzenia generowania stron "w locie" i dla każdego użytkownika można przygotować zupełnie inną wersję strony - oczywiście w JS też można, ale doświadczony użytkownik w tym momencie może wywołać dowolną stronę.
    Czyli to wszystko różni się przede wszystkim bezpieczeństwem skryptów, bezpieczeństwem wyświetlanych wyników, pewnością poprawności wyświetlenia strony - jeśli PHP działa z FF to będzie działał z Chrome, IE, Opera czy Links. JS nie zadziała w Links, jak również trzeba testować każdą przeglądarkę czy każdy skrypt działa - różnie to bywa.
  • Helpful post
    #10
    arnoldziq
    Moderator of Programming
    W odpowiedzi na raport, złożony przez jednego z kolegów:
    1. Nie wiem o co chodzi z tym kodem PHP widocznym w kodzie HTML, ponieważ ja, pod podanym wcześniej linkiem nie widzę żadnego kodu PHP.
    2. Kod PHP nie ma prawa być widoczny w kodzie HTML!!! To przeczy wszelkim zasadom używania PHP. Jeżeli taki kod jest widoczny, to znaczy, że został on źle umieszczony, lub interpreter (po stronie serwera) nie rozpoznaje go jako kodu PHP i wyświetla jako zwykłą zawartość pliku HTML.
    Oczywiście mówimy tutaj o już opublikowanej stronie WWW, a nie o plikach źródłowych.
  • #11
    0ceanborn
    Level 25  
    OK coś mi się już rozjaśniło.

    Z tego co widzę jeśli chodzi o skrypty które działają po stronie klienta i są umieszczone bezpośrednio w dokumencie HTML to może być tylko javascript, VBScript.
    Czy są jeszcze jakieś inne ?
    Pytam bo coś by trzeba było wybrać na początek.

    Znacie odpowiedzi na pozostałe pytania ?
  • #12
    arnoldziq
    Moderator of Programming
    Różne języki skryptowe, mają różne zastosowania.
    Języki "przeglądarkowe"; VBS, JavaScript (jQuery), są przeznaczone do operowania stroną którą już widzisz. Mogą tak ingerować w jej kod, że zmienia ona swój wygląd, po kliknięciu gdzieś, czy po jakimś czasie itd. Ale operują tylko na tym, co zawiera sama strona, może to być częściowo lub całkowicie ukryte, ale zawsze jest czytane bezpośrednio z serwera, który stronę udostępnia.
    Drugi rodzaj języków Python, Perl, PHP itd. służą do dynamicznego generowania strony z gotowym "wypełnieniem", po stronie serwera. Co za tym idzie, pozwalają na korzystanie z baz danych, bardzo czasem skomplikowanych obliczeń, funkcji serwera itd.
    Jeżeli chcesz tworzyć strony, to wcześniej czy później musisz poznać obie warstwy.
    Poprzestając na jednej tylko, skazujesz się na pewne ograniczenia.
  • #13
    discharge
    Level 12  
    0ceanborn wrote:
    OK coś mi się już rozjaśniło.

    Z tego co widzę jeśli chodzi o skrypty które działają po stronie klienta i są umieszczone bezpośrednio w dokumencie HTML to może być tylko javascript, VBScript.
    Czy są jeszcze jakieś inne ?
    Pytam bo coś by trzeba było wybrać na początek.


    Radzę nie zapalać się polegając na gustach innych i sprobować trochę PHP i trochę ASP.NET. Jedni używają PHP, inni JSP (może generowac koszty), jeszcze inni ASP.NET. To po stronie serwera.
    Co do strony klienta właściwie króluje JS. Każda praktycznie przeglądarka go obsługuje, jest używany równo z PHP jak i ASP (nie wiem jak w JSP ale pewnie też), więc rozsądnie jest stosować JS.

    PS. Krótko mówiąc:
    1. JavaScript jak i HTML sterują zachowaniem przegąldarki (m. in. wyświetlaniem).
    2. PHP steruje zachowaniem serwera: np. odpytuje bazę danych, generuje kod HTML (lub JS) tworząc plik, który przeznaczony jest dla przeglądarki.
  • Helpful post
    #14
    Mantrador
    Level 10  
    Szczerze polecam Pythona do tworzenia serwisow internetowych.
    Podsumowujac, co trzeba znac:

    To co widac:
    - HTML - trzeba znac HTML ;)
    - JavaScrip / CSS

    To co dynamicznie wypluwa i generuje to powyzsze:
    - Python

    do pythona najlepiej wykorzystac jakis framework.
    Jesli ma byc super prosto i szybki start zalecam web2py, flask, czy django , chociaz to ostatnie to juz duzy framework i tak szybko go nie opanujesz.
  • #15
    0ceanborn
    Level 25  
    Mantrador wrote:
    To co dynamicznie wypluwa i generuje to powyzsze:
    - Python

    do pythona najlepiej wykorzystac jakis framework.


    Dzięki za pomoc. Właśnie też tak myślałem by uczyć się Pythona i serwerowego Javascriptu.

    Mógłbyś mi jakoś obrazowo wytłumaczyć jak działą python albo framework ??
    Próbowałem znaleźć odpowiedź w książkach ale tam nic nie pisze.
    Kilka stron wstępu z ogólnikami, a potem od razu zmienne, pętle.
    Nie ma nic napisane jak to się dzieje że klient po wybraniu strony www dostaje w odpowiedzi taką czy inną stronę.
  • #16
    xamrex
    Level 28  
    Ja ci powiem tak.
    Python nie jest prosty i jest dużo mniej poradników/książek dostepnych.

    Proponuję zacząć od czegoś prostszego.
    Jeśli znasz już html, to idź w kierunku PHP+MySql
  • #17
    0ceanborn
    Level 25  
    xamrex wrote:
    Python nie jest prosty i jest dużo mniej poradników/książek dostepnych.

    Różne są opinie, ja słyszałem że jest on właśnie prosty, a patrząc na kod w pythonie wydaję mi się on bardzo podobny do basica - jedynego języka w którym pisałem programy.
    xamrex wrote:

    Proponuję zacząć od czegoś prostszego.
    Jeśli znasz już html, to idź w kierunku PHP+MySql

    Tak jak pisałem w temacie nie chcę się uczyć PHP.
  • #18
    arnoldziq
    Moderator of Programming
    0ceanborn wrote:
    Różne są opinie, ja słyszałem że jest on właśnie prosty, a patrząc na kod w pythonie wydaję mi się on bardzo podobny do basica - jedynego języka w którym pisałem programy.
    Opinie są różne. Ale sugerowanie się podobieństwem do Basic-a, to (wybacz) jakaś kompletna bzdura.
    Na rzecz PHP przemawia właśnie prostota, dostępność materiałów i ilość jego użytkowników (programistów). Wystarczy w wyszukiwarce elektrody wpisać Python a potem PHP i porównać ilość wyników.
    Musisz przemyśleć także sprawę środowiska programistycznego dla Pythona. Jeżeli używasz Windows, to będzie to pewien problem, a już na pewno ograniczenie.
    0ceanborn wrote:
    Tak jak pisałem w temacie nie chcę się uczyć PHP.
    Nic takiego w "temacie" nie napisałeś, a przynajmniej ja nie mogę tego odnaleźć.
    0ceanborn wrote:
    Właśnie też tak myślałem by uczyć się Pythona i serwerowego Javascriptu.
    Skoro chcesz opanować jeden z języków "serwerowych", to po co jeszcze drugi?
    Zastanów się raczej nad HTML/JavaScript po stronie przeglądarki.
  • #19
    0ceanborn
    Level 25  
    arnoldziq wrote:
    Opinie są różne. Ale sugerowanie się podobieństwem do Basic-a, to (wybacz) jakaś kompletna bzdura.

    Ok wiem że pozory mogą mylić ale pewne podobieństwo składni to i tak zawsze coś jak na początek. Poza tym czytałem bardzo dużo pozytywnych opinii nt Pythona.
    arnoldziq wrote:
    Musisz przemyśleć także sprawę środowiska programistycznego dla Pythona. Jeżeli używasz Windows, to będzie to pewien problem, a już na pewno ograniczenie.

    Używam Linuxa, a dodatkowy czy kolejny system operacyjny na dysku to dla mnie żadna przeszkoda.
    arnoldziq wrote:
    Skoro chcesz opanować jeden z języków "serwerowych", to po co jeszcze drugi?
    Zastanów się raczej nad HTML/JavaScript po stronie przeglądarki.

    Wiem i dla tego na razie jak tylko znajdę więcej czasu, zaczynam naukę node.js a HTML i JavaScript po stronie przeglądarki to oczywiście też.
    Z czasem też chciałbym pisać programy na komputer i do tego potrzebny jest jakiś inny nowoczesny język.
  • #20
    lukasw44
    Level 2  
    Zależy czy chcesz potem coś z tego mieć, czy chcesz pisać strony i aplikacje dla satysfakcji czy pieniędzy.

    Jeśli to pierwsze to wybierasz php jeśli to drugie to jave.Z doświadczenia wiem, że wcześniej czy późniek każda aplikacja w php jak się rozrośnie jest przepisywana na jave/c#.

    Nowoczesne aplikacje, typu gmail, pisze się na usługach. Bardzo popularne jest REST. Dlatego tak naprawdę możesz zapomnieć o jsp. Jest to bardzo wygodne, frontend piszesz przy użyciu połączenia html/javascript/ + "framework_java_script" tutaj możesz zastosować kilka frameworków np. AngularJS, ExtJS, jQuery itd . Te frameworki powinny udostępniać Ci połączenie z logiką biznesową twojej aplikacji, która jest na serwerze. Owa logika to współpracujące ze sobą obiekty JAVY.

    Servlety to tak naprawdę kontrollery, przekazują wywołania ze strony www i następnie opakowywują (zazwyczaj) parametry przekazując je dalej logice. Logika wykonuje to do czego jest stworzona i zwraca wynik (jeśli trzeba) na strone. Tak to wygląda w dużym uproszczeniu.
    Zazwyczaj owa logika korzysta z różnych innych serwisów, takie jak bazadanych, serewr wyszukiwania, ftp, smtp itd.

    W zależności jak bardzo projekt jest zaawansowany, powinno się używać różnych rozwiązań:

    1) Dość prosta aplikacja, typu blog, nieskomplikowana strona www itp. Czyli aplikacja/strona typu CRUD(create , read, update ,delete).

    2) Bardziej zaawansowana logika, gdzie możliwy jest rozrost funkcjonalny. Wtedy powinno się stosować podejście DDD. Które w uproszczeniu jest metodologią wymuszającą stosowanie programowanie OOP.

    Wszystko będzie zależeć od twoich umiejętności. Programiści którzy potrafią programować w DDD zarabiają więcej niż programiści typu CRUD.