Как же все таки совместить front-end и back-end?

Привет.
В планах написать полностью некоммерческий проект - фотохостинг. Ну просто хочется и все.
Знаю, что их много, но:
1) Сейчас я на 3 курсе в техникуме, а препод увидел, что я занимаюсь вебом и сказал, что могу приступать делать проект сейчас, чтобы не ждать 4-го курса.
2) Мне хочется создать что-то вроде "своего детища". И повторюсь - не с целью навариться. Просто хочется поработать с данными, с картинками, создать логику, API и все такое. Даже нашел НН, которая определяет, является ли фотография 18+, чтобы ее не публиковать.
Сейчас же имею только верстку. Верстаю немного, в свободное от работы и учебы время, но дал себе условный дедлайн - сделать за месяц. Нет, не потому, что для меня это сверхсложно, а потому что занимаюсь этим в свое удовольствие в свободное время. Меня никто не гонит.
Так вот, извиняюсь за такое водное вступление. Собственно, вопрос.
Как же лучше совместить бекенд и фронт?
1) Лучше писать PHP код прямо в HTML разметке?
2) Лучше через ajax получать данные по API?
Первый вариант мне не особо симпатизирует, потому что ну не хочется встраивать логику по факту в статику. Но со вторым вариантом тоже не все так просто - увеличится время загрузки контента, не смотря на асинхронность. Лучше, как мне кажется, отдавать сразу готовую HTML страницу, но эта идея противоречит предложению выше.
Вот такие дела, сижу сам с собой размышляю. Не понимаю, что делать.
P.S. Хочу сделать все на чистом HTML, CSS, есть также уже фреймворк, в котором я отредактировал стили под себя. Не хотелось бы делать на Vue, Angular'e, потому что я не занимаюсь так фронтом, как бекендом. Верстаю на UIKit и меня все устраивает, это как собирать конструктор. А если писать на том же Vue, то это уже не принесет такого удовольствия.
  • Вопрос задан
  • 327 просмотров
Решения вопроса 1
ermek6
@ermek6
::Живу с удовольствием::
По моему скромному мнению следуют принципиально разделить проект на 2 части:
  1. Фронтенд: html + JS
  2. Бэкэнд: php

Бэкэнд настраиваешь по урл host/api/ на который пост запросом отправляешь параметры (ключи, идентификаторы)
Фронтэнд -- собственно index.html, который подтягивает js скрипт, работающий с API и DOM

Такой подход позвоит менять как бэкэнд, так и фронтэнд, а так же тестировать их по отдельности.

Цикл разработки примерно такой:
  1. Пишешь заглушку для выдачи фотки, где захарткожены выходные данные
  2. Пишешь html + js для получения данных. В процессе по необходимости меняешь данные в предыдущем пункте
  3. Пишешь реализацию бэкэнда


и так для каждой из функций сайта
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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