Forwarded from Mobile Development by AppTractor
Бесплатный митап Sber Mobile Meetup — 7 декабря, 17:00, онлайн
Сбер при поддержке JUG Ru Group проведет онлайн-митап для мобильных разработчиков. В программе — три доклада от специалистов, которые работают над сервисами Сбера:
– Андрей Попов — «Современный подход к анимациям в UICollectionView». Доклад об анимациях, применимых к коллекциям с помощью современных API в iOS SDK.
– Дмитрий Исаев — «Clean MMVM c Combine, SwiftUI в продакшене». Узнайте, как команда Сбера применила этот стек к большому объему бизнес-логики, вдохновившись Clean Code от дядюшки Боба Мартина.
– Андрей Данилов — «Как (не) ускорить сборку Android-проекта». Андрей расскажет, как не наступить на грабли при ускорении сборки: исправить порядок репозиториев зависимостей и найти альтернативы для неэффективных инструментов.
А еще вы сможете задать спикерам вопросы после докладов и пообщаться с коллегами в Spatial chat.
Участие бесплатное, нужно только зарегистрироваться. Ждем вас!
Сбер при поддержке JUG Ru Group проведет онлайн-митап для мобильных разработчиков. В программе — три доклада от специалистов, которые работают над сервисами Сбера:
– Андрей Попов — «Современный подход к анимациям в UICollectionView». Доклад об анимациях, применимых к коллекциям с помощью современных API в iOS SDK.
– Дмитрий Исаев — «Clean MMVM c Combine, SwiftUI в продакшене». Узнайте, как команда Сбера применила этот стек к большому объему бизнес-логики, вдохновившись Clean Code от дядюшки Боба Мартина.
– Андрей Данилов — «Как (не) ускорить сборку Android-проекта». Андрей расскажет, как не наступить на грабли при ускорении сборки: исправить порядок репозиториев зависимостей и найти альтернативы для неэффективных инструментов.
А еще вы сможете задать спикерам вопросы после докладов и пообщаться с коллегами в Spatial chat.
Участие бесплатное, нужно только зарегистрироваться. Ждем вас!
Инструменты разработчика для тестирования Android-приложений
В командной разработке тесты – это, как правило, задача QA- и SDET-специалистов. Вместе с тем навыки тестирования полезны и разработчикам, позволяя им проверить свои приложения и повысить стабильность их работы. Эта статья предназначена в первую очередь начинающим мобильным разработчикам, которые хотят изучить процессы тестирования и свое участие в них.
Статья: https://apptractor.ru/drdtst
Платформа: тестирование/Android
⬆️: +3
В командной разработке тесты – это, как правило, задача QA- и SDET-специалистов. Вместе с тем навыки тестирования полезны и разработчикам, позволяя им проверить свои приложения и повысить стабильность их работы. Эта статья предназначена в первую очередь начинающим мобильным разработчикам, которые хотят изучить процессы тестирования и свое участие в них.
Статья: https://apptractor.ru/drdtst
Платформа: тестирование/Android
⬆️: +3
YooIKit: UI в ЮMoney
• 00:00 О спикере и докладе
• 00:28 Усложнение процессов компании (новые продукты, рост команды, темизация)
• 3:15 Как совершенствовалась iOS-разработка
• 9:09 Методология Atomic Design
• 10:10 Категории в атомарном дизайне: атом, молекула, организм
• 11:37 Шаблон представления и шаблон страницы
• 13:39 Механизм работы со стилями
• 18:49 Темизация
• 20:12 Как происходит тестирование библиотеки
• 21:39 Итоги
Видео: https://apptractor.ru/YooIKit
Платформа: iOS
• 00:00 О спикере и докладе
• 00:28 Усложнение процессов компании (новые продукты, рост команды, темизация)
• 3:15 Как совершенствовалась iOS-разработка
• 9:09 Методология Atomic Design
• 10:10 Категории в атомарном дизайне: атом, молекула, организм
• 11:37 Шаблон представления и шаблон страницы
• 13:39 Механизм работы со стилями
• 18:49 Темизация
• 20:12 Как происходит тестирование библиотеки
• 21:39 Итоги
Видео: https://apptractor.ru/YooIKit
Платформа: iOS
Android Debug Database - мощная библиотека для работы с базами данных и Shared Preferences в Android-приложениях. Позволяет очень просто просматривать и редактировать базы данных и сохраненные данные прямо в браузере, без необходимости получения рута.
Библиотека на GitHub: https://github.com/amitshekhariitbhu/Android-Debug-Database
Платформа: Android
⭐️: 7.9К
Библиотека на GitHub: https://github.com/amitshekhariitbhu/Android-Debug-Database
Платформа: Android
⭐️: 7.9К
Запустился Advent of Code 2021
Advent of Code - это адвент календарь с ежедневными небольшими программными задачами, которые можно решить на любом языке программирования. Их можно использовать для соревнования на скорость (на сайте есть рейтинг участников) или подготовки к собеседованиям, обучения или тренировки в решении практических задач.
Сайт: https://adventofcode.com/
Платформа: программирование
Advent of Code - это адвент календарь с ежедневными небольшими программными задачами, которые можно решить на любом языке программирования. Их можно использовать для соревнования на скорость (на сайте есть рейтинг участников) или подготовки к собеседованиям, обучения или тренировки в решении практических задач.
Сайт: https://adventofcode.com/
Платформа: программирование
Android Developer Roadmap 2022: карта навыков и модель развития Android-разработчика
Android Developer Roadmap 2022 предлагает способ обучения и понимания разработки под Android. Этот рекомендуемый путь обучения от простого к сложному, который поможет вам быстрее перейти к практике.
Ссылка: https://apptractor.ru/drdrdmp
Платформа: Android
⭐️: 401
Android Developer Roadmap 2022 предлагает способ обучения и понимания разработки под Android. Этот рекомендуемый путь обучения от простого к сложному, который поможет вам быстрее перейти к практике.
Ссылка: https://apptractor.ru/drdrdmp
Платформа: Android
⭐️: 401
Swift Identified Collections - библиотека для производительной работы с коллекциями идентифицируемых элементов. Она позволяет упростить работу с массивами и избежать многих проблем, которые им присущи.
Библиотека на GitHub: https://github.com/pointfreeco/swift-identified-collections
Платформа: Swift/iOS
⭐️: 165
Библиотека на GitHub: https://github.com/pointfreeco/swift-identified-collections
Платформа: Swift/iOS
⭐️: 165
Видео
Разработка
• Обеспечение качества мобильной разработки в hh.ru
• Мобильной разработки не будет через 5 лет
• Автоматизация релизной рутины
iOS
• YooIKit: UI в ЮMoney
• Кастомизация панели навигации с помощью UINavigationBarAppearance в SwiftUI 3.0 (англ)
Android
• Идеальный SDK для Android приложений: как выбрать и существует ли?
• Android Broadcast: новости
• Kotlin Roadmap Highlights November 2021 (англ)
• Опасности Jetpack Compose (англ)
Разработка
• Обеспечение качества мобильной разработки в hh.ru
• Мобильной разработки не будет через 5 лет
• Автоматизация релизной рутины
iOS
• YooIKit: UI в ЮMoney
• Кастомизация панели навигации с помощью UINavigationBarAppearance в SwiftUI 3.0 (англ)
Android
• Идеальный SDK для Android приложений: как выбрать и существует ли?
• Android Broadcast: новости
• Kotlin Roadmap Highlights November 2021 (англ)
• Опасности Jetpack Compose (англ)
AppTractor
Обеспечение качества мобильной разработки в hh.ru
В этом видео HH.ru рассказывает, как обеспечивается качество мобильных приложений в компании.
Не пишем код целый месяц и нам нормально
Праздничные дни для Додо Пиццы — дни высокой нагрузки. К таким дням мы готовимся заранее и заводим специальные правила.
Самое жаркое время — в декабре: много корпоративов, заказы становятся больше, но и прибыль выше. Во многих городах плохая погода — где-то снег только выпал и дороги не расчищены, где-то очень холодно. Всё вместе это создаёт нагрузку и на IT, и на бизнес. Чтобы быть готовыми, мы регулярно проводим нагрузочные тестирования, повышаем закупки ингредиентов, распределяем заказы по пиццериям и много чего ещё.
Для мобильных разработчиков конец года раньше тоже был особенным: с 23 по 27 декабря App Store закрывался на рождественские праздники. Расскажу, как эти ограничения влияют на разработку, какие ошибки мы совершили в прошлые годы и что меняется в расписании. Возможно, что-то из практик пригодится и вам: подсветит риски, поможет договориться о код-фризе с бизнесом.
Статья: https://apptractor.ru/ddncd
Платформа: разработка
⬆️: +17
Праздничные дни для Додо Пиццы — дни высокой нагрузки. К таким дням мы готовимся заранее и заводим специальные правила.
Самое жаркое время — в декабре: много корпоративов, заказы становятся больше, но и прибыль выше. Во многих городах плохая погода — где-то снег только выпал и дороги не расчищены, где-то очень холодно. Всё вместе это создаёт нагрузку и на IT, и на бизнес. Чтобы быть готовыми, мы регулярно проводим нагрузочные тестирования, повышаем закупки ингредиентов, распределяем заказы по пиццериям и много чего ещё.
Для мобильных разработчиков конец года раньше тоже был особенным: с 23 по 27 декабря App Store закрывался на рождественские праздники. Расскажу, как эти ограничения влияют на разработку, какие ошибки мы совершили в прошлые годы и что меняется в расписании. Возможно, что-то из практик пригодится и вам: подсветит риски, поможет договориться о код-фризе с бизнесом.
Статья: https://apptractor.ru/ddncd
Платформа: разработка
⬆️: +17
Forwarded from Mobile Development by AppTractor
Android Meetup СберМаркет Tech 9 декабря в 18:00📱
На митапе вы узнаете:
— Как интегрировать Swift в React Native? Что такое нативный компомент и как его написать с shadow view и yoga?
— Как организовать структуру пайплайнов и внедрить Continuous Integration в React Native проект?
— Зачем использовать JetpackCompose внутри React Native?
— Как эволюционировали архитектурные подходы в мобильной разработке?
Регистрация и подробности программы: https://sbermarket.timepad.ru/event/1851300/
На митапе вы узнаете:
— Как интегрировать Swift в React Native? Что такое нативный компомент и как его написать с shadow view и yoga?
— Как организовать структуру пайплайнов и внедрить Continuous Integration в React Native проект?
— Зачем использовать JetpackCompose внутри React Native?
— Как эволюционировали архитектурные подходы в мобильной разработке?
Регистрация и подробности программы: https://sbermarket.timepad.ru/event/1851300/
Dadb - библиотека Kotlin/Java для прямого подключения к устройству Android без двоичного файла adb или сервера ADB.
Библиотека на GitHub: https://github.com/mobile-dev-inc/dadb
Платформа: Android
⭐️: 186
Библиотека на GitHub: https://github.com/mobile-dev-inc/dadb
Платформа: Android
⭐️: 186
Дело об исчезнувшем покрытии кода
Однажды, после штатного обновления версий библиотек, когда-то достаточно популярный плагин JaCoCo перестал считать покрытие кода тестами на одном из наших проектов в Каруне. Усердный поиск хоть как-то похожих проблем не принёс результатов. Помощи ждать было неоткуда, поэтому нам пришлось погрузиться в вопрос. Как же мы смогли вернуть покрытие?
Ссылка: https://apptractor.ru/kvrg
Платформа: Android
⬆️: 11
Однажды, после штатного обновления версий библиотек, когда-то достаточно популярный плагин JaCoCo перестал считать покрытие кода тестами на одном из наших проектов в Каруне. Усердный поиск хоть как-то похожих проблем не принёс результатов. Помощи ждать было неоткуда, поэтому нам пришлось погрузиться в вопрос. Как же мы смогли вернуть покрытие?
Ссылка: https://apptractor.ru/kvrg
Платформа: Android
⬆️: 11
Разработка SharePlay игры
SharePlay - это новый фреймворк, который Apple представила в iOS 15.1 и которая позволяет людям в FaceTime вместе смотреть фильмы или слушать музыку. Один человек инициирует сеанс SharePlay, и все остальные участники вызова могут присоединиться. После того, как все присоединились, фильм или музыка автоматически синхронизируются для всех участников сеанса, включая паузы и поиск контента. Поскольку вы участвуете в вызове FaceTime, вы можете видеть и слышать всех участников вызова, пока вы смотрите фильм или слушаете музыку.
Статья: https://apptractor.ru/shrpl
Платформа: iOS
SharePlay - это новый фреймворк, который Apple представила в iOS 15.1 и которая позволяет людям в FaceTime вместе смотреть фильмы или слушать музыку. Один человек инициирует сеанс SharePlay, и все остальные участники вызова могут присоединиться. После того, как все присоединились, фильм или музыка автоматически синхронизируются для всех участников сеанса, включая паузы и поиск контента. Поскольку вы участвуете в вызове FaceTime, вы можете видеть и слышать всех участников вызова, пока вы смотрите фильм или слушаете музыку.
Статья: https://apptractor.ru/shrpl
Платформа: iOS
Messenger Clone - простое приложение, позволяющее за минуты добавить в свое iOS-приложение чат. Оно использует MessageKit и хранит данные в Firebase Firestore. Дизайн приложения вдохновлен Facebook Messenger.
Проект на GitHub: https://github.com/instamobile/messenger-iOS-chat-swift-firestore
Платформа: iOS
⭐️: 490
Проект на GitHub: https://github.com/instamobile/messenger-iOS-chat-swift-firestore
Платформа: iOS
⭐️: 490
Первый взгляд на Material You
Во время конференции I/O 2021 Google анонсировал новый этап Material Design — Material You (или M3). Этот новый дизайн, впервые появившийся в Android 12, ориентирован на кастомизацию, отзывчивость и доступность, делая устройства еще более личными.
С момента первого объявления Google выпускает все больше и больше контента, руководств и библиотек, чтобы помочь разработчикам использовать Material You и создавать красивые и выразительные приложения. В этой статье мы рассмотрим некоторые ключевые концепции и узнаем больше об этом новом подходе к дизайну.
Перевод статьи: https://apptractor.ru/mtrlu
Платформа: Android
👋: 148
Во время конференции I/O 2021 Google анонсировал новый этап Material Design — Material You (или M3). Этот новый дизайн, впервые появившийся в Android 12, ориентирован на кастомизацию, отзывчивость и доступность, делая устройства еще более личными.
С момента первого объявления Google выпускает все больше и больше контента, руководств и библиотек, чтобы помочь разработчикам использовать Material You и создавать красивые и выразительные приложения. В этой статье мы рассмотрим некоторые ключевые концепции и узнаем больше об этом новом подходе к дизайну.
Перевод статьи: https://apptractor.ru/mtrlu
Платформа: Android
👋: 148
Удивительная цена соответствия протоколу в Swift
Проверки соответствия протоколу - это когда среде выполнения необходимо проверить, соответствует ли переменная протоколу. В вашем коде это выглядит как
Из релизных заметок мы знаем, что операции as? достаточно медленные и можно работать «значительно» быстрее, но насколько они медленны?
Статья: https://apptractor.ru/asconf
Платформа: Swift/iOS
Проверки соответствия протоколу - это когда среде выполнения необходимо проверить, соответствует ли переменная протоколу. В вашем коде это выглядит как
myVar as? MyProtocol
. Обратите внимание, что операции as? также могут использоваться для приведения переменных к непротокольным типам, и они не вызывают проверку соответствия протоколу. Это часть природы динамической среды выполнения Swift. Оператор as? указывает, что во время компиляции будет потрачено время из-за отсутствия гарантии типа.Из релизных заметок мы знаем, что операции as? достаточно медленные и можно работать «значительно» быстрее, но насколько они медленны?
Статья: https://apptractor.ru/asconf
Платформа: Swift/iOS
Sketch - библиотека обработки изображений для Kotlin. Поддерживает поворот, ресайз, вырезание, закругление углов, добавление рамок, текста, эффектов и и т.п. Sketch не требует внешних зависимостей, таких как OpenCV или OCR. На самом деле это библиотека с нулевой зависимостью, разработанная для простоты и которая служит оберткой для Java AWT BufferedImage. Библиотека предоставляет асинхронный интерфейс для всех операций с изображениями.
Библиотека на GitHub: https://github.com/reugn/sketch
Платформа: Android
⭐️: 26
Библиотека на GitHub: https://github.com/reugn/sketch
Платформа: Android
⭐️: 26
Android App Shortcuts: static, dynamic, and pinned shortcuts. Использование в реальном проекте
В наше время прогресса, когда сложные системы стараются стать проще для потребителя, операционные системы, такие как Android, пытаются следовать тем же путем, стараясь привлечь всё нового и нового потребителя своих услуг. Функционал Android App Shortcuts может упростить некоторые повседневные функции, такие как, например, отправка сообщения, загрузка в мобильной игре последней контрольной точки или, как в нашем случае, проложить маршрут к избранному адресу и просчитать стоимость поездки в приложении заказа такси нажатием одной кнопки.
Статья: https://apptractor.ru/shrtcts
Платформа: Android
⬆️: 4
В наше время прогресса, когда сложные системы стараются стать проще для потребителя, операционные системы, такие как Android, пытаются следовать тем же путем, стараясь привлечь всё нового и нового потребителя своих услуг. Функционал Android App Shortcuts может упростить некоторые повседневные функции, такие как, например, отправка сообщения, загрузка в мобильной игре последней контрольной точки или, как в нашем случае, проложить маршрут к избранному адресу и просчитать стоимость поездки в приложении заказа такси нажатием одной кнопки.
Статья: https://apptractor.ru/shrtcts
Платформа: Android
⬆️: 4
Как структурировать свой Swift-код
Приходилось ли вам когда-нибудь возвращаться к проекту и находить его неряшливым? Все в нем беспорядочно и неорганизованно. Если вы уже давно занимаетесь программированием, вы, вероятно, прошли через это, и мы можем понять друг друга. Но даже если нет, эта статья поможет вам в дальнейшем писать хорошо организованный код.
Позвольте представить вам метод, который я называю Код Бургера (Burger Code).
Перевод статьи: https://apptractor.ru/brgrcd
Платформа: программирование/Swift
👋: 545
Приходилось ли вам когда-нибудь возвращаться к проекту и находить его неряшливым? Все в нем беспорядочно и неорганизованно. Если вы уже давно занимаетесь программированием, вы, вероятно, прошли через это, и мы можем понять друг друга. Но даже если нет, эта статья поможет вам в дальнейшем писать хорошо организованный код.
Позвольте представить вам метод, который я называю Код Бургера (Burger Code).
Перевод статьи: https://apptractor.ru/brgrcd
Платформа: программирование/Swift
👋: 545
Видео Mobius 2021 Moscow
В программе 13 докладов:
Martin Mitrevski — Training dynamic ML models on iOS 15
Роман Аймалетдинов — Код, рожденный умереть
Сергей Вихляев — Архитектура, и как ее готовить
«Своя игра»: Mobius edition
Ильмир Усманов — Kotlin IR: прошлое, настоящее и будущее
Анастасия Соколан — Вдохновившись SwiftUI, создаем дизайн систему на UIKit
Никита Типун — Как заваривать декларативный чай
Александр Верещагин (Devexperts) — Как мы внедряли Kotlin Multiplatform
Андрей Чупин — Ускоряем сетевой слой ВКонтакте с HTTP/3
Вадим Петров, Александр Семашко — Как мы ускоряли создание процессов в Android
Данис Тазетдинов — SharePlay и другие способы связать пользователей iOS друг с другом
Михаил Зотьев, Евгений Сатуров — Мифы и правдивые истории про Flutter
Виталий Фридман — Разочаровавшие паттерны мобильной разработки в 2021 году — как сделать их лучше
Видео: https://apptractor.ru/info/media/video-mobius-2021-moscow.html
Платформа: iOS/Android/CrossPlatform
В программе 13 докладов:
Martin Mitrevski — Training dynamic ML models on iOS 15
Роман Аймалетдинов — Код, рожденный умереть
Сергей Вихляев — Архитектура, и как ее готовить
«Своя игра»: Mobius edition
Ильмир Усманов — Kotlin IR: прошлое, настоящее и будущее
Анастасия Соколан — Вдохновившись SwiftUI, создаем дизайн систему на UIKit
Никита Типун — Как заваривать декларативный чай
Александр Верещагин (Devexperts) — Как мы внедряли Kotlin Multiplatform
Андрей Чупин — Ускоряем сетевой слой ВКонтакте с HTTP/3
Вадим Петров, Александр Семашко — Как мы ускоряли создание процессов в Android
Данис Тазетдинов — SharePlay и другие способы связать пользователей iOS друг с другом
Михаил Зотьев, Евгений Сатуров — Мифы и правдивые истории про Flutter
Виталий Фридман — Разочаровавшие паттерны мобильной разработки в 2021 году — как сделать их лучше
Видео: https://apptractor.ru/info/media/video-mobius-2021-moscow.html
Платформа: iOS/Android/CrossPlatform