Обновить
31.12

Flutter *

Фреймворк для кросс-платформенной разработки

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

Как использовать нативный платежный сервис SberPay в кроссплатформенном приложении на Flutter

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

Всем привет! Это Мурат Насиров и Артем Баркалов, мы Flutter-разработчики в Friflex. Разрабатываем высоконагруженные мобильные приложения для бизнеса и специализируемся на Flutter. В этой статье мы собрали большую часть кейсов, с которыми вы можете столкнуться при интеграции кнопки оплаты SberPay в приложении на Flutter. Это поможет вам понять механику работы СберПэй и шаги, которые необходимо сделать для передачи событий из натива во Flutter.

Использование SberPay SDK в продакшене требует наличия установленного приложения «Сбербанк Онлайн» (СБОЛ), иначе в процессе оплаты произойдет ошибка. Тестирование можно проводить на симуляторе iOS и на реальном устройстве. На эмуляторе Android тестирование не выйдет — при попытке оплаты возникает ошибка. Разработчики SDK используют аппаратные возможности смартфонов: геолокацию, bluetooth, Wi-Fi для снижения вероятности совершения мошеннических операций (условный антифрод).

Первым делом разработчик узнает от Сбербанка (по договору о подключении SberPay SDK в приложение), логин/пароль (credentials) и ссылку, которые указываются в файле build.gradle проекта (приложения) в части Android для получения библиотеки. Либо отдельно запрашивается aar-бандл. Для подключения SDK на iOS выдадут отдельную ссылку на репозиторий, хотя он публичный

Вместе с данными для получения SDK выдают тестовые данные для регистрации заказа в шлюзе Сбера, а также специальные apiKey и merchantLogin, которые используются для инициализации SberPay SDK в вашем приложении. Тестовые данные не подходят для проверки списания реальных денежных средств с реальной карты, они исключительно для тестирования.

Читать далее

Flutter. Локальная база данных

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

Ранее мы писали статью про реализацию паттерна MVVM на Флаттере. В комментариях к ней просили разобрать связку нашего приложения с базой данных. 

Стоит заметить, что локальная БД в данном случае будет использоваться для кеширования данных, получаемых с бэкенда, однако взаимодействие с бэком не будет рассматриваться здесь, так как это тема, достойная отдельной статьи.

Меня зовут Ричард, и я младший разработчик в компании Digital Design.

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

Читать далее

Flutter и работа с нативным кодом на примере библиотеки для работы с NFC

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

Как исправлять недочеты в нативных библиотеках при работе с флаттером на примере NFC

В большинстве случаев при работе с флаттером разработчику никак не приходится взаимодействовать с нативным кодом (Java/Kotlin и ObjectiveC/Swift), потому что инструментарий флаттера довольно богат. Но иногда возникают случаи, когда без этого не обойтись. Самым частым примером является работа с датчиками телефона.

Рассмотрим проблему: представим что вам нужно сделать чтение данных карты с NFC. Вы выбрали плагин, в нашем случае это был nfc_manager 3.1.0, который позволяет это делать, но на android из него не возвращается номер карты, который вам необходим. Что делать? С такой проблемой мы недавно столкнулись и сейчас расскажем как это решается.

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

Во-первых необходимо скопировать код библиотеки к себе в проект. Должно получиться так:

Читать далее

Flutter Yandex Mapkit: как внедрить основные инструменты Яндекс Карт в проект на Flutter. Часть 2

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

Привет! Меня зовут Анна Ахлёстова, я Flutter-разработчик в Friflex. В первой части статьи мы подробно разобрали, как использовать некоторые инструменты Yandex Mapkit в проекте на Flutter. Мы научились отображать объекты точками на карте, обрабатывать нажатия на них, а также настраивать кластеризацию маркеров при масштабировании карты.

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

Читать далее

Flutter Yandex Mapkit: как внедрить основные инструменты Яндекс Карт в проект на Flutter. Часть 1

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

Привет! Меня зовут Анна Ахлёстова, я Flutter-разработчик в Friflex. Мы разрабатываем мобильные приложения для бизнеса и специализируемся на Flutter. В статье я расскажу о том, как мы решаем основные задачи бизнеса с использованием возможностей Яндекс Карт на Flutter.

Читать далее

Потерял месяц согласований, психанул. Теперь только платные брифы

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

Однажды ко мне пришел крупный застройщик, хотел обновить дизайн приложения. Провели два созвона, определились, что будет в дизайне. Делаю простенькое ТЗ на доп. разработку. Все круто, казалось бы. Потом выяснилось, что нужно интегрироваться с 1С. Это сложная доработка, поэтому с командой делаем полноценное техническое задание. Присылаем им готовое ТЗ, договор и счет — ждем ответа. Проходит день, два… неделя. Мы забили, а потом увидели кейс у коллег по нашему ТЗ.

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

Читать далее

Как мы удвоили разрешение фотографий с помощью камеры Flutter на iOS

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

Привет, меня зовут Сергей, и я мобильный разработчик в компании Brickit. Некоторое время назад мы наконец мигрировали приложения для iOS и Android на общий код на Flutter. Мы были в восторге от результата, но сам переход был далеко не гладким. Одной из важных частей этой авантюры была настройка и использование плагина камеры, что оказалось нетривиальным как на iOS, так и на Android. В этой статье я расскажу о проблеме с недостаточно высоким разрешением фотографий на iOS, немного объясню, как работает оригинальный плагин, и предоставлю наше решение с примерами кода о том, как сделать это лучше. Ссылка на полный код в конце статьи.

Читать далее

Камера и Flutter

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

Hola, Amigos! На связи Александр Чаплыгин, Flutter-dev в Amiga. Недавно я выступал на конференции для разработчиков DevFest в Омске с докладом «Камера и Flutter». Решил поделиться с вами своим первым опытом выступления. Возможно, кому-то будет полезно понять, как это устроено изнутри. И расскажу про проект, в котором использовалась библиотека Google ML Kit Barcode Scanning.

Читать далее

Как быстро интегрировать Систему быстрых платежей (СБП) в приложение на Flutter

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

Всем привет! Меня зовут Мурат Насиров, я Flutter-разработчик в Friflex. Мы разрабатываем мобильные приложения и специализируемся на решениях для ритейла. На одном из наших проектов мне пришлось столкнуться с внедрением кнопки оплаты через Систему Быстрых Платежей (СБП). В этой статье я хочу поделиться своим опытом и наработками в быстрой интеграции нативных компонентов SDK СБП в кроссплатформенное приложение на Flutter.

Читать далее

Скорее жив, чем мёртв: тенденция по развитию iOS технологий

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

Подготовьте кружечку чая, запаситесь терпением и дочитайте всю статью до конца.

После 24 февраля 2022 года, события в iOS разработке начали меняться не в лучшую сторону. Приложения "крупных" компаний удаляются из App Store (пример Сбербанк, Альфа банк, ВТБ, Тинькофф). Кажется, что iOS разработчики становятся в России не актуальными, а количество Flutter разработчиков увеличивается. Так что же нас ждет? Неужели придется учить Kotlin, или вообще уходить в C++?

Читать далее

Event Bus: пишем шину событий во Flutter-приложении

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

Привет, Хабр! Меня зовут Юрий Петров, я Flutter Team Lead в Friflex. Как и многие коллеги, я пришел во Flutter из мира Android. Конечно, есть практики, которые мы использовали при разработке нативных приложений для Android и которые мы тянем за собой в кроссплатформенную разработку. В статье хочу вам рассказать про чудесный инструмент Event Bus. При переводе на русский этот термин дословно означает «шина событий».

Читать далее

Что мобильным разработчикам расскажут на Mobius 2023 Autumn: от Compose и SwiftUI до компьютерного зрения

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

Близится очередная конференция Mobius, и пришло время представить Хабру её программу.

Суть прежняя: тут есть доклады и по iOS-разработке, и по Android, и по кроссплатформенным технологиям вроде Flutter. И про свежие тренды (вплоть до шлема Apple Vision Pro), и про более фундаментальные вопросы вроде архитектурных.

