Программирование : Dart & Flutter по-русски
Evgeniy Troynov
с "Охотой крепкая" пойдет
Евгений
для битриксоидов вполне
Ilia
ну так че по делу мужики, Firebase чем заменить можно?
Ilia
неужели никто не знает
northelks
ничем, переписывать всё равно придётся, можно просто часть кода по фаербейзу правильно уложить в модульностью
northelks
а потом, когда нужно, переписать этот модуль без потерь больших
northelks
апи у фаербейза простое, если говорить о фаерсторе или реалтаме бд
northelks
модуль = просто написать апи к модулу, который стучится в фаербейз, потом это можно просто переписать на всё другие, а апи модуля останется для прилаги прежним
Ilia
так не проще сразу подрубить например mongodb или другой вид базы данных и с ним пилить год?
northelks
а монга не дорогая?)
northelks
можно ,всё можно)
northelks
только нужно сервер запускать, на неё бд, плюс смотреть, чтбы ничего не упало, не пропало
Ilia
а почему mongodb дорогая, она же вроде опен сорс
Ilia
подрубил сервер установил mongodb и ничего не платишь
northelks
я про монго клауд подумал изначально
Ilia
не я чисто про базу данных
Ilia
как mariabd или msql
northelks
ну тогда весь вопрос лишь в сервере и администрировании самой бд
northelks
плюс бэкапы и тп
northelks
плюс написание бэкенд части, который будет безопастным прокси для коннекшена к бд
northelks
чтобы не стучаться в бд напрямую из мобилки
Ilia
[
"да есть еще такой варинат, взять например опен сорс страпи\n",
{
"type": "link",
"text": "https://github.com/strapi/strapi"
},
"\nи подрубить к нему базу данных"
]
northelks
[
"если хочется прям совсем прямо стучаться из мобилки в бд - есть ",
{
"type": "link",
"text": "hasura.io"
},
""
]
Ilia
будет тогда свой сервер с headless CMS и базой данных
northelks
всё можно, это уже дело техники и рук)
northelks
ладно, что-то мега зафлудил тут я чатик жутко) пойду, полезного чего поделаю)
northelks
да, на базе постгреса построен
northelks
есть ещё timescaledb, тоже на базе постргреса, опен сорс - это если нужна time series бд, там и интересная идея чанков и компрессия (до 70-80% можно удачно замутить меньше места для бд)
northelks
если уж расматривать альтернативы клаудам) и их бд
Evgeniy Troynov
любым Api gateway
Evgeniy Troynov
а под капотом юзай че хочешь хоть perconaDB
Evgeniy Troynov
в этом кейсе всегда есть вопрос как масштабировать и кто будет это поддерживать
Evgeniy Troynov
ой ненадо
Evgeniy Troynov
вы пожалете
Ilia
с этим соглашусь, нужно будет менять сервер каждый раз когда количество людей увеличивается в 2-3 раза
Evgeniy Troynov
самое плохо что его еще и стопать придется
Evgeniy Troynov
а это недоступность прилаги === потеря денег
Evgeniy Troynov
там с реализацией все плохо
Evgeniy Troynov
лучше contentful
Evgeniy Troynov
strapi любят фул мажорками бахать
Ilia
но буду знать теперь что хотя бы 1 человек говорит что не все так гладко)
Evgeniy Troynov
мы ее юзали достаточно долго
Ilia
а то никто ничего мне про strapi не говорил думал там все новое и крутое
Ilia
получается вы сами перешли на Firebase
Ilia
даже зная что будете переплачивать?
Ilia
неужели Firebase так хороша)
Дмитрий Щербаков
На самом деле у fb только плюс в том что вам не нужен свой бэк и команда бэкеров, остальное все минусы
Дмитрий Щербаков
Для mvp норм, для большого прода я бы не стал
Ilia
да мы обсуждали это, большой проект может сожрать все деньги, если не будет окупаться.
Ilia
я кстати заметил что мало людей знают что такое headless cms, видать время еще не пришло)
BORSHEVIK
Файрбэйс охренеть какой дорогой. Я как посмотрел их прайсы, это просто дичь
BORSHEVIK
ЗА авторизацию пользователя, больше бакса
BORSHEVIK
иупо для POC решений
Темирлан
Всем привет. У меня такие требования в дизайне. У меня есть listview. После списка стоят две кнопки. Если я вставляю их в листвью то при коротком списке в конце эти кнопки оказываются по середине экрана. Я решил использовать стэк. И поставил stack positioned внизу с этими кнопками, а поверх него stack positioned.fill но он перекрывает эти кнопки. Можно ли как то сделать. чтобы.эти кнопки всегда были внизу экрана при добавлении в листвью. Или же поставить их поверх Positioned.fill,но чтобы они показывались только тогда, когда ты проходишь в конец листвью
Темирлан
Или сделать так. Перекрыв кнопки positioned.fill но пустой его частью Без виджетов внутри, а коола например там маргин. чтобы сквозь него нажимались кнопки за ним
Rauan Toleubek
Column -> expanded List buttons
Valera Dmitruk
Подскажите пожалуйста, почему при вставке OverlayEntry, её build метод может вызываться 2 раза подряд ?
Темирлан
Да, я так делал. Но тогда список не будет работать по всему экрану
Темирлан
А часть экрана всегда будет занята этими кнопками
Mykola Shevchenko
Подскажите пожалуйста, если в изоляте выбрасывается ошибка, которую не обработали, то изолята становится в целом не рабочей и там больше нельзя запускать таски?
Evgeniy Troynov
она обычная просто вокруг нее есть пул необходимых нам сервисов
Valera Dmitruk
В ListView используй controller чтобы следить за положением прокрутки. Когда прокрутка в конце - показывай кнопки
Evgeniy Troynov
яб сказал оно уже ушло
Evgeniy Troynov
оно не стало таким популярным как все ждали
Evgeniy Troynov
да и появились другие решения
Темирлан
Там дабл значения в пикселях? Или как-то по position можно определить
R2R
Привет! Ребята, подскажите, пожалуйста. У меня есть кнопка («Показать»), кликнув на нее нужно отобразить результаты get запроса. Как мне это правильно сделать? Логика у меня прописана в отдельном виджете, но я не могу сообразить как сам виджет отобразить по нажатию кнопки. Что указывать в onPressed?
Evgeniy Troynov
либо тут либо на новом скрине
Evgeniy Troynov
не совсем понятна суть вопроса
R2R
нужно тут, под кнопкой
R2R
по нажатию на кнопку нужно чтоб виджет отобразился
Evgeniy Troynov
ну впихни тута контейнер и положи данные в переменную
Evgeniy Troynov
по нажатии на кнопку данные в переменную
Evgeniy Troynov
а в контейнере проверка на пустоту
R2R
туда это в onPressed?
Rasul
List physics : NeverScrollable
Evgeniy Troynov
зачем, в область под кнопку
Evgeniy Troynov
или над кнопкой
R2R
пробовал, не сработало(
Evgeniy Troynov
в onPress обработчик на присвоение данных
Evgeniy Troynov
а данные то присваиваются?
Valera Dmitruk
Там комплексная штука, придётся самому разобраться :)
R2R
так, я кажись понял в чем мой косяк, сейчас буду пробовать, спасибо)
Андрей Козак
Всем привет. Подскажите, подключаю firebase и вижу в документации, что надо await делать из initState. Что как бы нельзя. Вопрос - какого х? Или может в 2.0 теперь можно?
Юджин Баладжахе
Тупой вопрос. Мне нужно для корпоративной библиотеки сделать свой кастомизированный TextField. Я правильно понял, что в любом случае, мне придется в конструкторе моего компонента повторить все 100500+ параметров базового конструктора? Никаких способов унаследовать конструктор, и перекрыть только метод build() в дарте нет?
Дмитрий Щербаков
copyWith
Юджин Баладжахе
О, спасибо, ушел читать!
Андрей Козак
Конструкторы к сожалению не наследуется
Юджин Баладжахе
Некошерно в initState в базу ходить напрямую. Делай отдельный класс хоть на ChangeNotifiedProvider хоть на Cubit, а в виджет выводи данные через FutureBuilder() или BlocBuilder(). И такой проблемы не встанет в принципе.
Андрей Козак
Да это понятно. Я не вкурил почему в офф доке так написано, если оно работать не будет
Юджин Баладжахе
повбывав бы усих ))
Андрей Козак
У меня такая же проблема, но я прикидываю только то что нужно
Андрей Козак
И в студии не нашёл возможности генерировать конструктор на основе полей базового класса
Андрей Козак
Ну и руками муторно писать, но что делать как говориться)
Юджин Баладжахе
[
"В оф. доках к плагинам к сожалению фатально тупые примеры. Одно вот это поделие чего стоит. Ради простого счетчика написали целую поэму))\n",
{
"type": "link",
"text": "https://bloclibrary.dev/#/fluttercountertutorial"
},
""
]
Юджин Баладжахе
Для своих классов я поступаю проще - в конструкторе минимально полей, а остальное делаю через: MyClass(param1) ..param2=v2 ..param3=v3 Работает не всегда, некрасиво выглядит, нет инкапсуляции, но Бог терпел и нам велел...
?????????? ??????????????
ребят а что может блокировать обновление формы при клике на кнопку?
?????????? ??????????????
понимаю что несу фигню… но вчера лодер крутился а сейчас кнопка будто выпилена из стейта….
nazirjon
Ребята не могу upgrade project что делать?
nazirjon
у меня такие файл нет
Дима
pubspec.yaml покажите
Roman Aleksandrovich
Доброго дня. никто не сталкивался с такой проблемой ?
Миша
Никто не знает, из-за яего провайдер орет?
Миша
До этого аналогично использовал, все нормально было
Дмитрий Щербаков
там же все написано что провайдер не найден выше по дереву. P.S. еще бы скриншот в ворд для эпичности ??
Миша
Хахаха, эт да. А насчет не найдет, это как так? Не совсем понимаю просто, что имеется ввиду
Дмитрий Щербаков
Где объявлен провайдер в коде? в контексте чего? и где вызывается
Dmitry
господа, а можно как-то заранее узнать какого размера будет виджет после билда?
Дима
а, блин, там не пакетов апгрейд а флаттера... а ставили его как вообще?
Damir
1. Вы скачали через архив версию флаттера 2. Более вероятно, что склонировали флаттер сдк к себе в гитхаб и пытаетесь обновиться
Damir
Т.к в ошибке написан ваш гитхаб
nazirjon
я никогда не скачал у меня в гитхаб тоже нет такое репо
nazirjon
как можно изменить юрл на другую?
Radomir Epur
[
{
"type": "code",
"text": "LayoutBuilder()"
}
]
Dmitry
не уверен как мне это поможет мне нужно в зависимости от текста, переданного в виджет, задать ширину контейнера он лежит в стеке
Дмитрий Щербаков
обернуть в Expanded?\
Дмитрий Щербаков
вычислять размер до билда плохая затея
Дмитрий Щербаков
надо делать "резиновое" все
Radomir Epur
Так, то есть, ты хочешь узнать размеры виджета, который еще не сбилдил. Для того, чтобы узнать, надо билдить, но билдить без размеров ты не хочешь, ты хочешь знать размер. Для того, чтобы этот размер узнать, надо сбилдить. ЭЭээ, стоп, где-то я это уже видел...
Dmitry
там суть такая есть кнопка типа [??Какой-то текст] надо при клике чтобы с анимацией контейнер сузился, текст спрятался, а иконка осталась
Yerassyl Maikhanov
тип как в ВК ?
Дмитрий Щербаков
не ну там есть наркоманский костыль через renderbox но такое
Yerassyl Maikhanov
какой то текст йцукен[подробнее…]
Radomir Epur
[
{
"type": "mention",
"text": "@eshxe"
},
" дело говорит. Затея изначально провальная)"
]
Dmitry
ну это да, я так и не хочу вот думаю как решить эту проблему
Yerassyl Maikhanov
ребят, как мне налету вытащить decoration из TextFormField, дописать некоторые аттрибуты и засеттить обратно ?
Yerassyl Maikhanov
и возможно ли такое
Dmitry
иконка строгого размера, а текст может быть разного размера надо width у контейнера менять с iconWidth + textWidth на iconWidth
Дмитрий Щербаков
оберни текст в Expanded
Radomir Epur
[
"А че не воспользоваться каким-нибудь ",
{
"type": "code",
"text": "AnimatedSwitcher()"
},
"?"
]
Yerassyl Maikhanov
AnimatedContainer? и кнопкой меняешь размер контейнера
Yerassyl Maikhanov
а внутри контейнера текст
Yerassyl Maikhanov
там ставишь либо 0, либо null
Yerassyl Maikhanov
когда null он должен весь текст показывать
Dmitry
хммм, вариант надо попробовать
Yerassyl Maikhanov
а, не, не получится так
Темирлан
[
"Как можно получить ",
{
"type": "code",
"text": "_scrollController.position.maxScrollExtent"
},
"\nне в Listener, а после того как ScrollController был присвоен к ListView ?\n\nМне нужно определить длину скроллвью, но не тогда когда сработает скролллисенер. А в самом начале"
]
Sirojiddin
братья помогут мне. что я могу сделать
Sirojiddin
братья помогут мне. что я могу сделать
Дмитрий Щербаков
[
{
"type": "link",
"text": "https://flutter.dev/docs/get-started/install"
}
]
Radomir Epur
Вот так попробуй
Темирлан
Но походу потому что там стрим билдер
Темирлан
и сначала его длина 0
Radomir Epur
[
"Ну, если там стримбилдер, то попробуй его задействовать. Вызывай ",
{
"type": "code",
"text": "_scrollController.position.maxScrollExtent"
},
" из стримбилдера когда тебе надо."
]
Темирлан
Как можно это решить?
Avtandil
[
"Всем привет. Подскажите по поводу обучения dart. Есть сайт ",
{
"type": "link",
"text": "dart.dev"
},
", признается пролистал поверхностно, ощущение, что не знаю с чего начинать. То есть есть информация но не понятно для меня, какие разделы изучить чтобы знать основы. Кто на каких ресурсах изучал dart? Моя цель начать работать с flutter, но для этого как минимум нужно знать синтаксис иметь понятия о том что и как писать."
]
DVS (Read The F.ng Manual) Studio (NoHello)
по шагам: 1) скачать флаттер 2) создать проект по инструкции 3) попробовать что то в нем прямо поменять 4) придумать проект и начать его делать, по ходу понимая как работает флаттер и как в нем всё делается 5) как придет понимание, пойти уже читать про бест-практис, архитектуры, и т.д. 6) удалить проект, переписать с новыми знаниями 7) ... 8) Profit!
Avtandil
Предлагаете начать с флатер а не с дарт?
DVS (Read The F.ng Manual) Studio (NoHello)
именно
DVS (Read The F.ng Manual) Studio (NoHello)
чистый синтаксис без реального применения ничего не дает
Avtandil
Без знания языка на котором работает флатер можно уже начать писать кое что?
Evgeniy Troynov
забыли, "написать todo-list"
DVS (Read The F.ng Manual) Studio (NoHello)
хорошо. можно не на флаттере. можно нативную прогу писать. или сервак. или еще что, но главное чтобы была цель. чтобы изучение языка не было самоцелью
Evgeniy Troynov
ну как сказать
Avtandil
Скажите как есть
Evgeniy Troynov
только когда он придет в flutter толку от проги и сервака небудет
Миша
просто, вроде, все верно
Миша
а оно, собака, не работает
DVS (Read The F.ng Manual) Studio (NoHello)
зато будет понимание дарта, а именно оно и нужно
DVS (Read The F.ng Manual) Studio (NoHello)
это как писать на java бэкенд, а потом пытаться сделать что то для дроида. язык тот же, а практики другие
Evgeniy Troynov
в случае с flutter нужно основные понятия структур данных, циклов и классы
Evgeniy Troynov
все остальное не нужно
Evgeniy Troynov
так в flutter не используется
DVS (Read The F.ng Manual) Studio (NoHello)
то есть надо придумать цель. что конкретно делать: бэк, фронт, мобайл, и от этого уже плясать
Radomir Epur
Дерево виджетов покажи
Avtandil
В любом случае будет бизнес логика, значит будут определенные условия, если не знать базовый синтаксис как логику писать? Или во флатер большинство случаем бизнес логики предусмотрена и есть готовые шаблоны где нужно просто передавать пропсы?
Avtandil
[
"А кто-то учился базовому по документации ",
{
"type": "link",
"text": "dart.dev"
},
"? Насколько это будет правильный выбор?"
]
Evgeniy Troynov
ну так то да, там почти все через виджеты
Evgeniy Troynov
и обработка виджетов
Ilia
кто может расcказать про flutter 2 кратко, если кто узнавал.
Dmitry
если кому интересно, сделал вот так
Dmitry
[
{
"type": "link",
"text": "https://www.youtube.com/watch?v=rH74veG_1yE"
}
]
Avtandil
Если я вас правильно понял, в принципе, будет нормально если изучение начну с флатер а не с дарт?
Dmitry
изучая флаттер, изучишь дарт) у них достаточно тесная связь
Baska
[
"куда и как впихнуть кнопку class Landing extends StatelessWidget {\n ",
{
"type": "mention",
"text": "@override"
},
"\n Widget build(BuildContext context) {\n return Scaffold(\n body: Stack(\n children: [\n Column(\n children: [\n AppBar(\n title: Text('Радиостанции'),\n ),\n Expanded(\n child: RadioList(),\n ),\n ],\n ),\n PlaybackView(),\n ],\n ),\n );\n }\n}"
]
Avtandil
Благодарю. Есть курсы на udemy и в основном они про флатер, я вот думал почему так? Например писать Vuejs приложение не зная js, мне кажется получится не очень гуд приложение. Неужели такого не произойдет с флаттер/дарт не зная дарт?
Radomir Epur
А там maxScrollExtent, вроде, и должен быть 0. У тебя виджеты все помещаются на экран. Попробуй добавить еще пару, чтобы они на экран не помещались, тогда maxScrollExtent должен стать > 0.
Темирлан
У меня там длинный ListView они никак не поместяться на экран
Oleg
Всім привіт. Хто може підказати де гарно пояснено роботу Provider,BLoC?
Dmitry
вообще никогда не понимал что значть "учить язык" достаточно понимать простейшие основы, вроде конструкций ветвления, циклов, описание функций (и что это такое, что такое аргументы, возвращаемое значение), еще неплохо бы основы ООП и всё зная это, ты можешь писать на чем угодно "выучив язык" ты нихрена не сделаешь без какого-либо фреймворка так что бери фреймворк (в данном случае флаттер) и смотри видосы на ютубе, читай доку, читай статьи а самое главное, ПИШИ КОД, чем больше практики, тем лучше
Evgeniy Troynov
потом доучите того чего нехватило
Baska
помогите, нужна кнопка для перехода на следующий экран
Avtandil
Дякую. Ви мали на увазі, почати вчити флаттер а потім підіачити Дарт?
Ilia
а я так понял что вы когда пишете на flutter вы не используете отдельный файл типо file.css что бы писать туда стили И пишете css прямо в коде верно?
|