Size: a a a

Dart & Flutter по-русски

2020 December 09

V

Vyacheslav in Dart & Flutter по-русски
Andrey Unger
можно регулярные выражения использовать
видимо придется изучить.... все время откладываю ))
источник

AU

Andrey Unger in Dart & Flutter по-русски
Vyacheslav
видимо придется изучить.... все время откладываю ))
они довольно просты. Потренируйтесь в дартпаде). Я их еще со времен perl помню)
источник

V

Vyacheslav in Dart & Flutter по-русски
Andrey Unger
они довольно просты. Потренируйтесь в дартпаде). Я их еще со времен perl помню)
обычно я "подсматриваю" их в интернете, типовое все есть, а тут вот...
источник

F

Farkhod in Dart & Flutter по-русски
Привет, ребята, я исследовал, как интернационализировать flutter app, но до сих пор не смог найти полное руководство, особенно о том, как реализовать его с данными api.
Есть ли кто-нибудь, кто это сделал.
источник

AU

Andrey Unger in Dart & Flutter по-русски
Andrey Unger
они довольно просты. Потренируйтесь в дартпаде). Я их еще со времен perl помню)
аж ностальгия нахлынула. Помню как на Perl писал ботов для IRC с хотрелоадом… в бородатые 2000ные))))
источник

P

PronKing in Dart & Flutter по-русски
Vyacheslav
Всем привет! Подскажите, как упростить код, сделать более лаконичным, в таком случае:
   
 if (_list.contains('3d') &&
         _list.contains('7d') &&
         _list.contains('5l') &&
         _list.contains('15l')) {
       return 'Result: 20 ls in 10 d';
     }
     if (_list.contains('3d') &&
         _list.contains('7d') &&
         !_list.contains('5l') &&
         _list.contains('15l')) {
       return 'Result: 15 l in 10 d';
     }
     if (_list.contains('3d') &&
         _list.contains('7d') &&
         _list.contains('5l') &&
         !_list.contains('15l')) {
       return 'Result: 5 l in 10 d';
     }

Это работает, но там дальше еще 11 комбинаций, получается "портянка"
фигурные скобки можете убрать, будет покороче )))
источник

SL

Sergey Larionov in Dart & Flutter по-русски
Vyacheslav
Всем привет! Подскажите, как упростить код, сделать более лаконичным, в таком случае:
   
 if (_list.contains('3d') &&
         _list.contains('7d') &&
         _list.contains('5l') &&
         _list.contains('15l')) {
       return 'Result: 20 ls in 10 d';
     }
     if (_list.contains('3d') &&
         _list.contains('7d') &&
         !_list.contains('5l') &&
         _list.contains('15l')) {
       return 'Result: 15 l in 10 d';
     }
     if (_list.contains('3d') &&
         _list.contains('7d') &&
         _list.contains('5l') &&
         !_list.contains('15l')) {
       return 'Result: 5 l in 10 d';
     }

Это работает, но там дальше еще 11 комбинаций, получается "портянка"
Я бы составил карту проверок вот в таком виде:
final checks = <Map<String, bool>, String> {
 {
   "3d": true,
   "7d": true,
   "5l": false,
   "15l": true,
 }: "15 l in 10 d",
 {
  // тут следующая проверка и т.д.
 }
}
и далее прошёлся бы в цикле.


Ну или регулярные выражения, если хочется ещё короче.
источник

V

Vyacheslav in Dart & Flutter по-русски
Sergey Larionov
Я бы составил карту проверок вот в таком виде:
final checks = <Map<String, bool>, String> {
 {
   "3d": true,
   "7d": true,
   "5l": false,
   "15l": true,
 }: "15 l in 10 d",
 {
  // тут следующая проверка и т.д.
 }
}
и далее прошёлся бы в цикле.


Ну или регулярные выражения, если хочется ещё короче.
спасибо!
источник

V

Vyacheslav in Dart & Flutter по-русски
PronKing
фигурные скобки можете убрать, будет покороче )))
тоже вариант)
источник

