WML Wireless Markup Language – Язык разметки для мобильных телефонов (WAP)


Содержание

Интернет | WML

WML (англ. Wireless Markup Language — «язык разметки для беспроводных устройств») — язык разметки документов для использования в сотовых телефонах и других мобильных устройствах по стандарту WAP.

По структуре напоминает несколько упрощённый HTML, но есть и ключевые отличия, поскольку WML ориентирован на устройства, не обладающие возможностями персональных компьютеров (небольшой экран, не все устройства могут отображать графику, небольшой размер памяти и т. д.):

  • в языке WML используется метафора «колода карт». В отличие от языка HTML, где каждому HTML-файлу соответствует одна страница на экране браузера, WML-файл содержит одну или более страниц, называемых картами (card). Таким образом, карты, находящиеся в одном WML-файле, загружаемом целиком при обращении к серверу, попадают в кэш-память мобильного устройства, где затем могут быть отображены. Такая коллекция карт называется колодой. Каждая колода также содержит шаблон (можете считать это джокером), описывающий общие характеристики каждой карты в колоде;
  • в то же время размер WML-страниц не должен превышать 1—4 килобайт.

Например, WAP-сайт может содержать главную страницу, страницу с краткой справкой и страницу с контактной информацией. Остальные страницы могут описывать предлагаемые товары и услуги.

История

Историю стоит начать с пояснения — что же такое WAP.

