TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #168 · 16.01

Неделю назад в мире опенсорс разработки произошло интересное событие. Опенсорс — это когда разработчик пишет программу (как правило, эта программа нужна для работы других программ) и выкладывает её в общий доступ на полностью свободных началах. В большинстве случаев после этого кто угодно может делать с этой программой абсолютно что угодно: копировать, изменять, продавать решения на её основе за деньги и так далее. Иногда то, что пишут такие разработчики-волонтёры, оказывается невероятно удобно и полезно. Настолько, что гигантские корпорации используют это у себя. А кроме них — ещё десятки тысяч проектов по всему миру. Такое использование называется «зависимость», и оно создаёт связь между автором опенсорс-проекта и тем, кто взял его труд. Связь обычно такая: в моей программе где-то указано, что вот этот вот код взят по такому-то адресу у опенсорс разработчика Васи. Моя программа иногда может на этот адрес заглядывать и смотреть, а не внёс ли Вася чего нового. Вдруг он улучшил работу и исправил ошибки — тогда я скачаю новую версию его программы и установлю её у себя. Формально для такого обновления должны существовать ограничения. По факту человеческая лень и негласный этикет среди разработчиков приводят к тому, что обновления ставят не глядя. Считается, что Вася будет выкладывать только улучшенную и проверенную новую версию своей программы, ведь за ним наблюдает миллион других разработчиков. Пацаны во дворе не поймут, если Вася сделает что-то неаккуратно. Один из разработчиков по имени Marak Squires написал некоторое время назад две очень полезные программные библиотеки. Как раз такие, которые скачали десятки тысяч людей, в том числе в крупных корпорациях, и использовали у себя. В прошлом году этот разработчик написал что-то вроде: «Эй, корпорации, вы берёте мой труд бесплатно. Конечно, я его раздал бесплатно, но вы чёртовы капиталистические гиганты, и у вас миллиарды баксов, а я вам сэкономил миллионы баксов на разработке. Я жду от вас чек на почту в благодарность». Конечно, всем было пофигу. А неделю назад этот разработчик внёс в свои библиотеки деструктивное обновление, которое сделало программы, установившие его, неработоспособными, и вывело на экран «LIBERTY LIBERTY LIBERTY». Это обновление положило кучу проектов, в том числе у гигантов-корпораций. Поднялась буря. Одна часть интернета заявила, что разработчик никому ничего не должен, поэтому волен делать со своим кодом всё, что хочет. Вторая часть претендовала на то, что совершённый им поступок это вандализм и осознанный вред другим разработчикам. Дров в огонь подкинуло то, что GitHub, на котором размещался код этого разработчика, заблокировал его аккаунт. А система хранения пакетов NPM откатила изменения до предыдущих версий. Хотя формально никаких законов он не нарушал: компании брали его код по собственной воле, а он ничего никому не гарантировал. ___________________________ Я не готов назвать здесь однозначно правую сторону. Пока выглядит, как «Все мудаки». Но на мой взгляд это показательный пример вот чего: никакие формальные правила никогда не покроют всё многообразие человеческих взаимоотношений, и поэтому личностный аспект тоже важен. Даже если нет закона или правила, по которому вы что-то должны, есть смысл стараться действовать созидательно и стремиться, хотя бы частично, к всеобщему благу, а не только к личному. Особенно в ситуации, когда у тебя в руках сосредоточена та или иная власть. Корпорации действительно могли бы найти способ отблагодарить разработчика (и вообще — всех разработчиков, чей код они бесплатно берут в таких масштабах). Просто из чувства благодарности, а не потому, что должны. Разработчик мог бы просто закрыть проект и не стараться нанести урон. Просто из чувства неприятия всего деструктивного. Это, конечно, идеализированный мир розовых пони, но сила и власть это как раз способность двигать границы реальности. #dev

Hashtags

Резултати

Намерени 105 подобни публикации

Търсене: #compose

当前筛选 #compose清除筛选
Android Broadcast

@android_broadcast · Post #9948 · 06.04.2026 г., 18:22

HotSwan - быстрое обновление Composable на реальном устройстве. Доступно как плагин для Android Studio Я выбрал другой путь - делаю СMP проект с поддержкой Android + Desktop JVM и так можно быстро проверять + делать код чище. #Compose

Hashtags

Android Broadcast

@android_broadcast · Post #9517 · 19.09.2025 г., 06:02

⚙️ Нашел сайт с демонстрацией того как происходит рекомпозиция с примером хороших и плохих практик Как была сделана реализация написали в статье, а исходники есть на GitHub #compose

Hashtags

Android Broadcast

@android_broadcast · Post #9229 · 03.06.2025 г., 11:37

Серия статей с разборами лучших практик для Jetpack Compose: 1️⃣5 Core Optimizations Every Developer Should Know (EN, 5м, альт. ссылка) 2️⃣5 Advanced Techniques for Ultra-Smooth Apps (EN, 8м, альт. ссылка) 3️⃣The Expert’s Toolkit (EN, 8м, альт. ссылка) 4️⃣Runtime Mastery & Fine-Tuning (EN, 8м, альт. ссылка) #compose

Hashtags

Android Broadcast

@android_broadcast · Post #9138 · 16.05.2025 г., 03:43

