Всё, что нужно знать о State в Jetpack Compose с примерами
Что такое состояние, как его создать и использовать в приложении? В этой статье автор подробно разобрал State, разницу между Stateless и Stateful, поведение inputText, а также как использовать состояние во ViewModels:
https://www.composables.co/blog/state
#android
Курс для начинающих iOS-разработчиков от Apple
Недавно Apple обновила свою программу по основам Xcode, Swift UI и UIKit. В конце курса можно также найти дополнительные материалы и видео для самостоятельного изучения:
https://developer.apple.com/tutorials/app-dev-training/
#ios
Если вы ждали момент, чтобы уверенно войти в IT, то новый год — самое время
GeekBrains бесплатно отдаёт подборку курсов стоимостью 25 000 рублей, которые помогут:
— разобраться в тонкостях карьерных вопросов,
— изучить основы программирования,
— узнать честный опыт айтишников из самых разных сфер,
— сделать правильный осознанный выбор.
Не упустите момент и заберите подборку прямо сейчас:
https://tprg.ru/f09v
Бонусом вы получите бесплатный доступ к внутренним мероприятиям GeekBrains.
Реклама ООО «Гикбреинс».
Пакет Flutter для работы с файлами
File Picker позволяет выбирать файлы, используя фильтры, например: pdf, svg, zip. Поддерживает файлы из облачных хранилищ, а также позволяет пользователю указать диск, каталог и имя файла для его сохранения через диалоговое окно. Достаточно простой и удобный плагин, но есть несколько ограничений на некоторых платформах:
https://pub.dev/packages/file_picker?utm_source=fluttertap
#flutter
Kotlin Flow: различные способы сбора потока Kotlin
Неплохоя шпаргалка по созданию и сбору потока: flow(), emit(), collectAsState(), collect() и т.д. Автор статьи создал простые сниппеты кода с небольшими пояснениями. Также в статье есть таблица, которая показывает, что происходит в различных событиях жизненного цикла при реализации потока сбора данных:
https://tprg.ru/rmSb
#kotlin
Видеоуроки по аутентификации для Flutter-приложений
Часть 1: Создание Login UI.
Часть 2: Email Login & Logout/
Часть 3: Регистрация/
Часть 4: Авторизация с помощью Google Sign In/
#flutter
Canvas и Jetpack Compose для создания квадратного индикатора прогресса (SSPI)
В этой статье небольшое руководство, как с помощью
Canvas API и Compose можно легко создать SSPI для Wear OS. Поскольку API предоставляет информацию о прогрессе, герой статьи предлагает воспользоваться этой фичей и создать анимацию:
https://tprg.ru/Wvk3
#compose #android
Основы внедрения зависимостей
Доклад Дмитрия Кандалова, представленный на Advanced Kotlin Dev Day, в котором он показывает, как можно перенести небольшое веб-приложение с Spring на чистый Kotlin.
Внедрение зависимостей является популярной темой, а DI-фреймворки достаточно распространены, что кажется, что даже самые простые проекты не могут начаться без них. Доклад будет полезен начинающим, кто только начинает знакомиться с возможностями Kotlin:
https://youtu.be/d_GHTBqI7YE
#kotlin
Автоматическое масштабирование текста с помощью Jetpack Compose
Возможно вы сталкивались с проблемой, когда текст на некоторых устройствах был слишком большим, чтобы поместиться в контейнере.
В этом видео Филипп Лакнер показывает, как можно создать текст с автоматическим масштабированием, который всегда будет соответствовать размеру в контейнере. Урок подойдёт тем, кто только начинает изучать Jetpack Compose:
https://youtu.be/ntlyrFw0F9U
#android
Разработка приложений под iOS без сервера
В основном, гайды по разработке мобильных приложений используют готовые API, такие как MovieDB или OpenWeatherAPI. Вот только на практике, как правило, разработчики попадают в ситуацию, когда
бэкенд ещё не готов.
Герой статьи нашел выход из этой ситуации, используя
методику Test-Driven Development, но под iOS-приложение. Пример приложения и детальное руководство — в статье:
https://medium.com/orion-innovation-turkey/developing-ios-applications-without-ready-to-use-backend-api-3fdb127e4aaf
#ios
Dart и синтаксический сахар
Подкаст о Dart и его будущем от Flutter Dev Podcast. Спикеры затронули темы по реализации Pattern Matching, разобрали «Exhaustiveness» и обсудили синтаксис языка.
#flutter
Как обработать deep link со сложным path?
Для обработки URL pathPattern достаточно ограничен. т.к. у него доступны только специальные символы: «.» и «*» . К счастью, уже есть простые альтернативы, которые можно использовать уже сейчас, например — атрибут pathAdvancedPattern.
В этой статье автор рассказывает о pathAdvancedPattern и pathSuffix, с помощью которых, можно обработать ссылки, а также разбирает каждый паттерн на примерах:
https://habr.com/ru/post/707864/
#android
Android: тренды мобильной разработки в 2023
Алексей Гладков разбирает в видео основные тенденции разработки мобильных приложений для junior-, middle-, senior-разработчика.
Если вы только решили изучать разработку под Android, то в видео есть также советы для начинающий:
https://youtu.be/beMcoCCshUk
#android
Может ли ChatGPT написать Android приложение?
Герой статьи придумал задание для чат-бота: создать приложение, которое выводит на экран 50 популярных акций фондового рынка и их цены. Бот справился.
Приложение, хоть и очень примитивное, компилируется, запускается и работает, но есть нюансы:
https://habr.com/ru/company/dododev/blog/708248/
Как вы думаете, сможет ли нейросеть стать хорошим помощником разработчку?
#android
Подборка актуальных вакансий
— iOS-разработчик
Где: удалённо
Опыт: не указан
— iOS-разработчик
Где: Москва, Санкт-Петербург, Казань, Пермь, можно удалённо
Опыт: от 2 лет
— Middle iOS-разработчик
Где: Москва
Опыт: от 3 лет
— Android-разработчик
Где: удалённо
Опыт: от 3 лет
— Senior Android-разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет
#вакансии #работа
Developer Roadmap обновили дорожные карты на 2023
1. Android Roadmap
2. Flutter Roadmap
Изменений больше во Flutter дорожной карте, в Android — нужно постараться найти отличия с 2022.
#roadmap
Простое iOS-приложение с помощью AVFoundation
В этой статье автор показывает, как создать приложение с возможностью снимать на фронталку и заднюю камеры. Для работы с медиафайлами используется наиболее популярный фреймворк — AVFoundation. Руководство подойдёт начинающим и тем, кто не работал ещё с AVFoundation:
https://habr.com/ru/post/709558/
#ios
Проверка Accessibility в приложении на Android
Тестирование с помощью инструментов помогает определить возможности для улучшения доступности, которые разработчики могли упустить при ручном тестировании.
Одним из таких инструментов является Accessibility Scanner — приложение от Google, которое сканирует графический пользовательский интерфейс и выводит описание найденных проблем. В этой статье подробно разбирается, как провести проверку приложения:
https://proandroiddev.com/is-your-app-accessible-check-it-out-with-accessibility-scanner-78bc6ac07aaf
#android
Roadmap — как стать Android разработчиком в 2023
Автор статьи составил список навыков и технологий, которые необходимы новичкам, а также по каждому пункту подобрал курсы и материалы для изучения:
https://habr.com/ru/post/709524/
#roadmap
RecyclerView для начинающего Android-разработчика
ListView или RecyclerView? Для создания прокручиваемого списка обычно разработчики используют один из этих виджетов. В этой статье автор на примерах объясняет, почему лучше использовать RecyclerView в проекте:
https://habr.com/ru/post/705064/
#android
Copilot для Xcode — расширение для редактора
Это расширение Xcode Source Editor с помощью которого, можно настроить Github Copilot для Xcode. CopilotForXcode использует LSP, предоставляемого через Copilot.vim для генерации предложений и отображения их в виде комментариев.
Репозиторий: https://github.com/intitni/CopilotForXcode
#ios
Как превратить единственный SwiftUI контейнер в dropDestination для нескольких Transferable типов?
Transferable был представлен на WWDC 2022 как замена классу NSItemProvider в iOS 16+. Протокол обеспечивает лёгкую поддержку совместного использования, перетаскивания, копирования/вставки в приложении.
В этой статье рассматривается, как поддерживать Drop нескольких Transferable типов в один контейнер с помощью перечисления enum DropItem:
https://habr.com/ru/post/708676/
#ios
Популярные вопросы на собеседовании для Flutter-разработчиков
В этой статье Flutter-команда из Mad Brains собрала ответы на самые часто задаваемые вопросы на позицию Junior:
— как многопоточность реализована на Flutter,
— принципы SOLID и Flutter,
— способы управления State и другие:
https://habr.com/ru/post/708692/
#собеседование
Чем полезен Release Train в мобильной разработке?
Release Train — это способ координации релизов между несколькими командами. Все релизы происходят по фиксированному расписанию, независимо от того,
готовы ли все фичи или нет. Простыми словами, поезд никого не ждет — если команда пропустила его, то нужно ждать следующего.
В этой статье автор рассказывает, как рост приложения Додо Пиццы стало отправной точкой для внедрения Release Train:
https://habr.com/ru/company/dododev/blog/706158/
#ios #android
Приложение Хабра уже готово для скачивания
У Хабра появилось своё приложение в 2023. Ревью в App Store было пройдено ещё 30-го декабря прошлого года, поэтому можно смело тестить на Android и iOS.
Пока пользователи отмечают, что не хватает тёмной темы и возможности изменять размер шрифта. А также в приложении есть баги на некоторых устройствах.
Источник: https://habr.com/ru/company/habr/blog/708690/
#новости
Как взломать и защитить приложение на Flutter — простое руководство
talsec/how-to-hack-protect-flutter-apps-simple-and-actionable-guide-pt-1-3a873c7780db">Часть 1: Инструменты для взлома приложения (Frida, ApkTool, Lucky Patcher, BurpSuite и другие), извлечение сохранённых данных приложения.
talsec/how-to-hack-protect-flutter-apps-owasp-mas-and-rasp-pt-2-3-666c341052e9">Часть 2: WASP MAS и RASP, уязвимости JSON, создание клона приложения.
talsec/how-to-hack-protect-flutter-apps-steal-firebase-auth-token-and-attack-the-api-pt-3-3-8693c2361468">Часть 3: Как украсть и взломать токен аутентификации,
а также атаковать API.
#flutter
Предсказания для программистов: узнайте, что ждёт вас в новом 2023 году
Нажимайте на кнопку «Крутить» и слот-машина покажет, какие испытания ждут вас на работе:
https://tproger.ru/interactive/slot-machina-2022/
#новыйгод
Успели закоммитить рабочие проекты?
Мы предлагает немного отдохнуть и устроить новогодний интерактив. В комментах к этому посту пишите начало фразы «В Новом году я обещаю», а продолжайте её с помощью Т9. Посмотрим, у кого получится самый интересный вариант!
Забегаем в последний предпраздничный вагон или что подарить программисту на Новый год?
Ещё не выбрали подарки знакомым программистам на Новый год? А может, вы не знаете, как намекнуть близким на нужный подарок для себя?
Мы собрали несколько идей, которые никого не оставят равнодушным:
https://tproger.ru/articles/chto-podarit-programmistu-na-novyj-god/
Расскажите, какой самый дурацкий подарок на Новый год вы получали?
#новыйгод