Обновить
13.43

Flutter *

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

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

Пакет валидации mobx form validation kit 2.0 (TypeScript / Flutter)

Время на прочтение18 мин
Охват и читатели3.4K

Предисловие


Почти полтора года назад мы выпустили первую версию библиотеки "Новый пакет валидаций для React на Mobx @quantumart/mobx-form-validation-kit"
Время шло, и библиотека корректировалась и не стояла на месте, да собственно, как и наше развитие в целом. Мы перешли на flutter, по пути попинав ReactNative, сделали еще несколько проектов. И новые задачи потребовали от нас новых и современных решений, в том числе и переработки mobx-form-validation-kit.
Сегодня я рад представить вам новую версию пакета mobx-form-validation-kit.
Для строго типизированного TypeScript
mobx-form-validation-kit 2.0
И переписанный вариант библиотеки под Flutter
flutter_mobx_form_validation_kit 2.0


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

Мама, я хакер: пробуем вскрыть приложение на Flutter

Время на прочтение11 мин
Охват и читатели21K

RFC 1983

Hacker - человек, наслаждающийся доскональным пониманием внутреннего устройства систем, компьютеров и компьютерных сетей, в частности.

Читать далее

Как НЕ сделать многопользовательскую игру в реальном времени за 30 дней

Время на прочтение7 мин
Охват и читатели8.3K

Или как добиться большего на следующем вашем хакатоне


Некоторое время назад я принимал участие в ежегодном игровом мероприятии Itch.io Game Off 2020, участники которого за ноябрь делали игру на определённую тему. Тема этого года, Moonshot, привела к созданию более 500 амбициозных, в основном космических, игр, которые вы можете увидеть здесь.

Услышав о мероприятии в октябре, я рассказал о нём своему брату и его жене, и мы решили объединиться в команду. Мы ни в коем случае не разработчики игр, но наши личные навыки хорошо дополняли друг друга. Жена брата, художник, сосредоточилась бы на создании ресурсов для игры. Тем временем мой брат, аниматор, ставший программистом, и я, программист, сконцентрировались на создании игры.

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

Bad Asstronauts — это динамичная многопользовательская мобильная игра, в которой игроки на вооружённых космических кораблях рыщут по космосу в поисках ценных ресурсов, накапливаемых кораблями на их родных планетах. Игроки всё время должны защищать свой тайник с ресурсами от уничтожения противниками.

Изначально выбранное для статьи название было таким: «Создание многопользовательской игры в реальном времени за 30 дней». Видя, как мы разрабатываем игру, я хотел поделиться с вами некоторым опытом, который мы извлекли за эти 30 дней, создавая игру в условиях ограниченного времени.


Приятного чтения!

Как мы сделали миграцию пользовательских данных с нативного приложения на Flutter

Время на прочтение6 мин
Охват и читатели4.9K
Всем привет! Меня зовут Дмитрий Андриянов, я Flutter-разработчик в Surf.

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


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

DartUP 2020: итоги и видеозаписи докладов

Время на прочтение1 мин
Охват и читатели2.2K


Вот и отгремел DartUP 2020! Два дня мы слушали доклады про Dart и Flutter, играли в Code Kombat и Bugz Arena и общались с участниками и спикерами в SpatialChat. Получилось ничуть не менее атмосферно, чем в офлайне. В этой статье мы подведем итоги конференции и поделимся с вами видеозаписями докладов на русском и английском.

Быстрее нативной разработки: опыт внедрения Flutter в крупной компании

Время на прочтение7 мин
Охват и читатели9.1K

Хотя сообщество мобильных разработчиков давно нахваливает Flutter, большие компании не спешат переходить на эту технологию. Так получилось, что здесь мы стали одними из первых: когда понадобилось быстро выпустить новое приложение, мы взвесили все «за» и «против», опробовали гугловский фреймворк и остались довольны. Чем хорош Flutter, как выстраивается процесс разработки, где искать специалистов, какие нюансы и подводные камни нужно учитывать – обо всём этом расскажем под катом. Поехали.

