Технология Curl

Технология Curl

Программирование » Curl » Технология Curl

Сегодня еще очень мало конкретных решений и стандартов для Интернет-2. Можно лишь с уверенностью сказать, что пока новый стандарт предполагает более высокую скорость доступа, широкое использование стандартов bluetooth и wap. Но самое главное, что нововведения должны коснуться основного - языков программирования. Предполагается создание общего, стандартного для всех платформ языка отображения вебстраниц и программирования, упрощающего работу программиста и ускоряющего работу браузера. За такую разработку взялись многие фирмы, обещаний много, но реальных решений пока очень и очень мало. Одним из таких решений является новый язык программирования Curl.

Знакомьтесь, язык программирования Curl - разработан Curl Corporation (www.curl.com), основанной 12 сотрудниками MIT в Кембридже в 1998 году. Язык разрабатывался специально для применения в Интернете и в частности в World Wide Web. Разработка проводилась при финансировании и участии Массачусетского Технологического Института (Massachusetts Institute of Technology (MIT)). Curl Corporation "за разработку программного языка нового поколения для компьютеров и коммуникаций" получила гранд, учрежденный World Wide Web Consortium (W3C). По утверждению администрации компании, технология Curl универсальна и обеспечивает явные преимущества, как для конечных пользователей, так и для разработчиков и интернет-провайдеров.

На вопрос "Зачем создавалась технология Curl?", основатель Curl Corp. Дэвид Кранз (Dr. David A. Kranz) отвечает: "Когда пользователь запускает различные программы на локальном компьютере, они работают быстро и надежно. Но ресурсы большинства компьютеров позволяют дополнительно запускать на этих ПК еще какие-нибудь программы, а возможно и игры. Однако прогресс не стоит на месте, компьютеры становятся все мощнее и мощнее, а пользователи ожидают от такого роста увеличения количества функциональных возможностей. Чего нельзя сказать об Интернете. Поэтому мы и решили создать новый язык, отвечающий новым требованиям и соответствующий новой эпохе".

Проблематика WWW

Наверное, все уже понимают, что World Wide Web это только начало, первый шаг на пути освоения виртуального пространства. Благодаря www, люди имеют доступ к множеству документов размещенных в разных частях мира, и для этого им нужно лишь знать уникальный адрес вебстраницы. В www используется три составляющих:

  • http-протокол, благодаря которому происходит обмен данными,
  • html - язык, описывающий формат документов и имеющий функции гиперсвязей с другими документами,
  • программы просмотра вебдокументов (браузеры), которые отображают html-страницы и ведут диалог с помощью http.

Однако при всех плюсах такого подхода существуют и отрицательные моменты www. Прежде всего, html был создан явно для пассивных документов, и поэтому не предусматривает взаимодействия с различными источниками информации, страницами, базами данных и не имеет встроенного контроля над формированием документов для правильного и адекватного их отображения в различных браузерах. Множество дополнительных технологий и языков программирования (JavaScript, DHTML, DOM, CSS) было создано специально для того, чтобы устранить эти недоделки и обеспечить дополнительное удобство во взаимодействии человека и Сети. Но и этот подход проявил свои недостатки, главный из которых - невозможность объединения приложений написанных на разных языках, что делает задачу программирования более трудной (и соответственно более дорогой), чем должно быть. Так как интерактивные компоненты в различных браузерах (и на различных платформах) каждой программой или апплетом отображаются по-разному, разработчикам приходится специально дорабатывать файлы под конкретные цели, браузеры, программы. А отсюда и медленная загрузка страниц (вызванная постоянными обращениями к серверу за изменениями и обновлениями на странице) и плохая гибкость, связанная с неэффективной передачей данных от сервера к клиенту (слишком большие объемы данных в передаваемых пакетах). И все эти недостатки в конечном итоге ведут к завышенной стоимости использования www пользователями.

Технология Curl была задумана, как альтернатива имеющемуся положению дел. Основная идея создания такого языка заключалась в его универсальности для всех типов браузеров, которые на основе полученного кода могли бы автоматически "подгонять" страницы под формат браузера (self-describing format), чтобы сам язык был компактным, понятным и удобным в использовании.

По уверениям разработчиков, язык Curl более гибкий, легкий, простой и безопасный в использовании, чем та же Java или Html. Причем, апплеты написанные на Curl, могут быть более функциональными и иметь больший уровень безопасности, чем написанные на Java. Кроме того, по уверениям разработчиков, Curl предлагает более надежные и безопасные решения, чем cookie и другие подобные решения в области секретности и безопасности. Понимая, что всего этого не достаточно для массового распространения языка, разработчики Curl сосредоточились на поддержке существующих стандартов. Уже сейчас есть поддержка XML, в котором Curl работает на стороне клиента и исполняется, как layer для XML data. Технологии Curl могут использоваться совместно с существующими веб-технологиями, например, с html-файлами, cgi-скриптами и мультимедийными приложениями. И естественно, если посетители ваших вебстраниц уже имеют поддержку Curl, то вы можете заменить все эти фалы исключительно Curl-файлами. Кстати, уже сейчас есть плагины для Internet Explorer и Netscape Navigator, которые можно установить себе и рекомендовать для всех посетителей сайта.

Все это так, но что конкретно может дать применение Curl? Вот те преимущества, которые декларируют создатели языка Curl:

Преимущества Curl для пользователей: язык обеспечивает более высокую скорость и эффективность загрузки файлов, удобную визуализацию и отображение вебстраниц. С применением Curl, за счет внедренного использования 2-D и 3-D графики, игры и графическая информация получили визуально более привлекательный вид и меньшее время загрузки. Более удобные решения, высокую скорость и интуитивно понятную навигацию получили сайты и веб-порталы, работающие в области e-commerce. Но самое главное, все эти и другие удобства, конечные пользователи получают не с появлением новых версий программ, операционных систем и прогрессом компьютерной техники, а просто установив необходимые plug-ins и компоненты Surge softwareв на своем компьютере.

Преимущества Curl для разработчиков и веб-дизайнеров: технология Curl облегчает создание вебстраниц и приложений, упрощает работу с контентом, сокращает расходы средств и времени на разработку и поддержку сетевых ресурсов. Может быть, впервые разработчики получили язык, совмещающий в себе объединенные возможности: функций языка отображения, функциональность скриптов и возможности объектно-ориентируемого программирования.

Преимущества Curl для провайдеров: быстрый доступ к веб-ресурсам, поддержка различных платформ, позволяют провайдерам понижать цену и улучшать качество доступа к сети Интернет.

Многоплатформенная поддержка: разработчики языка верят в будущее Интернета, и считают, что в скором будущем Интернет охватит гораздо больше коммуникационных инструментов, нежели привычный браузер на рабочем или домашнем ПК. Сейчас разработчики языка ведут работы по интеграции Curl с различными операционными системами помимо Windows (Apple, Macintosh, Linux) и различными устройствами, такими, как, например, PDA, мобильные телефоны с WAP-браузерами и любые устройства, имеющие выход в Сеть. Технология Curl позволяет применять однажды созданную разработку на всех этих устройствах без дополнительного согласования и переработки файла.

Помимо всего прочего, Curl Corp. поддерживает тактику открытых кодов и приглашает всех желающих принять участие в разработке и внедрении этого универсального языка. Единственное, на что обращают внимание разработчики языка, что корпорация сохранит контроль над той частью языка, которая отвечает за его мобильность, надежность и стабильность. О деталях инфраструктуры открытых кодов корпорация сообщит на www.curl.com в 1 квартале 2002 года.

И перед тем, как перейти к простейшим примерам, я хотел бы еще рассказать о том, что, например, такой известный брэнд, как Siemens уже использует этот язык в собственной Intranet сети. Причем в Siemens EIS (Executive Information System) язык Curl используется по полной программе, совместно с XML, 3-D графикой, базами данных и т.п. Думаю, авторитет этой компании и еще с десяток других (мало известных у нас, но знаменитых в США), создадут хорошую платформу для распространения Curl.

Ну а теперь, немного практических примеров. Все документы созданные с помощью этого языка сохраняются в виде *.curl . Как и в любом языке программирования, любой Curl-апплет начинается с определения, что данный апплет надо читать с помощью Curl.

{curl 1.7 applet}

{applet license="development"}

Здесь текст, который будет отображен в браузере. Других тэгов не надо.

