Как правильно организовать структуру файлов веб-проекта на Go?
В целях обучения, решил шагнуть чуть дальше, чем helloworld и написать простенький чат.
Вот я создал папку chat в директории (gopath)/src. И что делать дальше я не знаю. Где хранить бекенд на go. Где хранить фронтенд (исходники)? Нужно ли как-то разделять с go-файлами? Может стоит в папке chat создать 2 подпапки backend и frontend и GOPATH указать на backend?
PHP-фреймворки более-менее жестко задают подобные папки (controllers, views, resouces, public, ...), тут же — не ясно.
Во-первых вам view там вряд ли пригодится, куда вы css и js хотите? прямо в бинарник засунуть?
Во-вторых не будет ORM (как бы его там не пытались сделать, но это будет не ORM — буквыO (объектов) нет в языке :)
Вы же через сокеты чат будете делать? Так и делайте через сокеты и JSON
Статику пусть nginx отдает
Максим Федоров, хоть фронт и бэк связаны только сокетами, я бы хотел единый проект хранить в одной папке. Так вот, как бы это удобно сделать, учитывая что у Go специфичная структура.
Максим Федоров, угадали с yii. Хотя там конечно путаница )))) frontend по сути и есть backend. А backend это админка лишь. Долгое время так работал, пока на лару не перешёл
Я считаю что стоит посмотреть не один, а пару фреймворков, как они работают, как все организовано. И например в одном фреймворке может быть что-то удобно, а что-то наоборот мешать и раздражать. Потому и нужно посмотреть пару решений, понять почему сделано именно так и с каждого выбрать самое лучшее. Ведь много ума не нужно что бы просто слизать все :)