Оптимізовані і передбачувані Ajax-додатки, HTML, XML, DHTML, Інтернет-технології, статті

Добре б жилося розробникам, якби всі браузери, моделі комп’ютерів і користувачі Ajax-додатків були однаковими? Можливо, але в житті все зовсім не так. Розробники стикаються з незліченною безліччю завдань при розробці додатків, які повинні працювати передбачувано в різних браузерах, на різних комп’ютерах і з різними настройками в окремих користувачів. Коли користувачі переносять Ajax-додатки з одного типу браузера на інший (і особливо, коли вони переносять Ajax-додаток в портал Web-сервісів), немає гарантій незмінності їх роботи через властивих кожному браузеру обмежень. Джудіт Майерсон, автор цієї статті, дає короткий опис цих обмежень, розповідає, як обходити підводні камені, а також наводить деякі корисні рішення по оптимізації відмінностей браузерів.


Введення


Зустрітися з деякими проблемами, з якими стикаються розробники Ajax-додатків, узагальненими для всіх видів комп’ютерів, браузерів і користувачів. Нерідко користувачі та розробники працюють з декількома браузерами, і при перенесенні додатків з одного типу браузера на інший у розробників Ajax-додатків можуть виникати різні проблеми. Неможливо надати користувачам повний крос-браузерні еквівалент, оскільки кожен браузер має властиві йому обмеження, що впливають на спосіб відображення (і навіть роботи) Ajax-додатки на Web-сторінці.


Широко використовуваними браузерами є Microsoft Internet Explorer, Opera, Firefox і Konquerer. За винятком Konquerer, що працюють тільки в Linux, ці браузери працюють в операційних системах Windows, Linux і Apple Mac OSX. Оскільки в даний час існує декілька популярних браузерів, вам, як розробнику, принесло б користь освоєння численних відмінностей між ними. Дана стаття допоможе розпізнати відмінності в апаратному забезпеченні комп’ютерів (Такі як розміри оперативної пам’яті, дискового простору і кількість USB-портів), а також програмні обмеження (доступність шрифтів, HTML-розширення та елементи форм). Після розгляду проблем продуктивності різних обчислювальних систем ви отримаєте поради щодо оптимізації відмінностей браузерів для переміщення користувачами програм з одного браузера в інший і по перетворенню Ajax-додатків в портал Web-сервісів. Попутно ви дізнаєтеся про типові підводних каменях Ajax-розробки (і про те, як їх уникнути).


Так багато комп’ютерних систем і так мало часу!


Хоча багато розробників для перетворення Web-сторінок в Ajax-портали воліють PC, користувачі Macintosh теж виконують даних тип перетворень. Якщо ви використовуєте останню версію одного і того ж браузера для перегляду Web-сторінок на обох системах (PC і Macintosh), то, можливо, помітили розбіжності у відображенні сторінок. Різні моделі PC і Macintosh можуть також мати різні розміри екранів і відповідні розміри області відображення. Розміри і дозвіл областей відображення деяких моделей Macintosh можуть значно відрізнятися від деяких моделей PC, незважаючи на ідентичність налаштувань. Ці відмінності в типах і моделях комп’ютерів можуть вплинути не тільки на спосіб відображення шрифтів, але також і на багато інших параметрів.


При розробці Ajax-додатків необхідно враховувати ширину і висоту сторінок, а також те, як додаток буде відображатися з урахуванням можливих значних відмінностей в налаштуваннях дозволу (Наприклад, 800×600 і 1024×768). Додатки, добре відображаються при високій якості, можуть вимагати тривалого скролінгу від користувачів, налаштувавшись свої комп’ютери на низький дозвіл. А якщо ваші програми вимагають багато скролінгу, ви ризикуєте втратити відвідувачів сайту.


Різні обсяги оперативної пам’яті і дискового простору


Якщо оперативної пам’яті для виконання складних обчислень недостатньо, комп’ютери користувачів спробують знайти місце на диску для завершення обчислень. Якщо вільне місце в оперативній пам’яті або на диску закінчиться до завершення процесу обчислень, користувачі отримають повідомлення про помилку.


