LINUX.ORG.RU

Посоветуйте асинхронный бэкенд

 , , ,


2

7

Пишу в dev, а не web-dev потому, что C++ и другие якобы «не вэб языки» здесь в тему.

Буду в одиночку пилить сайт для определённых задач (не на заказ). Бэк, фронт, деплой, сопровождение, бизнес-специфичные занятия - всё своими руками и головой.

Есть некоторый опыт и хорошие впечатления от Django.

Нужны:

  • Хорошая производительность
  • Асинхронщина для любого IO а-ля нода
  • Выразительный ЯП со СТАТИЧЕСКОЙ типизацией
  • Хорошая документация и немаленькое сообщество (не просто API Reference, а ещё и Tutorials) и чтобы фреймворко-специфичные проблемы легко гуглились
  • Много батареек, как в джанге, обязательна ORM
  • И REST API, и Server Side Rendering // решил отказаться
  • Всякие Light, zero-dependency и embedded мне безразличны // но рассматривались тоже
  • Удобная работа с WebSocket // да, этот пункт я дописал гораздо позже

Лучше советовать не «язык Х» а «язык Х + фреймворк Y».

Также меня царь образумил в том смысле, чтобы делать SPA вместо server side rendering. Ведь перерисовывать ВСЁ по нажатию кнопки - это же антипаттерн отзывчивого интерфейса. Плюс везде, где можно заменю http на websocket - вместо целой страницы по тормозному хттп всего лишь небольшой json по шустрому вебсокету - это сильная разгрузка bottleneck’а на клиенте - обмен данными по сети.

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

UPD Решил брать NestJS + React + MobX. Если по ходу дела откажусь, то буду рассматривать Dart + Flutter, Scala + Play, Java/Kotlin + Spring/Boot.

В будущем обязательно поэксперементирую и запилю сайт крупнее хелловорлда на C++ и Rust и поделюсь с вами впечатлениями.



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

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

Я тебе уже всё написал, ты других не примешивай. Ты ему ответил о том, что можно не использовать статическую типизацию в статически типизированном язке (когда это надо). Или это не ты писал?

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

уход от всех этих хедеров, модули и прочее стали приходить в кресты только после того как всё это уже расцвело в других языках

Неверно. Всё, что ты написал - паста рандомных лозунгов. Их ценность нулевая.

Ты ему ответил о том, что можно не использовать статическую типизацию в статически типизированном язке (когда это надо). Или это не ты писал?

Ты явно что-то умное хочешь сказать, но то-ли стесняешься, то-ли ещё что-то. Рожай уже.

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

Можешь сам посчитать кол-во ПО на C и на Python. На питоне в разы меньше будет.

сайты с тобой очень не согласны, они тоже ПО

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

сайты с тобой очень не согласны, они тоже ПО

С этим никто не спорит. Только каждый сайт для своей работы использует:

  • клиентский браузер
  • сетевое оборудование
  • вэб сервер
  • систему хранения данных

И только логика обработки иногда на питоне.

К тому же, считать сайты неверно. Тот факт, что один от другого содержимым отличается(и оформлением) не делает эти два сайта двумя продуктами. Технологии одни и те же, различен только контент.

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

ПО уже стали без библиотек и фреймворков писать? А то все Qt приложения одинаковые, а разница только в бизнес логике. А ещё и 1С есть.

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

Вот есть vim, вот есть emacs, а вот на богомерзком электроне vs code. Где качественная разница в бизнес логике?

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

Ты всё перепутал. Я не утверждал, что каждый блокнот нужно считать к кол-ву ПО на C. Вот твоя фраза:

сайты с тобой очень не согласны, они тоже ПО

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

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

Нет. Ты можешь просто качественный состав посмотреть, чтобы прикинуть. Очевидно, схд по определению не может являтся пастой браузера, ядра ос или тех же редакторов.

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

Да тут уже даже дураку ясно, что кресты устарели, и не вписываются в современные потребности удобной разработки безопасного софта. Поэтому и написаны: D, Swift, Rust

