JustPaste.it

Języki programowania stron internetowych

Języki programowania internetu umożliwiają tworzenie "serwisów internetowych" - oprogramowania do użytku przez wiele osób naraz, z koordynacją realizacji celów

Języki programowania internetu umożliwiają tworzenie "serwisów internetowych" - oprogramowania do użytku przez wiele osób naraz, z koordynacją realizacji celów

 

c0dfd982445f6edd5254a19f678c3b51.jpgWynalazek stron internetowych u początku lat dziewięćdziesiątych XX wieku spowodował rewolucję, w której przeglądarka internetowa stała się głównym narzędziem komunikacji w internecie. Co prawda programy pocztowe nie dały się "wygryźć" i po dziś dzień wiele z nich działa niezależnie od przeglądarek, ale też prawie każdy serwer pocztowy daje dostęp przez przeglądarkę internetową jako alternatywną formę odbierania i wysyłania poczty. Jest też wiele gier "pudełkowych", które pozwalają kontaktować się z serwerem lub innymi graczami bez pomocy przeglądarki. Ale jest też coraz więcej gier przeglądarkowych, które już niebawem nie będą wymagały nawet wgrywania dodatków. Pojawiły się czytniki RSS, które działają bez pomocy przeglądarek, ale jest też coraz więcej z nimi związanych. Jest też wiele komunikatorów "omijających" przeglądarki. Natomiast zupełną rewolucją są przeglądarkowe komputery, w których przeglądarka wypełnia cały ekran nie dając dostępu do funkcji systemu operacyjnego niezależnych od internetu. Wszystkie programy użytkowe muszą na takim komputerze być programowane w technologiach programowania stron internetowych.

Programowanie stron internetowych nie jest tak proste jak to niekiedy się przedstawia. Wymaga znajomości co najmniej kilku języków programowania(opisu strony). Sztandarowym językiem jest HTML, do którego w wielu szkołach usiłuje się sprowadzić tworzenie stron internetowych. Tymczasem HTML należałoby traktować nie jako język programowania ale pewien alfabet, w którym oprogramowanie przemawia do przeglądarki każąc jej wyświetlać określone treści.  Można przeprowadzić eksperyment, w którym zwykły tekst zapisany w pliku (raczej z użyciem Notatnika niż Worda) otworzymy korzystając z menu plik przeglądarki. O ile nie użyjemy specjalnie zastrzeżonych dla HTMLa określeń to cała zawartość pliku da się odczytać w przeglądarce, chociaż jej wygląd może ulec zmianie np. przez usunięcie nowych linii, nadmiarowych odstępów itp. W HTMLu można również zapisywać określenia, które pozwalają uporządkować ten strumień znaków, nadając im określony wygląd i odstępy. Każde takie określenie, zwane znacznikiem(ang.tag) identyfikowane jest nazwą umieszczoną pomiędzy znakami "<" i ">". Np. "<br>" to przejście do nowej linii. Zazwyczaj używa się znacznika otwierającego i zamykającego. Zamykający ma przed nazwą dodatkowy znak "/". Np. chcą wytłuścić czcionkę w  "pewien tekst" używamy konstrukcji "<b>pewien tekst</b>". Dla porządku zauważmy, że nowe konwencje HTMLu nakazują przy znacznikach pojedynczych używać znaku "/" na końcu nazwy, a więc wymuszenie przejścia do nowej linii powinniśmy pisać w postaci: "<br/>". Nie sposób w krótkim tekście przedstawić wszystkich konstrukcji HTMLa. Jest ich wiele i umożliwiają m.in. uporanie się z problemem prawidłowego wyświetlania polskich znaków diakrytycznych. Trzeba tu jeszcze wspomnieć o języku CSS, który uzupełnia HTML o możliwość definiowania w jednym miejscu używanych na stronie stylów łączących grafikę z tekstem, ale CSS również nie jest językiem programowania sensu stricto.

Silnie związanym z HTML-em jest język JavaScript poprawniej powinien być nazywany ECMA Script by odróżnić go od języka Java, który jest zupełnie czym innym. Jest to już jednak pełnoprawny język programowania, który możemy wstawiać do wnętrza HTMLa, a jego kod powędruje do przeglądarki i w odpowiednim momencie spowoduje podjęcie stosownych akcji. Np. poniższy kod:

<SCRIPT   type="text/javascript">

alert("Jestem tutaj!");

</SCRIPT>

spowoduje, że wyskoczy okienko z napisem i przyciskiem OK, w którego kliknięcie zamknie je umożliwiając dalszą pracę z przeglądarką. Java Scriptu używa się często do sprawdzania danych zanim zostaną wysłane na serwer, do ożywiania stron nietypowymi animacjami, a nawet do realizowania pewnych obliczeń bez odwoływania się do serwera.

Apletów Java można używać podobnie jak Java Script chociaż mają większe możliwości, ale jednak ostatnio odchodzi się od ich stosowania, m.in. ze względu na konieczność aktualizacji wirtualnej maszyny Java, która jest dostarczana przez firmę niezależną od przeglądarki.

