CMF системы

CMF системыЧто представляет собой CMF?

Во многих случаях современные сайты являются динамичными. Они используют динамическое формирование отображаемых для пользователей данных, поэтому для их создания часто пользуются CMS (система управления контентом). Но существует несколько другой подход к созданию динамичных веб сайтов, заключающийся в использовании CMF.

CMF (Content Management Framework) является фреймворк-системой управления контентом, и инструментарием, с помощью которого создаются CMS или веб-приложения.

Фреймворк (framework) является программным обеспечением, предназначенным для объединения большого количества компонентов проекта имеющих различное назначение. Синонимом термина «фреймворк» является «каркас».

Каркас состоит из всевозможных библиотек кодов, вспомогательных программ, языков программирования и языков сценариев. Различные компоненты программного проекта объединяются благодаря единому API (application programming interface или интерфейсу прикладного программирования).

Исходя из этого CMF является фреймворк-системой, имеющей свойства присущие фреймворкам. Кроме того, CMF является понятием более широким, чем CMS, поэтому любую CMF можно считать CMS, но не каждую CMS можно считать CMF. Примерами CMF систем являются такие фреймфорки как CakePHP, Joomla!, Catalyst, ZendFramework и Ruby on Rails.

Довольно часто CMF системы, имеющие достаточный функционал чтобы разрабатывать полноценные веб-приложения и легкие в управлении сайты разных типов, называются CMF или CMS системами, так как в них объединяются возможности двух систем. Примерами CMF/CMS систем являются MODx, Drupal, eZ publish и TYPO3.

Различия CMF/CMS

Детерминированная внутренняя архитектура

В системах CMF/CMS внутренняя архитектура обладает развитыми механизмами абстракции, которые не зависят от модулеобразующих CMS. Значит сопровождение проекта, выполненного на CMF/CMS отличается большей легкостью, чем сделанного только на CMS.

Многофункциональность

Сайты и приложения, основанные на CMF/CMS имеют высокую степень индивидуальности. Любой проект можно адаптировать под конкретную ситуацию. Многофункциональность систем CMF/CMS позволяет использовать их для создания любых интернет-проектов, включая небольшие сайты-визитки, разветвленные порталы и даже интернет-магазины.

Совместимость и расширяемость

Функционал, которым обладают CMF/CMS системы можно расширить, интегрировав дополнительные модули и программные коды. Многими CMF/CMS поддерживается работа с разными СУБД, выполняется трансляция данных в любой нужный формат.

Шаблонизация

Системы CMF/CMS поддерживают шаблонизацию позволяющую удобно создавать, а также интегрировать шаблоны представления (дизайна) не затрагивая программного ядра или содержимого создаваемого ресурса.

Удобство применения

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

История развития поисковых систем

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

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

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

Позже каталоги получили более широкое распространение и их стали использовать повсюду, однако и развитие всемирной сети не стояло на месте, а непрерывно продолжалось. Наряду с интернетом совершенствовались и способы поиска. На сегодняшний день каталоги практически потеряли былую популярность. Это связано с тем, что нынешний каталог, даже в том случае если в нем содержится большое количество ресурсов, способен предоставить доступ лишь к небольшой доле данных, которые находятся в интернете. В настоящее время наибольшим каталогом интернета считается Open Directory Project (сокращенно DMOZ), который включает в себя данные о 5 миллионах сайтов, что довольно немного, по сравнению, например, с поисковиком Google, в котором содержится примерно 8 миллиардов различных документов.

Полноценная современная поисковая система увидела свет лишь в 1994 году, это была система WebCrawler.

Через год, в 1995 году была запущена поисковая система AltaVista, которая удерживалась на лидирующих позициях на протяжении многих лет.

Еще через два года, в 1997 году, двое студентов из университета Стэндфорда Сергей Брин и Ларри Пейдж изобрели систему поиска Google, которая является лидером в поиске на данный момент.

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

Сейчас существует всего 3 системы поиска, которым удалось выйти на мировой уровень, среди которых Yahoo и Google. У них есть собственные базы и алгоритмы поиска. Большинство других поисковиков пользуются их результатами. Например, Mail.ru пользуется базой Yandex.

Поисковым лидером в русской части интернета сегодня остается Яндекс, на втором месте – Rambler, потом следуют Google и Mail.ru.

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

Java-апплеты

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

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

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

Возможности java апплет

Например, апплетами можно пользоваться для создания интерактивных удобных карт, анимации, онлайн-игр и различных веб-форм. Чтобы встроить в html-код страницы апплеты пользуются специальным тегом <applet>. Этот тег размещается в теле html-страницы там, где должен находиться соответствующий апплет, по мнению веб-программиста.

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

<applet code=имя_файла.class width=n height=m>...</applet>

Здесь значение «имя_файла.class» является именем загружаемого файла, в котором содержится апплет. Апплеты должны располагаться в папке с html-страницей, на которую ссылается этот апплет.

В апплетах содержатся дополнительные необязательные параметры, которыми можно пользоваться при необходимости. Параметром alt задается значение альтернативного текста если апплет не отображается по любым причинам. Параметры hspace и vspace отвечают за отступы от другого содержимого на html-странице.

