Rzecz o stronach dynamicznych
Ajax wraz z web 2.0 zadomowił się w sieci na dobre. Czy to dobrze, czy to źle? Uczucia mam mieszane – na pewno warto zgodzić się z Jakob-em Nielsen-em, który stwierdził, że można jeszcze wiele poprawić w stronach “mniej dynamicznych” – w kwestii użyteczności. Dobrze zaprojektowana i zrobiona strona korzystająca z “dogrywania” bądź “wymiany” danych jest na pewno dobrym rozwiązaniem, problem pojawia się w miejscu, w którym projektant/programista zapomina o tym, że nie wszyscy będą mieli możliwość skorzystania z tych bajerów, które zrobił. …albo całkowicie zablokuje im możliwość korzystania ze strony.
“Z pewnego powodu” trafiłem na stronę http://www.tenvirk.com.pl/ – producenta oprogamowania do sekretariatów. Klikam w menu i… strony nie odnaleziono, powrót inne menu, znów to samo. Myślę sobie co jest do cholery, nie wierzę, że mają taką “dziurawą” stronę. Patrzę na NoScript – zablokowane skrypty. Dla pewności odblokowałem i… wszystko ruszyło jak trzeba. Zadałem sobie proste pytanie – czy kliknięcie w menu powinno być obsługiwane przez JS, a jeśli nawet tak, to czy użytkownik bez JS nie powinien być “obsłużony”? Czy nie ma możliwości napisania tego w sposób umożliwiający wszystkim skorzystanie? Jest taka możliwość i nie jest nawet trudna – trzeba tylko chcieć (bądź mieć świadomość tego, żę nie wszyscy mają włączone JS).
Zapewne część z was pomyślała – głupoty – 95% ludzi ma włączone JS. Owszem – duża większość ludzi ma włączone JS, ale poziom wiedzy internautów się zwiększa – a poziom zagrożenia systematycznie rośnie. Blokowanie JS będzie coraz częstsze. Ale nie znaczy to, że serwis powinien być dla blokujących nie dostępny!
A może wystarczyłby odpowiedni komunikat (<noscript>), który poinformowałby mnie, że 1. mam wyłączone JS (nie szukałbym problemów po stronie serwera), 2. strona jest bezpieczna, a skrypty służą wyłącznie modyfikacji treści. Tego większość stron też niestety nie ma.
Czy jestem przeciwnikiem JS? Wręcz przeciwnie – jestem wielkim zwolennikiem – swój pierwsze “publiczne” skrypty JS publikowałem pracując jeszcze w hoga.pl, więc conajmniej 8 lat temu (publikacja na stronie kursu P. Wimmera – na pewno można go jeszcze gdzieś znaleźć). W większość moich systemów dość mocno korzystam z JS, zawsze starając się jednak zapewnić dostęp użytkownikom z wyłączonym/brakiem JS.
Bardzo dobrym rozwiązaniem, jest rozwiązanie proponowane przez jQuery – piszę proponowane, bo większość przykładów jakie znalazłem ucząc się jQuery właśnie tak jest robionych. Tworzysz “normalną” działającą stronę HTMLową – i oprogramowujesz ją po stronie serwera tak, jakbyś nie używał jQuery. Dopiero po tym etapie dodajesz dynamiczną zmianę elementów – formularze z “przeładowujących” stronę na AJAX, modyfikacje odnośników”przeładowujących” na wczytujące teksty do divów. TO JEST IDEAŁ! …do którego dążę :-)
“Zapewne część z was pomyślała – głupoty – 95% ludzi ma włączone JS. Owszem – duża większość ludzi ma włączone JS, ale poziom wiedzy internautów się zwiększa – a poziom zagrożenia systematycznie rośnie. Blokowanie JS będzie coraz częstsze. Ale nie znaczy to, że serwis powinien być dla blokujących nie dostępny!”
nie no prosze Cię, te 5% społeczeństwa które ma JS wyłączone to do cholery użytkownicy IE, w którym czasem włączenie JS (którego obsluga i tak jest jaka jest) naprawde jest problemem dla niektórych ludzi. I tu się można zastanowić dlaczego w IE, aby włączyć javascirpt trzeba przegrzebać wszystkie informacje o stanach wszystkich kontrolek Active X i podobnych rzeczy. JS zagrożeniem jakim? Piszesz, że nie czujesz się pewnie w pisaniu w JS, ale piszesz, że JS jest zagrożeniem. Podaj konkretny przykład zagrożenia płynącego z JS. Znam człowieka, który studiuje ze mną informatykę i wyobraź sobie, że on wyłączał javascript, żeby mu się reklamy flashowe nie pokazywały. Poniekąd może i miał rację bo większość animacji flash jest umieszczana poprzez JS na stronach, ale on nie miał o tym pojęcia – po prostu najlepiej wyłączyć JS. Litości dla takich ludzi.
?Z pewnego powodu? trafiłem na stronę http://www.tenvirk.com.pl/ – producenta oprogamowania do sekretariatów. Klikam w menu i? strony nie odnaleziono, powrót inne menu, znów to samo. Myślę sobie co jest do cholery, nie wierzę, że mają taką ?dziurawą? stronę.
Jeśli menu było w JS, a ty miales NOSCRIPT w przegladarce ustawione to nie mogłeś dostać odpowiedzi od serwera, gdyż żadne żądanie nie zostało do niego wysłane, więc nie wiem skąd dostałeś tą informacje not found. Coś kręcisz.
“Bardzo dobrym rozwiązaniem, jest rozwiązanie proponowane przez jQuery – piszę proponowane, bo większość przykładów jakie znalazłem ucząc się jQuery właśnie tak jest robionych. Tworzysz ?normalną? działającą stronę HTMLową – i oprogramowujesz ją po stronie serwera tak, jakbyś nie używał jQuery. Dopiero po tym etapie dodajesz dynamiczną zmianę elementów – formularze z ?przeładowujących? stronę na AJAX, modyfikacje odnośników?przeładowujących? na wczytujące teksty do divów. TO JEST IDEAŁ! ?do którego dążę :-)”
jQuery taka tej biblioteki rola “Write less do more”. 2 linijki dla takiego efektu jak mówisz zamiast kilkudziesięciu (bo tyle mniej więcej trzeba dla dynamicznego formularza w ajax)
Pozdro