@deivoff
frontend-разработчик

Как сделать социальный сайт и убить зайца с отсутствием навыка его разработки?

Всем привет! Прошу информационной помощи.
Учусь на разработчика ИС, и занимаюсь общественной деятельностью
И решил совместить эти две ипостаси
Взял на себя социальный проект - разработка сайта для "общественников", где:
1) Можно общаться по проф. темам (например, как на хабре);
2) Есть система "Бартерного магазина" - люди за полезную социальную деятельность получают "валюту сайта", которую могут там же и потратить на различные услуги и ресурсы, которые там выкладывают;
3) Общественные организации, а также люди, выложившие ресурсы на обмен, могут отмечать себя на карте в формате либо "городского сообщества" либо "выложившего ресурс".
И тут возникла проблема с технологией создания этой системы
Я знаю основы html, css, js, с#, sql и проектирования ИС (спасибо университету за это), делал "страницы сайта" на bootstrape, но полностью до мельчайших деталей не представляю себе работу этого сайта от А до Я:
Какие технологии использовать? Как выбирать хостинг, и как вообще выглядит "загрузка" сайта на хостинг? Как делать backend? Как он выглядит в совокупности с frontend'oм? Как их вообще связывать?
И не могу найти источника для ответов на свои вопросы
Набрал команду таких-же инициативных ребят, которые точно такого же уровня в этом деле.
Кто-нибудь может посоветовать источники информации и какие инструменты лучше в этом деле использовать? Я подумал про php, но может есть готовые решения, а я хочу собрать велосипед?
  • Вопрос задан
  • 346 просмотров
Решения вопроса 1
delphinpro
@delphinpro
frontend developer
Ну давайте попробую ответить на часть ваших вопросов )

Начнем с главного
Как их [frontend и backend] вообще связывать?

Бэкенд - это то, что работает на сервере, фронтенд - то, что работает и отображается в браузере. Эти вещи разнесены в пространстве и времени. Общаются они между собой по протоколу http. Браузер отправляет запрос, сервер его получает, обрабатывает и выдает ответ браузеру. Тут вроде бы все должно быть понятно? Запрос-ответ в простом текстовом формате (http - hyper text transfer portocol). Вам этот протокол зубрить не нужно, браузер все делает сам. Просто для понимания.

Как делать backend?

Это просто программа на каком-то языке. Чаще всего php. Подавляющее большинство шаред-хостингов предоставляют вам именно php. Самый низкий порог вхождения у php. Вот и начинайте с php. Пусть говорят, что он "умирает", что php гавно, и т.д. Зато на нем можно в максимально короткие сроки запустить сайт человеку никогда этого не делавшего.

Как выбирать хостинг

Хостинг выбирают под сайт. Средне-статистический говносайтик (коих большинство в интернете) вполне себе нормально уживутся на дешевом шареде за 200-300 р/мес.
Т.е. идете к любому хостинг-провайдеру и покупаете у него один из тарифов. Многие предлагают покупку и привязку домена, зачастую со скидкой. Вообще ничего настраивать не надо.

и как вообще выглядит "загрузка" сайта на хостинг?

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

Какие технологии использовать?

Вот тут интересно =) Технологий море. Океан. Для бекенда, для фронта, для разработки, для отладки, для тестирования, для деплоя... Нужны ли они все вам?
Думаю на первом этапе не стоит зарываться и делать каждую мелочь по фен-шую. Закопаетесь с головой и не вылезете потом. Начинайте с самого простого - php на бекенде, jQuery на фронте, и простейший деплой по (s)ftp. Единственное, с чем стоит определиться сразу - это основа сайта. Будет это какая-то CMS или фреймворк - неважно. Лишь бы не самописное УГ.
И контроль версий. Сразу осваивайте git.
Остальное тлен. Потом приложится, когда будете получше во всем разбираться.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
@chronic86
Ruby on Rails junior
Слишком много на себя взяли при таком уровне навыков хотя если сроки не ограничены, то порядок действий примерно следующий.
1. Учим основы проектирования БД.
2. Паралельно поглядываем гайды и документацию на разного рода mvc фреймворкии, желательно что то устоявшееся с большим количеством готовых решений (рельсы, лаварел и т.п.) смотрите к чему душа лежит.
3. Во фронтенд вроде реакта погружаться сразу не советую, закопаетесь. Первоначальную версию делайте попроще, потом сможете поэтапно перевести фронт на что то интересное.
Ответ написан
Комментировать
@ipokos
Вставлю еще свои 5 копеек.
Если у вас есть команда (хотя бы несколько человек), разделите обязанности.
Всем в равной степени учить одно и то же, не нужно.
Например пару человек осваивают тот же php, mysql, git (минимальный набор).
Другие пару фронт. html, css, js (что уметь сверстать страницу +- )
И достаточно кого то одного на координацию + роль сисадмина и по мелочам.
Минимальный набор: понимать что такое сервер и уметь с ним работать, проектирование БД, git... Добавлять можно долго, но этого вроде должно хватить, что б появилось какое то понимание.

