В 2020 году Майк Стефанелло влюбился в Go.
«Я впервые сказал, что мне нравился язык программирования или даже технологию или инструмент, но это была такая реакция — я просто действительно влюбился в него», — сказал инженер -программист. «Я знал, что хочу работать с этим».
Stefanello также проделал много веб-разработки в виде личных проектов, и в то время большая часть веб-разработки была на основе PHP. Однажды он увидел новостную пост хакера, спрашивая разработчиков, какова их веб -стек выбора для личных проектов.
«Я сидел там, просто думая:« У меня на самом деле нет ответа на этот вопрос », — сказал он. «Я не хочу возвращаться ко всем вещам в PHP, которые я использовал ранее. Я люблю Go. Я очень навязчик, и у меня не было ответа на этот вопрос».
Из этого разочарования и исследования родилась Пагода.
«Это было больше о любви к Go и любви к веб -разработке», — сказал он. «Не то чтобы я думал о том, какой язык я должен использовать, чтобы попасть в Интернет — я начал в веб -разработке».
Пагода: стартовый комплект для Go
Пагода не является рамкой — Стафанелло подчеркивал это неоднократно. Это стартовый комплект для веб -разработки, который обеспечивает библиотеки frontend и backend, склеившиеся Code Go. GO генерирует HTML-серверную сторону для создания веб-страниц.
Подход Starter Pack может показаться странным для того, чтобы разработать разработчиков, которые привыкли во вселенной фреймворков JavaScript, но разработчики бэкэнд хотят, чтобы они были простыми, если им придется работать с фронтом, сказал Стефанелло новому стеку.
«Большинство из нас не хотят переключаться на языки, особенно если вы не используете JavaScript в бэкэнде», — сказал он. «Я могу понять, если вы есть, то вы привыкли к этой экосистеме. Но если вы не привыкли к ней-а я действительно нет, я действительно не стал практичным с JavaScript за очень долгое время-это похоже на хаотичную экосистему, и ее очень сложно понять».
Но это оставило его с затруднением того, как построить современное, гладкое веб -приложение, не открывая JavaScript и посвящены большим фреймворкам, таким как React и Vue, сказал он.
«Ничего против них», — добавил он. «Очевидно, это все удивительные проекты, но это просто сводится к личному выбору. Если вы являетесь разработчиком бэкэнда, вы хотите сосредоточиться на фронте как можно меньше».
Но почему бы не сделать пагоду в рамках Go? Поскольку сообщество GO, похоже, не заинтересовано в этом, сказал он. Принимая во внимание, что в PHP есть мега -особая рамка — Ларавель — в ходе нет эквивалента, сказал он.
Образец домашней страницы, сделанной в пагоде Майка Стефанелло. Функциональный веб -сайт включен в репо.
«Если вы новичок в том, чтобы идти, это сбивает с толку: почему нет ни одного, и почему людям это не нравится?» Стефанелло сказал. «Но я думаю, что чем больше вы используете, тем больше вы начинаете ценить это».
Pushup — это исключение в том, что это веб -разработка Go. Существует также Gobuffalo, который отмечает на своем сайте, что это может быть структурой, но вместо этого описывает себя как «экосистема Go Web-Development», которая является «в основном экосистемой Go и JavaScript библиотеки, курируемых, чтобы сопрягаться».
Стефанелло сделал выбор рано, чтобы не создавать рамки, потому что ему не понравилась идея быть связанным единственным, мега -структурой.
«Они, как правило, слишком раздуты», — сказал он. «Они, как правило, действительно заставляют закономерности, где вы должны это сделать».
Кроме того, разработчики, как правило, перерастают фреймворки, но затем заблокированы рамками, добавил он. И тогда есть риск, что авторы структуры перестанут его поддерживать.
Для сравнения, стартовые наборы позволяют веб -разработчикам быстро продвигать веб -разработку без недостатков полной структуры, добавил он.
«Хорошая вещь в стартовом комплекте — решить все эти проблемы», — сказал он. «Нет никаких строгих шаблонов. Я предоставляю некоторые идеи и узоры, и я смещаю вещи, просто чтобы все было легко и вроде поднимала вас. Но ничего из этого не вынуждено. В этом нет ничего строгого».
Даже если он перестает поддерживать пагоду, у веб -разработчиков есть то, что им нужно, чтобы продолжить.
«Я в основном делаю для вас много работы, а затем вы можете взять на себя оттуда», — сказал он. «Вам не нужно беспокоиться, не перестаю ли я его поддерживать, потому что, как только вы скопируете стартовый комплект, он ваш — 100% его — это ваше».
Пагодный фронт
Пагода включает в себя три библиотеки для фронта:
Если вам не нравятся эти библиотеки, вы можете их переключить. Например, Tailwind может заменить Булму, сказал он, и это может быть сделано за считанные минуты.
Бэкэнд пагоды
На бэкэнде пагода включает в себя:
Опять же, Стефанелло подчеркнул, что любая из этих библиотек может быть заменена — на самом деле, в этом месяце он заменил шаблоны GO на Gomponents.
«Если вы когда -нибудь проходите через какие -либо сообщества GO, будь то Reddit, Slack, Discord или что -то в этом роде, есть много разочарования в шаблоне — особенно когда дело доходит до HTML, они оставляют многое, чтобы быть желаемым», — сказал он.
Он перечислял проблемы: они не безопасны для типа; Если у кода ошибка, вы не можете сказать, пока не запустите приложение; Трудно передать данные между различными шаблонами; И, наконец, сложно заставить их компилировать так, чтобы это было легко использовать в веб -приложении.
Gomponents — это библиотека, созданная Markus Wüstenberg, и она делает HTML 5, что позволяет легко создавать многоразовые компоненты.
«Это было, вероятно, самое большое изменение кода, которое я сделал в проекте […] С тех пор, как проект начался,-сказал он.-Это было большое фундаментальное изменение, чтобы уйти от шаблонов стандартных библиотеков GO до использования стороннего решения ».
Согласно документации, SQLite предоставляет основное хранилище данных, а также постоянные, фоновые очереди на фоновые задачи. Тем не менее, это может быть заменено, если разработчик предпочитает использовать Postgres или Redis.
Проект даже был раздвоен, чтобы создать покровительство, которое представляет собой ход плюс HTMX Coilerplate со всеми предметами первой необходимости для SaaS, инструментов для искусственного интеллекта или веб -приложений.
Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Loraine Lawson — ветеран -репортер, который в течение 25 лет освещал технологические проблемы от интеграции данных до безопасности. Прежде чем присоединиться к новому стеку, она работала редактором Banking Technology Site Bank Automation News. Она … читайте больше от Лорейн Лоусон