Tworzenie stron internetowych uchodzi za zadanie łatwe: do zbudowania skromnej witryny wystarcza pobieżna znajomość HTML-a oraz różnych formatów graficznych. Niestety, tak to wyglądało kiedyś, teraz jednak wszystko jest o wiele bardziej skomplikowane.
Tworzenie stron internetowych uchodzi za zadanie łatwe: do zbudowania skromnej witryny wystarcza pobieżna znajomość HTML-a oraz różnych formatów graficznych. Niestety, tak to wyglądało kiedyś, teraz jednak wszystko jest o wiele bardziej skomplikowane. Lawina akronimów używanych w świecie projektowania stron WWW nabiera rozpędu, dlatego już dziś powinieneś być zaznajomiony z AJAX-em, ASP, CSS, ColdFusion czy RSS. Nie ma znaczenia czy jesteś początkującym, czy też ekspertem w programowaniu – wszystkie te nadchodzące bądź już obowiązujące trendy rywalizują o twoją uwagę oraz czas.
Na kilku następnych stronach znajdziesz nasze porównanie kluczowych technologii i trendów, obowiązujących w dziedzinie projektowania stron internetowych. Odkrywamy przed tobą ich tajniki. Dowiesz się, co mają do zaoferowania, skąd pochodzą, dlaczego powinieneś się nimi zainteresować – oraz co najważniejsze: czy powinieneś poświęcić swój cenny czas na ich poznawanie i naukę.
Nie będziemy się w tym artykule koncentrować wyłącznie na samych technologiach czy ogólnych zagadnieniach, takich jak dostępność strony czy kompatybilnością z przeglądarkami internetowymi. Wierzymy, że wiesz i pamiętasz o tym wszystkim, tworząc swoje strony. Zamiast tego skoncentrowaliśmy się zatem na konkretach: kluczowych zagadnieniach, które powinny zainteresować początkujących, oraz na nowych narzędziach, które uczynią życie zaawansowanych projektantów łatwiejszym, czy w końcu najnowszych technikach pozwalających na tworzenie jeszcze lepszych serwisów. Wyszukaliśmy i odsialiśmy narzędzia będące prawdziwymi hitami od tych, które są zdecydowanie przereklamowane – a także od tych uchodzących za naprawdę trudne.
AJAX
Ulubiona technologia Google to stare rzeczy w nowym wydaniu
Mimo że termin AJAX został wymyślony stosunkowo
niedawno, bo w lutym 2005 (dokonał tego Jesse James Garrett w artykule opublikowanym na łamach serwisu Adaptive Path), to sama technologia
była już dostępna o wiele wcześniej. AJAX (skrót od Asynchronous JavaScript and XML) jest kombinacją wielu współpracujących ze sobą technologii,
co pozwala na tworzenie tak zaawansowanych
stron, jak Google Maps lub innych witryn zgodnych z trendem \”Web 2.0\”.
W artykule \”Ajax: A New Approach to Web Application\” (http://www.adaptivepath.com/publications/
essays/archives/000385.php), który zapoczątkował modę na AJAX-a, Garret pisze: \”AJAX nie jest technologią. W rzeczywistości
jest to zbiór kilku technologii, które połączono razem w nowy, skuteczny sposób\”. Te technologie to HTML oraz CSS służące prezentacji
treści, DOM (Document Object Model) stosowany do dynamicznej obsługi interakcji, przekształcenia oraz manipulacja danych z użyciem
XML-a i XSLT, a także pobieranie danych za pomocą XMLHttpRequest. Wszystkie te elementy łączy z kolei w jedną całość JavaScript.
Co to oznacza w praktyce? Gdy użytkownik odwiedza
stronę utworzoną z wykorzystaniem AJAX-a, przeglądarka wczytuje silnik stworzony w JavaScripcie, który odpowiada za wyświetlanie
aplikacji (naszej strony internetowej)
oraz komunikację z serwerem.
Silnik ten może zajmować się wieloma różnymi zadaniami – takimi jak walidacja danych czy nawigacja – w rezultacie aplikacja oparta na stronie internetowej nie zmusza użytkownika do spędzania większości czasu na oglądaniu klepsydry
(będącej wynikiem przeładowywania bieżącej strony). Rezultat może być zadziwiający. Zobacz, jak działają Google Mail, Google Maps lub Google Suggest – wszystkie te serwisy bazują właśnie na AJAX-ie.
Za: Nie wymaga specjalnego oprogramowania lub pluginów, działa na większości przeglądarek; może być wykorzystywany do tworzenia zaawansowanych aplikacji działających online, takich jak interfejsy klientów pocztowych czy serwery z mapami.
Przeciw: Nie zadziała, jeśli na komputerze klienta zostanie wyłączony JavaScript (w przypadku IE wymagane jest dodatkowo włączenie ActivX-ów); aplikacje oparte na technologii AJAX mogą utrudnić korzystanie z \”Ulubionych\”; występują także pewne problemy z użytecznością oraz dostępnością.
Więcej:
AJAX: Getting Started (Mozilla)
http://developer.mozilla.org/en/dosc/AJAX:Getting_
Started
Dokumentacja Mozilli dla programistów wyjaśnia podstawy AJAX-a, okraszone licznymi przykładami
Mastering AJAX, part one (IBM)
http://www-128.ibm.com/developerworks/web/library/
waajaxintro1.html
Kolejne doskonałe wprowadzenie w świata AJAX-a, zawierające dodatkowo wiele ciekawych odnośników.
DHTML
Dynamiczny HTML może posłużyć do stworzenia naprawdę ciekawych efektów, ale niestety nie jest to oficjalny standard
Dynamiczny HTML pojawił się wraz z nadejściem czwartej generacji przeglądarek Internet Explorer oraz Netscape. Umożliwił on projektowanie stron, które mogły być reorganizowane poprzez np. zmianę położenia poszczególnych ich elementów po kliknięciu na odnośniku. Działa to za sprawą połączenia CSS oraz JavaScriptu: po kliknięciu odnośnika, wywoływany jest odpowiedni kod JavaScript, który wczytuje stosowne informacje z CSS.
DHTML może być skuteczny – jest to technologia wystarczająca, aby stworzyć gry działające po stronie przeglądarki (np. http://www.elizium.nu/scripts/lemmings – znane i lubiane Lemmingi stworzone z wykorzystaniem DHTML-a) – jednak przysparza
również wiele problemów.
Nie istnieje formalny standard opisujący DHTML. Posiada on wiele rozszerzeń specyficznych dla danej przeglądarki – zarówno Internet Explorer, jak i Netscape obsługują DHTML-a w odmienny
sposób. Jeśli chcesz tworzyć zgodne ze standardami, działające pod różnymi przeglądarkami strony, powinieneś zapoznać się ze standardem DOM. Będzie o tym mowa w dalszej części artykułu.
Za:
Prosty do wykorzystania; pozwala uczynić statyczne strony nieco bardziej interesującymi; nie wymaga specjalnych wtyczek; nie stawia wysokich wymagań systemowych
Przeciw:
Dynamiczny HTML nie jest standardem, więc nie posiada jednolitego interfejsu programistycznego
(API); różne przeglądarki mogą obsługiwać DHTML w inny sposób
Więcej:
http://www.macromedia.com/devnet/server_archive?articles/
dhtml_primer_popular_web_browsers.html
Na stronie Macromedii znajdziesz objaśnienie zasad działania DHTML-a wraz z przykładowym
kodem.
Pełny opis funkcji DHTML-a dostępnych na stronie Microsoftu.
COLDFUSION
Jeden z najprostszych sposobów na zbudowanie aplikacji internetowej z wykorzystaniem bazy danych
ColdFusion znaleźć można w wielu sieciach wewnętrznych
wielkich firm. A to z bardzo prostego powodu: jest to świetny system do budowy aplikacji biznesowych. Program ten został stworzony w 1995 roku przez firmę Macromedia, dziś zaś został włączony do rodziny produktów firmy Adobe.
ColdFusion używa nowych, zbliżonych do tych znanych z HTML-a znaczników, dzięki którym możliwe jest pobierania danych i prezentowanie ich w postaci raportów, dokumentów czy wykresów opartych na Flashu. Jest on szczególnie pomocny podczas tworzenia raportów biznesowych czy wprowadzania informacji, jednak można go również rozszerzyć o obsługę np. SMS-ów, oprogramowania do czatów lub innych form komunikacji.
ColdFusion działa na systemach Windows i Linux. Jest prosty w implementacji – jeśli używasz Dreamwaevera lub Flasha, już na starcie możesz korzystać z bardzo dobrego wsparcia dla ColdFusion. W rzeczywistości, korzystanie z ColdFusion jest niczym więcej jak stosowaniem dodatkowych znaczników w dokumentach HTML.
Za: Łatwy do nauki i zastosowania język oparty na znacznikach HTML; bardzo dobra integracja
z Flashem oraz Dreamwaeverem; wspaniałe narzędzia do raportowania i prezentacji; możliwość współpracy także z urządzeniami mobilnymi.
Przeciw: Jest to komercyjny, zamknięty produkt; cała technologia jest dosyć droga i wymaga do działania mocnego komputera oraz specjalnego oprogramowania serwerowego i bazy danych.
Więcej:
House of Fusion – www.houseoffusion.com
Bogate zasoby wiedzy oraz liczne wskazówki dla developerów ColdFusion.
ColdFusion MX Resources – www.forta.com/cf/mx/
Tutoriale autorstwa Bena Forta pozwolą ci skutecznie wykorzystać to, co najlepsze w ColdFusion.
ASP.NET
Twórz kompletne aplikacje internetowe, programując od kliknięcia do kliknięcia
W świecie twórców stron internetowych powszechnie wiadomo, że są dwie technologie, które konkurują ze sobą szczególnie mocno: PHP oraz ASP.NET. Obie platformy zostały stworzone w celu ułatwienia tworzenia dynamicznych
witryn, aplikacji opartych o strony internetowe oraz serwisów wykorzystujących bazy danych. A wszystko to przy możliwie minimalnym nakładzie pracy i zwięzłym kodzie. Obie te technologie w wielu miejscach znacznie się między sobą różnią. Jedną z głównych różnic jest ta, że ASP.NET jest dzieckiem firmy Microsoft, podczas gdy PHP dostępny jest na zasadach open source (kod źródłowy PHP jest otwarty, dzięki czemu można go dowolnie modyfikować i rozwijać).
ASP.NET wspiera szeroki zakres języków programowania
(włączając w to VBScript, Jscript, Perla czy Pythona) i pozwala budować aplikacje poprzez korzystanie z predefiniowanych kontrolek,
takich jak przyciski, etykiety, menu, obiekty dostępu do danych itp. Obecnie Microsoft rozpowszechnia Visual Web Developer 2005, program, dzięki któremu tworzenie kodu w ASP.Net jest szczególnie proste, jednak zaawansowani
projektanci, stawiający narzędziom większe wymagania, będą raczej zainteresowani
bardziej rozbudowanym narzędziem, jakim jest Visual Studio.
Kiedy zbudujesz już własną aplikację, zostanie ona skompilowana do postaci programu wykonywalnego,
który uruchamiany następnie przez serwer będzie generował zgodny ze standardami
kod HTML oraz JavaScript (poprzednie wersje były krytykowana za generowanie kodu niezgodnego ze standardami, jednak Microsoft poprawił to niedociągnięcie).
Dla osiągnięcia najlepszych rezultatów programy w APS.NET powinny być uruchamiane na serwerze
Microsoft Internet Information Server (chociaż da się to zrobić również na serwerze Apache). Mimo że jest to znakomita technologia ze względu
na prostotę obsługi, to działa ona jednak wolniej od swojego głównego konkurenta – PHP, a także stawia większe wymagania (głównie odnośnie
do pamięci) serwerowi. Przy wyborze tej technologie powinieneś także brać pod uwagę koszty z nią związane: chociaż .NET framework jest darmowy, to już Visual Studio kosztuje ok. 1000 zł, podobnie jak serwer Microsoftu, który również do tanich nie należy.
Za: Wspaniałe narzędzie dla programistów, pozwalające
tworzyć kompletne aplikacje techniką \”przeciągnij i upuść\”; doskonała dokumentacja oraz wiele poradników dostępnych w sieci.
Przeciw: Działa najlepiej na oprogramowaniu serwerowym firmy Microsoft, które nie jest darmowe i może być podatne na zagrożenia; potrafi działać wolniej od PHP.
Więcej:
ASP.NET Web
http://www.asp.net
Z portalu Microsoftu ściągniesz pomocne pliki, najlepsze przewodniki oraz biblioteki dla programistów
ASP.NET.
ASP.NET Developer Center
http://msdn.microsoft.com/asp.net/
Kolejny obfity zbiór informacji na temat ASP.NET, tym razem zlokalizowany na stronie Microsoft MSDN
SVG
Alternatywa dla Flasha
Wśród wszystkich swoich zalet, Flash cierpi na jedną niedogodność: jest całkowicie kontrolowany przez jedną firmę. SVG jest alternatywą: otwartym standardem, określającym język skryptowy służący do opisu grafiki wektorowej – taki XML dla grafik. Jest to format tekstowy, więc obrazki SVG mogą być indeksowane i klasyfikowane
przez wyszukiwarki internetowe, konwertowane do innych języków, a także sterowane z wykorzystaniem CSS oraz danych XML-owych.
Jedną z największych zalet SVG jest jego przenośność: pliki SVG są bardzo małe, co czyni je idealnymi do tworzenia interaktywnych aplikacji na małe urządzenia, takie jak telefony komórkowe.
Niestety, w świecie PC, wielu użytkowników – głównie korzystających z IE – nie może oglądać obrazków w tym formacie bez wcześniejszej instalacji specjalnego rozszerzenia. Dlatego nadal większość osób wybiera Flasha.
Za: Szeroko wspierany przez pakiety graficzne; może być używany do tworzenia personalizowanych, interaktywnych
obrazków; jest oficjalnym standardem W3C; posiada bardzo duże możliwości.
Przeciw: Wiele przeglądarek, aby poprawnie wyświetlić obrazki w tym formacie, wymaga specjalnego rozszerzenia; jakkolwiek by było, jest to kolejny język skryptowy do nauki.
Więcej:
Adobe SVG Zone
http://www.adobe.com/svg/main.html
Strefa SVG to dobre źródło narzędzi oraz informacji na temat SVG.
PERL
Solidna technologia spajająca niektóre wyszukiwarki internetowe i jedne z największych witryn w sieci
Larry Wall stworzył pierwszą wersję Perla w roku 1987. Język ten stał się kluczowym komponentem wielu dużych serwisów internetowych. Gdy raczkujące dopiero Yahoo! potrzebowało stworzyć pająka wyszukiwarki oraz mechanizmu zapisywania wyników jego pracy, wykorzystano
do tego Perla. Perl znajduje zastosowanie na wielu stronach, głównie do obsługi danych pochodzących z formularzy, a także podczas obróbki tekstu. To dlatego bywa on często wybierany do tworzenia skryptów CGI.
Perl słynie z łatwości, z jaką można dzięki niemu osiągnąć
zamierzony cel. Jest to jednak rzecz względna. Jeśli do tej pory używałeś języków skryptowych, takich jak HTML, Perl może cię przestraszyć. Jest on bowiem często opisywany jako szybki i nieczytelny język, przedkładający efektywność nad elegancję. Nawet sami programiści używający Perla często żartują, że nierzadko czytanie (ze zrozumieniem) ich własnego kodu okazuję się niemożliwe.
Za: Jest darmowy (open source); działa na większości platform; doskonale sprawdza się w obróbce tekstu i danych pochodzących z formularzy; stosunkowo łatwy do nauki; twój serwis prawdopodobnie może korzystać z Perla nawet już teraz (większość komercyjnych – jeśli nie wszystkie – kont internetowych
standardowo pozwala korzystać ze skryptów pisanych w tym języku).
Przeciw: Sprawia trudności początkującym; kod w nim napisany często bywa nieczytelny; zdarza się, że łatwiej jest znaleźć gotowy skrypt wykonujący zadane działanie, niż napisać go w Perlu samemu.
Więcej:
Matt’s Script Archive – http://www.scriptarchiwe.com
Wielka kolekcja skryptów w Perlu, które możesz wykorzystać na własnej stronie.
Perl Monks – http://www.perlmonks.org
Zbiór informacji o nowościach, artykułów, porad, dyskusji…
CSS
Kaskadowe arkusze stylów najlepszym przyjacielem webdesignera
Wyobraź sobie, że masz utworzoną witrynę,
zawierającą setki stron i teraz musisz przeprojektować jej wygląd. Czy: (a) skrupulatnie
modyfikujesz każdą pojedynczą stronę, lub: (b) spokojnie edytujesz jeden plik i z czystym sumieniem możesz zająć się czymś innym – praca wykonana? Jeśli budując witrynę, używałeś CSS, prawdopodobnie
wybrałeś odpowiedź (b).
Po raz pierwszy idea arkuszy stylów pojawiła się już latach 70., jednak CSS w takiej postaci, w jakiej używamy go dziś, zadebiutował w roku 1994, kiedy to Hakon Wium Lie oraz Bert Bos rozpoczęli projektowania
kaskadowych arkuszy stylów. CSS stał się standardem w roku 1997, CSS 2 rok później, natomiast CSS 3 jest ciągle w fazie
rozwojowej.
Koncepcja kaskadowych
arkuszy stylów jest bardzo prosta. Arkusze przechowują wszelkie informacje na temat wyglądu strony (rozmieszczenia elementów strony, kolorów, obrazków itp.). Gdy przeglądarka wyświetla stronę, odszukuje w kaskadowych arkuszach stylów wskazówki mówiące, w jaki sposób ma to wykonać. Dzięki CSS bez większego wysiłku można całkowicie zmienić wygląd wszystkich podstron witryny, modyfikując jedynie pliki CSS.
Nie jest to trudne: CSS działa podobnie do HTML-a, własny arkusz możesz stworzyć ręcznie w swoim ulubionym edytorze lub wygenerować odpowiedni kod – większość nowoczesnych programów wspomagających tworzenie stron potrafi także tworzyć kaskadowe arkusze stylów. Jest jednak jeden problem: aktualne wersje przeglądarki Microsoft Internet Explorer robią czasami przedziwne rzeczy z CSS. Microsoft obiecuje naprawić te błędy w nadchodzącej 7 wersji swojej aplikacji.
Za: Redukują rozmiar każdej pojedynczej podstrony; upraszczają zmianę wyglądu całego serwisu; wyglądają cudownie; są bardzo proste w zastosowaniu i późniejszej
edycji.
Przeciw: Internet Explorer potrafi źle interpretować
CSS, ignorując przy tym wiele znaczników CSS2; użycie wielu obrazków jako tła może sprawiać problemy.
Więcej:
W3C Cascading Style Sheets Home Pages
http://www.w3.org/Style/CSS/
Kolekcja narzędzi, aktualności oraz wszelkich
innych zasobów dotyczących CSS 1, 2 oraz 3.
Style Sheets Tutorials
http://www.yourhtmlsource.com/stylesheets/
Doskonały zbiór prostych kursów dla webmasterów rozpoczynających swoją przygodę z CSS.
DOM
Próba stworzenia pomostu pomiędzy dwoma różnymi API służącymi do dynamicznego generowania stron
Document Object Model, w skrócie DOM, jest specyfikacją opisującą, w jaki sposób treść, wygląd oraz struktura dokumentu – np. strona internetowa – może być aktualizowana za pomocą skryptów w językach
takich jak JavaScript. Można np. użyć kodu JavaScript do pobrania danych z pliku XML, a następnie wyświetlenia ich na stronie. DOM określa dokładnie, w jaki sposób powinno to się odbywać.
Początkowo istniały dwie odmienne specyfikacje DOM: jedna dla Internet Explorera, druga dla Netscape’a. Teraz, gdy zadanie zdefiniowania specyfikacji DOM zostało przekazane grupie standaryzacyjnej W3C, specyfikacja ta stała się niezależna od przeglądarki. Tak przynajmniej mówi teoria. W praktyce ciągle występują różnice pomiędzy przeglądarkami, więc niestety musisz odrobić pracę domową, zanim zaczniesz pisać skrypty, zapoznając się z tymi niezgodnościami.
Za: Standard W3C powinien działać niezależnie od przeglądarki i dostarczać
uniwersalnego sposobu na manipulowanie danymi oraz na dodawanie interaktywności na stronach z poziomu JavaScript, bez obawy o niezgodności występujące na poziomie DOM w różnych przeglądarkach.
Przeciw: Przeglądarki nie wspierają jeszcze w pełni wszystkich poziomów DOM; różne przeglądarki implementują różne poziomy DOM, więc to, co działa na jednej, niekoniecznie musi działać równie dobrze na innej.
Więcej:
DOM Tutorial – http://xml.com/pub/rg/DOM_Tutorials
Obszerna kolekcja przewodników oraz informacji o zgodności w implementacjach DOM pomiędzy platformami.
RSS
Użytkownicy mogą dotrzeć do zawartości twojej strony w zupełnie nowy sposób, a ty sam możesz samodzielnie nadawać informacje w sieci
RSS został utworzony przez pracownika Netscape, Dana Libby w 1999 r. Dziś tę technologię można spotkać dosłownie
wszędzie. RSS (Really Simple Syndication) wykorzystuje do dostarczania treści plików XML. Treścią najczęściej jest oczywiście tekst, jednak nic nie stoi na przeszkodzie, aby rozsyłać w ten sposób pliki MP3, klipy wideo czy innego rodzaju media. Kanały RSS mogą być odczytywane przez specjalne, dedykowane programy, lub za pośrednictwem stron internetowych – takich jak np. bloglines.com. Dzięki temu można w prosty sposób łączyć kanały RSS pochodzące z różnych stron.
Ponadto RSS służy również do rozpowszechniania informacji pomiędzy
stronami, zatem jedne strony mogą bezproblemowo pobierać dane z innych adresów, a następnie wyświetlać je u siebie.
Tworzenie RSS jest proste, a w wielu przypadkach odbywa się automatycznie: wiele platform blogowych niejako z automatu publikuje pliki RSS (na podstawie wpisów dokonywanych na blogu), a w programach wspomagający projektowanie
witryn powoli zaczyna się pojawiać możliwość dodawania RSS do tworzonej z ich pomocą strony.
Za: Dla czytelników jest to szybka i efektywna metoda pobrania interesujących ich informacji; dla właścicieli witryn jest to kolejny sposób zyskania czytelników; doskonale działa pod Safari, Firefoksem oraz nadchodzącym
Internet Explorerem 7.
Przeciw: Czytelnicy RSS nie zobaczą twoich pop-
up\’ów lub innych dodatków; kompletna informacja umieszczana w kanałach RSS może spowodować, że czytelnicy nie będą odwiedzać bezpośrednio twojej witryny (ograniczając się jedynie do korzystania z RSS).
Więcej:
RSS w Wikipedii – http://en.wikipedia.org/wiki/Rss
Ciekawy przegląd historii RSS, specyfikacji, raportów na temat niekompatybilności i innych problemów
ActionScript
Język dodający dodający mocy twoim stronom we Flashu
ActionScrip jest językiem programowania działającym we Flashu. Pojawił się po raz pierwszy we Flashu 4, jednak aż do czasu wypuszczenia następnej wersji Flasha nie był szczególnie atrakcyjny. Druga wersja tego języka pojawiła się wraz z nadejściem
Flasha 7, teraz natomiast nadchodzi wersja 3. Język ten jest bardzo zbliżony do JavaScriptu, z tą różnicą, że został on zaprojektowany specjalnie do automatyzacji
animacji oraz aplikacji tworzonych we Flashu.
Istnieją dwa sposoby tworzenia programów
w ActionScripcie – korzystając z Flasha i oferowanego przez niego kolorowania
składni, podpowiedzi, wbudowanej pomocy – lub z dowolnego innego edytora tekstu. Nie musisz znać ActionScriptu, aby korzystać z Flasha. Jest on jednak bardzo poręczny w sytuacji, gdy będziesz chciał utworzyć kompletny system nawigacji, skorzystać z danych pobieranych spoza aplikacji stworzonej we Flashu lub uczynić swoją stronę bardziej interaktywną.
Z ActionScriptem możesz użyć Flasha do budowy takich aplikacji, jak odtwarzacz mp3 lub prostych gier.
ActionScript posiada jednak trzy główne wady. Nie jest identyczny z JavaScriptem, więc kod w nim utworzony nie da się uruchomić
nigdzie indziej poza plikami Flasha.
Jest też stosunkowo łatwy do podejrzenia przez twoja konkurencję, która może przeanalizować kod, któremu najprawdopodobniej
poświęciłeś sporo czasu. No i oczywiście jeżeli użytkownicy nie mają zainstalowanego odtwarzacza Flasha, twój kod staje się bezwartościowy. Na szczęście istnieją programy utrudniające podglądanie plików Flash, a odtwarzacz Flasha zainstalowany
jest na około 97,3% komputerów PC należących do użytkowników internetu, więc możesz mieć pewność, że większość osób odwiedzających twój serwis nie będzie miała problemu z ich odbiorem.
Za: Jest podobny do JavaScriptu, więc jest także prosty do nauki; odtwarzacz Flasha zainstalowany jest na około 97% komputerów należących do użytkowników internetu; ActionScript bardzo wzbogaca interaktywne możliwości Flasha.
Przeciw: Działa tylko we Flashu; rozbudowany
kod ActionScript potrafi działać zbyt wolno; może nadmiernie zachęcać do tworzenia
niechlujnego kodu; jest stosunkowo prosty do podejrzenia przez twoich rywali.
Więcej:
ActionScript.org
http://www.actionscript.org
Znajdziesz tu mnóstwo artykułów dotyczących
ActionScriptu, przewodników i przykładów
oraz oczywiście plików do pobrania.
FlashInsider
http://www.flashinsider,com
Nieoficjalny blog o Flashu. Jest to bardzo dobre miejsce, od którego należy zacząć poszukiwanie informacji o nowościach czy źródeł dotyczących ActionScriptu.
XHTML
Czy nadal korzystasz tylko z HTML-a?
HTML jest martwy, jednak niektóre przeglądarki
nie rozumieją XML-a. XHTML (Extensible
Hypertext Markup Language) powstał jako pomost pomiędzy HTML a XML.
Podstawową różnicą jest to, że XHTML jest bardziej restrykcyjny niż HTML, a więc między innymi nazwy znaczników muszą być pisane małymi literami, kod natomiast powinien być odpowiednio sformatowany (elementy poprawnie zagnieżdżane, puste znaczniki, takie jak złamanie linii zamykane – tak więc znacznik {html}
{/html} nie jest akceptowany, a poprawną jego postacią jest {html}
{/html} itd.).
XHTML został zaprojektowany w taki sposób, by mógł być używany razem z CSS. XHTML powinien zawierać dane (treść) strony, natomiast CSS powinien służyć do ustalenia, w jaki sposób dane te mają zostać zaprezentowane. Większość dużych serwisów interentowych już dziś korzysta z XHTML. Poprawność swojego (i nie tylko) kodu możesz zawsze sprawdzić za pomocą witryny http://validator.w3.org.
Za: Nie różni się on diametralnie od HTML-a, tak więc nie trzeba się uczyć wiele nowego; pomaga w tworzeniu lepszego, czystszego kodu; większość programów wspomagających tworzenie witryn internetowych wspiera już XHTML-a.
Przeciw:
Jest bardziej restrykcyjny niż HTML, zatem musisz zapomnieć o wielu dawnych nawykach, takich jak niezamykanie znaczników {html}
{/html} itd.
Więcej:
Strona domowa HTML – http://www.w3.org/MarkUp/
Znajdziesz tu mnóstwo informacji na temat aktualnie obowiązujących i przyszłych specyfikacji języka XHTML.
SMIL
Świat się śmieje
SMIL to skrót od Synchronised Multimedia Integration Language. Wymawia się go tak jak \”smile\”, czyli \”uśmiech\”. Jest to kolejny standard W3C. Został on stworzony w 1997 roku w celu dodania interaktywności do mediów strumieniowych.
Został następnie poprawiony i rozbudowany, głównie dzięki wsparciu firmyRealNetworks.
SMIL jest językiem bazującym na technologii XML. Ma on za zadanie ułatwić wyświetlanie kompletnych danych strumieniowych – startowanie klipów wideo lub audio w konkretnym momencie, nakładanie obrazków, wyświetlanie tekstu itd. SMIL może być także użyty do synchronizacji animacji, zarządzania prezentacją multimedialną bądź do wyświetlania podpisów w klipach wideo. Jak się okazuje, SMIL jest technologią szczególnie przydatną w aplikacjach mobilnych.
Za: Jest standardem otwartym; jest łatwy do nauki; pliki mogą być indeksowane
przez wyszukiwarki internetowe; w sieci można znaleźć wiele narzędzi wspomagających budowanie plików SMIL.
Przeciw: Wsparcie dla SMIL 2.0 jest w praktyce ograniczone jedynie do RealPlayera
oraz IE, a więc głównie do urządzeń mobilnych i niewiele poza nimi.
Więcej:
SMIL tutorial – http://www.w3schools.
com/smil/default.asp
Kursy wprowadzające w świat SMIL.
W3C: Synchronised Multimedia – http://www.w3.org/AudioVideo/
Kompletne informacje na temat standardu SMIL oraz technologii powiązanych z multimediami.
XML
Ojciec języków skryptowych
XML (Extensible Markup Language) jest ojcem języków znacznikowych, takich jak XHTML, SMIL, SVG i innych. Bazuje on na SGML (Standard General
Markup Language), który wywodzi się od GLM (Generalised Markup Language) utworzonego przez firmęIBMw1960r.
Ekspert komputerowy Jon Bosak uznał, że konsorcjum World Wide Web powinno stworzyć język w stylu SGML, przeznaczony dla sieci web, w związku z czym w 1996 r. dostał on zadanie zrealizowania tego celu.
XML jest językiem bazującym na schemacie drzewa. Może on być używany do wszelkiego
rodzaju zadań. Edytory tekstu, takie jak np. Microsoft Word, zapisują dane w plikach XML, bazy danych wykorzystują XML do komunikacji, a naukowcy do przechowywania
danych badawczych, informacji
lub recept. Jak widać, XML sprawdza się niemal we wszystkich zastosowaniach.
Ponownie wydawnictwo O\’Railly i jego strona. Tym razem jest to serwis XML.com (http://www.xml.com), będący prawdziwą składnicą wiedzy na temat XML-a
Za: Nie musisz mieć żadnego specjalistycznego
oprogramowania do tworzenia bądź odczytywania plików XML; język ten może być wykorzystywany do niemal dowolnego rodzaju danych; dostarcza on struktury innym specyficznym językom, takim jak XHTML.
Przeciw: Konwersja istniejących danych do XML-a może czasami być procesem długotrwałym; ograniczone wsparcie ze strony przeglądarek internetowych; bywa bardzo restrykcyjny.
Więcej:
XML w Wikipedii
http://pl.wikipedia.org/wiki/XML
Dowiedz się, czym jest XML, jak działa i co myślą o nim ludzie z branży.
PHP
Tańsza i szybsza open source\’owa alternatywa dla platformy ASP.NET Microsoftu
W 1994 r. Rasmus Lerdorf stwierdził,
że chciałby mieć możliwość śledzenia odwiedzin na swoich stronach. Napisał w tym celu kilka skryptów, ale jako że miał nieco większe ambicje, dodał do nich wkrótce nowe właściwości. Swój produkt nazwał PHP/FI (Personal Home Page/Forms Interpreter), a następnie w 1995 r. udostępnił społeczności open source. Projekt ten nie cieszył się jednak zbyt dużą popularnością, aż do czasu, gdy w 1998 r. powstała trzecia wersja PHP.
Aktualna wersja PHP (5) ujrzała światło dzienne w 2004 r. i jest obecnie głównym rywalem ASP.NET. Mimo że PHP może być uruchamiane na serwerach z systemem operacyjnym Windows, najczęściej funkcjonuje
jako element tzw. platformy LAMP – Linux, Apache, MySQL oraz PHP.
Tak jak ASP.NET, PHP jest potężną platformą programistyczną.
W przeciwieństwie jednak do swojego konkurenta, oferuje wszystko za darmo (na zasadach open source). Oznacza to, że społeczność programistów
zgromadzona wokół PHP dzieli się fragmentami i przykładami programów, dzięki czemu jeśli tylko zechcesz coś stworzyć w PHP, prawie na pewno wyszukasz odpowiedni gotowy kod w internecie. W sieci bez trudu odnaleźć można również wiele stron czy list mailingowych skierowanych do programistów
PHP. System Microsoftu jest łatwy w użyciu, jednak generuje więcej kodu, przez co PHP działa zazwyczaj szybciej i pochłania mniej pamięci serwera. Ponadto jest on całkowicie darmowy, ponieważ może działać na serwerze Apache, który udostępniany jest nieodpłatnie. Istnieją oczywiście pewne komercyjne narzędzia, za używanie których trzeba zapłacić – nie są one jednak niezbędne i większość programistów PHP z nich nie korzysta.
Za: Darmowy; do swojego działania nie wymaga komercyjnego
oprogramowania; ogromna społeczność programistów korzystających z PHP służy radami, przykładami, bibliotekami, gotowym programami, oraz pomocnym wsparciem; działa szybciej i pochłania
mniej zasobów serwera niż ASP.NET.
Przeciw: Może być odrobinę trudniejszy od ASP.NET, głównie za sprawą nieczytelnych informacji o błędach;
występują pewne niekonsekwencje w składni (na przykład część funkcji używa w nazwach znaków podkreślenia, część nie).
Więcej:
Oficjalna strona domowa PHP
http://www.php.net
Serwis zawiera pliki do pobrania, dokumentację oraz olbrzymy zbiór odnośników do zasobów poświęconych
PHP.
JAVA
Zbuduj aplikację raz, a następnie używaj jej niemal wszędzie
Język programowania Java został stworzony przez Jamesa Goslinga oraz jego kolegów z Sun Microsystems w 1990 r. Nazywany był początkowo Oak, jednak w 1994 r. zyskał nową nazwę – Java. Java jest językiem pozwalającym \”napisać program raz, a potem uruchamiać go w dowolnej lokalizacji\”. Gdy napiszesz aplikację w Javie, będzie ona mogła zostać uruchomiona na każdej maszynie z zainstalowanym środowiskiem uruchomieniowym JRE (Java Runtime Environment). A pakiet JRE jest dostępny na niemal każdy system operacyjny i urządzenia
mobilne.
Przez kilka lat wydawało się, że wszystko co interaktywne na stronach internetowych używa Javy. Wkrótce jednak pałeczkę przejął Flash i obecnie Java najczęściej jest wybierana
jako platforma do tworzenia aplikacji oraz gier (najczęściej na telefony komórkowe). Do budowania typowych stron WWW Java wydaje się być zbyt złożona.
Za: Bardzo zaawansowana technologia; pozwala tworzyć aplikacje uruchamiające się niemal wszędzie; doskonale sprawdza się w technologiach mobilnych.
Przeciw: Aplikacje pisane w Javie mogą działać nieco wolniej, szczególnie w porównaniu z aplikacjami pisanymi konkretnie na dany system operacyjny; Java jest zbyt skomplikowanym językiem dla małych stron internetowych i prostych aplikacji.
Więcej:
Podstawy Javy – http://java.sun.com/learning/new2java/index.html
Znajdziesz tu kurs przygotowany przez Sun Microsystems.
Linux i Windows
Moja platforma serwerowa jest lepsza od twojej
Zalety Linuksa oraz Windows są kołem zamachowym wojny, jaka toczy się pomiędzy zwolennikami i przeciwnikami obu tych platform. I to pomimo że istnieją kluczowe różnice pomiędzy oboma tymi systemami,
a wybór za każdym razem powinien być dokonany indywidualnie
z uwzględnieniem własnych potrzeb.
Głównym kryterium są koszty oraz bezpieczeństwo. Linux na tym polu wygrywa: jest darmowy, a mimo to nie posiada tak wielu luk w bezpieczeństwie
jak Windows. Jednak wiele problemów z Windows wynika z niewłaściwej opieki użytkowników nad swoim systemem. Ignorują oni konieczność instalowania uaktualnień
bezpieczeństwa. Pamiętać też należy, że koszty to nie tylko instalacja
nowej platformy: jeżeli znasz dobrze system Microsoftu, nauka i wdrożenie nowej platformy może wymagać wiele czasu – a przecież czas to pieniądz.
Cała sztuka polega na tym, aby wiedzieć,
co chce się osiągnąć i czego naprawdę wymaga się bądź będzie się wymagać w najbliższym czasie (np. w ciągu najbliższych kilku lat) od systemu. Generalnie dla ASP.NET najlepszym wyborem będzie serwer bazujący na Windows, natomiast dla PHP odpowiedni jest Linux. Należy jednak rozważyć także inne czynniki: czy jeżeli zechcesz rozszerzyć serwer o nowe możliwości, będziesz zmuszony
wydać na to pieniądze, czy też skorzystać z darmowego oprogramowania?
Czy będziesz korzystał ze szkoleń, wsparcia technicznego lub dodatkowej pary rąk do nadzorowania
serwera?
Więcej:
Migracja do ASP.NET
http://msdn.microsoft.com/asp.net/
Przenosisz się na serwer Windows? Microsoft prezentuje kluczowe kwestie,
które powinieneś rozważyć.
Dev Shed
http://www.devshed.com
Ogromna kolekcja artykułów omawiających tworzenie stron internetowych za pomocą otwartego oprogramowania.
XFORMS
Stwórz formularz działające wszędzie i same wykonujące za ciebie większość pracy
XForms jest nowym językiem bazującym na XML-u, służącym do budowania formularzy dostępnych online. Ma on stać się częścią XHTML w wersji 2.0. Zanim jednak to nastąpi, by skorzystać z możliwości, jakie oferuje, należy użyć odpowiedniej wtyczki do preferowanego przez ciebie programu (długa lista odpowiedniego oprogramowania została zamieszczona na stronie W3C).
A oto kilka korzyści wynikających z zastosowania XForms w miejscu typowych formularzy istniejących od czasów HTML-a: działają one na każdym urządzeniu
radzącym sobie z plikami XML – od PC-tów aż po telefony czy nawet przeglądarki dźwiękowe. Technologia ta czyni również budowanie złożonych formularzy zadaniem łatwiejszym, dane są przesyłane jako XML, co oznacza, że XForms można użyć jako zapytań do baz danych lub SOAP. Te same dane mogą zostać wysłane do wielu serwerów jednocześnie, natomiast sam formularz może posłużyć do sprawdzenia
typu danych podanych przez użytkownika. Ponadto w formularzu można użyć danych pobranych z zewnętrznych plików.
Za:
Pozwala na stosunkowo proste tworzenie złożonych formularzy; jest to technologia zupełnie niezależna od platformy i urządzenia; XForms może zajmować się walidacją wprowadzanych danych oraz wieloma innymi popularnymi czynnościami, bez konieczności angażowania
do tego dodatkowego kodu.
Przeciw:
Wymaga dodatkowej wtyczki do przeglądarki lub rozszerzenia działającego po stronie serwera; jest bardziej złożonym językiem niż używane wcześniej w formularzach znaczniki HTML-a.
Więcej:
XForms FA
http://www.w3.org/MarkUp/Forms/2003/xforms-faq.html
Strona W3C, na której znajdziesz informacje na temat technologii XForms wraz z objaśnieniami dla programistów i prezentacją największych zalet.
Ruby on Rails
Twórz nowe strony w dosłownie kilka minut
Ruby on Rails pojawiło się w okolicach roku 2004, jednak dopiero niedawno zyskało on uznanie wielu programistów.
Dzięki tej technologii budowa witryn opartych na bazach danych staje się bajecznie prosta oraz, co nie mniej istotne: szybka. Na oficjalnej stronie projektu można odnaleźć przewodnik pokazujący, jak w 15 minut zbudować kompletny system internetowego blogu!
Ruby on Rails opiera się na stworzonym
w 1990 r. języku skryptowym Ruby, który słynie z łatwości obsługi. Kiedy David Heinemeir Hansson tworzył kolejne szablony dla Ruby, zdał sobie sprawę z tego że mogą one zostać udostępnione w postaci pakietu także innym programistom. Pakietem takim był właśnie wydany w 2004 r. Rails. Od tej pory został on znacznie poprawiony przez całą armię programistów
skupionych wokół ruchu open source, którzy wsparli go wieloma fragmentami kodu, licznymi artykułami \”jak to zrobić\” oraz dokumentacją.
Aby użyć Ruby on Rails, będziesz potrzebował bazy danych – może to być MySQL, SQL Server, DB2, Oracle lub jakakolwiek inna – oraz serwera HTTP (zalecany jest Apache). Następnie powinieneś zainstalować język skryptowy Ruby oraz program RubyGems, zarządzający paczkami Ruby (aplikacjami w nim napisanymi, bibliotekami itp.).
Oba te programy są darmowe i mogą być pobrane ze strony http://www.rubyonrails.org. Alternatywny sposób polega na ściągnięciu
gotowego pakietu zawierającego
Ruby, Rails, serwer Apache oraz bazę danych MySQL (więcej informacji znajdziesz na stronie http://instantrails.rubyforge.org/wiki/wiki.pl).
Za: Pozwala na szybkie tworzenie aplikacji z minimalnym udziałem kodu; jako programista masz łatwy dostęp do doskonałych przewodników oraz dokumentacji dostępnej online; jeden z najprostszych języków skryptowych do nauki oraz późniejszego wdrożenia.
Przeciw: Do szybkiego działania wymaga FastCGI; mimo iż prosty, jest to wciąż język programowania, więc może sprawiać problemy osobom dopiero co rozpoczynających swą przygodę z tą dziedziną informatyki.
Więcej:
Ruby On Rails
http://www.rubyonrails.org
Oficjalna witryna z plikami do pobrania
oraz kompletną dokumentacją.
SOAP
Pozwólmy naszym maszynom rozmawiać ze sobą, i to niezależnie od systemu operacyjnego czy języka programowania
SOAP jest protokołem służącym do pobierania danych za pośrednictwem sieci w postaci XML-owych \”kopert\” przesyłanych
przez HTTP. Oryginalnie skrót SOAP oznaczał Simple Object Access Protocol, dziś jednak akronim ten nie posiada żadnego rozwinięcia. SOAP został utworzony w 1998 roku przez Dave’a Winera, Dona Boksa oraz pracowników firmy Microsoft: Boba Atkinsona oraz Mohsena Al-Ghoseina. Dziś nad rozwojem protokołu czuwa konsorcjum W3C.
SOAP jest jednym z elementów wchodzących w skład usług internetowych, ponieważ dostarcza
sposobu na transfer danych pomiędzy różnymi aplikacjami, niezależnie od systemu operacyjnego, na jakim są one uruchomione lub języka programowania, w jakim zostały napisane.
Protokół ten pozwala systemom UNIX-owym na dzielenie się danymi z systemem
Windows. Warto także zauważyć, że SOAP jest wykorzystywany przez tak potężne firmy, jak np. Google.
Za:
Pozwala niekompatybilnym
serwerom lub programom na komunikowanie się ze sobą; działa także za firewallem; używaXML-a, więc nie jest przesadnie trudny w nauce.
Przeciw:
XML potrafi być rozwlekły, co w rezultacie może spowodować, że SOAP działa wolniej od innych podobnych protokołów; jest to bardziej
narzędzie dla programistów niż twórców stron internetowych przyzwyczajonych do narzędzi WYSIWYG.
Więcej:
W3C: Podręcznik SOAP
http://www.w3.org/TR/soap12-part0/
Bardzo dokładny opis SOAP wraz z wieloma przykładami.
SOAP: niezależna od platformy komunikacja
serwerowa
http://www.4guysfromrolla.com/webtech/070300-2.shtml
Przejrzysty i aktualny przewodnik dla doświadczonych użytkowników XML.
Wywiady
{tlo_0}
Andy Foulds
wolny strzelec
http://www.andyflouds.com.uk
IM: Która technologia sprawia, że chce ci się tańczyć ze szczęścia?
Flash 8. Ulepszona kontrola
nad obrazkami, wsparcie dla wideo oraz filtrysprawiają,żejest on znakomity. Uczę się także Adobe After Effects, dobrze się przy tym bawiąc.
IM: Czy istnieje taka technologia, która już przy pierwszym uruchomieniu doprowadziła cię do rozpaczy?
ActionScript z czasów Flasha 4, czyli akurat wtedy, gdy pojawił się po raz pierwszy. Nie miałem żadnego przygotowania programistycznego, co spowodowało, że musiałem spędzić wiele czasu na nauce i studiowaniu
przewodników.
IM: Jaką technologię każdy szanujący się twórca stron powinien
dodać do swego arsenału narzędzi?
Cóż, ja pracuję we Flashu, więc powiem, że oczywiście Flash – jednak chciałbym lepiej
zrozumieć również XHTML-a oraz CSS.
IM: Jaką technologię chciałbyś na zawsze usunąć ze świata internetu?
Wszytkie narzędzia mogą być niebezpieczne
w rękach ludzi nieodpowiedzialnych, jednak ja osobiście bardzo nie lubię Realplayera…
{/tlo}
{tlo_1}
Sara Fina
wolny strzelec
http://www.scarpi.co.uk
IM: Która technologia sprawia, że chce ci się tańczyć ze szczęścia?
CSS, to naprawdę potężna technologia. Pomaga wcielić w życie większość stanowiących
wyzwanie projektów stron, trzymając
się jednocześnie standardów.
IM: Czy istnieje taka technologia, która już przy pierwszym uruchomieniu doprowadziła cię do rozpaczy?
Standardy dostępności – zaprzeczają same sobie…
I spróbuj powiedzieć
projektantowi, że powinien dostarczyć alternatywnych rozwiązań
dla osób mających w swoich przeglądarkach
wyłączony JavaScript.
IM: Jaką technologię każdy szanujący się twórca stron powinien
dodać do swego arsenału narzędzi?
Mimo wszystko dostępność. Postaw użytkowników ponad własnym ego.
IM: Jaką technologię chciałbyś na zawsze usunąć ze świata internetu?
Narzędzia online weryfikującepoprawnośći
dostępność strony. Jedno z najgorszych takich narzędzi to wtyczka do technologii .NET, dodająca tabele wszędzie tam, gdzie nie są potrzebne.
{/tlo}
{tlo_0}
Dustin Diaz
Yahoo!
http://www.dustindiaz.com
IM: Która technologia sprawia, że chce ci się tańczyć ze szczęścia?
Notacja obiektowa JavaScriptu.
Jest ona podobna
do PHP i sprawia mi wiele frajdy. Dzięki niej JavaScript wygląda naprawdę sexy.
IM: Czy istnieje taka technologia, która już przy pierwszym uruchomieniu doprowadziła cię do rozpaczy?
AJAX. Chociaż dziś istnieje wiele bibliotek implementujących tę technologię, byłem mocno zdeterminowany,
aby zrozumieć jego działanie, zanim rozpocząłem pisanie aplikacji z wykorzystaniem
AJAX-a.
IM: Jaką technologię każdy szanujący się twórca stron powinien
dodać do swego arsenału narzędzi?
Poprawne tworzenie HTML-a. Smutno jest oglądać oszałamiająco
wyglądające aplikacje, z doskonałym JavaScriptem, jednak z layoutem opartym na tabelach, pełnych znaczników {html}{/html} lub innych przestarzałych
elementów.
IM: Jaką technologię chciałbyś na zawsze usunąć ze świata internetu?
Perla oraz CGI. Głównie dlatego, że za nimi nie przepadam. Wolę się raczej skupić na rozwijaniu własnych umiejętności w dziedzinie
PHP.
{/tlo}