Есть небольшой сайт, написанный на чистом html / css и парочка js анимации.
Вот страница с поиском блоков
Страница блока
В серверном программировании вообще ничего не знаю, и отсюда вопрос: На каком языке писать движок и что учить? (если я правильно понял, это то, через что можно управлять контентом, который будет генерировать новый html страницы и т.д. я прав?) И в какую сторону мне вообще дальше смотреть?
Спасибо за понимание и ответ, буду очень благодарен.
2 Answers
В таком случае вам для начала необходимо изучить php (будет необходим для обращения к базе данных) и MySQL (сама база данных) и SQL (язык запроса к бд).
Могу посоветовать курсы:
https://www.codecademy.com/learn/php
https://www.codecademy.com/learn/learn-sql
К тому же, вам будет необходимо иметь локально сервер. Рекомендую этот инструмент: http://open-server.ru
- 577
-
Спасибо за ответ. А разве хостинг не позволяет обойтись без локального сервера? И вопрос про php, он лучше подойдет чем nodejs? – Atomrr May 09 '16 at 18:17
-
Хостинг позволяет. Но если его у вас нет, то явный выход - это пользование локальным сервером. Не всегда удобно постоянно перезаливать данные на хостинг. Ничего не могу сказать про nodejs. Но факт того что php имеет низкий порог вхождения, налицо. – Dmitry Petukhov May 09 '16 at 18:52
-
@DmitryPetukhov хостинг есть. А что можете сказать про безопасность php? – Atomrr May 09 '16 at 19:08
-
@Atomrr, сейчас я свой ответ распишу. Там и про безопасность. – Саша Черных May 09 '16 at 19:09
-
@СашаЧерных Давайте, был бы рад) – Atomrr May 09 '16 at 19:10
-
@Atomrr, Я могу указать на данные с официального сайта: там описаны многие проблемы(на русском). http://php.net/manual/ru/security.php – Dmitry Petukhov May 09 '16 at 19:11
-
@DmitryPetukhov То, что нужно, спасибо. Не додумался про документацию, извиняйте) Значит выбирать php и не париться на счет ноды? Просто многие друзья отговаривали от него) – Atomrr May 09 '16 at 19:13
-
Выбирайте инструмент по душе, в защиту php скажу что он пользуется огромной популярностью в России и вам будет проще найти нужную информацию на своем языке. – Dmitry Petukhov May 09 '16 at 19:14
-
@DmitryPetukhov тогда его и выберу, очень важный момент про низкий порог вхождения ну и на дальнейшую работу, вроде как, проще будет устроиться. Еще раз благодарю за уделенное время, вы мне очень помогли – Atomrr May 09 '16 at 19:16
Раз у Вас на сайте нет ничего помимо HTML/CSS/JS, полагаю, Вам стоит подумать о создании чисто статического сайта, чьи генераторы на настоящий момент уже вполне конкурентоспособные продукты. Почему — подробно расписано в данной статье от Mathias Biilmann Christensen, датируемой ноябрём 2015 года — т. е. ещё вполне актуальной. Остановлюсь на двух моментах:
- Значительно меньше проблем с безопасностью. См. также ответ ув-мого D-side.
- Скорость загрузки страниц. «Кэширование и особенно инвалидацию кэша очень сложно правильно настроить для динамического сайта, особенно в случае распределённого кэширования», «Даже высокооптимизированный динамический сайт проигрывает в среднем в 6 раз своей статической версии», «Мы все знаем эту статистику: 57% пользователей покидают страницу, если она грузится больше 3 секунд».
Краткий обзор самых популярных генераторов статических сайтов на начало 2016 года содержится в следующей статье.
Что нужно перво-наперво, я расписал в этом ответе. Повторяюсь: «Статическим подойдёт бесплатный хостинг сайтов GitHub Pages или его альтернативы. Размещение сайта, привязка домена. Обычная загрузка по FTP на GitHub Pages не реализована, требуются базовые навыки обращения с Git». Лично для меня предпочтительнее другая система распределённого контроля версий — Bazaar — но, полагаю, для начала лучше пользоваться git и GitHub, поскольку о них в сети написано куда больше.
Google Trends по запросу “static website generator”.
Также потребуется локальный сервер.
По причине низкого потребления оперативной памяти я пользуюсь WampServer, но обычно советуют Open Server, реже в последнее время Денвер. Они ориентированы на сайты на основе PHP и большая часть их функциональности при работе со статикой не будет использоваться.
Если ограничиться статикой, то можно использовать Mongoose, потребляющий очень мало ресурсов, но не готовый к большим нагрузкам и файлам.
Есть также более надёжный, функциональный, но несколько сложный в настройке nginx. (Сложность его настройки определяется скорее объёмом требований, зато потолок его возможностей очень высок.)
Пользователи сайта должны видеть уже готовый результат, а нужно же где-то проверять изменения. Да, можно проводить тестирования на удалённом сервере, однако:
- Придётся ожидать загрузки изменений.
- Неидеальное кэширование на хостингах; после успешной загрузки какое-то время может показываться старая версия страниц.
- Отдельный сервер для тестов — это не всегда бесплатно.
Возникает вопрос: а так ли уж необходим локальный сервер, когда пишешь именно статический сайт, ведь достаточно просто открывать страницы в браузере? 3 примера, когда обычным открытием не обойтись:
- К сайту производится подключение сторонних виджетов;
- Настройка сервера (к примеру, для Apache — через конфигурационный файл
.htaccess); - Работа с онлайн-сервисами, некоторые из которых работают и с сайтами на локальном сервере. В частности, Screenfly, с помощью которого осуществляется проверка, как выглядит веб-страница на экранах различных размеров.
- 4,314
-
Спасибо большое за такой ответ. На счет хостинга - домен куплен, хостинг уже есть на регру. На счет локального сервера теперь понял для чего он нужен (думал, хватит и простого открывания .html, но очевидно нет). С гитом знаком и частенько работал с ним, опыт есть. Но для данного сайта, т.к. я разрабатываю его один, думаю, он не особо пригодится. – Atomrr May 09 '16 at 19:38
-
[1] Домен всегда можно перепривязать к сайту на другом хостинге. // [2] Если Вы не используете запросы к базам данным, можно пока и не платить за хостинг, пользуясь бесплатным GitHub Pages. // [3] Обычно хватает простого открывания HTML-страниц в браузере. Локальный сервер нужен, например, для просмотра, как выглядят сторонние виджеты, проверки работоспособности файла
.htaccess(если сервер — Apache) или тестирования на Screenfly, как выглядит Ваша вёрстка на различных экранах. – Саша Черных May 09 '16 at 19:54 -
-
[4] git и прочие системы управления версиями — SVN, Mercurial, Bazaar — мне нравятся особенно по двум причинам: а) Синхронизация. Если накроется Ваш компьютер или удалённый сервер, то у Вас останется копия. // б) Сохранение истории коммитов. // в) Скорость. Пользуясь плагинами Git и Easygit для Sublime Text я затрачиваю минимальное время на загрузку изменений на сайт. // Даже если не разрабатываете что-либо совместно и Вам пока не нужны ветки, git может оказаться полезным для Вас. – Саша Черных May 09 '16 at 20:06
-
Это понадобиться для backup`a получается, правильно понимаю? А если мне не хочется заливать исходники в общий доступ, придется платить за приватность там? – Atomrr May 09 '16 at 20:10
-
@Atomrr, да, за приватность придётся на GitHub приходится платить. О причинах см. здесь. – Саша Черных May 09 '16 at 20:13
-
-
1@Atomrr для статических сайтов понятие исходников штука размытая, ведь весь их код в конечном счёте либо может быть загружен клиентом, либо мёртв и подлежит удалению. Поэтому для статических сайтов публикация исходников не раскрывает ничего такого, что и без того не открыто. На скрытые URL с секретной инфой рассчитывать всё равно не стоит, ибо "безопасность через неясность" сама по себе очень ненадёжна. – May 09 '16 at 21:26
-
1@D-side уже решил, что нет смысла скрывать то, что уже давно открыто в свободном доступе) Спасибо за ответ – Atomrr May 09 '16 at 21:58
-
1Для раздачи статики под Windows, кстати, народ рекомендует Mongoose. Один экзешник, закидывается в папку с сайтом, запускается, и всё. – May 10 '16 at 13:05
-
@D-side, добавили бы свой комментарий в ответ. Если внесёте что-то ещё, никто возражать не станет :) . – Саша Черных May 10 '16 at 13:08
-
@СашаЧерных вообще говоря, это существенная правка, она добавляет в ответ информацию, которой в нём не было. В авторские (не общие) ответы просто брать и вносить не стоит :) Но в этом случае буду считать, что этот комментарий выражает согласие с такой правкой :Р – May 10 '16 at 13:13
-
-
@СашаЧерных та же причина, но в обратную сторону: убирание из вопроса существенной информации (намёков на технические требования к решению). То, что решения её не затрагивают, не означает, что она не имеет значения. – May 10 '16 at 13:49
-