Pull to refresh
18
8
Send message

Создаем Flutter-приложение для оплаты через СБП без натива

Level of difficultyEasy
Reading time9 min
Views3.7K

Всем привет! Меня зовут Мурат Насиров, я Flutter-разработчик в Friflex. Мы разрабатываем мобильные приложения для бизнеса и специализируемся на Flutter. 

Ранее я поделился своим опытом, как интегрировать СБП при помощи нативных решений НСПК (Национальной системы платежных карт). В этой статье рассказываю, как можно сделать это при помощи Flutter-приложения и двух пакетов из pub.dev.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments8

История LLM-агентов: 10 ярких моментов

Level of difficultyEasy
Reading time9 min
Views1K

Привет, Хабр! Меня зовут Руслан Гримов, я Head of ML в проекте idSport в компании Friflex. Мы разрабатываем продукты для оцифровки спорта и используем компьютерное зрение, чтобы организовывать трансляции партий на шахматных турнирах, а также распознавать и записывать интересные моменты в бильярде и футболе.

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

Как писал Пелевин, «в сущности, функция LLM – это доведенное до немыслимого совершенства автозаполнение. LLM не думает. Она тренируется на огромном корпусе созданных прежде текстов «…» и на этой основе предсказывает, как будет расти и развиваться новая последовательность слов, и как она, вероятней всего, развиваться не будет… Это похоже на процесс формирования юного члена общества на основе ежедневно поступающих вербальных инструкций, подзатыльников и наблюдения за тем, кому дают еду, а кому нет». 

Это определение большой языковой модели (LLM) вольное, но довольно точное. LLM — это нейронная сеть, обученная на большом объеме текста. Она может анализировать, понимать и генерировать тексты на естественном языке, использовать обширные базы данных и понимать контекст. 

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

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments0

Встроенные коллекции Dart: как реализовать в коде основные структуры данных. Глава из книги

Level of difficultyMedium
Reading time15 min
Views1.6K

Привет, Хабр! Меня зовут Станислав Чернышев, я автор книги «Основы Dart», телеграм-канала MADTeacher и доцент кафедры прикладной информатики в Санкт-Петербургском государственном университете аэрокосмического приборостроения. 

При поддержке компании Friflex буквально на днях вышла печатная версия моей книги. В ней есть раздел о нюансах изоляционной модели памяти в Dart, сквозной проект на пять глав (игра «Крестики-Нолики») и две дополнительные главы: «Алгоритмы, структуры данных на Dart и встроенные коллекции» и «Интероперабельность в Dart (Dart FFI)».

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

Читать далее
Total votes 8: ↑7 and ↓1+8
Comments2

Как обучают GPT

Level of difficultyEasy
Reading time6 min
Views8.9K

Привет, Хабр! Меня зовут Родион Уколов, я занимаюсь искусственным интеллектом в компании Friflex. Мы помогаем компаниям внедрять модели машинного обучения и развиваем свои цифровые продукты.

Может быть, вы помните статью моего коллеги о том, как решать реальные задачи с ChatGPT. В этой статье я предлагаю попробовать глубже разобраться, что из себя представляет GPT-модель и как ее обучают. 

Читать далее
Total votes 13: ↑12 and ↓1+13
Comments3

Flutter: история успеха

Level of difficultyEasy
Reading time6 min
Views5.4K

Кроссплатформенный фреймворк Flutter появился в 2017 году. С тех пор он стал одним из самых популярных инструментов для разработки мобильных приложений. Мы в Friflex работаем с Flutter с первого релиза, следим за его развитием и каждый год проводим большую конференцию о кроссплатформенной разработке — CrossConf. В этой статье вспоминаем историю фреймворка. А еще делимся, как с ним познакомились наши разработчики.

Читать далее
Total votes 8: ↑7 and ↓1+9
Comments11

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

Level of difficultyEasy
Reading time5 min
Views796

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

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

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments1

Соединяем Flutter, Firebase и ESP32 в единую систему

Level of difficultyHard
Reading time15 min
Views6.8K

Всем привет! Это Мурат Насиров, Flutter-разработчик в Friflex. Мы разрабатываем высоконагруженные мобильные приложения для бизнеса и специализируемся на Flutter. 

