Мобильная разработка – Telegram
Мобильная разработка
13.9K subscribers
861 photos
237 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
​Голосование за самый популярный ЯП 2022 по версии читателей Tproger завершилось!

Тройка победителей:
1. C# — первое место. «Шарпу» удалось обойти Python всего на 100 голосов, и он становится лучшим языком программирования в 2022 году!

2. Python — язык программирования, который был признан лучшим в 2020 и 2021 годах.

3. Java — занимает третье место, набрав 1200 голосов против 845 голосов за TypeScript в финальном голосовании.

Подробнее о результатах:

https://tproger.ru/articles/battl-jazykov-programmirovanija-2022-zavershilsja-2/

И хотя мы делали упор на субъективную оценку, интересно, что результаты очень похожи на топ языков и в других рейтингах. Kotlin пока ещё уступает Java, но с каждым годом отрыв всё сокращается.

Тем не менее, будем рады вашему фидбеку. Если считаете, что можно было бы что-то добавить в голосование, пишите предложения прямо под этим постом — обязательно учтём в следующем баттле. Например, стоит ли добавлять Dart в следующем году?

#toplang2022
💩15🤝8👍31
Разбираемся с RunLoop.main и DispatchQueue.main (iOS)

Оба часто используются в качестве планировщиков внутри Combine, поэтому автор статьи написал об их отличиях именно в нём. RunLoop и DispatchQueue выполняют код в основном потоке, что означает, что вы можете использовать оба для обновления пользовательского интерфейса. В чём разница?

По мнению автора, основное различие между RunLoop и DispatchQueue заключается в том, что DispatchQueue выполняется напрямую, а RunLoop может быть занят.

Стоит ли тогда использовать RunLoop? На примере скролла изображения полный разбор в статье:

https://www.avanderlee.com/combine/runloop-main-vs-dispatchqueue-main/

#ios
👍7
Чистая архитектура для iOS-приложений

В статье разбирается пример, как может выглядеть чистая архитектура в приложении на Swift с использованием SwiftUI и Combine. Автор показывает один из способов реализации MyView, MyViewModel, а также способ внедрения зависимостей с помощью SwiftUI:

https://tprg.ru/t6hj

#ios
🔥3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Health Connect Android API — создаём своё приложение

Используя Health Connect, можно реализовать единый интерфейс для чтения и записи данных о здоровье и физической форме пользователя. В этом руководстве разбирается данный API на примере создания приложения — fitLogger, а также реализуется:

— разрешение на обработку данных,
— запись и считывание данных.

Подробнее в статье:

https://www.kodeco.com/35028713-health-connect-android-api

#android
👍9
История героя про самый запутанный краш в его жизни на Android

Любой разработчик встречается с багами. Одни решаются быстро, другие требуют времени, а третьи — доводят до первых седин. Герой статьи столкнулся с лагающим UI и предположил, что проблема заключается в R8, но нет:

https://habr.com/ru/post/706126/

Спойлер: Проблема была в dex файлах.

#android
🔥7👍4
Виджеты экрана блокировки в iOS

Одной из самых ожидаемых фич, которая появилась вместе с обновлениями в iOS 16, является виджет экрана блокировки. Home Screen и Lock Screen виджеты работают на базе WidgetKit, поэтому способ создания виджета для экрана блокировки очень похож на то, как мы создаём виджет для домашнего экрана.

В этой статье автор показывает, как немного изменив код уже существующих виджетов, можно легко создать виджет для Lock Screen:

https://swiftsenpai.com/development/create-lock-screen-widget/

#ios
👍6
Flutter Forward — регистрация уже началась

Мероприятие начнётся 25 января, на котором будут представлены бизнес и тех. доклады по Flutter. Также пройдёт сессия вопросов и ответов в прямом эфире, а команда Flutter расскажет о плане по дальнейшему развитию фреймворка.

Кстати, регистрация не является обязательным пунктом, но организаторы будут делиться обновлениями и информацией с теми, кто зарегистрируется.

Источник: https://flutter.dev/events/flutter-forward
👍6👎1
Путеводитель по времени и дате на Kotlin

В этом видео автор рассказывает, как можно использовать LocalDate, LocalTime, LocalDateTime и ZonedDateTime в проектах на Kotlin. Данный урок отлично подойдёт начинающим и тем, кто немного путается в формате:

https://youtu.be/gzHy6wKAJh8

#kotlin #android
👍18🔥32
This media is not supported in your browser
VIEW IN TELEGRAM
ViewModel — основные ошибки при разработке приложения

Герой статьи делится своим мнением о работе ViewModel и UI компонентах. Стоит отметить, что статья основана на личном опыте самого автора. Разработчик поделился самыми распространёнными ошибками и антишаблонами, которые встречаются при разработке приложения на Android с архитектурой MVVM/MVI:

