Обновить
33.37

Flutter *

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

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

3-е издание «Основы Dart», анонс печатной версии и новой книги — «Основы Flutter»

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

Всем привет!

Прошло не так много времени с выхода второго издания «Основы Dart» и т.к. этот язык программирования не стоит на месте, привел книгу к актуальному состоянию, добавив в нее раздел по Extension Types. Несмотря на то, что материал был у меня еще до выхода Dart 3.3 (да здравствует копание в dev-ветке), 3-е издание «Основы Dart» анонсируется на хабре сегодня и тому имеется ряд причин....
В этой статье хотел бы затронуть несколько важных моментов дальнейшего развития книги, рассказать о подготовке печатной версии, чем она будет отличаться от текущей, а также поделиться планами на книжку "Основы Flutter".

Читать далее

Создавайте виджеты главного экрана iOS с помощью Flutter

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

Hola, Amigos! Меня зовут Сергей Климович, я Mobile TeamLead агентства заказной разработки Amiga и соавтор телеграм-канала Flutter. Много. На канале мы уже рассказывали про Home Widget для Android, теперь пришло время поговорить про iOS. Я нашел отличную статью по этой теме и решил поделиться с вами переводом. 

Читать далее

Android и iOS, Flutter и Kotlin: что обо всём этом расскажут на Mobius

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

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

Понятно, что доклады «про iOS» и «про Android» интересны разным разработчикам, поэтому хабрапост хочется разделить пополам. Но как правильнее поступить с докладами по Flutter? А про Kotlin, когда есть KMP? А с теми, которые не привязаны к платформе?

В общем, не уделяйте слишком много внимания тому, как всё разделено на части — лучше смотрите, о чём будут сами доклады.

Программа Mobius 2024 Spring

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

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

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

Читать далее

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

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

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

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров4.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-сервера.

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Узнать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее