Видео и подкасты за неделю на @AppFiles
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
#ios #android #mobile #video
•
(iOS Ru) Как устроена библиотека AppMetrica•
(iOS Ru) Здесь куют Metal•
(iOS Ru) Как iOS-разработчику выжить на проекте с KMP?•
(iOS En) Convert a SwiftUI view to an image•
(iOS En) Translation API•
(iOS En) Accessibility - The clock is ticking•
(iOS En) SwiftUI Bottom Sheet like Apple Music App•
(And Ru) Android cookbook: готовим WebView правильно•
(And Ru) Kotlin Coroutines. Устройство и возможности использования•
(And Ru) Фреш на полке, фреш в стеке•
(And En) More frequent Android SDK releases, and a look into updates on Android•
(And En) Navigation In Multi-Module Android Apps•
(And En) The Ultimate Beginner's Roadmap to Android App Architecture•
(And En) Dangerous Minds: How we're getting developer education wrong•
(Dev Ru) От натива до SDUI через гибрид•
(Dev Ru) Карьера мобильного разработчика 2024•
(Dev Ru) Разработка в робототехнике — Автоматизация, Автопилоты•
(Dev En) Google Cloud Digital Leader Certification Course 2024#ios #android #mobile #video
Задачи с собеседований: Leetcode — Наибольший общий префикс
Напишите функцию для поиска самой длинной строки с общим префиксом среди массива строк.
Если общего префикса нет, верните пустую строку.
Пример:
Ввод:
Вывод:
Пример:
Вход:
Выходные данные:
Пояснения: среди входных строк нет общего префикса.
Статья: https://apptractor.ru/develop/coding/zadachi-s-sobesedovaniy-leetcode-naibolshiy-obschiy-prefiks.html
Платформа: программирование
Напишите функцию для поиска самой длинной строки с общим префиксом среди массива строк.
Если общего префикса нет, верните пустую строку.
Пример:
Ввод:
strs = [«flower»,»flow»,»flight»]Вывод:
«fl»Пример:
Вход:
strs = [«dog»,»racecar»,»car»]Выходные данные:
«»Пояснения: среди входных строк нет общего префикса.
Статья: https://apptractor.ru/develop/coding/zadachi-s-sobesedovaniy-leetcode-naibolshiy-obschiy-prefiks.html
Платформа: программирование
👍3
FilmSimulator - это кроссплатформенное мобильное приложение, разработанное с использованием Kotlin Multiplatform и Compose UI Multiplatform. Оно работает на Android и iOS и позволяет пользователям применять различные LUT (Look-Up Tables) к своим изображениям, создавая уникальную эстетику, напоминающую классические стили кино. Технологический стек: MVVM, Compose UI, Material3, Compose Resources, FFMPEG-Kit, SQLDelight, Ktor, Voyager Navigation, Koin DI, Peekaboo Image Picker, Okio и т.д.
FilmSimulator на GitHub: https://github.com/YahiaAngelo/Film-Simulator
Платформа: Android/кроссплатформа
⭐️: 28
FilmSimulator на GitHub: https://github.com/YahiaAngelo/Film-Simulator
Платформа: Android/кроссплатформа
⭐️: 28
❤1
Красота системы типов Kotlin
С Any в качестве верхнего типа, Nothing в качестве нижнего типа и Optional в стороне, я надеюсь, что вы так же найдете систему типов Kotlin приятной и красивой.
Статья: https://apptractor.ru/info/articles/krasota-sistemy-tipov-kotlin.html
Платформа: Android
С Any в качестве верхнего типа, Nothing в качестве нижнего типа и Optional в стороне, я надеюсь, что вы так же найдете систему типов Kotlin приятной и красивой.
Статья: https://apptractor.ru/info/articles/krasota-sistemy-tipov-kotlin.html
Платформа: Android
👍3🥴2
Малоизвестные фичи SwiftUI
Я уже 2 месяца прохожу обучение в онлайн‑школе и у нас на этой неделе был открытый урок, нужно было подготовить доклад на тему «Малоизвестные фичи или особенности языка Swift»
Так вот — я решила погуглить этот вопрос, подготовилась, написала код. Но когда дело дошло до самого выступления, оказалось, что говорить ртом — это не так‑то и просто. Да и в целом выступать, даже в Zoom.
Тем не менее, поделюсь с вами маленькими фишечками, которые я нашла. Уровень легкий, в отличие от меня там ребята подготовили нормальные доклады про SPM и пр. Я же решила начать с простых вещей, которые, тем не менее, мне были неизвестны. Надеюсь кому‑то тоже окажется полезным.
Статья: https://habr.com/ru/articles/855484/
Платформа: iOS
Я уже 2 месяца прохожу обучение в онлайн‑школе и у нас на этой неделе был открытый урок, нужно было подготовить доклад на тему «Малоизвестные фичи или особенности языка Swift»
Так вот — я решила погуглить этот вопрос, подготовилась, написала код. Но когда дело дошло до самого выступления, оказалось, что говорить ртом — это не так‑то и просто. Да и в целом выступать, даже в Zoom.
Тем не менее, поделюсь с вами маленькими фишечками, которые я нашла. Уровень легкий, в отличие от меня там ребята подготовили нормальные доклады про SPM и пр. Я же решила начать с простых вещей, которые, тем не менее, мне были неизвестны. Надеюсь кому‑то тоже окажется полезным.
Статья: https://habr.com/ru/articles/855484/
Платформа: iOS
👍1
Внедрение электронной цифровой подписи в мобильное приложение на Android
Сегодня мы хотим поделиться решением интересной и новой для нас задачи: нужно встроить поддержу ЭЦП в мобильное приложение заказчика.
Статья: https://habr.com/ru/companies/ppr/articles/855314/
Платформа: Android
Сегодня мы хотим поделиться решением интересной и новой для нас задачи: нужно встроить поддержу ЭЦП в мобильное приложение заказчика.
Статья: https://habr.com/ru/companies/ppr/articles/855314/
Платформа: Android
Хабр
Внедрение электронной цифровой подписи в мобильное приложение на Android
Привет, Хабр! Сегодня мы хотим поделиться решением интересной и новой для нас задачи: нужно встроить поддержу ЭЦП в мобильное приложение заказчика. Основные принципы и тезисы Электронная цифровая...
👍2❤1
Как я писал суперкастомизированное Android-приложение в 2024 году
В начале года у меня появилась прикольная идея: сделать Android-приложение, которое будет показывать анимации для алгоритмов сортировки.
Статья: https://habr.com/ru/companies/ruvds/articles/851256/
Платформа: Android
В начале года у меня появилась прикольная идея: сделать Android-приложение, которое будет показывать анимации для алгоритмов сортировки.
Статья: https://habr.com/ru/companies/ruvds/articles/851256/
Платформа: Android
👍5
Ultraviolence - декларативный фреймворк для рендеринга Metal в Swift.
Metal - невероятно мощный API, но имеет репутацию сложного в работе. В основном потому, что это низкоуровневый API, требующий кучи шаблонного кода для того, чтобы запустить что-то базовое. С другой стороны, такие фреймворки, как SceneKit и RealityKit, предлагают высокоуровневые абстракции, которые упрощают 3D-рендеринг, но могут быть ограничены, когда вам нужно больше контроля.
Ultraviolence (пока это только рабочее название) будет стремиться найти баланс между этими крайностями. Он предоставит декларативный API, вдохновленный SwiftUI, который будет прост в использовании, но при этом даст вам низкоуровневый контроль, когда это необходимо.
Ultraviolence на GitHub: https://github.com/schwa/Ultraviolence
Платформа: iOS
⭐️: 22
Metal - невероятно мощный API, но имеет репутацию сложного в работе. В основном потому, что это низкоуровневый API, требующий кучи шаблонного кода для того, чтобы запустить что-то базовое. С другой стороны, такие фреймворки, как SceneKit и RealityKit, предлагают высокоуровневые абстракции, которые упрощают 3D-рендеринг, но могут быть ограничены, когда вам нужно больше контроля.
Ultraviolence (пока это только рабочее название) будет стремиться найти баланс между этими крайностями. Он предоставит декларативный API, вдохновленный SwiftUI, который будет прост в использовании, но при этом даст вам низкоуровневый контроль, когда это необходимо.
Ultraviolence на GitHub: https://github.com/schwa/Ultraviolence
Платформа: iOS
⭐️: 22
❤1
Диалог — часть навигации или нет?
Недавно я начал разработку собственной библиотеки для UI-навигации на Kotlin Multiplatform. Создать решение, которое бы удовлетворяло все творческие задумки дизайнеров и продуктовых менеджеров, оказалось задачей непростой. Поэтому я решил делиться концепцией и функциональными возможностями библиотеки еще на стадии разработки, чтобы получать обратную связь от коллег-разработчиков.
Одной из обсуждаемых тем стало: «Следует ли диалог отображаться через навигацию и сохраняться как часть истории пользовательской навигации?» Мой ответ: «Это зависит от того, что именно мы подразумеваем под диалогом».
Меня зовут Кирилл Розов, и в этой статье я расскажу, что я понимаю под диалогом в Material Design и как, на мой взгляд, стоит работать с ними в системе навигации.
Статья: https://habr.com/ru/articles/854988/
Платформа: Android
Недавно я начал разработку собственной библиотеки для UI-навигации на Kotlin Multiplatform. Создать решение, которое бы удовлетворяло все творческие задумки дизайнеров и продуктовых менеджеров, оказалось задачей непростой. Поэтому я решил делиться концепцией и функциональными возможностями библиотеки еще на стадии разработки, чтобы получать обратную связь от коллег-разработчиков.
Одной из обсуждаемых тем стало: «Следует ли диалог отображаться через навигацию и сохраняться как часть истории пользовательской навигации?» Мой ответ: «Это зависит от того, что именно мы подразумеваем под диалогом».
Меня зовут Кирилл Розов, и в этой статье я расскажу, что я понимаю под диалогом в Material Design и как, на мой взгляд, стоит работать с ними в системе навигации.
Статья: https://habr.com/ru/articles/854988/
Платформа: Android
👍1
Как использовать URLSession с Async/Await для сетевых запросов в Swift
URLSession позволяет выполнять сетевые запросы и становится еще более мощным благодаря API async/await. Вы можете запросить данные с целевого URL и спарсить их в декодированную структуру перед отображением в представлении.
Популярные фреймворки, такие как Alamofire, стремятся упростить выполнение запросов, но для многих приложений можно обойтись и без сторонних решений. В этой статье мы расскажем об основах выполнения API-запросов и декодирования JSON-данных с помощью Swift Concurrency.
Статья: https://apptractor.ru/info/articles/kak-ispolzovat-urlsession-s-async-await-dlya-setevyh-zaprosov-v-swift.html
Платформа: iOS
URLSession позволяет выполнять сетевые запросы и становится еще более мощным благодаря API async/await. Вы можете запросить данные с целевого URL и спарсить их в декодированную структуру перед отображением в представлении.
Популярные фреймворки, такие как Alamofire, стремятся упростить выполнение запросов, но для многих приложений можно обойтись и без сторонних решений. В этой статье мы расскажем об основах выполнения API-запросов и декодирования JSON-данных с помощью Swift Concurrency.
Статья: https://apptractor.ru/info/articles/kak-ispolzovat-urlsession-s-async-await-dlya-setevyh-zaprosov-v-swift.html
Платформа: iOS
Talaiot - это расширяемая библиотека, предназначенная для команд, использующих систему сборки Gradle. Она записывает продолжительность сборок/задач, помогая понять проблемы и обнаружить узкие места. Для каждой записи она добавляет дополнительную информацию, определяемую стандартными или пользовательскими метриками.
Talaiot совместим с различными системами, такими как InfluxDb, Elasticsearch или RethinkDb. Для работы с Talaiot необходимо использовать плагины. Вы можете использовать стандартные, включающие всю функциональность, или, если у вас есть специфические требования, создать свой плагин.
Talaiot на GitHub: https://github.com/cdsap/Talaiot
Платформа: Android
⭐️: 588
Talaiot совместим с различными системами, такими как InfluxDb, Elasticsearch или RethinkDb. Для работы с Talaiot необходимо использовать плагины. Вы можете использовать стандартные, включающие всю функциональность, или, если у вас есть специфические требования, создать свой плагин.
Talaiot на GitHub: https://github.com/cdsap/Talaiot
Платформа: Android
⭐️: 588
👍2
Поющий молится дважды или пишем приложение в помощь хористу
Как обычно со мной бывает, работа скорее представляет собой что-то вроде proof of concept. Несмотря на достаточное количество автоматизации, здесь по-прежнему требуется много ручного вмешательства (краудсорсинг?), а также в источнике представлены далеко не все страницы оригинальной книги, например, фрагменты литургии на латинском языке. Так или иначе, теперь это хотя бы можно скачать и пощупать, а также покопаться в исходниках при желании. Конструктивная критика горячо приветствуется.
Статья: https://habr.com/ru/articles/856330/
Платформа: Android
Как обычно со мной бывает, работа скорее представляет собой что-то вроде proof of concept. Несмотря на достаточное количество автоматизации, здесь по-прежнему требуется много ручного вмешательства (краудсорсинг?), а также в источнике представлены далеко не все страницы оригинальной книги, например, фрагменты литургии на латинском языке. Так или иначе, теперь это хотя бы можно скачать и пощупать, а также покопаться в исходниках при желании. Конструктивная критика горячо приветствуется.
Статья: https://habr.com/ru/articles/856330/
Платформа: Android
👍2
Лучшая работа с Android Studio: 5 советов
В этой статье вы узнаете о некоторых из самых полезных и продуктивных фич в Android Studio.
Статья: https://apptractor.ru/develop/ide/luchshaya-rabota-s-android-studio-5-sovetov.html
Платформа: Android
В этой статье вы узнаете о некоторых из самых полезных и продуктивных фич в Android Studio.
Статья: https://apptractor.ru/develop/ide/luchshaya-rabota-s-android-studio-5-sovetov.html
Платформа: Android
👍2
17.webm
227.3 KB
Искрящаяся переливающаяся кнопка с помощью Metal и SwiftUI
Для эффектов свечения и пульсации мы изучим и применим шейдерные эффекты SwiftUI. Когда облако частиц будет реализовано, мы копнем немного глубже и создадим вычислительный конвейер с помощью Metal.
Статья: https://apptractor.ru/info/articles/iskryaschayasya-perelivayuschayasya-knopka-s-pomoschyu-metal-i-swiftui.html
Платформа: iOS
Для эффектов свечения и пульсации мы изучим и применим шейдерные эффекты SwiftUI. Когда облако частиц будет реализовано, мы копнем немного глубже и создадим вычислительный конвейер с помощью Metal.
Статья: https://apptractor.ru/info/articles/iskryaschayasya-perelivayuschayasya-knopka-s-pomoschyu-metal-i-swiftui.html
Платформа: iOS
open_floating_popup.gif
21.9 MB
LNPopupUI - это библиотека SwiftUI для показа представлений в виде попапов, как в приложениях Apple Music и Podcasts.
Библиотека расширяет SwiftUI View новой функциональностью для представления всплывающих окон с содержимым, а также для их настройки и установки информации, такой как заголовок всплывающей панели, изображение и элементы кнопок панели. При представлении всплывающей панели она автоматически адаптируется к представлению, на котором она была показана, для обеспечения наилучшего внешнего вида.
LNPopupUI на GitHub: https://github.com/LeoNatan/LNPopupUI
Платформа: iOS
⭐️: 359
Библиотека расширяет SwiftUI View новой функциональностью для представления всплывающих окон с содержимым, а также для их настройки и установки информации, такой как заголовок всплывающей панели, изображение и элементы кнопок панели. При представлении всплывающей панели она автоматически адаптируется к представлению, на котором она была показана, для обеспечения наилучшего внешнего вида.
LNPopupUI на GitHub: https://github.com/LeoNatan/LNPopupUI
Платформа: iOS
⭐️: 359
Управление памятью в ассемблере для Apple Silicon
В статье мы познакомимся с языком ассемблера для Apple Silicon (ARM64). Рассмотрим основные регистры, запись данных из регистров в память и обратно. Затронем также и базовые навыки работы с LLDB.
Статья: https://habr.com/ru/articles/852874/
Платформа: iOS
В статье мы познакомимся с языком ассемблера для Apple Silicon (ARM64). Рассмотрим основные регистры, запись данных из регистров в память и обратно. Затронем также и базовые навыки работы с LLDB.
Статья: https://habr.com/ru/articles/852874/
Платформа: iOS
👍2🤯1
Обзор решений описания и обновления state экрана в Сompose
В этой статье я предлагаю рассмотреть, как в Compose можно описать, обновить и масштабировать состояние экрана с помощью паттерна MVI.
Статья: https://habr.com/ru/companies/sberbank/articles/856544/
Платформа: Android
В этой статье я предлагаю рассмотреть, как в Compose можно описать, обновить и масштабировать состояние экрана с помощью паттерна MVI.
Статья: https://habr.com/ru/companies/sberbank/articles/856544/
Платформа: Android
👍1
Видео и подкасты за неделю на @AppFiles
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
#ios #android #mobile #video
•
(iOS Ru) SDK и BDUI в Яндекс Пэй и Яндекс Банке•
(iOS En) Master Xcode 16: Essential Navigation Shortcuts for Faster Coding•
(iOS En) Custom TextField Menu Actions•
(iOS En) Optional View Modifiers•
(And Ru) 5 СЕКРЕТНЫХ преимуществ Android эмулятора которые вы не знали!•
(And En) Now in Android: 111 - Android API level and schedule updates, Gemini in Android Studio, Google Play•
(And En) Subtyping Composables•
(And En) How Compose Compiler Plugin Works•
(Crs En) Unpacking Compose Multiplatform Accessibility•
(Dev Ru) Surf QA Meetup: доклады о моках в автотестах, человеческом факторе QA и работе Device Holder•
(Dev Ru) ОС Аврора 5 глазами мобильного разработчика. Разработка и функциональность•
(Dev Ru) Мобильная ферма: тесты мобильных приложений без телефона и эмулятора•
(Dev Ru) AIOps — grafana, observability, aiops, ai•
(Dev En) Build and Deploy a RAG Chatbot•
(Dev En) AI Foundations Course – Python, Machine Learning, Deep Learning, Data Science#ios #android #mobile #video
👍1
Lumolight - это приложение-фонарик с открытым исходным кодом, которое может работать как экраном, так и с задней вспышкой. Приложение разработано на основе системы дизайна Material You, поддерживает как светлые, так и темные темы, а также поддерживает динамическое тематическое оформление и разные настройки для свечения.
Lumolight на GitHub: https://github.com/BitMavrick/Lumolight
Платформа: Android
⭐️: 9
Lumolight на GitHub: https://github.com/BitMavrick/Lumolight
Платформа: Android
⭐️: 9
App Intents: новые возможности для разработчиков в iOS 18
Эта статья поможет узнать, что такое App Intents и как их использовать для создания сложных сценариев, которые расширят возможности вашего приложения. А еще я расскажу об обновлениях фреймворка App Intents, представленных на WWDC24.
Статья: https://habr.com/ru/companies/kts/articles/857078/
Платформа: iOS
Эта статья поможет узнать, что такое App Intents и как их использовать для создания сложных сценариев, которые расширят возможности вашего приложения. А еще я расскажу об обновлениях фреймворка App Intents, представленных на WWDC24.
Статья: https://habr.com/ru/companies/kts/articles/857078/
Платформа: iOS
Обзор решений описания и обновления state экрана в Сompose
В этой статье я предлагаю рассмотреть, как в Compose можно описать, обновить и масштабировать состояние экрана с помощью паттерна MVI.
Статья: https://habr.com/ru/companies/sberbank/articles/856544/
Платформа: Android
В этой статье я предлагаю рассмотреть, как в Compose можно описать, обновить и масштабировать состояние экрана с помощью паттерна MVI.
Статья: https://habr.com/ru/companies/sberbank/articles/856544/
Платформа: Android