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

Dart *

Язык программирования, созданный Google

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

Поговорим про безопасность в Dart и Flutter

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

Безопасность приложения определяется всеми уровнями - от операционной системы и компилятора до используемых пакетов/плагинов и кода самого приложения. Особенно этот вопрос актуален, когда значительная часть используемых компонентов поддерживается сообществом и не контролируется единой организацией или фондом и, чем более популярной становится платформа, чем больше пакетов появляется и чем больше становится кодовая база платформа, тем больше вероятность возникновения уязвимостей разного уровня (особенно в низкоуровневом коде на C++, где возможна утечка памяти, переполнение буфера, состояние гонки и другие неприятности), а также внедрения вредоносного кода разработчиками из сообщества (начиная от безобидных баннеров, до внедрения шпионского кода, бэкдоров и деструктивных функций). В статье мы обсудим какие векторы атак возможны в Dart, какие меры предпринимает сообщество и Google для снижения рисков при создании платформы и пакетов (и про бейджик openssf), и как можно обезопасить себя.

Читать далее

DartUP 2021: как это было

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

В этом году DartUP уже во второй раз прошел в онлайне, и это было круто! Мы снова слушали два потока докладов на русском и английском, неформально общались и участвовали в дискуссиях в SpatialChat, сражались и решали алгоритмические задачи в Code Kombat и обгоняли соперников в Wrike for Speed. В этой статье подводим итоги конференции и делимся видеозаписями всех докладов.

Читать далее

Работа с асинхронностью в Dart

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

Всем привет! Меня зовут Дмитрий Репин, я Flutter-разработчик в Surf.

В этой статье я расскажу о том, как работать с асинхронностью в Dart: всё о самых важных классах библиотеки dart:async с примерами под катом. Поговорим о том, как в однопоточном языке сходить в сеть или базу данных и при этом не затормозить приложение.

Читать далее

Подборка полезной информации для начинающих во Flutter

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


Всем привет!

Я создатель канала Flutter For Dev и в данном посте я хотел бы помочь тем людям, которые часто задают вопросы подобного типа: «Привет, я новичок в Flutter, что посоветуете почитать?», «А какие курсы по Flutter лучше пройти и какие из них бесплатные?». На все эти вопросы я постараюсь ответить максимально подробным списком информации.
Читать дальше →

Flutter. Упрощаем компоновку виджетов с помощью Dart расширений

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

image


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


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


Давайте рассмотрим пример!

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

Тестирование Flutter-приложений. Начало

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

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


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

Flutter: локализация приложений средствами Android Studio

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


Про локализацию (интернационализацию) приложений Flutter написано уже достаточно много.
Официальная документация довольно подробно останавливается на этом вопросе, кроме этого ряд энтузиастов описывает самые различные подходы.


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


Речь идет о локализации при помощи flutter_i18n — плагина Android Studio, используя который удается избавиться от рутинной работы и шаблонного кода.

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

Поспорим о Dart и Flutter на встрече русскоязычного сообщества Dart в Питере

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

30 ноября в Питере пройдет ежегодная встреча Dart-разработчиков. Что это такое?
Во-первых, это возможность узнать что-то новое (если вы вдруг никогда не слышали о Dart). Во-вторых, это повод хорошо провести время, тем более, что в этот раз всё будет не совсем обычно.
Что будет?

Два года с Dart: о том, как мы пишем на языке, который ежегодно «хоронят» (часть 1)

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

«А он еще не умер?»,- спрашивают нас про Dart на каждой фронтенд-конференции. «А как Google поддерживает язык?», «как вы нанимаете разработчиков в команду?», «а почему не TypeScript, если вам нужна типизация?»

Мы решили объединить наиболее частые вопросы и задать их в интервью Игорю Демьянову, менеджеру по разработке Wrike.

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

Доклады первой встречи Dart-разработчиков в Питере

Время на прочтение1 мин
Количество просмотров5K
30 ноября в питерском офисе Wrike прошла первая встреча Dart-разработчиков в России.



Dart-сообщество в России пока не столь многочисленно, тем не менее разработчики языка из Google готовы поддерживать наших программистов, использующих Dart в своих проектах, развивать экосистему и рассказывать о самых последних изменениях. На митапе мы поняли, что язык вызывает живой интерес не только у фронтендеров, но и у тех, кто хочет уйти в веб-разработку, имея за плечами опыт в Java, C# или PHP.

С выходом Angular 2 for Dart и нескольких других обновлений язык получил новый толчок в развитии, поэтому нам было интересно собрать всех заинтересованных разработчиков обсудить новости языка, напрямую пообщаться с инженерами из гугла и, в частности, обсудить особенности перехода на дарт с типизированных и скриптовых языков.

Публикуем первую часть докладов с митапа.
Смотреть

Яков Файн: «Мы не будем нанимать индийских программистов только потому, что они стоят половину»

Время на прочтение8 мин
Количество просмотров29K
Представляем четвертый выпуск подкаста о технологиях, процессах, инфраструктуре и людях в IT-компаниях. Сегодня в гостях у “CTOcast” — Яков Файн, сооснователь компаний Farata Systems и SuranceBay.
Читать дальше →

Flutter-Анимации 2025: Полный Гайд

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

Привет, Хабр! Анимации – это та самая вишенка на торте, которая превращает просто работающее приложение в нечто, чем приятно пользоваться, что хочется «потрогать». Но как сделать так, чтобы эта вишенка не превратилась в тыкву, тормозящую весь UI и съедающую батарейку?

За годы практики я перепробовал, кажется, всё: от простейших AnimatedContainer до замороченных кастомных решений с физикой и глубокой интеграцией с Rive. И сегодня я хочу поделиться с вами этим опытом, собрав в одном месте всё, что нужно знать о создании анимаций во Flutter в 2025 году. Это будет настоящий лонгрид-энциклопедия, так что заварите кофейку или что покрепче!

Мы пройдемся по основам, заглянем под капот продвинутых техник, разберем популярные пакеты и, конечно же, поговорим о том, как не убить производительность и добиться заветных 60+ FPS. Вся информация и ссылки тщательно проверены и актуальны (насколько это возможно предсказать) на июнь 2025 года. Поехали!

Это похоже на новую религию, я заинтере...

Нативная мощь: Flutter SDK на C++ ядре. Часть 2

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

На связи тимлид Mobile SDK в 2ГИС Александр Максимовский и Flutter-разработчик Михаил Новосельцев (@Sameri11). Наша команда разработала собственный продукт для генерации платформенного Dart-кода на базе публичного C++ API, и мы уже рассказали об основных принципах его работы.

Эта статья — про то, как на основе сырого сгенерированного кода реализовать SDK, готовый к внедрению в пользовательские Flutter-приложения.

Читать далее

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

Как сделать GitLab CI/CD вашим лучшим другом для сборки и доставки Flutter приложений. Часть 1

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

Flutter & GitLab CI/CD. Подготовка и настройка физической машины

В мире мобильной разработки, где скорость и стабильность доставки приложений определяют успех, выбор инструментов для автоматизации становится особенно важным. Работая мобильным разработчиком в TAGES более пяти лет, я убедился, что использование self‑hosted решений дает значительные преимущества в гибкости, надежности и контроле над процессами. Одним из таких мощных инструментов является GitLab — платформа, которая позволяет не только управлять кодом, но и настраивать полноценные CI/CD‑процессы.

Эта статья станет первым шагом на пути к полной автоматизации сборки и доставки Flutter‑приложений. Мы разберем, как превратить вашу физическую машину в надежный инструмент для автоматизации. В конце статьи у вас будет готовая машина, которая сможет запускать и обрабатывать задачи из GitLab.

Читать далее

Книга «Основы Dart: Community edition» 1-е издание

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

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

Вот и прошел год с момента выхода второго издания электронной версии «Основы Dart» и его анонса на Хабре. За это время книга успела разжиться печатной версией (издательство «Питер»), парочкой дополнительных глав и сквозным проектом. Меня много раз спрашивали по поводу того, буду ли оставлять второе издание в открытом доступе, обновлять его, если буду обновлять, то как и т. д. Некоторые даже шептали сладостные речи только о платном распространении книги. Поэтому, считаю, что настала пора поставить все точки над «Ё».

Читать далее

Compute — волшебная пилюля?

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

При разработке flutter‑приложения может возникнуть задача, в рамках которой придется выполнять какую‑то «тяжелую» операцию над большим объемом данных. Если потратить на нее больше 16 миллисекунд (или 8, если говорим о 120 fps), то пользователи могут заметить небольшое подлагивание при скролле или анимациях. Во фреймворке подготовлена удобная функция compute, которая выполнит нужную операцию в отдельном изоляте в фоновом режиме.

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

Читать далее

Гайд: создаем функционального Telegram-бота на Dart

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

Привет! Я Саша Омельяненко, тимлид в отделе Flutter в AGIMA. На одном из наших проектов нужно было сделать бота для Telegram. Я нашел инструкции, как создать только базового бота. Но как оформить его, добавить кнопки и повесить на них Listener, я не нашел.

Пришлось разбираться с документацией Telegram, а это занятие не из приятных. Чтобы избавить вас от этого удовольствия, я решил написать гайд по разработке функционального Telegram-бота на Dart. Мы пройдем весь процесс от регистрации бота до его развертывания на удаленном сервере. Эта инструкция будет полезна Flutter-разработчикам уровня Junior и Middle.

Читать далее

Стать программистом: не с нуля не до профи (Flutter и не только)

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

Как найти первую работу в IT? Что нужно знать для этого? На сколько это вообще сложно?

Обо всём по-подробнее здесь.

Читать далее

Полный гайд по тестированию на Flutter. Часть 3: Mocking и Stubbing

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

Hola, Amigos! На связи Павел Гершевич, Mobile Team Lead агентства продуктовой разработки Amiga. В предыдущих статьях мы научились писать модульные тесты для статичных функций, верхнеуровневых функций и расширений. Сегодня перевод статьи посвящен Unit-тестам для методов класса.

Читать далее

Transition Animation: настраиваем анимацию переходов во Flutter

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

Привет! Меня зовут Айдар Мавлетбаев, я Flutter-разработчик в AGIMA. Современное приложение почти невозможно представить без анимации. И один из ее типов — Transition Animation, или анимация переходов. Ее используют, чтобы переход с одной страницы на другую был плавным и красивым. В этой статье разберем две библиотеки от Flutter: go_router и animation.

Читать далее