Estou trabalhando em aplicativos da Web que precisam de dados que só podem ser obtidos no navegador de aplicativos nativo instalado localmente.
Como você pode contornar a caixa de proteção do navegador para poder se comunicar (com segurança, pois os dados são potencialmente sensíveis), com um aplicativo nativo.
No único exemplo que encontrei, o usuário move manualmente alguns tokens e arquivos entre os dois, o que é uma experiência horrível para o usuário que eu gostaria de evitar.
web-applications
Zak Kus
fonte
fonte
Respostas:
Você pode incorporar um servidor da Web no aplicativo nativo e, em seguida, seu cliente pode fazer chamadas através de links codificados para http: // localhost / xyz (pode ser necessário se preocupar com os avisos de script entre sites aqui e / ou executar o servidor em uma porta não http). Se você usa websockets, seu aplicativo nativo pode até enviar dados ao navegador da web assim que o navegador inicia a comunicação.
Eu mesmo faço isso localmente, um controle de navegador da Web incorporado solicita dados de visualização de um servidor da Web personalizado e, ao desenvolver, eu executo os dois no mesmo PC.
Existem muitos servidores da web incorporados minúsculos e eficientes para C / C ++ (Mongoose, NxWeb, civetweb etc.), o C # costuma ter um servidor WCF completo, o python vem com um pequeno servidor da Web no IIRC.
fonte
Existem algumas maneiras de misturar um aplicativo nativo e um navegador.
Você pode incorporar o navegador ao aplicativo nativo, como os aplicativos PhoneGap no celular. Isso permitirá que você estenda o mecanismo javascript do navegador e faça chamadas entre os dois.
Como alternativa, repensar sua arquitetura. Faça com que o aplicativo nativo e o aplicativo baseado em navegador usem o servidor como intermediário. Portanto, o navegador e o aplicativo nativo conversam apenas com o servidor da Web, que encaminha as informações entre os dois conforme necessário.
Ou se você precisar de funcionalidade nativa ... basta criar um único aplicativo nativo.
Eu não recomendo a abordagem 'servidor da web local' para nada além de aplicativos executados em ambientes controlados. Se seu software se destina a instalar e executar em máquinas de usuários finais com requisitos mínimos de suporte, você se deparará com uma série de problemas relacionados a firewall e software antivírus.
fonte