Z kolei język ActionScript związany jest z powszechnie używanym rozszerzeniem przeglądarek w postaci pakietu FLASH. Ocenia się, że ponad 97% przeglądarek ma zainstalowane to rozszerzenie, chociaż rzadko jest wykorzystywane przez aplikacje ActionScript, a najczęściej służy tylko wyświetlaniu złożonej grafiki np. z animacjami.

Nie są to wszystkie języki jakie można spotkać w programowaniu przeglądarek jednak te kolejne są dosyć rzadko używane i wymagają dodatkowych rozszerzeń przeglądarek. Wydaje się, że zapędy na stosowanie rozszerzeń pohamuje pełne wdrożenie nowej wersji HTML tzw. HTML5 wraz z CSS3, które pozwoli m.in. na wyświetlanie w przeglądarce grafiki trójwymiarowej i do tego ze wsparciem karty graficznej.

Całkowitym milczeniem pomija się w szkołach konieczność programowania serwerów by dostarczały oczekiwanych przez użytkowników usług. Gorzej, że zapominają o tym również niektóre firmy hostingowe oferując zamiast chociaż jednego standardowego języka programowania zaledwie kilka skryptów obsługujących funkcje typowe dla stron z przed lat w mało typowy sposób. Taka jest właśnie 'republika' jednego z czołowych portali.

Natomiast większość firm dostarcza na serwerze obsługę języka PHP jako jedynego albo do wyboru z kilku. Język ten można traktować jako rozszerzenie HTMLa umożliwiające w pliku strony dodanie kodu w PHP odróżnianego od HTMLa przez rozpoczęcie znacznikiem "<?php" i zakończenie znacznikiem "?>". Trzeba jednak wyraźnie powiedzieć, że kod pomiędzy tymi znacznikami nie jest wysyłany do przeglądarki lecz przetwarzany na serwerze w celu wykonania określonych zadań. Zadania te mogą polegać na wypełnieniu tej "luki" w HTMLu dodatkową treścią np. kod:

<?php

for($i=0;$i<1000;$i++)

echo$i;

?>

spowoduje wysłanie do przeglądarki tysiąca liczb począwszy od 0 a skończywszy na 999. Zauważmy, że w PHP zmienne wyróżnia się przez poprzedzanie ich znakiem "$". Oczywiście zadanie to można by zrealizować bez programowania na serwerze wpisując kolejne liczby, ale byłoby niesłychanie żmudne. Zazwyczaj  jednak nie można się obyć bez programowania serwera.

Kolejne języki programowania takie jak Perl,   Java servlet, Python, Ruby, C# i wiele pokrewnych realizują te zadania bardzo podobnie do PHP. Jednak rzadziej wspierane są przez firmy hostingowe, mniej jest o nich literatury i wymagają większych umiejętności. Szczególnie cenioną przez wielkie koncerny jest JAVA, ale w ostatnich czasach wzrosło tez zaangażowanie firm w produkty Microsoft ze sztandarowym językiem C# na czele.

Kolejnym ważnym językiem programowania jest język umożliwiający dostęp do danych zgromadzonych w bazach danych. Dane to kluczowy zasób wielu firm, który podlega przetwarzaniu by realizować różne praktyczne zadania z użyciem różnorodnego oprogramowania. Dlatego bardzo praktyczne jest oddzielenie danych od programów i zgromadzenie ich w jednej bazie, do której mają dostęp wszystkie programy, a nawet w sposób bezpośredni niektórzy pracownicy. Przyjął się model relacyjny danych umożliwiający poglądową ich prezentację w tabelkach i wyłuskiwanie w zapytaniach odfiltrowujące potrzebne dane i łączące tabelki ze sobą by uzyskać odpowiednie zestawienie. Np. poniższe zapytanie:

SELECT imie, nazwisko, stanowisko, placa, wiek FROM pracownicy

odczytuje imię, nazwisko, stanowisko, wiek  i płacę wszystkich pracowników zatrudnionych w firmie. Aby to zapytanie zadziałało jako strona trzeba je wywołać jednym z języków programowania serwera. Dla przykładu zapiszmy w PHP odpytywanie o średnią pensję pracowników w wieku 50 lat:

<?php

$q=mysql_query("SELECT avg( placa) AS p FROM pracownicy WHERE wiek=50");

$r=mysql_fetcharray($q);

echo$r["p"];

?>

Być może niektórzy zauważyli, że w przykładach odwoływaliśmy do jednego z systemów baz danych realizujących SQL tj. mySQL. Jest to bodaj najpopularniejszy system, ale obecny jej właściciel oferuje też systemy ORACLE przeznaczone dla poważniejszych zastosowań. Podobne systemy oferuje np.Microsoft. ceniona jest też darmowa baza PostgreSQL.

Na zakończenie chciałbym podkreślić, że opanowanie tych języków programowania umożliwia tworzenie czegoś co należałoby nazywać nie tyle" stroną internetową" co "serwisem internetowym", a więc użytkowanym za pośrednictwem przeglądarki internetowej oprogramowaniem, które jednocześnie może używać wiele osób rozrzuconych po świecie, a oprogramowanie skoordynuje ich wysiłki by albo realizowac wspólny cel albo przynajmniej sobie nie przeszkadzać.