Попробовал, наконец, разработку на 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
На канале есть рубрика про #рефы. В неё иногда залетают примеры с физикой элементов, и тогда звучит вопрос: «Окей, а как это сделать?». Если на вебе всё просто — есть движки вроде Matter.js или PhysicsJS, а вот что делать на мобиле?
Недавно мой dev-бро как раз для своей рабочей задачи нашёл кастомизируемый движок с управляемой физикой в SwiftUI — Kinetics🧑💻
Штука удобная и мощная по возможностям:
🎯 Ретаргетинг
Меняет цели анимации на лету при взаимодействии, идеально для интерактивных элементов
🚀 Импульс
Естественная имитация импульса, которая ещё и отзывчивая
🦾 Тянучесть
Сопротивление объекта, дающее гладкое, естественное ощущение натяжения
🧲 Магнетизм
Умные привязки к значимым позициям. Например для циферблатов, ползунков и вообще любых интерфейсов, где важны дискретные значения
🏀 Упругость
Реалистичное поведение при столкновениях с настраиваемой потерей энергии
Короче, пробуйте тоже. Мир интерфейсов двигается вперёд за счёт тех, кто не боится экспериментировать. И да — храни Бог этих упоротых энтузиастов, которые пишут опенсорс-библиотеки и движки вместо того, чтобы просто жить спокойной жизнью 😎
#dev#frontend
👅Тэкс, назрел вопроспро локализацию
Я ярый амбассадор сервисов локализаций и вообще этого флоу. Мои любимчики это Lokalise и POEditor, но для своих стартапов они не подходят т.к. хотят не малые бабосы или встречают жёсткими ограничениями. Даже Framer ебанулся с горы и за одну локаль хочет $40/m. Поэтому мы с dev-бро делаем небольшою и удобную автоматизацию для нашего side-проекта, которую хотим опубликовать для всех желающих. Скажу больше, у нас получилось элегантное и дешёвое решение, с которым приятно будет работать всем членам продуктовой команды.
Сейчас хочу понять процентовку людей, которые работают с мультиязычным контентом в своих проектах. Для своей банды как всегда сделаю подгоны.
#опросы#проТекст#dev
Пока каналы сосали контент про очко эппл Apple Vision Pro, упустили новость для нас, для работяг из IT!
🍏TipKit — нативная замена сторонних решений для тултипов, ондордингов. Новый фреймворк даст возможность использовать разные обучающие шаблоны для приложений, с возможностью кастомизации их внешнего вида. Также настроить можно свои правила для их отображения где и когда угодно. Кайф.
TipKit работает на iOS, iPadOS, macOS, watchOS и tvOS ебать его в сраку (про visionOS ни слова кстати). Для ушлых продАктов захотевших использовать тултилы как инструмент маркетинговой активности и горе-дизайнеров есть примеры использования фреймворка.
Выглядит красиво, функционально, спасибо Эппл, но главное чтобы мои dev-бро тоже были довольны работой с этим китом.
📚Overview
#OS#apple#dev#полезное
📷Секретный файлтолько для iPhoneиiPad
Функция быстрого просмотра файлов у яблочников, теперь умеет показывать 3D и AR объекты, но только на iOS и iPadOS. Файлы формата *.reality можно встраивать не только в приложения, но и добавлять на сайты. Имеется даже поддержка аудио, ахуеть.
🔗AR Quick Look
#dev#apple#AR#3D