Сегодня расскажу, как использовать микроконтроллер ESP32 в связке с Flutter-приложением. В качестве примера покажу, как снимать показания температуры и влажности с помощью датчика DHT11 и передавать эти данные через Firebase Realtime Database в приложение.

Читать далее
Total votes 6: ↑5 and ↓1+5
Comments6

Что нового в Dart 3.3

Level of difficultyMedium
Reading time3 min
Views2.3K

Dart 3.3 вышел! В нем появилась функция Extension Types, новые модели взаимодействия с JavaScript и библиотеками для браузера. А еще Google выпустила бета-версию Google AI Dart SDK. Юра Петров, Flutter Team Lead в Friflex, делится первым переводом официального релиза Dart от Google.

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments0

Что учесть при портировании приложения на Аврору

Level of difficultyMedium
Reading time5 min
Views1.9K

Привет, Хабр! Меня зовут Дмитрий Мозер, я Flutter Team Lead в Friflex и участник бета-тестирования ОС Аврора. Занимаюсь, в том числе, созданием приложений на Flutter для ОС Аврора.

Мы специализируемся на Flutter и активно участвуем в развитии фреймворка на ОС Аврора. Мы уже портировали на Аврору несколько приложений на Flutter, в том числе приложение Мобильный агент, которое помогает компаниям быстро и безопасно получать данные от агентских сетей. 

В этой статье я расскажу, что обязательно нужно учесть, если вы собираетесь портировать мобильное приложение на ОС Аврора. Надеюсь, она будет вам полезна.

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments10

Все, что вы хотели знать об архитекторе ПО

Level of difficultyEasy
Reading time3 min
Views5.8K

Привет, Хабр! Мы в компании Friflex запустили подкаст «Гости из IT». Вместе с ведущим Антоном Комоловым и экспертами из разных областей IT разбираемся в технологиях и изучаем, как они меняют нашу жизнь и работу. 

Сегодня делимся мыслями о профессии архитектора программного обеспечения: чем он занимается, какие инструменты использует и нужно ли ему уметь писать код.

Рассуждают Петр Щербаков, ведущий архитектор решений X5Tech, и Михаил Майоров, технический директор маркетплейса услуг YouDo.

Читать далее
Total votes 21: ↑3 and ↓18-15
Comments6

Как живут операционные системы

Level of difficultyEasy
Reading time4 min
Views3.9K

Привет, Хабр! Мы в компании Friflex запустили подкаст «Гости из IT». Вместе с экспертами из разных областей IT разбираемся в технологиях и обсуждаем, как они меняют нашу жизнь и работу.

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

Своими мыслями делятся Роман Аляутдин, директор департамента разработки ОС «Аврора» в «ОМП», и Алексей Хорошилов, ведущий научный сотрудник Института системного программирования им. Иванникова РАН, руководитель Технологического центра исследования безопасности ядра Linux. Модерировали дискуссию ведущий Антон Комолов и CEO Friflex Петр Чернышев.

Читать далее
Total votes 5: ↑2 and ↓3+1
Comments0

Почему разработчики любят Kotlin

Level of difficultyEasy
Reading time3 min
Views10K

Привет, Хабр! Мы в компании Friflex запустили подкаст «Гости из IT». Вместе с экспертами из разных областей IT разбираемся в технологиях и обсуждаем, как они меняют нашу жизнь и работу. 

Сегодня размышляем про Kotlin. Почему его любят, обвиняют в сахарности и не могут заключить в рамки классического определения. Своими мыслями делятся эксперты по Kotlin: Александр Нозик, директор центра научного программирования и руководитель российской Kotlin-группы, и Александр Соколинский, популяризатор Kotlin в комьюнити разработчиков. А модерируют дискуссию блогер Алексей Гладков и Петр Чернышев из Friflex.

Читать далее
Total votes 9: ↑4 and ↓5+1
Comments22

Создаем federated plugin для Flutter-проекта

Level of difficultyMedium
Reading time8 min
Views1.7K

Всем привет! Это Мурат Насиров, Flutter-разработчик в Friflex. Мы разрабатываем высоконагруженные мобильные приложения для бизнеса и специализируемся на Flutter. В этой статье я рассказываю о том, как создать federated plugin для Flutter-проектов.

