1. Главная страница » Компьютеры

Framework для интернет магазина

Автор: | 16.12.2019

Доставайте лист бумаги и карандаш, рисуйте табличку на две колонки. В шапке для первого столбца пишем заголовок «CMS», а второй столбец подпишем «Framework». Нам понадобится 5-7 минут на то, чтобы понять, что CMS хороши только для бюджетных решений сугубо стандартных задач, тогда как фреймворк подарит полную свободу действия. Но не испугает ли нас выставленный счет?

Если вкратце, то CMS (англ. Content Management System — «система управления содержимым сайта») — это готовое решение для определенного типа задач. Такие системы разработаны как для интернет-магазинов (например, Битрикс и OpenCart), так и для блогов (WordPress, Joomla), для корпоративных сайтов (Drupal) и так далее.

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

И хотя установку современных CMS лучше доверить профессионалам, эта задача под силу и для новичка — вопрос лишь в понимании тонкостей настройки и специфики выбранной системы. Если есть время и желание, то почему бы и не сэкономить?

В то же время Framework (англ. «каркас») — это не готовая программа, а набор инструментов, которыми пользуется программист при разработке CMS. И если CMS оперирует такими общими модулями, как «Новости», «Каталог товаров» или «Корзина», то фреймворк содержит базовый инструментарий, как, например, модули для работы с базой данных, для управления файлами, модули безопасности и так далее. Например, система управления для интернет-магазинов Magento разработана на базе Zend Framework. Однако большинство популярных CMS написаны без использования общедоступных фреймворков.

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

Читайте также:  Asus radeon 6950 2gb

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

Перспективы проекта

Если Вы готовы автоматизировать процесс работы менеджера с клиентом, заниматься оптимизацией пользовательских сценариев, ставьте фреймворку 10 баллов — это будет игра на его домашнем поле. Конечно, CMS тоже можно будет заставить работать так, как Вам хотелось бы, но не придется ли для этого «разобрать» полсайта? Этого нам не гарантируют. Но мы все же можем поставить CMS 5 баллов, учитывая многообразие доступных для них модулей. Ставить ли? Решать Вам.

Двигаемся дальше: есть ли у Вас возможность дождаться окончания разработки прототипа системы, или же в приоритете быстрое разворачивание приложения и запуск продаж? Разработка на фреймворке с нуля проиграет разворачиванию CMS: пока в деревне Вилларибо фреймворк-разработчики будут уточнять требования по нагрузочной оптимизации и функционал кабинета покупателя, в Виллабаджо уже будут вовсю праздновать запуск нового проекта на любимой CMS.

Сроки не оставляют поля для маневра? Ставьте 10 баллов для CMS, это ее конек. Для фреймворка есть только одно спасение — использование готовой CMS с базовым функционалом (например, как Magento или Evora в трех комплектациях) для быстрого запуска, с дальнейшей проработкой деталей. Если Ваша ситуация все же не столь критична, можете поставить в колонку фреймворка 5 баллов. Утешительный приз.

Скорость работы и расширяемость

Узким местом для многих систем (как cреди популярных CMS, так и среди специальных разработок) является оптимизация под высокие нагрузки. Часто требуется вручную ускорять работу скриптов, внедряя специальные алгоритмы или переписывая отдельные модули заново. Готова ли Ваша CMS к таким операциям? Ответ не столь очевиден, как это описано в рекламных проспектах. Фреймворки изначально ориентированы на специальные решения, а значит, их настройка будет более очевидна. Если Вы планируете высокие нагрузки на свой проект, ставьте 10 баллов для фреймворка. И еще 10 баллов, если Вы планируете настраивать импорт/экспорт из нестандартных источников данных, или же для данных большого объема.

Внешний вид и SEO

А как обстоят дела с общедоступной частью и поисковой оптимизацией? Здесь многие CMS смогут выйти вперед. Большое количество готовых тем оформления и относительно простая процедура внесения изменений в них позволяют добиться удовлетворительных результатов внешнего вида сайта относительно малыми затратами. Если Вы не готовы тратить время и бюджет на уникальный дизайн, ставьте 10 баллов для CMS. Фреймворки к таким требованиям не готовы.

