Один вимикає JavaScript у середовищі браузера через наступні міркування:
- Швидкість та пропускна здатність
- Можливість використання та доступність
- Підтримка платформи
- Безпека
Швидкість та пропускна здатність
Дуже багато додатків використовують занадто багато JavaScript для власного блага ... Чи потрібні вам частини вашого інтерфейсу, щоб постійно оновлюватися дзвінками AJAX? Можливо, ваш інтерфейс відчуває себе чудово і швидко при використанні з широкосмуговим з'єднанням, але коли вам доведеться понизити швидкість з'єднання, більш оптимізований інтерфейс є кращим. І вимкнення JavaScript - це хороший спосіб запобігти тупому веб-додатку, що оновлює світ кожні 15 секунд чи так без жодних вагомих причин. (Коли-небудь дивився на кількість даних, які Facebook надсилає? Це страшно. Хоча це не лише питання, пов’язані з JS, але це і частина).
Ми також схильні завантажувати все більше і більше обробку на клієнта, і якщо ви використовуєте мінімалістичне (або просто застаріле) обладнання, це болісно повільно.
Можливість використання та доступність
Не всі користувальницькі інтерфейси повинні виражатися динамічно, а створений на сервері вміст може бути цілком прийнятним у багатьох випадках. Крім того, деякі люди просто не хочуть такого типу інтерфейсів. Ви можете не всім подобатися, але іноді у вас є шанс і обов'язок задовольняти всіх своїх користувачів.
Нарешті, деякі користувачі мають інвалідність, і ви ніколи не будете їх ігнорувати !!!
На найгірший сценарій, на мою думку, це урядові веб-сайти, які намагаються «модернізувати» свої інтерфейси, щоб вони виглядали більш привітною для публіки, але в кінцевому підсумку залишають після себе великий шматок своєї передбачуваної аудиторії. Так само шкода, коли студент університету не може отримати доступ до вмісту свого курсу: тому що він / вона сліпий, а його читач екранів не підтримує сайт, або тому, що сайт настільки важкий і потребує спеціальних сучасних плагінів, він / вона не зможе встановити цей оновлений ноутбук, куплений на e-bay 2 роки тому, або знову ж таки тому, що він повертається додому в іншу країну на весняні канікули і місцеві обмеження пропускної здатності не можуть впоратися з корисним навантаженням сайт.
Не всі живуть у досконалому світі.
Підтримка платформи
Цей пункт стосується двох попередніх і, як правило, є менш актуальним в даний час, оскільки браузери вбудовують двигуни JavaScript, які на рівень більшої ефективності, ніж раніше, і це стає все кращим.
Однак немає гарантії, що всі ваші користувачі мають привілей використовувати сучасні веб-переглядачі (або через корпоративні обмеження - які змушують нас підтримувати допотопні браузери без поважних причин, і справді - або з інших причин, які можуть бути, а можуть і не бути дійсними). Як згадував "Матьє М." у коментарях вам потрібно пам’ятати, що багато людей все ще використовують апарат низької якості, і що не всі користуються останнім і крутим смартфоном. На сьогоднішній день все ще значна частина людей користується телефонами, які мають вбудовані браузери з обмеженою підтримкою.
Але, як я вже згадував, у цій галузі все покращується. Але тоді вам потрібно пам’ятати попередні пункти про обмеження пропускної здатності, якщо ви продовжуєте опитуватись дуже регулярно (або ваші користувачі будуть насолоджуватися приємним рахунком за телефон).
Це все дуже взаємопов’язано.
Безпека
Хоча, очевидно, можна подумати, що нічого особливо небезпечного неможливо зробити з JavaScript, враховуючи, що він працює в середовищі браузера, це абсолютно не відповідає дійсності.
Ви розумієте, що під час відвідування P.SE та SO ви автоматично входите в систему, якщо ви входили в будь-яку іншу мережу, правда? Там є якийсь JS. Цей біт все ще нешкідливий, але він використовує деякі концепції, які можуть бути використані деякими зловмисними сайтами. На веб-сайті цілком можливо використовувати JavaScript для збору інформації про деякі речі, які ви робили (або робили) під час сеансу перегляду (або про минулі, якщо ви не очищаєте дані сеансу щоразу, коли виходите з веб-переглядача або запускаєте програму загальні режими анонімного / приватного перегляду широко), а потім просто завантажте їх на сервер.
Останні вразливості (працювали в головних браузерах на той час) включали можливість збирати збережені дані вхідних форм (випробовуючи комбінації для вас на зловмисній сторінці та записуючи запропоновані тексти для кожної можливої комбінації початкових літер, можливо, повідомляючи зловмисників, хто ви є , де ви працюєте і живете ) або витягувати історію перегляду та звички ( Дуже розумний хак робить щось таке просто, як вставляти посилання в DOM сторінки, щоб відповідати кольору посилання та побачити, чи воно відвідане . Вам просто потрібно зробити це на достатньо великій таблиці відомих доменних імен. І ваш браузер стає швидшим при обробці JavaScript, і ця справа швидко робиться.)
Плюс давайте не забувати, що якщо модель безпеки вашого браузера є помилковою, або веб-сайти, які ви відвідуєте, не захищають себе, коли недостатньо від XSS-атак, то можна використовувати JavaScript для простого відкриття сеансів на віддалених веб-сайтах.
JavaScript здебільшого нешкідливий ... якщо ви використовуєте його для надійних веб-сайтів. Gmail. Facebook (можливо ... і навіть не ...). Google Reader. StackExchange.
Але так, JavaScript не може бути таким поганим, правда? І в будь-якому випадку в Інтернеті є страшніші речі, яких варто боятися. Як на думку думати, що ти анонімний, коли насправді не так вже й багато , як показав експеримент Panopticlick EFF . Що також частково робиться за допомогою JavaScript. Ви навіть можете прочитати їх причини, щоб відключити JavaScript, щоб уникнути відбитків пальців браузера .
Враховуючи це, можуть виникнути абсолютно непогані ситуації, коли вам не потрібно займатись підтримкою JavaScript. Але якщо ви пропонуєте веб-сайт із загальнодоступними послугами, подумайте про прийняття обох типів клієнтів. Особисто я вважаю, що багато сучасних веб-додатків та веб-сайтів працюватимуть так само добре, використовуючи колишню модель, створену сервером, без JavaScript на клієнтській стороні, і це все ще буде чудово і, можливо, набагато менше.
Ваш пробіг може змінюватися в залежності від вашого проекту.