2009-10-05 18 views
19

Solo digamos que tiene una aplicación de escritorio bastante grande y complicada escrita en Object-C/Cocoa escrita correctamente en MVC. ¿Desea reemplazar el V y C para que sea una aplicación web?Programación de aplicaciones web con objetivo-c?

¿Hay algo como Tomcat pero para el objetivo c? Lo más parecido que puedo pensar es de alguna manera convertir el código del modelo en un módulo de apache para cargar en apache.

Obviamente, podría incorporar algún tipo de servidor HTTP y escribir una pila completa de código para administrar sesiones y solicitudes y respuestas, etc., pero ¿podría haber una manera más simple?

Respuesta

11

Puede dejar el servidor casi como está. Lo habría ejecutado como un daemon en el fondo.

Me gustaría dividir la parte del controlador. Una parte de ella reside en el servidor como una conexión entre las solicitudes HTTP y el daemon.

  • Puede ejecutar un servidor http propio.
  • Puedes construirlo en un módulo Apache como mencionaste.
  • Puede acceder a su controlador a través de CGI. Esta es la opción más fácil según lo veo.

La segunda parte del controlador está escrita en Javascript en el navegador, intercambiando datos con el servidor y actualizando la GUI.

La parte de la vista está escrita completamente en javascript.


  • Se podría - si se quiere - dejar de lado el controlador en el servidor y hacer que el modelo de entender las peticiones HTTP.

  • Para la parte del controlador/vista, considere utilizar un marco.

    • jQuery para una interfaz liviana. (O un marco similar.)
    • Aún no he encontrado un marco que deje todo el material del modelo en el servidor. Tal vez puedas usar SproutCore o Cappuccino en consecuencia.
    • SproutCore, el framework MVC totalmente respaldado que es utilizado por Apple. (Piénselo al menos.)
    • Cappuccino, otro framework MVC completamente respaldado.
6

¿Has mirado en Cappuccino? http://cappuccino.org/

No he usado pero he escuchado muchas cosas buenas al respecto.

1

Lo más cerca que probablemente te encuentres de los marcos web de Objective-C son SOPE o GNUStep, ninguno de los cuales he utilizado, pero encontré cuando decidía si quería usar Rails o algo escrito en Objective- C para mis cosas web. También hay ARJDatabase, que es algo así como Core Data, pero no es compatible con la fuente.

La conclusión es que, a menos que haya tenido mucho cuidado con la forma en que escribió el código (es decir, lo escribió con GNUStep en mente, no usó nada específico de Apple) probablemente tendrá que hacer bastante trabajar de todos modos. Y si utilizó Core Data en absoluto, no hay forma de que sepa reutilizarlo fuera de una aplicación de Mac. Y como no está configurado para ser utilizado por mis múltiples usuarios simultáneos, no querrá usar eso en una aplicación web de todos modos. En pocas palabras, fui con Rails.

3

Hay una nueva plataforma de desarrollo web para Objective-C/Cocoa llamada Bombax. Suena como exactamente lo que está buscando (que está diseñado para permitirle escribir aplicaciones web completas en Objective-C). Quizás incluso podrías combinarlo con Cappuccino. Puede verificarlo en http://www.bombaxtic.com.

+0

sitio Web se ha reducido, [fuente de Google Code] (https://code.google.com/p/bombax/source/list) no ha sido actualizado desde mayo de 2010. –

Cuestiones relacionadas