es
Feedback

¡No caigas en manos de tramposos! Telemetrio encuentra y marca estos canales 👉 Si quieres ver la etiqueta, suscríbete

Мобильная разработка #1

Мобильная разработка #1

Ir al canal en Telegram

Всё о создании приложений под Android и iOS в одном месте. 🔹 Инструменты, библиотеки и ресурсы для ускорения работы. 🔹 Статьи и гайды для разработчиков любого уровня. 🔹 Тренды мобильной разработки и новости индустрии. Реклама @evgenycarter

Mostrar más
3 792
Suscriptores
Sin datos24 horas
-77 días
-1630 días
Archivo de publicaciones
Как записывать и воспроизводить http-трафик в приложениях для Android и iOS С 2022 года я присоединился к небольшому, но амби
Как записывать и воспроизводить http-трафик в приложениях для Android и iOS С 2022 года я присоединился к небольшому, но амбициозному стартапу (mobile .dev), целью которого является создание столь необходимой инфраструктуры для мобильной разработки. Мы анализируем приложения и проводим сравнительные тесты производительности для выявления проблем до начала производства, а в некоторых случаях нам требуются инструментальные тесты с подражанием сети. Моя первая задача? Выяснить, можем ли мы сами поиздеваться над сетью, чтобы облегчить использование нашего продукта. Создавать и поддерживать инструментальные тесты с имитацией сети всегда непросто - поэтому мы хотели взять эту ответственность на себя. https://itnext.io/how-to-record-replay-http-traffic-in-android-and-ios-apps-db24a5dcc0e

Разработка простого iOS-приложения на SwiftUI в соответствии с принципами чистой архитектуры. Использование чистой архитектур
Разработка простого iOS-приложения на SwiftUI в соответствии с принципами чистой архитектуры. Использование чистой архитектуры позволяет разрабатывать приложения с очень низкой связью и независимо от деталей технической реализации, таких как базы данных и фреймворки. Таким образом, приложение становится простым в обслуживании и гибким для изменений. Кроме того, оно становится внутренне тестируемым. Здесь я покажу, как я структурирую свои проекты с чистой архитектурой. На этот раз мы собираемся создать приложение для iOS с использованием SwiftUI. Мы проиллюстрируем только один вариант использования - вывод списка дел, полученных из API. Давайте начнем. https://paulallies.medium.com/clean-architecture-in-the-flavour-of-swiftui-5-5-8430786a83

Activity: Как пережить поворот экрана? При повороте экрана активити уничтожается и создается заново. Вызываются коллбэки onPause(), onStop(), onSaveInstanceState(), onDestroy() – onCreate(), onStart(), onRestoreInstanceState(), onResume(). Чтобы сохранить состояние активити, вы должны переопределить метод onSaveInstanceState() и положить данные в Bundle. При реинициализации активити, Bundle с сохраненным состоянием передается в onCreate() и в onRestoreInstanceState(). Система вызывает onSaveInstanceState() и onRestoreInstanceState() только в том случае, когда необходимо сохранить состояние, например при повороте экрана или при убийстве активити для освобождения памяти. Данные коллбэки не вызываются, если пользователь выходит из активити нажав Back или если активити убивается вызовом finish(). onSaveInstanceState() вызывается после onStop() на версии API ≥ 28. На API < 28 этот коллбэк вызывается перед onStop() и нет гарантий до или после onPause(). onRestoreInstanceState() вызывается после onStart().

Делаем загрузку с камеры для Android быстрее и надежнее https://dropbox.tech/mobile/making-camera-uploads-for-android-faster-
Делаем загрузку с камеры для Android быстрее и надежнее https://dropbox.tech/mobile/making-camera-uploads-for-android-faster-and-more-reliable

​Activity: Жизненный цикл Жизненный цикл активити состоит из шести основных коллбэков, вызываемых системой. В порядке вызова: onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy(). onCreate() вызывается когда активити создается. В onCreate() вы должны вызвать метод setContentView(). onStart() вызывается когда активити отрисована и видима пользователю. onResume() вызывается перед тем как активити станет доступна для взаимодействия с пользователем. onPause() – метод симметричный onResume(). Пользователь больше не может взаимодействовать с активити, но активити частично видна пользователю. В этом состоянии UI активити может изменяться. onStop() – метод симметричный onStart(). Вызывается, когда активити больше не видна пользователю. onDestroy() – метод симметричный onCreate(). Вызывается перед тем, как активити будет уничтожена системой. Несколько примеров: 1. Пользователь жмет Home. В этом случае активити больше не видна, поэтому вызываются onPause(), onStop(). Пользователь открывает приложение снова - onStart(), onResume(). 2. Пользователь переходит на другую активити внутри приложения (реализуется вызовом startActivity()) – onPause(), onStop(). Пользователь возвращается на предыдущую активити – onStart(), onResume(). 3. Вызов finish() – onPause(), onStop(), onDestroy(). Когда пользователь перейдет на эту активити снова, она будет создана с нуля без сохранения состояния. 4. Пользователь поворачивает телефон и ориентация активити меняется. Активити пересоздается и вызываются коллбеки onPause(), onStop(), onDestroy(), onCreate(), onStart(), onResume() с сохранением состояния. Это базовые методы активити. Более подробно они описаны в документации. В полный жизненный цикл также входят onRestart(), onSaveInstanceState(), onRestoreInstanceState(), onNewIntent() и другие методы, которые разберем в будущем. #android

Как мы в QIWI внедряли Kotlin Multiplatform Mobile (KMM) КММ — это технология кроссплатформенной разработки, позволяющая писа
Как мы в QIWI внедряли Kotlin Multiplatform Mobile (KMM) КММ — это технология кроссплатформенной разработки, позволяющая писать общий код под основные платформы за исключением UI-слоя. Все продукты со временем накапливают очень большой технологический контекст; КММ, в свою очередь, позволяет его облегчить, делая компоненты технологического стека общими для команд и платформ. Такие технологии дают неоспоримые преимущества — возможность использовать ресурс каждого разработчика при создании новых фич, единый набор тестов, улучшение инженерных практик в командах и прочее. Подробнее

Jetpack Compose в проектах на React Native: плюсы, минусы и интеграция Сегодня я расскажу, зачем нужен Jetpack Compose в прое
Jetpack Compose в проектах на React Native: плюсы, минусы и интеграция Сегодня я расскажу, зачем нужен Jetpack Compose в проектах React Native, и поделюсь опытом интеграции фреймворка в наши приложения. В конце на примере простого компонента разберем весь процесс разработки на Jetpack Compose. Подробнее

Activity: Что такое и как запустить? Activity – основной компонент в андроиде. Активити – это экран, то что видит и с чем взаимодействует пользователь. Может содержать несколько View и фрагментов. Так же как и другие базовые компоненты, может быть точкой входа в приложение. Активити с MAIN Intent Filter в манифесте запускается при старте приложения, когда пользователь кликает на иконку приложения. #Activity #Components

Не можете продлить нужный сервис, оплатить хостинг или получить деньги из-за рубежа? Ребята из rk.finaxe.ru тоже столкнулись
Не можете продлить нужный сервис, оплатить хостинг или получить деньги из-за рубежа? Ребята из rk.finaxe.ru тоже столкнулись с данной проблемой и запустили сервис, в котором граждане РФ могут оформить онлайн карту Visa или Mastercard в банке Казахстана. Для чего это нужно: — Оплата любых зарубежных сервисов и покупок — Получение денег из-за рубежа — Использование в путешествиях Весь процесс проходит онлайн, от вас потребуется только загранпаспорт, даже вставать с дивана не понадобится! Оформить заявку и ознакомиться с FAQ можно в боте: https://t.me/Robokazakh_bot

Android: Приоритеты процессов Процессы делятся по приоритету на 4 вида, в порядке убывания: 1. Видимый активный процесс (Foreground process). В этом процессе работает приложение, с которым взаимодействует пользователь. Процесс находится в этом состоянии в следующих случаях: - Activity, у которой вызван onResume(), но еще не вызван onPause() - Во время выполнения BroadcastReceiver.onReceive() - Запущен Service и выполняется один из колбэков: onCreate(), onStart(), onDestroy() 2. Видимый процесс. Пользователь знает о приложении, запущенном в этом процессе, но не взаимодействует с ним: - Activity у которой вызван onPause(), но еще не вызван onStop(). - Service, который запущен через Service.startForeground(). В этом случае пользователь видит нотификацию, связанную с сервисом. - Service, выполняющий функцию, о которой пользователь осведомлен. Например input method service. 3. Background Service. Процесс с сервисом, запущенным командой startService(). 4. Закэшированный процесс. К ним относятся пустые процессы, используемые при старте приложений, и процессы, в которых все активити в onStop() состоянии. Система убивает процессы в порядке возрастания их приоритета для восстановления ресурсов. Подробнее #Lifecycle #System

Мы в Хекслете не понаслышке знаем о силе обучения и весомости плавного погружения в новую профессию. Наша профессия «Java-раз
Мы в Хекслете не понаслышке знаем о силе обучения и весомости плавного погружения в новую профессию. Наша профессия «Java-разработчик» поможет новичку повысить свой level и трудоустроиться 😎

Один на всех, или как компания с несколькими десятками проектов сидит на одном Apple Developer-аккаунте Почему моя сборка уст
Один на всех, или как компания с несколькими десятками проектов сидит на одном Apple Developer-аккаунте Почему моя сборка устанавливается на симулятор, но не хочет устанавливаться на физическое устройство? Где найти сертификат разработчика? Какая ещё команда разработки? Эти вопросы рано или поздно возникают у разработчиков и начинающих лидов, сопровождающих релиз или настраивающих CI. Я — Никита Коробейников, iOS Team Lead в Surf. Вдохновился возможностями Match — утилиты для управления сертификатами и профилями. В статье расскажу о типах сборок и распространения в iOS, какие палки в колеса нашего рабочего локомотива вставляет нам Apple и как нас может выручить утилита с парочкой команд. Подробнее

Подборка каналов для IT специалистов 🎯 https://t.me/progjob Вакансии для программистов Системное администрирование 📌 https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало) https://t.me/sysadminof Книги для админов, полезные материалы https://t.me/linux_sup Новости и информация из мира Linux https://t.me/i_odmin Все для системного администратора https://t.me/i_odmin_book Библиотека Системного Администратора https://t.me/i_odmin_chat Чат системных администраторов https://t.me/dev_ops_info Devops https://t.me/network_arch Network architecture and Administration https://t.me/database_group Все про базы данных https://t.me/cloud_comp Облачные сервисы, вычисления и безопасность Программирование Python 📌 https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍 https://t.me/coddy_academy Академия кода. Полезный контент по программированию https://t.me/BookPython Библиотека Python разработчика https://t.me/Welcome_Python Добро пожаловать в мир Python Мобильная разработка: iOS, Android 📌 https://t.me/imobile_dev Все по мобильной разработке: iOS, Android https://t.me/developer_mobila Мобильная разработка Фронтенд разработка 📌 https://t.me/frontend_1 Подборки для frontend разработчиков https://t.me/Frontend_now Все для фронтендеров https://t.me/react_prog Все что связано с reactjs https://t.me/Angular_Vuejs Angular Vue js React Java разработка 📌 https://t.me/BookJava Библиотека Java разработчика https://t.me/java_sup Программирование на Java Разработка игр 📌 https://t.me/game_devv GameDev: разработка игр Программирование, Биг дата, книги 📌 https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций https://t.me/programmist_of Книги по программированию https://t.me/proglb Библиотека программиста https://t.me/bfbook Книги для программистов https://t.me/bigdata_world Data Science, Big Data, Machine Learning https://t.me/easy_program Программирование для новичков https://t.me/generalprog General programming QA, тестирование 📌 https://t.me/testin_new Тестирование IT новости 📌 https://t.me/htech_news Новости HighTech https://t.me/all_itnews IT новости на английском https://t.me/gmorning_news Последнии новости из мира науки https://t.me/youtips_tricks Технологические советы и хитрости Шутки программистов 📌 https://t.me/dev_jokes Daily Dev Jokes https://t.me/itumor ITumor | программисты шутят Защита, взлом, безопасность 📌 https://t.me/crypto_security_lab Материалы по информационной безопасности https://t.me/thehaking Канал о кибербезопасности https://t.me/Hackme_news Новости из мира хакинга Книги, статьи для дизайнеров 📌 https://t.me/ux_web Статьи, книги для дизайнеров https://t.me/goodw_design Статьи по Веб дизайну Должен знать 📌 https://t.me/UchuEnglish Английский с нуля https://t.me/Pomatematike Канал по математике Арбитраж трафика 📌 https://t.me/partnerochkin CPA и арбитраж трафика Крипта 📌 https://t.me/crypto_moneygo Канал о крипте, новости, инсайды https://t.me/bitkoinoff Нгвости криптовалют VR, робототехника 📌 https://t.me/AR_VR_vision Компьютерное зрение, виртуальная реальность https://t.me/robotics_scince Канал о Робототехнике и автоматизации SMM, Seo, Wordpress 📌 https://t.me/allsocial_news SMM / Советы, Новости, Лайфхаки https://t.me/seo_go Новости по SEO продвижению сайтов https://t.me/news_wordpress Канал о самой популярной CMS https://t.me/IoTprog Интернет вещей https://t.me/Hware_news Цифровые тенденции

Android: Может ли приложение быть запущено в нескольких процессах? Короткий ответ – Да. Но для начала давайте разберемся чем процесс отличается от потока. Процесс – это сущность на уровне ОС. Каждая программа может быть запущена в одном или нескольких процессах. Поток – это сущность на уровне Runtime Environment. Программа может выполняться в нескольких процессах. В каждом из процессов может быть создано несколько потоков (Java Threads). Вернемся к андроиду. Мы рассмотрели базовые компоненты и узнали, что каждый из компонентов может быть точкой входа в приложение. По умолчанию компоненты приложения работают в дефолтном процессе, но каждый из компонентов <activity>, <service>, <receiver>, <provider> может иметь поле android:process=”<name>” в андроид манифесте. Кастомное значение этого поля явно говорит системе в каком процессе будет работать компонент. Важно: При старте нового процесса создается инстанс приложения и снова вызывается Application.onCreate(). Если в этом методе вы инициализируете модули или библиотеки, которые используются только в главном процессе, то не забывайте проверять, в каком процессе вы находитесь в момент инициализации. Подробнее про процессы и треды читайте в документации. #System #android