https://medium.com/@patilshreyas/viewmodel-for-ui-business-not-ui-operations-a6e25b850df1

#android
👍12🔥1
Swift: локальное управление несколькими версиями

Большинство разработчиков используют Xcode для установки версии Swift. Но что, если нужно загрузить тулчейн, который не связан с релизной версией
Xcode, например, для WebAssembly?

В статье рассматривается, как установить и использовать набор инструментов Swift вручную, а также с помощью инструмента командной строки — swiftenv:

https://www.polpiella.dev/managing-multiple-swift-versions-locally/

#swift #ios
👍2
Как устроен Android?

Доклад от Android Broadcast, в котором разбирается межпроцессное взаимодействие в Android, а также механизм Binder. Спикер: Андрей Белоус, Android разработчик в Bumble:

https://youtu.be/yyaw0C6oA5k

#android
🔥12👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Серия статей по Bottom sheet на iOS

Часть 1: Работа кастомного отображения контроллеров, презентация контроллера.

Часть 2: Aнимация навигационных переходов, добавление navigation bar для управления навигацией, а также плюсы и минусы данного подхода.

Часть 3: Как закрывать контроллеры с помощью свайпа по контенту, презентованные как bottom sheet и фишки по UICollectionView.

#ios
👍9
Clojure для Flutter

Clojure — современный диалект Лиспа, построенный на JVM. В этом году вышел релиз ClojureDart, который подарил разработчикам возможность писать мобильные и веб-приложения на Flutter. Какие же его преимущества? Стабильные библиотеки и кодовая база, простой и понятный синтаксис. А детальнее автор разобрал в статье, где сравнил данный язык с Dart:

https://habr.com/ru/post/705448/

#flutter
💩14🔥7👍1
Apple прижали к стене или Digital Market Act

Ещё летом ЕС одобрил закон о цифровых рынках, который вступил в силу 1-го ноября. Данный закон касается всех больших тех.компаний, поэтому соответственно затрагивает Apple и Google. Согласно последним новостям Apple разрешит установку приложений не из Apple Store до 2024 года.

В отчёте Bloomberg Марк Гурман также говорит, что новый мандат для Apple является результатом требований ЕС. Пока Apple отказывается от комментариев. Что думаете? Повлияет ли это как-то на разработчиков?

#apple
👍11👎5🕊3
Comprehensive Rust — новый курс от Android

Команда Android разработала четырёхдневный курс по Rust: от базового синтаксиса до продвинутых тем, таких как дженерики и обработка ошибок на Rust. Курс также включает в себя темы по Android:

— сборка компонентов Android на Rust,
— работа с AIDL,
— совместимость с C, C++ и Java:

https://google.github.io/comprehensive-rust/

#rust #android
🔥16
Подборка актуальных вакансий

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

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

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

iOS-разработчик
Где: Москва, Санкт-Петербург, Казань, Пермь, можно удалённо
Опыт: от 2 лет

Middle iOS-разработчик
Где: Москва
Опыт: от 3 лет

#вакансии #работа
😁3👍1
Как удалить фон на фото используя CoreML

Если в вашем приложении на iOS нужно вырезать задний фон у фотографии или создать коллаж, то одним из вариантов для решения этой задачи может стать библиотека CoreML.

Данная библиотека была выпущена Apple ещё на WWDC 2017. Она позволяет реализовать различные алгоритмы машинного обучения в приложении. Подробнее о том, как использовать модель на практике — в статье:

https://habr.com/ru/post/703280/

#ios
👍2
Ну что, какие слова увидели первыми?
👎12🔥6🤮2💩2👍1
Забегаем в последний предпраздничный вагон или что подарить программисту на Новый год?

Ещё‎ не выбрали подарки знакомым программистам на Новый год? А может, вы не знаете, как намекнуть близким на нужный подарок для себя?

Мы собрали несколько идей, которые никого не оставят равнодушным:

https://tproger.ru/articles/chto-podarit-programmistu-na-novyj-god/

Расскажите, какой самый дурацкий подарок на Новый год вы получали?

#новыйгод
👍4👎4
This media is not supported in your browser
VIEW IN TELEGRAM
Может ли ChatGPT написать Android приложение?

Герой статьи придумал задание для чат-бота: создать приложение, которое выводит на экран 50 популярных акций фондового рынка и их цены. Бот справился.

Приложение, хоть и очень примитивное, компилируется, запускается и работает, но есть нюансы:

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

Как вы думаете, сможет ли нейросеть стать хорошим помощником разработчку?

#android
👍24👎3🤔1
Успели закоммитить рабочие проекты?

Мы предлагает немного отдохнуть и устроить новогодний интерактив. В комментах к этому посту пишите начало фразы «В Новом году я обещаю», а продолжайте её с помощью Т9. Посмотрим, у кого получится самый интересный вариант!
😁7👍2