Все потоки
Поиск
Написать публикацию
Обновить
8.11

Flutter *

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

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

Обновление Flutter 3.7: перевод официального релиза и комментарии

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

Улучшенная поддержка Material 3, обновления DevTools, новые виджеты – Google представил очередное обновление кроссплатформенного фреймворка.
По традиции, команда Flutter-разработчиков
Friflex делится первым переводом официального релиза новой версии фреймворка с комментариями.

Читать далее

Flutter 3.7 — Что нового во Flutter

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

Привет Хабр!

2023 год за окном и помнится, как в 2020 Flutter только начинал набирать популярность. Дабы усилить сей процесс представляю перевод статьи от команды разработчиков, посвященный новой версии фреймворка.

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

Из улучшенного: глобальный выбор, более быстрый рендеринг с помощью Impeller, DevTools и, как всегда, производительность!

Итак начнем ->

Читать далее

Как создать консольное приложение на языке dart, используя пакет weather_pack?

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

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

Допустим...

10 популярных вопросов, которые нужно знать, чтобы пройти собеседование на позицию Flutter-разработчика

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

Привет, на связи Flutter-команда Mad Brains. Сегодня мы разберём 10 часто задаваемых вопросов на собеседованиях на позицию Junior Flutter Developer. Наш ведущий Flutter-разработчик расскажет, как показать себя во всей красе и получить оффер. А в конце статьи вас ждет приятный бонус от нашей команды. 

1. Зачем вообще использовать Flutter? Какие у него преимущества недостатки?
Можете взять примеры, которые представлены на официальном сайте Flutter. Но из своего опыта отметим несколько важных поинтов. Во-первых, у Flutter есть несомненный плюс — это единая кодовая база, которая позволяет увеличить скорость разработки. Благодаря этому у него высокая масштабируемость, потому что почти 100% кода портируется на Android, iOS, Web, Desktop и т.д.

Немаловажным плюсом является декларативная верстка, которая позволяет писать намного более понятный и логичный код. Еще одна  особенность, которая сейчас есть и на Kotlin, — это Hot reload и Hot restart. Нет необходимости сидеть и ждать компиляции, чтобы увидеть изменения, что дает сильный буст в скорости разработки и позволяет оставаться в потоке. Кто использовал их, знает, насколько это крутая штука и насколько это сокращает время разработки. 

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

Из минусов выделим высокие требования к специалистам. Мы хоть и можем писать сразу под Android и iOS, но обязаны знать основы нативной разработки. Поэтому среди требований к Flutter-разработчику можно увидеть базовые знания одной из платформ. 

Читать далее

Flutter Flame: глобальная оптимизация производительности игрового движка

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

Мой опыт работы с игровыми движками для Flutter привёл меня к, в целом, удручающим выводам: производительность хромает, и без специально проработанных «хаков» сделать что-то сложнее простой казуалочки представляется нереальной задачей.

Ранее я перечислил ряд подходов, которые смогут ускорить ваши вычисления от нескольких десятков до нескольких сотен раз. Однако, это не предел. Сегодня расскажу ещё об одном методе, который поможет вывести игровой движок Flame на новый уровень.

Читать далее

Тестирование мобильных приложений на Flutter с использованием Python + Appium

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

Тестирование нативных мобильных приложений для Android и iOS обычно обеспечивается библиотеками UiAutomator2 и XCUITest, но сейчас, в связи с появлением мобильных приложений, разработанных с использованием Flutter Framework, использовать их для тестирования становится затруднительно, поскольку семантическая информация, публикуемая Flutter, в большинстве случаев недостаточна для однозначной идентификации виджетов и взаимодействия с ними. В этой статье мы рассмотрим возможности драйвера appium-flutter-driver для тестирования flutter-приложений, разберемся с использованием виджетов описания семантики и разработаем несложные тесты на Python с использованием Appium.

Читать далее

Ускоряем разработку за счет пакета Mason на Flutter

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

Привет, меня зовут Александр, и я Flutter-разработчик в агентстве InstaDev. В процессе работы постепенно пришло осознание того, как много времени приходится тратить на написание шаблонного кода. Вооружившись желанием оптимизировать процесс, обнаружил решение: актуальный и развиваемый пакет Mason. Что он умеет, как с ним подружиться, и каков был путь от hello world до гибкого и настраиваемого генератора – рассказываю в этой статье.

Читать далее

Зачем Clojure Flutter

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

”Если вам нравятся Руби, Свифт, Дарт, Эликсир, Эльм, С++, Питон или даже С, используйте их ради бога. Но выучите Кложур, и выучите его хорошо” — Дядя Боб (твит, а также твиты: 1, 2, 3).

Статей о Clojure написано много, цель этой — дать свое видение некоторых преимуществ языка для кросплатформенной разработки на Flutter. Ориентируюсь в первую очередь на dart-разработчиков, но статья может быть интересна всем, кто работает с Clojure и/или Flutter.

Читать далее

Мы с братом сделали сервис Mind Tracker

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

