Основы iOS-разработки в Revolut
Давайте заглянем за кулисы iOS-разработки в Revolut, где мы стремимся предоставить исключительные финансовые услуги и беспроблемный опыт для клиентов, которые полагаются на наши iOS-приложения для управления своей финансовой жизнью.
Мы верим, что можно быстро создать высококачественное программное обеспечение. Для этого мы следуем ряду важных принципов и применяем ряд современных Agile-практик, в основном вдохновленных XP (eXtreme Programming).
Перевод: https://apptractor.ru/info/articles/osnovy-ios-razrabotki-v-revolut.html
Платформа: iOS
Раньше было: Основы Android-разработки в Revolut
Давайте заглянем за кулисы iOS-разработки в Revolut, где мы стремимся предоставить исключительные финансовые услуги и беспроблемный опыт для клиентов, которые полагаются на наши iOS-приложения для управления своей финансовой жизнью.
Мы верим, что можно быстро создать высококачественное программное обеспечение. Для этого мы следуем ряду важных принципов и применяем ряд современных Agile-практик, в основном вдохновленных XP (eXtreme Programming).
Перевод: https://apptractor.ru/info/articles/osnovy-ios-razrabotki-v-revolut.html
Платформа: iOS
Раньше было: Основы Android-разработки в Revolut
🤮2
Openpanel — альтернатива Mixpanel с открытым исходным кодом. Это простой инструмент аналитики для регистрации событий на сайте, в приложениях и на бэкенде. Авторы попытались объединить Mixpanel и Plausible в одном продукте. Сейчас есть аналитика в реальном времени, отслеживание произвольного количества событий, любые кастомные свойства для них, графики, отчеты и воронки, хостинг в любом облаке.
SDK для мобильных платформ (кроме React Native) пока нет, но есть API.
Openpanel на GitHub: https://github.com/Openpanel-dev/openpanel
Платформа: аналитика
⭐️: 2.3K
SDK для мобильных платформ (кроме React Native) пока нет, но есть API.
Openpanel на GitHub: https://github.com/Openpanel-dev/openpanel
Платформа: аналитика
⭐️: 2.3K
Видео и подкасты за неделю:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Посоветуйте в комментариях интересные каналы по мобильной или не очень разработке? 🌐 @AppFiles
#ios #android #mobile #video
•
(iOS Ru) Как писать игры на Swift для Playdate•
(iOS Ru) Мок-собеседование iOS-разработчика. SwiftUI (+ все собеседования)•
(iOS Ru) Макросы Swift: проще, чище, быстрее•
(iOS Ru) Мы решили все проблемы работы в модульном проекте. Хотите так же?•
(iOS En) Flip Clock Text Effect - SwiftUI•
(iOS En) Expandable Search Bar using SwiftUI•
(iOS En) Hacker Text Effect using SwiftUI•
(iOS En) Spotlight your app with App Shortcuts•
(iOS En) Update Live Activities with push notifications•
(iOS En) Discover Calendar and EventKit•
(iOS En) Create a great ShazamKit experience•
(iOS En) How to cache the result of API calls (using NSCache)•
(And Ru) Разработка новостного приложения. Часть 7. Загрузка в Google Play•
(And Ru) Разработка новостного приложения. Часть 6. Что я сделал не так•
(And Ru) Оптимизация Compose: проблемы, опыт, тактика, стратегия•
(And En) Now in Android: 105 - I/O ‘24, Android 15, KMP, Compose, AndroidX, and more•
(And En) List + Detail Screens Just Got SO MUCH Easier - NavigableListDetailPaneScaffold•
(And En) Building an Android Video Calling App With the Stream SDK•
(And En) Mastering Feature Flags: Best Practices with Firebase Remote Config•
(And En) The Essence of Coroutines•
(Crs Ru) 5 лет с Flutter: эволюция кроссплатформенности•
(Crs Ru) Flutter-диета. Как сбросить вес, выпиливая модули•
(Crs En) Can a backend engineer learn Flutter with AI?•
(Dev Ru) Прокачиваем Code Review: как выжать максимум?•
(Dev Ru) Пишем нативно под Аврора ОС как под iOS: Clean-архитектура, Coordinator и UDF•
(Dev Ru) Avito Product meetup: ML-продукты•
(Dev Ru) Маргарита Лукина про Frontend, высшее образование, софт-скиллы и женщин в IT•
(Dev Ru) Observability, Profiling и Benchmarking как основа High Performance•
(Dev En) Linear Algebra Course – Mathematics for Machine Learning and Generative AI•
(Mrk En) Why Duolingo’s Engagement Strategy Won’t Work For Every App — Asya Paloni, WelltoryПосоветуйте в комментариях интересные каналы по мобильной или не очень разработке? 🌐 @AppFiles
#ios #android #mobile #video
AppTractor
Как писать игры на Swift для Playdate
Playdate это портативная консоль с черно-белым экраном и ручкой для кручения.
Jetmagic - фреймворк для создания отзывчивых приложений для Android с использованием Jetpack Compose. Основная задача Jetmagic - предоставить инфраструктуру, необходимую для управления composable элементами, а вы при этом сможете сосредоточиться на создании основной задачи вашего продукта. Фреймворк состоит из следующих компонентов:
• Менеджер навигации: Замена стандартного навигационного API Jetpack Compose для Android.
• Composable Resource Manager (CRM): Обеспечивает поддержку отзывчивых макетов, позволяя приложениям легко переключаться между «макетами», подобно тому, как альтернативные xml-макеты выбираются на основе конфигурации устройства с использованием таких параметров, как язык/регион, ориентация устройства, размер экрана, плотность экрана и т. д.
• Менеджер изображений: Управляет композитными изображениями.
• Deep Linking: Обеспечивает поддержку глубоких ссылок.
Jetmagic на GitHub: https://github.com/JohannRosenberg/Jetmagic
Платформа: Android
⭐️: 158
• Менеджер навигации: Замена стандартного навигационного API Jetpack Compose для Android.
• Composable Resource Manager (CRM): Обеспечивает поддержку отзывчивых макетов, позволяя приложениям легко переключаться между «макетами», подобно тому, как альтернативные xml-макеты выбираются на основе конфигурации устройства с использованием таких параметров, как язык/регион, ориентация устройства, размер экрана, плотность экрана и т. д.
• Менеджер изображений: Управляет композитными изображениями.
• Deep Linking: Обеспечивает поддержку глубоких ссылок.
Jetmagic на GitHub: https://github.com/JohannRosenberg/Jetmagic
Платформа: Android
⭐️: 158
DPE University - обучение Gradle, Apache Maven и Develocity
Разработчики Gradle запустили новый учебный портал - DPE University. Он содержит курсы для самостоятельного обучения и призван помочь разработчикам программного обеспечения и инженерам по сборке получить максимум от инструментов сборки Gradle и Maven, а также от Develocity, платформы для повышения производительности разработчиков для предприятий.
Сейчас в DPE University уже есть десять основополагающих курсов, которые можно изучать по отдельности или в рамках четырех учебных потоков:
• Кэширование сборок в Gradle
• Кэширование сборок Maven с помощью Develocity
• Кэширование Gradle с Develocity
• Основы Develocity
Курсы углубленно изучают особенности конкретных технологий и включают практические занятия для отработки и закрепления полученных знаний. Учитесь вы самостоятельно, поэтому вы можете сами решать, когда и где этим заниматься.
Сайт: https://dpeuniversity.gradle.com/
Платформа: Android
Разработчики Gradle запустили новый учебный портал - DPE University. Он содержит курсы для самостоятельного обучения и призван помочь разработчикам программного обеспечения и инженерам по сборке получить максимум от инструментов сборки Gradle и Maven, а также от Develocity, платформы для повышения производительности разработчиков для предприятий.
Сейчас в DPE University уже есть десять основополагающих курсов, которые можно изучать по отдельности или в рамках четырех учебных потоков:
• Кэширование сборок в Gradle
• Кэширование сборок Maven с помощью Develocity
• Кэширование Gradle с Develocity
• Основы Develocity
Курсы углубленно изучают особенности конкретных технологий и включают практические занятия для отработки и закрепления полученных знаний. Учитесь вы самостоятельно, поэтому вы можете сами решать, когда и где этим заниматься.
Сайт: https://dpeuniversity.gradle.com/
Платформа: Android
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
SweetPad - разработка Swift/iOS-приложений с помощью VSCode. Долгосрочная цель этого проекта - сделать VSCode жизнеспособной альтернативой Xcode для разработки под iOS, интегрировав в VSCode такие инструменты с открытым исходным кодом, как swift-format, swiftlint, xcodebuild, xcrun, xcode-build-server, sourcekit-lsp и так далее.
Сейчас в нем реализовано автодополнение кода, сборка, запуск и отладка приложения, форматирование кода, управление симуляторами, управление инструментами.
SweetPad на GitHub: https://github.com/sweetpad-dev/sweetpad
Платформа: iOS
⭐️: 77
Сейчас в нем реализовано автодополнение кода, сборка, запуск и отладка приложения, форматирование кода, управление симуляторами, управление инструментами.
SweetPad на GitHub: https://github.com/sweetpad-dev/sweetpad
Платформа: iOS
⭐️: 77
Как я преподавал алгоритмы в 4 местах и проходил iOS-курсы. Что помогло получить работу?
Год назад я стал разработчиком в Альфе — помогли несколько курсов и 5 лет преподавания. Я не кандидат наук и даже не закончил вуз. Так получилось, что я вёл информатику, веб и даже алгоритмы для разработчиков банка.
В статье расскажу, почему я так прикипел к образованию. После курсов iOS меня стали расспрашивать о входе в ИТ. Я считаю себя самым обычным человеком, но решил поделиться — учиться на чужом опыте приятнее, чем набивать свои шишки.
Статья: https://habr.com/ru/companies/alfa/articles/818603/
Платформа: iOS
Год назад я стал разработчиком в Альфе — помогли несколько курсов и 5 лет преподавания. Я не кандидат наук и даже не закончил вуз. Так получилось, что я вёл информатику, веб и даже алгоритмы для разработчиков банка.
В статье расскажу, почему я так прикипел к образованию. После курсов iOS меня стали расспрашивать о входе в ИТ. Я считаю себя самым обычным человеком, но решил поделиться — учиться на чужом опыте приятнее, чем набивать свои шишки.
Статья: https://habr.com/ru/companies/alfa/articles/818603/
Платформа: iOS
Как создать аудиоплеер. Часть 2. Использование ExoPlayer
Продолжаю рассказывать вам о том, как можно создать аудиоплеер в приложении. Во второй части гайда мы поговорим об использовании ExoPlayer.
Статья: https://habr.com/ru/companies/zvuk/articles/816671/
Платформа: Android
Продолжаю рассказывать вам о том, как можно создать аудиоплеер в приложении. Во второй части гайда мы поговорим об использовании ExoPlayer.
Статья: https://habr.com/ru/companies/zvuk/articles/816671/
Платформа: Android
Как использовать UIContentUnavailableConfiguration для управления пустыми состояниями
Представление UIContentUnavailableConfiguration направлено на упрощение процесса создания пустых состояний для контроллеров представления.
По словам Apple, UIContentUnavailableConfiguration представляет собой composable описание пустого состояния и может быть снабжено содержимым-заполнителем, например, изображением или текстом.
Статья: https://apptractor.ru/info/articles/uicontentunavailableconfiguration.html
Платформа: iOS
Представление UIContentUnavailableConfiguration направлено на упрощение процесса создания пустых состояний для контроллеров представления.
По словам Apple, UIContentUnavailableConfiguration представляет собой composable описание пустого состояния и может быть снабжено содержимым-заполнителем, например, изображением или текстом.
Статья: https://apptractor.ru/info/articles/uicontentunavailableconfiguration.html
Платформа: iOS
ModuleCheck - быстрая проверка графа зависимостей для Gradle. ModuleCheck выявляет неиспользуемые внутренние зависимости в проекте Gradle. Он делает это без выполнения сборки, что делает парсинг чрезвычайно быстрым. Для проверки используются файлы сборки Gradle, исходники Java/Kotlin и res xml-файлы для Kotlin.
ModuleCheck на GitHub: https://github.com/rickbusarow/ModuleCheck
Платформа: Android
⭐️: 113
ModuleCheck на GitHub: https://github.com/rickbusarow/ModuleCheck
Платформа: Android
⭐️: 113
ChatGPT для Swift: 5 лучших промптов для генерации кода
Использование ChatGPT для генерации кода на Swift может значительно повысить вашу производительность. Хотя я не уверен, что ИИ займет место разработчиков, я уверен, что разработчики, не знающие, как использовать ИИ в своих интересах, станут писать код гораздо медленнее.
1. Создание структур для заданного JSON
2. Написание модульных тестов для заданного фрагмента кода
2.1 Бонус: генерация моков
3. Конкретные вопросы по коду
4. Добавление документации
5. Предложение улучшения кода
Статья: https://apptractor.ru/info/articles/chatgpt-dlya-swift-5-luchshih-promptov-dlya-generatsii-koda.html
Платформа: разработка
Использование ChatGPT для генерации кода на Swift может значительно повысить вашу производительность. Хотя я не уверен, что ИИ займет место разработчиков, я уверен, что разработчики, не знающие, как использовать ИИ в своих интересах, станут писать код гораздо медленнее.
1. Создание структур для заданного JSON
2. Написание модульных тестов для заданного фрагмента кода
2.1 Бонус: генерация моков
3. Конкретные вопросы по коду
4. Добавление документации
5. Предложение улучшения кода
Статья: https://apptractor.ru/info/articles/chatgpt-dlya-swift-5-luchshih-promptov-dlya-generatsii-koda.html
Платформа: разработка
AppTractor
ChatGPT для Swift: 5 лучших промптов для генерации кода
Использование ChatGPT для генерации кода на Swift может значительно повысить вашу производительность. Хотя я не уверен, что ИИ займет место разработчиков, я уверен, что разработчики, не знающие, как использовать ИИ в своих интересах, станут писать код гораздо…
Погружение в мир Lint'a в Android-проекте
Статические анализаторы уже давно являются неотъемлемой частью разработки проектов не только на Android. Они позволяют выявлять ошибки, несоответствия стандартам code style, производительности или безопасности, обозначать какие-то узкие места, сокращать code review и т. д. Android Studio (далее просто студия) «из коробки» содержит огромное количество всевозможных проверок, но, как правило, этого недостаточно, всегда есть какие-то неучтённые проблемы, внутренние правила компании или команды разработки. Кратко расскажем про Lint, как начинали делать свои правила, с какими задачами сталкивались на первых этапах и как решали. Это поможет вам впервые погрузиться в тему, так как интернет весьма скуден на статьи по ней.
Статья: https://habr.com/ru/companies/domclick/articles/818067/
Платформа: Android
Статические анализаторы уже давно являются неотъемлемой частью разработки проектов не только на Android. Они позволяют выявлять ошибки, несоответствия стандартам code style, производительности или безопасности, обозначать какие-то узкие места, сокращать code review и т. д. Android Studio (далее просто студия) «из коробки» содержит огромное количество всевозможных проверок, но, как правило, этого недостаточно, всегда есть какие-то неучтённые проблемы, внутренние правила компании или команды разработки. Кратко расскажем про Lint, как начинали делать свои правила, с какими задачами сталкивались на первых этапах и как решали. Это поможет вам впервые погрузиться в тему, так как интернет весьма скуден на статьи по ней.
Статья: https://habr.com/ru/companies/domclick/articles/818067/
Платформа: Android
Jetpack Compose: совместимость с System UI и иммерсивная строка состояния
Во многих случаях мы хотим, чтобы область отрисовки приложения расширялась до системного интерфейса или динамически устанавливала их цвета для достижения лучшего пользовательского опыта.
Много лет назад для реализации иммерсивной строки состояния требовалось установить кучу флагов, XML-конфигураций и т д. Однако времена изменились, и теперь AndroidX предоставляет более удобные инструменты. В этой статье мы расскажем, как добиться эффекта погружения с помощью Jetpack Compose.
Статья: https://apptractor.ru/info/articles/jetpack-compose-sovmestimost-s-system-ui-i-immersivnaya-stroka-sostoyaniya.html
Платформа: Android
Во многих случаях мы хотим, чтобы область отрисовки приложения расширялась до системного интерфейса или динамически устанавливала их цвета для достижения лучшего пользовательского опыта.
Много лет назад для реализации иммерсивной строки состояния требовалось установить кучу флагов, XML-конфигураций и т д. Однако времена изменились, и теперь AndroidX предоставляет более удобные инструменты. В этой статье мы расскажем, как добиться эффекта погружения с помощью Jetpack Compose.
Статья: https://apptractor.ru/info/articles/jetpack-compose-sovmestimost-s-system-ui-i-immersivnaya-stroka-sostoyaniya.html
Платформа: Android
SwiftfulRouting - это нативный декларативный фреймворк, который обеспечивает программную навигацию в приложениях SwiftUI.
Маршрутизаторы, основанные на программном коде, не декларируют иерархию представлений заранее, а только во время выполнения. Однако SwiftUI является декларативным, и поэтому мы должны заранее объявлять иерархию представлений. Решение заключается в том, чтобы преобразовать декларативный код SwiftUI в программный, подключив модификаторы представления для поддержки маршрутизации заранее.
При переходе на новый экран фреймворк добавляет в корень целевого View набор модификаторов представления, которые будут поддерживать все потенциальные маршруты навигации. Модификаторы основаны на дженериках и/или type-erased пунктах назначения, что сохраняет декларативную иерархию представлений и позволяет разработчику определять пункт назначения на этапе выполнения.
SwiftfulRouting на GitHub: https://github.com/SwiftfulThinking/SwiftfulRouting
Платформа: iOS
⭐️: 338
Маршрутизаторы, основанные на программном коде, не декларируют иерархию представлений заранее, а только во время выполнения. Однако SwiftUI является декларативным, и поэтому мы должны заранее объявлять иерархию представлений. Решение заключается в том, чтобы преобразовать декларативный код SwiftUI в программный, подключив модификаторы представления для поддержки маршрутизации заранее.
При переходе на новый экран фреймворк добавляет в корень целевого View набор модификаторов представления, которые будут поддерживать все потенциальные маршруты навигации. Модификаторы основаны на дженериках и/или type-erased пунктах назначения, что сохраняет декларативную иерархию представлений и позволяет разработчику определять пункт назначения на этапе выполнения.
SwiftfulRouting на GitHub: https://github.com/SwiftfulThinking/SwiftfulRouting
Платформа: iOS
⭐️: 338
Как мы строили BDUI: опыт Яндекс Маркета
Меня зовут Алексей Морозов. Я уже несколько лет работаю в инфраструктурной команде Яндекс Маркета. Наша команда делает проекты, которые должны были улучшить скорость приложения, его качество и скорость разработки. Однако раньше такие проекты решали эти проблемы только на время, приложение снова деградировало. Всё это напоминает древнегреческий миф, в котором Сизиф толкает в гору камень, он скатывается вниз, и всё начинается по новой.
Такое положение дел нас не устраивало, поэтому было принято решение изменить подход. И мы построили BDUI (Backend Driven UI). В этой статье я расскажу о том, как это случилось, что сделали и какой в итоге получили результат.
Статья: https://habr.com/ru/companies/yandex/articles/819531/
Платформа: разработка
Меня зовут Алексей Морозов. Я уже несколько лет работаю в инфраструктурной команде Яндекс Маркета. Наша команда делает проекты, которые должны были улучшить скорость приложения, его качество и скорость разработки. Однако раньше такие проекты решали эти проблемы только на время, приложение снова деградировало. Всё это напоминает древнегреческий миф, в котором Сизиф толкает в гору камень, он скатывается вниз, и всё начинается по новой.
Такое положение дел нас не устраивало, поэтому было принято решение изменить подход. И мы построили BDUI (Backend Driven UI). В этой статье я расскажу о том, как это случилось, что сделали и какой в итоге получили результат.
Статья: https://habr.com/ru/companies/yandex/articles/819531/
Платформа: разработка
🔥2
Bytemask - плагин Gradle для Android, который маскирует секретные строки приложения в исходном коде, затрудняя их извлечение с помощью реверс-инжиниринга. Он шифрует строки во время компиляции с помощью ключа подписи приложения и расшифровывает во время выполнения.
Bytemask на GitHub: https://github.com/PatilShreyas/bytemask
Платформа: Android
⭐️: 102
Bytemask на GitHub: https://github.com/PatilShreyas/bytemask
Платформа: Android
⭐️: 102
GPT vs Copilot: кто лучший помощник в написании UI-тестов для iOS?
В этой статье я расскажу, как использовал LLM для написания UI-тестов, и сравню результаты ChatGPT и Copilot.
Статья: https://habr.com/ru/companies/lamoda/articles/819751/
Платформа: iOS
В этой статье я расскажу, как использовал LLM для написания UI-тестов, и сравню результаты ChatGPT и Copilot.
Статья: https://habr.com/ru/companies/lamoda/articles/819751/
Платформа: iOS
Видео и подкасты за неделю:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Посоветуйте в комментариях интересные каналы по мобильной или не очень разработке? 🌐 @AppFiles
#ios #android #mobile #video
•
(iOS Ru) Как не наломать дров с Live Activity•
(iOS En) Glitch Text Effect - SwiftUI•
(iOS En) Vertical Circular Carousel - SwiftUI•
(iOS En) Modern UIKit: Sneak Peek, Part 1•
(iOS En) Meet Core Location Monitor•
(iOS En) Detect animal poses in Vision•
(And Ru) Кодревью опенсорс проекта или как выглядят 10 лет технического долга•
(And Ru) Сколько памяти нужно для сборки? Android-разработчикам о JVM•
(And Ru) Что скрывает State в Compose•
(And En) Automatically Adjust Navigation Based On Screen Size With NavigationSuiteScaffold•
(And En) Kotlin 2.0, Google IO, Android 15 and More•
(And En) KotlinConfersations'24•
(And En) Compose Migration Side Effects - What Can Go Wrong?•
(Crs Ru) Best practices локальной аутентификации на Flutter•
(Crs En) Full Stack Flutter, Firebase and Riverpod – Build a YouTube Clone•
(Dev Ru) Баланс между скоростью и надежностью: переиспользовать нельзя перепроверять•
(Ind Ru) Инди-хакинг: как программисту работать на себя — доход на пет-проектах•
(Dev Ru) Разработчики против тестирования•
(Dev Ru) Побывав в шкуре тимлида - взгляд разработчика изнутриПосоветуйте в комментариях интересные каналы по мобильной или не очень разработке? 🌐 @AppFiles
#ios #android #mobile #video
Check Update iOS - проверяет наличие новой версии в App Store. Если такая есть, пользователя можно принудительно отправить на обновление или выдать диалог с возможностью скачать новую версию позднее. Работает и с TestFlight.
Check Update iOS на GitHub: https://github.com/acarolsf/checkVersion-iOS
Платформа: iOS
⭐️: 82
Check Update iOS на GitHub: https://github.com/acarolsf/checkVersion-iOS
Платформа: iOS
⭐️: 82
KotStep - это библиотека Jetpack Compose, которая упрощает создание пошаговых UI-компонентов в ваших Android-приложениях. Она позволяет легко интегрировать вертикальные и горизонтальные степперы с иконками, заголовками и различными опциями настройки.
KotStep на GitHub: https://github.com/binayshaw7777/KotStep
Платформа: Android
⭐️: 66
KotStep на GitHub: https://github.com/binayshaw7777/KotStep
Платформа: Android
⭐️: 66