Мобильная разработка – Telegram
Мобильная разработка
13.9K subscribers
856 photos
238 videos
2.96K links
Актуальное по мобильной разработке — Android, iOS, кроссплатформа

Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels
Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/oVBP
Download Telegram
Kotlin: Null-безопасность и 3 подводных камня

Система типов в Kotlin направлена на искоренение опасности нулевых(null) значений. Но на все ли 100%?

В этой статье автор рассматривает 3 случая, которые могут вызвать ошибку, а компилятор даже не попытается вас защитить:

https://betterprogramming.pub/kotlin-isnt-null-safe-yet-here-are-3-gotchas-23258fada62

#kotlin #android
🔥8👍2
Самые частые ошибки начинающих iOS-разработчиков

Александра Башкирова, старший код-ревьюер на курсе «iOS-разработчик» в Яндекс Практикуме, разбирает несколько популярных ошибок, которые допускают новички.

Например, ошибки в вёрстке, избыточные force unwrapping, неправильное использование switch и guard. Также автор рассказывает к чему приводят эти ошибки и как их избежать:

https://habr.com/ru/company/yandex_praktikum/blog/722812/

#ios
👎4👍3🗿3
Руководство по Google Play Review API

Review API позволяет создать диалог с отзывом и оценкой пользователя, что может быть полезно для повышения рейтинга приложения. В этом видеоуроке, автор подробно рассматривает все шаги по реализации данного функционала для любого приложения:

https://youtu.be/NgQ5_QnoJb8

#android
👍12
This media is not supported in your browser
VIEW IN TELEGRAM
Как реализовать пользовательский ввод для Android Wear OS

Если вы запрашиваете ввод от пользователя на устройстве Wear OS, вы можете предложить ему сопутствующее приложение для телефона, но если это невозможно, можно запросить ввод текста или смайликов непосредственно с часов, используя встроенные инструменты IME.

В этой статье рассматривается пример того, как стандартные методы ввода могут быть реализованы с помощью RemoteInput API:

https://proandroiddev.com/typing-on-a-tiny-screen-e7601e846118

#wearos
👍4
Анимация приветствия от Apple

Наверняка вы видели популярную Macintosh анимацию «hello». К сожалению, в SwiftUI нет встроенной функции для достижения такого эффекта, поэтому герою статьи пришлось создавать всё с нуля:

https://tprg.ru/sgBH

А ещё делится интересным инструментом, который преобразует SVG в SwiftUI. Есть некоторые недостатки, но их можно доработать.

#ios
5👍1
Как программисту сохранить зрение?

В 1999 году появилось понятие компьютерного зрительного синдрома. Основные формы: синдром сухого глаза и хронического утомления. Если вы длительно работаете за компьютером, то вы тоже можете быть в зоне риска.

Действительно, сейчас есть 4K мониторы, крутые очки, но усталость глаз рано или поздно может появиться у каждого. Собрали 7 крутых советов для программистов, которые помогут сберечь зрение:

https://tproger.ru/articles/7-prostyh-sovetov-dlja-programmista-kotorye-sberegut-ego-zrenie/

#it #здоровье
👍124🤔1
«Обновляю ссылку один месяц, или лёгких задач не бывает»

На Хабре вышла статья, где разработчики iOS-приложения Додо Пиццы рассказывают про скриншот-тесты. С помощью этих тестов можно быстро проверить, что вёрстка на экранах случайно никуда не поплыла.

Одна проблема: точность сравнения отличается на Intel и на Apple Silicon. Грустная история в мемах, как команда решила полностью использовать официальную версию библиотеки swift-snapshot-testing для скриншот-тестов — в статье:

https://habr.com/ru/company/dododev/blog/722354/

#ios
👍2🤯2
KMM: переход из Dagger & Hilt в kotlin-inject

Kotlin-inject — это библиотека для внедрения зависимостей похожая на Koin. Koin, действительно, более популярен, но, по мнению автора статьи, есть 2 главных недостатка:

— Compile-time safety,
— Различия с Dagger-API. Kotlin-inject написан полностью на Kotlin, поэтому проще в использовании, чем Koin.

В этой статье рассматривается пример перехода от Dagger и Hilt к kotlin-inject. Также автор подробно объясняет все плюсы использования kotlin-inject в их приложении:

https://proandroiddev.com/from-dagger-hilt-into-the-multiplatform-world-with-kotlin-inject-647d8e3bddd5

#android
👍4🔥2
Подкаст: заказчики, платформы и технологии

Команда Mobius выпустила новое видео с Алексеем Гладковым, в котором обсуждают заказчиков и вечный вопрос: Flutter, KMM или нативная разработка?

Самые странные хотелки заказчика, стоит ли соглашаться? Когда стоит отказаться от привычных технологий в пользу чего-то нового — в этом видео:

https://youtu.be/UGow5drkUvA

#android #kmm
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Релиз Jetpack Compose: что нового?

1. Page: улучшили свайп между страницами контента (пример поведения на видео). Теперь дополнительные библиотеки, например, Accompanist, можно не использовать в проекте.

2. Новые Flow Layouts: Flow Row и Flow Column обеспечивают эффективный и компактный способ размещения элементов в контейнере, когда размер элементов или контейнера неизвестен или динамичен.