Основна причина такого типу проблем в Ajax-додатках пов’язана зі способом їх роботи з оперативною пам’яттю, дисковим простором та іншими системними ресурсами. Розробники можуть або знизити навантаження на системні ресурси, потрібні для завершення обчислення, або виправити додаток. Для зниження навантаження, яка може привести до системних перевантажень, можна, наприклад, видалити непотрібні файли або підключити зовнішній USB-диск для зберігання і запуску великих Ajax-додатків. Для виправлення програми можна, наприклад, розділити його на модулі і реалізувати обробку виключних ситуацій для кожного модуля, що полегшило б ідентифікацію джерела проблеми.


USB-порти


Чим більше USB-портів має комп’ютер, тим більше USB-пристроїв до нього можна підключити. Оптимальним для комп’ютера є як мінімум два порти для підключення більш потужних USB-пристроїв, наприклад, переносного зовнішнього 120MB USB-диска через Y-кабель. Такий пристрій корисно в тих випадках, коли закінчилося місце на внутрішньому диску для зберігання і запуску Ajax-додатків. Якщо необхідно більше USB-портів, ніж є на комп’ютері, можна підключити USB-хаб. Якщо хаб поставляється з Y-кабелем, його можна підключити до обох USB-портів.


Примітка. Якщо спробувати підключити великий зовнішній дисковий накопичувач в хаб, що поставляється без адаптера, ні сам накопичувач, ні портал Web-сервісів працювати не будуть, оскільки хаб забезпечує менше потужності, ніж потрібно для зовнішнього накопичувача. Для роботи накопичувача потрібен USB-хаб, що забезпечує більше потужності.


Проблеми зі шрифтами


Розглянемо дві проблеми зі шрифтами: доступність і сумісність.


Доступність шрифта


Текст в Internet Explorer для Windows виглядає інакше в порівнянні з цим же текстом в Internet Explorer (або Navigator) для Macintosh – зокрема, текст певного розміру шрифту на Macintosh виглядає меншим у порівнянні з PC. Як розробник, ви повинні знати максимальний розмір шрифту, який можна встановити звичайними методами зміни розміру шрифту на комп’ютерах PC і Macintosh. Шрифт, вибір певним користувачем PC при перегляді в браузері, може бути недоступний в PC інших моделей або в комп’ютерах Macintosh. Якщо певний шрифт недоступний на певному комп’ютері, використовується шрифт за замовчуванням (для визначення доступності шрифта на PC з операційною системою Windows виберіть піктограму Шрифти в “Панелі управління”, розташованої в меню Пуск).


Працює шрифта


Багато розробники вважають серйозною проблемою зробити текст однаковим за розміром для різних браузерів і платформ. Проблема полягає в тому, що браузери по-різному дозволяють користувачам змінювати розмір шрифту. Наприклад, в Windows браузер Internet Explorer пропонує п’ять розмірів: Largest, Larger, Medium, Smaller і Smallest. Mozilla Firefox дозволяє користувачам збільшувати або зменшувати розмір шрифту, а також повернутися до початкового розміру. Opera, зі свого боку, дозволяє користувачам налаштовувати розмір шрифту шляхом вибору процентного відносини зі списку. Тобто, немає двох браузерів, дають однаковий результат при зміні розміру шрифту в додатку.


Навіть якщо встановити розмір шрифту описово (наприклад, medium), в різних браузерах ви побачите різний результат. Одним із способів вирішення проблеми установки однакового розміру шрифту в декількох браузерах є використання стильових таблиць Cascading Style Sheets (CSS) за допомогою значень percentages або em для розмірів шрифту. Нарешті, можна використовувати розміри в пікселях, засновані на вирішенні екрану.


HTML-стандарти


Крім JavaScript і XML Ajax-додатки використовують HTML, DHTML і Document Object Model (DOM). Ajax-додаток використовує HTML для створення Web-форм, а DHTML – для розмітки HTML, щоб форми могли оновлюватися динамічно. Оскільки DOM працює із структурою HTML, а з сервера повертається XML, може виникнути проблема через те, що більш нові стандарти і елементи форм не є загальноприйнятими.


Останні версії HTML


Оскільки більш нові частини стандартів HTML краще відображають Web-сторінки в новіших версіях браузерів, більшість користувачів оновлює свої браузери. Однак більш нові стандарти часто не повністю підтримуються в самих останніх версіях деяких браузерів, оскільки на практиці стандарти випереджають свою підтримку в браузерах. Хоча ні браузера, що підтримує саму останню версію HTML-стандартів на 100%, деякі браузери ближче до цього, ніж інші.


