Мобильная разработка #1 – Telegram
Мобильная разработка #1
3.98K subscribers
796 photos
85 videos
32 files
1.26K links
Всё о создании приложений под Android и iOS в одном месте.

🔹 Инструменты, библиотеки и ресурсы для ускорения работы.
🔹 Статьи и гайды для разработчиков любого уровня.
🔹 Тренды мобильной разработки и новости индустрии.

Реклама @evgenycarter
Download Telegram
Лучшие практики уменьшения размера iOS-приложений

В этой статье я расскажу о том, как я уменьшил размер своего приложения со 120 Мб до 69 Мб и какие шаги я при этом выполнял.

https://medium.com/@sarankumaresh1/ios-app-size-reduction-best-practice-8a52e6f10140

#ios

👉 @developer_mobila
👍2
Регулярные выражения в Swift

Регулярные выражения позволяют нам выполнять сложные операции поиска и замены в тысячах текстовых файлов всего за несколько секунд, поэтому неудивительно, что они популярны уже более 50 лет. Apple обеспечивает поддержку регулярных выражений на всех своих платформах – iOS, macOS, tvOS и даже watchOS – все они используют один и тот же класс, NSRegularExpression. Это чрезвычайно быстрый и эффективный способ поиска и замены сложного текста десятки тысяч раз, и все это доступно для использования разработчиками Swift.

Rus https://habr.com/ru/articles/740044/

Eng https://www.hackingwithswift.com/articles/108/how-to-use-regular-expressions-in-swift

#ios

👉 @developer_mobila
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Своя библиотека под Android за один вечер

В процессе написания статьи она незаметно для меня трансформировалась из туториала по публикации Android-проекта как библиотеки в максимально душную статью о том, как математика пригодилась разработчику с гуманитарным бэкграундом в отрисовке анимашек. Статью подробную, разжеванную, с множеством строк кода. Возможно, не для слабонервных.

Что, если у вас появилась потребность использовать один и тот же код на Jetpack Compose между несколькими проектами, да еще так, чтобы он импортировался одинаково и автоматически на нескольких машинах? Такая ситуация может возникнуть с большой вероятностью, потому что Compose не блещет обилием предоставляемых из коробки виджетов и тулзов (хотя их количество постоянно растет). Быть может, ваш дизайнер пришел к вам с чем-то настолько диковинным, что готовыми компонентами просто не обойтись. Тогда тот пайплайн разработки и публикации собственной библиотеки, который я опишу ниже, может оказаться для вас полезным.

В качестве примера возьмем не самый очевидный элемент интерфейса — кнопку с движущейся синусоидоподобной волной. Отлично подойдет для управления, например, голосовым вводом.

https://habr.com/ru/articles/739332/

#Android

👉 @developer_mobila
👍3
BIGO Ads для монетизации приложений

В мобильной медиации Яндекса теперь доступна крупнейшая рекламная сеть BIGO Ads. Для сервиса она уже 13-я. Среди такого количества рекламных сеток создается конкуренция, за счет которой разработчики могут выбирать наиболее выгодные условия.

У BIGO Ads широкое покрытие – Ближний Восток, Россия, страны Южной и Юго-Восточной Азии, что обеспечивает эффективную монетизацию. А подключить ее можно самостоятельно в мобильной медиации Яндекса или с помощью Простой монетизации, где за настройку отвечают эксперты.

https://yandex.ru/adv/news/partneram-prostoy-monetizatsii-i-mobilnoy-mediatsii-stala-dostupna-monetizatsiya-s-bigo-ads

👉 @developer_mobila
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Практическое руководство по Jetpack Compose: создаем анимированную кнопку-счетчик

Недавно передо мной возникла необходимость создать кнопку счетчика для небольшого приложения. Бороздя просторы интернета в поисках хороших готовых решений, я наткнулся на этот дизайн от Эхсана Рахими (Ehsan Rahimi) на Dribble. Придя к выводу, что воссоздать его в Compose — задача нетривиальная, я закатал рукава и принялся экспериментировать. В этом руководстве я поделюсь с вами каждым шагом, который я предпринял для реализации этого дизайна в Jetpack Compose.

https://medium.com/@domen.lanisnik/creating-an-animated-counter-button-in-jetpack-compose-444d03129510

#Android

👉 @developer_mobila
👍5
Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения

Размер экрана — краеугольный камень мира современных смартфонов. Кто-то считает, что дисплеи должны становиться только больше, а рамки — меньше, кто-то любит «средние» дисплеи диагональю в 5+", ну а кто-то остаётся ярым поклонником и приверженцем компактных смартфонов с крошечными дисплейчиками. В наше время, купить новый смартфон с относительно небольшим дисплеем за приемлемые деньги почти нереально — самые бюджетные модели будут слишком тормозными для современного пользователя. Некоторое время назад, я купил себе бюджетный крошечный смартфон 2012 года выпуска — Samsung Galaxy Pocket, причём всего за 100 рублей. Конечно же мне захотелось довести его до ума — а доводить пришлось руками и навыками прожженного программера! Какой смартфон можно получить за 100 рублей? Читаем в статье!

https://habr.com/ru/companies/itglobalcom/articles/759112/

#Android

👉 @developer_mobila
👍4
Обзор актуальных инструментов шифрования в Android