WAP ( Wireless Application Protocol ) — это новый набор стандартов, разработанных для расширения сервисов Internet и делающих возможным доступ к этим сервисам с мобильных телефонов, пейджеров и карманных компьютеров. Разработка протокола WAP координируется WAP Forum (http://www.wapforum.org) — независимой организацией, членами которой являются все ведущие производители мобильной телефонии, аппаратного обеспечения, сетевые операторы, поставщики сервисов, а также многие производители программного обеспечения.

В 1995 году фирма Ericsson начала работу над протоколом ITTP (Intelligent Terminal Transfer Protocol), целью которого было расширение сервисов, предоставляемых мобильными телефонами. В течение 1996-1997 годов Nokia приступила к работе над концепцией Smart Messaging, а фирма Unwired Planet (в настоящее время — Phone.com) разработала спецификацию языка Handheld Device Markup Language (HDML) — языка разметки документов, схожего с HTML, но оптимизированного для устройств с экранами небольшого размера: мобильных телефонов и карманных компьютеров.

К концу 1997 года разработчики поняли, что конкурирующие протоколы только расколют и, возможно, даже погубят потенциальный рынок. Поэтому в декабре фирмы Ericsson, Motorola, Nokia и Unwired Planet объединили свои усилия и сформировали WAP Forum. После выпуска весной 1998 года спецификации WAP 1.0 организация стала принимать новых членов, и к концу следующего года в ее состав входило более 90 компаний.

К основным преимуществам протокола WAP можно отнести:

  • программную модель, базирующуюся на Internet;
  • протокольный стек, оптимизированный для беспроводных коммуникаций;
  • поддержку более чем 90% производителей всех мобильных устройств;
  • язык разметки WML — Wireless Markup Language, о котором мы здесь говорим.

Протокол WAP создавался для решения трех основных проблем, возникающих при обмене данными по беспроводным сетям, а именно: низкая скорость передачи (9600 бит/с для GSM), задержки и нестабильность соединения. Кроме того, протокол WAP учитывает размер мобильных устройств — большинство из них имеет экран небольшого размера и небольшую, но многофункциональную клавиатуру.

Сетевой компонент реализует как транспортный, так и прикладной уровень протокола. WAP-данные доставляются в виде байткода, что позволяет максимально эффективно использовать невысокую скорость передачи. Благодаря «колоде карт» (card/deck), набору, полностью обеспечивающим тот или иной сервис, загружающимся целиком, полностью отпадает необходимость в поддержании постоянного сетевого соединения.

Непосредственное управление устройствами происходит на уровне WML. Карта обычно описывает одну операцию, и, как правило, ее содержимое может быть отображено на небольшом экране мобильного устройства. В зависимости от приложения несколько карт могут быть объединены вместе для обеспечения более комплексного сервиса.

WAP базируется на таких Internet-протоколах и спецификациях, как HTTP, UDP, URL, HTML и JavaScript. Таким образом, основные программные концепции должны быть знакомы Internet-разработчикам. WML-файлы могут быть загружены с обычного Web-сервера (например, Microsoft Internet Information Server) при соответствующей конфигурации MIME-типов.

WML Wireless Markup Language – Язык разметки для мобильных телефонов (WAP)

Посмотрите, например, wap-сайт: http://wap.uwphoto.ru/index.wml.

Wml-код можно писать, например, в HTML-редакторах, в частности, в HomeSite, но существуют и специализированные редакторы, например, WAPDrive Waptor.

Серверное обеспечение

Как известно, WEB-сайты работают под WEB-серверами, а WAP-сайты . тоже под ними же. Для разработки подойдут наши старые знакомцы — PWS (т.е. Microsoft Personal Web Server) и Small HTTP Server. Однако следует иметь в виду, что WEB-сервер для поддержки WAP-сайтов нуждается в определенной настройке. Настройку «настоящего» сервера выполняет администратор, а персональный сервер нам придется настраивать самим. Подробнее на настройке мы остановимся чуть позже, когда познакомимся с языком создания WAP-сайтов.

В wml-документах можно использовать изображения, но специфического формата: wbmp. Пакет DeckIT имеет встроенный редактор изображений. Существуют и другие редакторы изображений (например wbmp.exe, который использует файл mscomctl.ocx). Эти редакторы позволяют нарисовать картинку формата wbmp или перевести файл формата gif или jpg в формат wbmp.

Забегая вперед, скажем, что язык WML (будучи основанным на XML) «не терпит» незакрытых тэгов. Поэтому непарные теги (типа &ltbr>, &ltimg>) должны иметь слэш: например, &ltbr/>.

Русский текст можно включать в wml-документах в кодировке UNICODE. Программа UniCon.exe позволяет перекодировать фрагменты русского текста в UNICODE (чтобы затем через буфер перенести их в редактируемый код wml-документа). Эта программа использует файл msvbm60.dll, который должен находиться в том же каталоге, что и UniCon.exe.

Эти программы Вы найдете на нашем сервере.

WML — язык разработки WAP-сайтов

Как известно, основным языком WEB-сайтов является HTML (HyperText Markup Language, т.е. язык разметки гипертекста). Для создания WAP-сайтов также используется язык разметки, основанный на спецификации XML (Extensible Markup Language, т.е. расширяемый язык разметки). Он называется WML (Wireless Markup Language, т.е. язык разметки для беспроводных систем).

Официальная спецификация WML разработана и поддерживается WAP Forum, производственным консорциумом, основанном Nokia, Phone.com, Motorola и Ericsson. Эта спецификация определяет синтаксис, переменные и элементы используемые в файлах WML.


Надеемся, что Вы еще помните основы XML и потому сразу перейдем к описанию основных элементов WML. WML был разработан для для устройств с низкой пропускной способностью (мобильные телефоны пердают данные со скоростью 14,4 Kb/с) и маленьким дисплеем. В основе WML лежит концепция дек (deck) и карт (card).

Декой (deck) называется каждый WML-документ (все, что содержится внутри элемента &ltwml> &lt/wml>), — подобно тому, как содержимое контейнера &lthtml> &lt/html> называется документом.

Картой (card) называется содержимое каждого экрана. На клиентское устройство можно загружать СРАЗУ НЕСКОЛЬКО КАРТ, что позволяет не обращаться лишний раз к серверу. Однако не стоит увлекаться этим, так ресурсы клиента весьма ограничены.

«Скелет» WML-файла выглядит следующим образом:

&lt?xml version=»1.0″?>
&lt!DOCTYPE wml PUBLIC «-//WAPFORUM//DTD WML 1.1//EN» «http://www.wapforum.org/DTD/wml_1.1.xml»>
&ltwml>

&lt/wml>

Первые две строчки кода составляют так называемый пролог. В нем указывается версия XML и DTD (Document Type Definition, т.е. определения типа документа) для нашего документа. (Кстати, последние DTD доступны на сайте: http://www.wapforum.org/DTD/wml_1.1.xml).

Тестируем первый WAP-документ

Напишем wml-код

Пусть наш первый WAP-документ будет совсем простым:

&lt?xml version=»1.0″?>
&lt!DOCTYPE wml PUBLIC «-//WAPFORUM//DTD WML 1.1//EN» «http://www.wapforum.org/DTD/wml_1.1.xml»>
&ltwml>
&ltcard title=»My first wml file»>
&ltp>
&ltbr/>
&ltbr/>
Hello, world!&ltbr/>
&ltbr/>
&lt/p>
&lt/card>
&lt/wml>

Запомним его как, например, файл Hello.wml в каталоге C:\WWW\WWWROOT\wap.ok.ru. И нам, конечно же, не терпится просмотреть его в окошечке нашего симпатичного телефончика. Для этого нам нужно настроить web-сервер.

Настроим Small HTTP Server

Пусть, к примеру, мы будем использовать сервер, находящийся в каталоге: C:\WWW\Small_server .
Запустим находящийся в этом же каталоге файл конфигурации shttp2.exe .

На вкладке General укажем следующие параметры:
  • каталог C:\WWW\Small_server\ , где находится exe-модуль web-сервера;
  • имя файла для записи протокола: http.log (хотя от него можно было бы отказаться);
  • строку «Гражданин бывшего СНГ» в качестве значения поля Name и
  • число 30 в качестве кода.
  • На вкладке HTTP укажем следующие параметры:
  • корневой каталогC:\WWW\WWWROOT\ok.ru : (забегая вперед, скажем, что в этом каталоге будут храниться cgi-сценарии на Perl, которые мы будем использовать впоследствии);
  • адрес к интерпретатору Perl: C:\Perl\BIN\Perl.exe (он нам скоро пригодится);
  • каталог с cgi-файлами: \cgi\ (пока их у нас нет, но скоро будут); и, наконец,
  • параметр ext: text/vnd.wap.wml wml, (он показывает, что серверу следует ожидать от файла с расширением wml).

  • На вкладке HOSTS укажем псевдонимы для обращения к каталогам. К нашему каталогу c wml-файлами мы теперь можем обращаться довольно фамильярно: wap.ok.ru .

    (Обратите внимание, что мы даже не указываем традиционного localhost или 127.0.0.1, поскольку включили его в псевдоним.)

    Теперь, когда настройка выполнена, осталось нажать кнопку SETUP & EXIT, а затем запустить сервер: http.exe. Надеемся, сервер успешно запустился. Тогда запускаем наш эмулятор DeckIT и в адресной строке указываем: http://wap.ok.ru/hello.wml. Должна появиться вот такая картинка:

    Настроим web-сервер Apache

    Основным преимуществом Small HTTP Server’a является его небольшой объем (название свое он оправдывает). Поэтому многие разработчики предпочитают ему сервер Apache. Он более функционален, но имеет не слишком удобный (для привыкших к интерактивыным интерфейсам Windows-приложений разработчиков) текстовый интерфейс.

    Для настройки Apache используется конфигурационный файл: Httpd.conf или .htaccess. В секцию AddType этого файла следует добавить список MIME-типов для работы с WAP:

    После модификации конфигурационного файла Apache следует перезапустить, чтобы изменения возымели действие.

    Метки и гиперссылки

    WML обеспечивает несколько способов навигации между документами или между картами одного и того же документа.

    Самый простой способ навигации состоит в использовании так называемых простых гиперссылок:

    &lta href=» адрес wml-документа или #имя карты» > Текст гиперссылки &lt/a>

    Чтобы вернуться на предыдущий документ или предыдущую карту, удобно использовать элемент &ltprev/> (от англ: previousпредыдущий). Этот элемент используется в контейнере &ltanchor>. &lt/anchor>:

    &ltanchor>
    текст гиперссылки, возвращающей на предыдущий элемент
    &ltprev/>
    &lt/anchor>

    Таким образом, действие элемента &ltprev/> аналогично действию метода history.back(), используемого в JavaScript-сценариях в HTML-документах.

    Таймер

    Еще одним способом смены документов (или, точнее говоря, карт одного документа) в окне «мобильника» является использование таймера. Таймер, установленный для карты, определяет длительность ее экспозиции (в миллисекундах). По истечении установленного времени карта (если только она не является последней) автоматически заменяется на следующую.

    Синтаксис таймера выглядит следующим образом:

    &lttimer value=» время в миллисекундах «/>

    В тэге &ltcard> в этом случае размещается обработчик события:

    &ltcard >имя карты » ontimer= =»# адрес очередной карты «>

    Таймер используется, если нужно ограничить время просмотра пользователем карты или деки, например, при вводе пароля или логина.

    Если нужно не просто перейти к другому документу, но переслать на сервер данные, предварительно введенные пользователем, используются другие WML-элементы. О них Вы узнаете в следующей лекции, а пока предлагаем Вам выполнить несколько несложных заданий.

    Введение. Таблицы, изображения и ссылки

    Что такое WAP?

    WAP — это протокол сетевого общения, который применяется для передачи информационного содержания Интернет беспроводным клиентам, таким, как мобильные телефоны.

    WML — это язык разметки текста, который позволяет создавать страницы, выводимые WAP-браузером.

    Используя данное руководство, Вы научитесь создавать страницы WML . Для изучения этого курса необходимо иметь базовые представления о WWW, HTML, основах создания Web-страниц, JavaScript, XML.


    WAP возник благодаря развитию беспроводной связи. Создателями данного стандарта руководило желание предоставить доступ к информационному содержимому Интернет беспроводным клиентам — обладателям мобильных телефонов.

    1. является сокращением от Wireless Application Protocol (протокол беспроводных приложений);
    2. является протоколом прикладного уровня;
    3. применяется для доступа к сервисам и информации;
    4. опирается на стандарты Интернет;
    5. предназначен для небольших устройств, например, для мобильных телефонов;
    6. является протоколом, созданным для микро-браузеров;
    7. позволяет создавать Web-приложения для мобильных устройств;
    8. использует язык разметки WML (а не HTML);
    9. определяется как приложение XML 1.0.
    Протокол беспроводных приложений

    Протокол WAP является ведущим стандартом информационных служб беспроводных терминалов, чаще всего цифровых мобильных телефонов, и опирается на стандарты Интернет (HTML, XML и TCP/IP). Его составные части:

    • спецификация языка WML ;
    • спецификация WMLScript;
    • спецификация WTAI (Wireless Telephony Application Interface — Интерфейс приложений беспроводного телефона).

    В 1997 г. компаниями Ericsson, Motorola, Nokia и Unwired Planet был основан консорциумом WAP Forum, который разработал и опубликовал спецификацию WAP. Члены консорциума представляют сейчас более 90% глобального рынка мобильных телефонов, а также ведущих сетевых провайдеров, разработчиков программного обеспечения и других организаций. WAP Forum со временем объединился с организацией Open Mobile Alliance ( OMA ), созданной в 2002 г., и больше не существует в качестве независимой организации.

    Работа над спецификацией WAP продолжается в рамках OMA , и с ней можно ознакомиться по адресу: http://www.openmobilealliance.org/tech/affiliates/wap/wapindex.html

    Микро-браузеры WAP

    Данные браузеры используются для работы с небольшими беспроводными терминалами WAP и представляют собой небольшую программу с минимальными требованиями к оборудованию, памяти и процессору. Они могут выводить на экран устройства информацию, записанную с помощью WML — языка разметки с ограниченными возможностями, а также интерпретировать сокращенную версию языка JavaScript, называемую WMLScript.

    Что такое WML?

    WML — язык разметки, родственный HTML (но существенно строже, так как в его основе лежит XML) и предназначенный для создания страниц, которые выводит браузер WAP.

    WML является сокращением от Wireless Markup Language (язык разметки для беспроводных устройств).

    В языке WML используется метафора «колоды игральных карт» (card/ deck ). Страницы в WML называются колодами ( deck ) или деками, а колоды создаются как наборы карт (card).

    Что такое WMLScript?


    WMLScript является облегченным языком JavaScript, который WML использует для выполнения простого кода на терминале клиента. Однако сценарии WML не встроены в страницы WML — эти страницы содержат только ссылки на URL-адреса сценариев.

    Сценарий WML необходимо скомпилировать на сервере в байт-код, прежде чем браузер сможет его выполнить.

    WML Wireless Markup Language – Язык разметки для мобильных телефонов (WAP)

    Opera поддерживает WML изначально. Браузеры на движке Gecko (Mozilla Firefox, SeaMonkey, MicroB) могут просматривать WML с помощью расширения wmlbrowser.

    См. также

    Ссылки

    • Документация к различным версиям WML, WBXML и др. (англ.)
    • Неофициальный перевод документации к тегам WML из Motorola SDK (рус.)
    • wmlbrowser — расширение для Firefox и SeaMonkey, добавляющее в эти браузеры возможность просмотра WML.

    Примеры WAP-сайтов (XHTML)

    Стандарты Open Mobile Alliance
    Стандарты FUMO · MMS · OMA BCAST · OMA CP · OMA DM · OMA DRM · OMA DS · OMA IMPS / Wireless Village · OMA PoC · OMA Presence SIMPLE · OMA SE · OMA SIMPLE IM · WAP · WBMP · WBXML · WML · WMLScript · WSP · WTP · XHTML Mobile Profile · MLP
    Черновики стандартов SCOMO
    Языки разметки документов
    Офисных документов Compound Document Format · OOXML (SpreadsheetML, PresentationML, WordprocessingML) · ODF · UOF
    Общеизвестные HTML · XHTML · MathML · JSON · RTF · TeX · LaTeX
    Менее известные CML · C-HTML · ConTeXt · Crossmark · DITA · DocBook · eLML · EAD · Enriched text · FHTML · GML · Gu > · HDML · HyTime · HyperTeX · IPF · FictionBook · LilyPond · LinuxDoc · Lout · MIF · MAML · MEI · MusicXML · OMDoc · OpenMath · POD · RTML · RTML · RFT · S1000D · TEI · Texinfo · troff · Вики-текст · WML · WapTV · XAML · YAML · Z Format

    Wikimedia Foundation . 2010 .

    Смотреть что такое «WML» в других словарях:

    WML — [Abk. für Wireless Markup Language, dt. »drahtlose Auszeichnungssprache«], Abart der Auszeichnungssprache XML mit reduziertem Befehlsumfang, der auf die eingeschränkten Fähigkeiten von Kleinst Browsern zugeschnitten ist (z. B. schmalbandige… … Universal-Lexikon

    WML — may stand for:* What s My Line?, a game show * Wireless Markup Language, markup used in mobile phones with Wireless Application Protocol, WAP * Website Meta Language * Wesnoth Markup Language, language used in Battle for Wesnoth game * Whatever… … Wikipedia

    Wml — Wireless Markup Language Pour les articles homonymes, voir WML. Le Wireless Markup Language (WML) est un langage à balises conçu spécifiquement pour le WAP, de manière à pouvoir s afficher sur un écran de téléphone portable. Il est basé sur XML.… … Wikipédia en Français

    WML — Die Abkürzung WML steht für: Wireless Markup Language des Wireless Application Protocol (WAP) zur Darstellung von Inhalten im Internet auf Mobiltelefonen Wesnoth Markup Language, Beschreibungssprache für Battle for Wesnoth Website Meta Language,… … Deutsch Wikipedia

    WML — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Sigles d’une seule lettre Sigles de deux lettres > Sigles de trois lettres Sigles de quatre lettres … Wikipédia en Français

    WML — Wireless Markup Language: an XML based set of standards used to tag and format text displayed on handheld wireless devices. [1995 2000] * * * WML (computing) abbrev Wireless Mark up Language … Useful english dictionary

    WML — Wireless Markup Language: an XML based set of standards used to tag and format text displayed on handheld wireless devices. [1995 2000] * * * … Universalium

    WML — white matter lesion; wireless markup language [telemedicine] … Medical dictionary

    WML — Wireless Markup Language vereinfachte Beschreibungssprache für Darstellungen auf Anzeigen mobiler Telefone http://www.wapforum.org/ … Acronyms

    WML — ● ►en sg. m. ►LANG►COMM►XML Wireless Mark up Language. Langage XML cousin de HTML, conçu pour permettre l affichage d informations sur un petit écran de téléphone portable. Voir HDML, WAP … Dictionnaire d’informatique francophone

    Что такое WAP

    Аббревиатура WAP расшифровывается как Wireless Application Protocol – протокол беспроводного доступа. Данный протокол позволяет пользоваться ресурсами Интернета только посредством мобильного телефона, не прибегая к помощи компьютера. По сути, это технический стандарт, описывающий способ, с помощью которого информация передается из Сети на экран мобильного устройства. Первоначально протокол разрабатывался четырьмя компаниями: Ericsson, Motorola, Nokia и Unwired Planet. В 1997 году эти компании основали организацию WAP Forum, которая сейчас включает большинство крупных телекоммуникационных компаний мира. В мае 1998 года была опубликована первая редакция WAP – v.1.0. Однако, несмотря на стройность общей концепции, ошибок и неточностей было более чем достаточно, и практически через год, в июне 1999 года, на суд общественности была представлена вторая версия – WAP v.1.1. Летом 2000 года были обнародованы вариант WAP v.1.2 и его подвид WAP v.1.2.1. Последняя на момент написания книги версия WAP v.2.0 появилась в январе 2002 года.


    Протокол WAP позволяет загружать и просматривать на экране мобильного устройства специальные WAP-сайты. До появления WAP v.2.0 сайты для мобильных устройств создавались на языке разметки WML, предоставляющего довольно скудный набор инструментов для верстки страниц. После выхода версии WAP 2.0 телефоны стали «понимать» сайты, созданные на языке разметки XHTML MP – немного модифицированной версии XHTML. Использование вместо языка HTML, применяемого для создания обычных веб-сайтов, специальных языков разметки обусловлено рядом причин. Рассмотрим наиболее важные из них.

    На момент появления технологии WAP основным способом передачи данных в сетях GSM был протокол CSD, обеспечивающий скорость 9,6 Кбит/с. Загрузка обычного сайта на такой скорости составит несколько минут. Учитывая высокую стоимость использования протокола CSD, загрузка даже одной страницы получилась бы не только утомительным, но и довольно дорогим занятием.

    Работа с HTML-страницами требует относительно мощных процессоров и больших объемов памяти. Если современные мобильные устройства могут обеспечить требуемый уровень производительности, то аппаратам четырех-пятилетней давности это не под силу.

    HTML-страницы рассчитаны для отображения на больших экранах мониторов настольных ПК или ноутбуков с разрешением порядка 1024 х 768 пикселов. Само собой, что вместить такую страницу невозможно даже на довольно «больших» экранах мобильных телефонов с разрешением 208 х 176 пикселов и размером меньше двух дюймов. Что же тогда говорить о моделях с монохромным экраном, встречающихся сейчас и довольно распространенных еще пару лет назад?

    По данным причинам был разработан аналог языка разметки HTML, не имеющий вышеперечисленных недостатков – WML (Wireless Markup Language), – язык разметки для работы в Интернете беспроводных устройств, основанный на языке XML. Язык WML создан специально для отображения информации на малоформатном экране, учитывая узкую полосу пропускания канала связи, малый объем памяти и т. д.

    Структурной единицей обычного веб-сайта является HTML-документ. Щелкнув на ссылке загруженной в браузер страницы, вы загружаете следующую страницу и т. д. Структурной единицей WAP-сайта является WML-документ, называемый также WML-колодой (рис. 9.1).

    Рис. 9.1. Страница WAP-сайта.

    WML-колода может состоять из одной или нескольких карт. Каждая карта ограничена тегами . На экране устройства в каждый момент времени отображается только одна карта, а пользователь может переключаться между ними, переходя по ссылкам. Такая структура WML-документа позволяет существенно сократить число обращений за информацией к серверу. Листинг 9.1 представляет собой простейший WML-документ, состоящий из двух карт.

    Листинг 9.1. Простейшая WML-колода

    После загрузки на экране телефона будет отображаться первая карта, содержащая текст Это первая карта и ссылку Это ссылка для перехода ко второй карте (рис. 9.2). Если перейти по ссылке, то на экране отобразится содержимое только второй карты – текст Это вторая карта.

    Рис. 9.2. Простейшая WML-страница.

    Широкое распространение сотовых телефонов с большими цветными экранами, а также появление технологии высокоскоростного обмена данными в сетях GSM-GPRS повлекло за собой возникновение нового стандарта в создании сайтов, ориентированного на просмотр с мобильных устройств, – XHTML MP.

    XHTML (Extensible Hypertext Markup Language) – расширяемый язык разметки гипертекста. XHTML в настоящее время является стандартным языком разметки и рекомендован W3C для использования вместо HTML. Существует несколько версий XHTML. Для создания сайтов, ориентированных на мобильные устройства, используется версия XHTML MP (Mobile Profile). XHTML MP является облегченным вариантом XHTML, в который добавлены специфические для мобильных устройств элементы. Структура XHTML MP документа очень похожа на структуру обычных HTML-страничек. Листинг 9.2 представляет собой простейший XHTML-документ, выводящий на экран мобильного устройства строку Привет, мир.

    Листинг 9.2. Страница, созданная с помощью XHTML M

    Если вы хотя бы немного знакомы с языком HTML, то заметите, что приведенный пример практически не отличается от обычного HTML-документа. На данный момент многие WAP-ресурсы имеют две версии: WML (см. рис. 9.1) и XHTML (рис. 9.3). Выбор загружаемой на ваш телефон версии сайта происходит автоматически, или вам предлагается выбрать ее самостоятельно.

    Рис. 9.3. XHTML-версия WAP-сайта.

    Если не вдаваться в технические подробности, схема работы WAP-сервисов включает три основных элемента:

    WAP-браузер мобильного устройства;

    WAP-шлюз;

    сервер с WML– и XHTML-содержимым.

    Работа с протоколом WAP начинается с открытия WAP-браузера, который в свою очередь посылает запрос, содержащий URL некоторого сайта, на WAP-шлюз вашего оператора. WAP-шлюз преобразует запрос протокола WAP в запрос, понятный обычным веб-серверам. После этого содержимое запрошенной страницы отсылается на WAP-шлюз. Дождавшись загрузки всей страницы, WAP-шлюз преобразует полученные данные таким образом, чтобы они были «понятны» браузеру вашего телефона, а также чтобы обеспечить большую скорость передачи информации на мобильное устройство (к примеру, на ваш телефон). Если совершаются операции, требующие конфиденциальности (финансовые сделки, передача конфиденциальной информации и т. д.), используйте надстройку WTSL, обеспечивающую шифрование всей передаваемой и получаемой информации.

    Протокол WAP может опираться на работу протоколов передачи данных CSD или GPRS. Если ваш оператор сотовой связи предоставляет выбор, используйте WAP-GPRS. Это будет быстрее и дешевле.

    Создаём WAP-сайты. Часть 2. Основы WML

    WML – Wireless Markup Language – это язык, который используется для описания страниц WAP-сайтов. Сегодня мы изучим основы WML. На самом деле всё довольно просто – достаточно один раз понять, как функционирует WML, и в дальнейшем вы сможете создавать сайты для сотовых телефонов и продолжать изучение тонкостей этого языка.

    Прежде чем мы начнём, хочу обратить ваше внимание на пару важных правил, касающихся создания WAP-сайтов. Первое правило – не использовать на сайтах картинок размером больше, чем 100х100 пикселей (а также – придерживаться формата WBMP, если хотите, чтобы ваш сайт могли просмотреть на как можно большем количестве аппаратов), и второе – стараться не делать WAP-странички больше 3-4 Кб, иначе некоторые сотовые телефоны не смогут с ними справиться.

    Самое главное о WML

    Если вы знакомы с HTML, это значит, что самое главное о WML вы уже знаете. Если нет – тогда внимательно посмотрите на эту строку:

    То, что вы видите, называется тег (tag по-английски). В частности, это тег, который служит в WML для разделения текста на абзацы. Всё, что находится между p и /p, браузер воспримет как абзац и выведет на экран без p и прочих «посторонних» символов. Несложно понять, что первая последовательность символов – это открывающая часть тега, вторая – закрывающая. Обратите внимание на то, что в открывающей части тега есть надпись align = « alignment ». Align – это свойство абзаца, которое отвечает за его выравнивание. Например, оно может принимать значения Center (Выровнять по центру), Left (Выровнять по левому краю) и некоторые другие.


    Тег абзаца может быть записан и так:

    По умолчанию абзац выравнивается по левому краю – то есть, если не указывать в открывающей части тега никаких параметров, то текст, заключённый в нём, будет выровнен по левому краю.

    Теперь давайте зададимся простым вопросом: «Как нужно использовать тег p для того, чтобы вывести слово «Привет!» по центру страницы?». Ответ очевиден: написать такой вот текст:

    Одни теги могут включать другие, например, тег i используется для того, чтобы сделать шрифт курсивным и т.д.

    Весь WML-документ состоит из таких вот тегов. Наверное, у вас уже возник вполне закономерный вопрос о том, как выглядит этот документ. Сейчас мы на него ответим.

    Ниже приведён шаблон WML-документа. Он почти пустой – если сделать WAP-страничку такого вида, то при загрузке её на телефон будет выведена лишь фраза «Привет!».

    Теги, включенные в другие теги, даны с отступом.

    Так выглядит страница-шаблон на экране сотового Motorola V535

    А так – в браузере Opera

    Основная часть документа заключается между тегами wml и /wml. Перед тегом wml находится пролог – он определяет версию XML, URL определения типа документа и кодировку документа. Пролог должен присутствовать в каждом WML-документе.

    При конструировании WAP-страниц применяется принцип колоды карт. Документ содержит несколько небольших страничек, лишь одна из которых отображается на экране устройства, в то время как остальные хранятся в памяти устройства и ждут своего часа. Обратите внимание на теги card и /card — это теги одной из карт документа. Таких карт может быть несколько, они различаются по идентификаторам карты – параметром Card id тега card. По идентификатору можно обращаться к карте из других карт. То есть, например, если одна из карт отображается на экране, на ней можно разместить ссылки для перехода на другие карты. Среди параметров тега card можно отметить ещё один – Title. Его содержимое выводится в виде заголовка страницы.

    Как вы уже, наверное, поняли, то, что расположено между тегами card и /card, и будет отображаться на экране. В нашем случае это слово «Привет!», выровненное по центру.

    Для того, чтобы обратиться к другой карте WAP-документа, можно использовать следующую схему:

    Этот текст добавит на WAP-страничку кнопку с надписью «Следующая страница», после щелчка по которой браузер отобразит карту с именем NameOfCard.

    Следующий пример WAP-документа представляет собой документ с двумя картами, между которыми осуществляется навигация:

    Первая карта документа в браузере Opera

    Вторая карта документа в браузере Opera

    Думаю, вы сможете разобрать этот пример самостоятельно. А если вы ещё не писали WAP-странички – сейчас как раз самое время это сделать и опробовать ваш инструментарий WAP-разработчика на практике. Если вы сохраняете страничку в Блокноте – при сохранении измените кодировку документа на UTF-8. Если вы используете Денвер в ваших экспериментах – обратите внимание на диск Z, который появится у вас в окне Мой компьютер. На этом диске пройдите по пути Z:\home\localhost\www\wml. Например, поместив в эту папку файл с именем 2m.wml, вы сможете открыть его в браузере Opera по адресу: http://localhost/wml/2m.wml.

    Различные элементы WAP-страниц

    Выше мы рассмотрели лишь шаблон WAP-странички, особенности навигации по WAP-сайту да добавление текстовых строк. Но обычно на сайтах есть ещё и другое содержимое – это ссылки для перехода на другие сайты и для скачивания файлов, картинки, таблицы.

    Для того, чтобы добавить на сайт ссылку на другой ресурс, используйте такую конструкцию:

    Между тегами a и /a располагается выводимый текст гиперссылки, а параметр href содержит саму ссылку. Причём, для того, чтобы открыть какой-нибудь файл, расположенный в той же директории, что и тот файл, который вы просматриваете в браузере, достаточно в качестве параметра href указать имя этого файла. Например, для того, чтобы открыть WAP-страничку, можно воспользоваться такой ссылкой:

    Такая же конструкция используется для создания ссылок, которые позволят загружать на телефон музыкальные, графические, видеофайлы, файлы программ. Например, тег ссылки для загрузки MIDI-файла может иметь такой вид:

    Для того, чтобы добавить на сайт картинку, которая будет отображаться в браузере, используйте такой тег:

    Тег img не имеет закрывающей части. Параметр src содержит адрес картинки, которая будет выведена, а параметр alt – текст, который будет выведен, если отображение картинки по каким-либо причинам будет невозможным.

    Для того, чтобы вывести таблицу, можно воспользоваться такой конструкцией:

    WAP-страничка, насыщенная разнообразными элементами в браузере Opera


    Этот код позволит вставить в документ таблицу, состоящую из 3-х столбцов и 2-х строк. Теги table и /table задают начало и конец таблицы. Свойство Border задаёт толщину границ таблицы. Внутри таблицы тегами tr и /tr выделяются отдельные строки, а внутри тегов используются теги td> и /td (ячейки таблицы), внутри которых содержатся элементы строк таблицы. Получается, что количество строк в таблице определяют теги tr, а количество столбцов — td.

    Описанная методика создания WAP-сайтов универсальна, так как позволяет создавать сайты, поддерживаемые подавляющим большинством современных и достаточно старых телефонов. Если же вы собираетесь разрабатывать сайты, которые рассчитаны на современные телефоны – вам имеет смысл изучить XHTML Mobile – он очень похож на обычный HTML, имеет практически такие же возможности.

    Узнать подробности о WAP и других мобильных технологиях можно на следующих сайтах:

    Теперь у вас есть возможность поэкспериментировать с WML, а в следующий раз мы поговорим о PHP и MySQL.

    © Заика Александр, Mobiset.ru
    Дата публикации статьи — 17 июня 2008 г.

    Твитнуть

    Наша группа ВКонтакте — присоединяйся!

    Оперативная и эксклюзивная информация — в 140 знаках! Подписывайтесь на наш канал:
    Читать @Mobiset

    Мобильные приложения сокращают разрыв

    Мобильный телефон — уже больше, чем просто телефон, а поддержка стандарта WAP еще больше расширяет его возможности. Однако небольшие размеры экрана, ограниченная память, монохромная графика и маленькая клавиатура накладывают свои (зачастую очень серьезные) ограничения на использование этой технологии. Тем не менее разработка приложений для WAP — дело перспективное, поскольку эта технология способна обеспечить сервисы, недоступные для других решений. Это, в первую очередь, связано с тем, что в качестве терминала WAP используется обычный мобильный телефон, который распространен сейчас даже больше, чем персональный компьютер. Да и понятно: он в несколько раз дешевле ПК. Поэтому WAP-приложения могут стать даже популярнее традиционных Internet-систем.

    WML — мобильный HTML

    Свойства WAP-приложений в основном зависят от языка разметки, который применяется для описания информации. Язык этот называется WML — Wireless Markup Language (язык разметки для беспроводных коммуникаций). Он является подмножеством XML и по «внешнему виду» напоминает HTML — с той лишь разницей, что все теги должны быть закрытыми (требование стандарта XML). Однако описание содержания страниц заметно отличается от принятого в HTML, поскольку экран мобильного телефона мало чем похож на экран монитора.

    В WML задействуется метафора колоды карт, а не последовательности абзацев, как в HTML. На экране телефона отображается текущая карта, хотя в память загружается вся колода. Ограничение на размер карты — чуть больше 1 Кбайт. На странице также может располагаться картинка, но пока поддерживается только один формат изображений — монохромные и не архивированные в формате WBMP. Гиперссылки в WML также имеют свои особенности, поскольку указывают не на страничку, а на одну из карт колоды (по умолчанию — на первую). Из полезных дополнений, которых нет в HTML, отметим возможности программировать определенные клавиши телефона, использовать таймеры и вообще описывать обработку событий. Эти функции приходится реализовывать с помощью дополнительных средств JavaScript.

    В соответствии с перечисленными свойствами WML WAP-приложение легко преобразуется в стандартное Web-приложение, а обратную операцию выполнить несколько сложнее. Это связано и с использованием метафоры колоды карт, и с ограничением на размер карты, и некоторыми другими факторами. В частности, поскольку WML является подмножеством XML, то благодаря простой трансформации одного XML-документа в другой с использованием стиля XSL WML-колода становится полноценной XHTML-страничкой, которая корректно отображается на Internet-браузере.

    Какими бывают WAP-приложения

    Поскольку WAP позволяет просматривать информацию с помощью мобильных телефонов и PDA, было бы логично задействовать эту технологию для обеспечения доступа к быстро меняющимся ресурсам (в частности, сотрудники компании смогли бы просматривать на экране мобильного телефона электронную почту, календарь или адресную книгу). Однако при создании подобных приложений следует помнить, что набирать текстовые сообщения на клавиатуре мобильного телефона достаточно сложно. Упрощают интерактивную работу шаблоны, в которых нужно просто выбирать нужный ответ из списка.

    WAP можно использовать для распространения новостей, однако из-за ограничения на размер одной WML-карты новость приходится передавать не всю, а небольшими блоками — чтобы не перегружать память WAP-терминала. По WAP хорошо распространять формализованные новости, такие как курсы валют или сводки погоды в регионе. Кроме того, WAP подходит для организации переговоров или бесед, то есть сервисов, аналогичных ICQ или chat. Правда, опять же учитывая небольшие размеры клавиатуры мобильного телефона, стоит разработать формализованные ответы, которые выбираются из списка.

    Самыми интересными WAP-приложениями являются геоинформационные сервисы, привязанные к местонахождению телефона. С помощью специального оборудования оператор определяет это место по географическому расположению базовых станций, с помощью которых функционирует конкретный телефон. Такое оборудование, как правило, у операторов есть, но пользоваться им они не торопятся.

    Как строить WML-приложения

    Уже существуют программные продукты, позволяющие строить приложения для WML. Их выпускают и компания Lotus, интегрировавшая поддержку WML в сервер Domino, и фирма Oracle, которая специально для WML создала Oracle9i Application Server Wireless Edition. Созданы и различные варианты шлюзов между WAP и традиционным Internet, в том числе поставляемых с исходными текстами. Кроме того, практически все производители мобильных телефонов с поддержкой WAP предлагают средства разработки приложений для этой технологии.

    Есть также продукты, позволяющие создавать системы публикации для просмотра информации с помощью как обычного браузера, так и WAP-терминала. Одним из таких продуктов является сервер Rhythmyx компании Percussion. Тексты для публикации в этой системе готовятся на специальном подмножестве языка разметки XML, а затем, в зависимости от применяемого браузера, преобразуются в формат WML (для WAP-терминалов) либо HTML (для компьютерных браузеров). Структурная схема данной системы публикаций приведена на рисунке.

    Система публикации документов, позволяющая просматривать информацию как традиционными браузерами, так и WAP-терминалами

    Основные же проблемы при разработке WAP-приложений связаны с использованием в качестве терминала мобильного телефона с его маленьким экраном. Размер экрана — всего 100х100 черно-белых точек без градаций яркости. Фактически на такой терминал допускается выводить только текст и крупные иконки. Да, собственно, и текста на экране помещается не очень много, поэтому приходится разбивать большие тексты на несколько фрагментов и задействовать разветвленные системы навигации. Однако оператор способен приблизительно определить местоположение владельца телефона, и, учитывая эту особенность WAP-приложения, можно сократить время навигации (например, если выдавать разные меню в зависимости от того, находится пользователь дома или на работе).

    Единая же система публикации документов для HTML и WML объединяет возможность мобильного и стационарного доступа. Так, при доступе с WAP-терминала можно предоставлять посетителю только актуальные данные, а при обращении того же пользователя с браузера выдавать развернутую информацию. Скажем, не возбраняется построить систему, позволяющую с помощью браузера настраивать навигацию и работать с WAP-терминалом. Новые средства разработки помогают строить подобные смешанные системы, обеспечивающие сглаживание ограничений WAP-технологии.

    По мнению специалистов аналитической компании IDC, объем рынка промежуточного ПО, обеспечивающего взаимодействие устройств мобильной связи с другими приложениями и сетевой инфраструктурой, в самое ближайшее время начнет стремительно развиваться. В своем новом отчете под названием «Mobilizing the Enterprise: Mobile Middleware Market Forecast and Analysis, 2000-2005» IDC утверждает, что уже к 2005 году его объем достигнет 1,5 млрд долл. (для сравнения: в минувшем году его объем равнялся 137 млн долл.). Среднегодовые темпы прироста составят 61%.

    Основными стимуляторами спроса на такое программное обеспечение аналитики называют стремительное распространение портативных устройств и рост использования услуг сотовой связи для нужд бизнеса. Особенно заметны эти тенденции в США и Западной Европе: по прогнозам IDC, к 2004 году число корпоративных и частных абонентов, регулярно задействующих мобильные устройства для приема, передачи и обработки данных, достигнет там 27 млн и 18 млн человек соответственно.

    Повышение активности корпоративных пользователей не останется незамеченным разработчиками, которые начнут создавать новые продукты для этого потребительского сегмента. Аналитики считают, что для достижения успеха на данном рынке исключительно важно строить комплексные партнерские отношения с системными интеграторами, консалтинговыми фирмами, сервисными компаниями, разработчиками прикладного ПО и поставщиками услуг. Такие альянсы придадут уверенность корпоративным заказчикам при внедрении услуг мобильной связи в критически важные для поддержания бизнеса процессы.

    Поделитесь материалом с коллегами и друзьями

    Мобильный интернет. WAP — новая технология сетевой коммуникации


    Сейчас очень модно присобачивать возможность выхода в Мировую Паутину к самым, казалось бы, неприспособленным для этого устройствам. Чего только не придумали! И в холодильник интернет засовывали, и в микроволновую печь пихали, и через телевизор в Сеть лазали, из авто так уж и вовсе стало обыденным делом прохаживаться по интернету, стоя в пробке. Даже в самолетах VIP-места оснастили прямым доступом к XXX-сайтам и прочим прелестям Сети. Настала очередь мобильных телефонов. Причем подобное решение давно, что называется, лежало на поверхности, но нормальной реализации все не было. До появления WAP . О достоинствах и недостатках, истории и перспективах развития этой новейшей технологии мы сегодня и поговорим.

    Сквозь тьму веков
    WAP расшифровывается как Wireless Application Protocol , что по-русски означает — протокол беспроводных приложений . Есть и другой вариант расшифровки: Wireless Access Protocol — протокол беспроводного доступа . И то, и другое определение точно отражает суть WAP, поэтому никто не спорит, какое из них более правильное. Если же говорить бытовым языком, то WAP — это средство получения доступа к ресурсам интернета посредством мобильного телефона (или другого портативного устройства).
    Лет пять назад цивилизованный мир узнал о новой разработке гигантов телефонного хай-тека ( Nokia , Motorola , Phone.com , Ericsson ). Это был WAP . Изначально задумывалось, что с помощью нового протокола люди смогут заказывать билеты на самолеты и поезда, совершать банковские операции и делать покупки в супермаркетах. Но, несмотря на все усилия разработчиков, WAP не прижился. Низкая скорость передачи данных, слабая защищенности каналов, дороговизна. Причин было много. WAP умирал. Но пришло спасение, и имя ему было GPRS — высокоскоростная пакетная передача данных. Скрестив эти технологии, разработчики WAP избавились практически от всех недостатков своего творения. А так как большинство моделей «трубок» уже имели в своем арсенале как GPRS, так и WAP, успех дуэту был обеспечен.
    На сегодняшний день «мобильный интернет» (так часто называют WAP) становится все более популярным. Цены на услугу становятся ниже, безопасность и скорость — выше. Новые WAP-порталы появляются как грибы после дождя (подборку наиболее интересных из них смотрите на отдельных текстовых блоках). Отрадно и то, что теперь стало возможным отправлять и получать e-mail через WAP. Некоторые порталы предлагают пользователям WAP-игры. Не Quake III, конечно, но некоторые очень интересные. Осталось впихнуть в мобильник ICQ (разработки уже есть) — и мечтать о том, что, мол, «скорее бы домой, скачать почту, поболтать в аське», больше не придется. Можно будет делать это откуда угодно.

    Сумма технологий
    Теперь рассмотрим основные нюансы в работе WAP на примере мобильных телефонов: PALMы есть далеко не у каждого, а вот мобильником давно обзавелись даже многие бедные студенты. Главная особенность протокола заключается в том, что вся информация проходит (в обоих направлениях) через специальную «дырку», известную также как WAP-шлюз. Дело в том, что технически мобильный телефон не может воспроизводить информацию в том виде, в котором она публикуется в интернете. Проблема в дисплее мобильных телефонов. Ни их размеры, ни цветовые возможности не позволяют пользователю насладиться всеми прелестями Сети. Да и скорость передачи данных не дотягивает даже до «среднемодемной». Поэтому разработчики WAP и придумали хитрую штуковину — WAP-шлюз. Главная и единственная функция этого изобретения — преобразование информации в удобный для мобильного телефона формат. Точнее говоря, для WAP-браузера, установленного на телефоне. От браузеров для PC он отличается тем, что ни цветные изображения, ни звуки, ни JavaScript, ни уж тем более Flash ему не по зубам. Его скромные возможности (для версии 1.2) — отображение текста, черно-белых картинок и ссылок на другие WAP-документы. Скажете, негусто? Чтобы читать анекдоты и гороскопы, узнавать последние новости, играть в простенькие игры — более чем достаточно.

    WML Wireless Markup Language – Язык разметки для мобильных телефонов (WAP)

    WAP — средство получения доступа в ресурсам Интернет посредством мобильного телефона. Прим этом пользователь не прибегает к помощи каких бы то ни было дополнительных устройств, таких как компьютер или модем. WAP ( Wireless Application Protocol ) — это протокол, или технический стандарт, описывающий способ, с помощью которого информация из Интернет передается на небольшой дисплей мобильного телефона. В этом-то и заключается основное отличие WAP от привычных методов доступа во всемирную сеть, которые обеспечивают обмен информацией и просмотр Web — сайтов (протоколы HTTP и TCP/IP ).

    Теоретически, если бы экран мобильного телефона «умел» отображать столько же информации, как и дисплей компьютера, то и не было бы WAP в таком виде, в каком он предоставляется сейчас. Но дисплеи мобильных телефонов, даже имеющих большое разрешение, не могут «вместить» обычные Web — страницы. Именно это послужило причиной создания специальных способов, позволяющих пользователям мобильных телефонов использовать Интернет.

    Чтобы пользоваться WAP , необходимо иметь мобильный телефон с WAP — браузером. WAP-браузер, это программа, записанная в память телефона и отвечающая за обмен информацией и отображение ее на дисплее ( Internet Explorer — Web-браузер для обычных компьютеров). WAP-браузер имеют не все телефоны.

    С появлением WAP-протокола абоненты сотовых сетей получили возможность пользоваться рядом сервисных услуг и на специальных WAP-сайтах: такими, как электронная почта, электронные магазины, бронирование билетов и мест в гостиницах, доступ к своему банковскому счету, информационные каналы (новости, прогноз погоды, курс валют, и т.д.) и даже электронный гид. Во всемирной сети с каждым днем появляется все больше и больше WAP-ресурсов. Для многих популярных Web-сайтов созданы их WAP-близнецы, которые предоставляют «мобильным» пользователям тот же набор услуг.

    Для тех, кто хочет оценить тот или иной WAP-сайт не отходя от своего компьютера, существуют WAP-эмуляторы , которые позволяют воспроизвести работу с WAP на дисплее мобильного телефона. Для отображения информации на экране сотового телефона используется, как правило, четыре строки. Главный принцип представления информации на сотовом телефоне — разбиение данных на небольшие блоки размером в два-три экрана WAP-телефона. Это может быть информация о курсах валют, котировках ценных бумаг, или, например, небольшое письмо.

    Цель этой статьи — представить базовые возможности WML (Wireless Markup Language) — языка разметки для работы в Интернет беспроводных устройств (WAP), основанный на XML . Назначение WML — описание контента и пользовательского интерфейса для особого класса узкополосных устройств, типа Palm Pilot, сотовых телефонов и пейджеров.

    WML специально «заточен» (и продолжает «затачиваться») с ориентацией на ограничения подобных устройств, а именно: малоформатный экран, узкую полосу пропускания канала связи, малую собственную память и ограничения на «вычислительные» способности. По этой причине, и из-за острой нужды в стандартизации, в языке «визуальной разметки» для WAP устройств свое законное место заняла идея хорошо структурированных данных — WML наследует синтаксис XML.

    Трудно ожидать, что кто-то будет подключать к сотовому телефону мышь, поэтому модель » point-and-click » для WAP не годится (по крайней мере, видимо так считает группа разработчиков языка), и большая роль в WML отводится другим механизмам событий. Доводы здесь те, что у пользователя должен быть шанс на управление голосом, либо еще какие-то варианты, кроме кнопочных. Экраны WAP устройств выглядят достаточно по-разному, встречаются вертикальные и горизонтальные, но объединяет их все то, что они предельно малоформатны.

    Сам WML выглядит как «HTML для бедных», но с чуть более жесткими требованиями к парности тегов, использованию регистра и обрамлению атрибутов кавычками. Используемые компоненты синтаксиса в WML — это символьные сущности, элементы, атрибуты, комментарии, переменные и секции CDATA .

    WML скуп на возможности представления — набор поддерживаемых тегов невелик, и язык основан на нетипичной метафоре колоды карт, хотя сильных аргументов в защиту этого построения из просмотренных источников у меня не сложилось.

    Метафора игральных карт

    Краеугольный камень WML-дизайна — колода игральных карт — набор показываемых по отдельности карточек (экранов), хранящихся в памяти. То есть, если для обычного сайта единицей является Web-page, то единица WML — это deck , состоящая из одной или нескольких card , составляющих вместе WML-документ (wml-файл).

    Как только wml-файл загружен в устройство с сервера, пользователь может листать экраны, переходить к следующему или возвращаться к предыдущему, не ожидая загрузки с сайта, что, конечно, выгодно по скорости.

    Во-первых, старые языки

    Наконец мы добрались до самой интересной части: написания кода! Если вы сразу начали читать эту главу и пропустили предыдущие, я настоятельно рекомендую вернуться и прочесть их. Мобильная веб-разработка это не только кодинг, важно понять всю экосистему, в том числе какие на рынке есть браузеры и устройства, знать последние тенденции в мобильном дизайне и юзабилити. Тем не менее, давай рассмотрим доступные для разработки языки и соответствующие стандарты.

    Вряд ли сегодня кто-то использует эти языки в разработке, но, тем не менее, знать хотя бы основные понятия старых языков разметки может быть полезно. В какой-то момент они могут понадобиться тебе для переноса старых мобильных сайтов или для работы со старыми устройствами и мне бы не хотелось совсем их пропускать.

    Одним из первый языков разметки, который применялся в мобильной разработке был HDML (Handheld Device Markup Language). Как и HTML, этот язык был создан компанией Unwired Planet (эта компания со временем стала называться Openwave, а еще позже была поглощена Myriad Group). И хоть этот язык так и не стал стандартом, он значительно помог в создании WML.

    Почему сразу не HTML?

    HDML — первый специализированный язык для мобильной разработки появился в 1996 году. Так почему сразу не пользовались уже известным тогда HTML? Здесь было несколько нюансов. Во-первых, мобильные устройства были настолько функционально ограниченны в своей возможности работы с Вебом, возможностях CPU и ресурсах памяти, что требовались такие решения, которые бы требовали минимального рендеринга со стороны устройства. Мобильный браузер тех времен просто не смог бы обработать разметку с ошибками и решить, что делать, если бы разработчик, например, забыл закрыть тег. Во-вторых, стоял вопрос отображения в разметке специфических для мобильных устройств функций, например сочетания клавиш. Со временем мобильные устройства развивались и стали такими, какими мы их знаем сегодня. Сейчас некоторые мобильные устройства более функциональны и уже используют HTML 5.0, еще до завершения работы над стандартом.

    WML был включен в стандарт WAP 1.1 и это был первый стандарт для мобильной разработки. WML был стандартизирован не привычной нам организацией World Wide Web Consortium (W3C), а WAP Forum (теперь это Open Mobile Alliance) — организацией, которая была организованна сообща многими игроками мобильного рынка и занимается вопросами стандартизации в мобильном Вебе.

    Мы уже говорили, что WML сегодня абсолютно устаревший. И хоть сегодня любой смартфон поймет язык WML, я хочу чтобы ты его считал не действующим стандартом, а историческим языком, чем-то вроде латыни. Возможно, в зависимости от твоих целей, ты все еще хочешь сделать версию проекта на базе WML, как на рисунке 5.1, но это явно не то, с чего нужно начинать.

    А вообще, браузеры с движком WebKit (iPhone, Android, Palm) уже не читают этот формат (рисунок 5.2). WML использовался для разметки во времена стандарта WAP 1.1 и его первая (и она же последняя) версия была создана в 1998 году. Вспомни, какими были телефоны в то время. Но, тем не менее, если забить в поиск Google фразу «filetype:wml», то получишь более 2 миллионов результатов в выдаче. И это при том, что Google не индексирует большую часть WAP 1.1 мобильного Интернета.

    Я спрашивал разработчиков некоторых крупных мобильных порталов об их опыте использовании WML. Я получил отличный ответ от представителя Weather Channel (http://m.weather.com) Cathy Rohrl, Product Manager:

    WML-сайт сегодня это не такая уж и большая проблема. Его было легко и просто сделать. Но самое важное в WML сегодня то, что он поддерживает концепцию доступа «всем и везде». Таким образом вы привлекаете в к своему сайту людей с со старыми мобильными телефонами. Возможно еще год-другой и мы законсервируем сайт, но, даже в таком случае не думаю, что мы сразу «убьем» его. Просто сайт больше не будет активно поддерживаться.

    Частные доклады U.S. traffic по поводу мобильнго сайта The Weather Channel показывают, что в 2008 году доля WML-трафика составляла 5%, в 2009 она упала до 2%, а в начале 2010 еще уменьшилась.

    WML-файл — это файл XML, для которого обычно используется расширение .wml. В нем есть что-то общее с HTML, но в тоже время во многих моментах он сильно отличается. Давай посмотрим на типичный WML-файл:

    В этом примере можно увидеть стандартные HTML-теги p, b и a и выполняют они здесь точно такие же функции. Также для обоих стандартов общими являются теги img, br и input.

    В XHTML-файлах сегодня распространено использование самозакрывающегося (selfclosed) тега
    вместо классического
    без закрытого тега. WML, как один из первых языков разметки на основе XML, был пионером в использовании самозакрывающегося тега.

    WML сегодня

    WML был заменен стандартом WAP в 2002 году, но при этом продолжал оставаться резервным вариантом разметки для старых устройств. Сегодня только очень немногие компании вынуждены делать WML-версии сайтов для совместимости со всеми мобильными устройствами на рынке. Для некоторых крупных сайтов тоже доступны WML-версии, но вот если посмотреть на два всем известных сайта Twitter и Facebook, то они как раз не предоставляют WML-версий для своих популярных сервисов.

    В 2009 году доля WML-трафика составляла меньше 2%, а на сейчас, думаю, уже меньше 1%.

    Тем не менее, между WML и HTML есть различия. Во-первых, WML-файл начинается с корневого тега wml после идет декларации DOCTYPE. Документ WML также называют декой (deck). В каждой деке может быть много карт (card). Карта, которая идентифицируется тегом с таким же названием — это одна видимая страница в браузере, похоже на содержание тега body в HTML. Таким образом в WML файле в одном документе могло быть несколько страниц (рисунок 5.3). В целом, в начале 2000-х это было отличное решение для улучшения производительности мобильного Веба.

    Document Type Declaration (или DOCTYPE) это инструкция в XML-документе (или SGML документе, например HTML), которая показывает браузеру, как этот документ сопоставить с Document Type Definition (DTD) и, таким образом, как «понимать» этот документ.

    WML был создан для мобильных устройств, а, значит, мы можем найти здесь теги и атрибуты, поддерживающие специфические мобильные функции (например, голосовой вызов, поддержка клавиатуры, функция добавления контакта в телефонную книгу, доступ к SIM-карте). Самое лучшее здесь то, что мы можем использовать хорошо знакомый тег ссылки (anchor) для создания абсолютных ссылок, ссылок на относительный документ или же на другую карту в этом же документе используя #card_name URL.

    В WML шаблон на несколько карт сразу очень полезен. При помощи JavaScript, DOM и даже Ajax мы будем использовать этот прием на наших современных мобильных сайтах.

    О WML можно говорить очень долго. У меня вообще-то на полке стоит книга о WML и в ней 600 страниц. Но честно говоря, для современного разработчика страницы на WAP 1.1 настолько просты, что для понимания сути WML тебе хватит и такого краткого вступления.

    WML не совместим с СSS, а в качестве минимальной поддержки дизайна доступны теги big, small, b и i, использующий механизм «best effort» (лучшего восприятия). Во многих старых WML-браузерах был вообще только один шрифт, причем без поддержки полужирного варианта или курсива.

    Если тебе все еще интересны возможности WML, то можешь для создания WML-файла воспользоваться Adobe Dreamweaver с поддержкой подсказок. При выборе File→New, тип WML найдешь в разделе «Other». Конечно, для создания WML-документа можно также воспользоваться любым текстовым редактором и WML-совместимым эмулятором: сегодня самым лучшим считается эмулятор для Nokia Series 40 (работает только на ОС Windows), потому что он эмулирует реальный механизм рендеринга и, кроме того, работает на современных декстопных компьютерах с ОС Windows Vista или 7.

    WML не был одинок

    В WML не поддерживались GIF, JPG или PNG изображения (хотя, некоторые браузеры с появлением цветных экранов уже могли принимать изображения в формате GIF и JPG). В файлах WML изображения обычно были в формате WBMP (Wireless Bitmap). Скрипты поддерживались благодаря использованию языка WMLScript (был разработан на базе ECMAScript). Эти языки нет смысла обсуждать, просто знай что они были. Можешь, конечно, рассказать о них своим внукам. WBMP — растровый монохромный (черный и белый цвет) файл с минимальным размером изображения.

    Также часто встречается скомпилированный WML и файлы WMLScript. Эти файлы компилируются разработчиком, прокси или шлюзом WAP, который стоит между пользователем и веб-сервером. Для компиляции файлов WMLScript есть бесплатный инструмент Nokia Mobile Internet Toolkit и он даже сегодня доступен для скачивания.

    Обеспечение работы WML

    Для обеспечения корректной работы WML тебе нужно настроить сервер (или свой динамический код), чтобы установить правильный тип MIME. В таблице 5.1 приведен список совместимых с WAP 1.0 типов MIME, а в таблице 5.2 — информации о совместимости этих файлов с современными устройствами.

    Илон Маск рекомендует:  Что такое код ingres_fetch_row
    Понравилась статья? Поделиться с друзьями:
    Кодинг, CSS и SQL