Актуальное по мобильной разработке — Android, iOS, кроссплатформа Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Другие наши проекты: https://tprg.ru/media
Срочно нужны талантливые разработчики!
18-19 февраля VK проведёт Weekend Offer для мобильных разработчиков, ML-разработчиков на Python и Java-разработчиков, которые хотят развиваться в направлении ML. Если Swift и Kotlin для вас не пустой звук, либо умеете применять Java или Python для машинного обучения, то вы знаете, как провести следующие выходные.
Участникам, получившим заслуженные офферы, предстоит заняться развитием сервисом компании в командах Дзена, Почты Mail.ru, Антиспама и Маруси.
Оставить заявку можно до 16 февраля включительно, так что не теряйте времени: https://tprg.ru/0wq7
Реклама ООО "ВКонтакте"
С нуля до App Store с помощью ChatGPT
Ещё один интересный пример создания приложения используя ИИ, но только на iOS. Герой статьи создал приложение с нуля, включая все этапы разработки, идеи и кодирования, используя ChatGPT и Github Copilot для релиза его в App Store.
Из недостатков: сейчас ChatGPT имеет доступ к данным только до 2021 года, поэтому информация о некоторых ресурсах, библиотеках или фреймворках, может быть не актуальной:
https://betterprogramming.pub/zero-to-app-store-with-ai-c7dd73618826
#ios
Новости: в Android 14 нельзя установить старые приложения
Совсем недавно Android Developers анонсировали превью Android 14 для разработчиков. А вместе с этим появилась информация о минимальной targetSdkVersion — приложения для версии Android ниже 6.0 нельзя будет установить на устройстве.
Точные сроки нововведения пока не анонсированы. Вероятно в будущем Google будет повышать это значение, но пока это установленный минимум для всех приложений в Play Store.
Подробнее:
https://habr.com/ru/company/broadcast/news/t/716294/
#новости
Junior Android разработчик: как проходит собеседование?
На YouTube вышло новое видео, в котором команда из Дзен проводила интервью с начинающим разработчиком в реальном времени. Кандидату сразу предлагался оффер в случае, если он прошёл интервью. Подробнее:
https://www.youtube.com/live/2cgIoGOL0lA?feature=share
#собеседование
Основы: этапы работы Jetpack Compose
В этой статье наглядно представлена модель и её разбор для понимания, как Jetpack Compose API преобразуют данные в UI поэтапно: Composition, Layout и Drawing:
https://medium.com/androiddevelopers/compose-phases-7fe6630ea037
#compose
Для работы в международной команде базового английского может не хватить. Держите 5 советов, которые помогут подготовиться к общению с иностранными коллегами
А если хотите подтянуть язык для работы в IT — попробуйте Яндекс Практикум. Они запустили курсы специально для разработчиков, аналитиков и продакт-менеджеров.
В основе обучения — занятия с личным преподавателем, дополнительно вас ждёт разговорная практика с иностранными IT-специалистами. Они помогут освоить язык на примере собеседований, стендапов, ревью и других рабочих встреч. Будет проще пройти реальное англоязычное собеседование, если вы уже тренировали его на занятиях.
Записывайтесь на бесплатную консультацию к куратору, который определит ваш уровень языка и расскажет о курсе: https://tprg.ru/o2LS
Реклама АНО ДПО «Образовательные технологии Яндекса»
Developer Ecosystem: состояние экосистемы разработчиков за 2022 год от JetBrains
Команда JetBrains опубликовала результаты исследования, которое проводилось в 2022 по Swift и Objective-C:
— платформы: 91% разрабатывают приложения для iOS, менее популярна разработка для tvOS,
— 61% используют Swift и Objective-C в одном проекте,
— большинство участников не пишут unit-тесты,
— CocoaPods остаётся самым популярным менеджером зависимостей.
Источник: https://www.jetbrains.com/lp/devecosystem-2022/swift-objc/
Полный отчёт по другим языкам и фреймворкам:
https://www.jetbrains.com/lp/devecosystem-2022/
#swift
SwiftUI: разработка приложений на основе ML
Популярность машинного обучения и ИИ постоянно растёт, поэтому в iOS появляются все больше фреймворков, позволяющих разрабатывать приложения с применением ML.
В этом руководстве рассматриваются два встроенных ML-API для преобразования текста в речь, а также распознавание языков:
https://www.appcoda.com/text-to-speech-swiftui/
#swiftui
Jetpack Compose: создаём музыкальное приложение
Приложение состоит из 3 экранов с анимированными переходами между ними. На данный момент доступно 2 руководства:
Часть 1: Waveform анимация — как добавить звуковую волну.
Часть 2: Action Panel — реализация панели «действия».
#compose
«Как мы держали наше приложение на диете»
Ещё одна история об оптимизации приложения, размер которого удалось сократить на 63% за неделю. Основная проблема была в изображениях и AAB. Статья будет больше полезна начинающим — автор рассказывает про способы сжатия изображений и ABI, форматы изображений и разницу между ними:
https://propertyguru.tech/how-we-kept-our-app-on-a-diet-b1bf16b2f531
#android
12 методик, которые помогут создавать приложения на Flutter легко и просто
В этой статье вы познакомитесь с современными методиками, предназначенными для разработчиков Flutter, которые помогут вам улучшить качество программного кода, его читаемость, простоту сопровождения и продуктивность:
https://habr.com/ru/post/713702/
#android #flutter
RuStore. Как создаётся магазин приложений
Интервью с руководителем RuStore о развитии магазина Android приложений: задачи, консоль разработчика, монетизация, конкуренция с Google Play, предустановка и другие вопросы:
https://youtu.be/jpU5r_ZpDxI
#видео #android
Научитесь писать выразительный код на Swift
Пройдите тест из 20 вопросов и узнайте, свой уровень знаний языка Swift.
Пройти тест: https://otus.pw/f2qO/
Сможете пройти тест — пройдёте на продвинутый онлайн-курс «iOS Developer. Professional» от OTUS по специальной цене + получите доступ к 2 открытым вебинарам курса.
На курсе вы освоите ключевые особенности Swift 5, сможете определять целесообразность применения паттернов и погрузитесь в нюансы использования Rx.
16.02 пройдет открытый вебинар курса:
— Поддержка многоязычности в приложениях iOS
Реклама «Отус Онлайн-Образование» LjN8K8jFV
onNewIntent и Jetpack Compose
Если вы Android-разработчик, то наверняка знакомы с методом onNewIntent(), а также знаете, когда он вызывается. А если нет, то предлагает к прочтению статью, где автор рассказал, как обрабатывать onNewIntent с помощью Jetpack Compose и избегать ошибок в Activity:
https://funkymuse.dev/posts/compose-on-new-intent/
#android #compose
Tooltips: всплывающие подсказки на Jetpack Compose
Всплывающие подсказки — популярная фича в мобильной разработке для улучшения пользовательского опыта. Наверняка, вы знакомы с библиотекой Balloon и использовали её в проекте.
Начиная с версии 1.5.0, в Balloon добавлена поддержка Jetpack Compose. Пример создания окошек-подсказок с помощью Jetpack Compose и данной библиотеки — в статье:
https://skydoves.medium.com/tooltips-for-jetpack-compose-improve-user-experience-to-the-next-level-68791ab8e07f
#android #compose
🔞Что подарить второй половинке на 14 февраля?
Например, Dilduino — это собранная на Arduino плата, которая выступает мозгом проекта для собственной секс-игрушки. Игрушку вы собираете сами, и конечно, таким подарком можно управлять со смартфона.
Код проекта можно найти в открытом доступе, а подробнее о Dilduino мы рассказали в нашей статье:
https://tproger.ru/articles/dilduino-soberite-seks-igrushku-na-arduino-v-podarok-na-14-fevralja/
#подарки
Создайте полноценное приложение на Kotlin с нуля
Для этого присоединяйтесь 15 февраля в 20:00 мск к открытому уроку онлайн-курса «Kotlin Backend Developer. Professional» от OTUS.
Что вас ждёт на занятии:
— рассмотрите интересные технологии из сферы Kotlin, из-за чего язык становится мощным и удобным инструментом;
— создадите мультиплатформенный проект, на Kotlin/JVM и Kotlin/JS;
— напишите фронтенд с помощью удобных DSL для React и CSS;
— воспользуетесь корутинами для клиент-серверного взаимодействия.
Если вы уже знакомы с объектно-ориентированным программированием и SQL, обязательно приходите. Это также отличная возможность протестировать формат обучения и пообщаться с преподавателем курса!
Для регистрации на урок пройдите вступительный тест: https://otus.pw/T9yA/
Реклама ООО «Отус Онлайн-Образование» LjN8K9po1
Модуляризация iOS-приложения: одна ошибка, которая замедляет процесс сборки на Xcode
Наверняка вы знаете как создавать многомодульные iOS-приложения или знакомы с концепцией. Проблема времени сборки проекта обычно решается с помощью создания отдельных модулей, но что если при модуляризации процесс сборки стал ещё медленнее?
Герой статьи столкнулся с данной проблемой из-за неверной модуляризацим кодовой базы. Поиск решения и история автора — в статье:
https://medium.com/stockbit-bibit-engineering/our-1-mistake-in-ios-app-modularization-that-slows-our-xcode-build-process-3035d7335f2b
#ios
Анимация бекграунда для Flutter-приложений
animated_background — библиотека, которая позволяет добавлять анимированный фон в приложение. Пакет легко добавить в проект и изменить дизайн под своё приложение:
https://pub.dev/packages/animated_background
#flutter
Как вызвать С++ функцию через Swift?
С помощью Swift toolchain можно импортировать код Objective-C в Swift. Есть некоторые ограничения, например, классы C++ нельзя использовать в Objective-C.
В этой статье рассматривается пример реализации сито алгоритма Эратосфена на Swift и C++, а также как инициировать совместимость с C++:
https://habr.com/en/amp/post/714756/
#swift
Пример реализации библиотеки для изображений под Android
Предположим, перед разработчиком стоит задача удалить одинаковые изображения или сравнить эти изображения между собой. Не найдя подходящей библиотеки, герой статьи решил создать собственную библиотеку, которая могла бы справиться с этой задачей.
Что такое алгоритм вычисления перцептивного хэша, а также как использовать библиотеку — в статье:
https://mrkaydev.medium.com/phasher-android-library-7a585720ad55
#android
Ускоренный курс по Jetpack Compose для начинающих
Видеоурок, в котором разбираются основы Jetpack Compose, где всего лишь за час вы изучите основы по созданию простых UI. Конечно, изучить весь Jetpack Compose за такое короткое время невозможно, но к концу видео у вас появится понимание работы фреймворка:
https://youtu.be/6_wK_Ud8--0
#android #compose
Как создавать приложения на Flutter легко и просто?
В этой статье разбираются лучшие практики разработки на Flutter, которые могут помочь сделать работу легче для каждого Flutter-разработчика, например:
— понимание концепции constrains Flutter,
— когда использовать необработанные строки,
— почему следует использовать log вместо print и другие:
https://tprg.ru/F1pY
#flutter
Если не хочется гуглить — Learn Anything
Learn Anything — сервис, на котором можно выучить практически «всё». Это открытая образовательная поисковая система, которая отображает статьи, источники и репозитории, за которые проголосовало сообщество, в виде интеллект-карт. Конечно, это не ChatGPT, но, возможно, вы найдёте полезные материалы для себя:
https://learn-anything.xyz/
#начинающим
Получение доступа к командной строке из XCTest
Для тестирования push-уведомлений или других запросов порой удобнее воспользоваться XCTest, чем создавать HTTP-сервер. В этой статье автор коротко объяснил возможные сценарии запросов и их примеры:
https://habr.com/ru/post/714784/
#ios
Делитесь своим опытом и получайте дополнительный доход
Яндекс Практикум ищет наставников и ревьюеров на свои курсы, особенно на следующие направления:
— Frontend-разработка
— DevOps
— Продуктовая аналитика
Узнать подробнее и откликнуться: https://tprg.ru/aikZ
#вакансии #работа
Как быстрее расти в разработке? Джун и Сеньор поделились своим мнением
Придя в новую сферу, легко наломать дров. Чтобы этого избежать полезно прислушиваться к мнению коллег, которые уже успели совершить свои ошибки или, наоборот, нашли удачные способы качественно выполнять поставленные задачи.
Алина и Алексей имеют разный опыт разработки и по-разному смотрят на стопперы и возможности. Посмотрите какие основные сложности они выделяют, чтобы заранее быть готовым к ним:
https://vc.ru/u/1411800-nj-soft/596008-kak-bystree-rasti-v-razrabotke-my-pogovorili-ob-etom-s-senorom-i-dzhunom-i-sravnili-ih-otvety
#советы
Проблема вложенных скроллов
Разбор ошибок, которые допускают разработчики при реализации вложенного (nested) скролла в Jetpack Compose с помощью LazyColumns — в видеоуроке:
https://youtu.be/Y547UHx5Rc0
#android #compose
Подборка актуальных вакансий
— Android-разработчик
Где: удалённо
Опыт: от 3 лет
— Senior Android-разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет
— Senior Android-разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет
— iOS-разработчик
Где: удалённо
Опыт: не указан
— iOS-разработчик
Где: Москва, Санкт-Петербург, Казань, Пермь, можно удалённо
Опыт: от 2 лет
— Middle iOS-разработчик
Где: Москва
Опыт: от 3 лет
— Middle / Senior Mobile Developer (Flutter / Dart)
Где: Москва, можно удалённо
Опыт: от 3 лет
#вакансии #работа
Kotlin MultiPlatform: создаём Slack на Jetpack Compose
После релиза Jetpack Compose для ПК (MultiPlatform), в интернете появилось множество статей по реализации известных приложений на разных платформах.
Герой статьи создал клон Slack, проект ещё полностью не закончен, но основная функциональность уже готова:
— чат и сообщения,
— аутентификация (на основе JWT),
— настройка каналов и другие.
Посмотреть можно здесь:
oianmol/writing-slack-in-jetpack-compose-and-kotlin-multiplatform-52636b9194b4" rel="nofollow">https://medium.com/@oianmol/writing-slack-in-jetpack-compose-and-kotlin-multiplatform-52636b9194b4
#kotlin #compose