Как видите, для отображения обычного текста понадобилось всего две строчки кода, никаких других тэгов использовать не надо. Следует лишь обращать внимание на заглавные и прописные буквы, Сurl к этому очень чувствителен. Например, если вы начнете апплет с указания {CURL 1.7 applet} браузер сообщит вам об ошибке. Специальный параграф-формат позволяет изменять размер отображаемого шрифта, выделять заголовки, так же, как это сделано в html-документах с помощью тэгов <h1> - <h6>. В Curl такие изменения делаются с помощью тэга Level=n. В Curl'е существует четыре Level-уровня:

  • Level=1 - 2 см
  • Level=2 - 1,5 см
  • Level=3 - 1,3 см
  • Level=4 - 1,2 см

Curl допускает и написание Level=10, но отображать он будет все равно Level=4. Вот пример того, как описывает заголовки текста Curl:

|| headings.curl (этот параметр отображает название файла)

{curl 1.7 applet}

{heading license ="development"}

{heading level=1, Здесь текст, который надо отображать в браузере }

{br}

{heading level=2, Здесь другой текст }

Если же надо нумеровать строки, то пишется это так:

|| numbered.curl

{curl 1.7 applet}

{applet license ="development"}

{number-heading level=1, Здесь текст }

Этот апплет будет отображаться так:

1 Здесь текст

Когда надо получить под-нумерацию, например, получить такой текст:

1 Здесь текст

1.1 Какой-то текст, пишут такой код:

|| numbered2.curl

{curl 1.7 applet}

{applet license ="development"}

{number-heading level=1, Здесь текст }

{number-heading level=2, Какой-то текст }

Существуют и другие модели отображения текста (типа: заголовок, нумерация, под-нумерация), но все они построены на основе этих кодов. Также есть возможность автоматически маркировать и нумеровать строки, по аналогии с html (<ul>,<ol>,<dl>):

Что в html выглядит так:

  • пункт 1
  • пункт 2
  • пункт 3

В Curl'е пишется так:

{itemize

{item пункт 1}

{item пункт 2}

{item пункт 3}

}

Если в первой строке этого кода сделать такое изменение

{itemize marker="bullet type",

{item … то можно определить форму маркера.

Выделение цветом в Curl'е не труднее сделать, чем текст написать:

{definition-list color="blue",

{term ЗАГОЛОВОК}

{definition Здесь текст}

}...

В этом случае весь текст будет синего цвета. Если же надо выделить цветом заголовок, надо об этом сделать дополнительное указание:

{definition-list

{term color="blue", ЗАГОЛОВОК}

{definition Здесь текст}

}...

Для таблиц в Curl есть тоже свои обозначения:

  • row - линии
  • header-row - титульная линия (где обычно пишут параметры)
  • сell - столбцы
  • header-cell - титульный столбец (где обычно указываются показатели)

Структура таблицы описывается так:

{table ...

{header-row

{header-cell}

{header-cell}

}

{row

{cell}

{cell}

}

...

}

В этом случае будет построена таблица без отображения границ и выделения цветом. Чтобы таблицу отобразить графически, Curl использует специальные тэги:

  • Cell-border-width - определяет ширину линии столбца в пикселях
  • Cell-border-color - определяет цвет линии столбца
  • Cell-border-style - один из шести возможных стилей, который может определять линию, как плоскую, рельефную, затененную и т.п.
  • Cell-margin - определяет расстояние между текстом и границей столбца

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

||table.curl

{curl 1.7 applet}

{applet license="development"}

{table cell-border-width=1, cell-border-style="raised",

cell-border-color="green", cell-margin=4,

{header-row

{header-cell background="pink", Люди}

{header-cell background="pink", События}

}

{row

{cell Иванов}

{cell font-style="italic", Позвонить}

}row

{cell Петров}

{cell font-style="italic", Зайти}

}

}

Curl немного похож на популярные С++, Java, Perl, Html. Самым удобным, простым и надежным редактором языка остается все тот же стандартный блокнот, входящий в пакет Windows, хотя, конечно, со временем появится множество удобных редакторов, позволяющих создавать страницы легко и быстро. Как мне кажется язык интересен и имеет право на жизнь, но вот приживется он у нас или нет - вопрос времени.

Александр Москалюк mailto:itc@moskalyuk.com

Отзывы (через аккаунты в социальных сетях Вконтакте, Facebook или Google+):

Оставить отзыв с помощью аккаунта ВКонтакте:

Оставить отзыв с помощью аккаунта FaceBook:

Оставить отзыв с помощью аккаунта Google+: