KOTLIN_LIB Telegram 624
Создание WebView-контрола для Compose Desktop

В компании TeamDev мы занимаемся разработкой JxBrowser — коммерческой библиотеки, которая позволяет встраивать Chromium-движок в Java-приложения на десктопах. Ранее нами уже были реализованы контролы BrowserView для классических Java GUI-фреймворков: Swing, JavaFX и SWT. Теперь мы решили расширить поддержку и создать аналогичный компонент для Compose Multiplatform — для Desktop.

Что такое WebView внутри приложения

WebView — это UI-компонент, позволяющий приложению отображать и взаимодействовать с веб-контентом (вроде браузера внутри вашего приложения). Он отображает веб-страницы, обрабатывает JavaScript, куки и другие веб-взаимодействия — полностью в рамках жизненного цикла приложения.

Зачем Compose

Jetpack Compose быстро стал популярен среди Kotlin-разработчиков на Android. Compose Multiplatform расширяет этот подход на десктоп. Однако у Compose нет встроенного десктопного WebView — и мы увидели отличную возможность закрыть этот пробел.

Новая модель UI

Compose использует декларативный подход: UI описывается состоянием, вместо императивного обновления элементов. Компонент отображает текущее состояние, и изменения происходят автоматически по мере смены состояния.

Основная техническая задача: рендеринг

Chromium рендерит страницу в отдельном процессе, а затем результат — пиксели — нужно передать обратно Java/Kotlin для отображения внутри Compose. Мы решили это двумя способами:

1. Копирование пикселей — Chromium рендерит страницу, копирует пиксели в Java-буфер, и затем изображение рисуется в Compose Canvas.
2. Рендеринг на нативной поверхности — более производительно: Chromium отрисовывает контент напрямую на нативной поверхности, встроенной в Compose.

https://teamdev.com/jxbrowser/blog/building-web-view-for-compose/

✍️ @kotlin_lib
👍3



tgoop.com/kotlin_lib/624
Create:
Last Update:

Создание WebView-контрола для Compose Desktop

В компании TeamDev мы занимаемся разработкой JxBrowser — коммерческой библиотеки, которая позволяет встраивать Chromium-движок в Java-приложения на десктопах. Ранее нами уже были реализованы контролы BrowserView для классических Java GUI-фреймворков: Swing, JavaFX и SWT. Теперь мы решили расширить поддержку и создать аналогичный компонент для Compose Multiplatform — для Desktop.

Что такое WebView внутри приложения

WebView — это UI-компонент, позволяющий приложению отображать и взаимодействовать с веб-контентом (вроде браузера внутри вашего приложения). Он отображает веб-страницы, обрабатывает JavaScript, куки и другие веб-взаимодействия — полностью в рамках жизненного цикла приложения.

Зачем Compose

Jetpack Compose быстро стал популярен среди Kotlin-разработчиков на Android. Compose Multiplatform расширяет этот подход на десктоп. Однако у Compose нет встроенного десктопного WebView — и мы увидели отличную возможность закрыть этот пробел.

Новая модель UI

Compose использует декларативный подход: UI описывается состоянием, вместо императивного обновления элементов. Компонент отображает текущее состояние, и изменения происходят автоматически по мере смены состояния.

Основная техническая задача: рендеринг

Chromium рендерит страницу в отдельном процессе, а затем результат — пиксели — нужно передать обратно Java/Kotlin для отображения внутри Compose. Мы решили это двумя способами:

1. Копирование пикселей — Chromium рендерит страницу, копирует пиксели в Java-буфер, и затем изображение рисуется в Compose Canvas.
2. Рендеринг на нативной поверхности — более производительно: Chromium отрисовывает контент напрямую на нативной поверхности, встроенной в Compose.

https://teamdev.com/jxbrowser/blog/building-web-view-for-compose/

✍️ @kotlin_lib

BY Kotlin




Share with your friend now:
tgoop.com/kotlin_lib/624

View MORE
Open in Telegram


Telegram News

Date: |

4How to customize a Telegram channel? In handing down the sentence yesterday, deputy judge Peter Hui Shiu-keung of the district court said that even if Ng did not post the messages, he cannot shirk responsibility as the owner and administrator of such a big group for allowing these messages that incite illegal behaviors to exist. Ng, who had pleaded not guilty to all charges, had been detained for more than 20 months. His channel was said to have contained around 120 messages and photos that incited others to vandalise pro-government shops and commit criminal damage targeting police stations. The optimal dimension of the avatar on Telegram is 512px by 512px, and it’s recommended to use PNG format to deliver an unpixelated avatar. Step-by-step tutorial on desktop:
from us


Telegram Kotlin
FROM American