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

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

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

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

Использование Cocoapods для приложения Qt на примере Google MLKit

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

Возникла необходимость встроить MLKit в приложение айос. Началось с того, что по каким-то причинам используемые в приложении (андроид и айос) zbar и zxing (работали параллельно для улучшения результатов на обоих ОС) стали плохо работать. В чём проблема я так и не понял, потому-что решил попробовать MLKit – тем более, что они обещали поддержку как для андроида, так и для айос. А ещё потому, что клиенты давно просят добавить распознавание текста – совсем я их разбаловал сканами штрихкодов, VIN (приложение для СТО) и т.п. А тут ещё добавляем новый складской функционал, где для инвентаризации и приёмки нужно много вводить текста, и это на мобильном девайсе. В общем, решено было выбросить zbar/zxing связку и воспользоваться возможностями Google MLKit.

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

Новости

Гайд по Aurora OS: как начать разработку для отечественной мобильной операционки

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

Заканчивается бета-тестирование пятой версии отечественной мобильной операционной системы Aurora OS. И если до этого система позиционировалась только как рабочая лошадка для терминалов в сегменте B2B, то теперь авторы планируют выход на рынок персональных устройств для работы. В планах также создание собственной мобильной экосистемы для повседневных задач. Что стоит знать разработчикам об Авроре?

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

Всего 37% российских онлайн-ресурсов доступны для незрячих людей

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

К таким выводам пришла команда проекта Everland в результате масштабного исследования невизуальной доступности сайтов и мобильных приложений крупнейших российских компаний.

Тринадцать незрячих тестировщиков, прошедших специальное обучение, проанализировали в общей сложности 90 платформ 36-ти компаний из 6 сфер: ритейл, путешествия, телеком, банки, образование и маркетплейсы. Исследовались сайты и приложения на iOS (в случае банков — мобильные версии сайтов) и Android. О выводах ниже.

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

Стриминговый сервис, чат-бот и стартап — за какие проекты можно получить стипендию Selectel

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


Личные проекты бывают разными: кто-то пишет собственную JS-библиотеку, кто-то создает IT-компанию, а кто-то помогает команде выигрывать гонки (и такое бывает). В этом тексте мы расскажем про пять интересных проектов от студентов, которые выиграли стипендию в Selectel Career Wave.
Читать дальше →
Всего голосов 17: ↑15 и ↓2 +13
Комментарии 0

Истории

Как реализовать обрезку изображений во flutter без сторонних библиотек

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

Сегодня рассмотрим, как с помощью небольших знаний в математике и встроенных инструментов flutter реализовать функционал редактирования изображений. Сначала рассмотрим существующие библиотеки, которые предоставляют нужный функционал, а потом реализуем собственное решение, используя GestureDetector, CustomPainter, RepaintBoundary и GlobalKey.

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

Разбираемся с MavenGate, новой атакой на цепочку поставок для Java и Android-приложений

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

Всем привет!

Сегодня с вами Юрий Шабалин, генеральный директор «Стингрей Технолоджиз», и я хотел бы разобрать в этой статье новый тип атаки на цепочку поставок под названием «MavenGate».

А что в ней, собственно, такого? Ну хотя бы то, что ей подвержены более 18% всех Java-библиотек, соответственно, для Android это применимо в полной мере. Совершить эту атаку безумно просто. Суть ее основана на логике работы сборщиков Java/Android-проектов и разрозненности репозиториев, которые хранят эти библиотеки.

Если стало интересно и хочется проверить, уязвимы ли вы, добро пожаловать под кат!

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

Страх, ненависть и токенизация банковских карт в Google Pay

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

Мы разработали для европейского банка фичу, благодаря которой клиент может подключить карту к Google Pay прямо в приложении. В проекте были задействованы пять участников: мы, банк, Google Pay, интегратор и токен сервис-провайдер. У трёх последних в документации были белые пятна, на прояснение которых ушло полтора месяца, хотя разработка с нашей стороны заняла всего две недели.

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

Читать далее
Рейтинг 0
Комментарии 5

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

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

В два часа ночи в одной из групп в Telegram я увидел сообщение: нужны разработчики, чтобы «докрутить» приложение. Тут же написал потенциальному клиенту. Пообщались текстом в телеграмм и клиент ответил: «Давайте работать». Через день мы подписали договор. Так состоялась наша самая быстрая сделка. Теперь предстояло так же быстро включиться в проект: сроки горели.

Посмотреть кейс
Всего голосов 2: ↑0 и ↓2 -2
Комментарии 6

Жизнь после запуска: сколько нужно денег, чтобы содержать приложение

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

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

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

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

Отчёт о конференции CrossConf 2023

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

Информационная служба Хабра посетила IT‑конференцию CrossConf 2023. Мероприятие проходило 15 сентября 2023 года в Москве в пространстве «Старт Хаб» на «Красном Октябре». Конференция была посвящена обмену опытом кроссплатформенной мобильной разработки и технологичного рынка. По словам организаторов, конференцию посетило 600 IT‑специалистов.

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

Жизненный цикл приложения на Flutter

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

Всем привет! Сегодня с вами я, Александр Чаплыгин, Flutter dev Amiga. Расскажу вам одну  интересную тему — отслеживание состояния приложения: в фоне, закрыто или оно не активно. Вы поймете, как обрабатывать переходы в новое состояние. Также  рассмотрим 2 подхода к реализации, которые могут выручить в той или иной ситуации.

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

Мобильная разработка за неделю #523 (22 — 28 января)

