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

Flutter *

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

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

Рекуррентные платежи, или как мы доработали функционал платных подписок во Flutter приложении

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

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

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

Новости

Разбираем генеративный SDK от Google — google_generative_ai. Часть 1

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

Привет, Хабр! Меня зовут Юрий Петров, я автор ютуб-канала «Мобильный разработчик» и Flutter Tech Lead в компании Friflex. Мы разрабатываем мобильные приложения для бизнеса и специализируемся на Flutter. 

В версии Flutter 3.19 появился SDK для работы с генеративным ИИ. В этой статье разбираемся с возможностями google_generative_ai на примере простого Flutter-проекта.

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

Где заканчивается Flutter и начинается платформа?

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

Сердце фреймворка Flutter (который для разработчиков часто представляется только в виде набора классов на языке Dart) написано на языке С и компилируется в двоичный артефакт, известный как Flutter Engine, подключаемый к приложению и используемый из Dart-классов через механизм нативного связывания (аннотации @pragma('vm:entry-point') для вызовов из Flutter Engine в Dart, @Native и external для обращения к C++ коду во Flutter Engine из Dart).

Но в действительности Flutter Engine не имеет никакого платформо-специфического кода (при этом собран под целевую аппаратную архитектуру) и не знает, как работает платформенный event loop, как создавать потоки, на какой поверхности выполнять отрисовку сцены и не может получать информацию о действиях пользователя (касание экрана, перемещение указателя мыши, нажатие клавиш) и системных событиях. Такое архитектурное решение было сделано для того, чтобы иметь возможность запускать Flutter-приложения потенциально на любом устройстве с экраном (даже светодиодной панелью). В этой статье мы поговорим про Flutter Embedder, его роль в запуске приложения и привязке к системным event loop, а также рассмотрим сборку простого embedder для публикации Flutter приложения как VNC-сервера.

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

Опыт внедрения компонентной разработки

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

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

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

Истории

Реализация pin code во Flutter приложении

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

Hola, Amigos! С вами Владимир Зевеке, Flutter dev агентства продуктовой разработки Amiga и соавтор телеграм-канала Flutter. Много. Сегодня расскажу про пакет pin_code_fields и его применение на практике. 

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

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

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

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

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

Читать далее
Всего голосов 8: ↑8.5 и ↓-0.5+9
Комментарии11

Как исправить ITMS-91053: Missing API declaration

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

Если вы разработчик iOS (или Flutter, как я) приложений, вероятно, вы уже сталкивались с предупреждением от Apple: ITMS-91053: Missing API Declaration. 

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

Как определить, что мобильное приложение написано на Flutter

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

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

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

Эффективный Dart: Руководство по документации

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

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

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

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

Распознавание виджетов на экране приложения Flutter

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

Hola, Amigos! На связи Саша Чаплыгин, Flutter-dev агентства продуктовой разработки Amiga и соавтор телеграм-канала Flutter. Много. Сегодня мы вновь займемся практикой! Расскажу об интересной теме — определение положения объекта на экране. Это может быть полезно, когда мы хотим понять, виден тот или иной виджет на экране в данный момент или нет.

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

Эффективный Dart: Руководство по стилю

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

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

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

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

Эффективный Dart

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

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

За последние несколько лет мы написали тонну кода для Dart и многое узнали о том, что работает хорошо, а что нет. Мы делимся этим с вами, чтобы вы тоже могли писать согласованный, надежный и быстрый код. Есть две общие темы:

Быть последовательным и кратким!

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

Dart 3.1 и ретроспектива программирования в функциональном стиле в Dart 3

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

Сопоставление шаблонов (pattern matching) и исчерпывающие переключатели (exhaustive switches) объединяются для создания функциональных моделей данных, которые легко сочетаются с объектно-ориентированным ядром Dart. 💪

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

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

Cardoteka — техническая начинка и аналитика решений типобезопасной SP [кто любит вдаваться]

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

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

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

Тестирование пользовательского интерфейса | Flutter

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

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

Вы узнаете, как:

• Понимать автоматизированное тестирование виджетов
• Интегрировать автоматизированное тестирование виджетов
• Использовать драйвер Flutter
• Работа с пакетом тестирования Firebase

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

Интеграция нативных SDK во Flutter-приложение

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

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

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

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

Как быстро получать данные из ОС Аврора через интерфейс D-Bus во Flutter-приложении

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

Привет, Хабр! Меня зовут Юрий Петров, я автор ютуб‑канала «Мобильный разработчик» и Flutter Tech Lead в компании Friflex. Мы разрабатываем мобильные приложения для бизнеса и специализируемся на Flutter.

В этой статье я расскажу, как с помощью интерфейса D‑Bus можно быстро получить необходимую вам информацию из системы Аврора.

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

Что нового во Flutter 3.19

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

Hola, Amigos! На связи Саша Чаплыгин, Flutter-dev агентства продуктовой разработки Amiga. Мы с командой подготовили для вас перевод статьи о новинках Flutter в версии 3.19. Оригинал тут. Приятного чтения!

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

Работа с Data Assets | Flutter

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

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

Вы узнаете, как:

• Реорганизовать данные для приложения
• Использовать информацию из локального файла JSON
• Работать с данными, расположенными в папке assets
• Обрабатывать remote данных с помощью Future
• Автоматизировать JSON в классе Dart

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

Приложение викторины: внедрение Cardoteka и основные паттерны проектирования с Riverpod

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

Как здорово, что все мы здесь сегодня собрались.

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

о слоях и взаимосвязях в архитектуре

формула: 2x реактивность = Riverpod + Cardoteka

особенности проектирования бизнес-логики

лучшие паттерны для работы с Cardoteka

определение репозиториев и про Trivia Api

настройка github actions для деплоя web и релиза подписанных apk 🎁

И всё это под лязг пластмассовых катан. Прошу, вы устанете, но будет весело!

Повеселиться и устать
Всего голосов 3: ↑3 и ↓0+3
Комментарии0
1
23 ...