Выбрать главу

Сам AJAX не є технологією. Це декілька цілком самостійних технологій, що працюють разом. AJAX включає в себе:

• обробку стандартів XHTML і CSS;

• динамічне відображення та інтерактивне використання DOM (Document Object Model);

• взаємний обмін і управління даними за допомогою XML і XSLT;

• асинхронне витягання даних за допомогою Xmlhttprequest;

• і JavaScript, що об'єднує все це разом.

AJAX також є ключовим компонентом таких застосувань, як Flickr, додатків від 37signals, Gmail і Orkut (Google). Ми вступаємо в безпрецедентний період нововведень в призначених для користувача інтерфейсах, раз вже розробники, нарешті, навчилися створювати веб-додатки, які нічим не поступаються в цьому аспекті ПК-додаткам.

Цікаво, що багато з нових можливостей, насправді, немають ніякої новизни. Ще в кінці 90-х р. і Microsoft, і Netscape розуміли, що це є досяжним, але їх битва привела до несумісності стандартів. І лише після того, як Microsoft виграла «браузерні війни» і у нас де-факто залишився один-єдиний стандарт браузера, створення таких застосувань стало реальним. Firefox, звичайно, відродив конкуренцію на ринку браузерів, але поки що ми не бачимо руйнівної війни стандартів, яка затримала наш розвиток в кінці XX століття.

У найближчі декілька років з'явиться безліч нових веб-додатків — як абсолютно нових, так і переробок старих ПК-додатків під веб-сервер. Будь-яка зміна платформи створює нові можливості для захоплення лідируючого положення на ринку навіть якщо цей ринок здавався повністю стабільним.

Gmail вже продемонстрував декілька цікавих нововведень в області електронної пошти, комбінуючи сильні сторони веба (доступність з будь-якої точки нетривіальні можливості роботи з даними, можливість пошуку) з призначеними для користувача інтерфейсами, порівнянними по зручності з ПК-додатками. Між тим, поштові клієнти на платформі ПК удосконаляться в іншому напрямі, додаючи до свого інтерфейса, наприклад, можливості інстант-месенджера і датчика онлайнової присутності. Як далеко зайдуть інтегровані клієнти, об'єднуючи найкраще, що є в e-mail, IM і мобільній телефонії (використовуючи VоIP, щоб додати голосові можливості)? Гонка почалася.

Легко побачити, як Веб-2.0 змінює звичні «адресні книги». Адресна книга для Веба 2.0 використовує локальну базу контактів на ПК або телефонів для запам'ятовування тих контактів, які ви спеціально відзначили для збереження. Між тим Gmail-подібний веб-агент пам'ятає всі повідомлення, отримані або відіслані всі адреси, всі телефони і на основі евристики соціальних мереж намагається вирішити, які саме альтернативи вам запропонувати, коли в локальній базі потрібного контакту немає. За відсутності потрібної відповіді система може задіювати соціальну мережу більшого масштабу.

Текстовий процесор для Веба 2.0 підтримуватиме спільне редагування в стилі Wiki. Але окрім цього він же надає широкі можливості форматування, яке ми звикли чекати від ПК-додатків. Writely — хороший приклад подібного застосування, хоча мейнстримом такий підхід поки не назвеш.

Але революція Веб-2.0 не обмежується ПК-додатками. Salesforce.com демонструє, як використовувати веб-сервер для розповсюдження ПЗ в якості корпоративного сервісу (CRM).

Завдяки новим гравцям потенціал Веба 2.0 буде розкритий повністю. Але успіху доб'ються ті компанії, які не тільки навчаться створювати нові інтерфейси, але і (завдяки архітектурі взаємодії) отримають в своє розпорядження спільно підготовлені дані.

Що повинні уміти компанії у Вебі 2.0?

Ми відзначили деякі принципові особливості Веба 2.0, але кожен наведений приклад ілюстрував лише одні положення, тоді як інші при цьому упускалися. Давайте спробуємо підсумовувати найважливіші моменти для компаній Веб-2.0:

• недорогі масштабовані сервіси, а не коробкове ПЗ;

• контроль над унікальними, складними для відтворення джерелами даних, які можуть бути збагачені за рахунок користувачів;

• відношення до користувачів як до співрозробників;

• залучення колективного розуму;

• охоплення «довгого хвоста» за рахунок самообслуговування користувачів;

• софт повинен працювати поверх пристроїв;

• спрощення моделі розробки інтерфейсів, що призначені для користувача, та спрощення бізнес-моделі.

І коли ви наступного разу почуєте про Веб 2.0 — звіртеся з цим списком. Чим більше пунктів виконано, тим більше компанія відповідає концепції Веба 2.0. Втім, не варто забувати, що дійсна майстерність в одній з областей може стати вигіднішою, ніж невеликі уміння в кожній із семи.

Підходи до проектування Веба 2.0

В книзі «Зразкова мова» Христофор Олександр (Christopher Alexander) описує формат для стислого опису рішень архітектурних проблем. Він пише: «Кожний зразок описує проблему, яка повторюється знову і знову в нашому оточені, а пізніше пропонує суть рішення цієї проблеми, таким чином, що ви можете використовувати це рішення мільйон разів або без повторного його виконання.»

Довгий хвіст. Маленькі сайти створюють більшу частину контента інтернета; вузькі ніші створюють велику частину інтернет можливих додатків.

Порада: заохочуйте самостійність користувачів і забезпечуйте алгоритмічне управління даними зі свого боку — це дозволить охопити веб цілком, не тільки центр, але й краї, не тільки голову, але й хвіст.

Дані — це наступний Intel Inside. Додатки все більше залежать від даних.

Порада: для отримання конкурентної переваги відшукайте унікальне, важке для відтворення джерело даних.

Цінність, принесена користувачами. Ключ до успішної конкуренції на ринку інтернет-додатків — збагачення власних даних силами користувачів.

Порада: не обмежуйте свою «архітектуру взаємодії» розробкою софтвера. Явно і неявно залучайте користувачів до процесу поліпшення вашого додатку.

Мережеві ефекти за замовчуванням. Не багато знайдеться користувачів, які за власною ініціативою почнуть вам допомагати.

Порада: зробіть так, щоб зростання ваших даних було побічним ефектом використання додатку.

Деякі права збереження. Захист інтелектуальної власності обмежує повторне використання і перешкоджає експериментам.

Порада: якщо користь забезпечуються сумісним використанням, то забезпечте, наскільки це можливо, слабкий захист вашій ІС. Проектуйте їх з урахуванням «покращеності» і «переробленості».

Безконечна бета. Коли пристрої і програми підключені до Інтернету, додатки перестають бути артефактами і перетворюються на сервіси.

Порада: не намагайтеся упакувати нові властивості в реліз, замість цього додавайте їх по мірі готовності в поточну версію. Зробіть зі своїх користувачів тестерів, здатних відгукнутися в реальному часі, і стежте за їх реакцією.