Перейти к содержанию
Форум поддержки пользователей VamShop

В чём разница между VamShop 1 и VamShop 2?


Рекомендуемые сообщения

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

 

http://vamshop.ru/vamshop2

 

Много проблем накопилось с 2008 года когда VamShop появился.

 

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

 

Как это не прозвучало бы странно, но проще, дешевле, рациональнее всего было написать новый движок с нуля (чем мы, собственно, и занимались с 2009 года), в котором были бы решены все те проблемы и недостатки, которые есть в VamShop. Новый движок написан используя современные технологии и инструменты. На данный момент можно сказать, что в новом движке уже реализовано всё, что может понадобиться среднестатистическому пользователю VamShop.

 

Решил я всё-таки постепенно перевести VamShop на нашу новую техническую платформу, т.е. в ближайшее время будет продаваться две версии VamShop и VamShop 2.

 

Со временем, текущая версия VamShop будет полностью убрана из магазина и заменена на VamShop 2.

 

При разработке движка максимально старались учесть пользовательский опыт работы с VamShop, проще говоря, если Вы работали с VamShop, то в новом движке Вы разберётесь быстро и легко, а главное в нём всё проще и удобнее. Админка практически такая же: настройки валют, языков, стран, регионов, модулей доставки, оплаты, добавление товаров, категорий, всё тоже самое, но чище, проще, удобнее и понятнее, например уже нет того огромного и не нужного количества настроек, в которых можно потеряться. Всё просто и понятно.

 

При этом используются все те же самые библиотеки, что и в VamShop:

jQuery - для javascript и ajax.

Smarty - для отрисовки шаблонов.

PHPMailer - для отправки почты.

TinyMCE - html-редактор.

Bootstrap - для внешнего оформления каталога и админки, css стилей.

 

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

 

 

Ссылка на сообщение
Поделиться на другие сайты

В VamShop 2.x уже на данный момент решены многие проблемы VamShop 1.x, которые в 1 версии сложно решить из-за структуры кода.

 

Например:

1. Метки шаблонов, которые можно использовать только, к примеру, в index.html. В VamShop 2.x все метки общие и любая метка может использоваться в любом шаблоне, иногда довольно удобно иметь такие общие метки.

2. Кэширование, по умолчанию, есть разные варианты кэширования, как просто сохранение в файл, так и apc, memcache и т.д.

3. Префиксы таблиц, тоже кому-то нужно было, помню писали.

4. SEO URL, аналогичные VamShop 1.x, только не нужно в конце прописывать .html. Что будет подставляться в качестве расширения (.html или ещё что), настраивается в Админке - Настройки - Магазин - Расширение URL.

5. SEO URL генерируются автоматом, т.е. не обязательно писать "ручной" url, если он не записан, будет создан автоматически по названию товара.

6. Тоже как-то писали сделать две кнопки при создании в адмнике товара, категории - Продолжить и Сохранить, что б можно было либо сохранить данные и остаться на странице редактирования товара, либо нажать продолжить, после чего сохранятся данные и вернётесь к списку товара.

7. Вот тут как плюс так и минус, работа с файлами через ftp клиент сведена к минимуму, практически всё делается через админку и хранится в базе, т.е. шаблоны, стили и прочее, не нужно вечно гонять файлы туда-сюда по ftp, если нужно что-то поменять, что-то дописать. Всё через админку. Например вот многие писали в описании товара жаль нельзя использовать исполняемый код, т.е. например в описание вставить вывод какого-то кода, модуля, а только html можно вставлять. В VamShop 2.x можно использовать расширения smarty, т.е. смарти метки, а это вобщем-то тоже позволяет всё что угодно вставлять в тоже описание товара. Это конечно и плюс и минус, но я всё-таки считаю, что всё-таки больше плюс.

8. Простое оформление заказа, сейчас вообще можно ни одного поля не заполнять при оформлении заказа, не нужно регистрироваться что б оформить заказ, не нужно помнить свой пароль, не нужно входить в магазин со своим паролем, это конечно и плюс и минус, но всё-таки заказ можно оформить легко, не прыгая по многим страницам. Можно вообще любые поля убрать на странице оформления заказа в /app/vendows/smarty/vam_plugins/function.checkout.php

