Size: a a a

Dart & Flutter по-русски

2020 March 31

ОС

Олжас Сулеймен in Dart & Flutter по-русски
Radomir Epur
В интернетах пишут что postgres не умеет в браузере. Вопрос: Как сделать так, чтобы код не интерпретировался в браузере(как бы это странно не звучало).

void main() {
 runApp(MyApp());
}

class MyApp extends StatefulWidget {
 // This widget is the root of your application.
 @override
 _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {

 Future<void> dbConnect() async {
   print("function init");
   final config = Postgre(
     host: secretData["dbHost"],
     port: secretData["dbPort"],
     user: secretData["dbLogin"],
     password: secretData["dbPass"],
     databaseName: secretData["dbName"],
   );
   print(config.user);
   print("config created");
   final SqlClient sqlClient = config.database().sqlClient;
   print("sql client created");
   final result = await sqlClient.query('SELECT 1').toRows();
   print("result saved");
   for (var row in result) {
     print(row);
   }
 }

 @override
 void initState() {
   dbConnect();
   super.initState();
 }
 @override
 Widget build(BuildContext context) {
   return MaterialApp(
     title: 'Flutter Demo',
     theme: ThemeData(
       primarySwatch: Colors.blue,
     ),
     home: HomePage(),
   );
 }
}
а не проще ли сделать промежуточный сервис который будет кидать жсон
источник

ОС

Олжас Сулеймен in Dart & Flutter по-русски
чем дергать бд сразу из приложения
источник

RE

Radomir Epur in Dart & Flutter по-русски
Олжас Сулеймен
а не проще ли сделать промежуточный сервис который будет кидать жсон
Как раз в том то и дело что ни разу не проще. Почему ты считаешь что это проще?
источник

ОС

Олжас Сулеймен in Dart & Flutter по-русски
Radomir Epur
Как раз в том то и дело что ни разу не проще. Почему ты считаешь что это проще?
я как бекендщик мне проще
источник

ОС

Олжас Сулеймен in Dart & Flutter по-русски
тем более клиент в вебе делаете
источник

RE

Radomir Epur in Dart & Flutter по-русски
Олжас Сулеймен
я как бекендщик мне проще
Чем больше сервисов, тем больше вероятность что в произвольный момент что-то отвалится. Я же придерживаюсь во всем принципов KISS.
источник

ОС

Олжас Сулеймен in Dart & Flutter по-русски
я тоже ей следую
написать простой json сервер, отдельно на дарте, общии клиент к нему с авторизацией, и в приложении дергать его
источник

n

neikist in Dart & Flutter по-русски
Radomir Epur
Чем больше сервисов, тем больше вероятность что в произвольный момент что-то отвалится. Я же придерживаюсь во всем принципов KISS.
Пользователей пускать прямо в базу - моветон. Без контроля доступа, с возможностью исполнять произвольные sql запросы напрямую с клиента. Это только если что то чисто для себя делаешь сойдет
источник

EE

Evgenii Elchev in Dart & Flutter по-русски
neikist
Пользователей пускать прямо в базу - моветон. Без контроля доступа, с возможностью исполнять произвольные sql запросы напрямую с клиента. Это только если что то чисто для себя делаешь сойдет
👍
источник

RE

Radomir Epur in Dart & Flutter по-русски
neikist
Пользователей пускать прямо в базу - моветон. Без контроля доступа, с возможностью исполнять произвольные sql запросы напрямую с клиента. Это только если что то чисто для себя делаешь сойдет
Это корпоративный сервис. Все свои)
источник

EE

Evgenii Elchev in Dart & Flutter по-русски
Radomir Epur
Это корпоративный сервис. Все свои)
ну ну да)
источник

n

neikist in Dart & Flutter по-русски
Radomir Epur
Это корпоративный сервис. Все свои)
Хухуху
источник

M

Max in Dart & Flutter по-русски
Radomir Epur
Это корпоративный сервис. Все свои)
...что может пойти не так? )
источник

RE

Radomir Epur in Dart & Flutter по-русски
Тем более у пользователей и так есть доступ к базе, потому что я пытаюсь подключиться не к базе, которая была создана под сайт, а к общей базе компании.
источник

n

neikist in Dart & Flutter по-русски
Radomir Epur
Всем привет. Вот тогда вопрос интересный, чтобы не скучали:
Задача - прикрутить postgres к flutter web.
Использую https://pub.dev/packages/database  и https://pub.dev/packages/database_adapter_postgre.
В браузере в консоли данная ошибка выскакивает
А по теме вопроса - браузеры насколько я знаю tcp сокеты не поддерживают в принципе. У постгри если не ошибаюсь свой рест есть, но это все равно не отменяет того что решение дико несекурно
источник

n

neikist in Dart & Flutter по-русски
Radomir Epur
Тем более у пользователей и так есть доступ к базе, потому что я пытаюсь подключиться не к базе, которая была создана под сайт, а к общей базе компании.
Прямой доступ? Какой ужас.
источник

RE

Radomir Epur in Dart & Flutter по-русски
neikist
Прямой доступ? Какой ужас.
Эмм, пользователи - аналитики. Они и так работают с БД. Что в этом ужасного?
источник

n

neikist in Dart & Flutter по-русски
Radomir Epur
Эмм, пользователи - аналитики. Они и так работают с БД. Что в этом ужасного?
Ну разве что так. Надеюсь бекапы делаются и проверяются регулярно ибо похерить базу проще простого можно невнимательному или слабошарящему пользователю
источник

RE

Radomir Epur in Dart & Flutter по-русски
neikist
Ну разве что так. Надеюсь бекапы делаются и проверяются регулярно ибо похерить базу проще простого можно невнимательному или слабошарящему пользователю
Не беспокойся, никто похерить базу не сможет. Вопрос доступов.
источник

RE

Radomir Epur in Dart & Flutter по-русски
Все до такой степени секьюрно, что я могу в этой базе свою таблицу сделать с данными, которая будет регулярно обновляться, и к ней смогу обращаться только я(я уже молчу об изменениях и дропе таблицы.)
источник