Отправить заявку
Платформа разработки сайтов онлайн

Технологии web разработки

Опыт 12 лет!
Более 300 созданных сайтов
> 100 сайтов на обслуживании
> 50 сайтов продвигается
109 028 983 хитов за 2015 год
99.9% Uptime
90% клиентов пришли по рекомендациям
Мониторинг доступности сайта Host-tracker.com Website Monitoring by ServiceUptime.com
Яндекс цитирования

Веб Технологии

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

Наши технологии

Фреймворк среды разработки Пларсон

Основной инструмент разработки сайта — фреймворк среды разработки Пларсон. Мы специально придумали систему разработки сайтов Пларсон, чтобы свести к минимуму набор действий по разработке нового сайта. Пларсон работает как конструктор, в котором страница сайта представлена как набор модулей, вложенных друг в друга. Модули — это заготовки функционала сайта, которые встречаются чаще всего (поиск по сайту, каталог товаров, форма обратной связи, галерея и т. д.) Мы берём эти модули и просто перетаскиваем на страницу операцией drug-n-drop, после этого модуль стразу начинает работать. Когда нам нужно создать новый сайт или переделать существующий, мы просто перетаскиваем и кидаем в ячейки новые модули, это максимально быстро и удобно.

Пларсон — не новая, а давно существующая система, на которой сделано множество различных проектов.

Пожиратель сайтов — граббер WebScraper

Для автоматического наполнения сайта материалами мы создали WebScraper — программу-граббер для извлечения информации со страниц веб-сайтов. Часто бывает нужно перенести на свой сайт информацию с другого сайта. Мы оптимизировали такую работу и создали удобный инструмент, с помощью которого скопировать текст, картинки, описания товаров не составляет труда. Настройка программы происходит в веб-интерфейсе: сначала выделяем мышкой нужный блок на сайте-доноре, а потом указываем соответствующее поле в базе данных нашего сайта, куда требуется записать информацию. Запускам «пожиратель сайтов», и — вуаля — на нашем сайте друг за другом начинают появляться новые товары.

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

Фреймворк Aranea для мониторинга поисковых машин

Продвижение сайтов и поисковая оптимизация требуют оперативного анализа выдачи поисковиков: на каком месте находится ваш сайт и на каком — ваши конкуренты. Продвигая одновременно тысячи запросов, невозможно вручную проверять все позиции, а точность определения позиций очень важна в работе оптимизатора, и от неё зависит конечный счёт для клиента. Осложняет ситуацию нелюбовь поисковиков к оптимизаторам: поисковики стараются блокировать массовые проверки. Мы написали специальный софт Aranea для отслеживания позиций, и любой клиент, находящийся на нашем обслуживании, может задать список запросов для отслеживания и наблюдать за ними вне зависимости, платит он за продвижение или нет.

Общая концепция разработки сайта и открытые технологии

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

Клиентская часть — это программа, которая работает на стороне клиента, т.е. программа, с помощью которой «клиент» (пользователь) открывает сайт, - собственно браузер. Популярных браузеров немного и они всем знакомы: Google Chrome, Mozilla FireFox, Internet Explorer, Opera и Safari. Существуют множество и других браузеров, но они отличаются только внешне, «внутренности» у них заимствованы у этих пяти основных.

Серверная часть — это программа, которая находится на сервере (где-то далеко на другом конце провода) и отдаёт пользователю нужную информацию (страницы, картинки) по запросу. Как следует из определения, серверной программе требуется сервер – мощный (желательно) компьютер, который никогда не выключается и всегда подключён к сети.

Размещение программ на сервере (физическое хранение файлов на диске) называется хостингом, от англ. принимать на стороне. Хостинг не должен находится слишком далеко от посетителей сайта (например, в другой стране или континенте), так как даже с учётом высокоскоростных сетей большие расстояния сказываются на общем времени загрузки страниц (ping time). Хостинг ПЛАРСОН находится в Москве на Варшавском шоссе, в крупнейшей в России точке обмена интернет-трафиком М9 — крупнейшем узле пересечения интерет-проводов.

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

Когда мы просматриваем страницы сайта, происходит обмен данными между клиентской (клиент — специальный термин, обозначающий интерфейс на стороне пользователя) и серверной частью по принципу запрос – ответ. Когда пользователь кликает по ссылке, браузер отправляет на сервер запрос, а сервер в ответ мгновенно отправляет файлы. Полученные файлы браузер интерпретирует и показывает пользователю страничку. От работы клиентской части – браузера – зависит работа сайта. Если ваш браузер устарел или неисправен, сайт нормально не откроется.

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

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

