Программирование : Dart & Flutter по-русски
Дмитрий Шевченко
Просто реакт, он и в вебе и на мобилке одинаковый
Дмитрий Шевченко
Многие решения и там и там работают
Evgenii Elchev
Что ты имеешь ввиду под этим?
Дмитрий Шевченко
Состояние приложения хранится в одном месте или размазано по приложению?
Evgenii Elchev
Ну как напишешь так и будет храниться
Evgenii Elchev
На сколько я знаю это и в ректе так же работает)
pa5ca1
По-моему на pub.dart
Дмитрий Шевченко
Тот самый?
pa5ca1
Да , ещё есть BLoC паттерн
Oleg Pchelkin
Есть еще Provider, MWWM, Mobx) Так что все на вкус и цвет)
pa5ca1
Минусом является вес
pa5ca1
Пускай даже не проекта, а апк
Дмитрий Шевченко
Ок, спасибо
Danila Kalish
Есть ли какой-то способ полностью убрать сплеш скрин, т.е. я знаю как заменить этот белый фон на картинку, но можно ли убрать его полностью?
Oleg Pchelkin
А у РН адекватный размер, кстати?
Oleg Pchelkin
Нет, это время первичной прогрузки приложения
Danila Kalish
OK, спасибо
Антон Немкин
вас дарт не напрягает если кто после js? чисто интересно сколько плеваться придётся
Vlad Vityaz
Я чистый джсник, честно говоря, я готов и поплеваться ради дарта
Vlad Vityaz
В любом случае это прекрасный по своему язык, для определенных нужд, что js что dart.
Vlad Vityaz
Но я думаю что большинство согласится в том что строгая типизация, простота синтаксиса, более широка возможность работы с сущностями данных (в особенности с классами), ну и само то, что язык интерпретируемый, а не компилируемый (я могу сильно здесь ошибиться поправьте если так) - очень большой перевес dart перед js
Vlad Vityaz
dart привносит чистоту в разработку, предсказуемость.
Vlad Vityaz
Но тем, кто как я привык к полной свободе реализации, что предоставляет ДжыЭс сложно привыкнуть к рамкам на самом зародыше, на уровне синтакса
admin
поюзай тс, с линтером настроенным))
admin
мне дарт из дарта только потоки понравились)
Vlad Vityaz
возможно) но если сравнивать флатер и рн например, там жирный перевес флатера не только в дарте - согласитесь)
Vlad Vityaz
И когда есть желание делать серьезные вещи там где РН “впирается в потолок”, в Флатера “потолок выше”
admin
насчёт жирного перевеса не соглашусь)
Mike
[
{
"type": "link",
"text": "https://flutter.dev/docs/get-started/flutter-for/react-native-devs"
}
]
admin
ещё не было ни единого случая когда я с рн уперся в потолок
admin
почти, были страдания только)
Vlad Vityaz
Все мы братья по несчастью))
Vlad Vityaz
У дартовского детища возможности в ресурс менеджменте обстоят гораздо лучше
Vlad Vityaz
рано или поздно это познается
Vlad Vityaz
Есть много примеров тестов в этом плане
admin
если говноеды из фейсбука будут так же саппортить рн, то флаттер возможно возьмёт лидерство
Vlad Vityaz
Ничего не изменится, слишком инертно все пошло сначала
Vlad Vityaz
И теперь врядли сильно изменится, незабывай, что обьем сообщества вокруг технологии прямопропорционально связан с инертностью изменений
admin
шёл 2020 год, они только релизнули дебаггер свой, и то его отдельно приходится ставить и он не саппортит старые версии))
Vlad Vityaz
А Флаттер на неделях уже оьновил дебаггер, теперь он буська
Антон Немкин
если мне нужно простое приложение, там из чего-то сложного будет только карта из яндекса) а так всё формочки кнопочки, работа с локацией, загрузить фоточки и так далее, мне нужен флаттер?
Vlad Vityaz
можно обойтись РН
Vlad Vityaz
если не знаешь Флаттер есть варик подучить его)
admin
Антон, вы по всем группам спрашиваете, попробуйте сами сделать это и там и там, это делается , если без знаний то дня три)
admin
тут вам каждый ответит только субъективно на свой вкус
admin
я посоветую рн, Влад флаттер)
Vlad Vityaz
[
"Ну не может человек определиться ",
{
"type": "mention",
"text": "@pendalph"
},
" все хорошо) пускай решает"
]
Vlad Vityaz
Я бы хотел поучаствовать в неком флатер проекте опен сорс может, чтобы попрактиковаться
admin
я после JSX не могу к разметке флаттера привыкнуть
admin
+ два спейса вместо четырёх табов
Vlad Vityaz
Я после Виндовса о Маке так говорил)
admin
Коллеги подскажите , один человек способен разработать приложение с использованием flutter под ios/android с серверной частью , админкой, различными интеграциями по api , или не сможет ?
admin
ну маки хз, зачем они нужны
admin
смотря какой человек
Vlad Vityaz
это все стайлгайд) никто не принудит
Vlad Vityaz
смотря какое приложение)
Vlad Vityaz
Но я лично пощупав немного флаттер, серверный дарт не трогал, полюбил его
admin
а что за привычка, называть рандомных людей коллегами?)
Vlad Vityaz
Коллега - человек который к тебе приобщен, общим делом/интересом. Вполне внятно исходя из того, что мы в групе с общим passion
admin
Тебе есть до этого дело?) Решил вот сегодня так обратиться
Vlad Vityaz
все мы тут отчасти коллеги
admin
не, мне просто интересно, на курсах всяких бесполезных так называют учеников)
Vlad Vityaz
только на бесполезных))
Vlad Vityaz
Теперь я знаю все)
admin
так они все почти такие)
Pavel Pimenov
Очевидно, это зависит опыта человека, сроков и сложности проекта
George Wiseman
Смотря какой ;) я так делал, проблема скорее в том что дольше все одному. но лучше взять хотя бы пару и контролировать проектную документацию
Mike
Все циклично) как дебаггер для реакта, который не поддерживал 0.12 :)
Sergey Hottabych
Скорее, поиграв с дартом, будешь от js плеваться
Sergey Hottabych
Redux самый старый и многословный способ стейт-менеджмента, рекомендую присмотреться к более современным подходам
Savva Morozov
Какой самый удобный
Урусай
А есть какая нибудь альтернатива material компонентам, только нормально кастомизируемая?
Vyacheslav
[
{
"type": "link",
"text": "https://flutter.dev/docs/development/ui/advanced/splash-screen"
}
]
Sergey Hottabych
Provider + ChangeNotifier
Oleg Pchelkin
Смотря какой сложности проект и сколько есть времени и как сильно надо поддерживать. Думаю что сделать MVP более чем реально, дальше будешь проседать то тут то там скорее всего и про качественную поддержку и развитие можно в целом забыть)
Evgeny Cherkasov
Способен, но сколько времени это займет?
Урусай
А есть возможность указать виджету, что бы он размерами упирался в например нижний край экрана? У меня на странице есть элемент, я хочу его развернуть до размеров что бы он почти упирался в нижний край экрана
Evgenii Elchev
[
"почитай вот эту статью ",
{
"type": "link",
"text": "https://habr.com/ru/post/500210/"
},
""
]
Maks Andrienko
всем привет Подскажите а что использовать что бы сделать лоудер по середине, поверх всего экрана и что бы пользователь не мог никуда нажимать пока он не пропадет
Maks Andrienko
я просто не знаю есть ли какие то специальные виджеты или тут надо костылить по типу алерта
Урусай
Это не то что мне нужно, но я внезапно понял что у меня задача не правильно поставлена, поэтому вопрос отпадает. А статья прикольная
Angry TaigaFox
[
"Второй вариант ",
{
"type": "link",
"text": "https://gist.github.com/AndreyKedo/92fa4fe6bfb98a8489fb15a1ba9d976c"
},
""
]
Evgenii Elchev
ну это обясняет как все работает, и например то, что вижеты занимают все доступное им место по умолчанию
Yura Petrov
Всем привет, изучаю Dart, не могу понять как сделать так, чтобы перебор листа происходил асинхронно, то есть, что бы вышло Start, Stop а потом перебор листа. Подскажите пожалуйста.
Павел Середа
async arrayPrint(); сюда видимо переместить это ключевое слово
Yura Petrov
Не совсем понял, куда надо переместить?
Yura Petrov
Только с помощью Stream?
Yura Petrov
Ошибку выдаёт
Oleg Pchelkin
А ты в arrayPrint цикл до 1000 увеличь и посмотри что будет - скорее всего у тебя и высывается асинхронно, просто принт быстрее успевает пройтись
Ilia
можешь поставит delay перед перебором
Yura Petrov
Пробовал , также, ждёт когда перебор пройдет
Yura Petrov
В каком месте?
Nikita Domnitskii
потому что синхронно выполняется
Nikita Domnitskii
до первого эвейта
Yura Petrov
Я уже понял, подскажите пожалуйста как сделать асинхронно?
Ilia
убери async у мэйна, возможно
Yura Petrov
Пробовал, по всякому
Nikita Domnitskii
[
{
"type": "link",
"text": "https://nullsafety.dartpad.dev/38dce3eab516d370a47c5acf6f66cd47"
}
]
Yura Petrov
Спасибо сейчас попробую
Nikita Domnitskii
[
{
"type": "link",
"text": "https://www.didierboelens.com/2019/01/futures-isolates-event-loop/"
}
]
Yura Petrov
Не совсем то, просто я хочу понять, как сделать выполнение определенного кода асинхронно. Например как в Kotlin, оборачиваешь перебор листа в GlobalScope и все, он выполняется в фоне.
Yura Petrov
Спасибо, интересная статья, сейчас изучу)
Nikita Domnitskii
асинхронно выполняются фьючеры и микротаски
Nikita Domnitskii
либо как я скинул
Nikita Domnitskii
либо в изолят
Александр Васильев
[
"Подскажите по deploy android\n\nЯ сделал ключ key.jks локально и прописал в проекте по этой инструкции ",
{
"type": "link",
"text": "https://flutter.dev/docs/deployment/android"
},
"\n\nА потом при публикации bundle мне просит еще раз создать ключ.\nМне создать заново как у них написано и прописать заново путь до ключа во флаттер проекте?"
]
Yura Petrov
Спасибо большое за статью, теперь я понял как работает главный поток в Dart. Все намного проще. Надо создавать экземпляр Future. Dart прекрасен)
Александр Васильев
Помогите плиз те кто публиковал приложения в Google Play
Andreu
у меня стоит первый пункт
les forest
Я тоже первый пункт выбирал. Ключ генерил сам.
Александр Васильев
а что делать с тем ключем который я сделал по инструкции флаттер?
Andreu
ничего, подписывай им приложении при билде и все
Anton ?? ? ??
dynamic так не думает
Александр Васильев
а эти ключи не связанные?
les forest
Его используй при билде релизной версии
les forest
Не используй динамическую типизацию
Anton ?? ? ??
не используй js
les forest
Я и не использую)
les forest
Преимущество дарта как раз что можно и так и так)
Александр Васильев
Кому интересно выбрал - Java Keystore И потом ввел команду, где foo.keystore - это мой key.jks который я сделал по инструкции - флаттера. В замешательтсво ввело название "foo.keystore"
Александр Васильев
[
"Ну и еще ругнулось на pepk.jar который гугла дал.\nСкачал тут и заработало.\n",
{
"type": "link",
"text": "https://stackoverflow.com/questions/44719351/googles-pepk-src-not-working?rq=1"
},
""
]
Andreu
Сказали ж, юзай первый пункт и не будет проблем
Vlad Vityaz
нечего его использовать, без него вполне возможно обойтись.
Ahmet Faruk Turgut
[
"Мое приложение Flutter находится в эфире. Я с нетерпением жду ваших комментариев и критики.\n",
{
"type": "link",
"text": "https://play.google.com/store/apps/details?id=yeni.flutter.uygulama.idm"
},
""
]
Яўген
Добрый день. Вопрос по AnimatedContainer. Может было у кого, что при height = 0, от данного контейнера оставалась тонкая полоска? В дебаге не проявляется, а в релизе проявляется
Dmitry Bubnenkov
[
"Вопрос. Стоит ли делать main async если мне нужно дождаться чтобы connect завершился:\n",
{
"type": "pre",
"text": "main() async {\n Database db = Database();\n await db.connect();\n db.checkIfRowExists();",
"language": ""
},
""
]
Andrew Ka
[
{
"type": "link",
"text": "https://youtu.be/KjFwMQhFrBA"
}
]
Angry TaigaFox
[
"Добрый день, реализовал плагин для Яндекс.Касса может кому нужен будет, к сожалению только под Android, но если кто-то может помочь с реализацией под IOS присоединяйтесь!?? ",
{
"type": "link",
"text": "https://pub.dev/packages/yandex_checkout_flutter"
},
""
]
Sergey Hottabych
Возможно, стоит поднять issue?
Sergey Hottabych
Выглядит как баг
DVS (Read The F.ng Manual) Studio (NoHello)
Если туда поставить не 0, а 0.0 тоже полоска?
Donets
Всем добрый день, имеется такая ситуация пишу приложение и есть определенный виджет с пустой страницей инавигацией как мне в него с другого файла сделать импорт на виджет с новостями
DVS (Read The F.ng Manual) Studio (NoHello)
а теперь еще раз только по-русски пжлст
Donets
у меня на главной странице есть кнопка навигации и все, я создал к примеру папку с новостями и там все файлы с выводом новостей. main.dart | |-news и я хочу вытащить нужный мне класс по выводу новостей и вставить его виджетом в main но понять не могу как это правильно сделать
DVS (Read The F.ng Manual) Studio (NoHello)
import 'news/yourmainclass.dart';
DVS (Read The F.ng Manual) Studio (NoHello)
или просто оставить менеджинг импортов на плечи студии и пусть сама добавляет что надо
Dmitry Bubnenkov
[
{
"type": "pre",
"text": " if(await db.checkIfpurchaseNumberIsExists(json['purchaseNumber']))\n {\n \n }",
"language": ""
},
"\n\nТак вообще на Dart принято писать?"
]
Антон Немкин
С чего вообще вы начинали знакомство с флаттером?
Антон Немкин
интересует самое обычное, апи запросы и кнопочки, анимация примитивная
Donets
погоди а как вставить класс чтоб оно высветилось?
Dan
[
{
"type": "pre",
"text": "bool numberExists = await db.checkIfpurchaseNumberIsExists(json['purchaseNumber']);\nif(numberExists){\n}",
"language": ""
},
"\nтак читабельнее"
]
Dmitry Bubnenkov
[
"А есть разница между?\n",
{
"type": "pre",
"text": "Future foo(String purchaseNumber) async {\n ...\n return true;\n}",
"language": ""
},
"\nи\n",
{
"type": "pre",
"text": "Future foo(String purchaseNumber) async {\n ...\n return Future.value(true);\n}",
"language": ""
},
""
]
Dan
не встречался с таким синтаксисом
Nikita Domnitskii
нет разницы
Dmitry Bubnenkov
Если я в app.dart экземпляр класса подключения к БД. На сколько правильно его импортировать из других файлов. Смущает именно импорт корневого файла app.dart
Дмитрий Щербаков
Зачем ждать в мейне подключение к бд?
Dmitry Bubnenkov
а куда лучше вынести? Я микросервис пишу
Дмитрий Щербаков
приложение должно запуститься и что то показать. в этом "что то показать" и жди подключение к бд ;)
Дмитрий Щербаков
например ее может не существовать, пока она создаться и т.п
Dmitry Bubnenkov
а как из lib/ сослаться на то что в ишт лежит? import ',,/bin/main.dart'?
Nikita Domnitskii
ты что-то не то делаешь вообще
Nikita Domnitskii
зачем тебе в бин лезть?
Dmitry Bubnenkov
да я при старте микросервиса хочу подключаться к БД сразу. соответственно упорно хочется в main.dart создать экземпляр подключения
les forest
main() async {} и создавай
Nikita Domnitskii
ну так передавай параметром хотя бы
Dmitry Bubnenkov
да, но вставку результатов то я хочу делать из отдельного класса лежащего в папке lib
Dmitry Bubnenkov
[
"и там мне нужен доступ к ",
{
"type": "code",
"text": "db"
},
""
]
Nikita Domnitskii
[
{
"type": "pre",
"text": "final dbInstance = await connectToDb();\nawait startMicroservice(db);",
"language": ""
}
]
????? ILyos >
[
"привет помогите с этим ошибкой\nвсе сделал как в этой статьи \n\n",
{
"type": "link",
"text": "https://medium.com/flutter-community/flutter-internationalization-the-easy-way-using-provider-and-json-c47caa4212b2"
},
""
]
Roman Vasiliev
попробуй (_,__)
????? ILyos >
во втором остался еще(
Roman Vasiliev
Ну, тут сам решишь
Temirlan Kuralbaev
Salam vsem. Nuzhno pomosh permission ne rabotaet. Kogda otkryvaeyu app ne pokazyvaet modalku razreshite
Sergey Hottabych
Не builder, а create. И ты должен создавать класс
Roman Vasiliev
Само по себе прописывание разрешений не открывает окно с подтверждением разрешения
Sergey Hottabych
Вчера был апдейт, он добавил builder, который позволяет сразу же и построить виджет - вот он у тебя и требует Widget
Temirlan Kuralbaev
chto mozhno sdelat ?
Roman Vasiliev
использовать плагин который вызывает через натив, и вызывать код плагина в том месте, где разрешение требуется, либо писать в нативе самому, через MethodChannel
Temirlan Kuralbaev
contacts_service usayu. ios rabotaet, android ne pashet )?
Roman Vasiliev
Я этим не пользовался, просто знаю как на андроид это работает (разрешения)
????? ILyos >
понял спасибо
Sergey Hottabych
Я не видел весь твой код, но там либо create, если создаёшь класс AppLanguage(), либо value, если там действительно переменная appLanguage, которая выше проинициализирована
????? ILyos >
делал все как на статье
Sergey Hottabych
value надо в таком случае Синтаксис в статье устарел.
Sergey Hottabych
Слабо прочитать справку по провайдеру? Там это разжевано в первых же строчках
Andrew Ka
[
{
"type": "link",
"text": "https://youtu.be/FmPMg2va8Jg"
}
]
Chikita
Привет всем, почему flutter подключенных телефоны не видит? Обновил теперь такая проблема
??†e???
[
{
"type": "link",
"text": "https://habr.com/ru/post/510106/"
}
]
Урусай
А DraggableScrollableSheet поддерживает snap-функционал?
Sergey Hottabych
Кому-то декларативный подход очень сильно не даётся))
Nikita Domnitskii
а чем он не декларативный?
Dmitriy Orteney
Прост SwiftUI и Jetpack Compose примерно так выглядят
vasilich
А когда читать - нужно в голове задом наперед инструкции переворачивать?
Урусай
Тем что фабричный?
Урусай
Так фабрики обычно выглядят
|