LINUX.ORG.RU

За время существования Go, кто-нибудь хоть 1 большой web проект на нём запилил?

 , ,


0

6

Словно Lisp на ЛОРе, все в один голос советуют «просто использовать стандартную библиотеку». Но кто-нибудь следовал этому совету? Не могу найти ни одного проекта, все либо используют фреймворки (что карается отлучением из Go сообщества), либо в результате разрабатывают свой страшно закрученный фреймворк и таки используют фреймворк.

Самое масштабное, что нашёл - Go Playground: одна html страница и пара-другая URL'ов JSON'а, реализация выглядит IMO по-уродски. Тут мы знакомимся с паттерном f1(f2(fN(SomeHandlerFn)))), где fN:

func fN(f http.HandlerFunc) http.HandlerFunc {
	return func(w http.ResponseWriter, r *Request) {
		// Do something useful here...
		f(w, r) // Call the received handler function.
	}
}
что страшно напоминает callback'и в JavaScript. Не представляю, как таким макаром можно что-то более сложное написать: i18n, CSRF tokens, много форм, профиль пользователя, авторизация - вот это всё. Это же PHP4 style получится, только более низкоуровнево и многословно. И это, типа, эталон кода от главных разработчиков?



Последнее исправление: KanikulyKun (всего исправлений: 1)

Тоже хотел выбрать что-то новое для веба, но такого рода патерны, как ты показал, оттолкнули от голанда. Икак говорил товарищ выше проглядел весь гит сортируя по количеству форков - везде такое на го.

webmak ★★
()
Последнее исправление: webmak (всего исправлений: 1)

c++ говно код

Да что тут говорить С++ тоже больших проектов нет. Толи дело PHP.

anonymous
()
Ответ на: комментарий от KanikulyKun

выключенным JS

может я не допонял, но тебе надо чтобы Go рендерил контент на стороне сервера ? Потому что использование Go без доп. либ подразумевает именно то что бэкенд даст апи, отдаст контент и дальше дело клиента что с ним делать. Для других случаев бери фреймворк или какой-нибудь PHP. Чего говниться-то ?

Dred ★★★★★
()
Последнее исправление: Dred (всего исправлений: 1)
Ответ на: комментарий от KanikulyKun

Вот я пришёл, ожидаю, как в Play! или Rails запилить по tutorial'у бложик.

Play или Rails это новые языки или это стандартные библиотеки для каких то языков?

Сходи запили бложик на голом руби или скале, заходи расскажи о впечатлениях, там боюсь даже Go будет не так страшен :>

umren ★★★★★
()
Последнее исправление: umren (всего исправлений: 2)
Ответ на: комментарий от umren

Дурачок? В сообществе Ruby, Java, Scala не кричат о том, что у их ЯП - особый путь и фреймворки не нужны. В Go - кричат. Отсюда и тред.

KanikulyKun
() автор топика
Ответ на: комментарий от KanikulyKun

Дурачок? В сообществе Ruby, Java, Scala не кричат о том, что у их ЯП - особый путь и фреймворки не нужны.

Слив защитан. Щассс без фреймворков даже на пыхе только самые последние задроты пишут. Кстати - такие как на твоей аватаре :-)

В Go - кричат.

Врёти ведь :) Впрочем, вполне допускаю что ты нашёл уютненткий какого нибудь задрота типа тебя и выдаешь ЭТО за всё Go комьюнити ... предсказуемо :-\ Ты же не первый зелёный и пупырчатый на лоре :-D

Отсюда и тред.KanikulyKun (

Да - щаззз! Тред потому что в реальной жизни тебя игнорируют, вот ты и троллишь тут

anonymous
()
Ответ на: комментарий от KanikulyKun

Это второй по популярности ответ после «дженерики не нужны»

Ну а нафиг они нужны?

Siado ★★★★★
()
Ответ на: комментарий от Siado

А что не так?

Зачем рендерить сервером? Есть генераторы статичного html для простых случаев, есть уйма клиентсайд-фреймворков для сложных (гораздо больше гибкости, лучше дела с локализацией и далее по списку), есть возможность пререндерить для клиентсайд-фреймворков (обычно нодой), зачем что-то ещё?

x3al ★★★★★
()
Ответ на: комментарий от x3al

Зачем рендерить сервером?

Потому что так довольно удобно разрабатывать web-приложения, применяя ООП и не тянуть за собой всяких там js-программистов. И как приятный бонус - такие веб-сайты лучше поисковики индексируют (но тут смотря что за проект)

есть уйма клиентсайд-фреймворков

Подскажи хоть один нормальный, где черт ногу не сломит?

Siado ★★★★★
()

Go годится только для всяких утилит, в основном серверных. Остальное на нём пилить - та ещё ноша.

th3m3 ★★★★★
()
Ответ на: комментарий от Siado

В статье же подробно раскрывается, для чего нужен Go. Для сетевых утилит в основном.

А вот например, про веб проекты:

Я не представляю, как народ пишет бизнес-логику на Go, но как-то пишут же! Короче, тут все довольно сложно. С одной стороны, делать CRUD в Go это достаточно болезненно, с другой стороны есть 350 разных роутеров и фреймворков, которые здорово облегчают работу.

Т.е. есть более лучшие инструменты для этого, но если очень хочется - то можно.

th3m3 ★★★★★
()
Ответ на: комментарий от th3m3

Вот и я про тоже, нет никакой конкретики. Автор говорит и ты говоришь что CRUD делать болезненно, что бизнес-логика это «слишкам сложна для go», но где по факту-то? Сравнение что ли какое.

Siado ★★★★★
()
Ответ на: комментарий от x3al

Не нравится жс? Допустим, Om. Или elm.

Вот я про то и говорю. Om или elm - очередной ненужный уровень абстракции, который только все усложняет. Сплошной синтаксический сахар.

Siado ★★★★★
()
Ответ на: комментарий от Siado

Ну ооп можно применять или не применять вне зависимости, поддерживает семантически язык ооп или нет. Да и жс гугл при индексировании вроде уже лет как пять исполняет, не говоря уже о том, что существует server-side rendering. Проблема в том, что используя «классический» подход, очень геморойно передавать состояния между страницами - заполненные формы, валидация и кучу всего другого. Несмотря на то, что я жс ненавижу, все равно приходится иметь с ним дело постоянно.

Подскажи хоть один нормальный, где черт ногу не сломит?

Ну первый ангуляр (можно использовать не встраивая монструозные системы сборки) и vue.js, хотя если хочешь в веб, придется все равно сквончиться вебпаками, линтерами, тайпскриптами и прочими штуками.

nikolnik ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.