Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:
реклама
Можно выгодно тут заключить энергосервисный контракт для повышения энергоэффективности здания! , gopro штатив

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Технология Curl

Вячеслав Белов, viacheslavb@yahoo.com

Сегодня еще очень мало конкретных решений и стандартов для Интернет-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&gt - <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, хотя, конечно, со временем появится множество удобных редакторов, позволяющих создавать страницы легко и быстро. Как мне кажется язык интересен и имеет право на жизнь, но вот приживется он у нас или нет - вопрос времени.

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 

Комментарии

1.
Аноним
Мне нравитсяМне не нравится
7 мая 2006, 20:05:02
Хорошая, блин, идея!!! Но это полная утопия - заново создавать то что уже создано. Ребята преследуют ВЕЛИКУЮ цель, но невыполнимую!
Попробуем заглянуть в будущее...
Даже если вся планета когда-нибудь будет юзать браузеры с чистой курлой, когда все веб-дизайнеры его освоят, когда умрет жаба (как расширение, а может и совсем)... ActiveX умрет, но его функции возьмет на себя курла...
Юзеру останется запустить только браузер и смотреть, смотреть, смотреть великолепно сгенеренные страницы с 3Д-графикой и остальными наворотами...
Так вот, даже при этом раскладе CURL окажется в той же ситуации что и HTML сегодня! Каждый обладатель компьютера знает, что ничто не устаревает так быстро как компьютеры и еже с ними сети и сетевые технологии. CURLовцы будут шлепать релиз за релизом дополнения к клиентскому софту, а между тем найдется группа прогеров которые возьмут да и пришлепают апплету какую-нить (типа седня жабы). Welcome back, в прошлое!
Я совсем не против технологии как таковой, и даже более - крайне счастлив буду, ежели CURL осилит возложенные на него задачи, и с превеликим удовольствием возьмусь за его изучение (щас допишу, пойду мануалку рыть :) )... Вот только готов ли курл к этому? Просто страшно за будущее - пока что сабж - просто запутка лишняя, как для кодеров, так и для юзеров, а что дальше? Задача курла - полная стандартизация (я так понял высказывания Dr. David A. Kranz`a) того что сегодня уже стандартизованно, и как следствие - сметрь HTML`a... А кто может поручиться что не найдется еще команда прогеров которые возьмут да и разработают CURL-2 (может и совсем по-другому назовут). Итог: HTML умер, CURL оказался не готов (или не совсем готов) его заменить. ХАОС! Да и тем более: судя по отрывкам кода, это действительно просто извращенный HTML (если не касаться программинга - еще не видел кодов). А поддержка CSS, DOM и т.д... - уже реализовано? Если нет - то смерть курле... Нет ничего удобнее чем загнать стили в один файл, приаттачить к странице и вызывать классы.
Нееееееее... так не надо делать! Какие бы громкие заявления не кричались и какие бы благие цели не преследовались, надо следовать заветом Кузьмы Пруткова - "Зри в корень". Ведь на самом деле корень проблемы - разобщенность компьютерных технологий и языков. Не надо забывать про великий и могучий MustDieMocrosovt. До тех пор пока он на рынке, будет такая фигня: всё мировое сообщество стандартизирует, улучшает, дорабатывает, а Мокросовт - возьми да изобрети сверхновый ActiveXXX-rev.xx (для примеру), итог - опять все похерено!
P.S. Еще бы насичот безопасности че-нить почитать... архиинтересьненько... )))
2.
Аноним
Мне нравитсяМне не нравится
6 января 2006, 00:04:58
Из статьи я могу сделать вывод, что в curle изменили тэги html.
3.
Аноним
Мне нравитсяМне не нравится
19 декабря 2005, 16:44:12
Технология интересная но мне итересно как компилируеться?
(автоматически как HTML или программы надо!)
4.
Аноним
Мне нравитсяМне не нравится
23 ноября 2005, 11:57:13
Вы ребята гоните. Преимущества очевидны. Просто в статье расмотрены самые простые примеры, показывающие как curl может заменить html. А на самом деле на curl можно писать и полноценные программы. Допустим как на JavaScript или же обрабатывать все на сервере как PHP,Perl и даже писать на нем апплеты. Так что преимуцщество очевидно - все в одном. Больше не будет html, css, php, perl javascript. Будет один curl. :)))) Короче фигня это все, мне кажется.
5.
Аноним
Мне нравитсяМне не нравится
1 ноября 2005, 16:32:36
"Основная идея создания такого языка заключалась в его универсальности для всех типов браузеров, которые на основе полученного кода могли бы автоматически "подгонять" страницы под формат браузера (self-describing format), чтобы сам язык был компактным, понятным и удобным в использовании. "

1. html не менее универсален для всех типов браузеров.
2. а как быть дизайнерам, если каждый браузер будет по своему подгонять!? С хтмлом сейчас уже возникают проблемы из-за того, что каждый браузер показывает их спецефически. Кому это нужно?!
3. Посмотрел я примеры, не сказал бы, что язык удобнее и понятнее в использовании...

"Чтобы таблицу отобразить графически, Curl использует специальные тэги:

Cell-border-width - определяет ширину линии столбца в пикселях
Cell-border-color - определяет цвет линии столбца "
А чем это лучше css !?


Короче, один вопрос - ЗАЧЕМ!? ))



и вообще... совсем не ясно из статьи чем все-таки лучше и какие преимущества.

примеры - измененные теги хтмл...

Примеры СОВСЕМ не похожи ни на C++, ни на java, perl... Разве что на хтмл, только в извращенной форме...
6.
Аноним
Мне нравитсяМне не нравится
27 октября 2005, 19:25:49
Из статьи я могу сделать вывод, что в curle изменили тэги html.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог