Видео и подкасты за неделю @AppFiles
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Что вы посмотрели за неделю?
#ios #android #mobile #video
•
(iOS Ru) Поиск работы iOS разработчиком в текущих условиях 2024•
(iOS En) Expandable Search Bar + Progressive Blur Effect•
(iOS En) iOS 18 SwiftUI ScrollView DeepDive•
(iOS En) SwiftUI: Test Push Notifications With iOS Simulators•
(And Ru) ByteWeaver. Инструментирование байт-кода во имя великого блага•
(And En) How to Get Access to ALL External Media Files (Works on Android 15!)•
(And En) How to Pass Custom NavTypes in Compose Type-Safe Navigation•
(And En) Kotlin's Elegant Deceptions Simple APIs, Unusual Tactics•
(And En) Harmonizing Kotlin codebases with Konsist•
(And En) Android, Compose, Multiplatform & Server - Inject them all with Koin•
(And En) Elevating Android App Resilience: Incident Management Strategies•
(Crs Ru) Почему вам не нужен Kotlin Multiplatform•
(Crs Ru) Создание indoor-карты здания во Flutter•
(Crs En) Diving into Advanced Compose Multiplatform Modifiers and Their Impact on Multiplatform Development•
(Dev Ru) Кто реально может стать программистом?•
(Dev Ru) 30 вопросов команде и себе — техника и практика формулировка хороших вопросов•
(Dev Ru) VK Звонки: поднимаем планку качества WebRTC-звонков•
(Dev Ru) Как пользоваться DivKit•
(Dev En) Kotlin for Data Analysis: Exploring Dataframes and Visualizations in Notebooks•
(Dev En) AWS Certified Developer Associate Certification Course•
(Dsg En) Design a Car mobile app for iOS 18 in FigmaЧто вы посмотрели за неделю?
#ios #android #mobile #video
❤1
Анализ производительности для ускорения сборок в Xcode
Производительность сборки может быть проанализирована в самом Xcode. Такой анализ позволит понять узкие места, внести изменения и ускорить рабочий процесс, сэкономив много времени в течение дня для всех разработчиков, работающих над проектом.
Статья: https://apptractor.ru/info/articles/analiz-proizvoditelnosti-dlya-uskoreniya-sborok-v-xcode.html
Платформа: iOS
Производительность сборки может быть проанализирована в самом Xcode. Такой анализ позволит понять узкие места, внести изменения и ускорить рабочий процесс, сэкономив много времени в течение дня для всех разработчиков, работающих над проектом.
Статья: https://apptractor.ru/info/articles/analiz-proizvoditelnosti-dlya-uskoreniya-sborok-v-xcode.html
Платформа: iOS
👍1
BookMatch - это приложение с рекомендациями книг, использующее генеративный искусственный интеллект для предоставления персонализированных рекомендаций. Оно позволяет пользователям уточнять свои предпочтения с помощью выбора жанра, симпатий/антипатий и оценок и постоянно улучшает рекомендации на основе этой обратной связи. Приложение также позволяет фильтровать и получать доступ к ранее созданным рекомендациям. Технический стек - Kotlin Multiplatform, для интерфейсов Jetpack Compose и SwiftUI, Supabase для бэкенда, OpenAI для информации о книгах.
BookMatch на GitHub: https://github.com/novumlogic/BookMatch
Платформа: кроссплатформа
⭐️: 12
BookMatch на GitHub: https://github.com/novumlogic/BookMatch
Платформа: кроссплатформа
⭐️: 12
Деструктуризация в Kotlin с примерами
Деструктуризация в Kotlin — это функция, позволяющая легко распаковывать объекты в несколько переменных. Это делает ваш код чище и легче для чтения. Вот простое руководство по пониманию и использованию деструктуризации в Kotlin.
Статья: https://apptractor.ru/info/articles/destrukturizatsiya-v-kotlin-s-primerami.html
Платформа: Android
Деструктуризация в Kotlin — это функция, позволяющая легко распаковывать объекты в несколько переменных. Это делает ваш код чище и легче для чтения. Вот простое руководство по пониманию и использованию деструктуризации в Kotlin.
Статья: https://apptractor.ru/info/articles/destrukturizatsiya-v-kotlin-s-primerami.html
Платформа: Android
Создание XCFramework из SPM пакета
Как-то нам в голову пришла мысль подключать зависимости в виде собранных библиотек и тем самым не тратить время на пересборку редко изменяемых зависимостей. В данной статье рассмотрим, как создавать XCFramework из SPM пакета.
Статья: https://habr.com/ru/companies/psb/articles/836566/
Платформа: iOS
Как-то нам в голову пришла мысль подключать зависимости в виде собранных библиотек и тем самым не тратить время на пересборку редко изменяемых зависимостей. В данной статье рассмотрим, как создавать XCFramework из SPM пакета.
Статья: https://habr.com/ru/companies/psb/articles/836566/
Платформа: iOS
STTextView - замена TextView для macOS и iOS с номерами строк, показом невидимых символов, настраиваемыми цветами и шрифтами, поиском и заменой, проверкой правописания и грамматики, плагинами и многим другим. Целью этого проекта является создание переиспользуемого компонента, заменяющего NSTextView/UITextView и использующего фреймворк TextKit 2. Компонент в основном разрабатывается для нужд Swift Studio в качестве редактора исходного кода.
STTextView на GitHub: https://github.com/krzyzanowskim/STTextView
Платформа: iOS
⭐️: 980
STTextView на GitHub: https://github.com/krzyzanowskim/STTextView
Платформа: iOS
⭐️: 980
Мечтают ли Андроиды о нейропроцессорных модулях? Перенос модели TensorFlow Lite в мобильное приложение
Современные ARM-процессоры в мобильных телефонах содержат NPU для работы с нейросетями. Возможно, до сих пор это наименее используемая часть аппаратного обеспечения в вашем мобильнике. Поэтому никакая клиент-серверная архитектура в данном случае не нужна, в финале нашей разработки машинное обучение будет идти на конечном устройстве (бонус - никто с серверной стороны не сможет посмеяться над ошибками пользователя). Но на промежуточном этапе придется использовать модель, созданную на десктопе. Сегодня этим и займемся.
Статья: https://habr.com/ru/articles/837102/
Платформа: Android
Современные ARM-процессоры в мобильных телефонах содержат NPU для работы с нейросетями. Возможно, до сих пор это наименее используемая часть аппаратного обеспечения в вашем мобильнике. Поэтому никакая клиент-серверная архитектура в данном случае не нужна, в финале нашей разработки машинное обучение будет идти на конечном устройстве (бонус - никто с серверной стороны не сможет посмеяться над ошибками пользователя). Но на промежуточном этапе придется использовать модель, созданную на десктопе. Сегодня этим и займемся.
Статья: https://habr.com/ru/articles/837102/
Платформа: Android
❤1
Отслеживание утечек памяти в iOS-приложении со SwiftUI в Runtime
Рано или поздно каждый проект сталкивается с проблемой утечек памяти: растёт её использование, в отдельных сценариях приложение ведёт себя странно или вовсе аварийно завершается. Начинается долгий и мучительный поиск причин утечки и отладка кода.
В нашем проекте ставка сделана на использование SwiftUI, что затрудняет решение задачи: из-за декларативности подхода и отсутствия явно выраженного жизненного цикла в UI, обнаружить причину утечки памяти сложнее.
Статья: https://habr.com/ru/companies/banki/articles/836924/
Платформа: iOS
Рано или поздно каждый проект сталкивается с проблемой утечек памяти: растёт её использование, в отдельных сценариях приложение ведёт себя странно или вовсе аварийно завершается. Начинается долгий и мучительный поиск причин утечки и отладка кода.
В нашем проекте ставка сделана на использование SwiftUI, что затрудняет решение задачи: из-за декларативности подхода и отсутствия явно выраженного жизненного цикла в UI, обнаружить причину утечки памяти сложнее.
Статья: https://habr.com/ru/companies/banki/articles/836924/
Платформа: iOS
Flutter против React Native — тест производительности
Когда речь заходит о разработке мобильных приложений, выбор между Flutter и React Native часто упирается в соображения производительности. Хотя у обоих фреймворков есть свои сторонники, для многих из нас важны реальные результаты бенчмарков.
Однако существует очень мало сравнительных бенчмарков для Flutter и React Native, да и те довольно старые. Поэтому вот тщательное сравнение текущих версий Flutter и React Native с точки зрения размера приложений, использования памяти и процессора в текущих версиях. Результаты получились, мягко говоря, интересными и удивительными.
Статья: https://apptractor.ru/info/analytics/flutter-protiv-react-native-test-proizvoditelnosti.html
Платформа: кроссплатформа
Когда речь заходит о разработке мобильных приложений, выбор между Flutter и React Native часто упирается в соображения производительности. Хотя у обоих фреймворков есть свои сторонники, для многих из нас важны реальные результаты бенчмарков.
Однако существует очень мало сравнительных бенчмарков для Flutter и React Native, да и те довольно старые. Поэтому вот тщательное сравнение текущих версий Flutter и React Native с точки зрения размера приложений, использования памяти и процессора в текущих версиях. Результаты получились, мягко говоря, интересными и удивительными.
Статья: https://apptractor.ru/info/analytics/flutter-protiv-react-native-test-proizvoditelnosti.html
Платформа: кроссплатформа
🔥3❤1
OTP Helper - приложение с открытым исходным кодом, которое позволяет автоматически копировать OTP и коды из SMS и уведомлений, читая все ваши уведомления. Приложение работает полностью автономно и без доступа к интернету. Поэтому, по идее, ваши данные не покидают устройство. Как работает: приложение устанавливает прослушиватель уведомлений и читает все уведомления, которые отправляются любыми приложениями. Это позволяет приложению обнаруживать коды также из электронной почты и, возможно, из любого другого приложения, которое отправляет уведомления. Когда уведомление отправляется, OTP Helper создает одну строку из всего текста в уведомлении, а затем проверяет, следует ли ее игнорировать. Если она не игнорируется, то сопоставляется с регулярным выражением для обнаружения кода. Затем приложение берет извлеченный код и действует в соответствии с настройками.
OTP Helper на GitHub: https://github.com/jd1378/otphelper
Платформа: Android
⭐️: 391
OTP Helper на GitHub: https://github.com/jd1378/otphelper
Платформа: Android
⭐️: 391
❤1
Модульное тестирование с помощью JUnit в Android
В этой статье я расскажу о том, что такое модульное тестирование, зачем мы тестируем код, как автоматизировать тесты с помощью JUnit и о многом другом.
Статья: https://nuancesprog.ru/p/21014/
Платформа: Android
В этой статье я расскажу о том, что такое модульное тестирование, зачем мы тестируем код, как автоматизировать тесты с помощью JUnit и о многом другом.
Статья: https://nuancesprog.ru/p/21014/
Платформа: Android
NOP::Nuances of programming
Модульное тестирование с помощью JUnit в Android
Тестирование — неотъемлемая часть полноценной разработки программного обеспечения. Сегодня рассмотрим фреймворк JUnit, а также функции и правила, которые помогут провести тесты Android-продукта на достойном уровне.
Concurrency шаг за шагом — сетевой запрос
Разбираемся шаг за шагом как сделать сетевой запрос для загрузки картинки в Swift Concurrency.
Статья: https://apptractor.ru/info/articles/concurrency-shag-za-shagom-setevoy-zapros.html
Платформа: iOS
Разбираемся шаг за шагом как сделать сетевой запрос для загрузки картинки в Swift Concurrency.
Статья: https://apptractor.ru/info/articles/concurrency-shag-za-shagom-setevoy-zapros.html
Платформа: iOS
❤3
Swift MMIO - это пакет с открытым исходным кодом для определения и работы с отображаемыми на память вводом/выводом непосредственно в Swift.
Swift MMIO позволяет легко определять регистры непосредственно в исходном коде Swift и работать с ними безопасным и эргономичным способом.
Memory-mapped I/O (MMIO, память с отображением на ввод-вывод) — это метод взаимодействия процессора с периферийными устройствами, такими как жесткие диски, видеокарты и сетевые адаптеры, при котором устройства ввода-вывода отображаются в адресное пространство оперативной памяти. Это означает, что для доступа к регистрам периферийного устройства используются обычные команды работы с памятью, а не специальные инструкции ввода-вывода.
Swift MMIO на GitHub: https://github.com/apple/swift-mmio
Платформа: Swift/iOS
⭐️: 197
Swift MMIO позволяет легко определять регистры непосредственно в исходном коде Swift и работать с ними безопасным и эргономичным способом.
Memory-mapped I/O (MMIO, память с отображением на ввод-вывод) — это метод взаимодействия процессора с периферийными устройствами, такими как жесткие диски, видеокарты и сетевые адаптеры, при котором устройства ввода-вывода отображаются в адресное пространство оперативной памяти. Это означает, что для доступа к регистрам периферийного устройства используются обычные команды работы с памятью, а не специальные инструкции ввода-вывода.
Swift MMIO на GitHub: https://github.com/apple/swift-mmio
Платформа: Swift/iOS
⭐️: 197
От Cocoapods к Tuist+SPM быстрыми шагами
Не так давно прогремела новость, что Cocoapods переходит в режим поддержки. В связи с этим встал вопрос, что дальше. В начале мы склонялись к чисто Swift Package Manager, но потом пришло понимание, что неплохо было бы уйти от конфликтов в project файле и сделать задел на модульность. В этой статье мы пройдем от нашего старого приложения к новому и закончим там, где останется перенести исходный код и все заработает.
Статья: https://habr.com/ru/articles/837456/
Платформа: iOS
Не так давно прогремела новость, что Cocoapods переходит в режим поддержки. В связи с этим встал вопрос, что дальше. В начале мы склонялись к чисто Swift Package Manager, но потом пришло понимание, что неплохо было бы уйти от конфликтов в project файле и сделать задел на модульность. В этой статье мы пройдем от нашего старого приложения к новому и закончим там, где останется перенести исходный код и все заработает.
Статья: https://habr.com/ru/articles/837456/
Платформа: iOS
Хабр
От Cocoapods к Tuist+SPM быстрыми шагами
Не так давно прогремела новость , что Cocoapods переходит в режим поддержки. В связи с этим встал вопрос, что дальше. В начале мы склонялись к чисто Swift Package Manager, но потом пришло понимание,...
lazy-grid-demo.webp
3.9 MB
Reorderable - это простая библиотека, которая позволяет перестраивать элементы в LazyColumn, LazyRow, LazyVerticalGrid, LazyHorizontalGrid, LazyVerticalStaggeredGrid и LazyHorizontalStaggeredGrid, а также Column и Row в Jetpack Compose и Compose Multiplatform с помощью перетаскивания. Поддерживает Compose Multiplatform (Android, iOS, Desktop/JVM, Wasm, JS), элементы любого размера, немедленное перетаскивание или длительное нажатие для перетаскивания, скролл при достижении границ экрана, анимацию движения. и т.п.
Reorderable на GitHub: https://github.com/Calvin-LL/Reorderable
Платформа: Android
⭐️: 392
Reorderable на GitHub: https://github.com/Calvin-LL/Reorderable
Платформа: Android
⭐️: 392
👍2
Видео и подкасты за неделю @AppFiles
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
#ios #android #mobile #video
•
(iOS En) SwiftUI App Theme Switcher - iOS 17 & 18•
(iOS En) SwiftUI Task Modifier Lifecycle Handling•
(iOS En) MeshGradients in iOS 18 and Xcode 15•
(iOS En) Floating Tab Bar - iOS 17 & 18•
(And Ru) Фантастические баги: как их ловить и править•
(And En) Fragments in Compose•
(And En) How to Show Snackbars From ANY Place In Your Compose App•
(And En) How to Render PDFs on Android in Jetpack Compose (+ Search Function!)•
(And En) Going fast with Kotlin•
(And En) From Code to Streams•
(And En) Dynamic Exploration of Static Analysis with Compose•
(And En) Applying the Decorator Pattern in Kotlin•
(Crs Ru) Почему вам стоит учить/использовать Kotlin Multiplatform•
(Crs En) The rollercoaster of releasing an Android, iOS, and macOS app with KMP•
(Crs En) Using C & native platforms in Kotlin: Building a multi-platform advanced library•
(Crs En) Mastering Concurrency: End to End Stress Testing with Kotlin Multiplatform•
(Crs En) React Native MacOS App Tutorial – Book Management System•
(Dev Ru) Задача на логику из собеседования в Amazon•
(Dev Ru) Ozon Tech Community TeamLead Meetup•
(Dev Ru) Как успевать больше, оставаясь эффективным, и не выгореть#ios #android #mobile #video
ArtMaker - это гибкая и настраиваемая библиотека, которая позволяет пользователям рисовать на экране все, что они захотят. Полностью построена на Jetpack Compose. Она позволяет рисовать через Canvas, делиться нарисованным Bitmap или программно раскрывать Bitmap для использования в вызывающем приложении.
ArtMaker на GitHub: https://github.com/Fbada006/ArtMaker
Платформа: Android
⭐️: 10
ArtMaker на GitHub: https://github.com/Fbada006/ArtMaker
Платформа: Android
⭐️: 10
👍1
Задачи с собеседований: Leetcode — Является ли число палиндромом
Дано целое число x, верните true, если x является палиндром (читается одинаково слева на право и с право на лево) и false в противном случае.
Я добился 99% по скорости, но как уменьшить потреблением памяти (даже в ущерб быстродействию) вообще непонятно. Вполне допускаю, что это просто особенность реализации алгоритма на Swift. Если кто знает - подскажите.
Статья: https://apptractor.ru/develop/coding/chislo-palindrom.html
Платформа: алгоритмы
Дано целое число x, верните true, если x является палиндром (читается одинаково слева на право и с право на лево) и false в противном случае.
Я добился 99% по скорости, но как уменьшить потреблением памяти (даже в ущерб быстродействию) вообще непонятно. Вполне допускаю, что это просто особенность реализации алгоритма на Swift. Если кто знает - подскажите.
Статья: https://apptractor.ru/develop/coding/chislo-palindrom.html
Платформа: алгоритмы
👍2🤡1
This media is not supported in your browser
VIEW IN TELEGRAM
6 причин не использовать Server Driven UI
Мой главный посыл в этой статье - избегайте использования Server-Driven UI, насколько это возможно (если только команда разработчиков и руководство не разработают хороший конвейер для решения всех проблем). SDUI может сделать распределение кода и ответственности беспорядочным и трудноорганизуемым, даже если все находятся на одной волне. Это решение также может лишить вас гибкости в отношении новых решений в области дизайна и функциональности.
Статья: https://apptractor.ru/info/articles/server-driven-ui-6-prichin-ne-ispolzovat-ego.html
Платформа: архитектура
Мой главный посыл в этой статье - избегайте использования Server-Driven UI, насколько это возможно (если только команда разработчиков и руководство не разработают хороший конвейер для решения всех проблем). SDUI может сделать распределение кода и ответственности беспорядочным и трудноорганизуемым, даже если все находятся на одной волне. Это решение также может лишить вас гибкости в отношении новых решений в области дизайна и функциональности.
Статья: https://apptractor.ru/info/articles/server-driven-ui-6-prichin-ne-ispolzovat-ego.html
Платформа: архитектура
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Settings iOS - учебное приложение на SwiftUI, воспроизводящее стандартные Настройки в iOS.
Settings iOS на GitHub: https://github.com/zhrispineda/Settings-iOS
Платформа: iOS
⭐️: 14
Settings iOS на GitHub: https://github.com/zhrispineda/Settings-iOS
Платформа: iOS
⭐️: 14