Мобильная разработка #1
رفتن به کانال در Telegram
Всё о создании приложений под Android и iOS в одном месте. 🔹 Инструменты, библиотеки и ресурсы для ускорения работы. 🔹 Статьи и гайды для разработчиков любого уровня. 🔹 Тренды мобильной разработки и новости индустрии. Реклама @evgenycarter
نمایش بیشتر3 876
مشترکین
-224 ساعت
-57 روز
-330 روز
آرشیو پست ها
Jetpack Compose в проектах на React Native: плюсы, минусы и интеграция
Сегодня я расскажу, зачем нужен Jetpack Compose в проектах React Native, и поделюсь опытом интеграции фреймворка в наши приложения. В конце на примере простого компонента разберем весь процесс разработки на Jetpack Compose.
Подробнее
Activity: Что такое и как запустить?
Activity – основной компонент в андроиде. Активити – это экран, то что видит и с чем взаимодействует пользователь. Может содержать несколько View и фрагментов. Так же как и другие базовые компоненты, может быть точкой входа в приложение.
Активити с MAIN Intent Filter в манифесте запускается при старте приложения, когда пользователь кликает на иконку приложения.
#Activity
#Components
Не можете продлить нужный сервис, оплатить хостинг или получить деньги из-за рубежа?
Ребята из 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-разработчик» поможет новичку повысить свой level и трудоустроиться 😎
Один на всех, или как компания с несколькими десятками проектов сидит на одном 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 марта, после получения заявки, с вами свяжутся и договорятся о звонке, расскажут о командах и назначат слот для онлайн-интервью в выходные. 2 апреля, Андрей Сумин, технический директор Почты Mail.ru, подробнее расскажет о задачах, которые вам предстоит решать в командах. С 12:00 до 20:00 пройдут технические собеседования. В воскресенье, 3 апреля, тимлиды и руководители направлений ещё раз расскажут о предстоящих вызовах и ответят на все вопросы. Уже вечером в воскресенье мы определим лучших кандидатов и отправим им офферы. Дерзайте: команды Почты и Облака Mail.ru ждут именно вас.
Подробнее (https://vk.cc/cc6doB)
❓ Как тестировать игровую локализацию на мобильных устройствах?
👉 Узнайте на открытом вебинаре в OTUS, 23 марта.
💪 Урок проведет Кристина Бокан, аналитик тестирования (VSO, Technology) в компании Playrix.
Она работала над такими известными проектами, как Township, Gardenscapes, Homescapes.
👾 На занятии мы:
- Поговорим об особенностях разных стран, отличиях в менталитете, праздниках и законодательстве
- Обсудим, как эти особенности необходимо учитывать в QA
- Попробуем найти баги локализации в интерактивной части занятия
📌 Demo-занятие является частью онлайн-курса «Game QA Engineer» для тех, кто хочет с нуля начать карьеру в геймдеве с нуля.
👉 Зарегистрируйся на занятие для участия https://otus.pw/uF9s/
Как писать плагины Gradle - ответы на распространенные вопросы и альтернативные решения реализации.
В мире Android существует довольно плохо освещённая тема — написание плагинов к Gradle.
Автор статьи помогает разобраться с написанием плагинов и даёт не мало полезных штук из своего опыта: с чего начать писать плагины, насколько это сложно, какие есть инструменты и т.д.
https://github.com/jjohannes/gradle-plugins-howto
Сейчас одновременно много разработчиков ищут новую работу. Конкуренция и борьба за позиции вырастает. Поэтому стоит уделять больше внимания подготовке к техническим собеседованиям.
В бесплатном телеграм боте QTalents Interview можно тренировать навык технических собеседований. Там каждую неделю подбираются собеседники по разным языкам программирования, тренируются вместе и оставляют друг другу комментарии.
Советуем попробовать! Если остались вопросы, заходите на сайт.
Android: Из каких базовых компонент состоит приложение?
Базовые компоненты андроид приложения: Activity, Service, BroadcastReceiver, ContentProvider. Каждый из базовых компонент объявляется в андроид манифесте и может являться точкой входа в приложение.
Activity представляет UI и функциональность, видимые пользователю.
Service используется для исполнения долгих операций, которые не требуют взаимодействия с пользователем.
BroadcastReceiver принимает и обрабатывает броадкаст ивенты, отправленные внутри приложения или из других приложений.
ContentProvider используется для обмена данными с другими приложениями.
Каждый из компонентов подробнее рассмотрим в будущем.
#Components
👋 Мы — команда айтишников. В текущих условиях компания не может работать как работала, и мы решили переехать всей командой.
💬 Создали канал для таких же, как мы, — тех, кто хочет уехать. Собираем всё самое полезное про релокацию. Рассказываем, с чем столкнулись сами, ищем лайфхаки и способы похачить систему (например, нашли несколько способов, как жить за границей на рубли).
👨💻 А вообще, мы HR-IT-чувачки (то есть без лишней скромности профи в сфере трудоустройства) и сейчас готовим новый проект: будем помогать айтишникам организовать переезд и устроиться на работу в валюте. И ещё сверху грант будем давать💰
👉 Что для этого нужно? Пока что — присоединиться к каналу RelocationDev и следить за новостями😉 Скоро обо всём расскажем — в мельчайших подробностях.
Как варить дизайн-систему для живого приложения (Кошелёк)
Расскажем, как создаём дизайн-систему в Кошельке: с чего начали, как разрабатываем компоненты и решения дизайн-системы на UIKit через стили, обо что успели споткнуться и как решали проблемы с инженерным подходом.
https://www.youtube.com/watch?v=329aAWL9lXo
5 практических советов по оптимизации UI на Jetpack Compose
Зачастую, создавая очередную Composable функцию, разработчику не приходится задумываться над тем, как Compose работает под капотом, и это прекрасно. Однако у этого есть и обратная сторона — декларативность ухудшает прозрачность и понимание происходящего, некоторые вещи начинают казаться “магией”. Если что-то пойдет не так, это сыграет злую шутку.
Проблемы с производительностью — часть того, с чем можно столкнуться. Об этом и пойдет речь в данной статье.
Подробнее
#android
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
