Новый стиль работы
Фактор сложности
Создание динамического Web-узла – сложный процесс. Нужно создать базу данных и содержание. Программисты должны убедиться, что содержание из базы данных попадает на страницы. Программисты на ColdFusion MX должны обеспечить, чтобы содержание попадало на отведенное ему место и выполняло предписанную задачу. Иногда оказывается, что разумнее и удобнее нанять профессионала, чем делать все самому. Ниже Крис и Джордан обсуждают вопросы сложности создания динамических Web-узлов.
Джордан говорит, что этот процесс больше нельзя трактовать, как шоу одного исполнителя. К сожалению, не все дизайнеры понимают это. Многие верят в то, что все могут сделать сами. И в результате этого сложность задачи возрастает многократно.
Теперь этот процесс не отличается принципиально от любого другого процесса в мире компьютерных технологий. Мы не можем знать всего, и это очень хорошо. Если бы нам пришлось научиться всему сразу, мы бы сошли с ума. Джордан говорит, что ему иногда приходиться любительски заниматься дизайном, но не потому, что в этом есть необходимость, а потому, что это ему нравится. У него есть много дизайнеров, которых он может привлечь к работе. Если ему подворачивается большой проект, то он всегда приглашает кого-то из дизайнеров, а сам занимается программированием, потому что это он любит делать больше всего.
То же самое может сказать любой художник. "Много лет назад я решил заниматься тем, что у меня хорошо получается, и избегать того, в чем я чувствую себя неуверенно, – говорит Крис. – Все это полностью относится к созданию динамических Web-узлов. Я понимаю основные принципы работы базы данных, но если вы попробуете заставить меня собрать все это вместе, то у меня ничего не выйдет".
Так можно ли найти универсальное решение? Крис считает, что не только можно, оно просто лежит на поверхности. Все это не так сложно, как может показаться непрофессионалу. Мы сами делаем веши сложными, если обращаемся с ними неправильно.
Управление содержанием
Более современный подход к разработке Web-узлов, естественно, порождает у команды разработчиков новые проблемы управления содержанием. Во многих отношениях способность менять содержание в зависимости от обстоятельств является одновременно и преимуществом, и недостатком. Джордан занимается этим уже много лет, и он хочет поделиться своими соображениями.
Дизайнеры – народ очень специфичный. Они раздражаются, когда кто-то пытается вмешиваться в их работу. Они начинают нервничать, когда клиент говорит, что хотел бы иметь возможность менять текст страницы в любой момент и с минимальными затратами. Трудно винить их за это. Некоторые дизайнеры пытаются рационализировать свою работу и решить данную ситуацию, вручив заказчику копию программы Dreamweaver MX. Трудно придумать более пагубное заблуждение.
Нет ничего страшнее, чем заказчик, который решил, что может сам заняться дизайном только потому, что раздобыл соответствующую программу. Хуже может быть только заказчик, который решил заняться программированием по той же самой причине.
Давайте рассмотрим Web-приложение Content Management System (CMS), которое предназначено для того, чтобы изменять содержимое Web-узла, не влияя на его дизайн.
Приложение для управления содержанием должно работать в согласии с дизайном, а не разрушать его. Дизайнер работает с CMS аналогично тому, как он работает со статической страницей.
Динамическое содержание не должно в принципе отличаться от статического текста. Клиент должен иметь возможность изменять содержание своих страниц с максимальной легкостью. Если он решил что-то обновить на своем Web-узле, то изменения должны быть видимы немедленно после щелчка на кнопке Update.
Если вы имеете дело с графикой, то сделайте так, чтобы клиенту нужно было копировать рисунки только в одно место на Web-узле. Если вы используете ColdFusion MX, защитите это место с помощью файла Application.cfm так, чтобы каждый, кто пытается изменить этот файл, был немедленно перенаправлен в другое место.
Если удастся, скройте от клиента физическое расположение этого места. Кроме того, не рассчитывайте на то, что ваш клиент знает язык HTML. Дизайнер сам должен позаботиться о форматировании текста, даже если он позволяет клиенту вводить текст самостоятельно. Использование CSS очень удобно в этом смысле, потому что вы можете задать формат обычным образом, и при этом нет существенной разницы между статическим и динамическим содержанием.
Создавайте систему на основе модулей и держите содержание подальше от элементов, определяющих способ вывода. При этом дизайнеру нет нужды иметь дело с программами.
Для модульного программирования очень удобно приложение ColdFusion. Самые разные элементы Web-узла можно сохранить в одном файле Application.cfm. Этот файл загружается каждый раз при обращении к странице ColdFusion MX.