Создание Reddit Recap с помощью Jetpack Compose
Когда мы впервые представили Reddit Recap нашим пользователям в конце 2021 года, он завоевал огромную популярность, и мы знали, что он вернется в 2022 году. И хотя между выпусками прошел всего год, способ создания мобильных приложений в Reddit кардинально изменился, что заставило нас перестроить работу с Recap с нуля, сделав его более ярким, с богатой анимацией и расширенными возможностями шаринга.
Одним из самых значительных изменений стало внедрение Jetpack Compose и нашей архитектуры презентаций на основе композиций. Чтобы полностью использовать нашу реактивную UI-архитектуру, мы решили переписать весь пользовательский интерфейс с нуля на Compose. Мы посчитали, что это стоит того, поскольку Compose позволит нам выразить наш пользовательский интерфейс с помощью простых, многократно используемых компонентов.
Статья: https://apptractor.ru/reddit-recap
Платформа: Android
Когда мы впервые представили Reddit Recap нашим пользователям в конце 2021 года, он завоевал огромную популярность, и мы знали, что он вернется в 2022 году. И хотя между выпусками прошел всего год, способ создания мобильных приложений в Reddit кардинально изменился, что заставило нас перестроить работу с Recap с нуля, сделав его более ярким, с богатой анимацией и расширенными возможностями шаринга.
Одним из самых значительных изменений стало внедрение Jetpack Compose и нашей архитектуры презентаций на основе композиций. Чтобы полностью использовать нашу реактивную UI-архитектуру, мы решили переписать весь пользовательский интерфейс с нуля на Compose. Мы посчитали, что это стоит того, поскольку Compose позволит нам выразить наш пользовательский интерфейс с помощью простых, многократно используемых компонентов.
Статья: https://apptractor.ru/reddit-recap
Платформа: Android
Android User Interface Samples - коллекция фирменных Android-проектов от Google, которые помогут вам понять фичи UI и начать встраивать их в свои приложения.
Android User Interface Samples на GitHub: https://github.com/android/user-interface-samples
Платформа: Android
⭐️: 3.9K
Android User Interface Samples на GitHub: https://github.com/android/user-interface-samples
Платформа: Android
⭐️: 3.9K
Один год инди-разработки
После 12 месяцев работы над своими проектами я решил составить резюме и поделиться своим путешествием и некоторыми уроками, которые я усвоил. Написание моей первой статьи в блоге показалось мне идеальным способом сделать это, и я надеюсь, что вам понравится ее читать.
Статья: https://apptractor.ru/odin-god
Платформа: инди-разработка
После 12 месяцев работы над своими проектами я решил составить резюме и поделиться своим путешествием и некоторыми уроками, которые я усвоил. Написание моей первой статьи в блоге показалось мне идеальным способом сделать это, и я надеюсь, что вам понравится ее читать.
Статья: https://apptractor.ru/odin-god
Платформа: инди-разработка
SwiftWhisper - обертка для порта системы Whisper от OpenAI 🙈 Whisper - это модель распознавания речи общего назначения. Она обучена на большом наборе данных разнообразных аудиозаписей и является многозадачной моделью, которая может выполнять многоязычное распознавание речи, перевод речи и идентификацию языка. С помощью SwiftWhisper вы можете встроить стороннюю C/C++ имплементацию Whisper в свои приложения.
SwiftWhisper на GitHub: https://github.com/exPHAT/SwiftWhisper
Whisper.cpp на GitHub: https://github.com/ggerganov/whisper.cpp
OpenAI Whisper на GitHub: https://github.com/openai/whisper
Платформа: iOS
⭐️: 38
SwiftWhisper на GitHub: https://github.com/exPHAT/SwiftWhisper
Whisper.cpp на GitHub: https://github.com/ggerganov/whisper.cpp
OpenAI Whisper на GitHub: https://github.com/openai/whisper
Платформа: iOS
⭐️: 38
Видео и подкасты за неделю
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Посмотрели какое-то другое интересное видео? Отправьте боту -> 🧑🏻💻
•
(iOS En)
SwiftUI Deep Links in iOS - Deep Linking TabView & NavigationStack•
(iOS En)
Firebase Firestore Maps and Arrays Tutorial for iOS•
(iOS En)
Roll your own networking stack•
(iOS En)
Fantastic Swift tools and where to find them•
(iOS En)
Previews and Package Oriented Programming•
(And En)
Now in Android: 80 - Media3, Jetpack Compose 1.4, Crash Management, and more•
(And En)
Accessibility services and how users interact with them•
(And En)
Firebase Google Sign-In With Jetpack Compose & Clean Architecture•
(And En)
Automatic Security Scan for Your Android App With AppSweep & GitHub Actions•
(And En)
What's new in Kotlin 1.8.20: K2 compiler, language updates, stdlib improvements, and Java interop•
(Dev Ru)
Yet Another Mobile Party (YAMP)•
(Dev Ru)
Менторство в IT•
(Dev Ru)
Podlodka #314: нужны ли программисты, если AI пишет код•
(Dev Ru)
Зачем нужны тимлидыПосмотрели какое-то другое интересное видео? Отправьте боту -> 🧑🏻💻
YouTube
SwiftUI Deep Links in iOS - Deep Linking TabView & NavigationStack - Xcode 14 - SwiftUI Tutorials
Hello Guys 🖐🖐🖐
II'm going to demonstrate in this video how to create multiple views using SwiftUI's Tab View and NavigationStack and embed them with deep links | SwiftUI Deep Links | Deep Linking App | Deep Linking iOS | SwiftUI Deep Link Navigation Stack…
II'm going to demonstrate in this video how to create multiple views using SwiftUI's Tab View and NavigationStack and embed them with deep links | SwiftUI Deep Links | Deep Linking App | Deep Linking iOS | SwiftUI Deep Link Navigation Stack…
Stream Result - “железнодорожно-ориентированная” библиотека для моделирования и простой обработки успехов/неудач для Kotlin, Android и Retrofit.
Железнодорожно-ориентированное программирование - это функциональный подход к обработке success/failure нормализованными способами, всегда позволяющий предсказать результат. Эта библиотека поможет вам реализовать железнодорожно-ориентированные модели и функции в Kotlin и Android (особенно с помощью Retrofit).
Stream Result на GitHub: https://github.com/getStream/stream-result
Платформа: Android
⭐️: 59
Железнодорожно-ориентированное программирование - это функциональный подход к обработке success/failure нормализованными способами, всегда позволяющий предсказать результат. Эта библиотека поможет вам реализовать железнодорожно-ориентированные модели и функции в Kotlin и Android (особенно с помощью Retrofit).
Stream Result на GitHub: https://github.com/getStream/stream-result
Платформа: Android
⭐️: 59
Шаблон Цепочка обязанностей и его реализация на Swift
Поведенческие модели проектирования необходимы для оптимизации взаимодействия между объектами в программной системе. Один из таких паттернов, «Цепочка обязанностей», особенно полезен для организации и управления тем, как запрос обрабатывается различными компонентами системы. Отделяя отправителя запроса от его получателей, этот паттерн повышает гибкость и упрощает сопровождение кода. В этой статье мы рассмотрим паттерн «Цепочка обязанностей» и продемонстрируем его реализацию с помощью кода Swift.
Статья: https://apptractor.ru/Chain-of-responsibility
Платформа: Swift
Поведенческие модели проектирования необходимы для оптимизации взаимодействия между объектами в программной системе. Один из таких паттернов, «Цепочка обязанностей», особенно полезен для организации и управления тем, как запрос обрабатывается различными компонентами системы. Отделяя отправителя запроса от его получателей, этот паттерн повышает гибкость и упрощает сопровождение кода. В этой статье мы рассмотрим паттерн «Цепочка обязанностей» и продемонстрируем его реализацию с помощью кода Swift.
Статья: https://apptractor.ru/Chain-of-responsibility
Платформа: Swift
Swift Power Assert - показывает информацию о состоянии всех переменных ассерта в виде удобной диаграммы (Power assertions или Диаграммные утверждения дополняют неудачи утверждений информацией о значениях, полученных при оценке условия, и представляют ее в легко усваиваемой форме).
Swift Power Assert реализована с использованием макросов - экспериментальной возможности Swift. Поэтому для использования этой библиотеки необходимо использовать предварительную версию инструментов Swift.
Swift Power Assert на GitHub: https://github.com/kishikawakatsumi/swift-power-assert
Платформа: iOS
⭐️: 136
Swift Power Assert реализована с использованием макросов - экспериментальной возможности Swift. Поэтому для использования этой библиотеки необходимо использовать предварительную версию инструментов Swift.
Swift Power Assert на GitHub: https://github.com/kishikawakatsumi/swift-power-assert
Платформа: iOS
⭐️: 136
В Compose враг номер один - это ненужные рекомпозиции. Часто разработчики используют такие инструменты, как recompositionHighligher, LogComposition и layout inspector для подсчета рекомпозиций, но нет прямого способа понять, почему произошла рекомпозиция. Rebugger - это простая функция компоновки, которая может отслеживать изменения в заданных аргументах. Она выводит причину рекомпозиции в окно Logcat.
Rebugger на GitHub: https://github.com/theapache64/rebugger
Платформа: Android
⭐️: 339
Rebugger на GitHub: https://github.com/theapache64/rebugger
Платформа: Android
⭐️: 339
До того, как это стало стримом — рассказываем о настройке потокового вещания
Пользователь запускает приложение, нажимает кнопку — и вжух, уже стримит в сеть, а к его стриму подключаются другие пользователи. В плеере в этот момент происходит огромная работа: скрипты забирают изображение и звук, кодируют, пакуют в контейнеры, и передают данные в местный разгрузочный порт, где контейнер снова разбивают на упакованное в него видео и аудио. Сколько усилий! Как эти усилия выглядят на самом деле и о способах настройки потокового вещания на примере работы с протоколом SRT рассказывает iOS-разработчик CleverPumpkin Никита Тархов.
Статья: https://apptractor.ru/stream-potok
Платформа: iOS
Пользователь запускает приложение, нажимает кнопку — и вжух, уже стримит в сеть, а к его стриму подключаются другие пользователи. В плеере в этот момент происходит огромная работа: скрипты забирают изображение и звук, кодируют, пакуют в контейнеры, и передают данные в местный разгрузочный порт, где контейнер снова разбивают на упакованное в него видео и аудио. Сколько усилий! Как эти усилия выглядят на самом деле и о способах настройки потокового вещания на примере работы с протоколом SRT рассказывает iOS-разработчик CleverPumpkin Никита Тархов.
Статья: https://apptractor.ru/stream-potok
Платформа: iOS
MarkdownUI - это мощная библиотека для отображения и настройки Markdown-текста в SwiftUI. Она совместима с GitHub Flavored Markdown Spec и может отображать изображения, заголовки, списки, кавычки, блоки кода, таблицы, а также стилизованный текст и ссылки.
MarkdownUI предлагает понятные функции создания тем для настройки отображения текста. Вы можете использовать встроенные темы, создавать свои собственные или переопределять стили текста и блоков.
Работает минимум на iOS 15.0.
MarkdownUI на GitHub: https://github.com/gonzalezreal/swift-markdown-ui
Платформа: iOS
⭐️: 1.3K
MarkdownUI предлагает понятные функции создания тем для настройки отображения текста. Вы можете использовать встроенные темы, создавать свои собственные или переопределять стили текста и блоков.
Работает минимум на iOS 15.0.
MarkdownUI на GitHub: https://github.com/gonzalezreal/swift-markdown-ui
Платформа: iOS
⭐️: 1.3K
5 способов подготовить ваше приложение к выходу Android Studio Flamingo
При обновлении до Android Studio Flamingo и Android Gradle Plugin 8.0 необходимо обновить файлы сборки приложений, чтобы учесть пять важных изменений в поведении сборки.
Статья (
Платформа: Android
При обновлении до Android Studio Flamingo и Android Gradle Plugin 8.0 необходимо обновить файлы сборки приложений, чтобы учесть пять важных изменений в поведении сборки.
Статья (
En
): https://apptractor.ru/5-ways-to-prepare-your-appПлатформа: Android
Как использовать If Case Let в Swift и не сойти с ума
Например, если у вас есть коробка конфет и вы хотите проверить, есть ли в ней карамель, вы можете использовать для этого "if case let".
Статья (
Платформа: iOS
Например, если у вас есть коробка конфет и вы хотите проверить, есть ли в ней карамель, вы можете использовать для этого "if case let".
Статья (
En
): https://apptractor.ru/if-case-let-in-swiftПлатформа: iOS
Forwarded from Код Воробья для iOS разработчиков
В 💻 Xcode 14 прокачали автокомплит - инициализаторы, Codable, форматирование и другое. В видео наглядно, как это работает.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2
Сам себе экосистема: Как я адаптировал старый смартфон под современные реалии и написал клиенты нужных мне сервисов
Время неумолимо бежит вперед: выходят новые гаджеты, постепенно заменяя старые, превращая их в тыкву или в лучшем случае, в «тапочек» для звонков. Сейчас смартфоны стали практически одинаковы во всем: дисплей на всю площадь передней панели, почти полное отсутствие аппаратных кнопок, беспроводная зарядка… Это всё, конечно, здорово, но ведь иногда так хочется взять в руки старый, но такой необычный в наше время QWERTY-смартфон и попытатьфся его использовать как основной, да и цены на них могут приятно удивить: БУ девайс можно купить за несколько сотен рублей (~5-10$). Одна проблема — клиенты приложений на версии Android 1.6-2.0 безбожно устарели и давно не работают. Но иногда желание воскресить старый девайс превыше потребительского качества и тут я пришёл к мысли… а почему бы не написать с нуля свои клиенты популярных приложений? ВК с музыкой, YouTube, трекинг посылок. Так я и сел писать необходимые в повседневной жизни приложения, с нуля, на голом API Android, без каких либо фреймворков (и даже AppCompat).
Статья: https://habr.com/ru/companies/timeweb/articles/726086/
Платформа: Android
Время неумолимо бежит вперед: выходят новые гаджеты, постепенно заменяя старые, превращая их в тыкву или в лучшем случае, в «тапочек» для звонков. Сейчас смартфоны стали практически одинаковы во всем: дисплей на всю площадь передней панели, почти полное отсутствие аппаратных кнопок, беспроводная зарядка… Это всё, конечно, здорово, но ведь иногда так хочется взять в руки старый, но такой необычный в наше время QWERTY-смартфон и попытатьфся его использовать как основной, да и цены на них могут приятно удивить: БУ девайс можно купить за несколько сотен рублей (~5-10$). Одна проблема — клиенты приложений на версии Android 1.6-2.0 безбожно устарели и давно не работают. Но иногда желание воскресить старый девайс превыше потребительского качества и тут я пришёл к мысли… а почему бы не написать с нуля свои клиенты популярных приложений? ВК с музыкой, YouTube, трекинг посылок. Так я и сел писать необходимые в повседневной жизни приложения, с нуля, на голом API Android, без каких либо фреймворков (и даже AppCompat).
Статья: https://habr.com/ru/companies/timeweb/articles/726086/
Платформа: Android
😱2❤1
Pocket Shop - мобильный магазин, выполненный в лучших правилах MAD. Внутри Kotlin, Coroutines + Flow, Jetpack, MVVM, Retrofit2 & OkHttp3, Moshi и все остальные инструменты.
Pocket Shop на GitHub: https://github.com/AYOMITIDE-OAJ/pocketshop
Платформа: Android
⭐️: 1
Pocket Shop на GitHub: https://github.com/AYOMITIDE-OAJ/pocketshop
Платформа: Android
⭐️: 1
Вышла стабильная версия Android Studio Flamingo
Этот выпуск включает улучшения, помогающие создавать до пикселя идеальный пользовательский интерфейс с помощью Live Edit, шаблоны проектов с Jetpack Compose и Material 3, новые функции, помогающие инспектировать ваше приложение, обновления IntelliJ, App Quality Insights и многое другое.
Анонс: https://android-developers.googleblog.com/2023/04/android-studio-flamingo-is-stable.html
Платформа: Android
Этот выпуск включает улучшения, помогающие создавать до пикселя идеальный пользовательский интерфейс с помощью Live Edit, шаблоны проектов с Jetpack Compose и Material 3, новые функции, помогающие инспектировать ваше приложение, обновления IntelliJ, App Quality Insights и многое другое.
Анонс: https://android-developers.googleblog.com/2023/04/android-studio-flamingo-is-stable.html
Платформа: Android
Видео и подкасты за неделю
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Посмотрели какое-то другое интересное видео? Отправьте боту -> 🧑🏻💻
•
(iOS En)
Видео iOS Conf SG 2023•
(iOS En)
I built a mobile app without experience in just one day using AI•
(iOS En)
Understanding the Role of Expressions in Swift•
(iOS En)
Meet the New Native Video Picker API For SwiftUI•
(And Ru)
Как научиться программировать под андроид с нуля•
(And Ru)
Как уменьшить размер Android приложения•
(And Ru)
Оптимизация Compose•
(And En)
What's new in Android Studio - Flamingo•
(And En)
CameraX Foundations•
(And En)
Building Your First Wear OS App with Jetpack Compose•
(And En)
Pagination from Remote API & Local Cache Using Paging3, Compose and Clean Architecture•
(Crs Ru)
Видео Flutter Weekend Study•
(Dev Ru)
Mobile SRE: что перезагружать, когда перезагружать нечего•
(Dev Ru)
DivKit. Server Driven UI. Ольга Ким. Яндекс•
(Dev Ru)
Трудности архитектуры, платформ и их изучения•
(Dev En)
Being Successful with Open Source in Game DevelopmentПосмотрели какое-то другое интересное видео? Отправьте боту -> 🧑🏻💻
AppTractor
Видео iOS Conf SG 2023
Как и каждый год, в январе 2023 года сотни разработчиков со всего мира собрались вместе, чтобы поделиться своими знаниями и навыками.
Освоение Canvas в SwiftUI
В SwiftUI можно рисовать 2D-графику с помощью Shape API, но в итоге фреймворк преобразует все фигуры в представления SwiftUI и рендерит их. У этого подхода есть свои плюсы и минусы. К счастью, мы можем рисовать насыщенную 2D-графику, не комбинируя несколько фигур. На этой неделе мы узнаем, как использовать представление Canvas в SwiftUI.
Статья: https://swiftwithmajid.com/2023/04/11/mastering-canvas-in-swiftui/
Платформа: iOS
В SwiftUI можно рисовать 2D-графику с помощью Shape API, но в итоге фреймворк преобразует все фигуры в представления SwiftUI и рендерит их. У этого подхода есть свои плюсы и минусы. К счастью, мы можем рисовать насыщенную 2D-графику, не комбинируя несколько фигур. На этой неделе мы узнаем, как использовать представление Canvas в SwiftUI.
Статья: https://swiftwithmajid.com/2023/04/11/mastering-canvas-in-swiftui/
Платформа: iOS
👍1