Нов Framework Golang

deepdoff

Active Member
Създадох един web framework, базиран на Go (Golang).

В днешно време, когато с AI код се пише на килограм, понякога без дори да знаеш какво точно е написал AI-ят, камо ли да седнеш да го прочетеш и разбереш, аз все пак покрай целия AI шум от време на време продължавам да пиша и малко код с ръцете си.

Едва ли тук са останали много хора, които все още пишат код всекидневно, още по-малко точно на Go, но знае ли човек.

Не съм тръгнал да правя поредния framework, който да е „по-добър“, „по-бърз“ или „по-велик“ от всички останали. Причината всъщност беше доста по-проста.

Използвам Go сравнително често в проектите си, не използвам конкретен framework и почти винаги започвам да си изграждам едни и същи неща от нулата. В един момент реших просто да си автоматизирам този процес и малко по малко нещата стигнаха до завършен framework, който реших да направя публичен.

Кръстих го PisiGo.

Идеята ми беше да остане максимално лесен, минималистичен и разбираем, без да се опитва да скрива Go зад десетки слоеве абстракция. Има routing, middleware, validation, authentication, sessions, работа с бази данни, migrations, Redis, queues, Pub/Sub, WebSockets, SSE, OpenAPI/Swagger, metrics, tracing и други неща, които така или иначе ми се налага да правя в реални проекти.

Добавих и собствен CLI, с който могат да се създават проекти, да се пуска development среда, migrations, generators и т.н.

Понеже AI вече е неизбежна част от разработката, добавих и готови инструкции за Claude Code, Cursor и Codex. Те не са задължителни и се добавят към проекта само ако решите да ги използвате. Идеята е агентът предварително да знае как работи framework-ът, каква структура и conventions използва и как трябва да пише код с него.

Това според мен е полезно и от практична гледна точка – вместо при всяка задача да обяснявате на AI-а как е организиран проектът и да му подавате огромно количество контекст, вече има готова база, върху която да работи. Пестят се и време, и токени.

Не претендирам, че PisiGo ще реши всички проблеми на Go разработчиците. Направих го първоначално за себе си и за начина, по който аз разработвам приложения. Но мисля, че за неща от обикновени REST APIs до средно големи backend проекти може да свърши чудесна работа и най-вече да спести доста от повтарящата се работа в началото на всеки проект.

Проектът е open source.

Сайт и документация:
https://pisigo.com

Всякакви идеи, градивна критика, предложения, bug reports и, разбира се, форумен спам са добре дошли.
 
Създадох един web framework, базиран на Go (Golang).

В днешно време, когато с AI код се пише на килограм, понякога без дори да знаеш какво точно е написал AI-ят, камо ли да седнеш да го прочетеш и разбереш, аз все пак покрай целия AI шум от време на време продължавам да пиша и малко код с ръцете си.

Едва ли тук са останали много хора, които все още пишат код всекидневно, още по-малко точно на Go, но знае ли човек.

Не съм тръгнал да правя поредния framework, който да е „по-добър“, „по-бърз“ или „по-велик“ от всички останали. Причината всъщност беше доста по-проста.

Използвам Go сравнително често в проектите си, не използвам конкретен framework и почти винаги започвам да си изграждам едни и същи неща от нулата. В един момент реших просто да си автоматизирам този процес и малко по малко нещата стигнаха до завършен framework, който реших да направя публичен.

Кръстих го PisiGo.

Идеята ми беше да остане максимално лесен, минималистичен и разбираем, без да се опитва да скрива Go зад десетки слоеве абстракция. Има routing, middleware, validation, authentication, sessions, работа с бази данни, migrations, Redis, queues, Pub/Sub, WebSockets, SSE, OpenAPI/Swagger, metrics, tracing и други неща, които така или иначе ми се налага да правя в реални проекти.

Добавих и собствен CLI, с който могат да се създават проекти, да се пуска development среда, migrations, generators и т.н.

