Loop Habit Tracker - это мобильное приложение, которое помогает вам создавать и поддерживать хорошие привычки, позволяющие достигать долгосрочных целей. Подробные графики и статистика показывают, как со временем улучшались ваши привычки. Приложение полностью без рекламы и с открытым исходным кодом.
Loop на GitHub: https://github.com/iSoron/uhabits
Платформа: Android
⭐️: 4.8K
Loop на GitHub: https://github.com/iSoron/uhabits
Платформа: Android
⭐️: 4.8K
SwiftMessages - гибкая библиотека отображения представлений и контроллеров представлений для iOS.
View и View Controller-ы могут отображаться вверху, внизу или в центре экрана, поверх панелей навигации или вкладок. Есть интерактивные жесты закрытия, в том числе основанные на физике. Несколько режимов затемнения фона. И многое другое.
Кроме многочисленных параметров конфигурирования, SwiftMessages предоставляет несколько готовых красивых макетов и тем.
SwiftMessages на GitHub: https://github.com/SwiftKickMobile/SwiftMessages
Платформа: iOS
⭐️: 6.5K
View и View Controller-ы могут отображаться вверху, внизу или в центре экрана, поверх панелей навигации или вкладок. Есть интерактивные жесты закрытия, в том числе основанные на физике. Несколько режимов затемнения фона. И многое другое.
Кроме многочисленных параметров конфигурирования, SwiftMessages предоставляет несколько готовых красивых макетов и тем.
SwiftMessages на GitHub: https://github.com/SwiftKickMobile/SwiftMessages
Платформа: iOS
⭐️: 6.5K
Как я занял третье место в конкурсе Telegram и выиграл $2000
Задача: Создать кроссплатформенный модуль на C++ для корректировки внешности. Создать приложение для iOS или Android, которое демонстрирует работу этого модуля, в режиме реального времени преобразовывая видео из фронтальной камеры.
Статья: https://apptractor.ru/tlg2000
Платформа: iOS
⬆️: +9
Задача: Создать кроссплатформенный модуль на C++ для корректировки внешности. Создать приложение для iOS или Android, которое демонстрирует работу этого модуля, в режиме реального времени преобразовывая видео из фронтальной камеры.
Статья: https://apptractor.ru/tlg2000
Платформа: iOS
⬆️: +9
This media is not supported in your browser
VIEW IN TELEGRAM
Stream Draw — это многопользовательская игра с рисованием и чатом в реальном времени, полностью созданная с помощью Jetpack Compose. Внутри: Jetpack Compose + Coroutines + Flow, Compose Chat SDK for Messaging, Hilt, Retrofit2 & OkHttp3, Moshi, Timber и прочее.
Stream Draw на GitHub: https://github.com/getStream/stream-draw-android
Платформа: Android
⭐️: 66
Stream Draw на GitHub: https://github.com/getStream/stream-draw-android
Платформа: Android
⭐️: 66
Swift Async Algorithms — это open-source пакет Apple с асинхронными последовательностями и расширенными алгоритмами. Этот пакет предлагает три основные цели: интеграция с async/await, основа для алгоритмов, основанных на времени, кроссплатформенный и открытый исходный код.
Swift Async Algorithms на GitHub: https://github.com/apple/swift-async-algorithms
Платформа: iOS/Swift
⭐️: 649
Swift Async Algorithms на GitHub: https://github.com/apple/swift-async-algorithms
Платформа: iOS/Swift
⭐️: 649
Используем новый keyboardLayoutGuide, чтобы защитить View от перекрытия клавиатурой
Мы рассмотрим новый способ решения очень старой проблемы, появившийся в iOS 15. Заключается она в положении UITextField при появлении клавиатуры.
Статья: https://apptractor.ru/keyboardlayoutguide
Платформа: iOS
Мы рассмотрим новый способ решения очень старой проблемы, появившийся в iOS 15. Заключается она в положении UITextField при появлении клавиатуры.
Статья: https://apptractor.ru/keyboardlayoutguide
Платформа: iOS
А вот иной подход для борьбы с клавиатурой - встраивать все в ScrollView.
Каждый экран в вашем приложении должен быть прокручиваемым.
В этой статье я расскажу вам, почему каждый основной экран вашего приложения должен быть встроен в ScrollView.
Как? Все в моем приложении нужно прокручивать, скажете вы?! Да, раньше я соглашался с вами, но за последние пять лет я понял, что это почти всегда верное предположение.
Я собираюсь объяснить, почему почти каждый экран в вашем приложении должен быть встроен во что-то вроде UIKit UIScrollView, UITableView или UICollectionView (или ScrollView, List или Form в SwiftUI).
Статья: https://apptractor.ru/scrlvw
Платформа: iOS
Каждый экран в вашем приложении должен быть прокручиваемым.
В этой статье я расскажу вам, почему каждый основной экран вашего приложения должен быть встроен в ScrollView.
Как? Все в моем приложении нужно прокручивать, скажете вы?! Да, раньше я соглашался с вами, но за последние пять лет я понял, что это почти всегда верное предположение.
Я собираюсь объяснить, почему почти каждый экран в вашем приложении должен быть встроен во что-то вроде UIKit UIScrollView, UITableView или UICollectionView (или ScrollView, List или Form в SwiftUI).
Статья: https://apptractor.ru/scrlvw
Платформа: iOS
Groceries Store - готовый продуктовый магазин с заказом продуктов. Основная цель этого проекта — продемонстрировать современные навыки разработки Android в реальной производственной среде, сократить время обучения при переходе в мир разработки Android.
Groceries Store на GitHub: https://github.com/hieuwu/android-groceries-store
Платформа: Android
⭐️: 50
Groceries Store на GitHub: https://github.com/hieuwu/android-groceries-store
Платформа: Android
⭐️: 50
Как защитить Android-приложения от реверс-инжиниринга и утечки данных
Простые советы о том, как хоть немного защитить приложение от взлома:
• Обнаружение несанкционированного доступа
• SafetyNet
• ProGuard
• Шифрование данных пользователя
• Шифрование базы данных
Статья: https://apptractor.ru/rvrsdrd
Платформа: Android
👋: 74
Простые советы о том, как хоть немного защитить приложение от взлома:
• Обнаружение несанкционированного доступа
• SafetyNet
• ProGuard
• Шифрование данных пользователя
• Шифрование базы данных
Статья: https://apptractor.ru/rvrsdrd
Платформа: Android
👋: 74
👍1👎1
Forwarded from Код Воробья для iOS разработчиков
Как устроено приложение Настройки. Сделано нативно.
Сделали на сценах. Root это split-контроллер, проявляется на 5.5+ айфоне и айпадах. Домашний экран назвали
Ячейки, иконки и аксесуары установлены в дефотные вьюхи. На втором скрине кликабельный текст в футере сделали через кастомную футер-вью. Кнопку добавили через формат-текст в
Когда доступно обновление, на домашнем экране появляется ячейка с красным кружком. Это сделали картинкой с лейблом, класс назвали
Иконки ячеек установлены в дефолтный контейнер. Библиотека SPSettingsIcons генерирует такие иконки для SFSymbols кодом.
#ViewHierarchy
Сделали на сценах. Root это split-контроллер, проявляется на 5.5+ айфоне и айпадах. Домашний экран назвали
UIPrefsListController
.Ячейки, иконки и аксесуары установлены в дефотные вьюхи. На втором скрине кликабельный текст в футере сделали через кастомную футер-вью. Кнопку добавили через формат-текст в
UITextView
. Когда доступно обновление, на домашнем экране появляется ячейка с красным кружком. Это сделали картинкой с лейблом, класс назвали
BadgedTableViewCell
. Ячейка аккаунта названа UIAppleAccountCell
.Иконки ячеек установлены в дефолтный контейнер. Библиотека SPSettingsIcons генерирует такие иконки для SFSymbols кодом.
#ViewHierarchy
❤2🤔1
SwiftLint - инструмент для соблюдения стилей и соглашений Swift, частично основанный на теперь заархивированном GitHub Swift Style Guide. SwiftLint применяет правила, которые общеприняты в сообществе Swift. Эти правила хорошо описаны в популярных руководствах по стилю, таких как, например, Ray Wenderlich Swift Style Guide.
SwiftLint на GitHub: https://github.com/realm/SwiftLint
Статья: https://apptractor.ru/info/articles/swiftlint.html
Платформа: iOS/Swift
⭐️: 15.9К
SwiftLint на GitHub: https://github.com/realm/SwiftLint
Статья: https://apptractor.ru/info/articles/swiftlint.html
Платформа: iOS/Swift
⭐️: 15.9К
Как один Android-разработчик за месяц сократил время запуска приложения Lyft 21%
Lyft уделяет особое внимание качеству приложений. Как райдшеринговая компания, предоставляющая жизненно важные, срочные услуги десяткам миллионов пассажиров и сотням тысяч водителей, они должны быть такими. В таком масштабе каждое замедление, пропущенный кадр или сбой приложения могут привести к потере времени тысяч пользователей. Даже незначительная заминка повлияет на множество едущих (или везущих) пользователей. К счастью, команда разработчиков Lyft внимательно следит за производительностью своего приложения. Так они впервые заметили замедление времени запуска Android-приложения для своих водителей.
Перевод: https://apptractor.ru/lyft21
Платформа: Android
Lyft уделяет особое внимание качеству приложений. Как райдшеринговая компания, предоставляющая жизненно важные, срочные услуги десяткам миллионов пассажиров и сотням тысяч водителей, они должны быть такими. В таком масштабе каждое замедление, пропущенный кадр или сбой приложения могут привести к потере времени тысяч пользователей. Даже незначительная заминка повлияет на множество едущих (или везущих) пользователей. К счастью, команда разработчиков Lyft внимательно следит за производительностью своего приложения. Так они впервые заметили замедление времени запуска Android-приложения для своих водителей.
Перевод: https://apptractor.ru/lyft21
Платформа: Android
Unfurl - библиотека извлекает метаданные веб-страницы и генерит ее превью, как в Slack.
Unfurl на GitHub: https://github.com/saket/unfurl
Платформа: Android
⭐️: 181
Unfurl на GitHub: https://github.com/saket/unfurl
Платформа: Android
⭐️: 181
Реализация сетевой части в пошаговой игре
Ни к чему не обязывающая, но забавная статья о реализации сетевого обновления в пошаговой игре. На самом высоком уровне - об архитектуре того, как передавать сообщения между сервером и игроками.
Перевод: https://apptractor.ru/svrdnrvn
Платформа: игры
Ни к чему не обязывающая, но забавная статья о реализации сетевого обновления в пошаговой игре. На самом высоком уровне - об архитектуре того, как передавать сообщения между сервером и игроками.
Перевод: https://apptractor.ru/svrdnrvn
Платформа: игры
UIViewCanvas - пакет, который просто добавляет отображение SwiftUI (SwiftUI PreviewProvider) в Xcode к стандартным UIView или ViewController-ам.
UIViewCanvas на GitHub: https://github.com/outrowender/UIViewCanvas
Платформа: iOS
⭐️: 8
UIViewCanvas на GitHub: https://github.com/outrowender/UIViewCanvas
Платформа: iOS
⭐️: 8
MaterialChipSetWidget - библиотека Kotlin, которая позволяет создавать несколько подменю или одно меню, состоящее из нескольких чипов.
MaterialChipSetWidget на GitHub: https://github.com/JustinGeorgeJoseph/MaterialChipsetWidget
Платформа: Android
⭐️: 15
MaterialChipSetWidget на GitHub: https://github.com/JustinGeorgeJoseph/MaterialChipsetWidget
Платформа: Android
⭐️: 15
❤2
Apple выпускает подробные туториалы в течение последних нескольких лет. Мы уже видели «Введение в SwiftUI», затем углубленные «Разработка приложений для iOS», а в этом руководстве Apple разбирает конкретный пример работы приложения About Me на SwiftUI. Темы:
• Навигация
• Представление контента
• Получение контента с сервера
• Отклик на действия пользователя
Все это с кодом и пошаговыми объяснениями.
Туториал: https://developer.apple.com/tutorials/Sample-Apps
Платформа: iOS
• Навигация
• Представление контента
• Получение контента с сервера
• Отклик на действия пользователя
Все это с кодом и пошаговыми объяснениями.
Туториал: https://developer.apple.com/tutorials/Sample-Apps
Платформа: iOS
👍1
Стабилизируем, моделируем, модернизируем: масштабирование мобильной кодовой базы Slack
Когда вам нужно начать переделывать базу кода, чтобы решить проблему технического долга? Каков наилучший способ устранения широко распространенных несоответствий и устаревших шаблонов? Как вы можете внести значительные архитектурные улучшения в сложное приложение, продолжая добавлять новые фичи?
С этими вопросами столкнулись разработчики Slack в начале 2020 года, когда поняли, что технический долг в мобильных кодовых базах Slack настолько замедлил разработку, что это повлияло на разработку продуктов, и для решения этой проблемы потребуется серьезный рефакторинг.
Это история из двух частей о кросс-функциональной инициативе, которую запустили в компании для решения этих вопросов.
Статьи: первая и вторая
Платформа: iOS/Android
Когда вам нужно начать переделывать базу кода, чтобы решить проблему технического долга? Каков наилучший способ устранения широко распространенных несоответствий и устаревших шаблонов? Как вы можете внести значительные архитектурные улучшения в сложное приложение, продолжая добавлять новые фичи?
С этими вопросами столкнулись разработчики Slack в начале 2020 года, когда поняли, что технический долг в мобильных кодовых базах Slack настолько замедлил разработку, что это повлияло на разработку продуктов, и для решения этой проблемы потребуется серьезный рефакторинг.
Это история из двух частей о кросс-функциональной инициативе, которую запустили в компании для решения этих вопросов.
Статьи: первая и вторая
Платформа: iOS/Android
Библиотека нашего читателя: Fragula 2 – расширение библиотеки NavComponent от Google, которая всего в пару строк позволяет реализовать популярный паттерн "swipe-to-dismiss" в приложении.
Под капотом в библиотеке используется ViewPager2 с кастомной анимацией перелистывания, прямо как в приложении Telegram X под андроид.
Проект активно развивается, любые идеи и предложения приветствуются. В ближайшее время будет добавлена поддержка вертикального скролла, что позволит расширить область применения данной библиотеки.
Fragula 2 на GitHub: https://github.com/massivemadness/Fragula
Платформа: Android
⭐️: 12
Под капотом в библиотеке используется ViewPager2 с кастомной анимацией перелистывания, прямо как в приложении Telegram X под андроид.
Проект активно развивается, любые идеи и предложения приветствуются. В ближайшее время будет добавлена поддержка вертикального скролла, что позволит расширить область применения данной библиотеки.
Fragula 2 на GitHub: https://github.com/massivemadness/Fragula
Платформа: Android
⭐️: 12
🔥1