Фреймворк Best Go: нет фреймворка?

Yori Yori 30 Ноября 2022 (ред)

Во время написания этого блога и руководства командами Go в течение нескольких лет самым частым вопросом, который я слышал от новичков, был «Какой фреймворк мне следует использовать?».

Одна из худших вещей, которые вы можете сделать в Go, — это следовать подходу других языков программирования.

Другие языки установили рамки «по умолчанию». В Java есть Spring, в Python — Django и Flask, в Ruby — Rails, в C# — ASP.NET, в Node — Express, а в PHP — Symfony и Laravel. В Go все по-другому: нет фреймворка по умолчанию.

Что еще более интересно, многие предлагают вообще не использовать фреймворк. Они сумасшедшие?

Философия Go

Существуют фреймворки Go, но ни один из них не предоставляет такой набор функций, как фреймворки других языков. Это не скоро изменится.

Вы можете подумать, что это потому, что экосистема Go моложе. Но есть более важный фактор. Go построен на философии Unix, которая гласит:

  • Пишите программы, которые делают одну вещь и делают это хорошо.
  • Пишите программы для совместной работы.
  • Пишите программы для обработки текстовых потоков, потому что это универсальный интерфейс.

Эта философия возникла у Кена Томпсона, разработчика языка программирования B (предшественника C), а также… Go!

На практике философия Unix предпочитает создавать небольшие независимые части программного обеспечения, которые хорошо делают одну вещь, а не большие куски, которые делают всё.

Читать далее (англ.) The Best Go framework: no framework?

2 Ответа

  1. OleStep OleStep 30 Ноября 2022 (ред.)

    По моему опыту, именно так работают все команды Go и опытные инженеры Go.

  1. fomiash fomiash 30 Ноября 2022 (ред.)

    Автор Yii сейчас делает фреймворк на Go https://github.com/go-ozzo