Опубликован: 07.11.2006 | Уровень: специалист | Доступ: свободно
Лекция 19:

Flash, ColdFusion и Remoting

< Лекция 18 || Лекция 19: 1234567
Аннотация: В данной лекции рассматривается ещё один продукт Macromedia - ColdFusion. Дано краткое описание основных тэгов языка, а также рассказано об удаленном сервисе Flash Remoting. Flash Remoting облегчает разработчикам передачу сложных данных на сервер и с сервера.

Внимание! Для работы с этой лекцией необходимы учебные файлы, которые Вы можете загрузить здесь.

ColdFusion - это еще один язык сценариев на стороне сервера, предназначенный для тех же целей, что и PHP.

Если вы пропустили "Динамический Flash: PHP" , то вам определенно следует обратить внимание на параграф под заголовком "Два сервера Вероны", чтобы получить представление о том, что такое сценарий на стороне сервера.

Существует несколько языков сценариев на стороне сервера, например ASP, ASP.Net, Java Server Pages и Perl, однако в этой книге мы рассматриваем именно PHP и ColdFusion. Популярность PHP связана с высокой производительностью и бесплатным распространением. ColdFusion - программа вовсе не бесплатная, на момент написания этой книги ее Enterprise-версия стоила $4999. Профессиональная версия стоит $799, и это тоже немало.

ColdFusion (CF) разработан Macromedia для серверов приложений. Разработка приложений с помощью CF предоставляет разработчику несколько преимуществ. В этом пакете содержится среда быстрой разработки приложений (RAD), позволяющая разработчику легко создавать и публиковать веб-приложения, поскольку CF использует теговый язык разметки, наподобие HTML. Можно сказать так: то, что вы потратите при покупке CF, будет компенсировано сокращением времени разработки. Приложения, создаваемые с помощью CF, обычно занимают меньше времени, что, несомненно, экономит деньги разработчика или целой компании. CF очень легок в изучении, и вам не потребуется много времени, чтобы изучить все его особенности и научиться применять его на полную мощность. Из этого следует, что приложения CF могут разрабатываться быстрее, чем аналогичные продукты с помощью ASP и PHP.

Macromedia ColdFusion MX теперь работает с компонентами Flash Remoting, выступающими как средства связи между Flash MX и сервером. Компоненты Remoting в данный момент недоступны для PHP, так что здесь необходимо применять некоторые более старые методы.

Начнем изучение ColdFusion

Пробную версию ColdFusion MX можно загрузить с веб-сайта Macromedia по адресу www.macromedia.com/software/trial_download. Trial-период истечет после 30 дней, пакет переключится в режим IP и сервер CF будет доступен с IP-адреса, что позволит разработчику тестировать приложения. CF MX можно установить на серверах с Unix, Linux и Windows. Он также прекрасно интегрируем как с серверами IIS, так и с Apache-серверами. У CF MX сейчас есть отдельный веб-сервер, который можно использовать для разработки и тестирования. В процессе разработки приложений рекомендуется использовать один из вышеупомянутых веб-серверов. CF относительно прост в установке, и его настройка не займет много временем перед началом разработки приложений.

Имейте в виду, что если вы используете пробную версию ColdFusion MX на своем компьютере при работе с этой лекцией, вам необходимо перезагрузить компьютер после инсталляции перед тем, как непосредственно открывать CF Administrator и начинать работу.

Для создания CF-приложений можно использовать простой текстовый редактор, совместимый со многими операционными системами. Просто не забудьте сохранить ваши файлы с расширением CFM для шаблонов FC и CFC для компонентов CF. CFC будут рассмотрены позднее в этой лекции, когда мы затронем непосредственно само приложение. Существует несколько интегрированных сред разработки (Integrated Development Environments, IDE), такие как Macromedia ColdFusion и Dreamweaver MX. Эти программы намного облегчают разработку благодаря подсказкам в коде и файлам справки, объясняющим назначение различных тегов CF. Рассмотрим вкратце синтаксис CF и его назначение.

Основы

