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

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

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

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

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

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

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

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

Читать далее
Всего голосов 171: ↑152 и ↓19+133
Комментарии345

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

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

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

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



Для тех, кому не терпится, или кто хочет читать и смотреть код одновременно, сам код

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

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

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

Здравствуй, дорогой читатель!

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

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

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

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

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

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

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

Истории

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Содержание

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

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

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

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

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

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

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

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

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

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

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

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

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

Работа

iOS разработчик
24 вакансии
Swift разработчик
32 вакансии