У каждого http-запроса и ответа есть заголовки (они же headers, они же мапка ключ-значений)
Но есть нюанс, о котором почему-то не написано красными большими буквами во всех гайдах по Retrofit/OkHttp
Если на мобилке добавить в хэдер запрещенный символ или бэк пришлет такой символ, то сетевой запрос крашнется, выкинув исключение
Актуальный список разрешенных символов можно найти в коде:okhttp3.Headers.checkValue()
okhttp3.Headers.checkName()
сейчас это:c in '\u0021'..'\u007e'
c == '\t' || c in '\u0020'..'\u007e'
Например, в хэдере нельзя передавать знак рубля ₽ или иконки гендеров ♂♀
@dolgo_polo_dev
Dolgo.polo Dev | Денис Долгополов

Статистика/цены: @dolgo_polo_dev_stats
По вопросам/рекламе: @dolgopolovdenis
Similar Channels



Мобильная разработка: Погружение в мир Android и iOS
Мобильная разработка стала одной из самых динамично развивающихся областей в сфере информационных технологий. Каждый день пользователи по всему миру обращаются к своим мобильным устройствам для выполнения множества задач – от общения с друзьями до управления финансами. Разработка мобильных приложений для популярных платформ, таких как Android и iOS, представляет собой увлекательный и в то же время сложный процесс, требующий знаний в области программирования, дизайна и пользовательского опыта. В этой статье мы рассмотрим ключевые аспекты мобильной разработки, сравним две основные платформы и выясним, какие навыки необходимы разработчикам, чтобы успешно создавать и развивать приложения, которые отвечают требованиям современных пользователей.
Что такое мобильная разработка?
Мобильная разработка – это процесс создания программного обеспечения, которое работает на мобильных устройствах, таких как смартфоны и планшеты. Этот процесс включает в себя проектирование, разработку, тестирование и постановку приложений на платформы Android и iOS. Отличительной чертой мобильной разработки является необходимость учета различных устройств и их характеристик, таких как размер экрана, разрешение и производительность.
Дополнительно, мобильная разработка охватывает не только создание приложений, но и интеграцию с веб-сервисами, работа с базами данных и реализация различных API. Важно отметить, что успешная мобильная разработка требует понимания принципов юзабилити и доступности, чтобы обеспечить положительный опыт пользователей.
В чем разница между разработкой для Android и iOS?
Основная разница между разработкой для Android и iOS заключается в языках программирования, инструментах разработки и подходах к дизайну. Для Android обычно используются языки Java и Kotlin, в то время как для iOS – Swift и Objective-C. Кроме того, платформы имеют разные инструменты и среды разработки: Android Studio для Android и Xcode для iOS, что также влияет на процесс разработки.
Дизайнерские принципы для обеих платформ также различаются. Google придерживается Material Design для Android, а Apple использует Human Interface Guidelines для iOS. Это в свою очередь требует от разработчиков адаптации интерфейсов и функционала приложения в зависимости от платформы.
Какие навыки необходимы мобильным разработчикам?
Мобильные разработчики должны обладать знаниями в области языков программирования, таких как Java, Kotlin, Swift и Objective-C. Кроме того, им необходимо знать основы проектирования пользовательского интерфейса, а также методы тестирования и отладки приложений. Важно также умение работать с системами контроля версий, такими как Git, и базами данных.
Существует также необходимость в понимании принципов платформенной разработки, включая управление ресурсами и оптимизацию производительности. Поскольку технологии быстро развиваются, разработчики должны быть готовы к постоянному обучению и адаптации к новым инструментам и методам.
Какие лучшие практики в мобильной разработке?
К числу лучших практик в мобильной разработке можно отнести следование принципам проектирования пользовательского интерфейса, обеспечение высокой производительности и надежности приложений, а также регулярное тестирование на различных устройствах. Разработчики также должны активно собирать обратную связь от пользователей и учитывать ее при обновлении приложений.
Использование современных инструментов для управления проектами, таких как Agile или Scrum, может помочь разработчикам эффективно планировать и организовывать свою работу. Кроме того, важно следовать рекомендациям по безопасности, чтобы защитить данные пользователей.
Каковы текущие тренды мобильной разработки?
В последние годы наблюдается рост популярности кроссплатформенной разработки, когда одно приложение может работать на обеих платформах (Android и iOS) с минимальными изменениями. Это позволяет экономить время и ресурсы на разработку и обновление приложений.
Также стоит отметить стремительное развитие технологий искусственного интеллекта и машинного обучения. Все больше мобильных приложений используют эти технологии для улучшения пользовательского опыта, например, в области персонализации контента и автоматизации процессов.
Dolgo.polo Dev | Денис Долгополов Telegram Channel
Добро пожаловать в Telegram-канал Dolgo.polo Dev, ведущим которого является Денис Долгополов! Мы специализируемся на мобильной разработке для платформ Android и iOS, при этом стремимся понять, почему все устроено именно так, как есть. Наш канал предлагает уникальный взгляд на разработку мобильных приложений, а также делится полезной статистикой и информацией о ценах. У нас вы найдете исчерпывающую информацию о новейших технологиях и трендах в мобильной разработке, а также сможете следить за последними инновациями в этой области. Если у вас возникли вопросы или вам нужна помощь с рекламой, обращайтесь к нам по контактам: @dolgo_polo_dev_stats и @dolgopolovdenis. Присоединяйтесь к нам и станьте частью нашего сообщества мобильных разработчиков!