Я Михаил Федосов и мы с братом запустил сервис Mind Tracker. 

Mind Tracker, это сервис по улучшению ментального состояния. Приложение показывает аналитику по психологическому самочувствию пользователя. Оно позволяет пользователю развивать жизненно важную способность, основу любого выживания не только у человека, но и у животных – различительную способность.

Читать далее

Flutter, создание Home Widget на платформе iOS

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

Всем привет! Меня зовут Константин, я Flutter-разработчик в компании Nord Clan.

В данной статье мы с моей коллегой Анной хотели бы поделиться нашим опытом связки Flutter и home widget на платформе iOS.

Читать далее

Заполнить виджет градиентом, изображением или гифкой с помощью ShaderMask

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

Сделать элемент пользовательского интерфейса выразительным и аутентичным можно путём его заполнения картинкой, градиентом или анимированной гифкой.

Как это реализовать на Flutter?

Телеграм-каналы о Flutter и Dart-разработке

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

Hola, Amigos!

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

Читать далее

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

React Native is better than Flutter*

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

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

И что вы там наобсуждали?

Полезные плагины VS Code для разработки кроссплатформенных приложений с использованием React Native и Flutter

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

Каждый разработчик кроссплатформенных приложений с использованием фреймворков React Native и Flutter выбирает наиболее удобный для себя редактор кода. Я — один из таких разработчиков. Меня зовут Александр Дудукало, я куратор направления “Веб-разработка” в Skillbox. Лично я предпочитаю Microsoft Visual Studio Code (VS Code), и сегодня предлагаю разобраться в его преимуществах. 

Читать далее

Как стать Flutter-разработчиком, или Почему кроссплатформа сейчас — это лучший выбор

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

Hola, Amigos!

На связи Александр Чаплыгин, Flutter Dev. В разработке я 3 года, сейчас работаю в компании по заказной мобильной разработке, за последний год делал проекты для частного медицинского центра, системы маркировок и нескольких стартапов. По свежим следам хочу рассказать о том, как попасть в мобильные разработчики, поделюсь личным опытом взлетов и факапов, приложу чек-лист по устранению ошибок новичка. Если вы начинающий специалист — эта статья для вас. Также полезно почитать заказчикам мобильных приложений, чтобы погрузиться во внутреннюю кухню проектов и команды.

Читать далее

Генерация кода API клиента приложения на основе пакета dart openapi generator

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

Привет! Меня зовут Даниил, около трех лет я занимаюсь mobile-разработкой. В начале работы над коммерческими проектами с использованием Flutter и языка Dart мне приходилось тратить много часов на реализации методов обращения к REST API бэкенда проекта. Тогда я задумался, как можно оптимизировать написание кода сервисов,  которые работают с удалённым сервером заказчика. Это позволило мне сократить трудозатраты и время на разработку почти в 10 раз, а клиенту — быстрее  получать готовый продукт.

В этой статье я рассмотрю целесообразность и практический опыт кодогенерации для клиентский приложений написанных на Flutter, REST API с помощью таких библиотек, как openapi_generator и swagger_dart_code_generator.

Читать далее

Flutter Web и WebAssembly — ключ к тайной комнате

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

Web для Flutter-платформы с одной стороны является очень хорошо изученной платформой (поскольку Dart создавался как альтернатива JavaScript и изначально хорошо компилировался в JS и предусматривал возможности взаимодействия с JS-объектами и функциями, а также с DOM браузера), но в действительности и сейчас это Terra Incognita из-за большого потенциала интеграции с веб-платформой (как на уровне API HTML5, так и с использованием технологий WebAssembly). В этой статье мы обсудим некоторые аспекты взаимодействия Dart-кода с WebAssembly-модулями, поговорим о компиляции Flutter-приложений в WASM и о том, как можно компилировать C-библиотеку для использования во Flutter-приложениях.

Читать далее

Deeplinks и Flutter

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

В мире Android и iOS разработки есть механизм диплинков. Диплинк представляет из себя обычную ссылку, при переходе на которую у вас открывается приложение (если таковое имеется) и зачастую показывается определенный контент. В этой статье мы разберемся, как заимплементить диплинки для нашего Флатер приложения для двух платформ: Android и iOS.

Читать далее

Наводим мосты между Flutter и нативными библиотеками

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

Все вы знаете, что Flutter реализует несколько абстракций для передачи данных между Dart-кодом и кодом, связанным с оболочкой Flutter Engine на языке платформы (например, Kotlin для Android). Но в действительности у Dart есть еще один инструмент для взаимодействия с внешним миром и он может использоваться для добавления C/C++ библиотек и вызова функций из Dart-кода. Основную сложность представляет разные соглашения по кодированию типизованных числовых значений, строк и структур, но часть задач по преобразованию и работе с памятью выполняют библиотека dart:ffi и пакет package:ffi/ffi.dart, а некоторые из них могут быть выполнены самостоятельно. В статье мы рассмотрим общие принципы подключения внешних библиотек и кодогенерации для создания связываний dart-функции и классов и структур данных C.

Читать далее