Как справляться с техническим долгом в масштабе суперприложения
Во Flo каждая команда ориентирована на продукт, даже платформенные команды. Сосредоточение внимания на продукте очень важно, но оно должно соответствовать скорости разработки, которая со временем может снижаться, давая меньше возможностей экспериментировать или приносить пользу.
В этой статье Директор по инжинирингу во Flo рассказывает, как в компании работают с техническим долгом и как эволюционная архитектура и SRE помогают сбалансировать инновации и качество в мобильной разработке.
Статья 🇬🇧: https://apptractor.ru/flodbt
Платформа: разработка
👋: 233
Во Flo каждая команда ориентирована на продукт, даже платформенные команды. Сосредоточение внимания на продукте очень важно, но оно должно соответствовать скорости разработки, которая со временем может снижаться, давая меньше возможностей экспериментировать или приносить пользу.
В этой статье Директор по инжинирингу во Flo рассказывает, как в компании работают с техническим долгом и как эволюционная архитектура и SRE помогают сбалансировать инновации и качество в мобильной разработке.
Статья 🇬🇧: https://apptractor.ru/flodbt
Платформа: разработка
👋: 233
Тренды Android-разработки 2022 - текстовая расшифровка видео Android Broadcast
Вот и наступил 2022 год, а это значит, что нам нужно определить тренды и вектор развития — куда в этом году стоит развиваться Android-разработчикам, что будет интересного, какую архитектуру использовать, нужны ли еще Android View, что там с Compose, готов ли он уже к продакшн и или мы уже опаздываем? На все эти вопросы отвечаем в этой статье.
Статья 🇷🇺: https://apptractor.ru/drddev2022
Платформа: Android
Вот и наступил 2022 год, а это значит, что нам нужно определить тренды и вектор развития — куда в этом году стоит развиваться Android-разработчикам, что будет интересного, какую архитектуру использовать, нужны ли еще Android View, что там с Compose, готов ли он уже к продакшн и или мы уже опаздываем? На все эти вопросы отвечаем в этой статье.
Статья 🇷🇺: https://apptractor.ru/drddev2022
Платформа: Android
Siren - библиотека уведомляет пользователя о том, что вышла новая версия приложения и предлагает обновиться. Данные берет из App Store, есть три вида предупреждений, настраиваемые правила показа, проверка совместимости устройства, локализация на более чем 40 языков.
Библиотека на GitHub: https://github.com/ArtSabintsev/Siren
Платформа: iOS
⭐️: 3.9К
Библиотека на GitHub: https://github.com/ArtSabintsev/Siren
Платформа: iOS
⭐️: 3.9К
Flutter vs натив: почему мы переходим с первого на второй
Наступил момент, когда наш продукт из стартапа с документооборотом решил перерасти в долгоиграющий проект, бизнесу захотелось перейти от количественного к качественному: более нативного поведения и вообще, чтобы ставили только пять звёзд. Как убедить бизнес, что нужно всё переписать на Native? И вообще надо ли? А что будет с командой? Захотят ли спецы на Flutter возвращаться на старый добрый Native-стек?
Статья 🇷🇺: https://apptractor.ru/fltntv
Платформа: разработка
⬆️: +19
Наступил момент, когда наш продукт из стартапа с документооборотом решил перерасти в долгоиграющий проект, бизнесу захотелось перейти от количественного к качественному: более нативного поведения и вообще, чтобы ставили только пять звёзд. Как убедить бизнес, что нужно всё переписать на Native? И вообще надо ли? А что будет с командой? Захотят ли спецы на Flutter возвращаться на старый добрый Native-стек?
Статья 🇷🇺: https://apptractor.ru/fltntv
Платформа: разработка
⬆️: +19
👍3👎1
Чему мы научились, используя KMM для iOS
В этой статье я рассказал о некоторых основных задачах и проблемах, с которыми мы столкнулись при работе с KMM на iOS. Не обо всем, но вполне достаточно, чтобы дать вам представление о KMM. Несмотря на проблемы и более длительное, чем ожидалось, время разработки, MVP был успешным, и у нас был рабочий модуль KMM, который использовался на двух платформах сразу. Мы продолжали работать с КММ, и теперь он с большим успехом используется в продакшене. KMM все еще может быть в ранней стадии разработки, но если вы проявите упорство, несмотря на все трудности, вы, безусловно, сможете использовать его. Моей целью при изложении проблем было не напугать вас, а поделиться с вами трудностями использования KMM в сегодняшнем состоянии.
Статья 🇷🇺: https://apptractor.ru/kmmios
Платформа: iOS/кроссплатформа
👋: 688
В этой статье я рассказал о некоторых основных задачах и проблемах, с которыми мы столкнулись при работе с KMM на iOS. Не обо всем, но вполне достаточно, чтобы дать вам представление о KMM. Несмотря на проблемы и более длительное, чем ожидалось, время разработки, MVP был успешным, и у нас был рабочий модуль KMM, который использовался на двух платформах сразу. Мы продолжали работать с КММ, и теперь он с большим успехом используется в продакшене. KMM все еще может быть в ранней стадии разработки, но если вы проявите упорство, несмотря на все трудности, вы, безусловно, сможете использовать его. Моей целью при изложении проблем было не напугать вас, а поделиться с вами трудностями использования KMM в сегодняшнем состоянии.
Статья 🇷🇺: https://apptractor.ru/kmmios
Платформа: iOS/кроссплатформа
👋: 688
Forwarded from Код Воробья для iOS разработчиков
Как устроен системный калькулятор.
Приложение написано на сценах. Root-контроллер называется
Клавиатуру сделали обычный вью и назвали
#ViewHierarchy
Приложение написано на сценах. Root-контроллер называется
DisplayViewController
. Лейбл с введенными цифрами обернули в контейнер DisplayView
и добавили жесты LongPress, Swipe и Tap.Клавиатуру сделали обычный вью и назвали
CalculatorKeypadView
. Кнопки сделаны как UIButton. Все кнопки - объекты одного класса, даже измененный 0. Контейнер лейаутится через AutoLayout, а вот сетку с кнопками расставили с помощью фреймов.#ViewHierarchy
👍4
SpotiFlyer - музыкальный загрузчик с поддержкой Spotify, Youtube, Gaana, Jio-Saavn и SoundCloud на Kotlin Multiplatform. Позволяет скачивать альбомы, отдельные треки, плейлисты и т.п. В настоящий момент поддерживается Android, Windows, Linux, MacOS и веб.
Проект на GitHub: https://github.com/Shabinder/SpotiFlyer
Платформа: Android/KMM
⭐️: 2.8К
Проект на GitHub: https://github.com/Shabinder/SpotiFlyer
Платформа: Android/KMM
⭐️: 2.8К
Принципы SOLID с (почти) реальными примерами на Java
Принципы SOLID — одни из старейших правил в мире программного обеспечения. Они позволяют нам писать поддерживаемый, читаемый, повторно используемый код. В этом тексте пример применения этих принципов из реальной жизни.
Статья 🇬🇧: https://apptractor.ru/solidjava
Платформа: программирование
👋: 790
Принципы SOLID — одни из старейших правил в мире программного обеспечения. Они позволяют нам писать поддерживаемый, читаемый, повторно используемый код. В этом тексте пример применения этих принципов из реальной жизни.
Статья 🇬🇧: https://apptractor.ru/solidjava
Платформа: программирование
👋: 790
💩2🔥1
Эволюция UI-тестов в iOS-приложении
Даша из Яндекс.Маркета рассказывает о том, как эволюционировал подход компании к к UI-тестам и, более конкретно, какие работы провели для их «улучшения» - почему решили избавиться от JSON-моков и как справились с этой задачей.
Статья 🇷🇺: https://apptractor.ru/uitstios
Платформа: iOS/тестирование
⬆️: +13
Даша из Яндекс.Маркета рассказывает о том, как эволюционировал подход компании к к UI-тестам и, более конкретно, какие работы провели для их «улучшения» - почему решили избавиться от JSON-моков и как справились с этой задачей.
Статья 🇷🇺: https://apptractor.ru/uitstios
Платформа: iOS/тестирование
⬆️: +13
This media is not supported in your browser
VIEW IN TELEGRAM
ReadabilityKit - извлекает превью для заданного URL-а. Может получать название, Title и Description страницы, изображение и видео, ключевые слова и дату публикации.
Библиотека на GitHub: https://github.com/exyte/ReadabilityKit
Платформа: iOS
⭐️: 767
Библиотека на GitHub: https://github.com/exyte/ReadabilityKit
Платформа: iOS
⭐️: 767
Accompanist — это группа библиотек, целью которых является дополнение Jetpack Compose функциями, которые обычно требуются разработчикам, но пока недоступны. Сейчас в Accompanist, например, есть Insets, System UI Controller, Pager, Placeholder, Navigation Animation, Swipe to Refresh и т.п.
Библиотека на GitHub: https://github.com/google/accompanist
Платформа: Android
⭐️: 4.1К
Библиотека на GitHub: https://github.com/google/accompanist
Платформа: Android
⭐️: 4.1К
4,5 года из жизни iOS-команды в пяти историях и одном техрадаре
Стас, лид мобильной разработки Туту.ру, рассказывает о технологиях и процессах разработки в компании. Часть решений может шокировать. Поехали!
Статья 🇷🇺: https://apptractor.ru/45tutu
Платформа: iOS
⬆️: +16
Стас, лид мобильной разработки Туту.ру, рассказывает о технологиях и процессах разработки в компании. Часть решений может шокировать. Поехали!
Статья 🇷🇺: https://apptractor.ru/45tutu
Платформа: iOS
⬆️: +16
👍1
Высокая производительность с идиоматическим Kotlin
Множество факторов формируют опыт наших пользователей. Как разработчик мобильных приложений, а также как технический руководитель, я понял, что ничто так не отталкивает пользователей, как плохо работающее приложение. Вот почему мы, как разработчики, должны сосредоточиться на постоянном улучшении этого параметра.
В этой статье содержится подробная информация о том:
1. Почему высокая производительность важна при создании программных продуктов
2. Обзор наиболее распространенных причин проблем с производительностью
3. Как измерить производительность
4. Как Kotlin может нам помочь создавать качественные продукты при помощи поддерживаемого, безопасного и выразительного идиоматического кода
Статья 🇬🇧: https://apptractor.ru/idmtktln
Платформа: Android
👋: 68
Множество факторов формируют опыт наших пользователей. Как разработчик мобильных приложений, а также как технический руководитель, я понял, что ничто так не отталкивает пользователей, как плохо работающее приложение. Вот почему мы, как разработчики, должны сосредоточиться на постоянном улучшении этого параметра.
В этой статье содержится подробная информация о том:
1. Почему высокая производительность важна при создании программных продуктов
2. Обзор наиболее распространенных причин проблем с производительностью
3. Как измерить производительность
4. Как Kotlin может нам помочь создавать качественные продукты при помощи поддерживаемого, безопасного и выразительного идиоматического кода
Статья 🇬🇧: https://apptractor.ru/idmtktln
Платформа: Android
👋: 68
👍2
iOS Conf SG — крупнейшая конференция iOS-разработчиков в Юго-Восточной Азии. Этот плейлист состоит из всех докладов, представленных спикерами на конференции 2022 года. Всего в нем 18 видео, среди тем - Использование возможностей конечных автоматов в Swift, IGListKit в 2022 году, VIP, а не VIPER, чистая архитектура Swift, Непрерывная доставка функций с помощью разработки приложений на основе сценариев, Оптимизация приложений с большим объемом изображений, Swift Concurrency под капотом, Создание и запуск современного SwiftUI SDK, Специальные эффекты с SwiftUI, Сохранение модульности с помощью диспетчера пакетов Swift.
Видео 🇬🇧: https://apptractor.ru/iosconfsg22
Платформа: iOS
Видео 🇬🇧: https://apptractor.ru/iosconfsg22
Платформа: iOS
👍4
Реактивное программирование или сопрограммы: между молотом и наковальней?
Существуют различные подходы к более эффективному использованию ресурсов. В этой статье мы сравним две концепции и рассмотрим примеры их реализации, а также определим преимущества и недостатки каждой. Эти концепции — реактивное программирование и сопрограммы.
Статья 🇷🇺: https://apptractor.ru/rctvcrt
Платформа: Kotlin/программирование
👋: 3
Существуют различные подходы к более эффективному использованию ресурсов. В этой статье мы сравним две концепции и рассмотрим примеры их реализации, а также определим преимущества и недостатки каждой. Эти концепции — реактивное программирование и сопрограммы.
Статья 🇷🇺: https://apptractor.ru/rctvcrt
Платформа: Kotlin/программирование
👋: 3
👍1
Maps Compose - долгожданный фирменный компонент Google Maps SDK для Jetpack Compose.
Библиотека на GitHub: https://github.com/googlemaps/android-maps-compose
Платформа: Android
⭐️: 396
Библиотека на GitHub: https://github.com/googlemaps/android-maps-compose
Платформа: Android
⭐️: 396
8 вещей, которые мы узнали, внедрив платежи в Android-приложение DoorDash
Эффективная реализация платежей в мобильном приложении требует пристального внимания к таким факторам, как способы оплаты, взаимодействие с пользователем и предотвращение мошенничества. Чрезвычайно важное значение мобильных платежей для бизнеса означает, что инженеры должны применять продуманный подход, предвидя все непредвиденные обстоятельства. В DoorDash мы обнаружили восемь основных факторов, которые помогают создать надежную и успешную систему мобильных платежей.
Статья 🇷🇺: https://apptractor.ru/8doordash
Платформа: Android
Эффективная реализация платежей в мобильном приложении требует пристального внимания к таким факторам, как способы оплаты, взаимодействие с пользователем и предотвращение мошенничества. Чрезвычайно важное значение мобильных платежей для бизнеса означает, что инженеры должны применять продуманный подход, предвидя все непредвиденные обстоятельства. В DoorDash мы обнаружили восемь основных факторов, которые помогают создать надежную и успешную систему мобильных платежей.
Статья 🇷🇺: https://apptractor.ru/8doordash
Платформа: Android
Делаем разделы UITableView с вложенными типами
В сегодняшней статье я покажу вам практический пример использования вложенных (nested) типов, создавая UITableView с несколькими разделами. Я собираюсь написать вики о Гарри Поттере, которая покажет пользователю некоторую основную информацию о персонажах, местах и классах Хогвартса. Итак, наш список будет состоять из трех разделов, каждый из которых будет содержать список элементов.
Статья 🇷🇺: https://apptractor.ru/nstdtblv
Платформа: iOS/Swift
👋: 218
В сегодняшней статье я покажу вам практический пример использования вложенных (nested) типов, создавая UITableView с несколькими разделами. Я собираюсь написать вики о Гарри Поттере, которая покажет пользователю некоторую основную информацию о персонажах, местах и классах Хогвартса. Итак, наш список будет состоять из трех разделов, каждый из которых будет содержать список элементов.
Статья 🇷🇺: https://apptractor.ru/nstdtblv
Платформа: iOS/Swift
👋: 218
👍2
Wizard's Pal - счетчик жизней для настольной игры.
Проект на GitHub: https://github.com/ignatovv/Wizards-pal
Платформа: iOS
⭐️: 1
Проект на GitHub: https://github.com/ignatovv/Wizards-pal
Платформа: iOS
⭐️: 1