Какие технологии использовать для комфортной разработки web проекта?
Задача: Определиться с необходимыми программами/фреймворками/утилитами для комфортной разработки и отладки веб проекта.
Подробности: Предположим что есть проект( а точнее его ТЗ и частично реализованное ядро ), определились с технологиями, которые будем использовать для реализации проекта ( Apache + MYSQL + PHP и для фронтенда HTML + CSS + Javascript ). Разработка ведется на удаленном сервере.
Сама проблема: Заключается она в том, что пишу я это все дело в Notepad++ через FTP. Задачи там не такие уж и сложные, так что мне пока вполне удается реализовывать необходимую часть. Но чем дальше в лес, тем больше я понимаю что это как бы только для новичка подходит. Опыта разработки сложных веб приложений у меня нет. + ко всему разработкой проекта в дальнейшем будет заниматься еще один человек, т.е. как бы командная работа.
В инете пытался найти какие либо советы, методологии, но либо я не правильно задаю вопросы гуглу, либо инфы не так уж и много.
Что я смог найти и мои соображения на эту тему: Для начала заменить Notepad++ на хорошую IDE - например PHPShtorm, он и по FTP работать умеет. Так же я подумал, что неплохо бы применить СУВ, например git, но тут уж я не уверен.
Так, еще раз повторюсь с вопросом. Учитывая все вышесказанное, подскажите пожалуйста какие технологии следует применить и каким образом, для разработки и дальнейшей отладки веб приложения.
Можете скинуть ссылки на статьи по средам разработки и как правильно ими пользоваться(хотя бы пару примеров, чтобы я понимал в каком русле искать)? И еще так же вопрос по Git. Как работать с ним локалке я почти разобрался. Остался только неясно по поводу назначения версий и отката к предыдущим версиям. И самое главное как его правильно настроить? Можете предоставить ссылку на какой нибудь мануал, где прям разжёвано что куда и как нажимать для настройки. Сразу скажу GitHub мне не подходит. У нас есть собственный сервак, хотелось бы хранить репозиторий именно там. И есть ли какая то оболочка для упрощенной работы с Git, а то писать постоянно коммиты и следить за именениями с консоли не очень удобно
Научитесь работать с гитом через консоль, это важно.
По поводу сред разработки и продакшена - это нужно смотреть в вашем инструменте, в Rails все четко разграничено, например. Общая идея в том, что код пишем локально, тесты прогоняем локально и на тестовом окружении (CI), а на сервер только деплоим готовую продакшен-версию приложения, которая запускается в продакшен-среде, что подразумевает отсутствие явных ошибок, помогающих дебажить приложение (они должны отображаться в девелопменте, а не в продакшене) и некоторые другие вещи.
Идею разработки понял. А насчет Git, можете подсказать как его правильно настроить для совместной работы. На данный момент я рассматриваю вариант расположения репозитория на удаленном серваке, и настройка доступа к нему по SSH. Только как правильно все это настроить я пока не разобрался.