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

Flutter *

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

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

Flutter ListView и ScrollPhysics: Детальный взгляд

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

Некоторое время назад я написал статью об основах использования ListView и GridView во Flutter. Эта статья предназначена для более детального изучения класса ListView, ScrollPhysics, а также  параметров конфигурирования и оптимизаций для общего виджета.

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

Подробное изучение виджета ListView

Анонс вебинара «Почему компании всё чаще выбирают Flutter и что это значит для разработчиков»

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

Привет!

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

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

Регистрация

Читать далее

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

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

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

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

Читать далее

Все, что вам нужно знать о маршрутизации между страницами Flutter

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

В Winkl, когда мы начали играть с анимацией, мы поняли, что переход на страницу может действительно сделать ваш пользовательский интерфейс красивым. Если вы хотите иметь слайд-переход, как IOS вы используете CupertinoPageRoute. Вот и все, ничего больше.

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

Читать далее

Как обойти проверку на Рутинг устройства, обхитрив библиотеку RootBeer?

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

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

Будем декомпелировать .apk, копаться в обфусцированном байт-коде и редактировать его. Затем соберем .apk обратно, как обычно, словим несколько ошибок и исправим их. В общем вызов принят!

Читать далее

Всего лишь меняем модель эмулятора Android устройства

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

Казалось бы, на первый взгляд весьма простая задача. Некоторые читатели могли еще в те бородатые времена лазить по всяким 4пда, рутить свой сенсорный самсунг, менять содержимое файла build.prop и показывать наивным ламерам свой iPhone 15+ Max Pro. Однако, как оказалось, и как оно часто бывает, не все так просто и здесь есть свои подводные камни. Статья призвана помочь простым работягам избежать все кочки да ямы на пути к своей цели!

Поменять модель эмулятора

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

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

Предисловие


Почти полтора года назад мы выпустили первую версию библиотеки "Новый пакет валидаций для 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 мин
Количество просмотров18K

RFC 1983

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

Читать далее

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

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

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


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

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

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

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

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


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

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

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

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


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

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

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


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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

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


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

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

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


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

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

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

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

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

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

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

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


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

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

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


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

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

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

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

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


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

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

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

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


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