В мае 2022 года на Google I/O был представлен урок по созданию federated plugin в Flutter. Federated plugin — это способ разделения функционала в рамках одного плагина на разные платформы. Он позволяет сегрегировать функционал на зоны ответственности для каждой из платформ. 

К примеру, если мы создаем плагин для работы с bluetooth, тогда нужно будет создавать пакеты отдельно для каждой платформы, то есть: flutter_bluetooth (как пакет flutter), flutter_bluetooth_android, flutter_bluetooth_ios и flutter_bluetooth_platform_interface (интерфейс для работы с платформами). 

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

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments0

Flutter: почему он стал таким популярным и нужно ли изучать его прямо сейчас

Level of difficultyEasy
Reading time5 min
Views17K

Привет, Хабр! Мы в компании Friflex запустили подкаст «Гости из IT». Вместе с ведущим Антоном Комоловым и экспертами из разных областей IT мы разбираемся в технологиях, и как они меняют нашу жизнь и работу. 

Сегодня делимся размышлениями Юрия Петрова, автора YouTube-канала «Мобильный разработчик» и Flutter Team Lead в Friflex, и Ильи Вирника, руководителя сектора разработки продукта «Такси» в Яндекс Про. 

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

Читать далее
Total votes 6: ↑4 and ↓2+2
Comments14

OpenStreetMap в Flutter-проекте: что такое flutter_map, как его внедрить и чем дополнить

Level of difficultyEasy
Reading time7 min
Views6K

Всем привет! Меня зовут Анна Ахлёстова, я Flutter-разработчик в Friflex. Ранее мы обсудили, как использовать инструменты yandex_mapkit в Flutter-проекте. В этой статье рассмотрим еще один плагин для работы с картографическими сервисами – flutter_map, изучим его возможности, преимущества перед аналогами и реализуем простой проект в качестве примера.

Если вы начнете искать удобный, адаптированный под Flutter картографический сервис, основными результатами поиска будут GoogleMaps API и Yandex Mapkit SDK.

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

Их главный недостаток – стоимость коммерческих тарифов. Если заказчики обладают достаточным бюджетом для систематической оплаты сервиса карт, проблема автоматически решается. Однако когда разработка ПО осуществляется для небольших организаций или даже стартапов, заказчик может не иметь возможности тратить на это деньги.

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

Для Flutter-проектов есть еще одно решение – применять OpenStreetMap. 

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

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments6

Как работать с нейросетью Midjourney, чтобы получать желаемый результат

Level of difficultyEasy
Reading time8 min
Views22K

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

Midjourney — одна из самых известных моделей искусственного интеллекта в области создания изображений. С её помощью можно создавать уникальный графический дизайн, визуальный контент, а также оптимизировать рутинные задачи: собирать референсы, разрабатывать концепции, стилизовать картинки и многое другое. Для веб-приложений Midjourney особенно полезна на ранних стадиях процесса проектирования: можно сравнивать различные стили, создавать мудборды и определять направление дизайна.

Вместе с коллегами мы собрали лучшие примеры, которые помогут получить качественный результат в работе с Midjourney.

Читать далее
Total votes 9: ↑8 and ↓1+9
Comments4

Flutter 3.16: что нового

Level of difficultyMedium
Reading time13 min
Views6.9K

Тема Material 3 по умолчанию, предварительный просмотр Impeller для Android, расширения DevTools и многое другое. Наш Flutter Team Lead Юрий Петров делится первым переводом официального релиза от Google. Давайте посмотрим, что добавили и улучшили во фреймворке за три месяца с момента релиза Flutter 3.13

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments0

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

Level of difficultyMedium
Reading time23 min
Views4.7K

Всем привет! Это Мурат Насиров и Артем Баркалов, мы 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 в вашем приложении. Тестовые данные не подходят для проверки списания реальных денежных средств с реальной карты, они исключительно для тестирования.

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments5

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

Level of difficultyMedium
Reading time26 min
Views5.3K

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

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

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments1

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

Level of difficultyMedium
Reading time16 min
Views5.8K

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

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments13
1

Information

Rating
590-th
Works in
Registered
Activity