Однако вопрос поисковой оптимизации не кажется столь же очевидным. Если речь идет об основных мета-тегах, то большинство CMS предоставит необходимый функционал для их редактирования. То же касается и аттрибутов тегов (alt, title и т.д.). CMS заслуженно получает 10 баллов. Однако для внедрения тех же тегов Open Graph понадобится писать специальное расширение. Если Вы планируете существенно расширять функционал работы с микроразметкой или специальными тегами, можете отметить 5 баллов для фреймворка — не пожалеете.

Считаем сумму

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

Студия
Виталия Комлева

2008 – 2019 © Все права защищены
Спасибо за ссылки при цитировании.

Кстати, мы храним cookies на вашем устройстве.

  • 2
  • 0
  • 0
  • 0

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

Если лень читать

Почему мы не используем готовые CMS

Притча гласит, что интернет-магазин можно собрать 1000 и 1 способом. Популярные CMS имеют в арсенале платные и бесплатные компоненты интернет-магазинов. Есть специально заточенные под интернет-магазин CMS. Например, www.opencart.com и www.prestashop.com. Интернет-магазины поднимают на 1С-Битрикс, UMI, Drupal. И даже на WordPress. Интернет-магазин для небольшого количества товаров можно собрать и на Tilda.

У нас есть опыт разработки интернет-магазинов на таких CMS, как Opencart, Битрикс, MODX и Joomla. Использовали готовые компоненты магазина. Перейдя к разработке на Yii2 постарались забыть как страшный сон. Почему? Потому что CMS — это готовое решение. Когда устанавливаешь «коробку» Opencart или Битрикса, то голова кругом идёт сколько там возможностей и настроек. Радуешься ровно до тех пор, когда нужно сделать что-то выходящее за возможности готового компонента. Выясняется, что более-менее глубокая интеграция в готовый функционал занимает больше времени, чем сборка аналога с нуля. И в итоге дороже.

При всём многообразии выбора, вы не найдёте готовую «коробку» для сложного интернет-магазина. Их хватает с головой на «попробовать-побаловаться», когда и половины функций не попробуешь. Но если клиент конкретно знает, какой интернет-магазин ему нужен и пришёл техническим заданием, то мы в последнюю очередь посмотрим в сторону готовых CMS. Потому что готовое решение из «коробки» (что платное, что бесплатное) — это компромисс. Средней руки интернет-магазин подробно прописывают в ТЗ. Адаптировать «коробку» под подробное ТЗ будет труднее и дороже, чем написать на фреймворке. Или придётся «резать» техническое задание, т.е., подгонять ТЗ под возможности CMS.

На чём мы делаем интернет-магазины

Любимый инструмент — фреймворки. Yii2, Laravel, Node.js. Расположил в порядке предпочтения. Первое и самое очевидное для нас преимущество фреймворков — это гибкость. «Гибкость» — словечко, которое вворачивают по поводу и без повода. Но лучше тут не скажешь. Фреймворки универсально подходят для любой задачи из нашей практики.

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

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

Второе преимущество фреймворка — скорость работы. Интернет-магазин получается чрезвычайно шустрым. Если вы в этом месте задумались над прочитанным, значит знаете, что скорость сайта — один из основных факторов ранжирования поисковиками. Эта тенденция нарастает: Google и Яндекс благоволят быстрым сайтам и пессимизируют медленные. Но бог с ними, с поисковиками. На быстром сайте больше покупают. А это должно вас интересовать в первую очередь, раз вы читаете мою статью.

Третье преимущество фреймворка для нас — абсолютная нейтральность к SEO-оптимизации сайта. Специалисты немало копий сломали в спорах, какая CMS лучше оптимизирована под SEO. Споры глупы в корне, ведь требования поисковиков меняются. Лидеры среди CMS точно так же сменяют друг друга на пьедестале с каждым новым апдейтом поискового алгоритма. Но проблема законсервированной структуры CMS проявляется и в SEO. Менять структуру долго и дорого. У фреймворков такой проблемы нет. На нём можно реализовать любые рекомендации сеошника. И потом переделать все заново, когда Google что-то опять придумает.

