copyloc
@copyloc
Человек то я не глупый, просто притворяюсь

Блого-социальная сеть с нуля, с чего начать и на чем начать?

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

По минимуму функционал такой:
- Можно зарегистрироваться.
- Есть рейтинг постов, пользователей, блогов.
- Можно создавать блоги, в которых находятся топики пользователей (подобие хабра и его клона LiveStreet).
- Возможность комментирования, но на крайний случай поставлю отдельные сервисы KOMENT или Disqus.
- Наиболее важное: созданные топики будут выводится все на главной странице, то есть ссылки на них с частью описания и т.д.
- Возможность писать личные сообщения.
- Другие небольшие мелочи.

Использовать буду базу mysql. Шаблонизатор, думаю, не нужен, так как писать буду один, как я понимаю, он нужен чтобы разделить функционал от дизайна. Админпанели делать не собираюсь, шаблон будет один и, наверное, сразу встроенный, плагины и подобные вещи тоже не будут. Правильное ли я направление выбрал? Стоит писать на PHP или все же что-то нужно другое?

Учебники по созданию CMS выпрашивать, думаю, не стоит, так как это понятие растяжимое, но если кто встречался с подобными статьями/книгами, буду рад увидеть ссылку. Просьба писать по делу и не критиковать.
  • Вопрос задан
  • 7884 просмотра
Решения вопроса 1
Правильное ли я направление выбрал?

Не очень могу себе представить как ответить на этот вопрос. Вы сами-то как думаете?

Хочется написать свою блого-социальную сеть, можно сказать, что для практики.

Если для практики - наверное да, направление отчасти верное, но смотря для какой практики... практики написания собственного велосипеда или практики написания проекта на PHP или практики создания структуры соц.сети?
Как только ответите себе для какой практики вы хотите это все делать - ответ на ваш вопрос будет готов на 85%. ;)

Стоит писать на PHP или все же что-то нужно другое?

Ответ на этот вопрос вы так же сможете получить, ответив на вопросы выше. Если вам нужен PHP, то вопрос отпадает сам собой, если нужна практика создания соц.сети, то выбирайте тот инструментарий (php, ruby или .net) в зависимости от того, что вам потребуется в дальнейшем или к чему душа лежит более, ибо тут советовать бесполезно. У каждого из озвученных ЯП есть множество достоинств и недостатков, каждый из них предназначен для схожих задач, но все они отличаются как по сложности (удобству), так и по предпочтительной сфере применения.
Это оставшиеся 15% ответа на ваш вопрос.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
Freika
@Freika
Senior Ruby on Rails developer
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Если пишите в образовательных целях, то возьмите какой-нибудь мэйнстрим фреймворк (Symfony2 или Zend2 для php например). Главным критерием фреймворка берите сложность. Не берите фреймворки где слоган гласит "начните писать крутые приложения уже через неделю ковыряния", ибо в итоге вам придется обжечься на базовых вещах по 10 раз прежде чем придет какое-то понимание о проектировании web-приложений. Лучше уж брать что-то, что заставляет писать правильно, или хотя бы дает направление верное для развития. Можно так же взять какой микрофреймворк, аля Silex, Slim и что там еще популярно нынче. Это я описал по ситуации в php, для других языков (типа руби к примеру), чуть менее остро стоит проблема выбора инструментов, ибо большая часть инструментов проектировалось нормально. В php много такого (это относится и к встроенным функциям, и к инструментам и к фреймворкам), что потворствует говнокоду.

Используйте TDD (PHPSpec)/BDD (Behat, PHPUnit) сразу, заодно прокачаетесь.
Ответ написан
akubintsev
@akubintsev
Опытный backend разработчик
Я сомневаюсь, что вы так сходу без знания того, что такое фреймворк сразу потянете написание блого-социальной сети. Ставьте лучше перед собой более реалистичные задачи, результат которых скажем можно уже пощупать через пару недель работы. И главное - чтобы процесс разработки ощущался как наркотик, чтобы хотелось больше и больше написать. Тогда получатся интересные вещи, а не очередной банальный 'Hello world' на суперсовременных технологиях.

И да, если встал вопрос о языке, то без грамотного ментора лучше не смотреть на PHP. Обратите лучше внимание на Python или RoR, там отсутствует тяжелое наследие быдлокодинга.
Ответ написан
Комментировать
johnfox97
@johnfox97
Web-programmer, web-designer and "crazyFOX".
Ну в этом ничего нет сложного. Для написания такой системы и php ОПП достаточно. Там для анимаций и т.п. js, jquery, ajax - достаточно использовать. А
личные сообщения
, ты по принципу регистрации или публикования статей можешь сделать. p.s. большинство так и делают. Я сам подобное для себя делаю, не ради пиара, а ради знаний.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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