Программисты, которые работают с серверной частью называются back-end разработчиками, они используют серверные технологии и серверные языки программирования. Работа программы полностью зависит от сервера, back-end разработчик самодостаточен, его работа не зависит от персональных настроек пользователя, сломать его программу может только изощрённый http запрос пользователя (обычно попытка взлома сайта). Они работают в «тылу» и не контактируют напрямую с посетителями.

Разобравшись с клиентской и серверной частями, можно перейти к технологиям и языкам программирования, используемыми на сервере и клиенте. Количество языков программирования насчитает около сотни, на слуху у программистов около 30, в вебе используется порядка 5 основных языков на сервере и один (редко больше) на клиенте.

Серверная часть

OpenSUSE

Как любому компьютеру, для работы сервера требуется операционная система. На всех наших серверах установлена последняя версия OpenSUSE. OpenSUSE – это дистрибутив Linux, который в 1994 году впервые выпустила немецкая компания «Программная и системная разработка» («Gesellschaft für Software- und System-Entwicklung», сокращённо S.u.S.E). В 2003 году SUSE была выкуплена американской корпорацией Novell, которая, не меняя команду разработчиков, поддерживает разработку и выпуск новых версий по сей день. Особенность OpenSUSE – это мощная программа администрировании YaST (Yet another Setup Tool), которая сильно упрощает работу как профессионалам, так и начинающим пользователем. YaST имеет графический интерфейс и позволяет настроить систему без знаний особенностей Linux и системных команд.

Apache

Apache – это старейшая и самая популярная программа веб-сервер, на которой работают около половины сайтов всего Интернета. Веб-сервер это специальная программа, которая принимает http-запросы от клиента (обычно браузера) и отдаёт http-ответы – html страницы и медиа-данные. Изначально веб-сервер предназначен для отдачи статического контента (готовых страниц и картинок), но, подключая дополнительные модули к Apache, можно расширить возможности веб-сервера для работы с динамическим контентом (связь с базой данных, генерация картинок на лету). Apache – многоцелевой и универсальный веб-сервер, многие возможности которого излишни в данной конкретной задаче, при том что богатый функционал накладывает большие требования к ресурсам системы. Поэтому существуют также «легкие» веб-сервера, узко профилированные для решения конкретных задач, а потому менее требовательные к ресурсам и более производительные (быстрые). На сервере ПЛАРСОН установлена последняя версия Apache.

Nginx

Nginx – это разработка российского программиста Игоря Сысоева. Nginx – это лёгкий веб-сервер в первую очередь предназначенный для отдачи статического контента. Nginx в последние годы набрал большую популярность благодаря огромной производительности и малым потреблением системных ресурсов. Nginx работает на яндексе, рамблере, мейл.ру, во вконтакте. Первая публичный релиз Nginx вышел в 2004 году, с 2011 года разработка nginx ведётся в рамках компании Nginx. Сейчас Nginx – второй по популярности веб-сервер после Apache. На сервере ПЛАРСОН установлена последняя версия nginx.

Perl

Perl — многофункциональный язык программирования, появился в далеком 1987 году и долгое время был единственным инструментом разработки динамических сайтов, т.е. написания CGI-скриптов. У Perl (Practical Extraction and Report Language) необычный синтаксис, за что многие считают его нечитабельным, и это может отпугнуть программистов-новичков. Беспредельное властвование Perl заканчивается в начале нулевых (перелом произошёл в 2005 г.), когда появляется язык PHP (от Personal Home Page, позже переименовали в Hypertext Preprocessor) – простой способ оживить домашние странички. В сравнении с Perl, PHP проще для начального изучения, и язык быстро завоёвывает последователей. На сегодня PHP - это самый популярный язык серверного веб-программирования, а Perl занимает только 7 место. В отличие от PHP, который в основном ориентирован на создание сайтов, Perl - язык общего назначения, прекрасно подходящий как для написания сайтов, так и сложных сетевых программ и утилит (например, грабберов - пожирателей сайтов).


Пример программы на Perl. Программа выводит на экран текст Just another Perl hacker.

Несмотря на свою старомодность, интерпретатор Perl — по-прежнему современный язык, который по умолчанию входит во все дистрибутивы Linux как одна из стандартных технологий; а новые релизы Perl выходят несколько раз в год. Появилась его новая независимая ветка Perl6. За почти тридцатилетнюю историю на Perl написано множество библиотек, которые позволяют решить любые задачи. В отличие от других популярных веб языков, возможности Perl не ограничиваются написанием сайтов. Perl изначально был создан для системного администрирования, на Perl пишут сетевые приложения, язык прекрасно подходит для автоматической обработки текстов (в шутку язык называют Патологический разгребатель перемешанного мусора). В основе философии Perl - «There’s more than one way to do it». Perl используется в Яндексе, мейл.ру, ру-центре, reg.ru, рамблере.


Популярность серверных языков в процентах по статистическим данным w3techs.com

mod_perl2

Для работы в связке с веб-сервером Apache был создан специальный модуль mod_perl, который склеивает работу интерпретатора Perl и веб-сервера Apache и уменьшает накладные расходы на запуск скриптов. На сервере ПЛАРСОН Perl используется как для генерации страниц, так и во вспомогательных скриптах, обслуживающих сервер по расписанию.

Python

Python – молодой прогрессивный язык общего назначения, стремительно набирающий популярность. Область применения совпадает с Perl, что делает два языка близкими конкурентами. В Python был сделан особый акцент на читаемость кода, на синтаксис языка изначально наложены ограничения (использование отступов для выделения блоков кода). Идеологию языка можно выразить словами: «надо программы писать, а не самовыражаться затейливо». На Python написаны скрипты для обновления товаров на сайте некоторых наших клиентов.

MySQL

MySQL – система управления базами данных, т.е. ПО для хранения и извлечения данных из таблиц. База данных получает запрос на запись или чтение информации (INSERT / SELECT), исполняет запрос и возвращает результат клиенту (клиентскому приложению). Клиент не знает внутренней кухни базы, и весь диалог между клиентом и базой происходит на языке SQL-запросов. Необходимость в базе данных возникает, когда требуется обрабатывать большие массивы однотипной информации. Например, новости на сайте удобно хранить в таблице из трёх колонок: Дата, Заголовок, Текст. Пример примитивной базы данных – таблица Excel. Например, хранить прайс-лист удобнее в Excel чем в Word, т.к. таблицы предоставляют возможность быстрой выборки и сортировки.

Первый выпуск MySQL состоялся в 1995 году шведской компанией MySQL AB, в 2008 году права на MySQL приобрела компания Sun Microsystems, а уже в 2010 году компания Oracle поглотила Sun и в настоящее время Sun Microsystems продолжает поддержку и разработку MySQL. К сожалению, коммерциализация базы привела к ограничению на свободное распространение части исходного кода, это дало толчок для развития свободных некоммерческих веток, одной из них стала MariaDB.

Весь исходный код MariaDB распространяется под лицензиями GPL, LPGL или BSD. MariaDB получила ряд улучшений в производительности и больше механизмов для хранения данных. На сервере ПЛАРСОН установлена база MariaDB.

Sphinx

Sphinx – система полнотекстового поиска, разновидность базы данных, но выполняющей только одну операцию – извлечение данных (SELECT). Sphinx (не путать со sphynx) требуется там, где возможностей MySQL недостаточно. Если MySQL работает с разными типами данных (строки, числа, даты, картинки), то Sphinx специализируется на поиске и ранжировании только текстовой информации. Sphinx знает, что запросу «кошки» соответствуют «коты», «котята», «котяры», «киски» и т.д. То есть Sphinx использует морфологический разбор слова и, что не менее важно, умеет расположить результаты поиска по степени соответствия поисковому запросу (релевантности), как это делает поисковая машина.

Sphinx — разработка российского программиста Андрея Аксёнова, распространяется бесплатно, по лицензии GNU GPL. Есть коммерческая поддержка. На сервере ПЛАРСОН Sphinx используется в модуле поиска по сайту.

Клиентская часть

Весь код на клиентской части исполняет браузер. Первый браузер был создан британским учёным Тимом Бернерсом-Ли в 1990 году почти одновременно с рождением Интернета и назывался браузер соответственно — WorldWideWeb. Для работы с браузером тексты проходили предварительную подготовку - снабжались специальным кодом разметки HTML. Браузер запрашивал по сети документы в формате HTML и выводил на экран пользователя красиво оформленный текст.

HTML

HTML — это язык разметки текстов для Интернета (HyperText Markup Language). Разметка текста позволяет структурировать документ, показать, что является заголовком, параграфом, списком и т.д. Современный язык HTML включает массу возможностей, от анимации до показа видео.

Первая официальная версия HTML 2.0 вышла в 1995 году, последняя 5 версия одобрена Консорциумом Всемирной паутины в 2014 году. К сожалению, не все современные браузеры поддерживают все возможности HTML5 и не все браузеры интерпретируют код HTML одинаково.

CSS

Технология CSS (англ. Cascading Style Sheets — каскадные таблицы стилей) появилась как развитие технологии HTML, когда изобразительных возможностей разметки стало недостаточно. Более того, было решено отделить задачу семантической разметки текста от её визуального представления. Например, текст «Война и мир» - это заголовок первого уровня и это определяет код HTML <h1>Война и мир</h1>, а то, что текст окрашен в зелёный цвет – определяет CSS h1 {color:green;}. Отделение формы от содержания упрощает поддержку кода и обработку текста поисковыми машинами. CSS отвечает только за внешний вид документа. Изменяя код CSS, один и тот же документ можно представить в разном виде, изменить дизайн сайта не меняя его содержание.

Начиная с 1996 года развитие технологии CSS прошло три уровня (CSS1, CSS2, CSS3). Часть тегов HTML, относящихся к оформлению текста, была упразднена в пользу переноса их функционала в CSS. Эти теги ещё работают, но их использование считается моветоном.

Также как и HTML стандарты, CSS поддерживаются не всеми браузерами одинаково и не все новшества уже заработали.

LESS

LESS – это надстройка над CSS, которая обычный CSS превращает в динамический. В LESS используется синтаксис CSS, но с дополнениями: добавлены переменные, вложенные блоки, миксины, операторы и функции. LESS упрощает управление файлами CSS и автоматизируют процесс написания кода CSS в больших проектах. На сервере ПЛАРСОН работает препроцессор LESS под управлением Node.js (серверный язык программирования), который на лету компилирует файлы с расширением .less, превращая их в обычный .css.

JavaScript

JavaScript — язык сценариев в браузере. Впервые JavaScript (изначально LiveScript) заработал в браузере Netscape в 1995 году, его создал Брендан Эйх, который позже основал Mozilla. В 1996 году компания MicroSoft выпустила свой аналог JScript для браузера Internet Explorer 3.0. За приставку «Java» пришлось отдельно заплатить компании Sun Microsystems, которая изобрела язык программирования Java, сделав сам язык и даже слово «Java» модным и популярным, как сейчас приставка «нано». Кстати, Java (не путать с JavaScript!!) используется в мобильных устройствах на Android, из-за чего Oracle (правоприёмница Java) пытается судится с Google, изобретшей Android.

Посылом для создания языка послужило желание сделать браузер интерактивным, т.е. заставить его отвечать на действие пользователей; просто красиво представить в окне документ было уже не достаточно. Первый JavaScript 1.1 умел немного, использовался программистами редко и служил, в основном, для анимации кнопок, добавления забавных эффектов (например, падающие снежинки) без функциональной нагрузки. Нередко навязчивый JavaScript раздражал пользователя, и в целях безопасности его отключали, что никак не влияло на нормальную работу сайта. Сейчас без JavaScript большинство сайтов «развалится», от его работы зависит отображение информации на странице.

С исполнением JavaScript в браузерах также есть проблемы, как у HTML и CSS. Несмотря на стандартизацию языка по спецификации ECMAScript, браузеры Internet Explorer и Google Chrome имеют различный набор функций для доступа к дереву документа (DOM).

jQuery

jQuery – это фреймворк на языке JavaScript, который возник благодаря желанию, во-первых, писать единый код для всех версий браузеров, a во-вторых, упростить код за счёт введения новых функций, которых нет в стандартном JavaScript. Например, вместо window.document.getElementById('menu') писать $('#menu'). Первая версия была представлена в 2006 году его основателем Джоном Резигом.

jQuery вскоре стал настолько популярен, что многие начинающие программисты принимают его функции за нативные функции JavaScript, а другие уже потеряли навыки писать на чистом JavaScript. Однако, не стоит забывать, что загрузка библиотеки jQuery требует дополнительного времени и ресурсов. Любой сайт можно сделать без использования jQuery, тем более там, где достаточно встроенных возможностей JavaScript. Злоупотребление jQuery породило новое течение — сторонников т.н. Vanilla JS, по сути, чистого JavaScript.

Сейчас jQuery используется повсеместно, например, в Яндексе в одноклассниках, кинопоиске. В разработке сайтов на Пларсон jQuery стал использоваться с 2009 года.