Через те, що підтримка найновіших HTML-тегів поки ще не загальноприйнята, можливо, деякі шматки коду ваших сторінок будуть зрозумілі не всіма браузерами. Якщо браузер не може зрозуміти частину вашої сторінки, він не зможе відобразити те, що ви хочете. Наприклад, при використанні декількох перекриваються шарів (overlapping layers) в Internet Explorer можна зіткнутися з некоректним їх відображенням у більш ранніх версіях цього браузера або в браузері іншого типу. Opera і Firefox можуть відображати невелику частину перекриваються шарів, які не відображає Internet Explorer. Я рекомендую використовувати програмне забезпечення для Web-розробки (наприклад, Microsoft Expression Web), щоб переглядати сторінку в декількох браузерах перед її публікацією.


Елементи форми


В залежності від версії HTML-стандарту і використовуваного браузера розміри, інтервали та оформлення елементів форми можуть змінюватися. Елементи форми можуть впливати на розмір займаної області спадаючими меню, полями введення тексту та іншими елементами. Вам може сподобатися відображення елементів форм на сторінці в одному браузері, однак в іншому браузері ці ж елементи форми можуть відображатися не так, як ви хотіли б.


Проблеми продуктивності


Необхідно враховувати деякі фактори продуктивності додатків перед їх публікацією. До них відносяться швидкість роботи обраного браузера, розмір усіх великих XML-файлів і вплив додаткових модулів (add-on).


Швидкість браузера


На мою думку, Opera є найшвидшим браузером для Windows-додатків. І хоча Firefox не швидше Internet Explorer, я думаю, що він є кращим варіантом в плані підтримки стандартів, захищеності і функціональних можливостей. Однак він ще не такий швидкий, як Opera. Що стосується Linux-додатків, то для запуску і перегляду в KDE простих сторінок найшвидшим я вважаю браузер Konqueror. Однак, якщо зустрічаються сценарії або зображення, Opera – більш швидкий варіант. І хоча Firefox, загалом, працює добре, я не думаю, що його швидкість роботи зі сценаріями, обробки кеша і сторінок із зображеннями зрівняється з Opera. На Mac OS X Opera і Safari працюють дуже швидко. Safari 2 більш швидкий час запуску та обробці CSS, а Opera – при візуалізації таблиць, роботі зі сценаріями та історією відвідувань сторінок. Navigator, мабуть, є більш популярним для додатків Mac OS X в порівнянні з Firefox і Internet Explorer.


Хоча Opera є найшвидшим браузером для виконання програм, я вважаю його функцію масштабування (zoom) розмірів шрифту не такий дружній до користувача, як варіанти розмірів шрифту в Internet Explorer або Ctrl-функції Firefox. Крім того, при використанні для створення Web-сторінок інструментальних засобів проектування Microsoft Expressions Web потрібно мати на увазі, що Opera відсутня в списку підтримуваних браузерів.


Розмір XML-файла


Обережно і розважливо використовуйте великі текстові XML-файли, оскільки вони можуть сповільнити час реакції браузера і навіть загальмувати мережевий трафік. Альтернативою великим текстовим XML-файлів є використання двійкових XML (детально розглянутих в моїй першій статті “Прискорення Ajax-додатків і зменшення уразливості Web-сервісів”, посилання на яку наведено в розділі “Ресурси”).


Додаткові модулі браузерів


Для браузерів доступна безліч різних додаткових модулів (таких як блокувальники спливаючих вікон, менеджери закладок, теми інтерфейсу), які можуть вплинути на Ajax-додатки несподіваним способом. Наприклад, можна налаштувати блокувальник спливаючих вікон на блокування відкриття нових вікон браузера. Відразу і не зрозумієш, що блокувальник може перехоплювати реальний стан вікна браузера і приховувати частини програми. Через це Ajax-додаток може відображатися не так, як планувалося.


Десять порад і підводних каменів


Нижче перераховані корисні поради по створенню оптимізованих Web-сторінок, а також деякі підводні камені, яких слід уникати. Ці пропозиції принесуть користь також користувачам Ajax-додатків.



Висновок


Інформація від групи розробників, тестувальників, системних адміністраторів і потенційних користувачів може допомогти Ajax-розробникам оптимізувати відмінності браузерів при розробці Ajax-додатків і перетворенні Ajax-додатки в портал Web-сервісів. Для мінімізації впливу відмінностей браузерів на Ajax-додаток необхідне серйозне планування процесів створення, тестування та розробки, що допоможе гарантувати оптимальну продуктивність і передбачуваність.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*