Pregunta

Estaba pensando, ¿sería factible crear una aplicación Cocoa que sea esencialmente una interfaz con una vista web? ¿O hay alguna limitación seria al hacer algo como esto?

Si es "factible", ¿eso también significaría que usted podría hacer lo mismo con las aplicaciones de Windows?

¿Fue útil?

Solución

Ciertamente es posible crear una aplicación que sea solo una ventana de Cocoa con una vista web dentro, claro. Si eso puede llamarse significativamente una " aplicación de cacao " Es discutible. Obviamente, cosas como el menú de la aplicación requerirían un código de cola de Cocoa, así que sí, hay límites en cuanto a lo que podría hacer solo en HTML y JS.

También debería pensar detenidamente cómo manejaría la localización (no sería deseable duplicar toda la fuente HTML y JS para cada idioma), y hay muchas construcciones de interfaz que serían mucho más difíciles de crear de lo que estarían usando Cocoa, y / o no se sentiría nativo de alguien acostumbrado a la apariencia de OS X. Y renunciarás a un poco de rendimiento al usar un lenguaje interpretado, que puede o no importar para tu aplicación.

Hay aplicaciones para OS X que se construyen de esa manera, y generalmente se sienten como puertos defectuosos; si su objetivo es hacer algo que se sienta como una aplicación Mac real, probablemente no sea una buena manera de hacerlo.

Otros consejos

iPhone OS tiene instalaciones fantásticas para hacer que las aplicaciones web actúen como ciudadanos de primera clase en el dispositivo. Puede agregar su ícono de aplicaciones web al trampolín al igual que una aplicación Cocoa, puede almacenar datos localmente y muchas otras cosas realmente interesantes ... Consulte estos ejemplos o el documentación de ADC .

Claro. PandoraBoy es exactamente esto. Es una envoltura delgada alrededor de una aplicación flash existente con puentes Javascript. He trabajado en otras interfaces de usuario que son WebView controladas mediante programación que utilizan la manipulación directa del DOM para obtener efectos muy agradables (sin dar la sensación de "una aplicación web"). Puede usar el puente ObjC / Javascript para permitir que Javascript llame a ObjC, y WebKit facilita la ejecución de Javascript desde ObjC.

Relacionado, pero en la dirección opuesta, hay Cappuccino , que es un marco similar a Cocoa en Javascript.

No estoy claro a qué te refieres con "hacer lo mismo para las aplicaciones de Windows".

Titanium podría ayudarlo mucho, es básicamente una ventana de Cocoa con WebView (lo que está buscando) , pero (lo bueno) con enlaces de JavaScript a cosas nativas como acceso al sistema de archivos, barra de menú, icono de Dock (es decir, insignia), sonido, etc. ¡Además, se ejecutará en Mac, Linux, Windows, iPhone y Android!

Sí, hay bastantes aplicaciones que lo hacen. Creo que generalmente almacenan los archivos html y usan jquery para obtener los datos actualizados. Principalmente solo le brinda al usuario una experiencia marginalmente más rápida, ya que solo está recuperando datos y no la mayor parte del HTML.

Las limitaciones se deben principalmente al hecho de que no tiene acceso a todos los controles y bibliotecas de iPhone. MapKit, Mail, etc.

Por supuesto que es posible. Habría limitaciones bastante grandes. Dicha aplicación no podría hacer nada que una página web no pudiera hacer. Entonces, por ejemplo, usar el soporte estándar para el manejo de documentos en todo el sistema no estaría disponible a menos que haya escrito el código de Cocoa.

No es exactamente lo que estabas preguntando, pero ...

mProjector es un contenedor del sistema operativo para Flash. Es como una versión extendida de un proyector Flash con una API del sistema que le da acceso a las funciones de Mac / Win OS.

Esto le dará la habilidad de usar habilidades web para construir una aplicación de escritorio multiplataforma. Es más barato y mejor que la otra opción principal, Zinc.

Titanium se factura a sí mismo como software de código abierto, pero los desarrolladores están obligados a registrar una cuenta y mantener una conexión a Internet al software de servidor propietario para hacer uso de la plataforma.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top