Contributor Flutter
49 subscribers
53 photos
6 videos
1 file
52 links
Про Flutter и другое
Download Telegram
Сосать + лежать
1🔥1
Кто знает меня, наверное знает как я люблю слово multi.🗑

До этого был пакет multi_bloc_builder 👀. А теперь и мой любимый и прекрасный fform тоже поддерживает multi формачки.

1. Решает проблему с огромными формами. своей удобной реализацией.

2. Добавляет возможность валидировать динамические формы.

#package
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥1
Йоу снова залетаю c новым пакетом🔥.

Который мне за несколько часиков кодинга👨‍💻, помог отловить почти все моменты, которые стоит перевести

И туц* туц* туц* барабанная дробь

markup_analyzer

Вкратце, опишу ситуацию для полного понимая

- Ты забыл, перевести текст
- Отправляешь pull request на обработку
- Твоя крыша проверяет, что ты своими ручками сделал
- Ты светишься, сейчас тебя уже допроверят и можно приступать к новой таске
- Крыша рассердилась, на то что потратила на тебя время и отправила на хуй до переводить текст-а, которые ты так отчаянно копировал из фигмы и обещал себе же перевести попозже)

Я предлагаю уменьшить количество таких ситуаций, до минимума😇. Если подходить к переводу текста с полной серьёзностью

Первое что вы делаете, это в ваш список команд добавляете новую

dart run markup_analyzer


И если вы немного забывчивый, можете так же прокинуть эту команду в workflow 👩‍💻

Потом конечно жиииии есть, проходит workflow . Ждёте пока ваши комитики всплятутся в одно и кайфуете, что вам не нужно париться повторно по этому моменту

#package
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Придумал пример по лучше

- бля, на прод залил
🔥1
Наверное лучшее, что могли воссоздать из фронта на мобилке. Это story widgetbook.

- Реализация изменения компонентов через props-ы в реальном времени - есть
- Тестирование на разных устройствах - есть
- Изменение темы, локализации - есть
- Настроить workflow - уже ручками справишься)

Хоть этому open source проекту два года, но как я рад что есть люди, которые развивают сообщество и впринципе улучшают разработку

И грустно, что этим продуктом мало кто пользуются🥺

#package #respect
👍3🔥1
Когда-то мне зелёному очень помог этот пакет multi_value_listenable.
Думаю в маленьких проектах, он сможет услужить вам службу😉
2🔥1
По обновлениям

depend: Менеджер зависимостей, теперь ваши зависимости можно взять из context-а

multi_bloc_builder: MultiBlocBuilder поможет, еcли есть большая вложенность BlocBuilder-ов и надо как-то упросить вашу верстку. Появился метод .get<BlocBase> который без привязки типов и index-ов вытаскивает нужный Bloc

multi_value_listenable: — ValueListenableBuilder-ов вложенности. Честно, не использовал бы этот пакет в больших проектах. Но как быстрая реализация, вай нот.

fform: Подвергся тоже некоторым изменениям, теперь каждый наследник FFormField-ов имеет свой ключ, который можно привязать к любому виджету, для дальнейших взаимодействий.
Хороший пример, если большая Форма то она скролит до нужного field-а. Что повышает пользовательский опыт)

В планах

1. Добить все пакеты до 160 pub point-ов
2. Улучшить читку markup_analyzer
3. Улучшить документации для всех этих пакетов, потому что где-то желает лучшего
4. Пополнить коллекцию пакетов fform-validator-ом. Хотелось бы собрать стабильную комбу на долгие годы

🐚*звук моря*
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
markup_analyzer + easy I18n plugin = 💥

Либа проверяет не переведённые строки (командной строкой)

Плагин проверяет на не переведённые языки или дубликаты переводов

Гармония, одним словом)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
depend, извиняюсь, руки не крюки можешь сам по ссылке прочитать
🔥2
С днём разработчика, всех душнил и pro юзеров компа🔥

Так выпьем же за настройку принтеров и перезапуск роутера🍾
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
🔠🔠🅰️🔠🔠🔠❗️

Мне из каких то дней подчиненный скинул ссылку на sealed class, я просто ответил что это почти тоже самое, что и freezed. Но попробовал один раз sealed class понял, что я сяду и стану переписывать все Bloc-и на них.

Потом через какое-то время появился, апдейт для плагина Bloc-ов. Где уже по деволту сетались sealed.

Ещё через какое-то время dart и flutter начал переписывать нативные вещи на sealed.

И моему счастью не было предела

I love sealed❤️ Realy

#respect
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
JS/TS, как же люблю этого парня, люблю за его свободу, но как раз таки за это не люблю.

Когда типы могут быть "s" | "m" | "xl", но могут и не быть.

+ #respect JS

Кстати недавно сел за фронт, а именно за Nuxt.
Как поняли ощущения противоречивые.

И вам не хворать, stackoverflow в помощь
🔥 Mix — ребята уже 3 года строят систему стилизации для Flutter.

Как же давно я их заметил и каждый раз думаю: ГРАМОТНО. СМЕЛО. Они, безусловно, идут своим путём, создавая что-то действительно стоящее для Flutter-сообщества.

Сам строил похожую систему на основе нашего ui-kit-а, конечно, не в таком масштабе и более нативно, но best practices у нас действительно схожи.