Читать далее

Состояние Flutter на изолятах

Время на прочтение17 мин
Охват и читатели10K

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

Читать далее

Flutter под капотом: Owners

Время на прочтение7 мин
Охват и читатели11K
Всем привет! Меня зовут Михаил Зотьев, я Flutter-разработчик и тимлид в Surf.

Продолжаю серию материалов о внутреннем устройстве работы Flutter:

  1. Flutter под капотом
  2. Flutter под капотом: Binding
  3. Flutter под капотом: Owners > Вы находитесь здесь

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

Если вам больше нравится видеоформат, то совсем скоро вы сможете посмотреть на эту тему мой доклад, с которым я выступил на DartUp 2020. Он объединяет и обобщает материал всех трёх статей вместе. Ссылка на доклад.


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

Онлайн-конференция DartUP 2020: так же лампово, как в офлайне. Отчёт о событии глазами Surf

Время на прочтение5 мин
Охват и читатели1.2K
В этом году конференция DartUP впервые прошла онлайн. Она собрала более 450 разработчиков из разных компаний: Google, Yandex, Wrike, EPAM, Meduza и других. Ребята из Surf тоже выступили со своими докладами. Рассказываем, какие темы поднимали наши разработчики и чем запомнился DartUP в этом году.


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

Ловец идей, почти хакатон, или как быстро прокачать команду в Dart/Flutter

Время на прочтение5 мин
Охват и читатели4.2K
image

Итак, дано: команда разработки чуть больше 50 человек. В основном занимаемся web-разработкой со всякими интеграциями, личными кабинетами и e-commerce. Однако в последнее время около 20% — это мобильная разработка. Есть еще отдельная компактная команда, пишущая на Dart/Flutter.

Задача: подготовить как можно больше программистов из основной команды к задачам мобильной разработки.

Основной мобильный стек, который мы использовали раньше — React.Native и Flutter. Нам важна портабельность, это покупают. Обе платформы показали себя достойно для разработки бизнес-приложений. Есть известные ограничения и нарекания разработчиков, но это тема отдельной статьи («Есть всего два типа языков программирования: те, на которые люди всё время ругаются, и те, которые никто не использует» Bjarne Stroustrup).
Читать дальше →

Объявление о бета-тестировании null-safety Dart. Начало процесса миграции пакетов в надежное и безопасное состояние

Время на прочтение8 мин
Охват и читатели2.8K


Безусловно, null-safety — важный шаг в развитии языка. Команда Dart анонсировала бета-релиз версии с null-safety! Мы перевели на русский новость об этом релизе, в котором вы узнаете, как мигрировать на новые версии, какие преимущества получите, и в чем польза null-safety для всех нас.

DartUP 2020: архитектура Dart VM, non-nullability в действии и Flutter для бизнеса

Время на прочтение4 мин
Охват и читатели3.6K


Уже 4 и 5 декабря пройдет DartUP — конференция по Dart и Flutter на русском и английском языках. Обычно в это время мы смотрим площадку, печатаем стикеры и запасаем в офисе коробки со свежеприготовленным Dart-пивом. Но в этом году все будет по-другому. Под катом рассказываем про темы докладов, спикеров и онлайн-активности, которые нас ждут на DartUP 2020.
Читать дальше →

Surf на DartUP 2020: проводим код-ревью и собираем идеи для Open Source

Время на прочтение2 мин
Охват и читатели934
4 — 5 декабря пройдёт единственная в России конференция о Flutter и Dart на русском языке — DartUp 2020. Это главное Flutter-событие года. Вас ждут доклады известных российских и мировых спикеров, которые расскажут об экосистеме Dart и дадут практические советы и лайфхаки, а также партнёрские мероприятия.

Мы в Surf тоже участвуем в DartUp в качестве партнёров и подготовили несколько движух. Участвуйте в них, чтобы прокачать себя и сделать мир Flutter-разработки лучше — вот так, без регистрации (почти) и смс.

Что будет? Рассказываем.


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

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

Flutter. Слушатель клавиатуры без платформенного кода

Время на прочтение8 мин
Охват и читатели7.9K
Всем привет! Меня зовут Дмитрий Андриянов, я Flutter-разработчик в Surf.

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


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

Опыт выбора кроссплатформенной технологии для разработки приложения. Доклад Яндекса

Время на прочтение12 мин
Охват и читатели13K
Когда нужно сделать мобильное приложение, вариант по умолчанию — это нативная разработка. Другие способы по-прежнему не всегда принимаются в расчет. Но альтернативы, в том числе сравнительно новые, правда существуют. О них в своем докладе рассказал Геннадий Евстратов, руководитель одной из команд в Яндекс Go. Вы узнаете, почему Flutter — наиболее перспективная кроссплатформенная технология, погрузитесь в детали безопасности, узнаете об основных архитектурах, о разнице между BLoC и React и о тестировании Flutter-приложений.

— Всем привет, меня зовут Гена, я руковожу iOS-разработкой партнерских продуктов Яндекс.Такси. Расскажу, почему мы выбрали для своего продукта flutter, через что мы проходили перед тем, как сделали этот выбор, и что из этого получилось. Доклад будет достаточно вводный. Поехали.
Читать дальше →

Фоторамка на Flutter своими руками

Время на прочтение11 мин
Охват и читатели9.4K

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

Читать далее

flutter_idiomatic – starter-kit успешного проекта

Время на прочтение4 мин
Охват и читатели4K

Здравствуйте! Меня зовут Андрей. Больше известен, как #кодеротбога (это самоирония, если что). Осваиваю Flutter в режиме «live-code», уже 567 трансляций. Без купюр – «from zero to hero», начиная с учебника по Dart и до полноценного «open-source» проекта в продакшене. А ещё, я скоро заканчиваю собственный онлайн-курс на 100 часов занятий – учитель учится у своих учеников. Благодаря интенсивной практике и предыдущему богатому опыту на ReactJS, сформировал набор соглашений, который хочу представить для получения фидбека: «Ваш звонок очень важен для нас, оставайтесь на линии».


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

DartUP 2020: в этом году онлайн и с известными спикерами

Время на прочтение2 мин
Охват и читатели1.5K


4-5 декабря уже в четвертый раз Wrike при поддержке Google проведет DartUP — единственную в России конференцию по Dart и Flutter. Современная реальность внесла коррективы в наши планы, поэтому в этом году DartUP пройдет в онлайн-формате. Это значит, что мы не будем обращать внимание на границы, трудности с логистикой и часовые пояса и позовём самых крутых спикеров, которые поделятся новостями об экосистеме Dart и практическим опытом.

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

Время на прочтение4 мин
Охват и читатели37K


Всем привет!

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

Сериализация в JSON и иммутабельный объект. О пакете built_value для Flutter

Время на прочтение5 мин
Охват и читатели8.7K


Иногда JSON от API необходимо конвертировать в объект и желательно в иммутабельное значение. На Dart это возможно, но для этого необходимо много кодить для каждого из объектов. К счастью, существует пакет, который поможет Вам все это выполнить, и в этой статье я Вам расскажу об этом способе.

Наша цель:

1. Сериализация

final user = User.fromJson({"name": "Maks"});
final json = user.toJson();

2. Использование как значения

final user1 = User.fromJson({"name": "Maks"});
final user2 = User((b) => b..name='Maks');
if (user1 == user2) print('Один и тот же пользователь');

3. Иммутабельность

user.name = 'Alex'; // Неверно
final newUser = user.rebuild((b) => b..name='Alex'); // Верно

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