Возникла необходимость встроить MLKit в приложение айос. Началось с того, что по каким-то причинам используемые в приложении (андроид и айос) zbar и zxing (работали параллельно для улучшения результатов на обоих ОС) стали плохо работать. В чём проблема я так и не понял, потому-что решил попробовать MLKit – тем более, что они обещали поддержку как для андроида, так и для айос. А ещё потому, что клиенты давно просят добавить распознавание текста – совсем я их разбаловал сканами штрихкодов, VIN (приложение для СТО) и т.п. А тут ещё добавляем новый складской функционал, где для инвентаризации и приёмки нужно много вводить текста, и это на мобильном девайсе. В общем, решено было выбросить zbar/zxing связку и воспользоваться возможностями Google MLKit.
Разработка мобильных приложений *
Android, iOS, Windows Phone и прочие
Новости
Гайд по Aurora OS: как начать разработку для отечественной мобильной операционки
Заканчивается бета-тестирование пятой версии отечественной мобильной операционной системы Aurora OS. И если до этого система позиционировалась только как рабочая лошадка для терминалов в сегменте B2B, то теперь авторы планируют выход на рынок персональных устройств для работы. В планах также создание собственной мобильной экосистемы для повседневных задач. Что стоит знать разработчикам об Авроре?
Всего 37% российских онлайн-ресурсов доступны для незрячих людей
К таким выводам пришла команда проекта Everland в результате масштабного исследования невизуальной доступности сайтов и мобильных приложений крупнейших российских компаний.
Тринадцать незрячих тестировщиков, прошедших специальное обучение, проанализировали в общей сложности 90 платформ 36-ти компаний из 6 сфер: ритейл, путешествия, телеком, банки, образование и маркетплейсы. Исследовались сайты и приложения на iOS (в случае банков — мобильные версии сайтов) и Android. О выводах ниже.
Стриминговый сервис, чат-бот и стартап — за какие проекты можно получить стипендию Selectel
Личные проекты бывают разными: кто-то пишет собственную JS-библиотеку, кто-то создает IT-компанию, а кто-то помогает команде выигрывать гонки (и такое бывает). В этом тексте мы расскажем про пять интересных проектов от студентов, которые выиграли стипендию в Selectel Career Wave.
Истории
Как реализовать обрезку изображений во flutter без сторонних библиотек
Сегодня рассмотрим, как с помощью небольших знаний в математике и встроенных инструментов flutter реализовать функционал редактирования изображений. Сначала рассмотрим существующие библиотеки, которые предоставляют нужный функционал, а потом реализуем собственное решение, используя GestureDetector
, CustomPainter
, RepaintBoundary
и GlobalKey
.
Разбираемся с MavenGate, новой атакой на цепочку поставок для Java и Android-приложений
Всем привет!
Сегодня с вами Юрий Шабалин, генеральный директор «Стингрей Технолоджиз», и я хотел бы разобрать в этой статье новый тип атаки на цепочку поставок под названием «MavenGate».
А что в ней, собственно, такого? Ну хотя бы то, что ей подвержены более 18% всех Java-библиотек, соответственно, для Android это применимо в полной мере. Совершить эту атаку безумно просто. Суть ее основана на логике работы сборщиков Java/Android-проектов и разрозненности репозиториев, которые хранят эти библиотеки.
Если стало интересно и хочется проверить, уязвимы ли вы, добро пожаловать под кат!
Страх, ненависть и токенизация банковских карт в Google Pay
Мы разработали для европейского банка фичу, благодаря которой клиент может подключить карту к Google Pay прямо в приложении. В проекте были задействованы пять участников: мы, банк, Google Pay, интегратор и токен сервис-провайдер. У трёх последних в документации были белые пятна, на прояснение которых ушло полтора месяца, хотя разработка с нашей стороны заняла всего две недели.
Я Владислав Кортиков, Android-разработчик в KODE. В статье рассказал, что может ждать вас при добавлении подобной фичи в банковское приложение. Здесь много неочевидных моментов, постигнутых с болью, и возможно однажды эта информация поможет кому-то сэкономить силы и время.
Как мы помогли запустить приложение для маркета кроссовок Xstreet
В два часа ночи в одной из групп в Telegram я увидел сообщение: нужны разработчики, чтобы «докрутить» приложение. Тут же написал потенциальному клиенту. Пообщались текстом в телеграмм и клиент ответил: «Давайте работать». Через день мы подписали договор. Так состоялась наша самая быстрая сделка. Теперь предстояло так же быстро включиться в проект: сроки горели.
Жизнь после запуска: сколько нужно денег, чтобы содержать приложение
Каждый день в YuSMP Group мы общаемся потенциальными заказчиками. Как правило, в финансовой части их интересует стоимость приложения или цена за час работы специалистов. Так или иначе, весь бюджет выстраивается вокруг проекта, и это правильно — важно рассчитать силы на берегу.
Но дело в том, что после релиза продукт необходимо содержать, и да, это тоже стоит денег. В статье рассказали, за что придется платить после запуска, и как правильно завершить проект, чтобы не разориться уже на готовом приложении.
Отчёт о конференции CrossConf 2023
Информационная служба Хабра посетила IT‑конференцию CrossConf 2023. Мероприятие проходило 15 сентября 2023 года в Москве в пространстве «Старт Хаб» на «Красном Октябре». Конференция была посвящена обмену опытом кроссплатформенной мобильной разработки и технологичного рынка. По словам организаторов, конференцию посетило 600 IT‑специалистов.
Жизненный цикл приложения на Flutter
Всем привет! Сегодня с вами я, Александр Чаплыгин, Flutter dev Amiga. Расскажу вам одну интересную тему — отслеживание состояния приложения: в фоне, закрыто или оно не активно. Вы поймете, как обрабатывать переходы в новое состояние. Также рассмотрим 2 подхода к реализации, которые могут выручить в той или иной ситуации.
Мобильная разработка за неделю #523 (22 — 28 января)
И подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
Сочетание методов верификации и аутентификации через почту и SMS: добавит ли безопасности и нельзя ли проще?
Недавно в России вступил в силу закон, запрещающий использовать иностранные сервисы для авторизации на отечественных ресурсах. Привычные уже мессенджеры и системы SSO вроде Google/Apple ID в скором времени для аутентификации работать не будут. Что теперь — возвращаться на SMS и почту, или рынок предлагает альтернативные варианты решения?
Ближайшие события
Как я приложение на Compose писал
Далеко не новость, что в мобильной разработке под Android развивается новый подход к построению UI. Он же Compose. Он же плейбой, филантроп и просто классная функционалочка, которая колоссально упрощает жизнь в процессе верстки пользовательского интерфейса.
В статье будет рассказана небольшая история создания приложения под Android полностью на Compose и о том, на сколько сильно применение Compose на продуктиве упрощает и ускоряет разработку. Личный опыт автора, которым он (то бишь я) хочет с вами поделиться.
Предубеждения об IT-аутсорсе, с которыми пора покончить
Есть мнение, что найм команды на аутсорсе — это всегда больший риск, чем разработка своими силами. При выборе сторонней команды в голове крутится множество страхов — а вдруг разработчики не смогут быстро погрузиться в проект, или у них не хватит опыта, или ваша конфиденциальная информация окажется у конкурентов… Мы решили собрать все претензии к такому способу реализации проектов и честно ответить на них. Что получилось — читайте в статье.
На каком стеке разработать проект, чтобы не похоронить его после релиза?
Привет, Хабр! На связи Пиробайт — продуктовые разработчики для фудтех, медтех, автотех.
Каждый заказчик хочет знать, на каком стеке будут разрабатывать его продукт. Почему? За этим стоят опасения: будет ли проект поддерживаться в будущем? Получится ли найти на него разработчиков? Вынесет ли большую нагрузку? Получится ли интегрировать его с другими системами? Не произойдет ли так, что технологии уйдут из России, как это было с SAP, Oracle и прочими?
В статье отвечаем на эти и другие вопросы. Рассказываем, с чем работаем, чтобы продукт жил и процветал.
Управление проектами в работе и жизни
Управление проектами — фундаментальный навык. Из проектов состоит не только наша работа, но и личная жизнь. Строя дачу, организовывая путешествие или покупая продукты к ужину, мы управляем проектами, даже не задумываясь об этом.
В проекте всегда есть заказчик и исполнитель. Делая что-то для себя, вы комбинируете эти роли. Заказчики могут быть как внутренними, так и внешними, но основные принципы взаимодействия всегда сохраняются.
«А» — начальная точка проекта. Любой проект должен начинаться с правильной постановки задачи. От постановки и понимания задачи зависит результат, за который отвечает исполнитель. Важно услышать саму потребность, с которой к вам пришел заказчик, и интерпретировать её в постановку задачи. Запросить необходимые материалы и задать достаточное количество вопросов для качественного результата — зона ответственности исполнителя. Постановкой задачи является формулировка пользы и способа ее достижения в конкретные сроки. Польза должна быть сформулирована в мире заказчика, а не в мире исполнителя. Финальную постановку задачи нужно согласовать с заказчиком, чтобы убедиться, что вы правильно друг друга понимаете. Выявленное полезное действие в проекте будет служить вам надежным инструментом для конструктивного диалога и принятия верных решений.
«Б» в проекте — это сделанная работа. Делать ≠ сделать. Для заказчика результат либо есть, либо его нет. Путь из точки «А» в точку «Б» существует только в мире исполнителя. Если вы профессионал и цените свою репутацию, то ваши критерии к выполняемой работе должны быть выше, чем у заказчика. Работу нельзя делать плохо, даже если это устроит клиента или он не сразу заметит. Сделать ≠ сдать, сделать — это действительно сделать, вовремя запустить качественный проект и принести пользу.
Упрощаем локализацию iOS-приложения со String Catalogs
Выход продукта на новые рынки сбыта — это деньги. Чем лучше ты знаешь своего клиента, тем вероятнее, что ты их сможешь заработать. Это же правило справедливо и в обратную сторону: клиент более охотно будет пользоваться твоим продуктом, если он может разговаривать с ним на одном языке.
Сегодня я расскажу о том, как можно в значительной мере облегчить и усовершенствовать процесс перевода iOS-приложения на другие языки. Языки, разумеется, человеческие: от Swift мы отказываться не будем.
Заводим Яндекс Карты в Compose Multiplatform
Привет! Это мой первый пост на Хабре, буду рад услышать профессиональное и не очень мнение по поводу этой статьи.
Реализуем Яндекс Карты в KMP проекте с использованием Compose Multiplatform. Нестандартное решение с интерфейсом на Swift и передачей кода через DI.
И певец, и на дуде игрец. Или почему ChatGPT необходим стажеру
Привет, Хабр. Меня зовут Алексей, я разрабатываю мобильные приложения на Flutter в Пиробайте. И ради сегодняшней статьи сошлись аж две звезды, две светлых повести. Во-первых, популярность нейросетей немного приутихла, и они стали обыденным инструментом. Во-вторых, я понемногу осмыслил свой путь изучения языка Dart. О том, как эти 2 вещи умудрились пересечься, я и расскажу дальше.
Предлагаю сразу начать с главной парочки — Dart/Flutter. Когда мы говорим о кроссплатформенной разработке на Flutter, то мы говорим о… Flutter, как это ни странно. И только о нем. Если вы начинаете свой путь изучения фреймворка, то найдете много туториалов, обучалок, статей и прочего: Stateful vs stateless виджеты, BLoC vs RiverPod, основы верстки на Flutter, в конце концов.
Если составлять список, то он покроет большинство фич разработки на Flutter. Но почему-то все забывают о, так сказать, базе — языке Dart.
Такая забывчивость в целом понятна. Dart в отрыве от Flutter никто и звать его никак, будем честны. Однако для новичка, особенно для того, кто пришел из веб-разработки, папаша нашего любимого фреймворка покажется достаточно интересной штукой, так как гораздо больше полагается на ООП. Наличие миксинов, особенностей приватных и паблик полей, куча способов объявить переменную, необходимость указывать типы данных — все эти особенности усложняют переход из классического веба. Сложно найти больше одного практического задания, а практика — важная штука в разработке на любом языке.
Вклад авторов
-
ProductivityInside 3120.2 -
RoboForm 1939.8 -
alizar 1918.6 -
PapaBubaDiop 1541.0 -
phillennium 1272.0 -
YourDestiny 1011.0 -
InkOut 801.0 -
redmadrobot 781.0 -
Leono 778.0 -
marks 755.0