Каждый раз, когда смотрю на этот пакет, хочется попробовать его в реальном проекте.

#package #respect
FlutterMapp - Канал для того, чтобы узнать фишки о которых возможно не подозревал.

35 Flutter Tips That Will Change Your Life
- Полезно👍🏻
10x Your Speed With Flutter - Полезно👍🏻

Не все plugin-ы из видео есть в Android Studio, но не значит, что нет аналогов ( yдачи в поиске ).
🔥1
Gap (Package of the Week) 10 months ago

Вообще без понятия, как я прошёл этот пакет.
Ну он просто стоит того, чтобы быть недельным🫡

Фронты🫵 ловите кайф

Как алтернатива SizedBox-ам👍🏻 но конечно не сравниться с gap на вебе.

Но чтобы это был настоящий gap:
1. Нужно создавать наследника над Flex-ом и реализовывать свои Column и Row.
2. Либо допинать с gap-ами Flex Widget, а потом закинуть pull request на Flutter.

Для остальных виджетов, которые реализуют функционал пакета gap. Тоже по тому же принципу, а то это просто замена SizedBox в разных его реализациях.

Моя реализация - 1 вариант реализации, который демонстрирует. Что такое gap в вебе +-

#package
🔥1
Снова насчёт Mix,

Он как минимум два раза появлялся на official channel Flutter in Youtube. Так что сто процентов стоит заценить.

Чек видюхи:

- Mix (Package of the Week): 1:37
- Observable Flutter #45: Universal styling with Mix: 1:44:49
🔥2
Дело сделано, fform_validator есть.

Решил не создавать цепочные функции для валидации, которые как раз таки часто используются в validator-ах и ORM-ках. Больше похоже на утилиты, чем на полноценный пакет)

Но как он хорошо встал, под fform. Check this!

import 'package:fform/fform.dart';
import 'package:fform_validator/fform_validator.dart';

class PasswordValidationException extends FFormException {
final bool isMinLengthValid;
final bool isSpecialCharValid;
final bool isNumberValid;

PasswordValidationException({
required this.isMinLengthValid,
required this.isSpecialCharValid,
required this.isNumberValid,
});

bool get isValid => isMinLengthValid && isSpecialCharValid && isNumberValid;
}

class PasswordField extends FFormField<String, PasswordValidationException> {
PasswordField(String value) : super(value);

@override
PasswordValidationException? validator(String value) {
final validator = FFormValidator(value);
return PasswordValidationException(
isMinLengthValid: validator.isMinLength(8),
isSpecialCharValid: validator.isHaveSpecialChar,
isNumberValid: validator.isHaveNumber,
);
}
}


#package
🔥1
Contributors - это проект, который я запускаю для продвижение своих и чужих OpenSource - пакетов, языков и технологий. Для тех кто горит любовью к кодингу и желает поделиться своими инструментами с другими. Будет запущено спонсорство, для вознаграждения контрибьюторов проекта.

Чтобы попасть в этот проект:
- Нужно доказать и показать на практике, что ваш os может быть полезен любому сообществу программистов, от Basic-а до Dart
- 1 пункт это единственный пункт, для вступления.


Причины для отмены поддержания вашего os, проектом:
- Устаревание вашего os, для сообщества

#contributors
🔥1
fluttergems.dev - сайт сказка

Наверное лучший сайт, чтобы найти подходящий пакет по категориям.

Заходишь, выбираешь категорию и вот тебе список. Было бы классно, если была бы такая же категоризация для нашего любимо pub.dev

Кстати можно зайти, посмотреть проблемные участки твоего проекта и найти алтернативу. Или же написать свою, если не устраивают все остальные)

#respect
🔥1
Вот и год пролетел, как мы начали мутить свой стартап, потом второй.

За этот год многое изменилось. Как уровень моих знаних в разных областях моей профессий.
Так и до личной жизни. Поженился ребята 💍, теперь заглядываться нельзя)
Видели взлёты и падения, познакомился с множеством
одарённых и крутых ребят.


Отдельное спасибо:
@Est_Zhe_Aris Backend Pre Middle +-,
@jobsbystr Tech Lead,
@Licantropy Middle, если не выше пошёл,
@RahaSB22, @marshal71 Flutter Pre-Middle,
@Yuriyich, @Kingstonhun77er Designer Pre-Senior,
@Sniperov Backend Pre-Senior

Типо сейчас рассказываю, default ситуацию создания стартапа, но блять как же это круто было и будет в дальнейшем. В какой-то момент понял, что даже ребёнок научиться за год разговаривать не способен.

Кстати сегодня Happy Birthday этого человека - @Est_Zhe_Aris. Поздравьте там, все дела👍🏻

#respect
3🔥1🥰1
Проводя собеседования, я показывал какие есть локальные хранилища и базы данных, и словил себя на мысли, что нужно снова пробежаться по пакетам.

И мой трёх часовой забег по github подтвердил мой выбор и это sqflite, shared_preferences, flutter_secure_storage и пополнился floor-ом, который является adapter-ом sqflite, минималистично, удобно, кайф👍🏻

shared_preferences - вышла новая API

И так жалко, что hive полностью вычеркнул из своего списка. Так как она внутри себя использует isar версии, который не рекомендуется пользоваться) Идея Isar крута, удобна. Но не работает)

#package
🔥1