Видео и подкасты за неделю @AppFiles
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
#ios #android #mobile #video
•
(iOS En) Let's Create Chips UI With iOS 18 APIs•
(iOS En) So, Let's create a Splash Screen | SwiftUI•
(iOS En) Discover 3 new features of Xcode 16•
(iOS En) SwiftData Previews: PreviewModifier in SwiftUI (iOS 18)•
(iOS En) Color Mixing in iOS 18•
(iOS En) Enhance App UI Animations with these 4 Modifiers•
(And Ru) Заработок на Open Source. Decompose. Будущее KMP. Аркадий Иванов•
(And Ru) Бессмертное приложение•
(And Ru) Укрощаем UDF state-based архитектуры. Реальные кейсы в больших приложениях•
(And En) Complement your media editing pipeline with Jetpack Media3•
(And En) Android 15 Launch, a special guest spotlight, and more - Google Developer News September 2024•
(And En) The ONLY Correct Way to Load Initial Data In Your Android App?•
(And En) Save User Credentials With the Google Credential Manager - Android Studio Tutorial•
(And En) Overcoming Unsecurities in WebViews•
(And En) Beyond The Success Of Kotlin•
(Crs Ru) Flutter Dev Podcast #47: CrossConf Awards•
(Dev Ru) Грейд в IT•
(Dev Ru) Как устроен Yandex Mobile Ads SDK•
(Dev Ru) Паттерны SDUI•
(Dev Ru) Почему мы продолжаем срывать сроки проектов•
(Dev Ru) Какая JVM лучшее всех? Java, JVM Architecture, GraalVM, HotSpot JVM•
(Dev En) How Optimizations made Mario 64 SLOWER•
(Dev En) Securing API Servers Course#ios #android #mobile #video
Spotify однажды удалил функцию просмотра и обмена текстами песен из своего бесплатного тарифа только для того, чтобы вернуть ее снова. Автор Rush создал это приложение, чтобы получать, хранить и делиться текстами любимых песен из сервиса Genius, и все это в Material 3. Приложение может искать слова песен (есть автодополнение), скачивать их, шарить, синхронизировать тексты с музыкой. Сделано на Retrofit и OkHttp, ROOM, MVVM, Koin, Fuel и Jsoup для парсинга, Coil.
Rush на GitHub: https://github.com/shub39/Rush
Платформа: Android
⭐️: 227
Rush на GitHub: https://github.com/shub39/Rush
Платформа: Android
⭐️: 227
Готовый UI-компонент свайп-панели c добавлением scrollView и других элементов
ContainerController компонент UI пользовательского интерфейса. Это копия свайп-панели из приложения AppleMaps.
Статья: https://habr.com/ru/articles/844732/
Платформа: iOS
ContainerController компонент UI пользовательского интерфейса. Это копия свайп-панели из приложения AppleMaps.
Статья: https://habr.com/ru/articles/844732/
Платформа: iOS
This media is not supported in your browser
VIEW IN TELEGRAM
Flappy Bird на Си для Android весом APK всего 92 Килобайта
Примерно 14 сентября 2024 года, в дискорд‑канале Raylib я увидел как один парень сделал Flappy Bird на языке C#. Тогда мне стало очень интересно, попробовать давно забытую идею, сделать эту игру на Си, для Android, весом APK меньше 100 Килобайт.
Идея казалась безумной, а также, безуспешной.
Просто представьте, сегодня, когда вес APK достигает по 30–600 Мегабайт, нужно уложиться всего лишь меньше, чем 100 Килобайт. Для чего такие рамки? Это спортивный интерес, получится ли такое? Получилось! Но было совсем не просто.
Статья: https://habr.com/ru/articles/845068/
Платформа: Android
Примерно 14 сентября 2024 года, в дискорд‑канале Raylib я увидел как один парень сделал Flappy Bird на языке C#. Тогда мне стало очень интересно, попробовать давно забытую идею, сделать эту игру на Си, для Android, весом APK меньше 100 Килобайт.
Идея казалась безумной, а также, безуспешной.
Просто представьте, сегодня, когда вес APK достигает по 30–600 Мегабайт, нужно уложиться всего лишь меньше, чем 100 Килобайт. Для чего такие рамки? Это спортивный интерес, получится ли такое? Получилось! Но было совсем не просто.
Статья: https://habr.com/ru/articles/845068/
Платформа: Android
🤮2🔥1
MIDIKit - элегантная и современная обертка CoreMIDI на чистом Swift, поддерживающая MIDI 1.0 и MIDI 2.0.
• Модульный, удобный ввод/вывод
• Автоматическое управление соединениями с конечными точками MIDI и сохранение идентификационных данных
• Сильно типизированные события MIDI с интероперабельностью между MIDI 1.0 и MIDI 2.0
• Автоматическое использование соответствующий Core MIDI API и по умолчанию переход на MIDI 2.0 на платформах, которые его поддерживают
• Поддержка Swift Playgrounds на iPad и macOS
• Полная документация доступна в браузере Xcode Documentation, включая полезные руководства и информацию о начале работы
MIDIKit на GitHub: https://github.com/orchetect/MIDIKit
Платформа: iOS
⭐️: 217
• Модульный, удобный ввод/вывод
• Автоматическое управление соединениями с конечными точками MIDI и сохранение идентификационных данных
• Сильно типизированные события MIDI с интероперабельностью между MIDI 1.0 и MIDI 2.0
• Автоматическое использование соответствующий Core MIDI API и по умолчанию переход на MIDI 2.0 на платформах, которые его поддерживают
• Поддержка Swift Playgrounds на iPad и macOS
• Полная документация доступна в браузере Xcode Documentation, включая полезные руководства и информацию о начале работы
MIDIKit на GitHub: https://github.com/orchetect/MIDIKit
Платформа: iOS
⭐️: 217
👍1
Пишем свой генератор ID для мобильных приложений
Однажды, работая с кодом, я обратил внимание на использование UUID в UI и задумался о его влиянии на производительность. Тесты показали, что собственное решение может быть значительно быстрее стандартной реализации UUID в Java.
В этой статье мы рассмотрим разные подходы к генерации уникальных идентификаторов, сравним их производительность и напишем своё оптимизированное решение для мобильных приложений.
Статья: https://habr.com/ru/companies/wildberries/articles/844104/
Платформа: Android
Однажды, работая с кодом, я обратил внимание на использование UUID в UI и задумался о его влиянии на производительность. Тесты показали, что собственное решение может быть значительно быстрее стандартной реализации UUID в Java.
В этой статье мы рассмотрим разные подходы к генерации уникальных идентификаторов, сравним их производительность и напишем своё оптимизированное решение для мобильных приложений.
Статья: https://habr.com/ru/companies/wildberries/articles/844104/
Платформа: Android
Вы когда-нибудь хотели писать код на C и запускать его на Android? Надоели многомегабайтные пакеты для выполнения самых простых вещей. Raw Ddraw Android - это демонстрация того, как можно создавать собственные APK, собирать, устанавливать и автоматически запускать их примерно за 2 секунды, при этом размер APK составляет около 25 Кб для API 26. API 30 (Android R+) имеет размер 45 Кб для поддержки ARM64 + ARM32.
С этим фреймворком вы получаете демо, в котором есть:
• Создание окна с поддержкой OpenGL ES
• Акселерометр/гироскоп, мультитач
• Клавиатура для ввода
• Возможность хранить файлы ресурсов в вашем APK и читать их с помощью AAssetManager
• Поддержка разрешений для использования таких вещей, как звук
• Прямой доступ к USB-устройствам
Raw Ddraw Android на GitHub: https://github.com/cnlohr/rawdrawandroid
Платформа: Android
⭐️: 3.3K
С этим фреймворком вы получаете демо, в котором есть:
• Создание окна с поддержкой OpenGL ES
• Акселерометр/гироскоп, мультитач
• Клавиатура для ввода
• Возможность хранить файлы ресурсов в вашем APK и читать их с помощью AAssetManager
• Поддержка разрешений для использования таких вещей, как звук
• Прямой доступ к USB-устройствам
Raw Ddraw Android на GitHub: https://github.com/cnlohr/rawdrawandroid
Платформа: Android
⭐️: 3.3K
Создание Convention Plugin-ов на базе Kotlin-классов
На связи Дима Котиков и мы продолжаем разговор о том, как облегчить себе жизнь и уменьшить bolierplate в gradle-файлах. В предыдущих статьях мы сделали отдельный модуль для написания Convention Plugins, провели необходимые настройки и написали несколько Convention Plugin‑ов в «‑.gradle.kts»‑файлах. В этой части мы будем создавать Convention Plugin‑ы на базе Kotlin‑классов.
Статья: https://habr.com/ru/companies/tbank/articles/843786/
Платформа: Android
На связи Дима Котиков и мы продолжаем разговор о том, как облегчить себе жизнь и уменьшить bolierplate в gradle-файлах. В предыдущих статьях мы сделали отдельный модуль для написания Convention Plugins, провели необходимые настройки и написали несколько Convention Plugin‑ов в «‑.gradle.kts»‑файлах. В этой части мы будем создавать Convention Plugin‑ы на базе Kotlin‑классов.
Статья: https://habr.com/ru/companies/tbank/articles/843786/
Платформа: Android
This media is not supported in your browser
VIEW IN TELEGRAM
Создание динамического вытаскиваемого ScrollView с помощью UIKit для SwiftUI
В одном из наших недавних продуктов мы взялись за интересную задачу - переделать вид карты и поиска. Реализованный нами дизайн представляет собой гибридное состояние, в котором карта находится за сворачиваемым списком в bottom sheet, что очень похоже на такие популярные приложения, как Apple Maps и Google Maps! Такой подход создал несколько проблем, особенно если учесть, что нам нужно было создать эту функцию в рамках представления SwiftUI и при этом поддерживать iOS 15. Одной из ключевых трудностей было отсутствие контрола, который теперь доступен в iOS 16+ с помощью presentationDetents.
Статья: https://medium.com/livefront/creating-a-dynamic-draggable-scrollview-with-uikit-for-swiftui-13bd25c2954c
Платформа: iOS
В одном из наших недавних продуктов мы взялись за интересную задачу - переделать вид карты и поиска. Реализованный нами дизайн представляет собой гибридное состояние, в котором карта находится за сворачиваемым списком в bottom sheet, что очень похоже на такие популярные приложения, как Apple Maps и Google Maps! Такой подход создал несколько проблем, особенно если учесть, что нам нужно было создать эту функцию в рамках представления SwiftUI и при этом поддерживать iOS 15. Одной из ключевых трудностей было отсутствие контрола, который теперь доступен в iOS 16+ с помощью presentationDetents.
Статья: https://medium.com/livefront/creating-a-dynamic-draggable-scrollview-with-uikit-for-swiftui-13bd25c2954c
Платформа: iOS
HotReloading - реализация InjectionIII в виде Swift Package с поддержкой Swift, Objective-C и C++. Позволяет сразу видеть и понимать, как работает ваш код. Работает с VSCode.
HotReloading на GitHub: https://github.com/johnno1962/HotReloading
Платформа: iOS
⭐️: 543
HotReloading на GitHub: https://github.com/johnno1962/HotReloading
Платформа: iOS
⭐️: 543
Как делать простые анимированные онбординги в Lottie без After Effects
Меня зовут Михаил Мурзак, я продуктовый дизайнер в Ozon Seller (сайт и приложение продавца).
Время от времени мы делаем анимированные онбординги крупных фич в мобильном приложении и долгое время использовали для этих целей Adobe After Effects с плагином Bodymovin (для экспорта в Lottie), но каждый раз для меня это было мучением, поэтому я решил пересесть на официальный клиент Lottie и написал этот гайд для коллег.
Теперь, когда Adobe не продлевает лицензии, этот гайд стал ещё более актуальным, и я решил опубликовать его тут.
Статья: https://habr.com/ru/companies/ozontech/articles/845696/
Платформа: разработка
Меня зовут Михаил Мурзак, я продуктовый дизайнер в Ozon Seller (сайт и приложение продавца).
Время от времени мы делаем анимированные онбординги крупных фич в мобильном приложении и долгое время использовали для этих целей Adobe After Effects с плагином Bodymovin (для экспорта в Lottie), но каждый раз для меня это было мучением, поэтому я решил пересесть на официальный клиент Lottie и написал этот гайд для коллег.
Теперь, когда Adobe не продлевает лицензии, этот гайд стал ещё более актуальным, и я решил опубликовать его тут.
Статья: https://habr.com/ru/companies/ozontech/articles/845696/
Платформа: разработка
LiveKit - это проект с открытым исходным кодом, обеспечивающий масштабируемую многопользовательскую конференц-связь на основе WebRTC. Он предназначен для предоставления всего необходимого для создания в приложениях возможностей передачи видео-аудио данных в режиме реального времени.
Фичи:
• масштабируемый, распределенный WebRTC SFU (Selective Forwarding Unit)
• созданы для прода, поддерживают JWT аутентификацию
• надежные сетевые и коммуникационные возможности, UDP/TCP/TURN
• простота развертывания: один бинарник, Docker или Kubernetes
• обнаружение дикторов
• одновременное вещание
• сквозная оптимизация
• API для модерации
• сквозное шифрование
• SVC кодеки (VP9, AV1)
• веб-хуки
Есть полнофункциональные SDK для всех платформ, включая Jetpack Compose и SwiftUI, Flutter и React Native.
LiveKit на GitHub: https://github.com/orgs/livekit/repositories
Платформа: разработка
Фичи:
• масштабируемый, распределенный WebRTC SFU (Selective Forwarding Unit)
• созданы для прода, поддерживают JWT аутентификацию
• надежные сетевые и коммуникационные возможности, UDP/TCP/TURN
• простота развертывания: один бинарник, Docker или Kubernetes
• обнаружение дикторов
• одновременное вещание
• сквозная оптимизация
• API для модерации
• сквозное шифрование
• SVC кодеки (VP9, AV1)
• веб-хуки
Есть полнофункциональные SDK для всех платформ, включая Jetpack Compose и SwiftUI, Flutter и React Native.
LiveKit на GitHub: https://github.com/orgs/livekit/repositories
Платформа: разработка
Видео и подкасты за неделю @AppFiles
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
#ios #android #mobile #video
•
(iOS Ru) Ускоряем SwiftUI с Observable•
(iOS Ru) Как укротить виджеты в супераппе?•
(iOS Ru) UICollectionViewLayout с самого начала•
(iOS Ru) UITableView с различными типами ячеек•
(iOS En) Let's Integrate SwiftData CRUD into the Notes App•
(iOS En) SwiftUI - Rotating Characters Loader Tutorial•
(iOS En) Deep Dive into TabView Changes in iOS18•
(iOS En) Let's Make Notes App With Complex Transitions | SwiftData | SwiftUI•
(iOS En) Testing 101: What Are Integration Tests & How to Write Them in Swift•
(iOS En) SwiftUI - Image Presentation Animation Tutorial•
(iOS En) WWDC22: The SwiftUI cookbook for navigation•
(And Ru) Размер имеет значение: как измерить и уменьшить вес Android-приложения•
(And Ru) Установка Android-приложений от доисторических времен до наших дней•
(And En) Room Renovations - Android Conference Talks•
(And En) How to Implement a Custom Swipe to Reveal in Jetpack Compose•
(And En) Keyboard & Focus Management In Jetpack Compose•
(And En) How easy is it to draw on GoogleMaps using Compose?•
(Crs Ru) React Native перевернул игру•
(Crs Ru) Темная сторона изолятов в Dart•
(Dev Ru) Интероп – неизбежность в больших системах: C и C++, JNI, WinAPI•
(Dev Ru) Что делать, если разработчики бесят•
(Dev Ru) Процесс CI/CD в Авито: от комита до релиза•
(Dev Ru) Clean Architecture (чистая архитектура, все для проекта любого размера, принципы, мышление)•
(Dev En) End-to-End Machine Learning Project – AI, MLOps#ios #android #mobile #video
SwiftUI Flow Layout - HFlow и VFlow, аналогичные HStack и VStack. Упорядочивает представления по строкам и соответствующим образом нарезает новые строки, если элементы не помещаются в ограничивающее пространство.
SwiftUI Flow Layout на GitHub: https://github.com/tevelee/SwiftUI-Flow
Платформа: iOS
⭐️: 343
SwiftUI Flow Layout на GitHub: https://github.com/tevelee/SwiftUI-Flow
Платформа: iOS
⭐️: 343
🔥2
Hotwire Native
Hotwire Native - это веб-фреймворк для создания нативных мобильных приложений. Он позволяет разработчикам создавать экраны на HTML и CSS и повторно использовать их на любой платформе. Hotwire Native предоставляет разработчикам полный доступ к базовым SDK и API для iOS и Android сразу после их выхода. Это позволяет небольшим командам создавать высокофункциональные, красивые и устойчивые мобильные приложения без головной боли и сложностей, связанных с традиционной нативной разработкой.
Сайт: https://native.hotwired.dev/
Платформа: кроссплатформа
Hotwire Native - это веб-фреймворк для создания нативных мобильных приложений. Он позволяет разработчикам создавать экраны на HTML и CSS и повторно использовать их на любой платформе. Hotwire Native предоставляет разработчикам полный доступ к базовым SDK и API для iOS и Android сразу после их выхода. Это позволяет небольшим командам создавать высокофункциональные, красивые и устойчивые мобильные приложения без головной боли и сложностей, связанных с традиционной нативной разработкой.
Сайт: https://native.hotwired.dev/
Платформа: кроссплатформа
🤡5
1726400252028198.webm
1.6 MB
Рисуя звезды: рисование с помощью Compose и Canvas
В одно из воскресений мне захотелось заняться чем-то творческим. Мне также хотелось программировать, поэтому я начал с идеи создания загрузочного спиннера с помощью Canvas. Одно за другим, и я создал симпатичную анимацию, которая больше похожа на иллюстрацию, чем на загрузочный спиннер.
В этой и следующей статьях блога я расскажу о том, как я это сделал, и о некоторых вещах, которые я узнал на этом пути. Первая статья посвящена рисованию элементов на холсте, а следующая - анимации.
Статья: https://apptractor.ru/info/articles/risuya-zvezdy-risovanie-s-pomoschyu-compose-i-canvas.html
Платформа: Android
В одно из воскресений мне захотелось заняться чем-то творческим. Мне также хотелось программировать, поэтому я начал с идеи создания загрузочного спиннера с помощью Canvas. Одно за другим, и я создал симпатичную анимацию, которая больше похожа на иллюстрацию, чем на загрузочный спиннер.
В этой и следующей статьях блога я расскажу о том, как я это сделал, и о некоторых вещах, которые я узнал на этом пути. Первая статья посвящена рисованию элементов на холсте, а следующая - анимации.
Статья: https://apptractor.ru/info/articles/risuya-zvezdy-risovanie-s-pomoschyu-compose-i-canvas.html
Платформа: Android
🏆1
YourSpace - приложение для Android с открытым исходным кодом, предназначенное для повышения безопасности семьи благодаря функциям обмена местоположением и общения в режиме реального времени. YourSpace призвано обеспечить душевное спокойствие, гарантируя безопасность ваших близких и способствуя беспрепятственному общению независимо от их местоположения.
YourSpace использует архитектурный паттерн MVVM и Jetpack Compose для декларативного построения современных пользовательских интерфейсов. Кроме того - корутины и Flow, Jetpack Navigation, Retrofit, Google Maps SDK, Fusion Location Provider, DataStore, Room, Firebase, Hilt.
YourSpace на GitHub: https://github.com/canopas/your-space-android
Платформа: Android
⭐️: 39
YourSpace использует архитектурный паттерн MVVM и Jetpack Compose для декларативного построения современных пользовательских интерфейсов. Кроме того - корутины и Flow, Jetpack Navigation, Retrofit, Google Maps SDK, Fusion Location Provider, DataStore, Room, Firebase, Hilt.
YourSpace на GitHub: https://github.com/canopas/your-space-android
Платформа: Android
⭐️: 39