Можно ли взять Fat-Free Framework за основу при создании интернет-магазина?
Дано: есть несколько интернет-магазинов на разных студийных CMS-ках, которые, на мой взгляд, морально устарели, за годы доработок обросли "костылями", потеряли производительность и стройность, имеют много балласта в виде слабоиспользуемых CSS и JS-библиотек. Постоянно преследует мысль перевести этот зоопарк на одну CMS, что упрощает процесс доработки и исправления ошибок пропорционально количеству имеющихся разношерстных сайтов.
Рассматриваю 3 варианта:
1) Адаптировать коммерческие CMS (Bitrix, UMI, Simpla) или бесплатные CMS (MODX, Opencart, PrestaShop) под наши нужды. Данный вариант не очень нравится, поскольку доработок потребуется много(мебель), и нам в тяжелых движках будет все дорого реализовывать. О простоте и дешевизне доработок можно будет забыть. Плюсы - 95% функционала и модулей уже есть из коробки.
2) Создать с 0 на основе перспективного фреймворка (Yii, Laravel) собственную минималистичную CMS, где не будет ничего лишнего. Очевидные минусы - в начале пути(цена разработки, время), впоследствии собственный продукт гораздо легче поддерживать и развивать.
3) Сделать все на чистом php, взяв за основу какой-нибудь микрофреймворк или роутер (Fat-Free Framework, FastRoute итп). Минусы: дорого, долго, рискуем наизобретать велосипедов, вопросы с безопасностью. Плюсы: все свое, все родное, примитивное, допиливать и развивать будет гораздо быстрее, чем в вариантах 1,2.
Склоняюсь к 3-му варианту, отговорите меня пожалуйста. )
Ясно, что в этом вопросе нет "серебряной пули". Хотелось бы услышать, каким путем идут крупные проекты а ля озон, enter, авито.
дешево ничего не делать. CMS выгодно использовать тогда, когда под рукой нет программистов. В остальном оно обычно только кажется как "берем и юзаем". А на самом деле даже простые задачи частенько требуют напильника.
Sanes: как правило написать решение под конкретную задачу (на базе готовых библиотек) выходит дешевле (в плане сопровождения и поддержки решения) чем использование готовых универсальных инструментов.
Берите готовую CMS и не парьтесь.
Вариант 3 - дело на год примерно =) - Это действительно долго и дорого. Нам понадобилось около 2-ух лет и примерно 2 млн. рублей. Так что за эти деньги вам все магазины сделают на 5+ и гораздо быстрей.
Вариант 2 - тоже не идеален, как только выйдет новая версия фреймворка, например Yii обновится до второй версии - вам придется переписать половину движка.
Так что вариант с CMS самый идеальный - обновляйтесь периодически на новую версию и все.
Я бы добавил, что всё же лучше использовать коммерческий движок. Если жаба душит, то поискать у них же бесплатную версию, может сгодится. Например у того же CS-Cart бесплатная версия очень даже годная.
Жаба не душит. Покупать монструозный продукт наподобие Битрикса, который трудно дорабатывать, не очень хочется. Стоимость коммерческого движка вообще копеечная по сравнению со стоимостью дизайна и доработок.
- F3(как и любой другой микрофреймворк) нет смысла использовать. В них мало что есть из коробки, и придется самому придумывать архитекруту и поддерживать ее.
- Если есть время и возможность, то лучше написать свое решение на одном из актуальных фреймворков(Laravel, Yii, Symfony)
- Если времени мало, то можно попробовать адаптировать существующие CMS. Только стоит учитывать, что к сущесвующим багам CMS, добавяться ваши собственные баги.
Может, кто-нибудь предложит на взаимовыгодной основе готовое решение на одном из актуальных фреймворков, которое впоследствии легко можно развивать и поддерживать?
Годных только 2 варианта, которые в жёсткой зависимости от комбинации двух факторов - времени и денег:
1) готовая CMS;
2) мейнстримовый полноценный фреймворк;
Писать всё на чистом php - равноценно велосипедить то, что уже давно сделано и обкатано в тех же фреймворках.
Т.е. это приемлимо только в рамках обучения.
К мыслям о голом php постоянно возвращает наш первый древний онлайн-магазин, сделанный на php4. Все было примитивно до ужаса, но это работало и работало на ура. Мелкие правки в функционал вносились за 5сек.
Мало крупных проектов пользует коробочные версии. Битрикс, к примеру, относительно недавно стал пользоваться популярностью у гигантов(Связной, Эльдорадо, Евросеть), но там и бюджеты на разработку исчисляются десятками млн. рублей
А скажем, как сделан sotmarket? Платформа явно не коробочная. Каков подход? Есть знающие люди?
скорее всего было взято любое ядро - фреймворк или движок - а далее для таких гигантов переписывается около половины движка (читал про enter.ru) и от движка мало что отстается.
Вариант 3. За 2 месяца включая изучение микрофреймворка Fat-Free можно разработать полноценный узкоспециализированный коробочный продукт. Очевидные плюсы: поддерживать и допиливать быстро и просто.