flutter compose up – Telegram
flutter compose up
3 subscribers
64 photos
5 videos
31 links
Канал, где я храню интересные статьи/библиотеки из мира Flutter.
Если вам интересно, можете тоже читать
Download Telegram
Forwarded from Код и Капуста
Tolgee - опенсорсная платформа для локализации. Написана на #kotlin.

Это же моя идея стартапа!

Ссылка на сайт https://tolgee.io/

И на репу https://github.com/tolgee/tolgee-platform
Немного эстетики визуального SQL и теории множеств

#sql
Forwarded from Код и Капуста
Наткнулся на статью про серверный UI для #flutter

Интересно почитать про подход. И есть адаптер для Go

Статья https://habr.com/ru/articles/858636/

Забавно, что изначально задача была сделать интерактивные рекламные баннеры

Пакет для Flutter https://github.com/Duit-Foundation/flutter_duit
Адаптер для Go https://github.com/Duit-Foundation/duit_go
Forwarded from Surf Flutter Team
Пишем Unit-тесты в Dart 🙌

Часто программист работает с уже существующим кодом. Так появляется риск, что код будет работать не так, как должен. В таком случае разработчик может вручную проверить работу кода.

Но можно этого избежать, если код покрыт unit-тестами.

Что такое unit-тесты? Это тесты, направленные на проверку работы одного компонента программы, например, класса или метода.

➡️Их цель — убедиться, что компонент работает так, как ожидается, независимо от других частей программы. После внесения правок разработчик может запустить тесты и понять, а не сломалось ли что-то.

Ещё тесты полезны тем, что программист заранее обдумывает возможное поведение программы и ещё на этом этапе может выявить баги.

Го в карточки, расскажем как писать unit-тесты в Dart 🤫

🔗Ссылки на пакеты:
Первый
Второй

🔗Репозиторий с примером
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Попалось полезное VS Code расширение

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

От автора React SFC

#vscode
Git на два фронта: пушим в несколько репозиториев

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

Признаться, я бы сначала немного запаниковал, а потом вспомнил: с проектами всё как с бэкапами — чем больше копий, тем лучше! Но как делать резервные копии проектов, чтобы сохранить корректную версионность?

Ответ прост: используйте несколько разных хостингов репозиториев для одного проекта!

1. Создаём репозитории на двух разных платформах.
2. В локальном Git прописываем оба репозитория. Один из них будет основным (origin), а второй — вспомогательным (secondary).
3. Настраиваем Git так, чтобы изменения отправлялись в оба репозитория.
4. Пишем код, пушим — и видим, что изменения отправляются одновременно на обе платформы!

Как это сделать?

1. Добавляем первичный репозиторий:
git remote add origin https://github.com/proDreams/lkeep.git


2. Добавляем вторичный репозиторий:
git remote add secondary https://git.pressanybutton.ru/proDream/lkeep.git


3. Настраиваем push для обоих репозиториев:
git remote set-url --add --push origin https://github.com/proDreams/lkeep.git
git remote set-url --add --push origin https://git.pressanybutton.ru/proDream/lkeep.git


4. Проверяем настройки:
git remote show origin



Готово! Теперь изменения будут отправляться сразу в два (или больше, если нужно) репозитория. Просто, удобно и надежно.
Аналитика в мобильном приложении на Flutter. Часть 1. Yandex AppMetrica

https://habr.com/ru/articles/873920/comments/
Forwarded from Код и Капуста
Teamlead Roadmap

Teamlead Roadmap – это карта навыков и компетенций тимлидов, которую можно адаптировать для любой компании и команды.

Действительно очень много полезной структурированной информации

https://tlroadmap.io/
Forwarded from Flutter Friendly
Привет, это Роза, Flutter Dev Friflex! 👋  

В Flutter существует огромное количество виджетов для управления размерами. Давайте сделаем быстрый дайджест и пройдемся по некоторым из них. Поехали!

🔴FittedBox
— Автоматически подстраивает дочерний виджет под доступное пространство, сохраняя пропорции.  
— Если контент слишком большой, уменьшает его, чтобы всё поместилось.  

🔴OverflowBox
— Позволяет дочернему элементу выходить за пределы родительского контейнера.  
— Игнорирует ограничения родителя, давая больше свободы.  

🔴ConstrainedBox
— Задаёт минимальные или максимальные размеры для дочернего элемента.  
— Накладывает ограничения, даже если содержимое больше или меньше заданных параметров.  

🔴LimitedBox
— Ограничивает размеры элемента, но только если они не заданы явно.  
— Устанавливает максимальный размер, если дочерний элемент не ограничен другими условиями.  

🔴AspectRatio
— Сохраняет определённое соотношение сторон (например, 16:9).  
– Автоматически подстраивает размеры элемента, сохраняя пропорции.   

🔴UnconstrainedBox
— Убирает все ограничения по размеру для дочернего элемента.  
— Позволяет дочернему виджету занимать столько места, сколько ему нужно.  

🔴IntrinsicWidth / IntrinsicHeight
— Позволяет элементу занимать минимально возможное пространство.  
— Вычисляет минимальный размер, необходимый для отображения дочернего элемента.  

🔴Flex, Expanded и Flexible
— Адаптивно распределяет пространство в Row или Column.  
Expanded — заполняет всё доступное пространство.  
Flexible — занимает пространство по возможности, но не жёстко.  

🔴Align
— Позволяет расположить элемент внутри родителя (например, по центру или в углу).  
— Задает позицию элемента относительно родительского контейнера.  

🔴LayoutBuilder  
— Динамически определяет доступный размер и позволяет перестроить UI.  
— Полезно для адаптации интерфейса под разные размеры экранов.   

❗️Важно
Используйте эти виджеты с умом. Некоторые из них могут повлиять на производительность и рендеринг. Тестируйте каждый случай!

💬 Делитесь в комментариях, какие виджеты используете чаще всего. Там же бонусом полезная табличка.
Please open Telegram to view this post
VIEW IN TELEGRAM