Написание кода CF не сложнее создания HTML-документа, и вы убедитесь в этом, как только изучите основные моменты работы с CF. В следующем примере показано несколько тегов CF и их синтаксис (в приложениях в конце лекции все будет рассмотрено подробнее). Изучив теги и их атрибуты, можно перейти к разработке сложных веб-приложений. Для начинающих проведем краткое рассмотрение основных тегов CF и объясним их назначение. Так как нам не хватит времени, чтобы рассказать обо всех тегах, начнем с наиболее важных, но в своем дальнейшем обучении вы можете отталкиваться от знаний, которые получите сейчас. На прилавках магазинов есть много хороших книг по CF, и я рекомендовал бы вам купить пару таких книг, если вы заинтересованы в продвижении в сфере программирования в CF.

Сначала мы рассмотрим настройку выходных переменных на странице. Переменные являются неотъемлемой частью программирования и могут быть использованы для хранения чисел, строк, массивов и структур. Чтобы установить переменную в ColdFusion, используется тег <cfset>.

<cfset variables.subject = "Flash Remoting">

Мы создали переменную с именем subject, содержащую значение "Flash Remoting". Теперь, после установки переменной, можно вызвать ее с помощью тегов <cfoutput>. С помощью этих тегов происходит интерпретация всего, что находится между знаками #, в качестве переменных.

<cfoutput>#variables.subject#</cfoutput>

Результатом этой строки будет значение переменной subject, которое выведется на странице. CF поддерживает множество типов переменных. Вот некоторые из них.

  • Переменные (локальные)
  • Form
  • URL
  • client
  • cookie
  • session

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

Рассмотрим простой шаблон, демонстрирующий настройку и вывод переменной на страницу. Можно создать файл в редакторе обычного текста, однако не забудьте сохранить его в файле с расширением CFM. Именем файла будет welcome.cfm.

<html>
<head>
<title>CF Example</title>
</head>
<body>

<!--- set the variable --->
<cfset subject="Flash Remoting">

<!--- output the variable --->
<cfoutput>
Welcome to the world of #variables.subject# 
</cfoutput>

</body> 
</html>

Имейте в виду: переменные CF не чувствительны к регистру, как в большинстве языков программирования, "subject" и "Subject" в CF являются одной и той же переменной.

Теперь нужно просто перейти на ваш локальный веб-сервер с CF и осуществить доступ к данной странице, т.е. перейти по адресу http://localhost/examples/welcome.cfm. На странице вы увидите надпись "Welcome to the world of Flash Remoting", однако сначала скажем несколько слов о комментариях, приведенных в коде выше. Как вы уже знаете, комментарии в HTML выглядят таким образом: <!- комментарий ->. Их можно использовать и в шаблонах CF, однако иногда предпочтительнее использовать комментарии CF. В них используется синтаксис <!--- CF-комментарий ---> (обратите внимание на три дефиса вместо двух). Преимущество использования комментариев CF заключается в том, что они не отображаются на странице, если пользователь выбирает опцию отображения исходного кода View Source. Они доступны только на серверной части при просмотре кода. Это очень полезная возможность!

В любом языке программирования должна быть возможность выносить решения с использованием логики. Здесь вступает в силу тег <cfif>. Этот тег позволяет разработчикам выполнять специфические задачи, например, когда пользователь делает определенный выбор или ожидаются определенные результаты.

<cfset variables.product = "ColdFusion">

<cfif variables.product eq "Flash">
Macromedia Flash was chosen.
<cfelseif variables.product eq "ColdFusion">
Macromedia ColdFusion was chosen.
<cfelse>
No selection was made.
</cfif>

Создав шаблон и осуществив доступ к нему через браузер, вы увидите надпись "Macromedia ColdFusion was chosen". Поэкспериментировав с переменной продукта, вы увидите, что могут генерироваться различные результаты.

В среде разработки ColdFusion существует много тегов и функций. Для любого действия существует свой тег или функция CF. Вы даже сами можете написать все, что вам нужно, для выполнения вашей работы. Следующий пример будет относительно прост для понимания с базовым знанием синтаксиса CF.

< Лекция 18 || Лекция 19: 1234567
Игорь Хан
Игорь Хан
След не остается
Александр Коргапольцев
Александр Коргапольцев
Вопрос по содержанию лекции №2, курс Flash MX Studio
Анатолий Федоров
Анатолий Федоров
Россия, Москва
Ольга Ремез
Ольга Ремез
Латвия, Рига