Меня зовут Артур Илькаев, я работаю в департаменте экосистемных продуктов, мы разрабатываем VK ID SDK и все что связано с авторизацией и сессиями, в частности — мультиаккаунт.

Секретные данные требуют особого внимания при хранении и передаче. Инструменты для шифрования могут варьироваться по степени сложности, надёжности и производительности. В этом обзоре мы рассмотрим несколько таких инструментов, опишем их эффективность и расскажем о распространённых ошибках при их использовании. Статья написана по мотивам разработки мультиаккаунта, который подвёл нас к исследованию оптимального и безопасного способа хранения сессий.

https://habr.com/ru/companies/vk/articles/776728/

#Android

👉 @developer_mobila
3
🚀 Связные списки в алгоритмических собеседованиях

📌 "Книжного академического образования недостаточно. Книги - это замечательно, но они не помогут вам пройти собеседование. Почему? Подскажу: интервьюверы не видели красно-черных деревье со времен своего обучения в университете. Чтобы успешно пройти собеседование, нужно готовиться на реальных вопросах, встречающихся на собеседованиях" - Лакман Макдауэлл

🗓 2 декабря в 18:00 по МСК пройдет бесплатный урок по подготовке к алгоритмическим собеседования от Senior разработчика из Тинькофф и спикера HighLoad (ex-разработчика Яндекс, Huawei)

На открытом уроке решишь >8 задач, изучишь теорию, которая точно пригодится на собеседовании, и сможешь задать вопросы человеку, который успешно прошел алгоритмические секции в OZON, Tinkoff, VK, СБЕР, Яндекс и Авито

Зарегистрироваться
👍1
Jailbreak checker — как обезопасить свое iOS-приложение

Привет! Меня зовут Тоня, я продуктовый разработчик в продукте QIWI Кошелек. Недавно мы делали задачу по предотвращению рисков в связи с использованием приложения с Jailbreak. Хочу рассказать о трудностях, с которыми столкнулись на пути, и о том, как мы их разрешили.

https://habr.com/ru/companies/qiwi/articles/762600/

#ios

👉 @developer_mobila
👍3👎1👻1
Media is too big
VIEW IN TELEGRAM
Собеседование на Junior Android Dev у Анны Жарковой

Собеседование проходило в формате вопрос-ответ, при необходимости писали пример ответом на вопрос.
Интервьюер: Анна Жаркова, руководитель группы разработки в Usetech

источник

#Android

👉 @developer_mobila
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Как правильно обрабатывать недоступный контент в iOS 17?

В большинстве наших iOS-приложений мы, разработчики iOS, справляемся с недоступным контентом, отсутствием результатов поиска или сценариями, не имеющими подходящих данных. UI/UX-дизайнеры и мы, разработчики, используем различные подходы, чтобы обеспечить бесперебойный пользовательский опыт.

https://santoshbotre01.medium.com/how-to-handle-content-unavailable-gracefully-with-ios-17-5f1954c64be3

#ios

👉 @developer_mobila
👍1😁1
Собеседование на Mobile Developer: Алексей Панов (Контур)

Собеседование на позицию мобильного разработчика. Проводит Алексей Панов, Senior Android Developer в Контур.
На собеседовании будут проектировать мультиплатформенное приложение и по ходу погружаться в нюансы работы с KMP, корутинами, Compose.

00:00 Ожидание
00:21 Вступление
01:37 Знакомство с экспертом
05:28 Знакомство с кандидатом
06:53 О формате собеседования
07:30 Часть 1. KMP. Проектирование
51:50 Фидбэк по первой части
54:50 Часть 2. Корутины
01:25:48 Фидбэк по второй части
01:26:41 Часть 3. Jetpack Compose
01:35:36 Фидбэк по третьей части
01:39:24 Впечатления кандидата
01:40:17 Общий фидбэк
01:44:03 Разбор вопросов из чата
01:50:00 Заключение

https://www.youtube.com/watch?v=i45sp7O_RUc

#Android

👉 @developer_mobila
👍1
SwiftUI Custom Alert View - iOS 17 - Xcode 15

0:00 Intro
0:30 Project Setup
2:49 Building Custom Alert View

https://www.youtube.com/watch?v=LaimspStHzk

#ios

👉 @developer_mobila
👍1
Почему мой фоновый Worker остановился? Изучение функции StopReason в Android WorkManger

Из-за смены платформ, новых правил и кастомизации Android производителями комплектующих планирование длительных фоновых заданий стало довольно сложной задачей.

https://proandroiddev.com/why-has-my-background-worker-stopped-exploring-android-workmangers-stopreason-a0f743e6411c

#Android

👉 @developer_mobila
👍2
Разбор миграции данных в Swift

00:00 - Intro
00:40 - What is A SwiftData Migration?
01:19 - What Is A Lightweight Migration In SwiftData
02:05 - Defining A Versioned Schema In SwiftData
07:21 - How To Debug SwiftData
11:06 - Changing Property Names In SwiftData
16:17 - How To Create A Schema Migration Plan In SwiftData
18:41 - How To Setup Your ModelContainer With Your Migration Plan
19:41 - How To Test Your Migration Plan In SwiftData
20:40 - When To Use Custom Migrations In SwiftData
22:08 - Creating A New VersionedSchema
23:54 - How to Create a custom migration stage in SwiftData

https://www.youtube.com/watch?v=PDKaZpWuH1I

#ios

👉 @developer_mobila
👍1