Kodein DI для Android. KMP и Compose
Быть в авангарде в разработке — жизненная необходимость. Поэтому многие проекты уже переходят на Jetpack Compose, а самые смелые и продвинутые даже выпускают приложения на KMP. Мы в проекте Дринкит тоже активно переходим на Jetpack Compose (с KMP пока не сделали подход).
Ну и как же жить со всем этим без DI? Правильно, никак. Поэтому в этой статье я расскажу, как применять DI Kodein в Kotlin Multiplatform и Jetpack Compose.
Статья: https://habr.com/ru/companies/dododev/articles/766058/
Платформа: Android
Быть в авангарде в разработке — жизненная необходимость. Поэтому многие проекты уже переходят на Jetpack Compose, а самые смелые и продвинутые даже выпускают приложения на KMP. Мы в проекте Дринкит тоже активно переходим на Jetpack Compose (с KMP пока не сделали подход).
Ну и как же жить со всем этим без DI? Правильно, никак. Поэтому в этой статье я расскажу, как применять DI Kodein в Kotlin Multiplatform и Jetpack Compose.
Статья: https://habr.com/ru/companies/dododev/articles/766058/
Платформа: Android
👍1
Поваренная книга SwiftUI: NavigationStack
При создании приложения с несколькими представлениями важно иметь способ навигации между ними. В SwiftUI NavigationStack обеспечивает простой и интуитивно понятный способ навигации между представлениями.
Статья: https://apptractor.ru/info/articles/povarennaya-kniga-swiftui-navigationstack-v-swiftui.html
Платформа: iOS
При создании приложения с несколькими представлениями важно иметь способ навигации между ними. В SwiftUI NavigationStack обеспечивает простой и интуитивно понятный способ навигации между представлениями.
Статья: https://apptractor.ru/info/articles/povarennaya-kniga-swiftui-navigationstack-v-swiftui.html
Платформа: iOS
Всеобъемлющий Rust
Это бесплатный курс по языку Rust, разработанный командой разработчиков Android в Google. Курс охватывает весь спектр Rust, от базового синтаксиса до таких продвинутых тем, как генерики и обработка ошибок.
Курс: https://google.github.io/comprehensive-rust/
Платформа: разработка
Это бесплатный курс по языку Rust, разработанный командой разработчиков Android в Google. Курс охватывает весь спектр Rust, от базового синтаксиса до таких продвинутых тем, как генерики и обработка ошибок.
Курс: https://google.github.io/comprehensive-rust/
Платформа: разработка
Resaca - правильная область видимости для объектов и вью-моделей в Android Compose. Resaca предоставляет простой способ сохранить Jetpack ViewModel (или любой другой объект) в памяти в течение жизненного цикла функции @Composable и автоматически очистить ее, когда она больше не нужна. Это означает, что библиотека сохраняет ваш объект или ViewModel при перекомпоновке, при изменении конфигурации, а также когда контейнер Fragment или Compose Navigation уходит в backstack. С помощью Resaca вы можете создавать отдельные ViewModel для мелких Composable и, наконец, получить многократно используемые компоненты на всех экранах.
Resaca на GitHub: https://github.com/sebaslogen/resaca
Платформа: Android
⭐️: 223
Resaca на GitHub: https://github.com/sebaslogen/resaca
Платформа: Android
⭐️: 223
GitHub
GitHub - sebaslogen/resaca: Compose Multiplatform library to scope ViewModels to a Composable, surviving configuration changes…
Compose Multiplatform library to scope ViewModels to a Composable, surviving configuration changes and navigation - sebaslogen/resaca
Паттерн делегирования для написания многократно используемых компонентов Compose
В этой статье я расскажу о решении, позволяющем писать составные функции, которые в большей степени пригодны для повторного использования.
Статья: https://apptractor.ru/info/articles/pattern-delegirovaniya-dlya-napisaniya-mnogokratno-ispolzuemyh-komponentov-compose.html
Платформа: Android
В этой статье я расскажу о решении, позволяющем писать составные функции, которые в большей степени пригодны для повторного использования.
Статья: https://apptractor.ru/info/articles/pattern-delegirovaniya-dlya-napisaniya-mnogokratno-ispolzuemyh-komponentov-compose.html
Платформа: Android
🥱1
Отслеживаем сбои приложения с MetricKit
MetricKit содержит много данных, которые помогут вам отслеживать работоспособность вашего приложения и делать ваших пользователей счастливее.
Статья: https://apptractor.ru/measure/crash-analytics-bug-tracking/otslezhivaem-sboi-prilozheniya-s-metrickit.html
Платформа: iOS
MetricKit содержит много данных, которые помогут вам отслеживать работоспособность вашего приложения и делать ваших пользователей счастливее.
Статья: https://apptractor.ru/measure/crash-analytics-bug-tracking/otslezhivaem-sboi-prilozheniya-s-metrickit.html
Платформа: iOS
Nimble определяет ожидаемые результаты выполнения выражений в Swift или Objective-C. В Xcode есть фреймворк XCTest, который предоставляет макросы утверждений для проверки правильности поведения кода. Однако утверждения XCTest имеют несколько недостатков - нет простого способа утверждать, что строка содержит определенную подстроку, или что число меньше или равно другому, кроме того сложно писать асинхронные тесты, наконец, XCTest заставляет писать много шаблонного кода. Nimble решает все эти проблемы.
Nimble на GitHub: https://github.com/Quick/Nimble
Платформа: iOS
⭐️: 4.7K
Nimble на GitHub: https://github.com/Quick/Nimble
Платформа: iOS
⭐️: 4.7K
Архитектура Android. Понятно и подробно
Если вы хотите сделать хорошую архитектуру, то используйте эту схему и строго соблюдайте правила, без каких-либо исключений.
Статья: https://habr.com/ru/articles/766762/
Платформа: Android
Если вы хотите сделать хорошую архитектуру, то используйте эту схему и строго соблюдайте правила, без каких-либо исключений.
Статья: https://habr.com/ru/articles/766762/
Платформа: Android
Понимаем @discardableResult в Swift
Swift известен тем, что в нем большое внимание уделяется безопасности типов и читаемости кода. Одним из свойств, соответствующих этим принципам, является атрибут
Статья: https://apptractor.ru/info/articles/ponimaem-discardableresult-v-swift.html
Платформа: iOS
Swift известен тем, что в нем большое внимание уделяется безопасности типов и читаемости кода. Одним из свойств, соответствующих этим принципам, является атрибут
@discardableResult
. Этот атрибут позволяет пометить возвращаемое значение функции как "отбрасываемое" (discardable), что означает возможность игнорировать возвращаемое значение, не выдавая предупреждения компилятора. В этой статье мы рассмотрим, что такое отбрасываемый результат, почему он полезен и как эффективно использовать его в Swift.Статья: https://apptractor.ru/info/articles/ponimaem-discardableresult-v-swift.html
Платформа: iOS
FocusBloom - это приложение Kotlin Multiplatform, которое помогает пользователям повысить продуктивность и улучшить навыки управления временем с помощью интервалов сосредоточенной работы и коротких перерывов. Поддерживает iOS, Android и десктопы, внутри Kotlin Multiplatform, Compose Multiplatform, SQLDelight, Koin, Voyager, Detekt, Ktlint, Github Actions и прочее.
FocusBloom на GitHub: https://github.com/JoelKanyi/FocusBloom
Платформа: Android/кроссплатформа
⭐️: 179
FocusBloom на GitHub: https://github.com/JoelKanyi/FocusBloom
Платформа: Android/кроссплатформа
⭐️: 179
Видео и подкасты за неделю:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Поставьте 👍, если понравилась подборка. А если вы увидели/выпустили какое-то другое интересное видео - отправьте боту🧑🏻💻
•
(iOS Ru)
Avito iOS meetup #10•
(iOS En)
A Day in the Life of a SwiftUI View•
(iOS En)
SwiftUI to destroy the Publishing Industry•
(iOS En)
Create custom Bindings in SwiftUI•
(iOS En)
How to use TimelineView in SwiftUI•
(iOS En)
Updating Code to iOS 17•
(And Ru)
Unit-тесты для галочки — как не надо делать и как исправить•
(And Ru)
Compose Pathway #1: знакомство с фреймворком•
(And Ru)
Оно само: используем плагины компиляции•
(And Ru)
Compose, еще раз Compose и развитие сообщества•
(And En)
Navigation Stack Interactive Pop Gesture - Full Swipe Pop•
(And En)
Gestures in Jetpack Compose•
(And En)
AI Landmark Recognition With Tensorflow Lite and CameraX on Android•
(And En)
How to Build a Video Recorder With CameraX in Android•
(And En)
New Component Activity’s Edge to Edge is Amazing•
(And En)
Kotlin Extensions - Many developers forget THIS!•
(Crs En)
Minimal Social App • Flutter x Firebase Tutorial•
(Dev Ru)
Podlodka #340: зачем нужны ИТ-рекрутеры•
(Dev Ru)
Podlodka #339: все про кодировки текстаПоставьте 👍, если понравилась подборка. А если вы увидели/выпустили какое-то другое интересное видео - отправьте боту🧑🏻💻
AppTractor
Avito iOS meetup #10
В докладах теория и реальные кейсы из опыта спикеров.
👍1🔥1
Разработка мобильного приложения, безупречно работающего в реальном мире, требует тщательного тестирования в различных сетевых условиях. Flaker - это сетевой симулятор, призванный сделать процесс тестирования мобильных приложений более плавным и эффективным. С помощью Flaker можно легко эмулировать широкий спектр сетевых условий, что позволяет точно настроить производительность приложения и обеспечить исключительное качество работы при любых обстоятельствах. Flaker написан на Kotlin, Kotlin Multiplatform, Jetpack Compose и SwiftUI, с использованием SqlDelight, Jetpack DataStore, Okhttp, Ktor.
Flaker на GitHub: https://github.com/RotBolt/Flaker
Платформа: разработка
⭐️: 112
Flaker на GitHub: https://github.com/RotBolt/Flaker
Платформа: разработка
⭐️: 112
LLaMA 2, RWKV, Santacoder и другие LLM на iOS
Мысль портировать LLaMA.cpp на iOS у меня появилась после того, как вышло приложение Draw Things, про его разработку писали на Хабре. Мне понравилось то, что я могу без интернета (в поезде, например), заняться «генерацией всякого» с помощью нейросетей, без подписок, цензуры и неконтролируемых обновлений. Я подумал: если Stable Diffusion запустили на iOS, то что мешает запустить языковые модели? Так появилась идея создать приложение LLM Farm.
Статья: https://habr.com/ru/articles/764598/
Платформа: iOS
Мысль портировать LLaMA.cpp на iOS у меня появилась после того, как вышло приложение Draw Things, про его разработку писали на Хабре. Мне понравилось то, что я могу без интернета (в поезде, например), заняться «генерацией всякого» с помощью нейросетей, без подписок, цензуры и неконтролируемых обновлений. Я подумал: если Stable Diffusion запустили на iOS, то что мешает запустить языковые модели? Так появилась идея создать приложение LLM Farm.
Статья: https://habr.com/ru/articles/764598/
Платформа: iOS
Как выступить на Mobius и внести свой вклад в Kotlin — Максим Сидоров (SberDevices)
Легендарное интервью с Максимом Сидоровым, Android-разработчиком из SberDevices, который на весеннем Мобиусе представил свой первый доклад “Измеряем sequence”, по результатам которого JetBrains внесли изменения в язык. Поговорили про карьеру, Kotlin, разработку, Сбер, имеет ли смысл “обычному разработчику” ковыряться в функциях языка и многое другое.
Интервью: https://apptractor.ru/info/interview/kak-vystupit-na-mobius-i-vnesti-svoy-vklad-v-kotlin-maksim-sidorov-sberdevices.html
Платформа: Android
Легендарное интервью с Максимом Сидоровым, Android-разработчиком из SberDevices, который на весеннем Мобиусе представил свой первый доклад “Измеряем sequence”, по результатам которого JetBrains внесли изменения в язык. Поговорили про карьеру, Kotlin, разработку, Сбер, имеет ли смысл “обычному разработчику” ковыряться в функциях языка и многое другое.
Интервью: https://apptractor.ru/info/interview/kak-vystupit-na-mobius-i-vnesti-svoy-vklad-v-kotlin-maksim-sidorov-sberdevices.html
Платформа: Android
🔥1
Grape - библиотека Swift для моделирования сил и визуализации графов.
Grape на GitHub: https://github.com/li3zhen1/Grape
Платформа: iOS
⭐️: 47
Grape на GitHub: https://github.com/li3zhen1/Grape
Платформа: iOS
⭐️: 47
❤1
Одна игра, один человек, шесть платформ: хорошие, плохие, злые
Недавно компания Valve объявила, что Counter-Strike 2 больше не будет поддерживать macOS. Как инди-разработчик, выпустивший игру с поддержкой macOS, я сначала удивился решению Valve. Но, вспомнив свой собственный путь поддержки шести платформ, я думаю, что могу понять точку зрения Valve.
Статья: https://apptractor.ru/info/articles/odna-igra-odin-chelovek-shest-platform-horoshie-plohie-zlye.html
Платформа: кроссплатформа
Недавно компания Valve объявила, что Counter-Strike 2 больше не будет поддерживать macOS. Как инди-разработчик, выпустивший игру с поддержкой macOS, я сначала удивился решению Valve. Но, вспомнив свой собственный путь поддержки шести платформ, я думаю, что могу понять точку зрения Valve.
Статья: https://apptractor.ru/info/articles/odna-igra-odin-chelovek-shest-platform-horoshie-plohie-zlye.html
Платформа: кроссплатформа
7 плагинов Android Studio, ускоряющих разработку приложений
Android Studio, созданная на основе программного обеспечения JetBrains IntelliJ IDEA и запущенная Google, представляет собой полнофункциональную интегрированную среду разработки для Android. Обладая таким количеством замечательных функций, а также будучи чрезвычайно продуктивной и эффективной, Android Studio вошла в тройку самых популярных IDE по версии GitHub.
Статья: https://apptractor.ru/info/articles/7-plaginov-android-studio-uskoryayuschih-razrabotku-prilozheniy.html
Платформа: Android
Android Studio, созданная на основе программного обеспечения JetBrains IntelliJ IDEA и запущенная Google, представляет собой полнофункциональную интегрированную среду разработки для Android. Обладая таким количеством замечательных функций, а также будучи чрезвычайно продуктивной и эффективной, Android Studio вошла в тройку самых популярных IDE по версии GitHub.
Статья: https://apptractor.ru/info/articles/7-plaginov-android-studio-uskoryayuschih-razrabotku-prilozheniy.html
Платформа: Android
Готовимся к собеседованиям в западных компаниях — курсы и обучающие материалы
Тред от Евгения Мацюка, в котором он собрал различные ресурсы для подготовки к собеседованиям в западных компаниях.
Статья: https://apptractor.ru/info/articles/gotovimsya-k-sobesedovaniyam-v-zapadnyh-kompaniyah-kursy-i-obuchayuschie-materialy.html
Платформа: собеседования
Тред от Евгения Мацюка, в котором он собрал различные ресурсы для подготовки к собеседованиям в западных компаниях.
Статья: https://apptractor.ru/info/articles/gotovimsya-k-sobesedovaniyam-v-zapadnyh-kompaniyah-kursy-i-obuchayuschie-materialy.html
Платформа: собеседования
Cookit Recipes App - приложение с рецептами, созданное на базе Compose Multiplatform. Снаружи iOS и Android, библиотека рецептов, пошаговые инструкции, добавление собственных. Внутри Jetpack Compose, Koin для инъекции зависимостей, Voyager для навигации, Moko Resources для управления ресурсами, ImageLoader для работы с изображениями.
Cookit Recipes App на GitHub: https://github.com/JunydDEV/kmp-recipes-mobile-app
Платформа: Android/кроссплатформа
⭐️: 25
Cookit Recipes App на GitHub: https://github.com/JunydDEV/kmp-recipes-mobile-app
Платформа: Android/кроссплатформа
⭐️: 25
👍2