10

Struktury JavaScript MVC, takie jak Backbone.js, Angular, Ember.js itp., Są w tych czasach wściekłością. Rozumiem, że doskonale nadają się do zapobiegania kodowaniu spaghetti i wszystkim innym, ale naprawdę nie rozumiem, dlaczego się zdjęli, tak jak oni.Czy cofamy się przy użyciu środowiska JavaScript MVC (MVVM), takiego jak Backbone.js, Angular itp.?

Po tych wszystkich latach upewniając się, że strony są dostępne za pomocą takich ulepszeń jak progresywne, tego typu rzeczy nie działają, gdy wyłączona jest obsługa JavaScript. Spójrz na https://app.getblimp.com/. To świetna aplikacja, ale cała ta funkcja jest bezużyteczna, jeśli JS jest wyłączony. Pamiętasz lata temu, kiedy Target został pozwany ponad milion dolarów, ponieważ ich strona była niedostępna?

Inną sprawą jest to, jak HTML jest zintegrowany w JS. Cokolwiek by się stało, aby HTML był oddzielony dla znaczników, CSS osobny dla prezentacji i JS oddzielnie dla zachowania? Dlaczego wszystkie te rzeczy powinny być obsługiwane przez serwer wykonywany przez JavaScript?

Czy ktoś mógłby wskazać, dlaczego struktura MVC JavaScript byłaby używana w tradycyjnym środowisku MVC po stronie serwera, takim jak Zend, Ruby on Rails czy Python?

Po prostu nie rozumiem!

+1

Jeśli chcesz być w 100% zgodny, zaoferuj wersję witryny, która może działać bez JavaScript. Współczesne czytniki ekranu dobrze obsługują JavaScript. – epascarello

+0

Nie jestem pewien, czy to pytanie należy do SO. To powiedziawszy, zgadzam się z tobą. Osobiście opieram się bardziej na tym, aby strona działała bez JavaScript, a następnie, słowami CSI: "ENHANCE!" – wavetree

+0

Wiem, że to może lub nie jest dobre dla SO, ale nie szukam dyskusji. Chciałbym po prostu uzyskać odpowiedź, dlaczego użyłbym Backbone.js. – Cofey

Odpowiedz

12

Jeśli ktoś wyłącza JavaScript, cały Internet zostanie przerwany dla tego użytkownika. Tak więc, nie, BackboneJS i inne struktury, takie jak Angular i Ember, przesuwają nas do przodu, zabierając język, który kiedyś był językiem przeglądarki zarezerwowanym dla fragmentów i głupich animacji, i pozwala nam zorganizować go w przyjazny dla współpracy sposób dla skalowalnych aplikacji przyjaznych dla użytkownika.

Utrzymanie tak dużego obciążenia na kliencie to miejsce, w którym aplikacje JS naprawdę świecą. Nie ma potrzeby zmuszania użytkownika do tworzenia niepotrzebnych połączeń HTTP z serwerem, a serwer powinien wykonywać pracę, gdy można uzyskać ten sam rezultat.

+1

To są dobre strony! – Cofey