А что конкретно будет? Собрали под катом описания всех докладов, разделив их на тематические блоки.

Программа Mobius 2023 Autumn

4 сценария, когда нужно сделать ставку на Kotlin Multiplatform, а не Flutter

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

Привет, это Максим Мялкин — управляющий партнёр и руководитель мобильной разработки KTS.

Кроссплатформенные- инструменты помогают бизнесу не писать код два раза под iOS и Android, а переиспользовать его на обеих платформах. В статье — о том, чем Kotlin Multiplatform отличается от Flutter и в каких случаях он переигрывает и уничтожает Flutter. 

Читать далее

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

Реактивные формы во Flutter: как делать формы с меньшими трудозатратами

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

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

Читать далее

Flutter: заказывать или не заказывать? Откровения разработчика

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

Согласно нашей статистике, 93% наших Клиентов, которые решили создать кроссплатформенное приложение, просят использовать фреймворк Flutter. И только единицы из этого числа на самом деле знают, что такое Flutter и почему им «писать надо именно на нем».

Привет! Меня зовут Громова Алена, я — основатель компании по разработке мобильных приложений. И сегодня мы поговорим про Flutter.

Клиенты говорят примерно одинаковые вещи: «Платить двум отдельным программистам, чтобы написать приложение под iOS и Android больше не нужно, ведь есть Flutter, где один программист может написать сразу под обе платформы.» При этом мало кто спрашивает «Есть ли нюансы?». А нюансы есть, и довольно интересные. Прямо сейчас я предлагаю всем заинтересованным разобраться в них. С нашей помощью, конечно.

К делу мы подошли обстоятельно и подробно разобрали тему с экспертами в данном вопросе — нашими разработчиками, имеющими существенный опыт как в нативной, так и в кроссплатформенной разработке. Flutter и натив (нативная разработка — создание приложений под конкретную платформу, на «родном» для неё языке программирования) — это основные стеки нашей команды. За долгие годы мы повидали достаточно и со многим сталкивались. На Flutter пишем с 2018 года, почти с момента выхода альфа‑версии этого фреймворка.

Мой главный соавтор — это Евгений. Именно с ним, в 2018 году мы написали для клиента наш первый Flutter‑проект на тему охраны периметров огромных предприятий. Евгений начал свою карьеру еще в 2012 году как Android‑разработчик, в 2018 перешел на Flutter и параллельно осваивает iOS.

Читать далее

Что такое keys во Flutter?

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

Hola Amigos! На связи Тимур Моисеев, руководитель мобильной разработки Amiga. 

Еще раз кратко пройдемся по теме ключей у виджетов. Хочется осветить пару моментов, которые будут полезны как начинающим разработчикам, так и тем, кто уже немного погрузился во Flutter.

Читать далее

Модификаторы классов в Dart 3.0

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

Hola Amigos! На связи Тимур Моисеев, руководитель мобильной разработки Amiga. Я кандидат технических наук, в IT уже более 20 лет, а последние 4 года создаю мобильные приложения на Flutter.

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

Читать далее

Сервисы: строим масштабируемые и гибкие приложения с помощью чистой архитектуры

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

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

Изменение API вы можете встретить в разных кейсах. От изменение протоколов взаимодействия с сетью до изменения нативных API биометрией.

Узнай как сделать приложение масштабируемым и не наступать на грабли!

Читай и не наступай на грабли ?

jenv — удобный инструмент для управления версиями Java

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

Иногда может возникнуть необходимость использовать какую-то определенную версию Java для вашего проекта. Мы тоже в Surf с таким столкнулись при работе над одним из Flutter приложений-долгожителей. Решение нашлось в виде использования менеджера версий Java. Рассказываем, что за инструмент и как с ним базово работать на MacOS.

Читать далее

ASO.dev — как я снова продукт для Apple делал

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

У каждого свой жизненный путь и выбор продуктов, у меня видимо какой-то фетиш делать продукты для Apple и их API... Вот уже 4-ый год как я делаю плеер для Apple Music, а 20 ноября 2022 года вместе с женой придумали и начали делать ASO.dev.

Читать далее