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: |

Avoid compound hashtags that consist of several words. If you have a hashtag like #marketingnewsinusa, split it into smaller hashtags: “#marketing, #news, #usa. You can invite up to 200 people from your contacts to join your channel as the next step. Select the users you want to add and click “Invite.” You can skip this step altogether. Joined by Telegram's representative in Brazil, Alan Campos, Perekopsky noted the platform was unable to cater to some of the TSE requests due to the company's operational setup. But Perekopsky added that these requests could be studied for future implementation. To upload a logo, click the Menu icon and select “Manage Channel.” In a new window, hit the Camera icon. To view your bio, click the Menu icon and select “View channel info.”
from us


Telegram Kotlin
FROM American