Я вижу, что у самого Go есть пакет net/http
, который достаточен для предоставления всего, что вам нужно для запуска и работы ваших собственных REST API. Однако существует множество фреймворков; самый популярный, может быть, скажем gorilla
.
Учитывая, что одной из основных вещей, которые мне нужно сделать в будущем, является создание API-интерфейсов REST, которые будут получать доступ к некоторому внутреннему хранилищу (базам данных, кешам и т. д.) для выполнения операции CRUD
, хорошо ли использовать саму стандартную библиотеку Go, или я должен рассмотреть возможность использования некоторых фреймворков?
Обычно люди пишут новую библиотеку или фреймворк, которые решают проблему, присутствующую в существующей библиотеке. Но многие фреймворки также имеют тенденцию усугублять ситуацию, когда фактические требования просты.
Итак, у меня есть несколько вопросов:
Достаточно ли хороша базовая библиотека в go lang, чтобы поддерживать базовые и умеренные функции для REST?
Если я в конечном итоге буду использовать встроенную библиотеку, а завтра мне придется изменить ее, чтобы использовать какой-либо фреймворк (например, гориллу), насколько это будет сложно/дорого?
Действительно ли фреймворки решают проблемы или просто усложняют простые проблемы?
Я был бы очень признателен, если бы кто-то поделился здесь своими мыслями (кто сам сделал этот выбор), пока я исследую больше своих собственных.