Я вот тут тоже на дарт посматриваю. Как он вообще? Будет жить?)
Donets
скоро все на него перейдут
admin
Щас flutter пол Линукс допилят
admin
Популярность поднимется еще
Donets
я ж говорил что googleего продвигает))
Donets
нужно быстрей вникать)
admin
И флаттер вообще open source так что я вообще не волнуюсь
Andrey A
Про гугл в курсе) Я в целом хочу перейти на мобильную нативную разработку, java как-то не очень. На Go даже делают приложения, вроде. Но Go ведь не будет мобильным? Это ведт тоже гугл
Donets
хз но флаттер на данный момент всех переплюнул)
admin
Зачем?
admin
Если надо, то можно комбинировать с флаттером
admin
Критические куски кода на котлине
admin
Или на свифте
admin
Если флаттер не Натив, это не значит, что все плохо
Andrey A
Прочитал, что флаттер быстрее
Andrey A
И не понятно, зачем комбинировать, если он позволяет запускать на андроид и иос
Donets
я делаю что то такое)
Andrey A
Получается отказаться от преимущества
Donets
тапки не бросайте)
admin
Есть некоторые проблемы с обращением к нативному апи андроида
admin
Как ты например проценты заряда батареи узнаешь?
Andrey A
На флаттере никак не узнать, получается?
admin
Там за 3 минуты все делается
admin
Но...
admin
То-то и оно
admin
Так что помимо флаттера советую изучать апи андроида
admin
Если хочешь стать нормальным разработчиком
admin
Что такое интенты
admin
Итд итп
Andrey A
Я немножко познакомился, сделал мини приложение для получение данных с машины через obd2 протокол
Andrey A
Java какой-то слишком монструозный, тяжелый
Andrey A
А что за проблемы?
admin
Флаттер это не натив и этим все сказано??
Andrey A
Насколько я понял, dart как java со своей машиной, и по скорости сравнима
[
"Как Apple при помощи нерыночных методов занимается вымогательством у разработчиков\n",
{
"type": "link",
"text": "https://habr.com/ru/post/514136/"
},
""
]
Арсений Калиниченко
Как сделать так, чтобы все выравнивалось по центру, а не так, как на скрине?
парни привет может ктонибудь заводил coc-flutter экстенш под вим? чтото у меня упорно не заводится
Денис
Кто нибудь пытался задать максимальную скорость скроллинга для ListView?
01F919B0S3YK55K6H9T2VH6VSE
завелось
Donets
Попробуй в виджет занести
Шахзод Джураев
Кто знает естли 100% поддержка html+css или если возможность встроить в дерево виджетов webveiw ?
Илья Цымбалюк
Кто шарит подскажите. Это google cloud platform -> Окно запроса доступа OAuth. Что это за домены и как их проверить? Я делал по доке, взял их с огнебазы. Но гугл прислали ответ, что страница политики не действительна и на другие страницы ругаются
Денис
так тебе нужны эти документы, политика конфидециальности и тд
Денис
у тебя указана ссылка на домен но без файла
Илья Цымбалюк
ну а сами файлы куда? в файрбейс подгрузить нужно?
Денис
можешь на firebase хостинг залить
Денис
а ссылку туда указать
Nazar Kostetskiy
Всем привет. Есть ли какой-то гайд по ооп в дарте? Можно ли в дарте при наследовании в конструкторе и использования метода super неявно передавать аргументы (типа как с **kwargs в питоне), или придется как-то работать со словарём? И как можно проверить наличие проперти в классе?
[
"Где можно почитать понять как работает часть ",
{
"type": "code",
"text": ": super(key: key)"
},
" в конструкторах классов? Я так понял это некий синтаксический сахар."
]
Он не может приводить так поля класса что ли? Ругается на то что нет такого метода, и не определяет state как CartLoadedState
Maxim Gora
Вот так сработало
Олжас Сулеймен
нет это не сахар, а вызов родительского конструктора
Oleg Pchelkin
Потому что анализатор видит что стейт в теории может поменяться в промежутке между проверкой типа и выполнением кода (асинхронно например)
Maxim Gora
А ведь точно) Спасибо
Maxim Gora
[
"Так получается что я обманываю анализатор, но проблема остается? ",
{
"type": "mention",
"text": "@franticbee"
},
""
]
Oleg Pchelkin
Нет, когда ты присвоил локальной переменной и работаешь уже с ней - то плевать что там с переменной класса - локальная переменная будет твоего типа
Maxim Gora
Тогда отлично)
Maxim Gora
Еще раз спасибо)
Max
Но лучше, конечно, явно прописать для переменной тип, если он известен заранее)
prz
Господа,вопрос Пытаюсь по токену послать пуш конкретному клиенту,получаю ошибку
Павел Середа
у гугла почему-то первым ключём идёт поле "message", "to" не вижу, вместо него "token"
prz
он топик еще хочет
Anton
[
"Добрый день. Дали задачу - написать экран кассы для планшета. 1С отправляет в ПРИЛОЖЕНИЕ json, оно его разбирает и отображает инфу из него. 1С и приложение в одной WIFI сети.\nНашел статью ",
{
"type": "link",
"text": "https://medium.com/@naik.rpsn/http-server-running-on-a-mobile-app-with-flutter-1ef1e717dda1"
},
"\nЗапускаю на реальном девайсе, но сервер не стартует пишет - SocketException: Failed to create server socket при этом IP проставляется ",
{
"type": "link",
"text": "127.0.0.1"
},
", пробовал подставлять IP девайса - та же ошибка. \nПрава интернет и ACCESS_NETWORK_STATE приложению дал. Тестирую на реальном девайсе. Пробовал и дебаг версию и прод отдельно собирал - одно и то же.\n\nКто-то с этим работал? Не понимаю с какой стороны искать ошибку и вообще реально ли это. На SO видел ответ что на андройте вообще так нельзя делать."
]
prz
а можно ссылку на пример этот?
Павел Середа
вы лучше посмотрите внимательнее доку по которой сами свой пример собирали
Павел Середа
наверняка всё сразу станет понятно
Roman Vasiliev
зачем, когда можно просто скопировать
prz
абы ляпнуць?
prz
[
{
"type": "link",
"text": "https://www.fcodelabs.com/2020/04/20/Firebase-Push-Notifications-via-Postman/"
},
"\n\nвангую,что поменялось что-то в api. в официальном описании про топики говорится."
]
SilentNox
В dart нет стабильной сортировки?
Avin
есть нестабильная?) это как?
Павел Середа
[
"тут не искали свой кейс?\n",
{
"type": "link",
"text": "https://firebase.google.com/docs/cloud-messaging/send-message"
},
""
]
SilentNox
Нестабильная перемешивает элементы если они равны, а стабильная нет
prz
да,тоже читал
prz
но сейчас еще раз пересмотрю
Андрей Козак
Всем привет. Кто уже мб разбирался в этой темой. Вопрос такой - насколько вообще нормально, использовать функции вместо выделения нового виджета? Пример, есть страница, в странице колонка column(children:[ getHeader(), getBody(), getFooter(),
])
Андрей Козак
в интернетах только срачи по этой теме нашел
Павел Середа
если элементы равны и они перемешиваются то это плохо реализованный алгоритм сортировочной функции
SilentNox
Это не всегда имеет значение
Павел Середа
>> это плохо реализованный алгоритм сортировочной функции
SilentNox
Я так делаю, не вижу ничего плохого.
Андрей Козак
как минимум, с чем я сталкивался - хот релоад отваливается иногда
Андрей Козак
но в теории еще проблемы с производительностью
L
Поставил flutter-1.20-candidate.8, у андроид юзеров перестали работать тапы в webview
L
пришлось откатывать на бету
SilentNox
Не вижу, как это может быть связано между собой, если честно
Андрей Козак
в showDialog запихни функции которые отдают Widget в build
flutter это не про webview, забудьте вы про эту срань уже
L
мне тоже не нужно, а других способов отобразить рекапчу гугла я не знаю
Павел Середа
image
Павел Середа
http-запросами отправляем/получаем всё что нужно, получаем изображение, отображаем стандартным компонентом
L
а куда отправлять запросы и как получить изображение, если домен мне не принадлежит?
Павел Середа
а как webview ваш делает тоже самое если домен вам не принадлежит?
L
[
"вот сюда заходит и получает готовый фрейм ",
{
"type": "link",
"text": "https://2ch.hk/api/captcha/recaptcha/mobile"
},
""
]
L
далее через жс
Sergey Lavinov
Крч если вкратце и на рабочекрестьянском, то меньше функций и больше классов, поскольку во флаттере на самом деле не 1 дерево, а 3. Первое дерево виджетов - самое дешевое и и ничего не стоит, второе, которое порождается виджетами - дерево элементов, оно жрет дофига ресурсов. Когда ты используешь классовые виджеты - эти элементы переиспользуются по мере возможности, а с функциональными нет
Sergey Lavinov
Если совсем лень писать классы - был пакетик который по функциям генерит классовые виджеты, но там можно утонуть в кодогенерации
лан спасибо, не совсем понятно, но лучше классы писать от греха подальше
L
Я в vscode пишу код как обычно, а когда его становится много, просто юзаю Extract widget и виджет создается автоматом
Donets
Может мне кто объяснить для чего токены и как их есть?
Avin
токен это длинная секурная строка-идентификатор. по ней обычно сервер определяет сессию ну и не только
L
А насколько безопасно передавать инфу по https? Нужно ли дополнительно что-то шифровать или можно быть увереным, что никто ничего не перехватит?
Андрей Козак
MITM типа невозможны
Андрей Козак
но без проблем дешифруется если отправитель - злоумышленник
Андрей Козак
т.е вайфай макдака ничего не получит, а если челик сам захочет посмотреть - то без проблем
L
А как юзер сам посмотрит?
Андрей Козак
само описание протокола передачи https кароч не прячет
Андрей Козак
изи, берешь рутовый сертификат - импортируешь в телефон
Андрей Козак
ставишь прокси в wifi настройках
юрко
[
"Ребят , как сделать что бы по тапу менялся цвет бэкграунда на рандомный и в центре вывести надпись «hey, there»\n\nimport 'package:flutter/widgets.dart';\n\nmain() => runApp(\n Directionality(\n textDirection: TextDirection.ltr,\n child: Container(\n color: Color(0xFFFFFFFF),\n child: MyApp(),\n ),\n ),\n);\n\nclass MyApp extends StatelessWidget {\n ",
{
"type": "mention",
"text": "@override"
},
"\n Widget build(BuildContext context) {\n return Center(\n child: GestureDetector( // используется как обычный виджет\n onTap: () { // одно из свойств GestureDetector\n // Этот метод будет вызван, когда дочерний элемент будет нажат\n print('You pressed me');\n },\n ),\n );\n }\n}"
]
Андрей Козак
и снимаешь все что шлешь
L
А ответы сервера соответственно так получить не выйдет?
Андрей Козак
все видно
Андрей Козак
и запросы и ответы
L
понял
Андрей Козак
если нужна нормальная защита, то нужно использовать ssl pinning
Андрей Козак
в СДК для оплат и в банковских приложениях используется
Андрей Козак
но ssl pinning тоже обходится, но уже не так просто
L
Да мне в целом это не особо важно, у меня никаких супер секьюрных данных нет
L
А если чето типа jwt заюзать?
Андрей Козак
кароч скрыть протокол общения мобилы и сервера нереально. А защитить трафик от всяких публичных вайфай или от ментов на маршрутизаторах - https может без проблем
L
Ну почему нереально? Можно же сделать на клиенте в коде свой приватный ключ который будет шифровать данные, и на сервере их расшифровывать
L
Тогда придется декомпилировать код
Андрей Козак
возьмут твою сборку и вытащат ключ
Андрей Козак
а ваще ты с такой штукой в эпл стор не пройдешь
Андрей Козак
нарушает экспортное законодательство США)
L
да я и так уже не прошел
L
даже в тестфлайт
Андрей Козак
я с 3го раза недавно пет релизнул
Андрей Козак
заставили кнопку Apple Sign in делать
Андрей Козак
зато тестировщики эпл нашли пару крашей и заллогировали, т.е модераторы там реально работают
L
клиент двача не пустили, лол. у меня причем был свой сервер который был показан по дефолту на котором не было вообще ничего. и им это все равно не понравилось, сказали что концепт не подходит и надо его поменять
Андрей Козак
опасная тема. Так то в тредик кто-то порнуху скинет и все - бан твоему приложению
L
А уже есть один клиент в тестфлайте и он работает
L
и его пустили а мой нет
Rinat Kurmashev
в кубите как вызвать первый асинхронный метод при создании в блок провайдер?
Андрей Козак
тут кстати можно попробывать поднять вакабу или чо там ща, натравить приложение на нее
Андрей Козак
а потом уже переключить на сервере урлы
L
Причем мои версии пустили сначала
L
5 или 6 релизов попали в тестфлайт
L
Потом начали отказы сыпаться один за другим и всё
L
Я так и сделал ,не прокатило
Андрей Козак
тогда жесть
L
[
"сейчас юзеры ставят сами через ",
{
"type": "link",
"text": "altstore.io"
},
", и через udid добавляются"
]
а зачем сервер на android-е ? У тебя 1с сервер (там сервис запущен должен быть), он и выдает json...немного не понятно здесь интересно другое... Если это касса на планшете, как ты собираешься сопригать с кассовой машиной (ККМ)?
Roman Vasiliev
[
{
"type": "mention",
"text": "@bunopus"
}
]
Avada Kedavra
[
"добрый день, помогите решить вопрос с картами\nесть main файл (упрощенно)\n",
{
"type": "pre",
"text": "Widget build(BuildContext context) {\n return MultiProvider(\n child: StreamBuilder
tdesc
(как в ней и прописано)
tdesc
зачем?
Avada Kedavra
а куда вставлять инициализацию?
tdesc
куда хочешь )
Avada Kedavra
она в методе билд, который заново и строит
tdesc
только не в билд
Avada Kedavra
ага, то есть где то инициализировать а в билде просто рисовать?
Avada Kedavra
тогда махинации с локатором не помогли
tdesc
ну у тебя билд 60 раз в секунду может дергаться
Alexey
Подскажите пожалуйста можно ли отлавливать действие когда человек на определённом экране нажимает стрелочку назад в Апп баре или когда нажимает системную кнопку назад? Мне нужно остановить поиск блютуз девайсов, когда человек уходит с необходимого экрана
Avada Kedavra
т.е. просто отдельный класс карт, а его ж все равно в билде отображать придется
Avada Kedavra
т.е .дергать
tdesc
билд ничего не отображает
tdesc
билд это конфигурация конкретного дерева виджетов из рендер обжектов
Avada Kedavra
т.е билд по сути тут и не нужен, но что-то же должно инициировать класс мапскрин и показывать карту
tdesc
тока дергать инициализацию в билде не нада
Anton
Касса и прочие процессы со стороны 1С. Меня это мало волнует.
Мы просто покупателю показываем его покупки в реальном времени. Приходит json на ip планшета мы его парсим и показываем. Если добавлии позицию приходит новый json, если json пришел пустой значит покупка завершена и пишем спасибо за покупку. Вот такая задача. Если не делать сервер на стороне телефона, тогда то нужно либо чтобы приложение раз в секунду стучало в 1С, либо через папку что мне тоже не сильно нравится. Как другие это решают?
tdesc
билд нужен чтобы доставлять изменения )
tdesc
а сервер на стороне телефона чем будет занят? не тем же самым случайно?
tdesc
да и кейс который решаете непонятно
Avada Kedavra
билд вызывается при изменении дерева в нем, если я правильно понимаю