Программирование порталов

Любой портал – сайт, но не каждый сайт – портал. Эта формулировка может показаться путаной, однако имеет много смысла при разработке в веб.

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

Веб-порталы могут быть нескольких видов:

  • тематические – посвящены конкретной теме, а значит, привлекают заинтересованную в ней аудиторию (финансовые, медицинские и т.д.);
  • информационные – новостные ресурсы, СМИ;
  • обучающие – проекты учебных заведений, онлайн-курсов;
  • корпоративные – ресурсы, объединяющие сотрудников фирмы онлайн и предоставляющие доступ к корпоративным данным.

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

Программирование портала включает в себя несколько этапов:

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

Так как порталы разрабатываются под более высокую нагрузку и с большим количеством интерактивных сервисов, для их программирования используются:

  • редакторы кода (Komodo Edit, Vim, GNU Emacs, Visual Studio Code и др.) – достаточно простые программы, которые применяются для создания и изменения файлов кода;
  • многофункциональные интегрированные среды (IDE) (Eclipse, Geany, Light Table, JetBrains и т.д.) – больший инструментарий и широкий прикладной функционал;
  • облачные IDE (Cloud9, Codeanywhere, Eclipse Che, Orion, др.) – функционал десктопных решений для веб-разработки, реализованный в виде интернет-сервиса.

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

Прототипирование портала

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

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

Проекту любого размера нужен прототип, важно лишь выбрать правильный его вид.

По глубине проработки выделяют:

  • Эскиз (низкая детализация) – подходит для одностраничных сайтов. Нарисовать его можно на бумаге или в простейшей программе для создания схем. Не подойдет для реализации масштабных проектов.
  • Высокая детализация – для многостраничных сайтов и веб-порталов. Создается с помощью специальных сервисов.

По месту хранения:

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

По возможности взаимодействия:

  • статичный – графическое изображение;
  • интерактивный – включающий элементы взаимодействия, такие как кликабельные ссылки, слайдеры, всплывающие формы и т. д.

Логично, что прототип может совмещать в себе эти характеристики: возможны такие комбинации как эскиз на бумаге или статичный прототип с низкой детализацией, а также статичный или интерактивный с высокой детализацией.

Какой выбрать? Зависит только от сложности и требуемой глубины проработки. Чем сложнее проект, тем больше внимания нужно уделить созданию прототипа. Если создается лэндинг, то достаточно будет статичной схемы расположения элементов на бумаге. Но мы говорим о крупных, многостраничных проектах с большим количеством сервисов, а значит, для них потребуется тщательно продумать схему каждой страницы прежде чем приступать к веб-разработке.

Среды программирования

Один из важнейших этапов разработки веб-порталов – выбор IDE.

Vim. Вариант свободного текстового редактора vi разросся благодаря многочисленным расширениям и плагинам. Теперь Vim – почти совершенный редактор, который не требует мощной станции и работает с огромным количеством языков и платформ. Кроме того, для этой среды есть функция работы в виде только консоли и бесконечно много возможностей расширения.

Adobe Brackets. Несмотря на относительную «юность» этого редактора, Brackets заслужил доверие многих разработчиков. Особенно он подходит работающим с UI и фронтендом программистам и дизайнерам, так как упор в этом редакторе делается на визуализацию и CSS. Редактор позволяет просматривать HTML-код прямо в браузере, а работа с PSD-файлами оптимизирована, и импортировать их можно в Adobe Photoshop. Наконец, у редактора открытый исходный код, поэтому его можно подстраивать под нужды специалиста.

Visual Studio Code. Многофункциональный и при этом компактный редактор изначально предназначался для обработки JavaScript и его расширений. Однако плагины к VSC позволяют добавить и другие популярные языки, которые помогут при разработке портала. Кроме того, программа хорошо работает с платформой Node.JS.

Sublime Text 3. Кроссплатформенный редактор, поддерживающий множество плагинов и имеющий открытый исходный код. В нем есть удобное переключение между разными файлами, а широкие возможности настроек позволяют «подогнать» ПО под свои требования – от хоткеев до настройки цветовой темы.

Eclipse. Редактор подойдет специалистам, часто переключающимся между языками и платформами веб-разработки. Хорошо работает с Java и JavaScript и многими другими популярными языками.

Тестирование

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

Специалисты выделяют несколько типов тестирования:

Функциональное тестирование. Проверяет работу каждой функции веб-портала, его возможность решить поставленные пользователем задачи. Его смысл – установить соответствие ресурса исходным функциональным требованиям клиента. Включает в себя проверку работы ссылок, пользовательских форм, проверку HTML/CSS-кодов, проверку workflow и отрицательных сценариев (например, вывод сообщений об ошибке при вводе некорректных данных).

Тестирование юзабилити (удобства использования). Выявляет характер взаимодействия человека с порталом. Упор делается на простоту навигации и субъективное удовлетворение посетителя от использования сервиса.

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

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

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

Тестирование безопасности. Необходимо для выявления потенциальных уязвимостей, слабых мест и лазеек, которые могут привести к потере данных, дохода или репутации.

Настройка портала

На этом этапе необходимо настроить модули портала, иерархию пользователей, а также интегрировать его со сторонними сервисами.

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

Наиболее распространены следующие роли:

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

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

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

Можно выделить некоторые наиболее популярные системы для интеграции:

  • e-mail – коммуникация между пользователем и администрацией с помощью электронной почты;
  • SMS – в виде такого сообщения пользователь может получить логин и пароль для входа на сайт, код подтверждения оплаты, трек-номер и информацию о состоянии доставки и т. д.;
  • доставка – выбор адреса или отделения для доставки и расчет ее стоимости;
  • платежные системы – оплата услуг и покупок онлайн;
  • системы учета товаров, бухгалтерский учет – интеграция портала с хранилищем данных (1С, Оборот и т. д.);
  • CRM – система управления отношениями с клиентом (сбор данных о клиентах, управление сделками, аналитика, программирование).

Портал можно интегрировать и с другими типами ПО, которое разрабатывается индивидуально под отдельные проекты.

Высоконагруженные порталы – основа портфолио DDPlanet, в котором есть и наши собственные большие проекты – Выберу.ру и Мир квартир. Мы более 10 лет делаем уникальные ресурсы со сложной структурой и функционалом и находим нетиповые решения, которые не боимся применять на практике.

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

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

К тому же члены команды DDPlanet не стоят на месте и постоянно учатся и повышают квалификацию. Это настоящие профессионалы в своем деле, которые не боятся новшеств и экспериментов и следят за новыми веяниями в программировании. При разработке порталов используются технологии, ставшие стандартом для многих крупных IT-компаний, в том числе Asp.Net, Microsoft.Net, SharePoint.