CQM,
Entender que estoy de acuerdo con Commonswares y casi todo lo que se indica en la respuesta suministrada. Sin embargo, la pregunta parece implicar que hay un problema que tiene (ya sea en comprensión o concepción) y desea encontrar/desarrollar una solución más adecuada para sus necesidades.
Dirigiéndose a la pregunta y las respuestas que son probablemente va a recibir:
creo Commonswares válida la crítica se debe al hecho de que usted no indica qué o cómo el objeto de plataforma provisto no es satisfactorio, ni declara por qué o cuando cree que Google ha dicho que dicho objeto no es confiable. Si desea obtener mejores comentarios, edite su pregunta de manera adecuada para comunicar esto y tendrá menos problemas aquí.
Además, como se explica más adelante, implica que se trata de un problema con la plataforma Android (de hecho, casi de forma directa lo indica) y no lo es. Hay demasiadas consideraciones en el amplio alcance de la navegación web para ser tratadas completamente con un control simple como WebView. Microsoft se enfrentó al mismo problema con su Objeto IE COM incorporado en los años 90. Es un gran problema que no pertenece a ningún grupo.
Dirigiéndose a la pregunta implícita:
El objeto WebView
es básicamente un mini-navegador que utiliza código de representación altamente flexible basado en parámetros completamente diferentes de la de un navegador dedicado. Esto incluye todo, desde la representación simple hasta objetos interactivos (sp?), Como los enlaces que dicha página emplearía. Este proceso es muy difícil (a falta de una palabra mejor) para miniaturizar de tal manera que la capacidad sea uniforme para integrarse en una variedad de aplicaciones que pueden tener una estructura y parámetros de diseño diferentes en todo momento. Diablos, estos motores son difíciles de programar de manera uniforme, incluso con un motor de navegación dedicado, lo que genera muchas diferencias entre los principales navegadores actuales en su conjunto.
Como tal, el WebView
no está destinado a proporcionar la funcionalidad completa de un navegador dedicado, pero los aspectos más útiles de mostrar el contenido entregado en la web en una aplicación que a menudo hace otras cosas. Esto es especialmente cierto cuando considera las implicaciones de seguridad de agregar funcionalidad Javascript o procesamiento basado en el cliente entregado desde dicho contenido. Además, cada dispositivo tiene el potencial de tener un motor de representación diferente o una versión diferente del mismo motor de renderizado, de la misma forma que diferentes dispositivos tienen capacidades diferentes que utilizan SQLite (es decir, soporte de clave externa).
Como tal, la vista Web se proporciona como una solución para visualizar Web entregado contenido sin garantía en cuanto a su extensibilidad o sobre la utilidad menos que lo utilice puramente para ver (y posiblemente reacciona) de confianza y estándares de código HTML conforme. Una vez que te adentras en las prácticas reales de los sitios web del mundo real, te das cuenta de que HTML se hizo de manera tan flexible, específicamente porque cada estándar se adhirió a diferentes niveles por diferentes desarrolladores. Dado que el credo primario de HTML es que funciona (muestra el contenido), a pesar de las ambigüedades potenciales, el problema de desarrollar una solución completamente integral orientada a objetos integrada en la aplicación se vuelve aún más difícil de desarrollar.
... donde otros dispositivos móviles - como un iPhone - se ejecutarlo bien
Esto depende del contenido.Además, la filosofía de desarrollo para los dispositivos de Apple es completamente diferente de la de Android. Apple tiene solo un puñado de dispositivos, por lo que pueden garantizar la uniformidad en todos sus dispositivos y elegir cuál y cuándo agregar características adicionales. Por ejemplo, el primer iPhone no tenía soporte nativo para Flash. En base a las implicaciones de su pregunta, creo que esto no pasa la prueba "integral".
Android, por el contrario, tiene un repertorio de dispositivos mucho más amplio. Los fabricantes de estos dispositivos ajustan y modifican el código de Android para permitirles ofrecer soluciones compatibles más adecuadas a las necesidades específicas de sus dispositivos. Google no puede garantizar que un dispositivo determinado conserve la totalidad o parte de su código de la misma manera. Esto crea más limitaciones pero crea otras libertades increíbles.
... ambos usan webkit.
Chrome y Safari también usan webkit. Muchos desarrolladores se han visto afectados por las mínimas diferencias en la forma en que ambos lo utilizan de manera diferente.
... fuera de una aplicación, el navegador real de Android funciona bien.
Esto se trata más arriba.
¿Hay alguna manera de solucionar realmente el problema de Android, en un nivel inferior?
Una vez más, esto no es un problema del androide. Si tiene un problema específico con la implementación actual, puede codificar una solución por separado. Además, el contenido web se creó para ser visto en un navegador y se proporciona. La mejor práctica es definir lo que necesita hacer específicamente. ¿Necesita el WebView
para ver cualquier página web? ¿O solo el tuyo? ¿Cuáles son sus problemas con su procesamiento actual? ¿Requiere scripting del lado del cliente?
Cada herramienta se hace con necesidades particulares en mente. Esto es incluso cierto de las llamadas listas de vistas "mejores". Esos puntos de vista se hicieron para abordar las necesidades específicas que podrían necesitar más de un desarrollador. En el mundo de la programación (especialmente OOP), realmente hay muy poco como integral. Si lo hubiera, no tendríamos que extender nuestros objetos en primer lugar. Al mirar una herramienta de este tipo, considere qué necesidad estaba tratando específicamente de abordar.
¿Alguien ha hecho un objeto web más completo para Android?
Sí. Normalmente se manifiestan en los otros navegadores dedicados que puede descargar a su dispositivo. En cuanto a si son accesibles o no: personalmente, no tengo idea y no estoy inclinado a mirar.
Declaración Final
La cuestión que ha planteado realmente no era lo suficientemente específica para proporcionar una solución verdadera. También pareció tomar una posición antagónica, debido a la mala elección de palabras. Si su problema no fue resuelto ni por la respuesta de CommonsWare ni por la mía, considere editar su pregunta para agregar nuestras necesidades más específicas. Dicho esto, espero que nuestras dos respuestas nos hayan proporcionado alguna información.
Espero que esto ayude,
FuzzicalLogic
Tienes razón. ¿Pero qué solución has encontrado para este problema? ¿Existe un buen reemplazo para webView? –