Обновить
20.35

Flutter *

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

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

Flutter форкнули и похоронили. Эксперты о Flock, поводах для беспокойства и будущем фреймворка

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

Про «смерть» Flutter говорят каждый год, иногда по нескольку раз. Сейчас разговоры об этом получили новый виток — во многом после сокращений в Google и появления форка Flock, который якобы заменит основную ветку.

Разбираем страхи, связанные с фреймворком, и отвечаем на основные вопросы по Flutter и Flock с экспертами. За помощь в написании статьи спасибо ведущим Flutter-инженерам Евгению Сатурову, Михаилу «Fox» Матюнину, Сергею Кольцову и Евгению Коту.

Читать далее

Как подружить Flutter и Huawei — настраиваем Flutter. Часть 2

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

Меня зовут Самир, я Flutter-разработчик в Surf, и мы продолжаем разбираться в «дружбе» Huawei и Flutter и публикации в App Gallery.

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

Импортозамещение ПО в России: тенденции и перспективы после ухода Microsoft

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

Здравствуйте! Меня зовут Антон Боев, я исполнительный директор компании DD Planet. В статье поделюсь опытом работы с платформой .NET в условиях санкций и расскажу о нашем взгляде на перспективы импортозамещения ПО в России после ухода Microsoft. 

В марте 2022 года корпорация Microsoft присоединилась к антироссийским санкциям и объявила о прекращении поддержки своего программного обеспечения. Вплоть до начала 2024-го, в связи с уходом вендора, мы отметили тенденцию к замораживанию множества проектов, которые планировалось разрабатывать на .NET. Хотя наша компания на протяжении 20 лет успешно реализовывает масштабные решения на .NET и входит в топ-5 интеграторов разработки ПО на этой платформе, за последние два года мы также неоднократно обсуждали возможность переквалификации специалистов на другие технологии и прежде всего рассматривали прямого конкурента — Java. Однако мы не сделали этот шаг по ряду причин. 

Давайте разбираться, почему наш выбор продолжать разработку на .NET полностью оправдан.

Читать далее

Два новых линта в Dart 3.4

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

Новшества Dart 3.4 разобраны в официальном анонсе здесь. Но там не говорится про два новых правила линтера.

Разбираем правило missing_code_block_language_in_doc_comment для улучшения документации и правило unnecessary_library_name для чистки старого кода.

Читать далее

Пишем golden-тесты для генераторов кода на Dart

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

Некоторое время назад я доработал пакет source_gen_test Кевина Мура и добавил поддержку внешних golden-файлов. Этот пакет используют, чтобы писать тесты для таких генераторов кода как json_serializable.

Я сделал аннотацию ShouldGenerateFile, которая позволяет положить ожидаемый код сразу во внешний файл .dart. Она проверит, что генератор выдаёт именно такой код, и вместе с этим вы можете писать тесты на этот код.

Читать далее

Кроссплатформа, зови меня победителем

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

Привет, это оргкомитет CrossConf Awards — первой премии в области кроссплатформенной разработки. 8 ноября мы вручили награды кроссплатформенным проектам в номинациях Indusrty, Technology и Community. Это было очень волнительно, потому что выбрать, кто лучше всех — большая ответственность. 

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

Читать далее

Простая настройка CI/CD для Фронтенда и Бэкенда в Github без сторонних инструментов бесплатно в 2024 году

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

Всем привет! Недавно решил попробовать, что из себя представляет Flutter Web, подумал, может попробовать сделать бота для Telegram, и заодно настроить простейший CI/CD для отдельного фронтенд- и бэкенд-проектов. Однако в интернете я не нашёл простой и исчерпывающей инструкции или процесса.

Поэтому задача этой статьи — решить эту проблему! Сделать автоматическую сборку, тестирование и деплой на сервер, и всё это — без необходимости городить SSH-ключи, Github-токены и подключать сторонние решения. Всё на минималках, без лишней бюрократии.

Читать далее

Firestore и NoSQL — Основы структурирования данных

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

Инструменты Firebase уже больше десятилетия помогают разработчикам быстрее создавать приложения, начиная с push-уведомлений и аутентификации и заканчивая базой данных Firestore. В этом году на Google I/O было анонсировано, что Firestore теперь поддерживает SQL в форме Data Connect, наконец позволив разработчикам выбирать между NoSQL и SQL.

Читать далее

Один год с Duit — ретроспектива развития

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

Ровно год назад был сделан первый коммит в репозиторий проекта, который во многом определил вектор моих профессиональных интересов, изысканий и приложения сил. 16 ноября 2023 года я начал работу над BDUI-фреймворком для Flutter - Duit.

Это был длинный путь и в этой заметке я хочу рассказать вам об этом захватывающем приключении.

Читать далее

Патчим freezed

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

freezed — один из популярнейших пакетов для генерации дата‑классов и перечислений в Dart. Даже такого большого и популярного пакета может не хватить под специфичную задачу. Под катом создадим свой пакет для локализаций

Написать кодогенератор!

Синхронизация звука и видео. Взгляд дилетанта

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

При проведении прямых трансляций звук часто опережает изображение. Никто не будет смотреть футбол, когда радость болельщиков от гола слышна раньше, чем будет видно, как этот гол забьют. Сейчас появились специальные приложения, которые помогают добиться синхронности видео и звука. Раньше для этого использовали хлопушку, как при съёмке кино, а затем методом проб и ошибок подгоняли звук под видео в предельно короткие сроки до выхода трансляции в эфир. Летом мне пришлось разработать подобное приложение, и тогда я с головой погрузилась во все тонкости синхронизации...

Читать далее

Flutter Push-уведомления, том числе в Web

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

Добрый день!

Хотел написать статью, обобщающую то, что я нашёл в интернете. Может кому-то она покажется слишком простой, может ненужной, а может наоборот вызовет обсуждение, на что я крайне надеюсь.

В двух словах о чём статья:

С нуля мы создадим flutter-проект с подключением к push-уведомлениям. Будем отправлять уведомления не только на Android, IOS, но и на наш веб-сайт, который может рассылать уведомления в т.ч. на мобильные устройства. Нам потребуется дополнительно лишь небольшой хостинг с mysql БД и php.

Читать далее

Flutter Web. Часть 2

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

Привет, меня зовут Максим, я Flutter-разработчик в компании Surf.

Мы продолжаем рассказывать про Flutter Web. И это вторая статья.

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

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

Антитренды в мобильной разработке на Flutter

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

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

Flutter — один из самых популярных фреймворков для мобильной разработки. В этом сентябре количество вопросов с одноименным тегом на Stack Overflow превысило 179 тысяч.

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

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

Читать

Три пути к Flutter: истории разработчиков, которые справились

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

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

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

Читать далее

Оптимизация архитектуры: делим крупные классы с помощью миксинов

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

Всем привет! Это статья для тех, кто интересуется таким фреймворком, как Flutter. А написал ее я, Николай Омётов, руководитель Flutter разработки IT-компании Mad Brains. Сегодня обсудим, как делить большой файл класса с помощью миксинов. 

Для начала давайте разберемся, зачем вообще делить большой файл класса?

Причин несколько: во-первых, чтобы было удобно читать и рефакторить код. Во-вторых, чтобы уменьшить количество конфликтов при merge и разделении истории git в конкретном файле. Согласитесь, отследить историю изменений в разных маленьких файлах удобнее и быстрее, чем в одном большом, с разнообразием изменений. 

Читать далее

Как начать создавать Flutter-приложения на Авроре: полная инструкция

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

Привет Хабр, это Юра Петров, Tech Lead Friflex. Последнее время многие меня спрашивают, как быстро начать разрабатывать приложения для системы Аврора с помощью фреймворка Flutter. Решил поделиться опытом и собрал ультимативный гайд. Всё, что я буду показывать, я буду делать на чистой системе Linux Mint. И в целом я рекомендую установить Linux для работы с Авророй, параллельно вашей системе. Это избавит вас от многих проблем. Я буду описывать процесс так, как будто вы никогда не использовали Linux.

Читать далее

Пробуем Flutter в Telegram Mini Apps: Насколько хорошее решение для разработки?

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

Привет, Хабр!

Меня зовут Богдан, и я Flutter-разработчик, работающий в аутсорсе. В этой статье на моем примере я расскажу о создании веб-приложения на Flutter для Telegram Mini Apps. Хотите узнать, насколько применим Flutter в вебе, как разработать и запустить свое приложение в Telegram? Тогда нажимай "Читать далее"!

Читать далее

Шеринг файлов локализации между несколькими пакетами в Flutter

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

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

Есть вариант заново настроить flutter_localizations в новом пакете и заполнять там новые переводы и переносить старые. Но это сложно и кажется неправильным.

Тогда я предлагаю второй вариант. Поделиться переводами из одного пакета в другой. В этой статье я расскажу, как это сделать.

Читать далее

Two-Tier Data Model архитектура: концепт и мысли

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

Краткая цель статьи — сделать потоки данных проще, более тестируемыми и управляемыми с DTO и Runtime Model структурой.

Эта статья — набор мыслей и экспрессии опыта моего текущего видения этой проблемы, как комбинации опыта от работы над проектами и может быть, переизобретение колеса:) Но, в то же время, я хотел бы поделиться этими мыслями — и, надеюсь, вдохновить и посмотреть на структуры данных.

Концепт использует немного функционала Entities, описанных Robert C. Martin (Uncle Bob) в Clean Architecture, также Model‑Driven engineering вместе с концептом immutability.

Эта статья:

— разделена на секцию теории и применения, чтобы статью можно было понять разработчикам не знающим язык используемый в примерах (Dart).
в основном фокусируется на client‑side (frontend, app, server‑side рендеринг) разработчиках, но думаю что может быть интересна и другим разработчикам..
— для примеров используется абстрактное финансовое приложение и язык Dart.

Читать далее