Свой движок - стоит ли?

Discussion in 'PHP' started by buxar, 2 Jul 2020.

  1. buxar

    buxar New Member

    Joined:
    10 Aug 2005
    Messages:
    32
    Likes Received:
    3
    Reputations:
    0
    Тема наверняка не раз поднималась по разным причинам и из разного ракурса.

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

    Идея состоит в том, что бы объединить все существующие проекты на одном движке и создавать новые на нем же.

    Силами конечно сторонних разработчиков, сам на начальном уровне.

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

    Вот мне пожалуйста подскажите, есть ли в природе что-то готовое?

    Мультиязычность-Мультидоменность мне подсказали есть на Вордпрес и Битрикс.

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

    Второй - для меня вообще зло по моим убеждение , да и к тому же платный брать смысла не виду, если все равно в написание платных модулей придется вкладывать.

    В моем понимании остается одно, вложиться в написание своего движка, отвечающего следующим требованиям:

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

    Мультидоменность - любой состав модулей и их настроек для разных доменов

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

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

    API для взаимодействия между разными сайтами на этом же движке.

    Ну и конечно, движок должен отвечать всем современным требованиям, это: минимальная нагрузка на хостинг, быстрая работа, безопасность, СЕО оптимизация.

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

    Итак, делаю (чужими руками) open source и жду ваших советов.

    Возможно стоит за основу взять наработки человека с ником boolive https://habr.com/ru/post/51152/ или его последнее творение https://habr.com/ru/post/211488/ . Честно понравилось по описанию, но руками пока не щупал, да и что мне щупать, нужно сравнивать производительность, другие параметры а я врятли с этим справлюсь. Сам проект заброшен и не поддерживается

    Так же интересный проект https://max-3000.com/, позиционирующий себя как более легкий аналог вордпресса, но он на флеймфорке и менее подвижный.

    Есть какие советы какую структуру строить, может какие наработки взять в основу?

    Может кто хочет присоединится как наемный программист или даже партнер?
     
  2. Skofield

    Skofield Elder - Старейшина

    Joined:
    27 Aug 2008
    Messages:
    960
    Likes Received:
    392
    Reputations:
    58
    1) Смотрим необходимый функционал в уже доступных/готовых на рынке решениях.
    2) Если условие из пункта '1)' не выполняется, добавляем в ту-ду лист функционал который нужен - пишем код.
     
    #2 Skofield, 3 Jul 2020
    Last edited: 4 Jul 2020
  3. buxar

    buxar New Member

    Joined:
    10 Aug 2005
    Messages:
    32
    Likes Received:
    3
    Reputations:
    0
    Моя основная задача все проекты перевести на один движок, что бы уменьшить проблемы с поддержкой.
    Обычные CMS не годятся для таких систем как биллинг, обменники, биржи, да и навороченные магазины
    А в коммерческих решениях для бизнеса так же не вижу решений отвечающих требованиям из первой строки, да и их поддержка или доработка без участия производителя не возможно, так как код закрыт.

    Отговорить меня написание своего движка может быть только если вы мне предложите готовое решение удовлетворяющее хотя бы начальным требованиям в модульности (где модули не привязаны к ядру или другим модулям, а легко взаимозаменяемые), мультиязычность и мультиязычность где на уровне ядра а не плагинами или с правкой основного года делается, тогда да, можно взять чужую основу и на ней пилить себе подходящие модули - но это по сути все равно все проекты с нуля писать

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

    Skofield Elder - Старейшина

    Joined:
    27 Aug 2008
    Messages:
    960
    Likes Received:
    392
    Reputations:
    58
    По-моему, основная загвоздка в этом:
    Попробуем провести аналогию в реальной жизни... Например, если инженерам, проектирующим автомобили захочется создать автомобиль, который не только будет использоваться по своему прямому назначению, то есть - перевозить людей/грузы и преодолевать значительные дистанции на суше, но выполнять то же самое ещё и на воде, воздухе, и желательно в космосе.
    Думаю, что в таком случае, когда инженеры начнут углубляться в процесс разработки и создания такого универсального транспортного средства, то они банально начнут упираться в ограничения со стороны законов физики, которые просто не позволят создать этот универсальный механизм.

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

    Если всё запихнуть в одно приложение, то проблемы с поддержкой - увеличатся.
     
    #4 Skofield, 4 Jul 2020
    Last edited: 4 Jul 2020
    crlf and altblitz like this.
  5. altblitz

    altblitz Elder - Старейшина

    Joined:
    5 Jun 2009
    Messages:
    3,691
    Likes Received:
    3,145
    Reputations:
    236
    О чем всегда, сообщал Партай-Геноссе Блиц.
    Девушки, они всегда специализируются лишь в ОДНОМ своём, и НАИЛУЧШЕМ.
    будь-то личико, сисечки (две) или симпатичная писечка, и даже попочка ))

    [​IMG]

    Художница Яблонская, нарисовала шедевр. Модель - её дочь. Идеальное телосложение, красивые упражнения девушки на солнце.
    Иллюстрация из учебника "Русский Язык" 6-7 класса.
     
  6. Skofield

    Skofield Elder - Старейшина

    Joined:
    27 Aug 2008
    Messages:
    960
    Likes Received:
    392
    Reputations:
    58
    Ты под кислотой что ли?
     
    crlf likes this.
  7. buxar

    buxar New Member

    Joined:
    10 Aug 2005
    Messages:
    32
    Likes Received:
    3
    Reputations:
    0
    По-моему уже писал, мне не комбайд нужен, а конструктор.
    Что бы имея одно ядро, составляя разные модули (большинство из которых будет аналогично в разных проектах), можно было бы создавать разные проекты.
    Ну давайте по пальцам, берем WP - ставим чистый- блог, добавляем модуль чата - чат, добавляем модуль магазина - магазин, модуль каталога - каталог.
    При всем этом модуль обратной связи, какие-то другие остаются не изменны.
    Вы же с комбайном сравниваете

    В чем же отличие WP от того что мне нужно:
    1. Модули должны быть независимы, а не жестко привязаны как ту, по-моему в подобных CMS что в чистом уже вшито, не убрать, так как оно уже одно ядро а не модуль.
    2. Реализация мультидоменности/мультиязычности должна быть вшита в ядро и специфика остальных модулей учитывать это. А не так как сейчас, переведи движок, переведи модуль, установи кучу плагинов что бы эти функции работали как нужно. Все эти плагины изменяют код основной системы, при обновлении движка, не факт что плагины будут работать. В общем куча проблем потому что изначально CMS пишут под один язык, а потом извращают его дополнениями
    3. Самое главное, что подобные CMS не ращитаны для серьезных бизнес решений, о которых писал в первом посте

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

    altblitz Elder - Старейшина

    Joined:
    5 Jun 2009
    Messages:
    3,691
    Likes Received:
    3,145
    Reputations:
    236
    Не понимайтунг, почему твоя не ознакомила себя с модульным конструктором LAMP: Linux + Apache + MySQL + PHP?
    И стоит глянуть в сторону движков, на которых работают форумы GNU/Linux opennet.ru и bbs.archlinux.org.
     
  9. Skofield

    Skofield Elder - Старейшина

    Joined:
    27 Aug 2008
    Messages:
    960
    Likes Received:
    392
    Reputations:
    58
    https://www.cmsmadesimple.org/why-cmsms/for-developers/
    https://www.cmsmadesimple.org/2012/04/CMSMS-1-11-Update/
     
    K800 and altblitz like this.