Итак, о чем этот блог?
Блог посвящен WebIRC - веб клиенту IRC. На самом деле, разнообразных клиентов для IRC уже наплодилось очень много, и веб клиенты - не исключение. Веб клиенты можно разделить на несколько типов:
- Java апплет
- Flash
- и написанные на обычном HTML(DHTML)
CGI:IRC - это достаточно простой клиент, использующий технологию COMET для получения данных от сервера.
Второй клиент - гораздо красивее CGI:IRC, но пока сырой, версию, которую выложил автор я даже не смог нормально запустить. (На Опере он вообще отказался стартовать).
WebIRC - это практически JavaScript клиент, написанный с использованием Google Web Toolkit. Вся-вся обработка IRC команд осуществляется на стороне клиента, то есть, в веб браузере пользователя. А "практически "- только потому, что JavaScript, который испоняется в браузере, подключаться к IRC самостоятельно не умеет. :) Поэтому есть серверная часть, которая очень небольших размеров, и теоретически :) требует очень небольших ресурсов (просто в реальных условиях еще не проверялось). Серверная часть используется, как звено между веб клиентом и IRC сервером. То есть, осуществляет подсоединение к IRC, складирует сообщения пришедшие от IRC сервера (сообщения передаются веб клиенту, когда тот производит синхронизацию) и отправляет сообщения от веб клиента. Пока, серверная часть написана на Java и может быть использована в любом контейнере сервлетов (например, Apache Tomcat), но можно очень легко сделать серверную часть на любой другой технологии, типа PHP, .NET или CGI-BIN.
Список фич, которые уже реализованы:
- Смайлы. :) Описание смайлов хранится в xml файле, поэтому можно очень легко добавлять новые или изменять существующие смайлы. Сам смайл описывается RegExp маской.
- Алиасы. Тоже хранятся в xml файле. Пока есть всего несколько алиасов. (/msg, /me, /slap...)
- Звуки. Пока есть два звука - после загрузки WebIRC и при получении приватного сообщения.
- Цвета и стили текста(жирный, наклонный...). Пока только в одну сторону, то есть, цвета отображаются в сообщениях пришедших от других клиентов. В WebIRC можно будет "украшать" сообщения в скором будущем. :)
- Поддержка CTCP команд.
- Возможность легко делать скины и встраивать WebIRC в уже готовый сайт.
- Может еще что-то, про что я забыл. :)
Я стараюсь делать WebIRC достаточно простым клиентом, чтобы обычные пользователи, никогда не видевшие IRC, могли спокойно чатиться.
WebIRC будет opensource, поэтому скоро я выложу исходники на code.google.com.
Посмотреть на WebIRC можно по этой ссылке. А вот тут можно увидеть другой, более простой скин.