3. Какой контент тебе интересен? Можно выбрать несколько вариантов:
Anonymous Poll
86%
Лучшие практики Flutter-разработчиков Surf
67%
Кейсы и статьи
67%
Подборки инструментов и решений
53%
Ошибки и факапы
27%
Open source решения Surf
23%
Развитие soft skills
22%
Жизнь Flutter-команды Surf
👍1
Как управлять Java при помощи jenv
Иногда нужно использовать определённую версию Java для проекта — мы столкнулись с этим при работе над одним из Flutter-приложений. Решение нашлось в виде использования менеджера версий Java. В статье на Хабр рассказываем, что это за инструмент и как с ним базово работать на MacOS.
➡️ Читать по ссылке
#экспертный
Иногда нужно использовать определённую версию Java для проекта — мы столкнулись с этим при работе над одним из Flutter-приложений. Решение нашлось в виде использования менеджера версий Java. В статье на Хабр рассказываем, что это за инструмент и как с ним базово работать на MacOS.
#экспертный
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
jenv — удобный инструмент для управления версиями Java
Иногда может возникнуть необходимость использовать какую-то определенную версию Java для вашего проекта. Мы тоже в Surf с таким столкнулись при работе над одним из Flutter приложений-долгожителей....
👍4❤3
Добраться до строк
Продолжаем тему локализации. Сегодня рассмотрим три случая работы с локализованными строками в приложении:
→ Локализации ещё нет, и вы используете хардкод.
Расскажем, как сделать так, чтобы при подключении локализации ничего не забыть.
→ Локализация настроена.
Посмотрим, как удобнее всего добраться до неё через контекст.
→ Локализация вне контекста.
Покажем, как получить локализованные строки, если доступа к контексту нет.
#экспертный
Продолжаем тему локализации. Сегодня рассмотрим три случая работы с локализованными строками в приложении:
→ Локализации ещё нет, и вы используете хардкод.
Расскажем, как сделать так, чтобы при подключении локализации ничего не забыть.
→ Локализация настроена.
Посмотрим, как удобнее всего добраться до неё через контекст.
→ Локализация вне контекста.
Покажем, как получить локализованные строки, если доступа к контексту нет.
#экспертный
🔥31👍15👎1
Возможности dart:async — Completer
Мы все хотим писать лаконичный асинхронный код, используя
К счастью, мы можем взять ситуацию в свои руки и очень просто преобразовать неудобные вызовы
Поможет в этом Completer. В карточках рассказываем, как это реализовать.
➡️ Документация по Completer
#экспертный
Мы все хотим писать лаконичный асинхронный код, используя
Future. Но иногда обстоятельства не на нашей стороне: нужно интегрировать плагин/библиотеку, которые предоставляют callback-based API.К счастью, мы можем взять ситуацию в свои руки и очень просто преобразовать неудобные вызовы
method((result) { … }) к привычным final result = await method().Поможет в этом Completer. В карточках рассказываем, как это реализовать.
#экспертный
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32👍10❤5👎2
Loose and tight constraints
Начинающим разработчикам знакома ситуация, когда виджет «игнорирует» переданные параметры — хотя размеры явно указаны. Вот мы указали явный размер для контейнера, ожидая получить квадрат 100х100:
Но контейнер всё же растянется на весь экран. В карточках разобрали, почему так происходит.
Ссылки на DartPad:
🔵 Пример из поста
🔵 Как узнать ограничения
🔵 Изменяем ограничения
🔵 Устанавливаем свои ограничения
Начинающим разработчикам знакома ситуация, когда виджет «игнорирует» переданные параметры — хотя размеры явно указаны. Вот мы указали явный размер для контейнера, ожидая получить квадрат 100х100:
MaterialApp(
home: Container(
width: 100,
height: 100,
color: Colors.red,
),
),
Но контейнер всё же растянется на весь экран. В карточках разобрали, почему так происходит.
Ссылки на DartPad:
🔵 Пример из поста
🔵 Как узнать ограничения
🔵 Изменяем ограничения
🔵 Устанавливаем свои ограничения
👍40🔥10❤7❤🔥1