9. "Правильная" локализация (т.е. мультиязычность интерфейса), используя gettext, т.е. не будет такого как в VamShop 1.x, что со временем перевод на другой язык устаревает, его нужно обновять, иначе работать не будет. Во второй версии любой перевод будет работать вне зависимости от срока давности, пусть даже не переведён текст, тогда будет просто текст на английском если нет перевод на текущий язык.

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

11. Например, то же меню в админке, в VamShop 1.x, что б добавить пункт в меню, нужно править php код, в VamShop 2.x всё автоматически, новый пункт меню создаётся автоматически в зависимости от настроек модуля (plugin'а) и подключается автоматически в меню. Также и удаляется этот пункт меню без правки кода, удаляете модуль - удаляется пункт и из меню.

12. Ну и вообще всё приложение объектно-ориентированное, т.е. построено исключительно на классах.

13. Используется MVC архитектура, т.е. разделение данных (Model), оформления (View) и управляемого кода (Controller).

14. Новое универсальное понятие - контент (типы материала, типы содержимого, если угодно). т.е. это может быть и категория, и товар, и информационная страница, и виртуальный товар, либо статья, новость и т.д. Отличие одного типа материала от другого лишь в наборе полей, признаков. Например у категории: название категории, описание, у товара: название товара, описание, цена, вес и т.д., у виртуального товара: название, описание, цена файл и т.д., т.е. такой унифицированный элемент, оличается лишь набором полей. Всё управление содержимым в Админке - Содержание.

15. Развита идея шаблонов для каждого элемента, в VamShop 1.x есть ограничения, т.е. не всегда можно любой элемент (категория, товары, новость, информационная страница) сделать по внешнему виду отличным от других, в VamShop 2.x при создании любого элемента есть опция - Шаблон, т.е. любой элемент может иметь любое отображение, настроенное в Админке - Оформление - Шаблоны, а к любому шаблону можно написать любой стиль (css код) в Админке - Оформление - Стили, затем стиль прицепить к шаблону.

16. С SQL запросами вообще не нужно напрямую работать (а это опять же избавляет от ошибок в написании SQL запросов, от необходимости проверок SQL запросов на ошибки, правильно будет работать или нет, всё это отдаётся на откуп CakePHP, Вы лишь работаете со своими данными в виде массивов, а SQL код рисует CakePHP), связи между таблицами, зависимости, например категория-товар, всё это описывается в модели данных (model), т.е. создаётся модель для товара и модель для категории, описывается, каким образом связаны будут между собой эти две модели и затем уже просто работаете с массивами, всё очень удобно, т.е. главное один раз настроить модель, а дальше уже можно легко и просто использовать данные из таблиц.

17. Отладчики, гораздо легче найти ошибку в коде.

18. Тестирование, тоже довольно интересная вещь, можно автоматизировать процесс тестирования, например правильно ли работает корзина, добавляется ли товар в корзину, для этого можно написать тесты (test case) и в автоматическом режиме проверять, как всё работает, просто запуская тесты и просматривая результаты тестирования, опять же, сэкономит кучу времени на поиске, исправлении ошибок, если тестами охватить основной функционал магазина, т.е. можно контролировать качество кода в матоматическом режиме, не тратя на это ресурсы, в смысле человеческие, временные и т.д.

19. Стандартизация и соглашения, CakePHP придерживается определённых стандартов кода, соглашений при наименовании контроллеров и т.д., тоже очень важный момент, на мой взгляд, особенно на примере osCommerce.

 

Да и вообще, на мой взгляд, что в VamShop 1.x делается долгим, нудным ковырянием в многих php файлах, правкой sql запросов, в VamShop 2.x (на основе CakePHP) правится парой строк, обычно достаточно просто поправить шаблон (view), никакого php кода, sql кода править не нужно. 

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...