Есть и другие прелести, но нам достаточно и этих. После фреймворков трудно серьёзно относится к разработке на популярных CMS. Это не снобизм, а здравый смысл.

Но ведь интернет-магазин на фреймворке дороже.

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

Создание сайта — это несколько этапов:

  1. Проектирование сайта
  2. Дизайн сайта
  3. Вёрстка шаблонов
  4. Имплементация шаблонов в движок
  5. Наполнение

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

Готовая CMS дешевле, если интернет-магазин совсем простой

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

Готовая CMS дороже, когда интернет-магазин сложный

Но главная проблема ждёт вас не тогда, когда вы хотите дёшево. А когда вы хотите крутой интернет-магазин, но выбрали для него готовую CMS. Вы здорово проиграете по времени и деньгам, если техническое задание вашего интернет-магазина выходит за рамки функционала этой CMS. Тогда веб-студия будет пилить и «костылять» ядро магазина под ТЗ. При глубокой интеграции это займёт больше времени, чем написать с нуля. Программистам приходится править и проверять чужой код. За это лишнее рабочее время программистов заплатите вы. А получите в итоге нагромождённый код поверх кода ядра CMS. Вам может быть совершенно невдомёк как написан ваш сайт, лишь бы работал. Но корявый код видят Яндекс и Google. А ещё это чудо-юдо обычно тормозит в два раза сильнее, чем голая CMS.

Золотой середины для интернет-магазина на готовом движке нет

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

Вывод

Если вам нужен быстрый современный интернет-магазин, будь то простой каталог или сложный разветвлённый магазин с нестандартными интеграциями, мы поможем вам. Заказывайте интернет-магазин прямо сейчас!

Хотите ускорить процесс создания сайта? Различные PHP-фреймворки значительно облегчают и ускоряют разработку. Если говорить простыми словами – это готовый каркас или библиотека кода. Давайте проведем обзор и сравнение актуальных фреймворков. Определим недостатки и преимущества PHP-фреймворков!

Laravel

Чаще всего используется для разработки интернет-магазина или корпоративного сайта. За короткий срок он стал одним из лидеров PHP-движения и продолжает набирать популярность.

Разработчики постоянно расширяют функционал и делают работу на Laravel максимально удобной. Первый релиз был доступен в 2011-м году. В 2015-м он уже занял первое место по использованию. Последний релиз Laravel 5.5 вышел в августе этого года.

Его главное преимущество – это расширенная функциональность, а также:

  • Открытый код – это позволяет изменять функционал под решение конкретно ваших задач
  • Laravel использует архитектурную модель MVC
  • Имеет понятный и практичный интерфейс

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

Symfony

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

Описание характеристик:

  • Встроенный интерфейс позволяет разработчику получить каркас для кода всего из одной строки текста
  • Работает только с PHP 5 и выше
  • Поддерживается множеством баз данных (PDO, SQLite, PostgreSQL, MySQL)

Yii

Создавался на основе PHP 5. Подходит для создания интернет магазина, корпоративного сайта. У него нет багажа старого PHP, поэтому он работает быстрее, чем другие. Работа с Yii фреймфорк PHP позволит сэкономить время на разработку, при этом приложение будет работать чуть быстрее.

Основные преимущества:

  • Использует шаблон архитектуры MVC
  • Имеет низкий порог вхождения. Для того чтобы запустить простой сайт, вам понадобиться значительно меньше времени
  • Поддержка и обширный набор документации на русском языке

Zend

Zend гибкий каркас для разработки веб приложений. На рынке уже практически 10 лет! Первая версия вышла в 2008-м году. Имеет большое число компонентов, слабо связанных между собой. Это позволяет использовать их независимо друг от друга.

Основные характеристики:

  • Использует шаблонную модель MVC
  • Содержит множество библиотек для приложений, которые упрощают интеграцию с другими сервисами
  • Поддерживается большинством баз данных (SQLite, PostgreSQL, Oracle Database, Microsoft SQL Server, IBM DB2)
  • Гибкая система кеширования

Вывод

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

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

Анализируйте ваши потребности и выбирайте! 🙂

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *