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

Flutter *

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

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

Повышаем качество кода с Dart Code Metrics

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

Dart Code Metrics — это инструмент статического анализа кода, который позволяет собирать метрики по коду и предоставляет дополнительные правила для анализатора. Основная задача — помогать разработчикам следить за качеством кода и улучшать его. В этой статье мы хотим поделиться возможностями инструмента с сообществом. Он помог нам в Wrike решить часть проблем на фронтенде, и, надеемся, поможет и вам.

Читать далее

Уродливый API

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

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

При разработке фронтенд приложений (mobile/web), часто сталкиваешься с тем, что API на бэкенде еще не реализован. Приходится ждать разработчика на бэкенде, когда он предоставит нужные запросы, постоянно напоминая ему о себе. Не редкость и другая ситуация, когда нужные http запросы уже есть, но они реализованы очень плохо и криво.

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

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

Итак, начнем.

Читать далее

Программа Mobius: Android, iOS и всё, что между ними

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


Совсем скоро пройдёт очередной Mobius (13-16 апреля, онлайн). И теперь, когда известна его программа, пришло время рассказать Хабру, что за доклады там представят.


У конференции будет четыре параллельных трека:


  • iOS
  • Android
  • «кроссплатформенный» (Flutter, Kotlin Multiplatform)
  • «универсальный» (мобильные темы, не зависящие от платформы)

Порой сложно нащупать грань между разными категориями: в iOS-треке есть пара докладов, которые тоже рассматривают Kotlin Multiplatform, но конкретно с iOS-стороны. Поэтому учтите, что где-то деление оказывается условным. А теперь, с этим осознанием, можно погружаться.

Читать дальше →

Storybook + Flutter = storybook_flutter

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

Всем привет! В этом посте я буду бессовестно пиарить рассказывать о своей библиотеке для Flutter'а, которая позволяет создавать истории из изолированных виджетов и/или экранов. Что-то типа Storybook из мира React. Собственно, она так и называется: storybook_flutter.

Читать далее

Flutter: слоёный пирог с интересной начинкой. Графика

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

Write once, run anywhere

Предлагаю заглянуть под капот, и погрузиться в детали реализации движка Flutter, чтобы понять, как он решает вопрос кроссплатформы с точки зрения отрисовки UI

Читать далее

Как написать и опубликовать идеальный пакет для Flutter

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

Думаю, многие разрабочики хотя бы раз в жизни хотели поделиться своими наработками с сообществом. Уж точно все - пользовались тем, чем делятся другие. Мое мнение на этот счет примерно такое - если ты делаешь что-то для себя и можешь это сделать таким, чтобы этим могли пользоваться другие с, относительно, небольшим количеством трудозатрат - то делай это. К тому же, выставляя "напоказ" свои велосипеды - так или иначе, придется их хотя бы покрасить. Смазать цепь. А значит и в твоем проекте данное решение будет уже более качественным. Не буду углубляться в философию опен-сорса (простите меня, нелюбители английских слов, написанных по русски), поэтому перейдем сразу к делу.

Перейти к делу

Dart 2.12: Sound null safety и Dart FFI отправлены на стабильный канал

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

Sound (надёжная) null safety и Dart FFI отправлены на стабильный канал.

Вышел Dart 2.12.  В нём — стабильные версии sound null safety и Dart FFI. Null safety – наша самая свежая масштабная фича. Её цель – повысить  производительность:  помочь вам избежать null error. Проблемы, вызванные этой ошибкой, зачастую тяжело заметить в коде. Об этом мы подробно рассказали во вводном видео. FFI – это механизм взаимодействия, позволяющий вызывать уже имеющийся код на языке C. Например, обращаться к Windows Win32 API. Доступ к Dart 2.12 уже открыт.

Читать далее

С чего начать изучение Flutter в 2021 году

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

Как и многие мобильные разработчики, мы с нетерпением ждали презентации Flutter и теперь хотим поделиться с читателями Хабра переводом статьи Tadas Petra о том, как можно выстроить свое обучение, если вы хотите познакомиться с Flutter и кроссплатформенными приложениями в 2021 году. Кстати, мы подключились к созданию курса Flutter, и об этом тоже расскажем в конце статьи. Приглашаем прочитать или посмотреть видеоверсию!

2021 год обещает быть очень важным для Flutter. Комьюнити разработчиков продолжает стремительно расти, а 3 марта 2021 года состоялась презентация Flutter Engage. Это делает потенциал Flutter поистине огромным.

Однако, чем более популярным становится фреймворк, тем больше людей хотят его “пощупать” и иногда не знают, с чего же, собственно, начать? В данной статье автор постарался создать roadmap и описать несколько ресурсов, которые могут быть полезны для вас. 

Читать далее

Flutter вот-вот завоюет Web

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

Современные Web-сайты пишутся на HTML, JavaScript и CSS (и этот сайт в том числе). Наверно, вы сейчас прочитали это и подумали «да это же очевидно». А если я вам скажу, что можно написать сайт без использования этих трех технологий, у вас наверняка возникнут вопросы…

Читать далее

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

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

Flutter for Web и null safety в Dart переходят в стабильную версию, бета-версия Flutter for Desktop и многое, многое другое!

Перевод официального анонса Flutter team с комментариями от Flutter Team Lead Surf Евгения Сатурова

Сегодня мы с радостью объявляем о релизе Flutter 2. С тех пор, как вышел Flutter 1.0, прошло чуть больше двух лет, но за этот короткий срок мы внесли 24 541 исправлений и смёрджили 17 039 пул-реквестов от 765 членов сообщества. Отдельное спасибо нашим волонтёрам за то, что щедро тратят своё свободное время на улучшение Flutter. Flutter – самое настоящее коллективное детище, и мы бы не добрались до второй версии без тех, кто сообщал нам о проблемах, отправлял пул-реквесты и проверял код. Этот релиз посвящается всем вам.

Читать далее

2 шага к построению адаптивной верстки Flutter-приложения

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

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

Читать далее

Вышли ожидаемые релизы от Google: Flutter 2 и язык Dart 2.12

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

Корпорация Google продолжает развивать свои продукты. Несколько дней назад была представлена новая версия построения интерфейса пользователя Flutter 2. Она, по словам разработчиков, стала универсальным фреймворком, который позволяет разрабатывать любые типы программ. Это могут быть приложения как для десктопов, так и web-сервисы.

Flutter в процессе эволюции стал неплохой альтернативой React Native. Его главное достоинство — возможность на основе одной кодовой базы создавать приложения для разных платформ, включая iOS, Android, Windows, macOS и Linux. Плюс можно разрабатывать и чисто браузерные приложения. И да, обновление до 2 версии не влияет на поддержку продуктов, написанных на Flutter 1. Они без дополнительного редактирования кода могут быть адаптированы для работы на рабочем столе и в Web.
Читать дальше →

Подготовка экосистем Dart и Flutter к переходу на null safety

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

Поезд null safety мчится вперёд, уже почти официально анонсирован Flutter 2.0 (подключайтесь к предстоящему Flutter Engage), экосистема Dart тоже не стоит на месте. Мы перевели на русский язык новость из официального блога Dartlang и настоятельно рекомендуем вам переводить свои пакеты на новые рельсы, если вы этого ещё не сделали!

Читать далее

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

Анонс вебинара «Создаём мультиплатформенное Flutter приложение в интерфейсе Cyberpunk 2077»

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

На живом примере приложения в визуальном стиле игры «Cyberpunk 2077» покажем всю мощь фреймворка Flutter и возможность сборки единого кода под разные платформы.

Вместе с вами в прямом эфире соберём по-настоящему мультиплатформенное приложение для веба, iOS, Android и desktop.

РЕГИСТРАЦИЯ

Читать далее

Что вам даст учеба у практиков, или почему наш курс по Flutter — это про реальные проекты и навыки для работы

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

Flutter из нишевой технологии стал мощным игроком, который теснит не только React Native, но и нативную разработку. Быть Flutter-разработчиком — это востребовано. А если у вас есть практический опыт и серьезный проект в портфолио — вы кандидат №1 для работодателей. 

Но где взять этот опыт и практику? 

5 марта стартует второй поток курса по Flutter от Surf. В статье рассказали, как студенты меняли курс и почему теперь он еще эффективней поможет вам освоить разработку на Flutter и перейти к реальным задачам и проектам.

Читать далее

1 год с Flutter в продакшне

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

Это текстовая версия моей презентации на DartUp 2020 (на английском). В ней я делюсь проблемами, с которыми мы столкнулись, обсуждаю наш архитектурный подход, рассказываю о полезных библиотеках, ну и отвечаю на вопрос, удачной ли была эта идея – взять и всё переписать.

Читать далее

Работа с адаптивным программируемым интерфейсом APIs во Flutter

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

Моя предыдущая статья Разборщик (Parsing Complex) JSON (JavaScript Object Notation) во Flutter получила много хороших отзывов от людей, которые начинают работать во Flutter. И одним из самых популярных, часто задаваемых вопросов (FAQ) от начинающих был: «Как сделать то же самое с API запросами?»

Твоё желание исполнилось, мой друг.

Давайте поработаем с простым API, который легко доступен без обязательной аутентификации.

Читать далее

Магия асинхронных операций: взгляд изнутри. Future

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

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

Этот месяц может определённо пройти под девизом "Даёшь асинхронность!", на хабах Dart и Flutter. Неудивительно, ведь асинхронный и реактивный подход являются основой работы языка и фреймворка.

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

Читать далее

Flutter. Асинхронность (async) <> параллельность (isolate). Совсем

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

Вступление


Недавно с удивлением обнаружил, что у коллег нет полной ясности, что такое асинхронность во Flutter. Почему-то у них было представление, что если асинхронная функция правильно написана, то она не блокирует интерфейс. Пролистав, пару статей не нашел простого, полного и ясного объяснения всей этой кухни (тут все по принципу — «выберите 2 из 3-х»)). В одной статье даже прочитал, что Dart обладает некоей чудесной асинхронностью, которая позволяет отложить выполнения кода, до тех пор, пока поток не будет посвободнее (что на мой взгляд вводит немного в заблуждение) (Примечание: в комментариях nikita_dol указал, что, вероятно, имелось в виду — scheduleTask).
Читать дальше →

Как создать кастомный плагин для Dart-анализатора

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

Привет! Меня зовут Дима, я frontend-разработчик в компании Wrike. В этой статье я расскажу про то, как написать плагин для анализа кода на Dart. Текст будет полезен тем, кому не хватает текущей функциональности дартового анализатора по статическому анализу или если вам просто захочется попробовать написать простой анализатор самостоятельно.

Читать далее