⚙️ Нужно ли проставлять аннотации @Stable и @Immutable сразу при написании кода? 🤔 Мой ответ — НЕТ! Не стоит заниматься преждевременной оптимизацией. Пишите UI без оглядки на аннотации стабильности, а затем используйте инструменты анализа, чтобы определить, где действительно возникают лишние рекомпозиции и есть смысл оптимизировать типы. Как анализировать рекомпозиции и пропуски? 👉 Используйте Layout Inspector в Android Studio (подробнее — в этом посте) 👉 Включайте отслеживание работы composable-функций в System Trace 👉 Можно воспользоваться библиотекой Compose Investigator, чтобы получать детальные логи по рекомпозициям ‼️Важный нюанс: Если вы используете типы из внешних библиотек или из модулей, где не подключён Compose Compiler, такие типы всегда считаются Unstable. Это может приводить к лишним рекомпозициям. 🚀Strong Skipping Mode действительно упростил жизнь разработчикам, но старайтесь передавать в параметры Сomposable-функций только Stable или Immutable типы. Это позволит максимально эффективно использовать skipping и сделать UI более производительным. #compose

Hashtags

Android Broadcast

@android_broadcast · Post #9129 · 14.05.2025 г., 15:44

Вышел Coil 3.2.0 Что нового ⬆️ Обновление Kotlin, Compose, Okio, Skiko, Coroutines и др зависимостей до актуальных версий 🛠 Исправление багов 👉 Compose артефакты требуют Java 11 и выше из-за перехода на Compose 1.8.0 #compose

Hashtags

Android Broadcast

@android_broadcast · Post #9720 · 04.12.2025 г., 07:35

⚙️Вышел Jetpack Compose 1.10.0 👉 Стабильное API Shared Transition 👉 Оптимизированный скролл 👉 Новые подходы к сохранению данных при пересоздании Activity через ViewModel 🚀 Повышена производительность UI на Compose 🛠 Исправлено багов и шероховатостей Изменений действительно много — в один пост всё не поместить. Буду разбирать ключевые обновления по отдельности в следующих публикациях на @compose_broadcast✨ #compose#android

Android Broadcast

@android_broadcast · Post #9430 · 20.08.2025 г., 12:55

🤖 Как использовать Compose, чтобы сделать анимированный Splash Screen Разработчик создал библиотеку androidx-splashscreen-compose (не от Google решение), которая позволяет делать красивую анимацию как на анимашке. Подробный разбор и реализация есть в статье (EN,6м, альт. ссылка) или 🐱исходниках на GitHub #android#compose

Android Broadcast

@android_broadcast · Post #9412 · 14.08.2025 г., 07:17

⚙️Вышел Jetpack Compose 1.9 Stable (августа 2025) Главные новинки: 👉 Тени нового поколения — dropShadow() и innerShadow() дают больше контроля, чем классический shadow(). 👉 LazyLayout — новый API предзагрузки и кэширования элементов для более плавного скролла. 👉 2D-прокрутка — Scrollable2D для таблиц, карт и больших изображений. 👉 Расширенный stack trace — имена composable и их позиции для отладки в stacktrace (только в debug). 👉 Новые аннотации — @RememberInComposition, @FrequentlyChangingValue и перенос @Stable в отдельный модуль. Подробнее буду рассказывать в @compose_broadcast. Подписывайтесь! #compose#android

Android Broadcast

@android_broadcast · Post #9233 · 05.06.2025 г., 08:54

📹Mastering text input in Compose (EN, 18м) Google выпустили шикарное видео, где показали лучшие практики работы с текстовыми полями в Compose — с примерами, API и лайфхаками. В ролике разработчики на примере рассказывают: 👉 как использовать state-based TextField — новый подход к управлению вводом; 👉 зачем нужен SecureTextField и как задать требования к паролю; 👉 как работает Autofill API (да, теперь можно сохранять логины и OTP); 👉 как кастомизировать поле ввода OTP с помощью BasicTextField и decorator; 👉 как принимать GIF и изображения через drag & drop с новым contentReceiver; 👉 как использовать input/output трансформации для автоподстановки скобок и тире в номерах; #android#compose

Android Broadcast

@android_broadcast · Post #9003 · 24.04.2025 г., 09:06

⚙️ Вышел Jetpack Compose 1.8.0 Все новинки расскажу отдельными постами в @compose_broadcast, а именно: 👉 Autofill 👉 ресайзинг текста под контейне 👉 новое API для отслеживания Composable на экране 👉 анминирование границ Composable 👉 стабилизация API (убрали экспериментальные аннотации) 👉 ContextualFlowRow и ContextualFlowColumn теперь deprecated, им на замену используйте FlowRow и FlowColumn 👉 диалоги теперь учитывают режим экрана edge-to-edge 👉 упростили тестирование ClickableText 👉 появилась возможность кастомизации overscroll Свежий BOM для новых версий implementation(platform("androidx.compose:compose-bom:2025.04.01")) #compose#android

Android Broadcast

@android_broadcast · Post #8883 · 30.03.2025 г., 15:30

⚙️Как работать с Custom Layout в Jetpack Compose (21м) В этой статье вы найдете: 👉 как работают layout-ы в Compose; 👉 изменение layout-а отдельного компонента; 👉 создание кастомных Layout и LazyLayout; 👉 отложенную композицию. Всё это на примерах, в том числе из дизайн-системы Авито. #compose#android

123•••89
ПредишнаСтр. 1 от 9Следваща