Как стать автором
Обновить
116.93

Разработка мобильных приложений *

Android, iOS, Windows Phone и прочие

Сначала показывать
Порог рейтинга
Уровень сложности

Ложь по спасение в попытке доказать, что клиент мамонт или как Тинькофф врет и ЦБ РФ и суду

Уровень сложности Простой
Время на прочтение 1 мин
Количество просмотров 5.3K

Получил тут возражения Тинькофф по суду и мягко сказать офигел от глупости и наглой лжи Тинькофф.

Так ЦБ РФ Тинькофф пишет

Читать далее
Всего голосов 33: ↑27 и ↓6 +21
Комментарии 17

Новости

По граблям, по граблям. Пишем отзывчивый интерактивный виджет IOS 17

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 1K
image

Всем привет! На связи Анна Жаркова, руководитель группы мобильной разработки в компании Usetech. В 2023 году на WWDC Apple представили много нового и интересного API, среди которого были долгожданные интерактивные виджеты, реагирующие с помощью механизма AppIntent на нажатия и запускающие логику без переключения в основное приложение. Однако, как показывает практика, не все так просто и красиво, как Apple показывают на демонстрационных сессиях, а от беты до релиза что-то в API обязательно ломается или внезапно меняется.

Поэтому сегодня мы поговорим, как с помощью Widget Kit iOS 17 и AppIntent сделать виджет не только интерактивным, но и рабочим и отзывчивым в моменте, и обойти подводные камушки, оставленные разработчиками API. Рассматривать будем на примере самописного приложения для заметок TODO.



Помимо обработки событий из самого виджета в таких приложениях также важно синхронизировать состояние между таргетами без потерь и задержек. Данные (наши тудушки и их состояние) мы сохраняем локально. Для этого используем инструмент для хранения данных SwiftData. Данный фреймворк также был представлен на WWDC 2023, и при его использовании в разных таргетах можно встретить тоже много подводных камней.
Читать дальше →
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 0

Android-приложение на Compose с нуля: Часть 1 (Прототипирование)

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 2.2K

В статье рассматривается техническое задание, дизайн-система, а также архитектура и библиотеки для разработки. Минимум "воды", максимум полезной информации.

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Комментарии 16

Как научить поиск мобильного приложения распознавать точные и ошибочные запросы

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 442

Привет, Хабр! Меня зовут Алексей Кокухин, я бэкенд-разработчик в Friflex. Мы создаем сайты и мобильные приложения и специализируемся на решениях для ритейла. Для наших клиентов конверсия в покупку — значимая метрика, поэтому мы постоянно изучаем, какие факторы на нее влияют.

Часто пользователи уходят просто потому, что поиск не смог распознать их запрос. По статистике Baymard Institute, проблемы с распознаванием поисковых запросов есть почти у каждого второго онлайн-магазина. В этой статье предлагаю разобраться, как настроить поиск мобильного приложения, чтобы он распознавал два самых популярных вида запроса — точные и ошибочные.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 1

Истории

Основы управления состояниями во Flutter

Уровень сложности Средний
Время на прочтение 3 мин
Количество просмотров 1.5K

Привет, если вы на пути изучения Flutter/Dart или вам просто интересно почитать про путь изучения, подписывайтесь на мой канал в telegram, буду рад вас видеть! А сегодня поговорим про управление состояниями во Flutter!

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

Навигация по страницам | Flutter

Уровень сложности Средний
Время на прочтение 16 мин
Количество просмотров 1.2K

Привет, если вы на пути изучения Flutter/Dart или вам просто интересно почитать про путь изучения, подписывайтесь на мой канал в telegram, буду рад вас видеть! А сегодня поговорим про организацию данных на экране во Flutter!

Содержание:
1. Навигация по страницам с Routes (Imperative)
2. Навигация по страницам с Routes (Declarative)
3. Реализация Navigation Drawer
4. Работа с вкладками
5. Добавление нижней панели навигации
6. Использование ключей для передачи информации

Сим-сим откройся!
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 0

Кэширование кода в веб-приложениях

Уровень сложности Средний
Время на прочтение 4 мин
Количество просмотров 3.6K

Эта статья — изложение персонального опыта работы с кэшем на стороне браузера при создании веб‑приложений. В повседневной разработке я использую десктопный Chrome. У него есть панель инструментов и он в принципе удобен для разработчика. Но когда нужно проверять приложение на смартфонах, начинается геморрой — каким образом доставить на смартфон новый код, если там уже есть старый? Больше всего меня бесит Safari on iPhone. Если в Chrome есть возможность удалить все данные для отдельного сайта, то в iPhone все данные удаляются для всего Safari. Если и есть в iPhone какой‑нибудь способ удалить через конфигурацию смартфона/приложения данные для отдельного сайта, то мне так и не удалось его найти. Буду благодарен, если кто‑либо мне о нём сообщит в комментах.

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Комментарии 11