Понеже AI вече е неизбежна част от разработката, добавих и готови инструкции за Claude Code, Cursor и Codex. Те не са задължителни и се добавят към проекта само ако решите да ги използвате. Идеята е агентът предварително да знае как работи framework-ът, каква структура и conventions използва и как трябва да пише код с него.

Това според мен е полезно и от практична гледна точка – вместо при всяка задача да обяснявате на AI-а как е организиран проектът и да му подавате огромно количество контекст, вече има готова база, върху която да работи. Пестят се и време, и токени.

Не претендирам, че PisiGo ще реши всички проблеми на Go разработчиците. Направих го първоначално за себе си и за начина, по който аз разработвам приложения. Но мисля, че за неща от обикновени REST APIs до средно големи backend проекти може да свърши чудесна работа и най-вече да спести доста от повтарящата се работа в началото на всеки проект.

Проектът е open source.

Сайт и документация:
https://pisigo.com

Всякакви идеи, градивна критика, предложения, bug reports и, разбира се, форумен спам са добре дошли.
99% тук си сменихме професията и вече не сме кодери, а полиращи кода
:)
 
Веднъж се доверих за един проект да започна от нула с AI. Всичко точно получи се системата BE, FE, DB работи безупречно със стоци скилове и каквото там още е модерно и се използва. Да ама системата умря при 80к зявки в минута. Първо кеша се счупи, "ПОЛИРАХМЕ" после BE архитектурно не издържаше "ПОЛИРАХМЕ" и така накрая клиента каза да му направим всичко на ново без AI ще чака колкото трябва и ще плаща колкото трябва.

Милсълта ми тук беше че аз също използвам AI всекидневно и правя много неща но обеца на ухото ми е -> Инфраструктура -> Основни -> DB -> Cache и тн. докато не се започне само един CRUD/API's / Frontend не оставям на AI.

Той го прави но не мисли като човек, не прави сметката какво трябва да държи, и как да процедира при определени ситуации.
Та за истинските неща все пак си трябва мисъл не само направи ми това и онова. И на интервюто все още те питат за определени техноогии и дават задачи без AI :D

Сигурно и това ще поумнее скоро но каквото такова. За жалост ще изчезне удоволствието от писане на код, мислене и тн.
 
Веднъж се доверих за един проект да започна от нула с AI. Всичко точно получи се системата BE, FE, DB работи безупречно със стоци скилове и каквото там още е модерно и се използва. Да ама системата умря при 80к зявки в минута. Първо кеша се счупи, "ПОЛИРАХМЕ" после BE архитектурно не издържаше "ПОЛИРАХМЕ" и така накрая клиента каза да му направим всичко на ново без AI ще чака колкото трябва и ще плаща колкото трябва.

Милсълта ми тук беше че аз също използвам AI всекидневно и правя много неща но обеца на ухото ми е -> Инфраструктура -> Основни -> DB -> Cache и тн. докато не се започне само един CRUD/API's / Frontend не оставям на AI.

Той го прави но не мисли като човек, не прави сметката какво трябва да държи, и как да процедира при определени ситуации.
Та за истинските неща все пак си трябва мисъл не само направи ми това и онова. И на интервюто все още те питат за определени техноогии и дават задачи без AI :D

Сигурно и това ще поумнее скоро но каквото такова. За жалост ще изчезне удоволствието от писане на код, мислене и тн.
искаш ли да видиш какво видео сътворих днес с Ai
 
Аз нямам нищо на go за сега, но ако излезе нещо ще го имам в предвид лиценза не ми е много ясен обаче ...

Всеки файл има attribution - няма проблем да си остане така - ама какво праивим за комършъл ползване - Избери си нещо да им е ясно на всички :)
 
Много си прав, аз просто направих репото public изобщо не съм гледал за това. Разбира се всичко е за свободно използване MIT и тези атрибути са си останали от време оно.

Оправил съм ги вече има лиценз и въпросните атрибути не съществуват. Благодаря!
 

Горе