Программирование : Dart & Flutter по-русски
Yerassyl
Привет всем, как можно сделать скрин как в инстаграме, просмотр сториса и при свайпе вниз с анимацией закрывает этот скрин. Какие есть варианты?
Олжас Сулеймен
[
"тут были? начал бы отсюда ",
{
"type": "link",
"text": "https://flutter.dev/docs/development/ui/animations/hero-animations#basic-structure"
},
""
]
Artem Tischenko
Привет, а где найти материалы с конференции, мне оч презентация про анимации понравилась, хотел бы её детальнее разобрать.
Anton Anokhin
Запись выложим через 3-4 недели
Nikolay Ivanov
Жду с нетерпением ?? очень любопытно
Марк Григорьев
Всем привет! Участвовал на хакатоне в Якутске, использовал флаттер для разработки, изучаю тока 2 неделю. Решил испытать его возможности в боевых условиях. Так вот 3е место заняли, из 30+ команд) так что флаттер сила !
Александр Журавлев
Красавцы!
Марк Григорьев
Приложение для знакомств с вознагражденим если вкратце . Апкшку скидываю если кому интересно
Марк Григорьев
Да, конечно ??
admin
крут) мои поздравления
Марк Григорьев
Бекенд правда на node js, хотел в идеале его на Дарье сделать , но времени увы не хватило
???????
На дарте офигенно выходит
???????
На прошлой неделе попробывал. Прям ваще кошерно, все что надо
???????
[
{
"type": "link",
"text": "https://pub.dev/packages/shelf"
}
]
???????
Было несколько вопросов, кое где затуплял, но все решились, со всем разобрался)
Виктор
Прикольно выглядит, но некоторые кнопки съехали )
Di
там не одна проблема точно)
??????>? Maksim Mukharev
Подскажите, может сталкивался кто или просто в теории хорошо разбирается, можно ли сделать автоматический генератор приложений на Flutter? Типа Saas? Допустим просто форма с контактами и красивая картинка.
Александр
Подскажите, как сделать, что бы шапка экрана с картинкой постепенно становилась невидимой когда скролишь список под ней вниз ?
??????>? Maksim Mukharev
Класс, а есть какие-то кейсы, на которые можно посмотреть?
IB Akhrorov
Добрый вечер, кто знает работает десктопное приложение который создан на языке флаттер на компьютере где нет dart vm
IB Akhrorov
Официальный документации нет, но есть статьи на медуиме
IB Akhrorov
[
{
"type": "link",
"text": "https://medium.com/flutter-community/flutter-for-desktop-create-and-run-a-desktop-application-ebeb1604f1e0"
}
]
IB Akhrorov
Но работает )
IB Akhrorov
Тоже верно и возможно
Виталий
[
{
"type": "link",
"text": "https://github.com/flutter/flutter/wiki/Desktop-shells"
}
]
Виталий
Ранняя стадия разработки
Виталий
Т.е вот именно так
Виктор
[
"Только что узнал, что есть штуки по типу \n\n",
{
"type": "link",
"text": "https://flutterstudio.app"
},
"\n\n",
{
"type": "link",
"text": "https://morbium.ml"
},
"\n\nМде. Сколько сил было потрачено на gui..."
]
Виктор
Если что, то эти "помогаторы" для gui хорошо работаю с google chrome (с Firefox не дружат)
Линара
Привет) А кто нибудь выиграл книгу kindle?)
Fearless Cry
на ютубе есть конкретно этот доклад
Fearless Cry
[
{
"type": "link",
"text": "https://www.youtube.com/watch?v=5no7ZFRHm40"
}
]
??????>? Maksim Mukharev
Я бы глянул ))
DVS (Read The F.ng Manual) Studio (NoHello)
[
{
"type": "link",
"text": "appit.itis.team"
},
"\nНа Хаке сделали за вечер.\nФактически, впиливается один файл типа конфигов и через докер билдится\nНо сервак устал и не работает"
]
Евгений
[
"Чатик привет.\n\nИспользую \nTransform.scale(\n alignment: ",
{
"type": "link",
"text": "Alignment.center"
},
",\n scale: 0.2,\n transformHitTests: false,\n child: Container(\n width: 1600,\n height: 800,\n child: Slides.buildEditor(Slides.multiple_choice),\n )\n)\nРодительский контейнер высотой всего 200. Дак вот этот scale ведет себя так буд-то и дочерний контейнер 200 а не 800. \n\nКак обмануть этого гада, отрендерить в высоту 800 и только потом уменьшить?"
]
Артем ??
из css: scale работает как уменьшительное или увеличительное стекло. соответственно, всё будет уменьшаться или увеличиваться внутри родителя тоже. костыль: задать размер больше/меньше для дочернего элемента p.s. информация требует подтверждения, ибо это из css. с дизайном flutter не так хорошо знаком
Артем ??
вообще, конечно, разметка должна быть правильной, чтобы не создавать подобных костылей. возможно, стоит подумать над другим решением?
Alexey Kazin
[
"Если костылить и обманывать, нужно делать вид что он уже отредерился с помощью Offstage\n",
{
"type": "link",
"text": "https://api.flutter.dev/flutter/widgets/Offstage-class.html"
},
""
]
Евгений
дык это превью слайда. Он типо и должен быть уменьшенный.
Alexey Kazin
Может тупо задать размеры у контейнера и вообще трансформ не использовать? Для выравнивания пихнуть Center.
Евгений
Тогда ребенок большой будет, в превью не влезет) Но он и так и так ведет себя буд-то не влазит
Alexey Kazin
Подождика, выглядит как будто Slides фиксированного размера. Фиксу почти ничем не перешибешь))) Есть вариант отредактировать slides widget, чтобы он принимал например размер родителя. Aspect ratio у Slides фиксированное? Тогда подойдёт AspectRatio
Евгений
[
"Чот кажись получилось\n\nTransform.scale( \n alignment : ",
{
"type": "link",
"text": "Alignment.center"
},
",\n scale: 0.3,\n child: OverflowBox(\n minHeight: 400,\n maxHeight: 400,\n child:Slides.buildEditor(Slides.multiple_choice),\n )\n)\n\nВыглядит крипово) Но работает\n\nOverflowBox - позволил вылезти за границы, а результат отскейлил"
]
Artyom Nesterenko
Кастомизированный GNOME.
Энтони Бардзак
Опять я и опять про webview Можно как-то использовать собственный css для того чтобы сделать тёмную тему для сайта.
Artyom Nesterenko
Тема Arc, иконки Numix.
Artyom Nesterenko
Ещё как минимум плагин Dash-to-Dock.
??????>? Maksim Mukharev
Класс! Это то, что нужно. В open source не отдали, случаем?)
Yerassyl
How to set string text in text field from one screen to another.
Yerassyl
Controller I know
Yerassyl
But I am gonna pass string text to text field, which is another screen
Nick
гайз, а есть какая-то либа, позволяющая нормально работать с *.gql файлами в флаттере? так не нравится держать запросы строками прям в местах вызова, аж жуть, хочется нормальный graphql-way
Nick
есть, конечно, варик через assets сделать, но не хочется каждый файл добавлять руками + хочется чтобы нормально hot reload работал и нативные gql импорты
DVS (Read The F.ng Manual) Studio (NoHello)
Неа, но и не запустили. Пиво случился
Евгений
You need state managment. For example, a Scoped Model
Олжас Сулеймен
Gnome & Dash to Dock
Daniil Kolyasnikov
Выполни js который меняет css.
NewBalanceM5
а кто-нибудь делал аудио плеер, как вы делали офлайн режим?
Yuriy
нативными плагинами
Serhii
помогите догнать чем with от наследования отличается. вроде же суть та же: использовать методы того класс от которого мы наследуемся или миксуемся(в случае с with как я понял, ну типа миксин)
Ilya
Это множественное наследование. Отличается некоторыми ограничениями, например, тот класс, который mixin не может иметь конструктора. Возможно, что-то ещё есть, так сразу не вспомню
Di
Раньше была, но чисто для поиска вещей арабам
Ilia Kurtov
Да, все киндлы выиграли )
Kirill Bubochkin
Какой-то он слишком низкоуровневый, по-моему. Я так понял, он позиционируется как фреймворк для фреймворка. Я тут решил акведук взять для одного проекта, пока вроде неплохо, хоть и есть свои минусы.
???????
В бинарь не соберете
???????
Прям с ходу это оттолкнуло
???????
Шелф офигенно зашел мне
Kirill Bubochkin
Ну я в докере запускаю
???????
Можете мне или олжасу задаватб вопросы по шелфу
???????
Ну смотри) Такто и бинарь в докер можн
Линара
Если кто то не пользуется я бы купила :3
Линара
Я про электронную книгу
Kostya
А что за книга разыгрывалась?
Линара
От amazon электронная книга Kindle, к сожалению у меня нет знаний что бы поучаствовать, но я люблю читать))
Daniil Kolyasnikov
Почему зашёл ?
???????
Есть вообще все что надо для моей задачи и никакого лишнего мусора.
Daniil Kolyasnikov
Авторизация ?
???????
По токену, а в следующем микросервисе - через сервис авторизации компании, ну и що, еслиб нужен был OAuth 2 - не сделал бы?
Daniil Kolyasnikov
Т е это скорее библиотека?
???????
Ну это удобная обертка над io, которая дает тебе простор творчества и мидлвари.
???????
Если нужна помойка типа вордпресса, шоб оллинклюзив из коробки, то это вообще не к дарту
???????
Это скорее к какойнить пыхе
???????
Для микросервиса, как по мне, все что надо и ничего лишнего.
Daniil Kolyasnikov
А орм?
???????
Ну возьми отдельно, если надо. Мне postgres.dart - за глаза.
???????
Сейчас с блокировочками доразберусь, сделаю экранирование, иттератор для строк с помощью колонок, кодогенерацию запросов и вообще кошерно будет.
Yerbolat
всем привет юзер авторизовался -> записан данные в кэш -> юзер закрыл приложение -> открывает -> я должен пропустить страницу авторизации и выполнить запрос
Yerbolat
как это реализовать
???????
От архитектуры же зависит
Yerbolat
не так выразился
???????
Но вообще перед тем как пропускать, надо удебится, что его токен не протух
???????
Как автороутинг сделать?
Yerbolat
нужно чтобы перед LoginPage() выполнялась одна функция
Max
Я в Shared preferences запихиваю все данные, в splash_screen проверяю валидны ли данные и потом роут перекидываю если все ок
???????
в корне приложения initState слушаешь свои состояния, фильтруя состояния авторизации. Если прилетает, что авторизован - дергаешь навигатор и путешествуешь куда тебе надо
Yerbolat
которая будет решать будет ли логин открыт или нет
Yerbolat
разве sharedPref не для настроек приложенеия?
Yerbolat
там не желательно хранить уязвимые данные
Fearless Cry
Всем привет. Кто-нибудь практикует переопределение == и хэшкокода у кастомных виджетов?
???????
Это также и key-value NoSQL для ленивых)
Max
я 2 день на Flutter))
???????
Вообще, там есть секурное хранилище для токенов, насколько помню
???????
собственно, так и называется
Michael Bazilique
А не можно это реализовать через стрим в руте?
Yerbolat
ну вот flutter_secure_storage я этот пакет юзаю
???????
Фильтруешь поток состояний (если любая архитектура со стейт менеджером) на состояния авторизации, в нем организуешь путешествия через навигатор. Все это распологать в initState в корне
Daniil Kolyasnikov
Мне кажется, что разумным было бы сделать экран загрузки на котором инициализируется хранилище и проверяется токен, если все хорошо то дальше в нормальном режиме, если нет, то на авторизацию
Daniil Kolyasnikov
И пользователю понятно что происходит загрузка ( хоть circular progress indicator просто кинь )
Yerbolat
да, я тоже так думал
Yerbolat
но видимо из за не хватки опыта не смог реализовать
Yerbolat
там проблема вышла с тем что билд не запускается асинхронно
Yerbolat
а там чтобы проверить токен мне нужен как раз future
Daniil Kolyasnikov
Билд всмысле отрисовка ?
Daniil Kolyasnikov
Зачем асинхронным его делать ?
Daniil Kolyasnikov
Небось там внутри await ?
Yerbolat
ну в отрисовке нет конечно
Yerbolat
я имею в виду когда ваш вариант у себя делал пришлось сделать с await
Yerbolat
ну и не получилось
Yerbolat
вообще было бы круто посмотреть как другие разработчики пишут проект на флаттере с rest api
Yerbolat
какие паттерны использует где и как
Yerbolat
есть такие видео у кого то?)
Daniil Kolyasnikov
Не претендую на идеальное решение. Как делаю я Если нужны какие то сетевые данные. 1) stateless widget - scaffold - bodywidget (statefull) 2) в statefull виджете асинхронный метод load и bool isLoading свойство ( по умолчанию true) 3) если isLoading : в начале билда возвращаю какой нибудь виджет лоадера 4) внутри load обычно все на await и после разрешения future- setState (isLoading = false)
Daniil Kolyasnikov
Это быстро пишется , это работает. Не очень элегантно и по сравнению с блоком и стримами
Yerbolat
блин крутое решение по сути
Daniil Kolyasnikov
Сомневаюсь что кто пишет видео программирования. Интимный процесс
Yerbolat
у меня только первый пункт есть)
Daniil Kolyasnikov
Пиши если что
Andrey
Добрый день подскажите плз пытаюсь кастомизировать CupertinoSwitch нужно получить thumb синего цвета вкл и серого при выкл. мне нежно наследоваться от CupertinoSwitch или как-то можно еще костамизировать?
Daniil Kolyasnikov
В документации какие есть параметры ?
Andrey
[
"this.value,\n",
{
"type": "mention",
"text": "@required"
},
" this.onChanged,\nthis.activeColor,\nthis.dragStartBehavior"
]
Daniil Kolyasnikov
Мне кажется что названия параметров очень говорящие
Andrey
activeColor аффектит track color, мне надо + thumb
Ulugbek Isroilov
всем привет. кто работает с firebase messaging, можете подсказать как вы вынесли логику \ конфиг отдельно от UI? сейчас я сделал отдельный класс где происходит вся настройка, который вызывается в main() методе до runApp() но проблема в том что теперь я не имею доступа к контексту и соответственно не могу показывать тот же DialogBox когда приходит уведомление. мне кажется я точно делаю что-то не то... был бы благодарен любому направлению. задача наверняка решена уже давно.
Nikolay Ivanov
Я делал для FCM отдельного провайдера, экземпляр которого создаётся в синглтоне репозитория. И через Bloc и стримы передал все это в UI ??????
Vadim
Подскажите, пожалуйста, есть ли возможность узнать, есть ли у ListVIew прокрутка? Необходимо рисовать кнопку или в конце листа или в конце страницы.
Taras
ScrollNotification и ScrollController - можно использовать чтоб отловить событие прокрутки ну а там навреное высчитывать длину списка по количеству видимых элементов по отношению к всему списку
Ulugbek Isroilov
в каждом экране прижется слушать получается???
Vadim
Но это событие прокрутки. А при отрисовки, не могу понять как сделать.
Taras
я отредактировал ??
Taras
[
"я б задействовал viewport и ",
{
"type": "link",
"text": "https://api.flutter.dev/flutter/widgets/CustomScrollView-class.html"
},
""
]
Taras
viewport - он как раз отображает видимые элементы на экране
Nikolay Ivanov
Может попробовать где то выше подписаться один раз?
Vadim
Спасибо, потестирую сейчас
Ulugbek Isroilov
да можно попробовать?? спасибо
Kostya
Я имею ввиду как называется книга?))
Max
Amazon kindle fire это читалка, она разыгрывалась
Kostya
Так она ж бесплатная?
Yerassyl Maikhanov
Вопрос
Yerassyl Maikhanov
Как реализовать автообновление приложения
Yerassyl Maikhanov
Типа как в вк
Виталий
Вк обновляется через маркеты
Виталий
Вы наверное имеете ввиду фб
Yerassyl Maikhanov
Или он
Yerassyl Maikhanov
ВК тоже умеет
Александр Котков
Гайз, как флаттер поживает? Слышал все очь плохл на айосе
Taras
Ну просто чтоб писать под ios на flutter нужно понимать как работать с Xcode + cocooa pods как минимум
Sergey
Всем привет. Подскажите как в пакете Intl сдлетаь так чтобы названия месяцов писались на русском? На телефоне русский стоит как основной
Александр Котков
А ну тогда все ок
Александр Котков
Я слышал фотки тупят
Taras
на ios13 все может быть??
northelks
добавить через xcode русский
northelks
google xcode add lang
Nick
все нормально. есть некоторые неточности отображения Cupertino Widgets, но в остальном все ок
Taras
в новых редакциях xcode ужасно глючен как и ios13 + macOS Catalina - я лично окатился назад с этого дерьма
Yuriy
10К на 20К? ну если втыкать не адаптированые то тупить везде будут
Sergey
Разобрался. Нужно: import 'package:intl/date_symbol_data_local.dart'; initializeDateFormatting();
Yuriy
я против каталина - говно не удобно шо пипец
northelks
айос13 сам по себе мегаглючный
northelks
а кто тебя будет спрашивать?))
Nick
а что не так с каталиной? сижу на ней еще с беты, все окей
Yuriy
куча 32 вещей не поддерживаеться
Yuriy
утелитарно начиная от торента, фотошопа , куча мелких програм - не удобно
Taras
[
{
"type": "link",
"text": "https://www.iphones.ru/iNotes/macos-catalina-lomaet-nekotorye-mac-tak-silno-chto-oni-bolshe-ne-vklyuchayutsya-10-24-2019"
}
]
Temurxon
а почему именно 32?
Nick
эм. ну так это известно заранее было
Yuriy
так а я и не наставаю - надо мучайтесь
Yuriy
я свое мнение не навязываю, по мне говно - выкинуть повину програм при апдейте
Taras
[
{
"type": "link",
"text": "https://habr.com/ru/news/t/471362/"
}
]
Nick
– мы отказываемся от поддержки х32 – ммм.. окей, попробуем ... – у вас не работает х32!11
northelks
ну, это в характере яблока)
Taras
ну карч. эта каталина реально на каталке инвалидной приехала) - в интернет куча постов на эту тему
northelks
главное быть впереди планеты всей, а кто не поспевает за ними, то это их беды) - думаю это их лозунг
Alexander
Не заметил никаких проблем, тьфу тьфу....
Александр Котков
Всем спасибо ??
Taras
качество софта от Apple ужасное просто стало в последнее время
|