Мобильная разработка за неделю #528 (26 февраля — 3 марта)

Время на прочтение 4 мин
Количество просмотров 1.8K
В новом выпуске возврат от SwiftUI к UIKit и машинное обучение на устройствах, стабильная Iguana и гибридный интерфейс в Wear OS, деплой Flutter-приложений, сложный повтор в мобильном календаре, весенние маркетологи в мобайле и многое другое. Подключайтесь!

Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.

Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 0

Наш опыт Android- и iOS-разработки в проекте

Уровень сложности Простой
Время на прочтение 14 мин
Количество просмотров 1.4K

Посмотрим на текущую ситуацию с разработчиками Android и iOS‑приложений. Обсудим варианты разработки мобильных приложений. Разберемся, как мы в стартапе NFCKEY работаем в этом направлении. Затронем особенности, которые возникают в связи с условиями стартапа и IoT‑тематикой проекта. Ответим на вопрос: «Сложно ли переучиться и пойти в сферу мобильной разработки?».

Статья специально написана простым языком, где многие вещи объясняются на пальцах, чтобы материал был понятен для всех и давал представление о сфере в целом, а не только о тонкостях разработки.

Главная задача статьи — объяснить для начинающих ключевые особенности мобильной разработки, а для людей, имеющих опыт — поделиться сложностями перехода в сферу мобильных устройств и возможными направлениями в ней. На примере функций нашего приложения продемонстрируем, какие задачи решаются в мобильной разработке.

Читать далее
Всего голосов 8: ↑6 и ↓2 +4
Комментарии 29

Как писать приложения под Android

Время на прочтение 8 мин
Количество просмотров 10K

Как писать приложения под Android, какими плюсами и минусами обладают популярные технологии и где учиться писать на них?

Читать далее
Всего голосов 10: ↑8 и ↓2 +6
Комментарии 56

Организация данных на экране | Flutter

Уровень сложности Средний
Время на прочтение 13 мин
Количество просмотров 2.4K

Привет, если вы на пути изучения Flutter/Dart или вам просто интересно почитать про путь изучения, подписывайтесь на мой канал в telegram, буду рад вас видеть! А сегодня поговорим про организацию данных на экране во Flutter!

Для начала мы сосредоточимся на наиболее распространенных вариантах использования данных, с которыми вы столкнетесь как разработчик Flutter. Вы узнаете, как:
• Создать вертикальный список
• Создать горизонтальный список
• Добавить адаптивный раздел заголовка
• Использовать сетку для отображения элементов
• Отображать уведомление

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 0

Деплой Flutter-приложений и особенности платформ

Время на прочтение 8 мин
Количество просмотров 1.9K

Всем привет! Меня зовут Александр Омельяненко, я Flutter-разработчик в AGIMA. Сегодня расскажу про релиз приложений в сторы. И поскольку работаю с кросс-платформой, речь пойдет как про Android, так и про iOS. Уверен, каждый участник команды должен понимать, что происходит с приложением, когда оно готово. Поэтому всё объясняю подробно: какие сторы использовать, каких подводных камней ожидать, что делать, если релиз отклонили.

Читать далее
Всего голосов 14: ↑14 и ↓0 +14
Комментарии 2

Настраиваем кросс-обновления Android-приложений между сторами

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 1.3K

Привет, Хабр! Меня зовут Тимофей, я Android-разработчик в Сравни. Давайте поговорим о кросс-обновлении Android-приложений без привязки к конкретному стору – так, чтобы пользователи могли устанавливать из одного источника, а обновлять – из другого, без необходимости удалять и ставить заново.

Поводы задуматься о подобном сценарии у нас были разные: проработка рисков блокировки приложения в сторах, исследование новых возможностей добавить удобства пользователям, активация дополнительных каналов дистрибуции приложений. 

Но первые реальные практические шаги в этом направлении мы сделали в формате
“А что, так можно было?”: пошли выкладывать приложение в RuStore и попутно обнаружили возможности использовать аналогичные механизмы для настройки кросс-обновления.

Так что там дальше?
Всего голосов 13: ↑12 и ↓1 +11
Комментарии 3

Ближайшие события

Moscow QA #3 — митап по тестированию ПО
Дата 14 марта
Время 18:30 – 21:30
Место
Москва Онлайн
Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн

Android Lint: оптимизируем проверку мердж-реквестов

Время на прочтение 6 мин
Количество просмотров 875

Привет, это Android-разработчик из «МТС Диджитал» Никита Пятаков. Когда я только начал работать над приложением «Мой МТС», мне нужно было время, чтобы адаптироваться и ознакомиться с проектом. На первых МР-ах коллеги подсвечивали готовые решения, которые можно переиспользовать. Когда к нам стали приходить новые разработчики, такие комментарии оставлял уже я. Это натолкнуло меня на мысль, что использование синтаксического анализатора оптимизирует процесс проверки. К тому моменту мы уже использовали Android Lint, так что выбирать не пришлось. 

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

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 0

Диплом специалиста ИБ. Часть №4 — Мобильное приложение Smart Connect

Уровень сложности Простой
Время на прочтение 13 мин
Количество просмотров 1.5K

Привет, Хабр!

Продолжаю рассказывать про то, как я писал дипломную работу на программе высшего образования "Компьютерная безопасность". На этот раз обойдемся без долгих предисловий. В этой части пишем мобильное приложение на Flutter под iOS для управления самопальными устройствами IoT на базе ESP32 с помощью Bluetooth Low Energy.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 0

Разработка интерфейса | Flutter

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 3.3K

Привет, если вы на пути изучения Flutter/Dart или вам просто интересно почитать про путь изучения, подписывайтесь на мой канал в telegram, буду рад вас видеть! А сегодня поговорим про разработку пользовательского интерфейса во Flutter!

В этой статье мы переходим к теме создания пользовательских интерфейсов. Теперь, когда разобрали основы Flutter widgets (1 и 2 часть). Обсуждение сосредоточено на ключевых технических элементах проектирования красивого интерфейса. Мы поговорим, как:

• Используйте шрифты для улучшения текстового интерфейса

• Определите макет на экране для лучшего размещения

• Укажите адрес хост-платформы

• Используйте возможности Flutter для фундаментального улучшения ваших приложений

• Понять, как обращаться к функциональным областям, зависящим от платформы, с помощью Dart SDK

• Создать код, работающий с Flutter, для представления информации наиболее эффективным способом

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 8

Осознанная оптимизация Compose 2: В борьбе с композицией

Уровень сложности Средний
Время на прочтение 15 мин
Количество просмотров 4.4K

Jetpack Compose постоянно развивается, открывая перед разработчиками новые горизонты для оптимизации. С момента нашего последнего обзора, мы добились значительного прогресса, сократив задержки при скролле с 5-7% до нуля. В этом материале мы поделимся свежими находками и передовыми практиками в оптимизации Compose. Чтобы максимально углубиться в тему, рекомендуем ознакомиться с первой частью.

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 13

Как работает async/await в Swift

Уровень сложности Сложный
Время на прочтение 27 мин
Количество просмотров 2.7K

Функция async/await в Swift появилась в iOS 15, и я полагаю, что на данный момент вы уже знаете, как ее использовать. Но задумывались ли вы когда-нибудь о том, как работает async/await изнутри? Или, может быть, почему выглядит и ведет себя именно так? Или даже почему вообще была представлена?

В типичной для SwiftRocks манере мы углубимся в компилятор Swift, чтобы ответить на вопросы о том, как работает async/await внутри. Это не инструкция по использованию async/await, а глубокое погружение в историю и реализацию этой функции, чтобы понять, как она работает, почему она работает, чего можно добиться с ее помощью и, самое главное, какие нюансы следует учитывать при работе с ней.

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 0

Работа с виджетами Flutter | 2 часть

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 1.2K

Привет, если вы на пути изучения Flutter/Dart или вам просто интересно почитать про путь изучения, подписывайтесь на мой канал в telegram, буду рад вас видеть! А сегодня поговорим про взаимодействие с виджетами во Flutter!

Содержание

1. Использование Center виджета

2. Использование SizedBox

3. Использование Column

4. Использование Row

5. Использование Expanded виджета

О виджеты!
Рейтинг 0
Комментарии 0

Пути внедрения поддержки скриптов в Dart/Flutter

Уровень сложности Сложный
Время на прочтение 9 мин
Количество просмотров 1.3K

А что, если я скажу вам, что есть ряд способов изменения бизнес-логики мобильных приложений без проверки сторами?

«Бред!»- ответят скептики. «Выкладывай!» - ответят энтузиасты.

В рамках данной статьи я предлагаю вам рассмотреть возможные пути для интеграции функционала выполнения скриптов в ваши Dart/Flutter приложения.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 2

Вклад авторов

Работа