TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #721 · 26.12

Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области. Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него. "Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!" Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее. Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то. С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше. Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс. В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков. #dev

Hashtags

Резултати

Намерени 16 подобни публикации

Търсене: #webview

当前筛选 #webview清除筛选
Android Broadcast

@android_broadcast · Post #9770 · 19.12.2025 г., 06:05

🚀Обновление для WebView с упором на производительность и контроль Вышла версия 1.15.0 библиотеки AndroidX WebKit (WebView). Главное изменение — повышение minSdk с API 21 до API 23 😁 🎯 Ключевые новые возможности: ⚡️ Ускорение загрузки 👉prerenderUrlAsync() — предварительная загрузка (prerender) страниц для мгновенного открытия. 👉Profile.preconnect()— предварительное установление соединения с origin. 👉Profile.addQuicHints() — подсказка WebView использовать протокол QUIC/HTTP3 для ускорения. 🔧 Больше контроля 👉setHyperlinkContextMenuItems() — кастомизация контекстного меню для ссылок. 👉 setBackForwardCacheSettings() — настройка Back/Forward кэша (таймауты, лимиты). 👉Profile.addCustomHeader() — установка кастомных HTTP-заголовков для запросов. 🔒 Безопасность и отладка 👉 Новый WebViewBuilder API для создания WebView с неизменяемой конфигурацией, что повышает безопасность при использовании addJavascriptInterface. 👉 Улучшенные API для отладки асинхронной инициализации WebView. 👉 Также возвращена отправка заголовка X-Requested-With, а старый API для его исключения помечен как deprecated. #WebView#AndroidDev#Jetpack

😀WebView电视 v2.1.1 清爽版下载 – 无广告·秒开直播!央视+卫视+地方台全免费,TV端极简直播神器,支持4K流畅播放,老人小孩都能用! 😊本地下载 | 😊网盘下载 😘标签:#安卓软件#WebView#电视直播

💎WebView 电视v1.13.3清爽版 开源电视直播 2.5 ♻️资源介绍:给大家介绍一款基于腾讯X5 WebView内核开发的电视直播App。 ⬇️本地下载| 🔵网站下载 ❤️资源指南: 💠主频道|🧑‍💻合作|🤖游戏|👍群聊 🔔标签:#安卓软件#WebView#电视软件

🥰标题:WebView_2.1.1_秒播无卡顿 🌈简介:告别传统直播源困扰,这款永久电视直播软件,直接抓取央视与卫视官方直播网站内容,自动适配大屏呈现,源头稳定无失效风险,给你纯粹的正版直播体验,非常不错. 📃下载地址:在线下载‖蓝秦云盘 😘 标签:#电视#直播#WebView

🥰标题:WebView_1.10.7_秒播无卡顿 🌈简介:永久的电视直播软件,与传统的直播软件相比,这款软件无需采用直播源,直接采集官方央视与卫视直播网站,自动采集并大屏播放. 📃下载地址: 🟢在线下载【无密码】 📃下载地址: 🟢蓝秦云盘【无密码】 😘 标签:#电视#直播#WebView

Android Broadcast

@android_broadcast · Post #9985 · 07.05.2026 г., 11:07

🚀Вышел AndroidX WebKit 1.16.0. Забирай в работу интеграции 👉 minSdk поднят до 24 (Android 7.0) — учитывайте при апгрейде. 👉 Async-старт WebView вышел из experimental. startUpWebView вместе с ProcessGlobalConfig позволяют прогреть WebView в фоне до того как он понадобится UI. Эту штуку давно ждали в стабильной версии — для меня самое ценное обновление этого релиза. 👉 Navigation API тоже стабильный. Больше не надо @OptIn — addNavigationListener даёт колбэки на разных стадиях навигации, ошибку загрузки через Navigation.webResourceError, URL текущей страницы через Page. Главное — теперь FCP и LCP метрики прилетают напрямую из WebView без инъекции JS: // Перед использованием проверь // WebViewFeature.isFeatureSupported(WebViewFeature.NAVIGATION_LISTENER) WebViewCompat.addNavigationListener(webView, object : NavigationListener { override fun onFirstContentfulPaintMillis(page: Page, millisFromNavStart: Long) { analytics.report("FCP", millisFromNavStart, page.url) } override fun onLargestContentfulPaintMillis(page: Page, millisFromNavStart: Long) { analytics.report("LCP", millisFromNavStart, page.url) } override fun onNavigationCompleted(navigation: Navigation) { navigation.webResourceError?.let { err -> Log.w("WV", "load failed: ${err.errorCode}") } } }) На один WebView можно вешать несколько листенеров и прокидывать свой Executor если нужны колбэки в фоновом потоке. 👉WebViewCompat.saveState теперь умеет ограничивать размер state. Если ловили TransactionTooLarge при сохранении состояния — это для вас. 👉 Подвезли addJavaScriptOnEvent для инъекции JS на загрузку документа и инъекцию скриптов в isolated worlds без конфликтов со страницей. Гибридным приложениям пригодится. 👉 [EXPERIMENTAL] BackForwardCacheSettings полностью переписали. Если использовали старый Builder через WebSettingsCompat.setBackForwardCacheSettings — ловите ошибку компиляции при апгрейде. Теперь так: val settings = WebSettingsCompat.getBackForwardCacheSettings(webView.settings) settings.setMaxPagesInCache(5) 👉Profile.setSpeculativeLoadingConfig депрекейтнут, замена через Profile.setMaxPrerenders плюс PrefetchCache.setMaxPrefetches и setPrefetchTtlSeconds (тоже experimental). #Android#Webview#Web#AndroidDev

⭐️【资源名称】: WebView 电视开源电视直播 🤖【适用平台】: #Andoid 🔄【应用版本】: 2.0.1 🔩【应用大小】:3MB 🧱【资源介绍】 给大家介绍一款基于腾讯X5 WebView内核开发的电视直播App 🟢清爽版 🟡在线下载:点击下载(无需密码) 📁#安卓软件#WebView#电视软件#tv

⭐️【资源名称】: WebView 电视开源电视直播 🤖【适用平台】: #Andoid#TV 🔄【应用版本】: 1.13.1 🔩【应用大小】:2.5MB 🧱【资源介绍】 给大家介绍一款基于腾讯X5 WebView内核开发的电视直播App。 🟢清爽版 🟡在线下载:点击下载(无需密码) 🟡 uc下载:点击下载(无需密码) 🔄迅雷网盘:点击下载(无需密码) ❤️资源指南: 💠子频道|🧑‍💻合作|🤖游戏|👍群聊 ➡️更多分享尽在: @QQZYDAPP 📁#安卓软件#WebView#电视软件

Android Broadcast

@android_broadcast · Post #8847 · 26.03.2025 г., 04:24

🤖Как использовать WebView с Edge-to-edge (EN,6м) Разбор как встроить WebView в интерфейс приложения с поддержкой отображения на весь экран (Edge-to-edge). Рассматриваются варианты когда вы отображаете сторонние сайты и свой web контент, когда вы можете на уровне CSS добавить отступы 🔗Ссылка без VPN #android#edgetoedge#android16#webview#compose

12
ПредишнаСтр. 1 от 2Следваща