Гугл на IO представил Navigation 3! Пока еще в альфе.
Интересно, косяки с сериализованным вложенным объектом ради которых они даже скидывали Workaround учли или снова будут кидать им баги в Issue Traker и скоро ждать Navigation 4?
Кто уже поигрался?
А то мы еще на Kotlin 2 то не обновились 😔
#Compose #Navigation
Интересно, косяки с сериализованным вложенным объектом ради которых они даже скидывали Workaround учли или снова будут кидать им баги в Issue Traker и скоро ждать Navigation 4?
Кто уже поигрался?
А то мы еще на Kotlin 2 то не обновились 😔
#Compose #Navigation
❤1
✍1
Посмотрел код, сгенерированный Memex (закинул в скрины фрагменты) и что могу сказать: неплохо и довольно читабельно все, есть свои нюансы и всякие мелочи вроде collectAsState() вместо collectAsStateWithLifecycle() в composables, но сесть и продолжить писать здесь код особого труда не составит.
Да, я повазился заранее с промптом для этого дела, но все же.
Что мне отдельно понравилось:
- отсутствие привычных галлюцинаций (пока что), свойственное тулам вроде Cursor и Trae. Заканчивались лимиты на запрос - нажимаешь Resume или пишешь в чат "Продолжить" и тул продолжает с того самого места, а не создает все заново
- малое количество требуемых действий (не нужно как в Cursor и других тула постоянно нажимать сохранить и заново пытаться уточнять ему какие-то шаги). Да, в Cursor тоже можно настроить "режим Бога" и он сможет сам добавлять файлы без спроса - здесь и минус то есть, Memex у вас такого не спрашивает, но кто его знает что он там сделать может.
- сам исправлял баги после создания шаблона проекта. Сам пытается запустить - сам правит и так несколько итераций, пока не исправил все. Это неплохо. Trae в целом тоже так может, но телодвижений у него побольше пока что.
Из минусов кроме свободы действий - это быстрый расход месячного лимита на бесплатном тарифе (ну не удивительно!) и по сути проект занял 45% доступного контекста.
Теперь будет интересно попробовать скормить рефакторинг существующего кода подобным тулам и посмотреть вывезут ли хоть в каком-то виде... Поглядим.
Но развитие таких тулов идет пугающе быстро...
#AICoding #Мысли
Да, я повазился заранее с промптом для этого дела, но все же.
Что мне отдельно понравилось:
- отсутствие привычных галлюцинаций (пока что), свойственное тулам вроде Cursor и Trae. Заканчивались лимиты на запрос - нажимаешь Resume или пишешь в чат "Продолжить" и тул продолжает с того самого места, а не создает все заново
- малое количество требуемых действий (не нужно как в Cursor и других тула постоянно нажимать сохранить и заново пытаться уточнять ему какие-то шаги). Да, в Cursor тоже можно настроить "режим Бога" и он сможет сам добавлять файлы без спроса - здесь и минус то есть, Memex у вас такого не спрашивает, но кто его знает что он там сделать может.
- сам исправлял баги после создания шаблона проекта. Сам пытается запустить - сам правит и так несколько итераций, пока не исправил все. Это неплохо. Trae в целом тоже так может, но телодвижений у него побольше пока что.
Из минусов кроме свободы действий - это быстрый расход месячного лимита на бесплатном тарифе (ну не удивительно!) и по сути проект занял 45% доступного контекста.
Теперь будет интересно попробовать скормить рефакторинг существующего кода подобным тулам и посмотреть вывезут ли хоть в каком-то виде... Поглядим.
Но развитие таких тулов идет пугающе быстро...
#AICoding #Мысли
✍1
Marcin Moskala в своей книги Kotlin Coroutines Deep Dive наглядно показывает как устроены Flow под капотом:
Все гениальное просто 😎
#Coroutines #Flow
fun interface FlowCollector<T> {
suspend fun emit(value: T)
}
interface Flow<T> {
suspend fun collect(collector: FlowCollector<T>)
}
fun <T> flow(
builder: suspend FlowCollector<T>.() -> Unit
) = object : Flow<T> {
override suspend fun collect(
collector: FlowCollector<T>
) {
collector.builder()
}
}
suspend fun main() {
val f: Flow<String> = flow {
emit("A")
emit("B")
emit("C")
}
f.collect { print(it) } // ABC
f.collect { print(it) } // ABC
}
Все гениальное просто 😎
#Coroutines #Flow
❤2
В Android Studio Otter 3 Feature Drop завезли возможность работы с локальным LLM и сторонними провайдерами с OpenAI-совместимым API (вдруг вы не знали?)
Работает это все, как привычный агент с чатом, но можно и просто что-то спросить без редактирования файлов.
Есть поддержка контекста и Rules + промпт-библиотека, которую можно добавлять прямо в AS.
Потестировал и на корпоративной модельке и с локальной LM Studio.
Пока еще местами работает сыро, но в целом доволен👌
Надеюсь не выпилят в угоду продажам Gemini 🙂
#LLM #AndroidStudio
Работает это все, как привычный агент с чатом, но можно и просто что-то спросить без редактирования файлов.
Есть поддержка контекста и Rules + промпт-библиотека, которую можно добавлять прямо в AS.
Потестировал и на корпоративной модельке и с локальной LM Studio.
Пока еще местами работает сыро, но в целом доволен👌
Надеюсь не выпилят в угоду продажам Gemini 🙂
#LLM #AndroidStudio
❤2