Вышел стабильный 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
Andromeda — open-source дизайн-система, реализованная в Jetpack Compose. В ней есть коллекция рекомендаций и компонентов, которые можно использовать для создания удивительных пользовательских на основе Compose. так, Foundations знакомит вас с токенами и принципами Andromeda, а Components представляет список элементов, благодаря которым приложения Andromeda Compose работают.
Проект на GitHub: https://github.com/aldefy/Andromeda
Платформа: Android
⭐️: 82
Проект на GitHub: https://github.com/aldefy/Andromeda
Платформа: Android
⭐️: 82
3 технологии Android-разработки, от которых начнут отказываться в 2022 году
Разработка приложений под Android непрерывно развивается. По мере того, как сообщество продолжает изучать новые способы разработки, Google продолжает предоставлять новые технологии, чтобы мы могли двигаться вперед. В этой статье 3 технологии, от которых, как я думаю, начнут отказываться в этом году. Как минимум — использовать меньше.
1. Android View
2. LiveData
3. Activity Lifecycle API
Статья 🇷🇺: https://apptractor.ru/3drdout
Платформа: Android
👋: 195
Разработка приложений под Android непрерывно развивается. По мере того, как сообщество продолжает изучать новые способы разработки, Google продолжает предоставлять новые технологии, чтобы мы могли двигаться вперед. В этой статье 3 технологии, от которых, как я думаю, начнут отказываться в этом году. Как минимум — использовать меньше.
1. Android View
2. LiveData
3. Activity Lifecycle API
Статья 🇷🇺: https://apptractor.ru/3drdout
Платформа: Android
👋: 195
Слишком много зависимостей в iOS? Используйте шаблон Composition Root
MVC, MVVM, MVP — это конструкции уровня UI или UI архитектуры, а не системы. Они описывают поток данных и разделение обязанностей на уровне пользовательского интерфейса. Но не отвечают ни на какие вопросы о навигации, работе в сети, кэшировании, бизнес-логике и т.д.
Добавление этих обязанностей к UI-уровню создает монолитные приложения с массивными графами зависимостей. А это приводит к переписыванию, нетестироемому коду и высокой стоимости изменений.
Решение состоит в том, чтобы разбить монолит на модульные компоненты и скомпоновать их вместе в «Корне композиции» (Composition Root).
Статья 🇬🇧: https://apptractor.ru/cmpsnrt
Платформа: iOS
👋: 358
MVC, MVVM, MVP — это конструкции уровня UI или UI архитектуры, а не системы. Они описывают поток данных и разделение обязанностей на уровне пользовательского интерфейса. Но не отвечают ни на какие вопросы о навигации, работе в сети, кэшировании, бизнес-логике и т.д.
Добавление этих обязанностей к UI-уровню создает монолитные приложения с массивными графами зависимостей. А это приводит к переписыванию, нетестироемому коду и высокой стоимости изменений.
Решение состоит в том, чтобы разбить монолит на модульные компоненты и скомпоновать их вместе в «Корне композиции» (Composition Root).
Статья 🇬🇧: https://apptractor.ru/cmpsnrt
Платформа: iOS
👋: 358
👍1
Hero — это библиотека для создания переходов View Controller-ов в iOS. Она предоставляет декларативный уровень поверх громоздких API-интерфейсов UIKit, что делает создание кастомных переходов легкой задачей. Hero похожа на Magic Move из Keynote. Она проверяет свойство heroID во всех исходных и целевых представлениях. Затем каждая совпавшая пара представлений автоматически переходит из старого состояния в новое.
Библиотека на GitHub: https://github.com/HeroTransitions/Hero
Платформа: iOS/tvOS
⭐️: 20.6K
Библиотека на GitHub: https://github.com/HeroTransitions/Hero
Платформа: iOS/tvOS
⭐️: 20.6K
Перевыложили все выпуски Android Dev Podcast
Android Dev - подкаст о разработке под Android и всем, что с этим связано. Гости программы - разработчики с большим опытом и стажем, которые помнят Android, когда он еще был версии 1.5, и за годы написали приложения для миллионов пользователей по всему миру. В подкасте мы говорим о разработке во всех ее аспектах, от нарезки дизайна до сборки собственных прошивок. Каждый выпуск посвящен не только последним новостям из мира Android разработчиков, но и определенной теме, с которой сталкивается каждый из нас, в процессе создания приложений.
Ссылка: https://anchor.fm/androiddevpodcast/
Содержание: https://androiddev.apptractor.ru/category/podcast/
Платформа: Android
Android Dev - подкаст о разработке под Android и всем, что с этим связано. Гости программы - разработчики с большим опытом и стажем, которые помнят Android, когда он еще был версии 1.5, и за годы написали приложения для миллионов пользователей по всему миру. В подкасте мы говорим о разработке во всех ее аспектах, от нарезки дизайна до сборки собственных прошивок. Каждый выпуск посвящен не только последним новостям из мира Android разработчиков, но и определенной теме, с которой сталкивается каждый из нас, в процессе создания приложений.
Ссылка: https://anchor.fm/androiddevpodcast/
Содержание: https://androiddev.apptractor.ru/category/podcast/
Платформа: Android
Ruler - плагин Gradle, инструмент от Spotify, который используется для измерения и анализа размера Android-приложений. Ruler может просканировать приложение и найти список файлов внутри и их размеры. Он также может найти все модули и зависимости Gradle, которые влияют на размер приложения. Благодаря этому создается второй список всех компонентов и их содержимого. Объединение обоих списков позволяет сгруппировать все файлы приложения по их источнику и определить, насколько каждый модуль и зависимость влияют на общий размер приложения.
Подробнее: https://apptractor.ru/info/news/ruler.html
Проект на GitHub: https://github.com/spotify/ruler
Платформа: Android
⭐️: 352
Подробнее: https://apptractor.ru/info/news/ruler.html
Проект на GitHub: https://github.com/spotify/ruler
Платформа: Android
⭐️: 352
SwifterSwift — это коллекция из более чем 500 нативных расширений Swift с удобными методами, синтаксическим сахаром и улучшениями производительности для широкого спектра примитивных типов данных, классов UIKit и Cocoa для iOS, macOS, tvOS, watchOS и Linux.
Проект на GitHub: https://github.com/SwifterSwift/SwifterSwift
Платформа: iOS/Swift
⭐️: 10.9K
Проект на GitHub: https://github.com/SwifterSwift/SwifterSwift
Платформа: iOS/Swift
⭐️: 10.9K
От песочных часов к пирамиде: как усовершенствовать структуру тестов
Владислав Романенко, Senior iOS QA Engineer в Badoo, рассказывает об автоматизации тестирования в iOS. Хотя кое-где он упоминает характерные для iOS инструменты и термины (например, XCTest), общие принципы и подходы универсальны. Так что, даже если в вашем проекте используется совсем другой стек, статья будет вам полезна.
Статья 🇷🇺: https://apptractor.ru/prmdtst
Платформа: тестирование
⬆️: +11
Владислав Романенко, Senior iOS QA Engineer в Badoo, рассказывает об автоматизации тестирования в iOS. Хотя кое-где он упоминает характерные для iOS инструменты и термины (например, XCTest), общие принципы и подходы универсальны. Так что, даже если в вашем проекте используется совсем другой стек, статья будет вам полезна.
Статья 🇷🇺: https://apptractor.ru/prmdtst
Платформа: тестирование
⬆️: +11
This media is not supported in your browser
VIEW IN TELEGRAM
Flippable - библиотека Jetpack Compose для создания переворачивающихся карточек с двумя сторонами.
Библиотека на GitHub: https://github.com/wajahatkarim3/flippable
Платформа: Android
⭐️: 121
Библиотека на GitHub: https://github.com/wajahatkarim3/flippable
Платформа: Android
⭐️: 121
👍1
Адаптация Android-приложения для незрячих
Если вы мобильный разработчик, знаете ли вы, каково пользоваться вашим приложением незрячим людям? В каких именно местах они могут столкнуться с главными сложностями? Как вообще будет происходить взаимодействие с приложением? Виктор Вихров (Яндекс Go) рассказал о том, как сделать Android-приложение более подходящим для использования «вслепую». А эксперт в сфере цифровой доступности Анатолий Попко помог ему, прокомментировав представленные решения с точки зрения такого пользователя.
Статья 🇷🇺: https://apptractor.ru/drdnzr
Платформа: Android
⬆️: +19
Если вы мобильный разработчик, знаете ли вы, каково пользоваться вашим приложением незрячим людям? В каких именно местах они могут столкнуться с главными сложностями? Как вообще будет происходить взаимодействие с приложением? Виктор Вихров (Яндекс Go) рассказал о том, как сделать Android-приложение более подходящим для использования «вслепую». А эксперт в сфере цифровой доступности Анатолий Попко помог ему, прокомментировав представленные решения с точки зрения такого пользователя.
Статья 🇷🇺: https://apptractor.ru/drdnzr
Платформа: Android
⬆️: +19
UIOnboarding - настраиваемый анимированный экран онбординга, вдохновленный решениями Apple для iOS. Написан на Swift с UIKit. Поддерживает Dynamic Type, VoiceOver и Reduce Motion. Только портретный режим.
Библиотека на GitHub: https://github.com/lascic/UIOnboarding
Платформа: iOS
⭐️: 59
Библиотека на GitHub: https://github.com/lascic/UIOnboarding
Платформа: iOS
⭐️: 59
👍4
20 лет Xcode: год за годом
В начале 2022 года прошло почти 20 лет с тех пор, как Apple выпустила Xcode для разработчиков в качестве основного способа создания приложений для Mac. Эта революционная интегрированная среда разработки, или IDE, превратилась в отправную точку для создания любого типа приложений для всех пяти текущих платформ Apple. Xcode любят и ненавидят в кругах разработчиков, но — независимо от вашего отношения — он используется сотнями тысяч программистов по всему миру каждый день.
Разработчики Xcode часто считают само собой разумеющимся его наличие, даже не понимая откуда взялось это программное обеспечение, как оно началось и как развивалось на протяжении всей своей жизни. В этой статье мы расскажем про историю Xcode: с оглядкой на появление и основные функции этой IDE, обозрим ее многолетний путь в создании одних из наиболее используемых приложений на планете.
Статья 🇷🇺: https://apptractor.ru/xcode20
Платформа: среда разработки
В начале 2022 года прошло почти 20 лет с тех пор, как Apple выпустила Xcode для разработчиков в качестве основного способа создания приложений для Mac. Эта революционная интегрированная среда разработки, или IDE, превратилась в отправную точку для создания любого типа приложений для всех пяти текущих платформ Apple. Xcode любят и ненавидят в кругах разработчиков, но — независимо от вашего отношения — он используется сотнями тысяч программистов по всему миру каждый день.
Разработчики Xcode часто считают само собой разумеющимся его наличие, даже не понимая откуда взялось это программное обеспечение, как оно началось и как развивалось на протяжении всей своей жизни. В этой статье мы расскажем про историю Xcode: с оглядкой на появление и основные функции этой IDE, обозрим ее многолетний путь в создании одних из наиболее используемых приложений на планете.
Статья 🇷🇺: https://apptractor.ru/xcode20
Платформа: среда разработки
❤2