Фундаментальные принципы и лучшие практики дизайна мобильных приложений Большинство мобильных приложений страдают от плохого UX, потому что их создатели не соблюдали принципы и лучшие практики мобильного UX-дизайна. Эти фундаментальные принципы юзабилити были выработаны путем тщательных исследований и пользовательского тестирования. Их применение позволит дизайнерам улучшить пользовательский опыт. Дизайнерам мобильных приложений непросто, ведь у людей под рукой почти 9 миллионов приложений. Ежедневно в Google Play Store и Apple App Store появляется не менее тысячи новых приложений. Тем не менее, более 75% из них загружаются, открываются один раз и никогда больше не используются. Чаще всего по причине плохого юзабилити. Возьмем только одну отрасль: электронную коммерцию. В мире насчитывается 3,5 миллиарда смартфонов, и она ежегодно теряет сотни миллиардов долларов из-за несоблюдения лучших практик UX-дизайна. Сайт слишком медленный, не работает поиск, интерфейс не поддается расшифровке, либо навигация ужасна. Содержание статьи  Как прокачать визуалку (UI) и научиться красть как художник Автоматизация работы в Figma с помощью Auto Layout и Variants Важность юзабилити Мобильная навигация Иконки в мобильных интерфейсах Пользователи должны сразу узнавать элементы, а не пытаться их вспомнить Скорость Уведомления Принципы дизайна мобильных взаимодействий Законы UX в мобильном UX-дизайне Использование преимуществ мобильных технологий для повышения UX Читать: https://ux.pub/fundamentalnye-printsipy-i-luchshie-praktiki-dizayna-mobilnyh-prilozheniy/

Повышение производительности при использовании canvas в SwiftUI Говорят, что использование Canvas для создания сложных форм может обеспечить лучшую производительность в SwiftUI. В этой статье сравнивается производительность прокрутки нескольких экземпляров одного и того же шаблона карты, созданного с помощью формы, холста или изображения. https://swdevnotes.com/swift/2022/better-performance-with-canvas-in-swiftui/

Знание базовых паттернов работы с отказоустойчивостью и масштабированием — одно из требований работодателей к архитектору ПО.
Знание базовых паттернов работы с отказоустойчивостью и масштабированием — одно из требований работодателей к архитектору ПО. 🔥 Приступаем к освоению этой темы 24 марта в 20:00. Вебинар проведет Стас Щетинников, директор разработки с опытом более 10 лет. Поговорим про различные типы масштабирования и рассмотрим несколько паттернов обеспечения отказоустойчивости: active-active, active-passive, graceful degradation и т.д. 👨‍💻 Еще больше необходимых знаний для архитектора ПО будет ждать вас на онлайн-курсе «Software Architect» от OTUS. Для регистрации на занятие пройдите вступительный тест: https://otus.pw/ZpL4J/

Practical Android Автор: Mark Wickham (2018) Выберите лучший подход для своего приложения и быстро создайте решение, используя готовые проекты. Эта книга представляет собой сборник проектов, в которых используются передовые методы разработки Android. Книга является идеальным ресурсом для разработчиков, которые имеют некоторый опыт разработки, но не являются экспертами в области Android. Каждая глава включает как минимум один законченный проект, чтобы показать читателю, как реализовываются определённые концепции.

Weekend Offer для мобильных разработчиков от VK Коротко о том, как получить оффер. С 21 по 31 марта, после получения заявки,
Weekend Offer для мобильных разработчиков от VK Коротко о том, как получить оффер. С 21 по 31 марта, после получения заявки, с вами свяжутся и договорятся о звонке, расскажут о командах и назначат слот для онлайн-интервью в выходные. 2 апреля, Андрей Сумин, технический директор Почты Mail.ru, подробнее расскажет о задачах, которые вам предстоит решать в командах. С 12:00 до 20:00 пройдут технические собеседования. В воскресенье, 3 апреля, тимлиды и руководители направлений ещё раз расскажут о предстоящих вызовах и ответят на все вопросы. Уже вечером в воскресенье мы определим лучших кандидатов и отправим им офферы. Дерзайте: команды Почты и Облака Mail.ru ждут именно вас. Подробнее (https://vk.cc/cc6doB)