Апплеты отличаются надежной системой защиты от вредоносного кода и позволяют свести к минимальному риск заражения вирусами. С этой целью Java разработчиками была создана «песочница», являющаяся механизмом защиты, включающим следующие основные компоненты:

  • проверку на уровне JVM;
  • интерфейс JavaSecurity;
  • защиту на уровне языка.

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

Так, чтобы отобразить апплеты браузеру необходимо поддерживать Java (однако не всегда Java-расширения установлены в браузерах по умолчанию). Поимо этого, чтобы апплеты работали, требуется наличие виртуальной машины JVM, поэтому запуская апплеты нужно также запускать JVM.

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

Ajax скрипты

Ajax скриптыЧто представляют собой Ajax скрипты? Для каких целей они применяются?

Ajax (Asynchronous JavaScript + XML) или Асинхронный JavaScript+XML является достаточно новым подходом. Впервые термином «Ajax» воспользовался Джесси Джеймс Гарретт в статье 2005 года «Новый подход к веб-приложениям». Эта технология предназначена для построения интерактивных пользовательских интерфейсов интернет-приложений.

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

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

Ajax не является какой-то одной определенной технологией, эта концепция использует несколько смежных технологий. Чтобы реализовать на сайте Ajax потребуется воедино связать стандартизованное представление, использующее XHTML и CSS с объектной моделью документа (DOM), код JavaScript, асинхронное получение данных XMLHttpRequest, управление и обмен данными посредством XML и XSLT.

С появлением скриптов Ajax, некоторыми веб-дизайнерами они использовались для всего сайта полностью, но как показала практика такой подход оказался малоэффективным.

Это связано, с тем, что скриптами Ajax нельзя пользоваться для навигационных ссылок по сайту, так как они не обрабатываются поисковыми роботами, значит, они не пройдут вглубь ресурса для завершения индексации. Поэтому Ajax скрипты губительно сказываются на SEO-оптимизации, при их не рациональном использовании.

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

К примеру, Ajax можно использовать для:

  • создания небольших элементов управления, таких как добавление в корзину товаров (интернет-магазин) или подписка на рассылку;
  • динамической подгрузки данных с сервера по мере надобности (например, онлайн-чаты);
  • выполнения незаметных для пользователя действий, к примеру, автосохранения редактируемого текста.

Нужно ли пользоваться скриптами Ajax на бизнес сайтах?

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

Скрипты Ajax являются достаточно сложными. Так как используется асинхронная модель, усложняется (чем при синхронной) обработка пользовательских и коммуникационных ошибок, так как реакция на любое событие происходит мгновенно, а ответ от сервера приходит с задержкой. Кроме того усложняется контроль за целостностью объектов и контроль за последовательностью выполнения действий.

Это является свидетельством, того что разработкой скриптов Ajax для бизнес-сайтов должны заниматься профессиональные веб-программисты. Только они благодаря большому опыту и практике знают, пути обхода «подводных камней» Ajax и выполнят любую задачу, которая поставлена перед сайтом.

HTML 5 и CSS 3

HTML 5 и CSS 3Что собой представляют понятия HTML 5 и CSS 3? Какими преимуществами они обладают? Почему ими удобно пользоваться для разработки веб-сайта?

Сегодня происходит стремительный рост веб-программирования и на современных сайтах появляется больше новых возможностей, которые обеспечивают удобства для пользователей. Именно HTML 5/CSS 3 являются новыми этапами развития веб-программирования.

HTML 5 является новой версией языка разметки гипертекста. Он предлагает больше возможностей для веб-разработчиков при создании сайтов, чем предыдущие версии. Например, в HTML 5 появились новые элементы и атрибуты, благодаря которым облегчается взаимодействие между сайтами и поисковыми системами. Это положительным образом отражается на поисковом продвижении веб-сайтов.

Помимо этого, новые элементы HTML 5 позволили избавиться от использования сторонних расширений для того, чтобы отображать веб-сайты в браузере. К таким элементам относятся audio и video, которыми обеспечивается интеграция мультимедиа данных и осуществляется воспроизведение мультимедиа контента в интернет-браузере без использования Flash проигрывателя.

Большинство нововведений HTML 5 уже поддерживаются свежими версиями браузеров. Благодаря HTML 5 ускоряется загрузка веб-страниц сайта, и добавляются новые возможности на сайте. Не страшно, если какие-то функции HTML 5 не поддерживаются браузером, это не принесет вреда веб-сайту, так как HTML 5 основан на предыдущем HTML 4, поэтому элементы, которые не поддерживаются, будут просто проигнорированы.

Благодаря CSS 3 значительно расширяются возможности по верстке сайтов, без использования сторонних технологий. Добиться более привлекательного дизайна сайтов с минимально необходимым кодом, является основной задачей CSS 3.

Какие преимущества даст заказчику сайт, который создан при помощи HTML 5/CSS 3?

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

HTML 5 и CSS 3 воспроизводит на веб-сайте анимацию, видео, аудио без подключения к браузеру дополнительных расширений. По сравнению с flash-элементами, эти технологии превосходно взаимодействуют с ПС и улучшают поисковое продвижение ресурсов.

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