Android System Design: чистая архитектура и загрузка изображений
Чтобы проиллюстрировать важность Android System Design в разработке, автор рассматривает пример мобильного приложения, которое позволяет пользователям загружать изображения на сервер. Условия:
1. Пользователь может загружать более 1000 изображений.
2. Если нет подключения к сети, приложение должно загружать последнее изображение до тех пор, пока не останется изображений для загрузки. Т.е. любой сбой не должен влиять на загрузку.
3. Во время загрузки пользователь может использовать другие функциональности приложения.
Подробнее:
https://tprg.ru/saDb
#android
Чтобы проиллюстрировать важность Android System Design в разработке, автор рассматривает пример мобильного приложения, которое позволяет пользователям загружать изображения на сервер. Условия:
1. Пользователь может загружать более 1000 изображений.
2. Если нет подключения к сети, приложение должно загружать последнее изображение до тех пор, пока не останется изображений для загрузки. Т.е. любой сбой не должен влиять на загрузку.
3. Во время загрузки пользователь может использовать другие функциональности приложения.
Подробнее:
https://tprg.ru/saDb
#android
👍10
Миграция приложения на Jetpack Compose
В этой статье рассматривается, как на практике перейти на Compose на примере простого приложения «Sunflower». Автор разбирает, как
— удалить компоненты Navigation и Fragment и перейти на Navigation Compose,
— создать библиотеку общих компонентов UI,
— создать новые функции с помощью Compose и другое:
https://tprg.ru/vgCJ
#compose #android
В этой статье рассматривается, как на практике перейти на Compose на примере простого приложения «Sunflower». Автор разбирает, как
— удалить компоненты Navigation и Fragment и перейти на Navigation Compose,
— создать библиотеку общих компонентов UI,
— создать новые функции с помощью Compose и другое:
https://tprg.ru/vgCJ
#compose #android
👍6
Редактирование изображений в iOS-приложениях
В этом видеоуроке рассматривается, как обрезать и редактировать фотографии в приложении для iOS с помощью Swift. А именно как:
— импортировать фотографии из библиотеки устройства и отобразить их в приложении,
— использовать инструменты CropViewController на iOS, чтобы обрезать изображения до нужного размера.
— настроить UX и отобразить отредактированную фотографию в приложении:
https://youtu.be/XPcuAg0Xctw
#ios
В этом видеоуроке рассматривается, как обрезать и редактировать фотографии в приложении для iOS с помощью Swift. А именно как:
— импортировать фотографии из библиотеки устройства и отобразить их в приложении,
— использовать инструменты CropViewController на iOS, чтобы обрезать изображения до нужного размера.
— настроить UX и отобразить отредактированную фотографию в приложении:
https://youtu.be/XPcuAg0Xctw
#ios
Бывший инженер рассказал, почему Google медленно гибнет
Год начался не совсем удачно для компании. В феврале акции Google упали на $100 млрд из-за неправильной рекламы чат-бота. Также новости об увольнении сотрудников компании всё также не утихают. Куда идут все инвестиции? Делимся мнением бывшего сотрудника Google:
https://tproger.ru/articles/byvwij-inzhener-rasskazal-pochemu-google-teryaet-liderstvo-v-bigtehe/
#новости
Год начался не совсем удачно для компании. В феврале акции Google упали на $100 млрд из-за неправильной рекламы чат-бота. Также новости об увольнении сотрудников компании всё также не утихают. Куда идут все инвестиции? Делимся мнением бывшего сотрудника Google:
https://tproger.ru/articles/byvwij-inzhener-rasskazal-pochemu-google-teryaet-liderstvo-v-bigtehe/
#новости
👎7👍6🤡2👌1
Live coding интервью для iOS разработчиков
Подборка советов, как подготовиться и чего ожидать на собеседовании для junior-разработчика. Автор разбирает задачи по Thread safe collection, DispatchGroup, Type erasure, ключевым словам any и some:
https://habr.com/ru/post/718334/
#собеседование
Подборка советов, как подготовиться и чего ожидать на собеседовании для junior-разработчика. Автор разбирает задачи по Thread safe collection, DispatchGroup, Type erasure, ключевым словам any и some:
https://habr.com/ru/post/718334/
#собеседование
👍1
App Cloning в Android 14: что известно?
В феврале появились новости, что Google тестирует новую функциональность в Android 14, которая позволит создавать второй экземпляр приложения, чтобы пользователи могли использовать две учётные записи одновременно.
Идея — не новая. Функция клонирования приложения появилась ещё в Android 12, но с большими ограничениями. Все недостатки обещают исправить в Android 14.
Подробнее: https://www.xda-developers.com/android-14-app-cloning/
#android #новости
В феврале появились новости, что Google тестирует новую функциональность в Android 14, которая позволит создавать второй экземпляр приложения, чтобы пользователи могли использовать две учётные записи одновременно.
Идея — не новая. Функция клонирования приложения появилась ещё в Android 12, но с большими ограничениями. Все недостатки обещают исправить в Android 14.
Подробнее: https://www.xda-developers.com/android-14-app-cloning/
#android #новости
👍8🤡1
This media is not supported in your browser
VIEW IN TELEGRAM
А вот и пятница!
Успели доделать запланированные таски? Предлагаем похвастаться и просто рассказать о своих успехах! Здесь вы можете поделиться ссылками, фото, мемами или скриншотами кода над которым работали:
https://tprg.ru/Lgbt
#обсуждение
Успели доделать запланированные таски? Предлагаем похвастаться и просто рассказать о своих успехах! Здесь вы можете поделиться ссылками, фото, мемами или скриншотами кода над которым работали:
https://tprg.ru/Lgbt
#обсуждение
💩8👍3👎1🥴1
Основы OkHttp в Android-разработке
Подробная статья про библиотеку OkHttp: основные объекты и методы, особенности работы с ней в Android-разработке. А также немного про разницу между OkHttp и Retrofit:
https://tproger.ru/articles/osnovy-okhttp-v-android-razrabotke-2/
#android
Подробная статья про библиотеку OkHttp: основные объекты и методы, особенности работы с ней в Android-разработке. А также немного про разницу между OkHttp и Retrofit:
https://tproger.ru/articles/osnovy-okhttp-v-android-razrabotke-2/
#android
👍7❤2
Как отслеживать местоположение при наведении в SwiftUI
В macOS 13 и iPadOS 16 появился новый модификатор, который сообщает расположение указателя, когда он в пределах границ view — onContinuousHover. Также с помощью action можно определить, если указатель находится ещё внутри границ или нет. Пример реализации с подробным разбором — в статье:
https://habr.com/ru/post/718542/
#ios
В macOS 13 и iPadOS 16 появился новый модификатор, который сообщает расположение указателя, когда он в пределах границ view — onContinuousHover. Также с помощью action можно определить, если указатель находится ещё внутри границ или нет. Пример реализации с подробным разбором — в статье:
https://habr.com/ru/post/718542/
#ios
👍4
Как создать приложение GraphQL с чистой архитектурой на Kotlin
GraphQL позволяет определить, какие данные вы хотите получить из API. По сути, в отличие от традиционного REST API, с помощью GraphQL можно избежать получения большого количества полей, которые не используются.
Это оптимизирует сетевой трафик и потребление батареи вашим приложением. В этом видео рассматривается реализация GraphQL для Android-приложения:
https://youtu.be/ME3LH2bib3g
#android
GraphQL позволяет определить, какие данные вы хотите получить из API. По сути, в отличие от традиционного REST API, с помощью GraphQL можно избежать получения большого количества полей, которые не используются.
Это оптимизирует сетевой трафик и потребление батареи вашим приложением. В этом видео рассматривается реализация GraphQL для Android-приложения:
https://youtu.be/ME3LH2bib3g
#android
❤18👍2🔥2⚡1
Android 14: чего ожидать?
1. Специальные возможности: если вам казалось, что шрифт в приложении слишком мал в версии Android 13, то пользователи смогут увеличивать размеры шрифта до 200% в Android 14.
2. Языковые параметры сортировки будут реализованы с помощью Grammatical Inflection API, а также появится более детализированная настройка языков для каждого региона.
3. Улучшение времени автономной работы устройства.
4. Новое разрешение «schedule exact alarm» для приложений, которые не являются часами или календарями.
5. Блокировка приложений с устаревшими APK.
Источник: https://tprg.ru/tXDe
#android
1. Специальные возможности: если вам казалось, что шрифт в приложении слишком мал в версии Android 13, то пользователи смогут увеличивать размеры шрифта до 200% в Android 14.
2. Языковые параметры сортировки будут реализованы с помощью Grammatical Inflection API, а также появится более детализированная настройка языков для каждого региона.
3. Улучшение времени автономной работы устройства.
4. Новое разрешение «schedule exact alarm» для приложений, которые не являются часами или календарями.
5. Блокировка приложений с устаревшими APK.
Источник: https://tprg.ru/tXDe
#android
👍9🤮1
Как senior iOS-разработчик стилизуют код: читаемость и скорость разработки
В статье собраны советы и примеры, которые помогают улучшить производительность приложения, а также просто правила написания качественного и понятного кода. С некоторыми моментами можно поспорить, но, по словам автора, многие советы взяты из книги Swift Style:
https://tprg.ru/TYIN
#ios
В статье собраны советы и примеры, которые помогают улучшить производительность приложения, а также просто правила написания качественного и понятного кода. С некоторыми моментами можно поспорить, но, по словам автора, многие советы взяты из книги Swift Style:
https://tprg.ru/TYIN
#ios
👍8👎2
Android Developers выпустили курс по Compose
Курс «Android Basics with Compose» разделён на 8 блоков, каждый из которых охватывает различные аспекты разработки. Желающие могут также изучить основы Kotlin, архитектуру приложений для Android и часто используемые библиотеки Jetpack Compose.
Источник: https://tprg.ru/kqR4
#android
Курс «Android Basics with Compose» разделён на 8 блоков, каждый из которых охватывает различные аспекты разработки. Желающие могут также изучить основы Kotlin, архитектуру приложений для Android и часто используемые библиотеки Jetpack Compose.
Источник: https://tprg.ru/kqR4
#android
👍16
AnimeNow: бета-версия приложения на iOS
AnimeNow — это приложение для просмотра аниме, реализованное с помощью Swift и TCA. Все серии можно скачать на телефон. Проект ещё не закончен, поэтому есть несколько багов. Исходный код проекта:
https://github.com/AnimeNow-Team/AnimeNow
#ios
AnimeNow — это приложение для просмотра аниме, реализованное с помощью Swift и TCA. Все серии можно скачать на телефон. Проект ещё не закончен, поэтому есть несколько багов. Исходный код проекта:
https://github.com/AnimeNow-Team/AnimeNow
#ios
👍11👎3❤2
Рекомпозиция и логирование
Какие способы отладки есть при рекомпозиции в Jetpack Compose? В этой статье автор разбирает примеры с использованием — LogCompositions() и недостатки стандартного использования Log.d:
https://tprg.ru/TdwK
#android
Какие способы отладки есть при рекомпозиции в Jetpack Compose? В этой статье автор разбирает примеры с использованием — LogCompositions() и недостатки стандартного использования Log.d:
https://tprg.ru/TdwK
#android
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
OCR на Flutter с помощью Google ML Kit
OCR или «Оптическое распознавание символов» — это технология, которая распознаёт текст внутри цифрового изображения. OCR обычно используется для распознавания текста в отсканированных документах и изображениях.
Для реализации данной функциональности на Flutter для этого есть удобный и простой пакет: Flutter Scalable OCR. Данный пакет является оболочкой Google ML Kit:
https://pub.dev/packages/flutter_scalable_ocr
#flutter
OCR или «Оптическое распознавание символов» — это технология, которая распознаёт текст внутри цифрового изображения. OCR обычно используется для распознавания текста в отсканированных документах и изображениях.
Для реализации данной функциональности на Flutter для этого есть удобный и простой пакет: Flutter Scalable OCR. Данный пакет является оболочкой Google ML Kit:
https://pub.dev/packages/flutter_scalable_ocr
#flutter
🔥8👍1🤮1💩1🤡1
Шаблон заголовка в Xcode для Swift Package
В этой статье рассматривается две проблемы создания шаблонов заголовков в Xcode. Например, только для Swift Package, Xcode не запрашивает имя файла, а просто создаёт его как «File.swift».
Можно потратить время на переименование файла, а также исправить имя в заголовке, но автор предлагает более лёгкое решение:
https://samwize.com/2023/02/28/xcode-header-template-for-swift-packages/
#swift #ios
В этой статье рассматривается две проблемы создания шаблонов заголовков в Xcode. Например, только для Swift Package, Xcode не запрашивает имя файла, а просто создаёт его как «File.swift».
Можно потратить время на переименование файла, а также исправить имя в заголовке, но автор предлагает более лёгкое решение:
https://samwize.com/2023/02/28/xcode-header-template-for-swift-packages/
#swift #ios
👍5
Compose iOS: как это работает?
Что такое Compose Multiplatform? Как он работает? Сравнение с Kotlin Multiplatform и многое другое —
первый выпуск из серии вместе с Алексеем Гладковым и iOS-, Android-разработчиками из Тинькофф:
https://youtu.be/w7syM7z2Cdo
#android #ios
Что такое Compose Multiplatform? Как он работает? Сравнение с Kotlin Multiplatform и многое другое —
первый выпуск из серии вместе с Алексеем Гладковым и iOS-, Android-разработчиками из Тинькофф:
https://youtu.be/w7syM7z2Cdo
#android #ios
YouTube
Compose iOS. Как это работает #0.
Поговорили про реальность запуска Compose в мобильной мультиплатформе. Если Jetpack Compose уже в проде, то вот Compose iOS пока собрали только энтузиасты из исходников на GitHub.
Гость выпуска — Алексей Гладков, автор канала @MobileDeveloper. Ссылки на…
Гость выпуска — Алексей Гладков, автор канала @MobileDeveloper. Ссылки на…
👍10👎3
Jetpack Compose: cоздание приложения для изучения языка
Серия статей, в которой автор показывает процесс создания приложения для изучения иностранных языков. Свой проект герой назвал — Lingua, это аналог Duolingo и Anki.
Часть 1: Введение, инструменты и библиотеки
Часть 2: Навигация
Часть 3: Создание карточек, вопросов и квиза.
#android #compose
Серия статей, в которой автор показывает процесс создания приложения для изучения иностранных языков. Свой проект герой назвал — Lingua, это аналог Duolingo и Anki.
Часть 1: Введение, инструменты и библиотеки
Часть 2: Навигация
Часть 3: Создание карточек, вопросов и квиза.
#android #compose
👍12
«Как мы быстро запустили мобильное приложение и споткнулись о свой успех»
На Хабре вышла статья, как одна крупная компания после запуска нативных сервисов в приложении медленно стала заходить в тупик. Сроки разработки приложения сильно поджимали, поэтому было допущено много ошибок в архитектуре проекта. Автор показывает пример реализации нового подхода на node.js с установкой express‑generator.
Статья не посвящена полностью мобильной разработке, но лишний раз заставляет задумываться, как важно сразу продумывать архитектуру проекта и приложения:
https://habr.com/ru/company/nlmk/blog/717710/
#nodejs
На Хабре вышла статья, как одна крупная компания после запуска нативных сервисов в приложении медленно стала заходить в тупик. Сроки разработки приложения сильно поджимали, поэтому было допущено много ошибок в архитектуре проекта. Автор показывает пример реализации нового подхода на node.js с установкой express‑generator.
Статья не посвящена полностью мобильной разработке, но лишний раз заставляет задумываться, как важно сразу продумывать архитектуру проекта и приложения:
https://habr.com/ru/company/nlmk/blog/717710/
#nodejs
👍2👎2
System Design:руководство по выживанию
Подробный гайд, в котором автор собрал стратегии подготовки и практические советы для интервью по System Design в 2023. Также план подготовки включает в себя изучение часто задаваемых вопросов и книги:
https://tprg.ru/16E5
#system_design
Подробный гайд, в котором автор собрал стратегии подготовки и практические советы для интервью по System Design в 2023. Также план подготовки включает в себя изучение часто задаваемых вопросов и книги:
https://tprg.ru/16E5
#system_design
👍5