@Ben_r007

Фреймворк или чистый код для разработки социальной сети?

Здравствуйте.
Есть задача разработать социальную сеть. Вернее даже больше не социальную сеть, а сайт знакомств.
Прошу не обсуждать мол кому это нужно и прочее, так как не по теме.
Задачи нужно решить следующие:
Регистрация и авторизация пользователей;
Заполнение профиля и отображение других анкет;
Поиск других пользователей;
Личные сообщения;
Добавление и отображение фотографий.
Пока этого достаточно. Сейчас главные проблемы следующие:
Как добавить в регистрацию список стран и городов? Ну не прописывать же все лично. Уверен, есть какие то решения.
Как реализовать несколько языков. Проект международный, а проекты с нескольким количеством языков я ещё не разрабатывал.
Реализация поиска. Нужен вывод по последнему онлайну, хотя это реализуется через time. Самое главное, что в поиске нужно указать список стран и языков, и чтобы можно было искать только по этим странам и только по этим языкам.
Но вопрос мой в другом.
В начале, несомненно, посетителей будет мало. Но в будущем, 10, 15, а то и больше тысяч посетителей планируется.
И вот мой вопрос:
Стоит ли использовать фреймворки, или писать чистый проект с нуля?
Я не знаю, на сколько проект вырастит в будущем, но я слышал, что если посетителей сотни тысяч, лучше писать код с нуля. Выходит, придется переписывать.
Что можете посоветовать? Если брать фреймворки, какие удобнее? Никогда не работал с ними в PHP, потому и интересуюсь.
Заранее благодарен!
  • Вопрос задан
  • 368 просмотров
Решения вопроса 1
@Yan-s
Стоит ли использовать фреймворки, или писать чистый проект с нуля?

Стоит. Либо собирать фреймворк из готовых компонентов. Но никак не писать их с нуля.

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

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

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

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

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

Что можете посоветовать? Если брать фреймворки, какие удобнее? Никогда не работал с ними в PHP, потому и интересуюсь.

Могу посоветовать не спешить и поизучать сначала фреймворки и архитектуру ПО.
Посмотрите вот эту серию видео https://www.youtube.com/watch?v=w4iqxN0nfTs
Почитайте Совершенный код, Чистая архитектура и в таком духе.
Попробуйте Симфони и Ларавел.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Adamos
@Adamos
Большая часть требований - это обычный функционал обычной CMS.
Взяв голый фреймворк, вы нагородите велосипедов, которые будут работать медленнее и глючнее уже кем-то отлаженных решений. То есть вы получите ровно то, от чего хотите спастись, выбрав фреймворк.
На голом пыхе все будет еще более клинично, скорее всего, вы просто сорвете все сроки либо заказчик охренеет столько платить.

Берите CMS с фреймворком под капотом и не пытайтесь создать вселенную за семь дней. Если, конечно, ваша цель - не обучение, болезненное и убыточное.

P.S. Оптимизация самопальной соцсети под высокую нагрузку (при статистике провалов таких проектов практически 100%) - это что-то вроде эргономики нижней стороны туалетного сиденья. Может быть очень увлекательно, но никогда не будет полезно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы