Наткнулся в сети, и вспомнил что в 90-е зачитывался этим подобным на сидя своей EC-1841. Принесенным домой на дискетах! Никакого интернета..
Настоящие программисты не используют Паскаль
Источник: DATAMATION Jul.?? pp.207-209
=============================================
Ed Post
Wilsonville, Orezon
Работа с webview во Flutter не так проста как на «чистом» Java/Kotlin. В основном из-за того что, на pub.dev есть большое разнообразие собственно вапперов к webview, а потому выбрать рабочую и полноценную реализацию не так просто. Я например потратил с полдня, чтобы выяснить, что:
webview_flutter — не отображает страницы с «плохими» сертификатами SSL. Например самоподписанными, или с сертификатами с истёкшим сроком действия, или с сертификатом к которому нет доверия (теперь это все сайты госучреждений и некоторых банков). И нет никакого способа (или не нашел), заставить это сделать.
flutter_inappwebview — та же самая проблема что и в вышеуказанном плагине. Да, там есть ключ «игнорировать ошибки SSL», но он не работает
flutter_webview_plugin — выпущен 21 месяц назад, и при компиляции уже ругается на отсутствие поддержки Android 12. Хотя как раз этот плагин, работает со страницами с плохим SSL именно так как нужно
flutter_webview_plugin_ios_android — а вот этот плагин, это как я понял «подхваченый из ослабеших» рук разработчиков flutter_webview_plugin, и доработаный уже под Android 12. На нём мои поиски и закончились. Ниже минимальный пример для работы с ним:
Функция sha256 создаёт хэш. Однако есть нюанс — в качестве входящего параметра она принимает тип bytea. Соответственно если вы вызовете что-то вроде:
select sha256('aa')
То результат будет получен. Однако при попытке выполнить что-то типа:
select sha256(txt) from users;
Получите ошибку вида:
ERROR: function sha256(character varying) does not exist
LINE 1: select sha256(txt) from users;
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
SQL state: 42883
Т.е. не соответствие типов. Как быть? На лету преобразуем тип текст в тип bytea:
Отличия при работе с Chrome минимальные. Достаточно скачать подходящий драйвер и подключаться подобным образом:
var service = new chrome.ServiceBuilder(binary_yandex_driver_file).build();
chrome.setDefaultService(service);
let driver = await new Builder().forBrowser('chrome').setChromeOptions(chromeOptions).build();