Высокая производительность с идиоматическим 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
Улучшение качества кода Android-приложений с помощью SonarQube и Gradle Detekt
Качество кода очень важно, и вы всегда должны пытаться оптимизировать вашу реализацию. В этой статье показаны два инструмента, которые можно комбинировать для достижения лучшего качества, особенно в приложениях для Android.
Статья 🇬🇧: https://apptractor.ru/cdqdrd
Платформа: Android
👋: 260
Качество кода очень важно, и вы всегда должны пытаться оптимизировать вашу реализацию. В этой статье показаны два инструмента, которые можно комбинировать для достижения лучшего качества, особенно в приложениях для Android.
Статья 🇬🇧: https://apptractor.ru/cdqdrd
Платформа: Android
👋: 260
Forwarded from Код Воробья для iOS разработчиков
Как устроено приложение Wallet
Сделали на сценах, а лейаут на фреймах. Рут контроллер называется
Каждую карточку поместили в контейнер
Чтобы управлять пространством сверху для тапа - эпл сделала переиспользуемый класс. Каждую карточку поместили в ещё один саб-контейнер с названием
#ViewHierarchy
Сделали на сценах, а лейаут на фреймах. Рут контроллер называется
PKPassGroupsViewController
. Главная вью UIStackView
, в неё поместили: заголовок Wallet, группу карточек, группу бонусных карт и футер.Каждую карточку поместили в контейнер
PKPassGroupView
. Внутри находится скрол-вью, которая отрабатывает жесты и является саб-контейнером карточки. Получается каждая карточка лежит на скрол-вью и управляется жестами на скролле 🤯. Понятия не имею как это работает.Чтобы управлять пространством сверху для тапа - эпл сделала переиспользуемый класс. Каждую карточку поместили в ещё один саб-контейнер с названием
WLEasyToHitCustomView
(переводится легко нажать). Возможно, связали контейнеры в родителе или через делегаты.#ViewHierarchy
🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
BubbleTabBar - нижнее меню с анимацией. Есть версия для iOS и для Android (от разных авторов).
Для iOS: https://github.com/Cuberto/bubble-icon-tabbar
Для Android: https://github.com/akshay2211/BubbleTabBar
⭐️: 998 и 452 соответственно
Для iOS: https://github.com/Cuberto/bubble-icon-tabbar
Для Android: https://github.com/akshay2211/BubbleTabBar
⭐️: 998 и 452 соответственно
🔥2
Вышел стабильный Compose 1.1
Вышла стабильная версия Jetpack Compose 1.1. Этот выпуск содержит новые функции, такие как улучшенная обработка фокуса, изменение размера элемента при касании, кэширование ImageVector и поддержка растягивания прокрутки в Android 12. Compose 1.1 также переводит ряд ранее экспериментальных API в стабильные и поддерживает более новые версии Kotlin. Google уже обновил примеры кода, кодлабы и библиотеку Accompanist для работы с Compose 1.1.
Анонс: https://apptractor.ru/cmps11
Платформа: Android
Наш перевод кодлабы "Основы Jetpack Compose": https://apptractor.ru/cmpscdlb
Интересное "SwiftUI против Jetpack Compose: почему Android выигрывает не напрягаясь": https://apptractor.ru/swftcmps
Вышла стабильная версия Jetpack Compose 1.1. Этот выпуск содержит новые функции, такие как улучшенная обработка фокуса, изменение размера элемента при касании, кэширование ImageVector и поддержка растягивания прокрутки в Android 12. Compose 1.1 также переводит ряд ранее экспериментальных API в стабильные и поддерживает более новые версии Kotlin. Google уже обновил примеры кода, кодлабы и библиотеку Accompanist для работы с Compose 1.1.
Анонс: https://apptractor.ru/cmps11
Платформа: Android
Наш перевод кодлабы "Основы Jetpack Compose": https://apptractor.ru/cmpscdlb
Интересное "SwiftUI против Jetpack Compose: почему Android выигрывает не напрягаясь": https://apptractor.ru/swftcmps
👍2
Compose Navigation Reimagined - небольшая и простая, но полноценная и настраиваемая навигационная библиотека для Jetpack Compose. Из преимуществ - полная безопасность типов, реставрация состояния, вложенная навигация с независимыми обратными стеками, собственный жизненный цикл, сохраненное состояние и модели просмотра для каждой записи в бэкстеке, анимированные переходы, логика навигации может быть легко перемещена в ViewModel, никаких компоновщиков, никаких обязательных суперклассов для composable, может использоваться для управления диалогами.
Библиотека на GitHub: https://github.com/olshevski/compose-navigation-reimagined
Платформа: Android
⭐️: 82
Библиотека на GitHub: https://github.com/olshevski/compose-navigation-reimagined
Платформа: Android
⭐️: 82
➡️ Делаем оффер iOS- и Android-разработчикам за один день. Приглашаем в команды Мобильного банка, Тинькофф Инвестиций, Тинькофф Бизнеса и еще трех проектов.
Вы — в течение одного дня общаетесь с нашей командой. Мы — делаем оффер, если работа подойдет вам по условиям, а задачи — по скиллам.
🖇 Все будет онлайн, 19 февраля. Заявки принимаем до 15 февраля включительно. Подробности и регистрация по ссылке: https://l.tinkoff.ru/onedayoffer-mobile
Вы — в течение одного дня общаетесь с нашей командой. Мы — делаем оффер, если работа подойдет вам по условиям, а задачи — по скиллам.
🖇 Все будет онлайн, 19 февраля. Заявки принимаем до 15 февраля включительно. Подробности и регистрация по ссылке: https://l.tinkoff.ru/onedayoffer-mobile
Видео (и аудио) этой недели
• Неожиданные результаты в ожидаемых A/B-тестах
• Видео iOS Community Meetup
• Видео iOS Conf SG 2022
• Стейт-машины в iOS
• Специальные эффекты в SwiftUI: размытие, смешивание и др.
• Авторефакторинг и View Binding
• Эти инструменты улучшают мои приложения
• Podlodka #254: антивирусы
Есть свое видео или смотрели что-то интересное? Напишите @lbogolubov!
• Неожиданные результаты в ожидаемых A/B-тестах
• Видео iOS Community Meetup
• Видео iOS Conf SG 2022
• Стейт-машины в iOS
• Специальные эффекты в SwiftUI: размытие, смешивание и др.
• Авторефакторинг и View Binding
• Эти инструменты улучшают мои приложения
• Podlodka #254: антивирусы
Есть свое видео или смотрели что-то интересное? Напишите @lbogolubov!
AppTractor
Неожиданные результаты в ожидаемых A/B-тестах
Как в Avito получили неожиданный результат в довольно стандартном A/B-тесте.
This media is not supported in your browser
VIEW IN TELEGRAM
Tuist - инструмент командной строки, который помогает создавать и поддерживать структуры модульных Xcode-проектов для командной работы. Его основная функция — генерация Xcode-проектов из специальных файлов с описанием проекта в удобном формате, Tuist синхронизирует структуру Xcode-проекта с иерархией файлов на диске. От аналогов Tuist выгодно отличается способом описания проекта — всё на Swift, как и положено, с автодополнением и прочими благами IDE. Ещё одно важное преимущество Tuist — кастомные хелперы, которые позволяют расширять его возможности и переиспользовать код в манифестах.
Проект на GitHub: https://github.com/tuist/tuist
Статья: https://apptractor.ru/tstios
Платформа: iOS
⭐️: 2.4К
Проект на GitHub: https://github.com/tuist/tuist
Статья: https://apptractor.ru/tstios
Платформа: iOS
⭐️: 2.4К
👍1
6 алгоритмов, которые должен знать каждый разработчик
Я разработчик, и вы должны знать, что я не большой фанат структур данных и алгоритмов. Если вы такой же, не переживайте, после работы над многими проектами (маленькими и большими) я обнаружил шесть важных алгоритмов, которые должен знать каждый разработчик, и эти шесть почти всегда решат любую проблему в вашей разработке.
Что это за 6 значимых алгоритмов?
1. Сортировки
2. Поиск
3. Динамическое программирование
4. Рекурсия
5. Разделяй и властвуй
6. Хэширование
Статья 🇷🇺: https://apptractor.ru/6algrtm
Платформа: программирование
👋: 1.8K
Я разработчик, и вы должны знать, что я не большой фанат структур данных и алгоритмов. Если вы такой же, не переживайте, после работы над многими проектами (маленькими и большими) я обнаружил шесть важных алгоритмов, которые должен знать каждый разработчик, и эти шесть почти всегда решат любую проблему в вашей разработке.
Что это за 6 значимых алгоритмов?
1. Сортировки
2. Поиск
3. Динамическое программирование
4. Рекурсия
5. Разделяй и властвуй
6. Хэширование
Статья 🇷🇺: https://apptractor.ru/6algrtm
Платформа: программирование
👋: 1.8K
👍1
Forwarded from Mobile Development by AppTractor
This media is not supported in your browser
VIEW IN TELEGRAM
Менять работу не страшно, когда всё взвесишь
Skyeng ищет мобильных разработчиков уровня senior и middle+. На удалёнку или в московский офис. Сейчас в команду можно попасть за 2 дня: без нудных собеседований, долгих общений с эйчарами и тестовых заданий. Два интервью по полтора часа: техническое и с руководителем команды.
Ребята провели более 40 независимых бесед и узнали, что ценят и с какими трудностями сталкиваются мобильные разработчики, чтобы вы прошли тест и сравнили своё текущее место с работой в Skyeng. Тот самый случай, когда размах бренда и красивые строки в Линкедине — не единственное преимущество.
Кликайте, если вы Android-разработчик
Кликайте, если вы iOS-разработчик
Ещё Skyeng предлагает бонус, если вы посоветуете друзей: 100 000 рублей за друга мобильного разработчика уровня сеньор и мидл+
Skyeng ищет мобильных разработчиков уровня senior и middle+. На удалёнку или в московский офис. Сейчас в команду можно попасть за 2 дня: без нудных собеседований, долгих общений с эйчарами и тестовых заданий. Два интервью по полтора часа: техническое и с руководителем команды.
Ребята провели более 40 независимых бесед и узнали, что ценят и с какими трудностями сталкиваются мобильные разработчики, чтобы вы прошли тест и сравнили своё текущее место с работой в Skyeng. Тот самый случай, когда размах бренда и красивые строки в Линкедине — не единственное преимущество.
Кликайте, если вы Android-разработчик
Кликайте, если вы iOS-разработчик
Ещё Skyeng предлагает бонус, если вы посоветуете друзей: 100 000 рублей за друга мобильного разработчика уровня сеньор и мидл+
💩1
Dart, Flutter и кроссплатформа: небольшой разбор на практике
Кто-нибудь пробовал использовать Dart/Flutter как на клиенте на нескольких платформах, так и в качестве сервера? Кто-то, конечно. пробовал, хотя далеко не каждый за этим приходил к Flutter. Я на своём pet-проекте провёл такой эксперимент, и хотел бы поделиться результатами и выводами.
Статья 🇷🇺: https://apptractor.ru/drtprct
Платформа: кроссплатформа
⬆️: +19
Кто-нибудь пробовал использовать Dart/Flutter как на клиенте на нескольких платформах, так и в качестве сервера? Кто-то, конечно. пробовал, хотя далеко не каждый за этим приходил к Flutter. Я на своём pet-проекте провёл такой эксперимент, и хотел бы поделиться результатами и выводами.
Статья 🇷🇺: https://apptractor.ru/drtprct
Платформа: кроссплатформа
⬆️: +19
В Android 13 появилась система виртуализации
Предварительная версия Android 13 для разработчиков поддерживает систему виртуализации для смартфонов, вроде Google Pixel 6. Это означает, что теперь можно запустить практически любую операционную систему, включая Windows 11, дистрибутивы Linux, такие как Ubuntu или Arch Linux Arm, на телефоне с поддержкой Google Tensor, и работать они будут на почти нативной скорости.
Новость: https://apptractor.ru/drd13vrt
Платформа: Android
Предварительная версия Android 13 для разработчиков поддерживает систему виртуализации для смартфонов, вроде Google Pixel 6. Это означает, что теперь можно запустить практически любую операционную систему, включая Windows 11, дистрибутивы Linux, такие как Ubuntu или Arch Linux Arm, на телефоне с поддержкой Google Tensor, и работать они будут на почти нативной скорости.
Новость: https://apptractor.ru/drd13vrt
Платформа: Android
👍1