Программирование : Dart & Flutter по-русски
Denis
Clean Architecture это фреймворк для наиболее сложного приложения. Поздразумевает, что этих компонентов достаточно, что бы написать что угодно. В то же время это не означает, что ты должен все это использовать. Так же важно понимать, что Архитектура с Bloc это скорее MVI, чем MVP/MVVM в Андройдном понимании и она немного отличается. Так же Андройд не знает, что такое реактивные виджеты. Так что не нужно перетаскивать архитектуру с Android один к одному на flutter.
Andrew Shalaev
Clean architecture - фреймворк? )
Павел Бабинцев
Ребята, всем привет! Кто регистрировал не так давно аккаунт эппл-разработчика? Всё у вас получилось? Мне почему-то ничего не отвечают, неделю уже жду. Хотя в письме написали что 2 рабочих дня...
Alexander Gorshkov
напиши в поддержку
Vladislav [object Object]
Средства с карты списали?
Alexander Gorshkov
там скажут чего не хватает
Alexander Gorshkov
недавно запросили паспорт и еще какую то информацию
Vladislav [object Object]
А ты живёшь в той стране, где родился?
Павел Бабинцев
А куда именно? Я им писал ответным писбмом на их уведомление, ни ответа ни привета...
Denis
С точки зрения англ языка я имею ввиду
Vladislav [object Object]
У нас была проблема с регой, не получалось зарегать на паспорт n страны, находясь в x
Alexander Gorshkov
[
{
"type": "link",
"text": "https://developer.apple.com/contact/topic/SC1101/subtopic/30006/solution/select"
}
]
Andrew Shalaev
Давайте вы свое не будете изобретать) И почитайте книжку Clean architecture))
Дмитрий
не, поменял на 23, так же
Denis
если никто свое бы не изобретал, где бы мы были? )
Павел Бабинцев
Спасибо, друзья!
Kirill Aparin
[
"Как проверить есть ли в assets иконка, сейчас пытаюсь от ошибки играть, не выходит\n",
{
"type": "code",
"text": " Widget image;\n try {\n image = Image.asset('assets/images/${networkName}_icon.png', width: 23);\n } catch (_) {\n image = Icon(Icons.panorama_outlined);\n }"
},
""
]
Vladislav [object Object]
На том же месте, велосипеды и называют велосипедами) зачем придумывать чтото свое, если уже придумали до тебя
Vladislav [object Object]
И вы как-то глубоко залезли. Есть понятие придумать велосипед, а есть понятие улучшить что-то текущее
Maksim Zdanchuk
всем привет! Ломается билд на битрайзе. Толком никаких ошибок не выдает, только предупреждения (так всегда было). Может кто знает в чем дело?
Maksim Zdanchuk
[
"Error output from Xcode build:\n?\n ",
{
"type": "bold",
"text": " BUILD FAILED "
},
"\n\n\nXcode's output:\n?\n /Users/vagrant/.pub-cache/hosted/",
{
"type": "link",
"text": "pub.dartlang.org/location-3.2.4/ios/Classes/LocationPlugin.m:163:13"
},
": warning: 'UIAlertView' is deprecated: first deprecated in iOS 9.0 - UIAlertView is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleAlert instead [-Wdeprecated-declarations]\n UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@\"Location is Disabled\"\n ^\n In module 'UIKit' imported from /Users/vagrant/git/wda/ios/Pods/Target Support Files/location/location-prefix.pch:2:\n /Applications/",
{
"type": "link",
"text": "Xcode-12.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAlertView.h:27:12"
},
": note: 'UIAlertView' has been explicitly marked deprecated here\n ",
{
"type": "mention",
"text": "@interface"
},
" UIAlertView : UIView\n ^\n /Users/vagrant/.pub-cache/hosted/",
{
"type": "link",
"text": "pub.dartlang.org/location-3.2.4/ios/Classes/LocationPlugin.m:163:48"
},
": warning: 'UIAlertView' is deprecated: first deprecated in iOS 9.0 - UIAlertView is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleAlert instead [-Wdeprecated-declarations]\n UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@\"Location is Disabled\"\n ^\n In module 'UIKit' imported from /Users/vagrant/git/wda/ios/Pods/Target Support Files/location/location-prefix.pch:2:\n /Applications/",
{
"type": "link",
"text": "Xcode-12.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAlertView.h:27:12"
},
": note: 'UIAlertView' has been explicitly marked deprecated here\n ",
{
"type": "mention",
"text": "@interface"
},
" UIAlertView : UIView\n ^\n 2 warnings generated.\n /Users/vagrant/.pub-cache/hosted/",
{
"type": "link",
"text": "pub.dartlang.org/barcode_scan-3.0.1/ios/Classes/BarcodeScannerViewController.swift:47:38"
},
": warning: 'flashMode' was deprecated in iOS 10.0: Use AVCapturePhotoSettings.flashMode instead.\n return device != nil && (device?.flashMode == AVCaptureDevice.FlashMode.on || device?.torchMode == .on)\n ^\n /Users/vagrant/.pub-cache/hosted/",
{
"type": "link",
"text": "pub.dartlang.org/barcode_scan-3.0.1/ios/Classes/BarcodeScannerViewController.swift:200:14"
},
": warning: 'flashMode' was deprecated in iOS 10.0: Use AVCapturePhotoSettings.flashMode instead.\n device.flashMode = on ? .on : .off\n ^\n /Users/vagrant/.pub-cache/hosted/",
{
"type": "link",
"text": "pub.dartlang.org/barcode_scan-3.0.1/ios/Classes/SwiftBarcodeScanPlugin.swift:24:36"
},
": warning: 'devices(for:)' was deprecated in iOS 10.0: Use AVCaptureDeviceDiscoverySession instead.\n result(AVCaptureDevice.devices(for: .video).count)\n ^\n /Users/vagrant/.pub-cache/hosted/",
{
"type": "link",
"text": "pub.dartlang.org/firebase_analytics-7.0.1/ios/Classes/FLTFirebaseAnalyticsPlugin.m:49:19"
},
": warning: 'setScreenName:screenClass:' is deprecated: Use +[FIRAnalytics logEventWithName:kFIREventScreenView parameters:] instead. [-Wdeprecated-declarations]\n [FIRAnalytics setScreenName:screenName screenClass:screenClassOverride];\n ^\n In module 'FirebaseAnalytics' imported from /Users/vagrant/git/wda/ios/Pods/Headers/Public/Firebase/Firebase.h:22:\n /Users/vagrant/git/wda/ios/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.framework/Headers/FIRAnalytics.h:128:5: note: 'setScreenName:screenClass:' has been explicitly marked deprecated here\n DEPRECATED_MSG_ATTRIBUTE(\n ^\n In module 'UIKit' imported from /Users/vagrant/git/wda/ios/Pods/Target Support Files/firebase_analytics/firebase_analytics-prefix.pch:2:\n In module 'Foundation' imported from /Applications/",
{
"type": "link",
"text": "Xcode-12.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.h:8"
},
":"
]
Maksim Zdanchuk
[
"In module 'CoreFoundation' imported from /Applications/",
{
"type": "link",
"text": "Xcode-12.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.2.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6"
},
":\n In module 'Darwin' imported from /Applications/",
{
"type": "link",
"text": "Xcode-12.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.2.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:16"
},
":\n /Applications/",
{
"type": "link",
"text": "Xcode-12.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.2.sdk/usr/include/AvailabilityMacros.h:182:64"
},
": note: expanded from macro 'DEPRECATED_MSG_ATTRIBUTE'\n ",
{
"type": "hashtag",
"text": "#define"
},
" DEPRECATED_MSG_ATTRIBUTE(s) __attribute__((deprecated(s)))\n ^\n 1 warning generated.\n This application cannot tree shake icons fonts. It has non-constant instances of IconData at the following locations:\n - file:///Users/vagrant/git/wda/lib/src/ui/general/ConfirmActionDialog.dart:205:15\n - file:///Users/vagrant/git/wda/lib/src/ui/general/InternetNotAvailable.dart:46:19\n - file:///Users/vagrant/git/wda/lib/src/ui/profile/InternetNotAvailablePage.dart:42:11\n - file:///Users/vagrant/git/wda/lib/src/ui/work/general/AttrInputField.dart:173:15\n\n Command PhaseScriptExecution failed with a nonzero exit code\n note: Using new build system\n note: Building targets in parallel\n note: Planning build\n note: Constructing build description\n\nEncountered error while building for device.\nFailed to build iOS platform, error: exit status 1"
]
Константин Буланов
А может просто играть от библиотек работы с файлами? Типа проверить наличие файла по такому пути. Но это не точно.
Константин Буланов
Хотя если у вас ассеты то они же до компиляции приложения должны быть сформированы и они не динамичные в процессе выполнения. Как там может что появиться или пропасть?
Saxar
Привет, подскажите пожалуйста, когда и где стоит использовать cubit?
Пашка
когда состояние реагирует на какие то подписки
Пашка
например как состояние аутентификации
Saxar
а просто bloc не может этого?
Andrew Shalaev
В доке все различие описано
Пашка
нет вы не совсем поняли
Пашка
блоку вы посылаете евенты
Пашка
а кубит реагирует на стрим допустим
Пашка
можно и с блоком сделать
Пашка
но как таковой более менее реализации кубиту не найдена личной мной
Пашка
только для вот таких целей
Андрей Козак
если на вход блока не нужна реактивщина - юзай кубит Если блок делает запрос в сеть и через блокбилдер выкидывает результат в виджет - юзай кубит (меньше бойлерплейта) Если у тебя какая нить фигня типа поиска, стрим которой нужно обрабатывать - юзай блок. В нем можно к входящим событиям применить реактивщину (debounce например)
Никита Обрывков
вопрос,слева экранчик который должен отображться,справа для него контейнер(там потом будет несколько экранов в одном контейнере,с перелистыванием). ошибок нет,но ничего не отображается,хотя сам левый экран,отдельно работает
Vladislav [object Object]
а зачем вы берете определенный элемент из массива? Просто передайте массив и все
Никита Обрывков
в последствии там будет конкретная позиция,которую отображать сейчас,и допустим при нажатии кнопки или свайпе,она будет меняться
Никита Обрывков
это массив экранов,которые будут меняться
Vladislav [object Object]
А buildPageView юзается гдето?
Никита Обрывков
вполне понял,но оба этих экранов,и контейнер,и экран переданный туда,когда сами по себе,работают исправно,когда совмещаю,ничего,и ошибки нет
Vladislav [object Object]
Кстати, юзать методы типа виджет - антипаттерн
John
Товарищи как собрать неподписанное ключом приложение через консоль?
Vladislav [object Object]
flutter build apk
Никита Обрывков
да,я читал об этом,но мне щас главное просто сделать это рабочим хоть как-то,а потом уже рефакторить и оптимизировать
Vladislav [object Object]
А есть уверенность, что buildPageView рисуется? Попробуй глянуть через devtools
Vladislav [object Object]
Можешь показать, как выглядит апа?
Vladislav [object Object]
что там вообще отображается
Никита Обрывков
да,код я дёрнул с туториала,там всё исправно работало,но заместо списка с экранами,был просто Text("text + $position")
John
[
"Вот что выдает keytool -printcert на такой файл\n",
{
"type": "pre",
"text": "Signature:\nOwner: C=US, O=Android, CN=Android Debug",
"language": ""
},
""
]
Vladislav [object Object]
тебе его в гугл алить надо?
Vladislav [object Object]
гугл курируют подписку приложений
John
Да у меня старое приложение. Два года назад заливали, сейчас на flutter новую надо загрузить
Vladislav [object Object]
[
{
"type": "link",
"text": "https://support.google.com/googleplay/android-developer/answer/9842756?hl=ru&visit_id=637473541833873044-3040342105&rd=1"
}
]
Vladislav [object Object]
там надо keystore вроде, есть он?
John
Есть. Вот пытаюсь подписать им, но flutter выдает уже подписанное приложение debug ключом.
Vladislav [object Object]
—release
Vladislav [object Object]
добавь к команде
Vladislav [object Object]
а ваще ща, сек
Andreu
не, это дело в том что ключ дебажный, а не приложение
Vladislav [object Object]
вот так выглядит мой bundle.gradle на уровне приложения
Vladislav [object Object]
в папке app
Vladislav [object Object]
[
{
"type": "link",
"text": "https://flutter.dev/docs/deployment/android"
},
" лан шо я пытаюсь объяснить, проще доку скинуть)"
]
Andreu
buildTypes { release { signingConfig signingConfigs.release } }
Andreu
и вот это еще проверить
John
Да вот. У меня signingConfigs.debug стоит. Сейчас старый ключ загрузил в google play и он в ответ выдал мне App signing и upload ключи. Как их можно подписать? Либо я слепой либо в доках реально не указали как это делать
Vladislav [object Object]
измени на release
Vladislav [object Object]
ты же ключ в пропертиес с паролем указал?
Vladislav [object Object]
Вот что у тебя должно получиться
John
Окей попробую так. Спасибо
Vladislav [object Object]
Разобрался, вопрос актуален еще?
Никита Обрывков
ещё актуален
Vladislav [object Object]
рестарт пробовал? ( НЕ хот релоад )
Никита Обрывков
да,но я только что исправил,изменив column на container в билдере,спасибо за отзывчивость :)
Vladislav [object Object]
Ааа, вот как. Лан, удачи)
Станислав Крамаренко
Есть те, кто интегрировал флаттер в существующее Андройд приложение?
Serge Kozlov
Добрый день! Изучаю flutter, сделал bottonNavigationBar с 4-мя кнопками. Подскажите, есть ли возможность отображение bottonNavigationBar на всех страницах приложения, которые будут созданы, но не добавленны в эту навигацию. Например на главном экране созданы карточки, при нажатии по ним будут открываться страницы и на них должен быть bottonNavigationBar. Сейчас он не отображается. Надеюсь понятно объяснил
Serge Kozlov
да что-то не могу догнать как
Serge Kozlov
можете подсказать как, или посмотреть где можно это
nazirjon
[
{
"type": "link",
"text": "https://www.javatpoint.com/flutter-bottom-navigation-bar"
}
]
Serge Kozlov
Спасибо, почитаю
nazirjon
[
{
"type": "link",
"text": "https://dev.to/paulhalliday/how-to-create-a-bottomnavigationbar-with-flutter-9f2"
}
]
?
как сделать чтобы эти элементы шли в разных строках?
?
у меня не получается сделать 3 rows
Vladislav [object Object]
Можешь покзаать пример, как необходимо сделать?
Vladislav [object Object]
либо попробуй в column обернуть
Vladislav [object Object]
точнее вместо row
Vladislav [object Object]
Пжлст)
nazirjon
Ребята, для сложнее приложение какие архитектуры используется?
Andry
[
{
"type": "code",
"text": "child: TextFormField(\n decoration: InputDecoration(\n errorStyle: TextStyle(\n color: Colors."
},
{
"type": "italic",
"text": "red\n "
},
{
"type": "code",
"text": "),\n ),\n style: TextStyle(color: _isValidCode ? Colors."
},
{
"type": "italic",
"text": "black "
},
{
"type": "code",
"text": ": Colors."
},
{
"type": "italic",
"text": "red"
},
{
"type": "code",
"text": "),\n validator: _smsCodeValidator,\n controller: _textController,\n textAlign: TextAlign.center,\n autofocus: true,\n keyboardType: TextInputType."
},
{
"type": "italic",
"text": "number\n"
},
{
"type": "code",
"text": "),"
}
]
Andry
errortext не выравнен по центру
Amigo 177
Ребят node. js хорошый выбор в качестве бэкенда?
[
{
"type": "link",
"text": "https://www.udemy.com/course/flutter-firebase-build-a-complete-app-for-ios-android/"
}
]
Есть торрент на этот курс ?
Vladislav [object Object]
Ну если чесна такой себе. Переслал твое сообщение товарищу, но сказал, что гореть будет долго в таком случае) Жрет она больше джавы. Не рекомендую, чем дальше - тем грустнее
Vladislav [object Object]
У нас тут есть один сервер, который просто пингует другие наши сервисы, достает из базы список компонентов и сверяется с ним, какие лежат, какие работают. и на это требуется 500мб ей)
Amigo 177
А почему его так сильно пиарят в последнее время? Типа мол меньше жрет и больше делает.
Vladislav [object Object]
В зависимости от того, что тебе нужно сделать. если чота быстро - ок, нода збс зайдет
Andry
Подскажите TextFormField как на error задать кастомный textAlign
Amigo 177
А если сравнить его с php 8 ?
Vladislav [object Object]
хз, с пхп не работал ни я, ни мой товарищ
Vladislav [object Object]
ну и потому что жс самый популярный язык чего не пиарить технологию на которой пишут большинство программистов планеты)
Nickolay Ponomarev
на пхп проще и быстрее сделать определенные вещи, но и проще упереться в предел производительности. ресурсов не сказал бы, что сильно много ест, но тоже зависит от задачи и способа ее решения
Nickolay Ponomarev
в целом, пхп очень хорош для MVP - сделал на условном ларавеле проект, проверил идею, если прокатило - выкинул и написал на чем-то более производительном и проще масштабируемом
?
почему приложение может не видеть изображение?
?
прописывал и с asset и без (как сейчас)
Вадим
в pubspec указали его?
Vladislav [object Object]
укажи в pubspec - assets/img/
Vladislav [object Object]
и все изображения подключаться, если ты в конце / не забудешь
Dmitry Bubnenkov
Существует ли способ собрать приложение под iOS без Mac?
Vladislav [object Object]
Ну я пытался через codemagic, но в силу отсутствие знаний, как работает macos и разработка под ios не смог
Vladislav [object Object]
Тебе в любом случае понадобиться акк девелопера, чтобы к примеру в тестфлай залить
Nurassyl Nuridin
Всем хай/ Можете подсказать как лучше подгонять свое приложение под различные девайсы? Каждый Паддинг, Марджин, Размеры иконок и Фонт Сайзы подгонять через MediaQuery.of(context).size с умножениями???
Amigo 177
насчет 500мб. а с чем это так связано ? вроде сама нода на си написана? должно же было быть иначе. как заверяют в интернете многие
Dmitry Bubnenkov
Он единственный? Аналоги есть?
Vladislav [object Object]
Скорее всего должны быть, но я не ресерчил) Там щас у меня ci/cd крутится
Nickolay Ponomarev
[
{
"type": "link",
"text": "https://www.macincloud.com/"
},
" от бакса в час"
]
Amigo 177
лучше видимо на голанг перейти
Yaroslav
Всем привет. Вопрос по блоку
Nickolay Ponomarev
либо у амазона в аренду брать ec2 и на нем VNC поднимать и цепляться
Vladislav [object Object]
на нем кстати скорость разработки тоже низкая ребята в чате ноды горели
Yaroslav
вот такой код в listener'e BlocConsumer'a отрабатывает и показывает оверлей пока стейт Loading. но когда из блока приходит другой стейт, оверлей не пропадает. Как это можно реализовать?
4??uzhoy .
Индексед стэк выходит плох с Боттом/рэил навигациями? По причине описанной. Что лучше тогда использовать в таком случае, сейчас я как раз на индексед стэке остановился, так понимаю можно ещё просто табвью? Мне тут советовали ее уже раньше по этому вопросу
Amigo 177
легкий язык по мне. ну главное что понравилось мне это: горутины. а нодовцы пусть могут гореть и дальше)
Nurassyl Nuridin
Есть курс в рутрекере Academinds, полный курс есть
Vladislav [object Object]
язык легкий. но там нет всяких map, reduce и прочих фишек все надо писать самому из-за этого скорость разработки проседает короч язык для специфических вещей
Nickolay Ponomarev
[
"по идее можно использовать Navigator и onGenerateRoute ",
{
"type": "link",
"text": "https://flutter.dev/docs/cookbook/navigation/navigate-with-arguments"
},
""
]
Amigo 177
видимо разработчики посчитали ненужными map, reduce раз решили не добавить полезные фишки
Bohdan
[
"Всем привет, ребята, а как вы делаете логин страницу, сами с 0 какие пакеты доп используете или берете тот самый ",
{
"type": "link",
"text": "https://pub.dev/packages/flutter_login"
},
" и кто-то пробовал использовать его?"
]
Vladislav [object Object]
Через bloc все крутится
4??uzhoy .
Всегда обходил эту тему с навигациями а сейчас возникла необходимость реализации рельсы, вот непонятно как правильнее по итогу, так чтобы экранчики не диспозились при этом
Bohdan
[
"типо такого? ",
{
"type": "link",
"text": "https://honesdev.com/flutter-authentication-with-bloc-architecture/"
},
""
]
4??uzhoy .
Но наверное да, нужен навигатор ??
Nickolay Ponomarev
я сейчас использую смесь этого способа с навигатором и реактивность из GetX, вроде нормально работает
Nickolay Ponomarev
ну точнее я хз, нормально ли с точки зрения правильности архитектуры, быстродействия и т.п., т.к. это мое первое приложение и оно в целом достаточно простое
Азамат Алмазбеков
Смотрю сейчас на ютубчике clean architecture от resocoder. По моему то шо надо
nazirjon
Provider знаешь как это?
Nickolay Ponomarev
имхо, с чистотой архитектуры надо упарываться, когда научился делать быстро то, что хочет заказчик и уже надо повышать качество. иначе можно потратить много времени на то, что бы делать правильно то, что можно сделать быстро и никто разницы не заметит
Nickolay Ponomarev
ну и зависит от оплаты, конечно) не думаю, что кто-то будет упарываться по чистой архитектуре в проекте с бюджетом 50к)
Азамат Алмазбеков
Ну как я понимаю это ещё один стейт менеджер, но с ним я не работал)
Рамзиль
Всем доброго времени суток! Может кто-то знает, делаю при нажатии на маркер вызов showModalBottomSheet, как сделать так, чтобы можно было его протянуть наверх?
Bohdan
так, а BLOC или провайдер, что юзаете? в вебе на ангуляре там пофакту тот же провадер, а блок понравился своим Rx подходом
Nickolay Ponomarev
[
{
"type": "link",
"text": "https://pub.dev/packages/snapping_sheet"
}
]
Vyacheslav
[
"есть неплохой виджет, хорошие настройки кастомизации\n",
{
"type": "link",
"text": "https://pub.dev/packages/sliding_up_panel"
},
"\nмне очень понравился в использовании"
]
Азамат Алмазбеков
Bloc удобная штука
Азамат Алмазбеков
Более лёгкая версия блока, в этом же пакете идет
Vyacheslav
кубит не всегда рекомендуют использовать, но для новичков самое то
Vyacheslav
в отличие от блока он не соблюдает очередность выполнения своих методов (более поздний перебьет предыдущий, если он не завершен), а блок обрабатывает события всегда по очереди
IB Akhrorov
Здравствуйте, стоит ли использовать hydrated bloc вместо того самому писать query?
Азамат Алмазбеков
А что используется для depency injection во флаттере, есть какие нибудь best practices или либы с которыми есть опыт работы ?
IB Akhrorov
Хороший вопрос, читал что есть get it и injector library который выполняют или облегчают задачу DI
Nickolay Ponomarev
мне понравился GetX. он и за DI отвечает, и роутинг, и стейт менеджмент, и много всяких полезных плюшек
IB Akhrorov
Там ограничении нет?
Nickolay Ponomarev
ограничений в каком плане?
Andrew Shalaev
Отвечу на свой вопрос дилетанта, использовать можно Firebase Admin SDK на бекенде.
IB Akhrorov
С ui, как читал документацию там getx не дает доступ к контексу
Vyacheslav
однозначно Get_It для DI к GetX я лично с осторожностью, он позволяет из приложения сделать мешанину, прокидывать кучу связей между классами и все такое
Nickolay Ponomarev
для UI там есть отдельные классы, которые добавляют реактивность. и контекст можно в любом месте получить через Get.context
IB Akhrorov
Значит для больших проектов getx не рекомендуется использовать?
Vyacheslav
лично я не буду
Nickolay Ponomarev
по идее можно, просто как и с любой абстракцией, надо понимать, как и где ее применять
Andrew Shalaev
Ага "идти"??
Nickolay Ponomarev
GetX дает много простых путей для всего и всегда высок соблазн как попало все сделать не заморачиваясь, как это работает
Vyacheslav
особенно когда тебя торопят
IB Akhrorov
Getx stable уже?)
Nickolay Ponomarev
но я вот первый проект на флаттере с ним делаю и прям нарадоваться не могу, что мне много вещей не надо делать руками
Nickolay Ponomarev
насколько я понимаю, да)
Nickolay Ponomarev
мне бэкграунд в других языках помогает более-менее нормально все организовать, что бы мешанины не было. новичку хз как будет
Nickolay Ponomarev
товарищ использует на другом проекте Provider и RxDart. я смотрю и понимаю, что у него всякого бойлерплэйта намного больше, чем у меня и читаемость ниже
Vyacheslav
[
{
"type": "link",
"text": "https://www.youtube.com/watch?v=AV_4aVOKl-g&t=4159s"
},
"\nвот здесь в разделе \"Вопросы\" Фокс отвечает про GetX"
]
IB Akhrorov
Да он говорил что это не подходит принципам solid)
Nickolay Ponomarev
есть какой-то способ ускорить gradle? невыносимо долго собирает
Anton Kowalski
Finished with error: Failed to establish connection with the application instance in Chrome. This can happen if the websocket connection used by the web tooling is unable to correctly establish a connection, for example due to a firewall. Ребята не могу избавиться от такой проблемы уже и брандмауэр отключен и выполнял различные команды предложенные в инете, все равно выскакивает эта ошибка.
Makhmud Ushamiev
В getx не копал, но вроде у них глобальная стора, не?
Dmitry Bubnenkov
Хочу сбилдить тестовое приложение под iOS в bitrise Какой режим выбрать? Save for iOS App Store Deployment Save for Ad Hoc Deployment Save for Enterprise Deployment Save for Development Deployment
Dmitry Bubnenkov
Чем Save for Ad Hoc Deployment отличается от Save for Development Deployment ?
Andrey
никто не знает какого-нибудь плагина для vscode чтобы можно было выделять от скобки до скобки вместе с текстом перед скобкой, как это в идее сделано? уж больно удобная фича и больно тормознуто идея работает (shift+стрелка вверх/вниз на маке)
Michael Bazilique
ребят, такую кнопку можно как то нарисовать проще чем positioned в стэке?
Michael Bazilique
боюсь что на разных девайсах будет уезжать влево-вправо
Michael Bazilique
(я за кружечек с цифрой)
vasilich
Контейнер виз декорасьйон Ров(спейс битвин) Текст Контейнер 4
Michael Bazilique
а как мне правильно сказать ему за высоту кружечка
Michael Bazilique
или он примет высоту контейнера внешнего?
|