Время на прочтение 4 мин
Количество просмотров 2.1K
В новом дайджесте открытие сторонних магазинов на iOS в Европе и скучные приложения для Vision Pro, неизвестные инструменты Android Studio, путь к совершенству Flutter, трёхмерные игры на кнопочных телефонах? удаление кода в масштабе Google и многое другое!

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

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

Сочетание методов верификации и аутентификации через почту и SMS: добавит ли безопасности и нельзя ли проще?

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

Недавно в России вступил в силу закон, запрещающий использовать иностранные сервисы для авторизации на отечественных ресурсах. Привычные уже мессенджеры и системы SSO вроде Google/Apple ID в скором времени для аутентификации работать не будут. Что теперь — возвращаться на SMS и почту, или рынок предлагает альтернативные варианты решения?

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

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

Как я приложение на Compose писал

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

Далеко не новость, что в мобильной разработке под Android развивается новый подход к построению UI. Он же Compose. Он же плейбой, филантроп и просто классная функционалочка, которая колоссально упрощает жизнь в процессе верстки пользовательского интерфейса. 

В статье будет рассказана небольшая история создания приложения под Android полностью на Compose и о том, на сколько сильно применение Compose на продуктиве упрощает и ускоряет разработку. Личный опыт автора, которым он (то бишь я) хочет с вами поделиться.

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

Предубеждения об IT-аутсорсе, с которыми пора покончить

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

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

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

На каком стеке разработать проект, чтобы не похоронить его после релиза?

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

Привет, Хабр! На связи Пиробайт — продуктовые разработчики для фудтех, медтех, автотех. 

Каждый заказчик хочет знать, на каком стеке будут разрабатывать его продукт. Почему? За этим стоят опасения: будет ли проект поддерживаться в будущем? Получится ли найти на него разработчиков? Вынесет ли большую нагрузку? Получится ли интегрировать его с другими системами? Не произойдет ли так, что технологии уйдут из России, как это было с SAP, Oracle и прочими?

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

Читать далее
Всего голосов 34: ↑9 и ↓25 -16
Комментарии 32

Управление проектами в работе и жизни

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

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

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

«А» — начальная точка проекта. Любой проект должен начинаться с правильной постановки задачи. От постановки и понимания задачи зависит результат, за который отвечает исполнитель. Важно услышать саму потребность, с которой к вам пришел заказчик, и интерпретировать её в постановку задачи. Запросить необходимые материалы и задать достаточное количество вопросов для качественного результата — зона ответственности исполнителя. Постановкой задачи является формулировка пользы и способа ее достижения в конкретные сроки. Польза должна быть сформулирована в мире заказчика, а не в мире исполнителя. Финальную постановку задачи нужно согласовать с заказчиком, чтобы убедиться, что вы правильно друг друга понимаете. Выявленное полезное действие в проекте будет служить вам надежным инструментом для конструктивного диалога и принятия верных решений.

«Б» в проекте — это сделанная работа. Делать ≠ сделать. Для заказчика результат либо есть, либо его нет. Путь из точки «А» в точку «Б» существует только в мире исполнителя. Если вы профессионал и цените свою репутацию, то ваши критерии к выполняемой работе должны быть выше, чем у заказчика. Работу нельзя делать плохо, даже если это устроит клиента или он не сразу заметит. Сделать ≠ сдать, сделать — это действительно сделать, вовремя запустить качественный проект и принести пользу.

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

Упрощаем локализацию iOS-приложения со String Catalogs

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

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

Сегодня я расскажу о том, как можно в значительной мере облегчить и усовершенствовать процесс перевода iOS-приложения на другие языки. Языки, разумеется, человеческие: от Swift мы отказываться не будем.

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

Заводим Яндекс Карты в Compose Multiplatform

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

Привет! Это мой первый пост на Хабре, буду рад услышать профессиональное и не очень мнение по поводу этой статьи.

Реализуем Яндекс Карты в KMP проекте с использованием Compose Multiplatform. Нестандартное решение с интерфейсом на Swift и передачей кода через DI.

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

И певец, и на дуде игрец. Или почему ChatGPT необходим стажеру

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

Привет, Хабр. Меня зовут Алексей, я разрабатываю мобильные приложения на Flutter в Пиробайте. И ради сегодняшней статьи сошлись аж две звезды, две светлых повести. Во-первых, популярность нейросетей немного приутихла, и они стали обыденным инструментом. Во-вторых, я понемногу осмыслил свой путь изучения языка Dart. О том, как эти 2 вещи умудрились пересечься, я и расскажу дальше.

Предлагаю сразу начать с главной парочки — Dart/Flutter. Когда мы говорим о кроссплатформенной разработке на Flutter, то мы говорим о… Flutter, как это ни странно. И только о нем. Если вы начинаете свой путь изучения фреймворка, то найдете много туториалов, обучалок, статей и прочего: Stateful vs stateless виджеты, BLoC vs RiverPod, основы верстки на Flutter, в конце концов. 

Если составлять список, то он покроет большинство фич разработки на Flutter. Но почему-то все забывают о, так сказать, базе — языке Dart.

Такая забывчивость в целом понятна. Dart в отрыве от Flutter никто и звать его никак, будем честны. Однако для новичка, особенно для того, кто пришел из веб-разработки, папаша нашего любимого фреймворка покажется достаточно интересной штукой, так как гораздо больше полагается на ООП. Наличие миксинов, особенностей приватных и паблик полей, куча способов объявить переменную, необходимость указывать типы данных — все эти особенности усложняют переход из классического веба. Сложно найти больше одного практического задания, а практика — важная штука в разработке на любом языке.

Узнать, как запрашивать задания у ChatGPT
Всего голосов 9: ↑5 и ↓4 +1
Комментарии 10

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

Работа