AK

Andrey Kapitonov in Dart & Flutter по-русски
Привет, разбираюсь разбираюсь с redux и хочу инициализировать состояние из shared preferences. Подскажите, корректно ли делать что-то следующее

Future<Store<AppState>> createStore() async {
 var prefs = await SharedPreferences.getInstance();

 return Store(
   appReducer,
   initialState: AppState.initial(prefs),

   middleware: [
     LocalStorageMiddleware(prefs),
   ],
 );
}

@immutable
class AppState {
 final List<int> favorites;

 AppState({
   @required this.favorites,
 });

 factory AppState.initial(SharedPreferences preferences) {
   List<int> favoritesFromStorage =
       preferences.getStringList("FAVORITES").map(int.parse).toList();

   return AppState(
     favorites: List.unmodifiable(<int>[...favoritesFromStorage]),
   );
 }

 AppState copyWith({
   List<int> favoriteState,
 }) {
   return AppState(
     favorites: favoriteState ?? this.favorites,
   );
 }
}
источник

AK

Andrey Kapitonov in Dart & Flutter по-русски
хотелось бы узнать, может есть лучшие практики, это первое что пришло в голову прост
источник

BS

Bogdan Shapoval in Dart & Flutter по-русски
Sergey Larionov
Ситуация: на экране отображаются десятки виджетов, обновляемых часто (несколько раз в секунду) и независимо из разных Stream'ов.

Хочется грубо говоря собирать обновления в пачки и перерисовывать не на каждый чих.

setState не используется, всё работает на аналогах StreamBuilder.
Можно пропустить через RxDart и debounc'ить стрим
https://pub.dev/documentation/rxdart/latest/rx/DebounceStreamTransformer-class.html
источник

VB

Vadym Buhaiov in Dart & Flutter по-русски
Sergey Larionov
Ситуация: на экране отображаются десятки виджетов, обновляемых часто (несколько раз в секунду) и независимо из разных Stream'ов.

Хочется грубо говоря собирать обновления в пачки и перерисовывать не на каждый чих.

setState не используется, всё работает на аналогах StreamBuilder.
Посмотри в сторону реактивности
источник

SL

Sergey Larionov in Dart & Flutter по-русски
Нет, потому что десятки виджетов потребляют разные Stream'ы. Т.е. такой подход решает проблему только частично, в недостаточной степени.


Еще раз, похоже решение - в введении внешней синхронизации (отдельным Stream'ом) в мою реализацию аналога StreamBuilder'а
источник

ДХ

Джамиль Хаметов... in Dart & Flutter по-русски
Ребят, я так понимаю паддинги у инпута симметричны? Нельзя сделать сверху и снизу разные паддинги?
источник

A

Andrey in Dart & Flutter по-русски
Классика подъехала:
С чем работать лучше с флаттером, андроид студия или vsc? Что из этого работает быстрее?(в учет берутся плагины для вск)
источник

АР

Андрей Рудин... in Dart & Flutter по-русски
без разницы
источник

t

tdesc in Dart & Flutter по-русски
Michael Bazilique
у меня вопрос немного реторического характера:
когда флаттер разработчик может считать себя мидлом?
Вот именно по совести если смотреть?
2-3 года опыта натива, самостоятельность выполнение задач в срок и с надлежащим качеством.
источник

DK

Danial Kolyasnikov in Dart & Flutter по-русски
tdesc
2-3 года опыта натива, самостоятельность выполнение задач в срок и с надлежащим качеством.
2-3 года опыта натива на одной из платформ или на каждой ?
источник

t

tdesc in Dart & Flutter по-русски
Sergey Larionov
Нет, потому что десятки виджетов потребляют разные Stream'ы. Т.е. такой подход решает проблему только частично, в недостаточной степени.


Еще раз, похоже решение - в введении внешней синхронизации (отдельным Stream'ом) в мою реализацию аналога StreamBuilder'а
если на одном роуте десятки стримов и разные виджеты, то тут сложно что то оптимизировать
источник