Target API Level policy — Google продлила сроки
Приложения с уровнем API 29 и ниже будут поддерживаться в Google Play Store до 31 января 2023 года вместо 1 ноября 2022 года. Google советует всем разработчикам обновить свои приложения до конца января, однако есть ещё небольшая пометка — если разработчикам нужно больше времени для обновления, то можно сделать запрос на продление этого срока.
После получения разрешения приложение было доступно для всех пользователей до 1 мая 2023 года.
#новости
Приложения с уровнем API 29 и ниже будут поддерживаться в Google Play Store до 31 января 2023 года вместо 1 ноября 2022 года. Google советует всем разработчикам обновить свои приложения до конца января, однако есть ещё небольшая пометка — если разработчикам нужно больше времени для обновления, то можно сделать запрос на продление этого срока.
После получения разрешения приложение было доступно для всех пользователей до 1 мая 2023 года.
#новости
👍4
Аналог приложения Uber на iOS 16 & Xcode 14
В этом видеоуроке за 4 часа вы создадите приложение, которое похоже на Uber с помощью SwiftUI. Автор разбирает:
— методы для получения текущего местоположения пользователя,
— как создать интерфейс и реализовать функционал по просмотру запросов на поездку,
— поиск и выбор местоположения,
— как добавить данные о поездке, тёмный режим и другое:
https://youtu.be/Z6-KVWXbw-w
#ios
В этом видеоуроке за 4 часа вы создадите приложение, которое похоже на Uber с помощью SwiftUI. Автор разбирает:
— методы для получения текущего местоположения пользователя,
— как создать интерфейс и реализовать функционал по просмотру запросов на поездку,
— поиск и выбор местоположения,
— как добавить данные о поездке, тёмный режим и другое:
https://youtu.be/Z6-KVWXbw-w
#ios
👍16👏3
Полезные материалы о Flutter и Dart-разработке
Подборка YouTube-каналов, книг и других материалов, которые помогут вам быстро освоить Flutter и заодно Dart, которые вы могли пропустить:
https://tproger.ru/articles/poleznye-materialy-o-flutter-i-dart-razrabotke/
#flutter #dart
Подборка YouTube-каналов, книг и других материалов, которые помогут вам быстро освоить Flutter и заодно Dart, которые вы могли пропустить:
https://tproger.ru/articles/poleznye-materialy-o-flutter-i-dart-razrabotke/
#flutter #dart
👍8🔥1👏1
Уроки, извлечённые при модульизации приложения
Небольшая серия статей, в которой разработчики делятся опытом, приобретенным за 5 лет в результате масштабирования приложения с нуля до более чем 150 модулей.
Часть 1: Модульная структура, цель проекта и mono repo, исследование времени сборки.
Часть 2: Добавление в проект sample app’ов , изменения в команде, поддержка работоспособности проекта.
#android
Небольшая серия статей, в которой разработчики делятся опытом, приобретенным за 5 лет в результате масштабирования приложения с нуля до более чем 150 модулей.
Часть 1: Модульная структура, цель проекта и mono repo, исследование времени сборки.
Часть 2: Добавление в проект sample app’ов , изменения в команде, поддержка работоспособности проекта.
#android
👍2
ChatGPT — для генерации бойлерплейта и повышения производительности
Вероятно, вы уже слышали про ChatGPT — это нейросеть нового поколения на основе GPT 3.5 от OpenAI, которая позволяет писать небольшие приложения, решать алгоритмические задачи и даже находить ответы на StackOverflow. Но можно ли с её помощью улучшить некоторые процессы в разработке мобильных приложений?
В этой статье автор использует ChatGPT для настройки нескольких зависимостей, которые используются в проекте Android, а также для генерации бойлерплейта:
https://levelup.gitconnected.com/using-chatgpt-to-set-up-an-android-app-82d65c82cb7b
#android
Вероятно, вы уже слышали про ChatGPT — это нейросеть нового поколения на основе GPT 3.5 от OpenAI, которая позволяет писать небольшие приложения, решать алгоритмические задачи и даже находить ответы на StackOverflow. Но можно ли с её помощью улучшить некоторые процессы в разработке мобильных приложений?
В этой статье автор использует ChatGPT для настройки нескольких зависимостей, которые используются в проекте Android, а также для генерации бойлерплейта:
https://levelup.gitconnected.com/using-chatgpt-to-set-up-an-android-app-82d65c82cb7b
#android
👍5
Голосование за самый популярный ЯП 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
Тройка победителей:
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👍3❤1
Разбираемся с RunLoop.main и DispatchQueue.main (iOS)
Оба часто используются в качестве планировщиков внутри Combine, поэтому автор статьи написал об их отличиях именно в нём. RunLoop и DispatchQueue выполняют код в основном потоке, что означает, что вы можете использовать оба для обновления пользовательского интерфейса. В чём разница?
По мнению автора, основное различие между RunLoop и DispatchQueue заключается в том, что DispatchQueue выполняется напрямую, а RunLoop может быть занят.
Стоит ли тогда использовать RunLoop? На примере скролла изображения полный разбор в статье:
https://www.avanderlee.com/combine/runloop-main-vs-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
В статье разбирается пример, как может выглядеть чистая архитектура в приложении на 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
Используя 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
Любой разработчик встречается с багами. Одни решаются быстро, другие требуют времени, а третьи — доводят до первых седин. Герой статьи столкнулся с лагающим 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
Одной из самых ожидаемых фич, которая появилась вместе с обновлениями в 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
Мероприятие начнётся 25 января, на котором будут представлены бизнес и тех. доклады по Flutter. Также пройдёт сессия вопросов и ответов в прямом эфире, а команда Flutter расскажет о плане по дальнейшему развитию фреймворка.
Кстати, регистрация не является обязательным пунктом, но организаторы будут делиться обновлениями и информацией с теми, кто зарегистрируется.
Источник: https://flutter.dev/events/flutter-forward
👍6👎1
Путеводитель по времени и дате на Kotlin
В этом видео автор рассказывает, как можно использовать LocalDate, LocalTime, LocalDateTime и ZonedDateTime в проектах на Kotlin. Данный урок отлично подойдёт начинающим и тем, кто немного путается в формате:
https://youtu.be/gzHy6wKAJh8
#kotlin #android
В этом видео автор рассказывает, как можно использовать LocalDate, LocalTime, LocalDateTime и ZonedDateTime в проектах на Kotlin. Данный урок отлично подойдёт начинающим и тем, кто немного путается в формате:
https://youtu.be/gzHy6wKAJh8
#kotlin #android
👍18🔥3❤2
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
Герой статьи делится своим мнением о работе 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
Большинство разработчиков используют 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
Доклад от 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
Часть 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
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
Ещё летом ЕС одобрил закон о цифровых рынках, который вступил в силу 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
Команда 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 лет
#вакансии #работа
— Android-разработчик
Где: удалённо
Опыт: от 3 лет
— Senior Android-разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет
— iOS-разработчик
Где: удалённо
Опыт: не указан
— iOS-разработчик
Где: Москва, Санкт-Петербург, Казань, Пермь, можно удалённо
Опыт: от 2 лет
— Middle iOS-разработчик
Где: Москва
Опыт: от 3 лет
#вакансии #работа
😁3👍1