2012-05-03 12 views
17

Kiedy po raz pierwszy przeczytałem zasadę unobtrusive JavaScript w standardowym programie internetowym, pomyślałem, że to naprawdę świetna sprawa.Czy dyskretny kod JavaScript jest nieaktualny?

Dyskretna JavaScript jest bardziej filozofią programowania niż techniką. Zdecydowanie najważniejszym komponentem jest jasne poczucie, która funkcjonalność należy do której warstwy. Wszystkie absolutnie kluczowe funkcje witryny powinny być kodowane w prostym kodzie HTML, ale po utworzeniu tej bazy można dodać warstwę JavaScript, aby zapewnić przeglądarkom, które obsługują ją, ładniejszy, bardziej przejrzysty interfejs.

Ponadto, dyskretny JavaScript:

  1. oddziela strukturę i zachowanie, aby uczynić Twój kod czystsze i konserwacji skrypt łatwiejszy przeglądarkę

  2. wyprzedza Niezgodności

  3. współpracuje z czysta, semantyczna warstwa HTML

Do mojego obecnego projektu używam tego podejścia. Kiedy wyłączyłem JavaScript, aby wykonywać inne prace, byłem zaskoczony, jak wiele stron internetowych jest kompletnie uszkodzonych bez JavaScriptu: brak funkcjonalności, a także brak wielu ważnych informacji, których w ogóle nie było w ogóle. DOM.

To były szczególnie serwisy społecznościowe. Nie powinno dziwić, że tak właśnie jest, wymagany czas rozwoju i wrażenia użytkownika mogą być o wiele ważniejsze niż dostępność.

Wciąż zadaję sobie pytanie, czy dyskretny JavaScript nie jest nieaktualny. Mam na myśli to, która przeglądarka nie obsługuje już natywnie JavaScriptu? Czy to nadal jest podejście, które pasuje do roku 2012? Zacząłem wątpić w to.

+14

Myślę, że to zależy od rodzaju witryny. Strona z wiadomościami powinna pokazywać wiadomości bez włączonego javascript. Nie spodziewałbym się, że będzie działała bogata strona interaktywna, taka jak Google Docs czy Facebook. Co ważniejsze, nie wydałbym dodatkowych pieniędzy na stworzenie interaktywnej witryny dla niewielkiej liczby osób, które wyłączają JavaScript. –

+1

@BenClayton, który powinien być odpowiedzią – Joseph

+0

Ale jakie są podstawy użytkownika, które obecnie nie są dostępne w JavaScript? –

Odpowiedz

17

Istnieją dwa sposoby podejścia do strony internetowej i korzystanie z JS:

  1. JS jako akcesorium

    Te typy stron są jak „dokumentów” w tym sensie, że są one analogiczne do gazety, książki i listy. Nie potrzebujesz efektownych efektów, aby przeczytać i używać treści.A to przynosi postępowe ulepszenie: Budowanie podstawowej funkcjonalności i dodawanie złożoności bez poświęcania celu.

    Większość (dużych) stron internetowych korzysta z tego schematu w celu zachowania jego użyteczności nawet w przypadku korzystania z przeglądarki, która nie jest w stanie go obsłużyć. Przykładem jest StackOverflow, który działa nawet w przeglądarce linii poleceń Lynx!

    ______ 
    | JS | - JavaScript for (optional) enhancements 
    |------| 
    | CSS | - CSS for (optional) style 
    |------| 
    | HTML | - (mandatory) HTML with base content 
    '------' 
    
  2. JS jako platforma

    Dla aplikacji internetowych, to rozsądne (więcej jak obowiązkowe), że są one opierać JS w czasie rzeczywistym, dynamicznej zawartości i funkcjonalności podczas HTML i CSS służy jako widoku . Jest to synonim innych języków programowania, w których można przejść bez nagłówka z programem (bez interfejsu użytkownika), takimi jak biblioteki i wtyczki.

    Płynnego degradacja przychodzi z takim podejściem: „Backwards obsługuje tylko do pewnego stopnia, w przeciwnym razie pojawi się wcale”

    ____________ 
    | HTML | CSS | - (optional) HTML and CSS view 
    |------------| 
    |  JS  | - (mandatory) JS platform 
    '------------' 
    

To generalnie sprowadza się do kwestii: „Czy to dokument lub aplikacja? "

3

Różne firmy stosują różne podejścia. Na przykład Google dla ich wyszukiwania używa dyskretnego javascript, który pogarsza się z gracją, ale dla GMaila mają one odrębną stronę HTML, którą opracowali później po GMS JS.

Dla mnie to zależy

  1. Complexity
  2. funkcjonalności
  3. Koszt
  4. wpływ użytkownik Ilość

zdecydować, czy zrobić Graceful degradacji za pomocą dyskretnych JS lub zbudować dedykowaną witryną HTML lub całkowicie zignorować tę bazę użytkowników.

Powiązane problemy