[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Свой движок - стоит ли?
Страницы: 1, 2, 3, 4, 5
BuxarNET
Тема наверняка не раз поднималась по разным причинам и из разного ракурса.

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

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

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

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

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

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

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

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

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

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

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

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

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

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/, позиционирующий себя как более легкий аналог вордпресса, но он на флеймфорке и менее подвижный.

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

Может кто хочет присоединится как наемный программист или даже партнер?
Michael
Цитата
Итак, делаю (чужими руками) open source и жду ваших советов.

С опенсорсом будет сложновато.
Все таки когда оно у всех на виду, то и к качеству сразу предъявляются требования, и к обязательному наличию тестов. Времени это все занимает уйму.
Да и современная разработка - это не сайтики из архивчиков на денвере и по ftp на хостинг.

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

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

Да и нужно ли это рынку?

Цитата
Может кто хочет присоединится как наемный программист

У вас что имеется бюджет на создание движка?
Сколько платите?

_____________
There never was a struggle in the soul of a good man that was not hard
BuxarNET
Смотрите, написание универсального движка имеет основную задачу это перевести все мои разношерстные проекты на один движок, как раз для удешевления разработки и поддержки в будущем.
Так же для запуска еще достаточно большого количества проектов на одной платформе.

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

Многие пишут что это дорого, не выгодно и бесперспективно.

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

По этому я считаю все же дешевле, поддерживать одну платформу, пусть и при условии что разработчики будут меняться время от времени. За то я сам буду в ней знать все изменения, будет написана мне понятная документация, а раз я не спец пойму, то и спецу будет любому понятно.
Да и учитывая это:
Если ядро будет содержать только логику, то проблем в построении разных проектов не будет.
Во всех проектах можно использовать одинаковые модули к ядру которые отвечают за функционирование движка (системные модули).
Во всех можно использовать одинаковые модули такие как модуль регистрации, авторизации, профиля, обратной связи, модули вывода информации, модули шаблонов (вспомогательные модули).
И только специфические модули отвечающие за функционал конкретного проекта будут писаться отдельно (уникальные модули).
Если не считать проектирование движка и разработку начальной логики взаимодействия ядра с модулями, дальнейшая разработка как раз будет дешевой.
Так как написав один раз системный или вспомогательный модуль, он пойдет на все проекты без каких либо затрат на разработку

Бюджет на данный момент 10к долларов в месяц, дальше будем смотреть по ситуации, или постоянно такой будет или будем увеличивать/уменьшать
BuxarNET
да, по поводу open source - это расчет как раз наоборот, что моя идея понравится в первую очередь как идея и люди будут помогать и баги искать и предлагать более оптимальные решения кода тех или иных задач.

я подобной модульности не вижу в современных CMS, по этому если удастся реализовать именно так как хочу, думаю интерес будет у сообщества
BuxarNET
поехали smile.gif http://phpforum.su/index.php?act=ST&f=112&t=95210
Гость_chee
Берешь любую открытую cms дорабатываешь до нужного состояния, это будет стоить намного дешевле чем собственная. А в случае чего облегчит найм сотрудников. Лучше смотреть на cms на фреймворках, почему? потому что они подходят под твои требования, они содержат чистую архитектуру и базовые модули, их просто обвешать функционалом. Поискать в гугл cms yii2, cms symfony. Твоего бюджета в 10к зелени хватит на полгода квалифицированного специалиста из города миллионника, он тебе за это время все напишет.
twin
Цитата (Гость_chee @ 18.10.2020 - 15:47)
Поискать в гугл cms yii2, cms symfony.

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

Что касаемо Yii2, то это вообще бесперспективная тоска.

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

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
BuxarNET
twin верно уловил мысль

А Гость_chee могу ответить, что если мне нужны совершенно разные проекты на одной платформе, то брать CMS , которые тем более как правило заточены под контент а не функционал, смысла вообще нет. Переписывать придется просто все и после этого сомневаюсь что знаток Drupal к примеру разберется в том что там уже наделано без документации.
Фреймворки на любителя, имею ввиду на любителя в части программиста. Один работает с одним, другой с другим. Какие шансы что потом на свой я найду нужного или кто-то захочет переучаться.
Проще найти человека который умеет писать и на чистом и пусть не на нужном мне фреймворке.

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

Может через годиков пару вспомните про меня, когда двидок будет рядом с топывами smile.gif
Хотя не в этом цель и ниша его будет в специализированных а не обычных CMS
Michael
Цитата (BuxarNET @ 20.10.2020 - 05:13)
Фреймворки на любителя, имею ввиду на любителя в части программиста. Один работает с одним, другой с другим. Какие шансы что потом на свой я найду нужного или кто-то захочет переучаться.

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

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

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

_____________
There never was a struggle in the soul of a good man that was not hard
S.Chushkin
Цитата (Michael @ 20.10.2020 - 14:46)
вот дока к yii2, должна дать намек сколько готового функционала обычно требуется _в каждодневной работе_.

Как раз больше половины не требуется. Совсем. Или почти совсем.

_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
twin
Цитата (S.Chushkin @ 20.10.2020 - 13:36)
Как раз больше половины не требуется. Совсем. Или почти совсем.

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

Я имел печальный опыт работы с командой уишников. Причем задача была не изменить функционал, а перетащить его наYii на Yii2. Как известно, обратной совместимости у них нет от слова "совсем". Сначала приняли решение делать по науке, слоистую архитектуру, доменную модель и прочая, как завещал великий дядя Боб.

То, что это еще та задачка, еще ничего, было даже интересно. Но когда я подготовил инфраструктуру и началась реализация, назрел бунт. Эти специалисты дружно решили, что ну его нафиг. Зачем мудрить, надо как все, молиться на доку, сболюдать каноны. Читай - опять в заложники фреймворка. Мне, как тимлиду, пришлось покинуть проект. Ибо очень грустно это.

И что в итоге? Проект пересобрали по канонам, все как учили (в доках). Криво, косо и костыльно, но вроде перенесли на 2-ю версию, потратив уйму времени и сил.

А на сегодняшний день оказывается, что Yii2 почти не поддерживается, где то в закромах готовится третья версия, будет или нет - большой вопрос, однако что не вызывает сомнений: обратной совместимости опять хрен дождешься.

Что дальше? Снова все переписывать?

Цитата (Michael @ 20.10.2020 - 10:46)
Потому что вся инфраструктура, все фишечки мне знакомы, изучаю в основном логику.
В том и беда, что приходится и логику крамсать, и новые фишечки изучать, если вдруг кто то решит выпустить новую версию, на 180 градусов отличную от предыдущей. Проще нормально задокументировать аскетичное ядро и быть уверенным в его незыблимости, чем каждый раз изучать премудрости фреймворка, являясь его заложником. Ну и подстраивать каждый раз свои продукты.

А раз инфраструктура минималистична, отпадает сакральный вопрос о надежности. Мол фреймворк протестирован на стопяцот раз, а самопис нет. Если в самописе 10 классов, а в фреймворке овердохрена излишних, совсем не факт, что последний надежнее.

Именно поэтому в данном случае(!) выгоднее иметь минимальную инфраструктуру и оптимальную сборку библиотек, Я как то писал о различиях, недостатках и преимуществах.

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
BuxarNET
twin Это еще одна из причин не начинать на фрейворке. Ты зависишь от его поддержки и разработки. Решат не поддерживать текущую версию, принуждают тебя к переходу на другую даже если у тебя этого в планах нет.
Если свое с нуля, переход сам планируешь когда тебе нужно на новый PHP или решаешь переписать всю логику когда тебе угодно.

Мне тут подкинул один программист вот это https://github.com/it-architector/right.csdr
Кто что думает по этому поводу? Применимо ли в будущей разработке?
Michael
Цитата (twin)
Но когда я подготовил инфраструктуру и началась реализация, назрел бунт. Эти специалисты дружно решили, что ну его нафиг. Зачем мудрить, надо как все, молиться на доку, сболюдать каноны. Читай - опять в заложники фреймворка. Мне, как тимлиду, пришлось покинуть проект. Ибо очень грустно это.

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

Цитата (twin)
А на сегодняшний день оказывается, что Yii2 почти не поддерживается

Почему же не поддерживается?
Он поддерживается. И долго еще будет. Может не так живенько как может хотелось, но баги критические будут исправляться, можно и самому исправить.
Там вроде только недавно они от поддержки yii1 отказались (но кто то перехватил) , а это более 10 лет наверное.

Цитата (twin)
Если в самописе 10 классов

10 классов тебе и 10 штук функционала всего дадут, классы ж по SRP biggrin.gif

_____________
There never was a struggle in the soul of a good man that was not hard
Michael
Цитата (BuxarNET @ 21.10.2020 - 03:54)
Кто что думает по этому поводу? Применимо ли в будущей разработке?

Я б не советовал.
Человек явно не очень опытный программист, современных версий php не знает, композер не использует, каталоги на русском именует, SPA приложение точит, но и на фронте самопис какой то, программирует процедурно, ООП не знает, Postgres не учитывает и т.д..
Его фриковский фрейм - это как раз та вещь на которой можно очень сильно попасть.

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


_____________
There never was a struggle in the soul of a good man that was not hard
twin
Цитата (BuxarNET @ 21.10.2020 - 01:54)
Применимо ли в будущей разработке?
Нет.

Цитата (Michael @ 21.10.2020 - 05:08)
Если уж захотелось по умненькому - есть пример от Елисеева, но там поднапрячься придется, если не готов.
Я примерно это и сделал, по крайней мере взял за основу. Вся бяда возникла тогда, когда напрячься пришлось кодерам. Хотя я все подготовил и даже доку с картинками нарисовал))) Но разве кому то нужно напрягаться, если есть все готовое. Какие модели, какие тесты, какие сущности, нафига греть голову, когда есть активрекорд с запечатанной внутрь валидацией! Это же так просто.


Цитата (Michael @ 21.10.2020 - 05:08)
10 классов тебе и 10 штук функционала всего дадут, классы ж по SRP
А больше и не надо))) Даже этого много может оказаться. 10 классов, это утрировано конечно, однако что нужно по сути для ядра:
1. Внеший интерфейс (роутинг)
2. Система интеграции библиотек (адаптеры).
3. Система работы с самостоятельными модулями.
3. Глобальный хэлпер (сборник необходимых оберток и вспомогательных функций). Хотя и его можно оформить либой.
4. Дебаггинг. Тут же и иерархия эксепшенов.

Собственно все, остальное решается на уровне библиотек и самого приложения.

Цитата (Michael @ 21.10.2020 - 05:16)
У меня кстати перед глазами был с год назад один магазин, где они на фронте так само поигрались, соорудили SPA админку на jquery, так разработчика на поддержку и доработку они ищут безуспешно по сей день.
В свое время и про jquery тоже говорили - нафиг писать руками, есть же фреймворк biggrin.gif А сейчас оказывается он нафиг не нужен и спецов не найти.

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.