Те, кто хоть раз пробовал что-то сделать на Flutter, обычно начинали с того, что создавали новый Dart-файл и писали stfl, что сразу создавало шаблонный StatefulWidget с указанным именем для виджета и его состояния. В среде Flutter это называется Live Templates, но по сути — это сниппеты.
Помимо стандартных сниппетов stfl и stls, существуют и другие базовые шаблоны, которые уже установлены по умолчанию. А именно:
Читать далееПредставь, что мир — это огромная комната, заваленная игрушками. Игрушек так много, что ты не знаешь, во что играть. Раньше игрушек было мало, и взрослые показывали, какие из них важные. А теперь игрушек слишком много, и все кричат: «Возьми меня!».
У человека в голове есть своя картина мира — как личная карта того, что он уже видел и понял. Новые знания — это как новые игрушки. Но чтобы взять новую игрушку и понять, как с ней играть, нужно внимание. А внимание — как батарейка: оно быстро садится.
Когда мы читаем или слушаем, мы платим вниманием. Если устали, слова превращаются в шум. Поэтому важно, чтобы знания подавались маленькими кусочками: сначала название, потом короткий рассказ, а уже потом — длинное объяснение.
Умные машины умеют сжимать большие тексты и помогать находить похожие идеи. Так люди могут находить друг друга, делиться мыслями и вместе понимать мир, не уставая слишком сильно.
P.S.
Меня зовут Алекс Гусев. Я попросил LLM пересказать текст своей публикации на уровне 5-летнего. Получилось вот это :-) Но там, дальше, всё не так просто. Там всё сложно. Там даже мне сложно.
Читать далееАнимация смены темы в Android-версии Telegram на протяжении долгого времени вдохновляет разработчиков на попытки реверс-инжениринга этого красивого трюка: в сети немало подробных гайдов, как сделать подобную анимацию при помощи традиционных XML View и даже Flutter. Но реализаций этой элегантной (хоть и совершенно бесполезной) анимации на Jetpack Compose мне найти так и не удалось, что привело к созданию маленькой библиотеки для анимирования смены темы.
Вера в будущее KMP также подтолкнула меня к тому, чтобы сделать ее из коробки готовой к установке в Compose-Multiplatform проекты, с поддержкой всех основных платформ (Android, iOS, Desktop JVM, Web WASM+JS).
Хотя сама библиотека вышла крайне компактной, ее реализация оказалась довольно нетривиальной на мой субъективный взгляд и может быть интересна каждому, кто изучает Compose или ищет подобные решения для своего проекта.
На старте написания библиотеки сами собой возникли ряд требований, которым она должна была отвечать:
Читать далее