LINUX.ORG.RU

Посоветуйте фреймворк/заготовку для веб-приложения

 ,


0

4

Добрый день, ЛОР.

Не холивара ради, образования для (c) @anonymous (но по совести говоря, не уверен, что получится выяснить что-то интересное и не скатить тему в холивар).

Я даже не уверен, что вкладываю правильный смысл в слово «фреймворк»… Что меня интересует. Предположим, я хочу сделать веб-приложение с пользователями, сессиями и авторизацией (ну там новый багтрекер, или что ещё для коллективной работы/общения), и я не хочу писать эту авторизацию с нуля. Есть какая-нибудь библиотека под свободной лицензией, в которой это уже сделано, и программисту остаётся писать только прикладную логику?

Интересуют как решения с собственной базой пользователей, так и библиотеки с возможностью логиниться через соцсети и дискусы. Если библиотека поддерживает и то, и другое по выбору логинящегося — ещё лучше.

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

Можно, конечно, пойти от противного, посмотреть, как это сделано в каком-нибудь Nextcloud и отсечь лишнее — но это на крайний случай.

Да, просьба не спрашивать, чем существующие багтрекеры не устраивают, багтрекер — это же только пример.

★★★★★

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

Ответ на: комментарий от hobbit

Ну как субъективные. Медленнее разработка - выше её стоимость. Более эффективное использование ресурсов - меньшие затраты на железо.

это интереснее. Что такого конкретно придётся писать вручную на Go, что в питоне и питонолибах (в частности, в Django) уже есть?

Ну, начать следует с того, что в Go нет исключений, там это сделано через проброс ошибки. То есть у каждой функции, которая может кинуть ошибку, последним возвращаемым значением идёт либо ошибка, либо null. То есть по всему проекту будет бесконечное дублирование if err != nil. Вроде бы мелочь, однако как-то многословно.

Сам язык не сильно богат, поэтому очень часто вместо какого-нибудь array_filter (просто пример) будешь вручную молотить циклы. Работа с json - это вообще отдельная сказка.

Ну а вообще инфраструктура вокруг языка, на мой взгляд, сыровата. Из ORM есть только GORM. Многие Goшники с пеной у рта доказывают, что ORM не нужен. Ну ок, но квери-билдеры-то нужны. А все квери-билдеры не особо дружат с маппингом на связанные модели - то есть всё это колхозишь вручную сам. А если припёрло сделать миграции и вшить их в бинарь, то возникает чувство, что ты первый, кто с подобной задачей столкнулся.

Всего по чуть-чуть, но в конечном итоге разработку это сильно замедляет.

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

Так вот такой код без доделок/перделок и в 1С 8.x работает …

… и без 1С тоже.

Владимир

anonymous
()

@hobbit - sorry.

Конечно «прихвастнул», но по сути правда.
Кстати и локализация за которую ратует @den73 присутствует /любой язык …/.

Конечно работы еще МНОГО.
По сути задумка реализовать ии /до ИИ еще «не дорос»/.

Владимир

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

Ну, начать следует с того, что в Go нет исключений, там это сделано через проброс ошибки.

(приклеивая бороду и кряхтя) Деды с сишечкой так и жили без этих ваших исключениев, и не то, что сайты, целые ОС писали!

Если серьёзно — да, согласен, в этом что-то есть, но язык молодой, продолжает развиваться, люди на него идут. Даже среди моих IRL знакомых людей знающие Go уже догоняют питонистов.

Что, например, с тем же JSON не так?

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

Я что-то такое искал с год назад, а потом так вышло, что освоил Flask и забил.

Потом через некоторое время мне разрекламировали Laravell, я посмотрел на него, понял, что Flask я уже знаю и забил на laravell.

Примечение для питон-ненужнистов: учитывая формулировки автора, предположу, что ему не особо для продакшона.

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

Деды с сишечкой так и жили без этих ваших исключениев, и не то, что сайты, целые ОС писали!

Проброс в Go - идея неплохая. По крайней мере, точно не забудешь что-то обработать (хотя такая вероятность имеется, если переменную с ошибкой перезаписываешь). Но у тебя конструкций if err != nil в коде будет очень много.

но язык молодой, продолжает развиваться

Не сказал бы, что он сильно развивается. Его создатели, судя по всему, очень консервативны. А что касается «молодой», то смотря с чем сравнивать. Ему уже всё-таки 13 лет.

Что, например, с тем же JSON не так?

В реальных условиях обработка JSON выглядит примерно вот так. Удобно ли это? Сомнительно, особенно, когда у тебя куча полей в объектах.

Даже среди моих IRL знакомых людей знающие Go уже догоняют питонистов

Это ни о чём не говорит, т.к. эти языки, я считаю, для разных задач. Да и «знающие Go» не означает «навалом вакансий на рынке труда». Go сильно в отстающих в этом смысле. Тут вопрос в задаче, для которой ты собираешься использовать тот или иной язык. Судя по тому, что ты описал в формулировке этой темы, Go там не нужен и не удобен.

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

Бери смело Гошечку.

Я стесняюсь.

Владимир

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

GO - няшка

Ну местами какашка, так как геморно работать с базами, а orm это вообще иногородное для философии го.

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

какие нужны такие и пилю, я не буду их сознательно усложнять/, довлять свистелки и ну ты понял ради WitcherGeral

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

уважаемый hobbit вы наверное плохо знаете phpbb как знаю его я. Увы открытый код не всегда хорошо, в частности для phpbb под каждую новую версию пишутся эксплоиты. Вдобавок на старых форумах очень много картинок пропадает, к тому же картинки часто добавляют по хотлинку что не нравится тем у кого они на сайте хостятся. Поэтому первым решением было все таки картинки все скачивать и при необходимости ставить на них water mark (это совсем не сложно). Поэтому не слушайте мелких завистников, к тому же на ЛОРе была когда тема о пользе велосипедостроения.

XoFfiCEr ★★☆☆
()
Последнее исправление: XoFfiCEr (всего исправлений: 2)

Советую libonion, мне очень понравилась. Прикрутил туда аутентификацию полноценную («из коробки» херня какая-то). Вебсокеты там, правда, еще сырые, но если немножко пропатчить библиотеку, все прекрасно работает.

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

Да я не обижаюсь, мой персональный сайт это просто визитка он такой же как такие же сайты tazhate или saakhriktu.

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

я только на железной дороге 6 лет проработал в той же it-сфере.

Это ни о чем не говорит. Об опыте могут говорить проекты, в которых ты принимал участие.

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

вот и не говори ничего больше, вот в pyrails я и принимал участие.

4000 строк кода это немного. Что еще делал?

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

а это тебя не касается я для работодателя делал. В игнор злопыхателя.

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

Привет! Как твой новый проект?

Владимир

anonymous
()

Это очень удобно сделано в Django, подключается парой строк. К Fastify можно покдлючить Passport.js (к другим тоже, но нет смысла, т.к. к Fastify легко прикручивается всё нужное и он рвёт по перформансу). Но там уже многословней и вдумчиво. А вот у пыхи даже не во всех популярных есть, поэтому хз как советовать, сам искал - варианты не устроили отсутствием и/или леворезьбовостью других модулей. Для Java/Kotlin, если не требуется энтерпрайзности, есть топовый по первормансу Jooby с опциональным модулем Pac4j.

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