А кресты тупо выдергивают всего по чутка из других языков, лишь бы хоть как-то на плаву оставаться с поддержкой легаси, чтобы старое дерьмецо обмазать новым дерьмецом и пусть в продакшен и было типа удобно

Единственное, что пофиксить они не смогут - это жирная компиляция на несколько десятков минут в типичном проекте

А с приходом новых архитектур в массы типа aarch64 кресты ещё больше сдуваются, ибо есть более удобные инструменты для написания прикладного софта, в тех же мобилках на крестах почти ничего не пишут (за исключением пары игрушек на unreal)

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

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

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

Да тут уже даже дураку ясно, что кресты устарели

Да.

и не вписываются в современные потребности удобной разработки безопасного софта. Поэтому и написаны: D, Swift, Rust

Нет. Лучше крестов до сих пор ничего нет. Особенно раст - даже если бы он был действительно безопасным и решал бы какие-то там проблемы крестов - всё равно не взлетел бы, ибо безопасность снаружи никто не сможет гарантировать. А это неизбежное свойство мира, где практически всё написано на C и ко.

А кресты тупо выдергивают всего по чутка из других языков, лишь бы хоть как-то на плаву оставаться с поддержкой легаси, чтобы старое дерьмецо обмазать новым дерьмецом и пусть в продакшен и было типа удобно

Покажи тех, кто делает иначе. И при этом имеет сравнимую кодовую базу.

Единственное, что пофиксить они не смогут - это жирная компиляция на несколько десятков минут в типичном проекте

Её невозможно пофиксить. Это как js в вэбе - жрёт не браузер, а контент. Здесь та же ситуация - выживает компиляция конкретного кода, а не кресты сами по себе.

в тех же мобилках на крестах почти ничего не пишут

И никогда не писали. На мобилках всё ещё просто железом догнаться можно.

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

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

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

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

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

Вот, правильно, пастить херню - потолок бездарного отребья. И не кукарекай больше про кресты и остальное, в чём вэббой априори от хлебушка неотличим. Жевать, ублюдок.

Ещё не хватало чтобы какой-то запартный клоун мог мне что-то ответить по существу. К ноге, огрызок.

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

Лучше крестов до сих пор ничего нет

Да тот же Objective-C как тузик грелку рвёт кресты по количеству поддерживаемых парадигм, да и спроектирован на совесть. Не говоря уже о Swift и D

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

Фига тебя бомбанула, окстись, я под iOS пишу уже овер дохрена времени, лет 5-6, на веб тока микрослужбы. Кроме мычания скота что-нить ещё у тебя есть? Я имею ввиду аргументы

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

по количеству поддерживаемых парадигм

А tcl от objc вообще мокрого места не оставляет(про лисп не знаю, судя по вскукарекам - то же самое). Только это никому не нужно, никто не фапает на метрики.

да и спроектирован на совесть

Без конкретики это балабольство, что на это можно ответить?

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

Я имею ввиду аргументы

Тебе сказано было найти ситуацию, где статическая типизация не нужна и о которой ты и ещё один клоун кукарекали. Нашёл? Вот ищи.

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

Никому не нужны возможности языка? Таким как ты - да. А я выбираю язык по его возможностям

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

Тебе сказано было ответить за свои слова о том, что в статически типизированном языке можно писать без статических типов

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

Нет, я серьёзно. Что можно ответить на «лучше спроектирован», кроме «нет, не лучше»? Но такой уровень меня не интересует, я не занимаюсь балабольством. Примеры привёл бы, вот тогда был бы порядок.

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

Очевидно, что ты просто трепло, которое тратит моё время, пытаясь заспамить хернёй. Как хочешь, я же не заставляю отвечать.

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

тратит моё время

Оно ничего не стоит, раз сутками балаболишь в тредах

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

Любой идиот может ответить - «нет» на любой тезис. Это ничего не меняет

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

