-
Conheça o WebKit para SwiftUI
Saiba como você pode usar o WebKit para integrar facilmente conteúdo da web em seus apps do SwiftUI. Saiba como carregar e exibir conteúdo online, estabelecer conexão com páginas da web e muito mais.
Capítulos
- 0:00 - Introdução
- 1:54 - Carregar e exibir conteúdo online
- 9:37 - Estabelecer comunicação com a página
- 15:44 - Personalizar a interação com o conteúdo
Recursos
Vídeos relacionados
WWDC25
-
Buscar neste vídeo...
-
-
- 0:00 - Introdução
O WebKit, o mecanismo de navegação que impulsiona o Safari e muitos apps da Apple, agora tem uma API SwiftUI. Essa nova API simplifica a integração de conteúdo online em apps em SwiftUI no iOS, iPadOS, visionOS e macOS, permitindo combinar experiências online com a facilidade de uso do SwiftUI e personalizar interações com conteúdo online.
- 1:54 - Carregar e exibir conteúdo online
Um app em SwiftUI que permite que as pessoas vejam informações sobre lagos em todo o mundo demonstra essa nova API. O app utiliza a nova API WebView, uma visualização SwiftUI projetada para exibir conteúdo da internet sem esforço. Com apenas um URL, o WebView pode carregar e mostrar sites automaticamente, e você pode atualizá-lo facilmente para exibir diferentes conteúdos com base nas interações de uma pessoa, como alternar entre URLs. WebPage é uma classe Observable que representa o conteúdo da internet e permite carregar, controlar e se comunicar. Ele permite carregar URLs remotos, conteúdo HTML diretamente e vários tipos de dado, proporcionando flexibilidade na forma como o conteúdo da internet é apresentado dentro do app. No app de exemplo, uma classe "ArticleViewModel" gerencia os dados de cada artigo, incluindo a página associada na internet. Isso permite que o SwiftUI reaja facilmente a alterações no conteúdo da página e do artigo. A interface do app é configurada, e um WebView exibe o conteúdo carregado do "ArticleViewModel". Para proporcionar uma experiência de usuário perfeita, o app inclui artigos pré-carregados. O novo protocolo "URLSchemeHandler" processa URLs personalizados dentro do app. Isso permite que o app carregue conteúdo compilado diretamente no app, como assets HTML e CSS, em vez de buscar tudo na internet. Implementando um manipulador de esquema personalizado, o app de exemplo pode gerenciar e exibir com eficiência informações de data lake pré-preenchidas, oferecendo às pessoas um ponto de partida imediato.
- 9:37 - Estabelecer comunicação com a página
A nova propriedade Observable "currentNavigationEvent" no WebPage simplifica o monitoramento da navegação em conteúdo da internet. Agora você pode observar facilmente eventos de navegação, como inicializações de página, redirecionamentos, confirmações de conteúdo, términos e falhas, usando a API Observations. Isso permite atualizações em tempo real, como preencher uma barra lateral com o índice assim que a página é carregada. Além dos eventos de navegação, o WebPage oferece várias propriedades Observable, como título, URL e progresso de carregamento, que se integram perfeitamente ao SwiftUI. Para tarefas mais complexas, a API "callJavaScript" permite a comunicação direta com o HTML da página. Você também pode personalizar políticas de navegação usando o protocolo "WebPage.NavigationDeciding", determinando como a navegação é tratada, como abrir links externos no navegador padrão.
- 15:44 - Personalizar a interação com o conteúdo
O WebKit para SwiftUI permite integrar facilmente o conteúdo da internet em apps e personalizar a aparência. Use vários modificadores de visualização para personalizar a experiência do usuário. Por exemplo, você pode configurar o modificador "scrollBounceBehavior" para desativar o salto horizontal, a menos que o conteúdo exceda o tamanho da visualização. O recurso "Olhe para rolar a tela" é uma novidade no visionOS. Você pode ativá-lo usando o modificador "webViewScrollInputBehavior", permitindo que alguém role olhando para o conteúdo. Você pode adicionar facilmente o recurso de busca na página usando o modificador "findNavigator" e colocar um botão na barra de ferramentas para exibir o navegador de busca. Para melhorar a acessibilidade e a navegação, sincronize a posição de rolagem do WebView com uma seção selecionada em uma barra lateral. Faça isso usando funções JavaScript para determinar a posição da seção e, em seguida, associando a posição ao WebView com o modificador "webViewScrollPosition". O modificador "onScrollGeometryChange" mantém a barra lateral atualizada enquanto durante a rolagem. O WebKit para SwiftUI fornece uma API simples, mas potente, para criar uma ótima experiência de usuário em todas as plataformas. Migre para essa nova API e compartilhe seus comentários.