Попробовал, наконец, разработку на Blazor. Это такой фреймворк под .NET, который позволяет писать фронтенд на C#. Работает он двумя способами: либо собирает весь проект в WebAssembly, и бедный пользователь грузит себе мегабайтную dll, либо устанавливает клиент-серверное соединение через SignalR и шлёт клиенту информацию об обновлённых DOM-элементах.
Вот вторую то я и пробовал. Казалось бы — каждое нажатие кнопки требует отправить на сервер запрос и получить ответ. Никогда такого не было! Но субъективно разницы во времени отклика нет (потому что веб и так достаточно медленный, хаха).
Фронтенд-часть пишется очень похоже на JSX: вёрстка реактивно вперемешку с кодом. Когда-то я очень ругал React за такой подход, потому что каша. Но нетипизированный JS по-умолчанию каша, а здесь же по факту получается очень удобно: статический анализ не даёт тебе делать ошибки и писать ерунду.
Но приятный полноценный язык программирования вместо JavaScript это лишь вишенка на торте. Самое крутое — вся сила серверного кода с полноценной возможностью обращения к базе данных, шеринг моделей данных между сервером и клиентом, и, наконец, Dependency Injection любого серверного модуля в «клиент»! То есть вы не просто пишете одно приложение вместо двух, вы ещё и получаете отсутствие ошибок при каком-нибудь изменении моделей API, когда сервер стал отдавать не то, что ожидает клиент. Вам вообще теперь не нужен API, достаточно закодить нужную функцию на серваке и инжектировать её в нужный фронтенд-модуль.
Это супер удобно, супер быстро, супер устойчиво к ошибкам. Теперь не хочется возвращаться даже на вполне крутой Vue 3. Но, система пока новая, она не обросла решениями от комьюнити, а браузерный API всё равно придётся дергать через JavaScript Interop. Для совсем кайфа нужно подождать годик, поскольку развитие идёт довольно быстро. Например, там нет очень нужного в таком деле hot reload, но в .NET 6 он уже анонсирован, и вроде как есть в превью, а релиз в ноябре.
#dev
Valentine's Day Messages:
.1All I wanted was someone to care for me,
All I wanted was someone who'd b there for me,
All I ever wanted was someone who'd b true,
All I ever wanted was someone like You!
Happy Valentine's Day!
2.A day filled with kisses, a week filled with romance, a month filled with love, a year filled with bliss and a lifetime filled with happy memories. I want to spend the rest of my life with you.
Happy Valentine’s Day!
3.Darling, my love for you is as deep as the sea and as high as the sky. Happy Valentine’s Day!
When I look at you, I’m amazed by your beauty, both on the outside and the inside. Happy Valentine’s Day!
4.I still remember the moment when our eyes met for the first time. I felt butterflies in my stomach and since then my heart longs to be with you always. Be mine forever!
5.A day without you is a day without a sun, a night without a moon; a life without meaning.
6.Happy Valentine’s Day to the most special person in my life. You are my love, my heart and my joy.
#Messages
#Teamjimmy
#sirjimmy
@translobot
Qué puede hacer este bot?
Este es un bot traductor
Translo le permite traducir mensajes a más de 90 idiomas.
Idioma: Múltiple
(visto en @BotsGram_cu)
#translate, #suggest, #translation, #messages, #command, #english
@GitHubBot
Qué puede hacer este bot?
Este es un bot de GitHub. Puede notificarle sobre eventos en sus repositorios públicos de GitHub. También puede responder a tus mensajes para publicar comentarios en GitHub directamente desde Telegram.
Idioma: Inglés
(visto en @BotsGram_cu)
#telegram, #notify, #events, #github, #delete, #public, #command, #messages, #repository
@YTranslateBot
Qué puede hacer este bot?
Este bot traduce desde cualquier idioma a tu lenguaje nativo en el chat
(visto en @BotsGram_cu)
#translate, #yandex, #free, #suggest, #translation, #messages, #command, #remember, #english
@junction_bot
Qué puede hacer este bot?
Este bot puede recopilar publicaciones de tus canales favoritos de Telegram, para que puedas leerlas como un servicio de noticias.
¡También puede copiar mensajes entre canales y bots, filtrar anuncios, modificar mensajes y mucho más!
Idioma: Inglés, Ruso, Turco
(visto en @BotsGram_cu)
#link, #word, #project, #feed, #messages, #group, #subscription, #telegram, #share, #channel, #questions, #command, #inline, #join, #twitter, #favorite, #collect, #news, #enter, #place, #free, #message, #welcome