3. Повышение производительности в Modifier.

4. Text и TextField стали более функциональными: новые анимации, поддержка бегущей строки, более плавные переходы.

Источник: https://android-developers.googleblog.com/2023/03/whats-new-in-jetpack-compose-march-23-release.html

#android
👍25
Как написать первый автотест на Android-приложение?

Автоматизированное тестирование — одна из самых спорных тем в разработке программного обеспечения.

Как часто вы используете автотесты в приложении? А создаё‎те ли вы их сами? Если нет, то эта статья поможет разобраться в этой сложной теме начинающим:

https://habr.com/ru/company/yandex_praktikum/blog/721854/

#android #тестирование
Руководство по guard в Swift

Условные операторы явлюятся важной частью программирования в Swift (и многих других языков). Первый условный оператор, который обычно изучают новички, — это оператор if. Однако он не единственный и не самый часто используемый.

В Swift 2 было введен — guard, как и оператор if, он исполняет код, полагаясь на логическое значение выражения, но стал использоваться намного чаще.

В этой статье рассматривается, что такое оператор guard, когда следует использовать его использовать вместо оператора if, а также плюсы его использования:

https://matteomanferdini.com/swift-guard/

#swift
👍3
Шесть открытых библиотек от Mad Brains, которые упростят жизнь Flutter-разработчика

Flutter постоянно развивается, однако всё‎ равно разработчики могут столкнуться с отсутствием готовых решений.

В этой статье команда Mad Brains собрала библиотеки, которые могут понадобиться Flutter-разработчику. Например: для реализации оплаты, геокодер, плагин для пуш-уведомлений:

https://vc.ru/dev/641642-shest-otkrytyh-bibliotek-ot-mad-brains-kotorye-uprostyat-zhizn-flutter-razrabotchika

#flutter
👍3
Как прошла ваша неделя? Поделитесь своими успехами и похвастайтесь достижениями!

Может вы закончили пет-проект? Выучили что-то новое и интересное? Поделитесь своими яркими моментами в комментариях к статье:

https://tproger.ru/articles/chto-vy-delali-na-etoj-nedele-post-hvastovstva-za-20-24-marta/

#чат
Оптимизация памяти в Android

Оптимизация памяти является важным аспектом разработки любого ПО, и это особенно важно в мобильных приложениях, где ресурсы часто ограничены.

В этой статье собраны полезные советы, которые помогут повысить производительность Android-приложения:

https://betulnecanli.medium.com/memory-optimizations-in-android-d50f4d1d2d82

#android
👍4👎3
This media is not supported in your browser
VIEW IN TELEGRAM
5 логико-математических задач, которые поставят в тупик

Выходные! А значит, можно поставить на паузу проекты и немного отдохнуть. Чтобы отдых был более полезным, предлагаем решить 5 задач, которые точно заставят вас задуматься:

https://tproger.ru/articles/5-logiko-matematicheskih-zadach-kotorye-postavjat-v-tupik/

#it
1👍1
Дорожная карта для Android-разработчика в 2023

Филипп Лакнер выпустил новое видео, в котором рассказывает, что должен знать начинающий, чтобы стать Android-разработчиком. Видео будет полезно и для опытных разработчиков — для проверки своих знаний:

https://youtu.be/AhUL5tHF3uc
🔥15👍2
Исходный код Twitter просочился в Интернет, что известно?

24 марта компания направила повестку в суд на GitHub, где пользователь, идентифицированный как «FreeSpeechEnthusiast», поделился отрывками исходного кода Twitter без разрешения. Цель — идентифицировать лицо, ответственное за распространение кода.

GitHub, конечно, сразу удалил код. Но некоторые СМИ утверждают, что репозиторий был опубликован 2 месяца назад. Почему обнаружили только сейчас? Или это новый PR-ход от Маска?

Источник: https://www.cnbc.com/2023/03/26/twitter-source-code-leaked-online-court-filings-show-.html

#news
👍5💩4
Подборка актуальных вакансий

Java-разработчик
Где: удалённо
Опыт: от 1 года

Senior Java-разработчик
Где: Удалённо
Опыт: от 2 лет

Главный разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет

Старший Java-разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет

Senior Android-разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет

Android-разработчик
Где: удалённо
Опыт: от 3 лет

Java-разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет

#вакансии #работа
💩6😁4👍2
Распространённые ошибки при разработке iOS-приложений

В этой статье собраны популярные ошибки, которые допускают разработчики. С некоторыми из них можно столкнуться при разработке ПО в целом, другие — более специфичны для iOS. Например, принципы SOLID или тестирование.

Статье — не руководство, а скорее больше небольшая напоминалка, что не стоит забывать базовые вещи:

https://johnarnaou.medium.com/common-mistakes-in-ios-development-9dda4ea22f6d

#ios
💩4🫡3🥱1
Инфраструктура и пайплайн (CI/CD) для Android-приложений

Серия постов по настройке CI/CD для приложений под Android с помощью GitHub Actions.

Часть 1: как использовать Fastlane для создания автоматического способа сборки, упаковки и локальной загрузки приложения. Также автор разбирает шаги по настройке доступа к Google Play Developer API.

Часть 2: работа с GitHub Actions и реализация CI/CD.

#android
👍9