Давай я тебе всётаки помогу. Знаешь как уничтожить этот мусор? Рассказываю. Выше он кукарекал про ios. Этим этот дошколёнок себя похоронил. Расскажу тебе почему. Во-первых ios-макака ничем не отличается от веб-макаки.

Во-вторых, расскажения в контексте сравнения имеют смысл только тогда, когда у етбя есть выбор. Ты можешь использовать язык А и язык Б и ты выбираешь лучшее. Это же дошколятское отребье не имеет выбора, Хозяин не дал ему возможности писать на чем-то, кроме objc/swift, именно поэтому весь её кукаретинг сводится к ним. Зачем оно блеет про D - я не знаю.

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

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

Я на ios пишу и на крестах (статик либы, плюс обвязку на obj-c++), и шейдеры Metal - это тоже кресты, так что ты уныло слился

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

Это как раз касается крестов - хозяин заставляет писать на C++03 и школяр-крестовик (или студент) как утёночек, видит только кресты в своей жизни, поэтому считает их своей мамой и лижет ей попку в попытках понравиться. О славься мама - си-плюс-плюс

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

Я на ios пишу и на крестах

Ты не можешь писать на крестах. Зачем ты мне что-то расказывать пытаешься? Пойдём посервнуемся на тему крестов, я похороню тебя си с классами обезьяна.

К тому же ты спалился, ты обезьяна максимум там полы моешь ваяя биндинги для скриптухи.

и шейдеры Metal - это тоже кресты, так что ты уныло слился

Что угодно - это кресты. Это не новость.

Кстати, здесь опять видим тоже самое, о чём я говорил. Плебей просто раб. Он блеет о том, что что-то дерьмо, но жрёт это. Просто потому, что хозяин ему повелел. Слушать потуги подобного мусора - себя не уважать.

Ещё раз. Бездарные потуги си с классами обезьяны уровня начальной школы - тут же умножаются на ноль. Мои тезисы обезьяна только подтвердила. Никаких доказательства высеру нет и не послудет, ну если только обезьяна не пойдёт соревноваться со мною.

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

Тебя просчитать как утёнка легко - ты слился вскукарекивать из-под анонимуса не случайно, чтобы не выглядеть дёшевым клоуном, безработным крестовиком. На пенсии ли? На каникулах?

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

С безработной обезьяной может соревноваться только такая же безработная нищая макака

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

Это так мило, когда клоун ушёл в отрицание и пытается называть меня анонимом. Аноним тут ты, а не я.

К тому же, очень просто проверяется дешёвым. https://www.linux.org.ru/search.jsp?q=%D1%86%D0%B0%D1%80%D1%8C&range=ALL&interval=ALL&user=menangen&_usertopic=on - почему-то в другие разы дошколёнок знал кто я, а тут вдруг врубил отрицание и уже не знает.

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

если только обезьяна не пойдёт соревноваться со мною

И часто ты соревнуешься с обезьянами? В поедании бананов в период компиляции?

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

До царя не дотягиваешь. Тот истерил как девка, когда не было на руках фактов, а ты тупо слился

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

Один ответ и ты соснул на радостях у cloun

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

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

Человеку нравится Си++, а не ваше ржавое говно.

Автор темы, не слушай пропагондистов раста и ересь что си++ якобы устарел, якобы небезопасен и т.п. и якобы на нём сложно писать.

Это всё ересь, людей которые застряли в прошлом веке, современный Си++ няшка, и от стандарта к стандарту становится только лучше!

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

Согласен, Си++ классный яп! А из-за навязчивых пропогандонов раста - у людей только хейт к этому языку появляется чем интерес. Ресурсов про Раст полно - кому надо легко найдет.

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

Автор темы, не слушай пропагондистов си++ и ересь что си++ якобы няшка, якобы безопасен и т.п. и якобы на нём можно писать…

Это всё ересь, людей которые застряли в прошлом веке, Си++ был головной болью, от стандарта к стандарту становился едва ли лучше!

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