Właśnie wróciłem z konferencji w Bostonie o nazwie An Event Apart .
Bardzo popularnym tematem wśród prelegentów była idea stopniowego ulepszania - treść witryny powinna być umieszczona w kodzie HTML, a JavaScript powinien być używany tylko w celu poprawy zachowania.
Argumenty, które mówcy podali dla stopniowego ulepszania, były bardzo przekonujące. Jest to nie tylko solidny wzór do obsługi starszych przeglądarek i urządzeń w sieci o niskiej przepustowości, ale HTML zawodzi znacznie bardziej wdzięcznie niż JavaScript (tzn. Znaczniki, które nie są obsługiwane, są po prostu ignorowane, a jeśli przeglądarka zgłasza wyjątek podczas wykonywania twojego skrypt - jesteś wąż).
Jeremy Keith wygłosił szczególnie wnikliwą rozmowę na ten temat.
Ale co z aplikacjami internetowymi na jednej stronie, takimi jak Backbone i Angular? Cały projekt tych frameworków wydaje się popychać programistę do przenoszenia treści poza HTML i do czegoś w rodzaju interfejsu API JSON.
Nie wydaje mi się, aby żelować te dwa wzorce projektowe: progresywne ulepszenie w porównaniu z aplikacjami internetowymi na jednej stronie. Czy zdarzają się sytuacje, w których jedno jest lepsze od drugiego? Czy też nie są to nawet technologie antagonistyczne i brakuje mi czegoś tutaj w moim modelu mentalnym?