Я подумал про php, но может есть готовые решения, а я хочу собрать велосипед

Готовые решения в этом случае, это фреймворки. Практически в любом (например Symfony, Laravel), из коробки реализована работа с БД, встроенный шаблонизатор, готовые методы проверки, валидации данных и т.д.

Если цель, сделать хороший проект, то все что Вам написали выше и может что то из этого.
Если нужно на скорую склепать рабочий вариант, то можно взять какую то CMS-ку и немного переделать. (знания php всеравно понадобятся)
Ответ написан
Комментировать
dimap101
@dimap101
ИП, разработка АИС, микроконтроллеры
Предложу свой вариант ответа от НЕразработчика и НЕпрограммиста, тем не менее создающего сайты типа описанного в вопросе в одном лице (html, css, js, mysql и то, на чем делается backend - об этом позже) и без использования CMS.

Итак, в первом ответе хорошо расписаны основные понятия, повторятся нет смысла.

А теперь от том "как это сделать ?"

0. Git не нужен, команда не нужна. Многие меня запинают (возразят), но это ПЕРВЫЙ НЕБОЛЬШОЙ проект. Точка.

1. Идем на сайт практически любого более-менее известного хостера и регистрируемся. Как правило туда войдет хостинг под сайт, регистрация домена, возможность установки собственных CGI (зачем это нужно - объясню) и база данных (MySQL например). Наберетесь опыта - заведите VDS, по цене отличается не сильно, но тут вам уже придется администрировать операционную систему (например Linux).

2. Альтернатив HTML и CSS нет, изучайте. Без их основ делать нечего. htmlbook.ru вам в помощь. Хотя как я понимаю, с этим вы знакомы.

3. Необходимости супер познаний в JS тоже нет. В большинстве случаев JS сейчас нужен для того, чтобы сайт выглядел современно. Все что вам понадобится на JS сейчас - уже написано другими, используйте это.

4. Берете Notepad++, ставите плагин NppFTP. Это позволит работать с файлами прямо на сервере по SFTP или FTP, а не загружать файлы на сервер при каждом изменении. После этого шага можете писать свой первый статический HTML с CSS и увидеть его в Интернете на своем сайте.

5. Теперь о больном - backend, то что позволяет сайту не быть статическим, а динамически формировать контент. Большинство сейчас использует PHP. Плюс в том, что на большинстве хостингов он уже есть и настроен. Но на нем свет клином не сошелся, хотя для больших проектов и работы в команде видимо альтернатив тоже нет.
Есть еще Ruby on Rails, Python, Perl - на всем этом можно создавать backend.

Для написания backend я использую язык Parser - предельно простой язык (проще PHP), созданный специально для разработки сайтов, разработки Студии Артемия Лебедева, с отличной документацией, примерами и форумом - www.parser.ru. Все инструкции по установки на хостингах есть, а есть и хостинги с поддержкой. На любой хостинг ставится в виде CGI-модуля. Отлично работает с распространенными базами данных - MySQL, PgSQL, Oracle, SQLite, ODBC.

Выдержка с сайта Parser:

Если есть PHP, то для чего Parser?
PHP — это язык программирования, требующий соответствующей подготовки. Parser же простыми средствами решает сложные задачи, что позволяет простым смертным создавать и поддерживать сложные динамические сайты без больших затрат времени.


В большинстве языков, используемых для backend, HTML встраивается в код. В Parser код (логика) встраивается в структуру HTML, т.е. вы пишете frondend на HTML и CSS и добавляете в HTML-код логику backend'а.

6. Еще нужно решить - где хранить данные. Самое простое - СУБД MySQL или PgSQL, бесплатно, есть на всех хостингах. Особой разницы между ними с точки зрения малых проектов не вижу. Есть готовые однофайловые php-приложения для веб-сайтов для управления, например Adminer.

Заключение - всё вышесказанное является личным мнением автора ответа и не претендует на универсальное решение. Это всего лишь вариант как быстро и просто (хотя возможно и неправильно) начать разработку динамических сайтов (причем можно дойти до достаточно сложных).
Ответ написан
Комментировать
@No4NaMe
Не кого не слушай. Берешь движок wordpress и плагин wp-recall - покупаешь премиум шаблон. Ты убил всех зайцев.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы