Workflow - фреймворк для Kotlin и Swift с архитектурными примитивами от Square. Обеспечивает пресловутый однонаправленный поток данных (неизменяемые данные в каждом рабочем процессе передаются в одном направлении от источника к пользовательскому интерфейсу, а события - в одном направлении от пользовательского интерфейса к бизнес-логике), поддерживает написание бизнес-логики и сложной логики навигации пользовательского интерфейса в виде конечных автоматов (что позволяет уверенно рассуждать о состоянии и проверять правильность), оптимизирован для компоновки и масштабируемости функций и экранов, облегчает простые в написании модульные тесты для всей бизнес-логики приложения и помогает обеспечить их правильность.
Проект на GitHub: https://github.com/square/workflow-kotlin
Платформа: iOS/Android
⭐️: 539
Проект на GitHub: https://github.com/square/workflow-kotlin
Платформа: iOS/Android
⭐️: 539
Разрабатываем свое приложение для Android Auto
Платформа Android Auto от Google не является собственно операционной системой. Это мобильное приложение для Android, разработанное Google. Это расширение подключенного Android-смартфона на совместимый автомобиль, который может отображать некоторые приложения и зеркалировать сообщения на приборной панели автомобиля.
Перевод статьи: https://apptractor.ru/drdauto
Платформа: Android
👋: 1.2K
Платформа Android Auto от Google не является собственно операционной системой. Это мобильное приложение для Android, разработанное Google. Это расширение подключенного Android-смартфона на совместимый автомобиль, который может отображать некоторые приложения и зеркалировать сообщения на приборной панели автомобиля.
Перевод статьи: https://apptractor.ru/drdauto
Платформа: Android
👋: 1.2K
Как измерить производительность приложения с помощью MetricKit
MetricKit - это платформа, которая помогает агрегировать и анализировать данные по исключениям и сбоям, а также по показателям производительности. Это мощный инструмент, который обеспечивает реальный доступ к данным со всех устройств пользователей вашего приложения. Этот инструмент может помочь понять причины, тенденции и закономерности в снижении производительности и появлении ошибок.
Статья: https://apptractor.ru/mtrckt
Платформа: iOS
👋: 52
MetricKit - это платформа, которая помогает агрегировать и анализировать данные по исключениям и сбоям, а также по показателям производительности. Это мощный инструмент, который обеспечивает реальный доступ к данным со всех устройств пользователей вашего приложения. Этот инструмент может помочь понять причины, тенденции и закономерности в снижении производительности и появлении ошибок.
Статья: https://apptractor.ru/mtrckt
Платформа: iOS
👋: 52
This media is not supported in your browser
VIEW IN TELEGRAM
SplitButton - кнопка меню с двумя функциями, предлагающая действие по умолчанию, а также возможность выбора другого действия из набора альтернатив.
Библиотека на GitHub: https://github.com/kojofosu/SplitButton
Платформа: Android
⭐️: 19
Библиотека на GitHub: https://github.com/kojofosu/SplitButton
Платформа: Android
⭐️: 19
Forwarded from Mobile Development by AppTractor
🧑💻 Тинькофф приглашает на пятый мобильный телеграм-митап
7 октября в 19:00, онлайн
Тема этой встречи — адаптация мобильного приложения для людей с ограниченными возможностями. С Михаилом Рубановым из Dodo Engineering поговорим про accessibility iOS-приложений:
📎 как незрячие и слабовидящие пользуются телефоном. Аудио интерфейс и тачпад вместо экрана;
📎 как пришли к тому, что нужно заниматься адаптацией мобильных приложений, насколько она востребована и как влияет на бизнес-показатели;
📎 что такое Dynamic Type и какие контролы позволяют проще верстать резиновый интерфейс;
Без технических подробностей тоже не обойдемся. Встречаемся в телеграм-чате, ссылка на него придет после регистрации: https://l.tinkoff.ru/mobile-meetup5
7 октября в 19:00, онлайн
Тема этой встречи — адаптация мобильного приложения для людей с ограниченными возможностями. С Михаилом Рубановым из Dodo Engineering поговорим про accessibility iOS-приложений:
📎 как незрячие и слабовидящие пользуются телефоном. Аудио интерфейс и тачпад вместо экрана;
📎 как пришли к тому, что нужно заниматься адаптацией мобильных приложений, насколько она востребована и как влияет на бизнес-показатели;
📎 что такое Dynamic Type и какие контролы позволяют проще верстать резиновый интерфейс;
Без технических подробностей тоже не обойдемся. Встречаемся в телеграм-чате, ссылка на него придет после регистрации: https://l.tinkoff.ru/mobile-meetup5
iOS 15 позволяет находить даже выключенный iPhone: как это сделано и есть ли опасность
В iOS 15.0 появилась новая функция: iPhone теперь можно найти при помощи Find My, даже когда iPhone «отключен». Как это работает? Представляет ли функция проблему для безопасности?
Оригинал: https://naehrdine.blogspot.com/2021/09/always-on-processor-magic-how-find-my.html
Перевод: https://habr.com/ru/post/581046/
Платформа: iOS
⬆️: +40
В iOS 15.0 появилась новая функция: iPhone теперь можно найти при помощи Find My, даже когда iPhone «отключен». Как это работает? Представляет ли функция проблему для безопасности?
Оригинал: https://naehrdine.blogspot.com/2021/09/always-on-processor-magic-how-find-my.html
Перевод: https://habr.com/ru/post/581046/
Платформа: iOS
⬆️: +40
Official Raywenderlich.com Swift Style Guide - официальное руководство по стилю написанию Swift-кода от популярного сайта про iOS-разработку. Это руководство по стилю отличается от других, которые вы можете увидеть, поскольку основное внимание уделяется удобочитаемости для печати и Интернета. Авторы создали это руководство, чтобы код в книгах, учебных пособиях и статьях был красивым и согласованным, даже несмотря на то, что над книгами работают много разных авторов.
Общие цели этого руководства - ясность, последовательность и краткость.
Руководство на GitHub: https://github.com/raywenderlich/swift-style-guide
Платформа: iOS
⭐️: 11.7К
Общие цели этого руководства - ясность, последовательность и краткость.
Руководство на GitHub: https://github.com/raywenderlich/swift-style-guide
Платформа: iOS
⭐️: 11.7К
Осознанная архитектура: рефакторинг Headspace для масштабирования
Headspace были готовы к запуску новых функций для здоровья и фитнеса, но архитектура их приложений - нет. Компания потратила восемь месяцев на рефакторинг до архитектуры Model-View-ViewModel, переписывание на Kotlin и улучшение тестового покрытия с 15 до 80%. За период со 2 по 4 квартал 2020 года благодаря улучшенному опыту приложения MAU увеличилось на 15%, а оценки улучшились с 3.5 до 4.7.
Статья: https://apptractor.ru/hdsps
Платформа: Android
👋: 216
Headspace были готовы к запуску новых функций для здоровья и фитнеса, но архитектура их приложений - нет. Компания потратила восемь месяцев на рефакторинг до архитектуры Model-View-ViewModel, переписывание на Kotlin и улучшение тестового покрытия с 15 до 80%. За период со 2 по 4 квартал 2020 года благодаря улучшенному опыту приложения MAU увеличилось на 15%, а оценки улучшились с 3.5 до 4.7.
Статья: https://apptractor.ru/hdsps
Платформа: Android
👋: 216
SSComposeCookBook - поваренная книга Jetpack Compose, коллекция основных и часто используемых UI-компонентов. Среди них App Abr, нижняя навигация, кпоки, элементы форм, FAB-ы, Drawer меню, списки, анимации и прочее.
Библиотека на GitHub: https://github.com/SimformSolutionsPvtLtd/SSComposeCookBook
Платформа: Android
⭐️: 61
Библиотека на GitHub: https://github.com/SimformSolutionsPvtLtd/SSComposeCookBook
Платформа: Android
⭐️: 61
GitHub Contribution Graphs for iOS - виджет для домашнего экрана iOS, показывающий вашу (или любого другого человека) работу с GitHub-ом. Есть разные размеры, цвета и выбор контрибьютора.
Проект на GitHub: https://github.com/AnderGoig/github-contributions-ios
Платформа: iOS
⭐️: 188
Проект на GitHub: https://github.com/AnderGoig/github-contributions-ios
Платформа: iOS
⭐️: 188
Orbit Multiplatform - MVI фреймворк для Kotlin Multiplatform и Android, библиотека, подобная Redux/MVI, как MVVM+. В ней простой, типобезопасный, расширяемый API в стиле корутин, мультиплатформенность с таргетингом на Android и iOS (альфа), полная поддержка корутинов Kotlin (в конце концов, Orbit построен на них), поддержка ViewModel вместе с SavedState, дополнительная простая библиотека модульных тестов, совместимость с RxJava, LiveData и т.д. через обертки корутинов.
Проект на GitHub: https://github.com/orbit-mvi/orbit-mvi
Платформа: Android
⭐️: 217
Проект на GitHub: https://github.com/orbit-mvi/orbit-mvi
Платформа: Android
⭐️: 217
Почему мне не нравится открытый исходный код
Модель с открытым исходным кодом — по большей части плохая идея. Можно назвать одну или две причины, по которым открытый исходный код — это хорошо, но по каждой из этих причин я могу назвать 20 причин, почему открытый исходный код — это не просто плохая, а совершенно нелепая идея. Чтобы объяснить все эти причины, нужно написать книгу, но поскольку я не заинтересован в написании книги об очевидном, я просто перечислю несколько причин, по которым я не занимаюсь открытым исходным кодом и почему я считаю, что это пустая трата времени.
ОСТОРОЖНО: автор явно чем-то обижен
Перевод статьи: https://apptractor.ru/osdslk
Платформа: open source
👋: 849
Модель с открытым исходным кодом — по большей части плохая идея. Можно назвать одну или две причины, по которым открытый исходный код — это хорошо, но по каждой из этих причин я могу назвать 20 причин, почему открытый исходный код — это не просто плохая, а совершенно нелепая идея. Чтобы объяснить все эти причины, нужно написать книгу, но поскольку я не заинтересован в написании книги об очевидном, я просто перечислю несколько причин, по которым я не занимаюсь открытым исходным кодом и почему я считаю, что это пустая трата времени.
ОСТОРОЖНО: автор явно чем-то обижен
Перевод статьи: https://apptractor.ru/osdslk
Платформа: open source
👋: 849
Библиотека от нашего читателя. Page-turning for Android - библиотека для имитации переворачивания страниц в вашем приложении. Помимо загибания, библиотека поддерживает масштабирование и перетаскивание увеличенной области.
Библиотека на GitHub: https://github.com/AlShevelev/PageTurningLib
Платформа: Android
⭐️: 1
Библиотека на GitHub: https://github.com/AlShevelev/PageTurningLib
Платформа: Android
⭐️: 1
Повышения производительности разработки в крупномасштабном iOS-приложении: опыт Airbnb
Хотя Xcode — это инструмент, с которым инженеры iOS чувствуют себя наиболее комфортно, мы обнаружили, что Xcode невозможно изящно масштабировать для кодовой базы нашего размера и сложности. Мало того, что файлы проекта Xcode сложно проверять в пул реквестах, но и частота конфликтов слияния и состояний гонки в этих файлах проекта увеличивалась по мере того, как большая группа инженеров двигалась в разработке с высокой скоростью. Даже открытие Xcode может превратиться в проблему с большой кодовой базой. Более года назад мы замерили, что Xcode требуется от одной до двух минут, чтобы стать интерактивным при загрузке рабочего пространства со всем нашим исходным кодом.
Перевод статьи: https://apptractor.ru/bnbios
Платформа: iOS
👋: 516
Хотя Xcode — это инструмент, с которым инженеры iOS чувствуют себя наиболее комфортно, мы обнаружили, что Xcode невозможно изящно масштабировать для кодовой базы нашего размера и сложности. Мало того, что файлы проекта Xcode сложно проверять в пул реквестах, но и частота конфликтов слияния и состояний гонки в этих файлах проекта увеличивалась по мере того, как большая группа инженеров двигалась в разработке с высокой скоростью. Даже открытие Xcode может превратиться в проблему с большой кодовой базой. Более года назад мы замерили, что Xcode требуется от одной до двух минут, чтобы стать интерактивным при загрузке рабочего пространства со всем нашим исходным кодом.
Перевод статьи: https://apptractor.ru/bnbios
Платформа: iOS
👋: 516
RealFlags - библиотека для работы с фиче флагами, упрощает настройку флагов в вашей кодовой базе. Она разработана для Swift и обеспечивает простой и элегантный уровень абстракции для множества провайдеров (например, FirebaseRemoteConfig), которых вы можете опрашивать с вашим собственным приоритетом. RealFlags также поставляется с удобным инструментом для просмотра и изменения значений непосредственно во время работы приложения.
Проект на GitHub: https://github.com/immobiliare/RealFlags
Платформа: iOS
⭐️: 47
Проект на GitHub: https://github.com/immobiliare/RealFlags
Платформа: iOS
⭐️: 47
Kotlin Flow во ViewModel-ях: все сложно
Загрузка UI данных в приложениях Android может быть сложной задачей. Необходимо учитывать жизненные циклы различных экранов, а также изменения конфигурации, ведущие к разрушению и воссозданию Activity.
Отдельные экраны приложения постоянно переключаются между интерактивным и скрытым состоянием, когда пользователь перемещается по приложению туда и обратно, переключается с одного приложения на другое или экран устройства блокируется или разблокируется. Каждый компонент должен играть честно и активно работать только тогда, когда ему отдают мяч.
Изменения конфигурации происходят в различных случаях: при изменении ориентации устройства, переключении приложения в многооконный режим или изменении размера его окна, переключении в темный или светлый режим, изменении языкового стандарта или размеров шрифта по умолчанию и т.д.
Статья: https://apptractor.ru/ktlnfl
Платформа: Android
👋: 1.4K
Загрузка UI данных в приложениях Android может быть сложной задачей. Необходимо учитывать жизненные циклы различных экранов, а также изменения конфигурации, ведущие к разрушению и воссозданию Activity.
Отдельные экраны приложения постоянно переключаются между интерактивным и скрытым состоянием, когда пользователь перемещается по приложению туда и обратно, переключается с одного приложения на другое или экран устройства блокируется или разблокируется. Каждый компонент должен играть честно и активно работать только тогда, когда ему отдают мяч.
Изменения конфигурации происходят в различных случаях: при изменении ориентации устройства, переключении приложения в многооконный режим или изменении размера его окна, переключении в темный или светлый режим, изменении языкового стандарта или размеров шрифта по умолчанию и т.д.
Статья: https://apptractor.ru/ktlnfl
Платформа: Android
👋: 1.4K
Square Logcat - небольшой Kotlin API для логирования поверх нормального класса Log в Android. Сделан в Square для нужд своего PoS-приложения и пришел на замену Timber.
Библиотека на GitHub: https://github.com/square/logcat
Платформа: Android
⭐️: 560
Библиотека на GitHub: https://github.com/square/logcat
Платформа: Android
⭐️: 560
Xcodes.app - простой способ переключаться между некоторыми версиями Xcode. Выводит список всех доступных версий, устанавливает любую, запускает любую выбранную по клику. Есть версия для командной строки.
Проект на GitHub: https://github.com/RobotsAndPencils/XcodesApp
Платформа: iOS
⭐️: 1.5K
Проект на GitHub: https://github.com/RobotsAndPencils/XcodesApp
Платформа: iOS
⭐️: 1.5K
В пятницу - pet-проект на выходные 😀 Doom Checkboxes - настоящая игра Doom, которая рендерится в браузере с помощью чекбоксов.
Проект на GitHub: https://github.com/healeycodes/doom-checkboxes
Статья: https://healeycodes.com/doom-rendered-via-checkboxes
Платформа: веб
⭐️: 33
Проект на GitHub: https://github.com/healeycodes/doom-checkboxes
Статья: https://healeycodes.com/doom-rendered-via-checkboxes
Платформа: веб
⭐️: 33
Курс “Основы Android на Kotlin” завершен
Google всегда ищет способы сделать обучение разработке под Android доступным для всех. В 2020 году компания запустила бесплатный курс для самостоятельного изучения “Android Basics на Kotlin”. Сегодня выпущен последний модуль и теперь курс доступен от начала и до конца.
Курс: https://developer.android.com/courses/android-basics-kotlin/
Платформа: Android
Google всегда ищет способы сделать обучение разработке под Android доступным для всех. В 2020 году компания запустила бесплатный курс для самостоятельного изучения “Android Basics на Kotlin”. Сегодня выпущен последний модуль и теперь курс доступен от начала и до конца.
Курс: https://developer.android.com/courses/android-basics-kotlin/
Платформа: Android
OnboardKit - листаемые экраны для онбординга на Swift. С помощью библиотеки можно просто создать несколько экранов (текст, изображение, кнопка) и показать их пользователю с листанием.
Библиотека на GitHub: https://github.com/NikolaKirev/OnboardKit
Платформа: iOS
⭐️: 407
Библиотека на GitHub: https://github.com/NikolaKirev/OnboardKit
Платформа: iOS
⭐️: 407