Мобильная разработка #1
前往频道在 Telegram
Всё о создании приложений под Android и iOS в одном месте. 🔹 Инструменты, библиотеки и ресурсы для ускорения работы. 🔹 Статьи и гайды для разработчиков любого уровня. 🔹 Тренды мобильной разработки и новости индустрии. Реклама @evgenycarter
显示更多3 792
订阅者
无数据24 小时
-77 天
-1630 天
帖子存档
Важен ли порядок, в котором добавляются операции в FragmentTransaction?
Документация описывает два случая, в которых порядок важен:
1. Метод commit() должен вызываться последним.
2. Если несколько фрагментов добавляются в один контейнер, то порядок добавления определяет порядок в котором фрагменты отрисовываются в иерархии
view.
Есть еще третий случай. Если метод addToBackStack(String name) вызывается несколько раз на одной транзакции, то транзакция добавляется в бэкстэк один раз с тегом, который передается в последнем вызове метода.
Пример:
supportFragmentManager.beginTransaction()
.add(R.id.fragmentContainer, Fragment1())
.addToBackStack("add1")
.add(R.id.fragmentContainer, Fragment2())
.addToBackStack("add2")
.commit()
Создается одна транзакция с тегом add2, которая добавляет сразу два фрагмента. При нажатии кнопки Back оба фрагмента будут удалены.
Поведение нескольких addToBackStack() не задокументировано и может различаться на разных версиях ОС, так что не забудьте на собеседовании сказать, что вы бы так никогда делать не стали.
#FragmentНаиболее распространенные уязвимости в мобильных приложениях
Этой статьей я бы хотел открыть серию материалов, посвященных мобильной безопасности. И сегодня поговорить о тех уязвимостях, что мы встречаем чаще всего при автоматическом анализе.
#безопасность #android #ios
#вакансия #удалённо #job #remote #parttime #преподаватель #iOS
🦉OTUS – образовательная платформа🦉
OTUS специализируется на курсах для IT-специалистов разного уровня от junior до senior🤘
У нас более 120 авторских курсов😎
▫️Вакансии:
Преподаватель на курс iOS
✅Мы подходим к обучению прагматично: программа ориентируется на требования работодателей и последние тренды разработки.
Копаем глубоко в практику, чтобы дать то, чего не найти в открытом доступе.
Вебинары проходят по будням с 20:00 до 21:30 по мск.
Ставка за 1 вебинар (1.5 часа) – от 4 000 р. до 6000 р.
Преподаватель использует презентацию с теорией и практические примеры, чтобы раскрыть тему урока.
✅Дополнительно оплачивается:
Проверка домашних заданий;
Подготовка материалов занятий: лекции, тесты, практические работы, самостоятельные задания;
Авторские статьи, заметки, участие в конференциях.
🔥Почему именно OTUS?
Освоишь лучшие инструменты и практики преподавания с нашими методистами.
Систематизируешь свои знания и прокачаешь софт скиллы.
У нас классная команда 650+ экспертов с уникальными компетенциями из различных компаний.
Мы учимся друг у друга, советуемся, помогаем, делимся опытом, обсуждаем новости как в преподавании, так и по проектам.
✅Что мы предлагаем:
Можешь совмещать с основной работой, мы предлагаем удаленное сотрудничество, нагрузку определяешь сам.
Ты можешь выбрать на какие темы преподавать. Все наши преподаватели — действующие практики.
Уроки проводятся в онлайн формате в zoom.
Хочешь делиться знаниями? Откликайся скорее!
telegram: @oksi1606
Изящная обработка сбоев Android-приложения
https://proandroiddev.com/gracefully-handling-android-app-crashes-479c275e1545
#Android
Стили в Android. Как организовать темы в проекты
Обзор организации стилей в Android: Theme, ThemeOverlay, TextAppearance, View Style.
0:00 Вступление
0:43 Что такое стиль
2:26 Каналы Android Broadcast
3:36 Наследование стилей
4:29 Типы стилей
6:56 Ссылка на атрибут
7:57 Кодинг. Настройка тем в проекте
19:32 Заключение
#Android
👉 Усильте свои навыки в iOS-разработке. Как работать с виджетами в iOS?
Виджеты в iOS — это не только яркий способ привлечь внимание к вашему iOS-приложению, но и полезный и удобный функционал. Многие про них слышали, но не все умеют их готовить.
💪 Приглашаем 11 мая на открытый урок в OTUS c Анной Жарковой, ведущим разработчиком компании «Usetech».
На уроке покажем, как сделать виджеты на SwiftUI, и для чего их можно использовать.
📌 После вебинара вы сможете продолжить обучение на углубленном онлайн-курсе «iOS Developer. Professional».
Программа рассчитана на специалистов с опытом.
👉 Для регистрации пройдите вступительный тест https://otus.pw/GM39/
Стелем мягкую соломку на жёсткий Flutter: как подготовиться к первому проекту, чтобы не провалить его
Если вы только думаете начать писать свой первый Flutter-проект, скорее всего, вы даже не догадываетесь обо всех граблях, которые скрыты под листвой показательно низкого порога вхождения в технологию.
Наверняка вопросов больше, чем ответов. Стоит ли задумываться о локализации на старте и какой подход выбрать? А ничего страшного, что я Android совершенно не знаю? Если тестировщик просит несколько конфигураций сборки для него настроить, мне сразу резюме обновлять или не всё так страшно? Ещё и Dart этот… вроде обычный язык, но всё какие-то флешбеки из динамически типизированного прошлого простреливают.
Эта статья будет фонариком в тёмной и неисследованной пещере ужасов под названием «первый проект на Flutter».
#Flutter
Каждый экран в вашем iOS-приложении должен быть скроллируемым
В этой статье я расскажу вам, почему каждый основной экран в вашем приложении должен быть помещен в скроллируемое представление.
Подождите, что? Не все в моем приложении должно прокручиваться! Раньше я был с вами согласен, но за последние пять лет я понял, что это почти всегда неверное предположение.
#ios
👋🏻 Друзья, хорошие новости!
Давно хотели обучиться мобильной разработке? Школа мобильной разработки SwiftBook открывает бесплатный доступ к первому занятию по курсу «Профессия iOS-разработчик».
Уже сегодня, 2 мая в 20:00 (мск) у вас есть шанс оценить живой формат занятий и узнать, с чего начинается создание мобильных приложений на языке Swift.
⚡️ Тема первой лекции: Константы и переменные. Базовые типы данных
● Краткая история Swift
● Преимущество языка
● Синтаксис языка и основные концепции
● Знакомство с Playground
● Константы и переменные
● Базовые типы данных
Сегодня SwiftBook — это более 10 000 выпускников, которые уже работают в крупных IT компаниях. Обучение проходит под чутким руководством опытного преподавателя и поддержки дружного сообщества.
Регистрация по ссылке ➤ ЗДЕСЬ
12 лучших инструментов разработки Flutter
https://ricardo-castellanos-herreros.medium.com/top-5-flutter-development-tools-7f593b27cc54
#Flutter
#вакансия #удалённо #job #remote #parttime #преподаватель #iOS
🦉OTUS – образовательная платформа🦉
OTUS специализируется на курсах для IT-специалистов разного уровня от junior до senior🤘
У нас более 120 авторских курсов😎
▫️Вакансии:
Преподаватель на курс iOS
✅Мы подходим к обучению прагматично: программа ориентируется на требования работодателей и последние тренды разработки.
Копаем глубоко в практику, чтобы дать то, чего не найти в открытом доступе.
Вебинары проходят по будням с 20:00 до 21:30 по мск.
Ставка за 1 вебинар (1.5 часа) – от 4 000 р. до 6000 р.
Преподаватель использует презентацию с теорией и практические примеры, чтобы раскрыть тему урока.
✅Дополнительно оплачивается:
Проверка домашних заданий;
Подготовка материалов занятий: лекции, тесты, практические работы, самостоятельные задания;
Авторские статьи, заметки, участие в конференциях.
🔥Почему именно OTUS?
Освоишь лучшие инструменты и практики преподавания с нашими методистами.
Систематизируешь свои знания и прокачаешь софт скиллы.
У нас классная команда 650+ экспертов с уникальными компетенциями из различных компаний.
Мы учимся друг у друга, советуемся, помогаем, делимся опытом, обсуждаем новости как в преподавании, так и по проектам.
✅Что мы предлагаем:
Можешь совмещать с основной работой, мы предлагаем удаленное сотрудничество, нагрузку определяешь сам.
Ты можешь выбрать на какие темы преподавать. Все наши преподаватели — действующие практики.
Уроки проводятся в онлайн формате в zoom.
Хочешь делиться знаниями? Откликайся скорее!
telegram: @HR_Nikita
whatsapp: +79275715276
Подборка каналов для IT специалистов 🎯
Системное администрирование 📌
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
CodePen 📌
https://t.me/codepen_1 Сообщество пользователей CodePen
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Вакансии для программистов 📌
https://t.me/progjob
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
Арбитраж трафика 📌
https://t.me/partnerochkin CPA и арбитраж трафика
Крипта 📌
https://t.me/bitkoinoff Новости криптовалют
DeepFake 📌
https://t.me/deepfakenow Публикуем deepfake видео
Мир технологий 📌
https://t.me/mir_teh Видео из мира технологий
От View к Composable: Быстрый переход к Jetpack Compose с точки зрения Android View (со шпаргалкой)
https://medium.com/@alexstyl/views-to-composables-d715b92c6055
#android #compose
Вы мобильный разработчик? Для вас найдутся десятки интересных проектов на GetWork
GetWork — это фриланс-платформа, где собраны задачи разной сложности по разработке мобильных приложений. Поэтому задания подойдут как опытным, так и начинающим мобильным разработчикам.
Средняя оплата за задание: $50. К каждому заданию прилагается концепция приложения и подробное ТЗ. В работе могут использоваться Unity, Kotlin, Flutter, Xamarin, React Native, Cordova и Libgdx.
Если возникнут проблемы, техподдержка платформы поможет их решить.
Подробности: https://bit.ly/3OuS5Im
Dagger + Anvil: Learning to Love Dependency Injection on Android (Dagger + Anvil: как полюбить внедрение зависимостей на Android)
https://gpeal.medium.com/dagger-anvil-learning-to-love-dependency-injection-on-android-8fad3d5530c9
#android
Расскажите про способы добавления и переключения фрагментов. Как работать с бэкстэком?
Для управления фрагментами используются два класса: FragmentManager и FragmentTransaction.
Для получения
FragmentManager используются метод активити getSupportFragmentManager() или метод фрагмента getChildFragmentManager().
FragmentManager начинает транзакцию и возвращает объект FragmentTransaction вызовом метода beginTransaction().
Методы класса FragmentTransaction, которые необходимо знать - add(), remove() и replace().
add() добавляет фрагмент на активити или другой фрагмент. Принимает аргументами containerViewId, в который добавляется фрагмент, инстанс фрагмента, тег.
Другой способ добавить фрагмент - определить в лэйауте с помощью тега <fragment>.
remove() - операция, обратная add(). Удаляет фрагмент.
replace() удаляет все фрагменты, добавленные методом add() в заданный контейнер, и добавляет переданный аргументом фрагмент в контейнер. Параметр tag может быть null.
Эти операции не выполняются сразу же после вызова методов. Метод commit() завершает транзакцию и выполняет операции транзакции.
Метод addToBackStack() добавляет транзакцию в Back Stack. Это значит, что когда пользователь нажмет Back транзакция откатится. addToBackStack() применяется ко всем операциям в транзакции. Например следующий код добавляет транзакцию из трех операций в бэкстэк:
fragmentTransaction
.add(R.id.fragmentContainer1, fragment1)
.add(R.id.fragmentContainer2, fragment2)
.replace(R.id.fragmentContainer1, fragment3)
.addToBackStack("tag")
.commit()
Метод popBackStack() удаляет транзакцию с верхушки бэкстэка, возвращает true, если бэкстэк хранил хотя бы одну транзакцию.
Документация.
#Fragment #androidRegular Expressions in Kotlin (Регулярные выражения в Kotlin)
https://www.raywenderlich.com/29571965-regular-expressions-in-kotlin
#kotlin
❗️iOS-разработчики, несмотря на ограничения от Apple, остаются одними из самых дефицитных IT-специалистов.
❓ Интересуешься профессией iOS-разработчик?
Сделай первый шаги к разработке под iOS! Приходи 4 мая в 20:00 на открытый урок OTUS «База данных в мобильном приложении на примере Realm» в OTUS.
💪 Занятие проведет Антон Марунько, iOS Team Lead в Kupibilet.ru.
🎒 Мы рассмотрим мобильные базы данных на примере Realm, посмотрим, как сохранять и обновлять данные внутри простого iOS-приложения. Обсудим актуальность профессии и перспективы в текущей обстановке.
📌 Урок входит в программу онлайн-курса для начинающих разработчиков «iOS Developer. Basic».
📍 На курсе предусмотрен пробный период — 2 первые недели можно обучаться бесплатно.
👉 Для участия зарегистрируйтесь на вебинар https://otus.pw/ejnU/
Migrating Architecture Blueprints to Jetpack Compose
https://medium.com/androiddevelopers/migrating-architecture-blueprints-to-jetpack-compose-8ffa6615ede3
Kotlin, как работает suspend под капотом
Как компилятор преобразует suspend код, чтобы корутины можно было приостанавливать и возобновлять?
Корутины в Kotlin представлены ключевым словом suspend. Интересно, что там происходит внутри? Как компилятор преобразует suspend блоки в код, поддерживающий приостановку и возобновление работы корутины?
Знание этого поможет понимать, почему suspend функция не возвращает управление, пока не завершится вся запущенная работа и как код может приостановить выполнение без блокировки потоков. Подробнее
#Kotlin #suspend
