2011-09-07 10 views
23

¿Es posible/factible usar ObjC (no es necesario el sabor de Apple) para desarrollar aplicaciones web del lado del servidor? ¿Es útil la cadena de herramientas GNU ObjC? Por favor comparte tus pensamientos y experiencias.Objective-C en desarrollo web

Upd. Me gustaría escuchar más respuestas con experiencia práctica concreta, como "probé/uso ... y es genial/apesta, porque ...". ¡300 recompensas!

Upd2. La razón de mi pregunta es que estoy a punto de desarrollar una aplicación para iOS con un gran back-end basado en la web y pensé que sería bueno usar la misma herramienta/IDE para ambas partes. Pero, por desgracia, las respuestas hasta ahora muestran que esto no será factible. Gracias a todos por tomarse el tiempo.

Respuesta

17

La respuesta que el mercado definitivamente ha decidido es que sí, es posible y no, no es factible tratar de impulsar tal cosa en el mercado. Los WebObjects de Apple (lo que usa la tienda en línea de Apple) solían ser Objective-C e incluso lo movieron a Java.

En cuanto a la cadena de herramientas GNU Objective-C, tampoco sería muy optimista sobre su futuro. Desde que se mudaron a GPLv3, Apple los ha abandonado y ha creado sus propios compiladores Objective-C en torno a LLVM, por lo que esas rutas de código probablemente se estén volviendo un poco oxidadas en el lado de GNU. GNU "admite" todo bajo el sol, pero cuanto más se usa algo, más se verifica su implementación.

En cuanto al bit "He usado", sí, utilicé la variante Objective-C de WebObjects en el día. Fue bastante bueno para su momento, pero las necesidades de asignación de memoria de nivel relativamente bajo de Objective-C y su sintaxis no C lo hicieron un poco incómodo. Y su tipado fuerte fue excelente para el desarrollo del núcleo, pero oneroso para los aspectos de "scripting" del desarrollo web.

Al final, si un lenguaje es Turing-completo, en teoría podría hacer cualquier cosa en un idioma que pudiera hacer en otro, pero la falta de un ecosistema de bibliotecas para analizadores, scripting, interacciones de bases de datos, indexación, etc. estarás comenzando desde un valle bastante profundo en comparación con Java o un lenguaje compatible con JVM.

8

Hay un marco de JavaScript llamado Cappuccino que utiliza una sintaxis muy similar a Objective-C que llaman Objective-J. Pero como desarrollador de Cocoa desde hace mucho tiempo, prefiero Sproutcore, que no copia la sintaxis de Objective-C, pero toma prestada algunas ideas de Cocoa, ya que fue creada por antiguos ingenieros de Apple.

Si estaba pensando en el desarrollo del lado del servidor, supongo que podría hacerlo, pero probablemente tomará menos esfuerzo para aprender algo de lenguaje de servidor popular que para conseguir todo en marcha y funcionando con Objective-C

4

Apple solía (y todavía lo hace en parte) construir sus elementos web usando WebObjects, que conecta la estructura MVC y muchos patrones de diseño de las aplicaciones Cocoa a un marco de servidor web basado en Java. Recientemente vi que alguien está intentando crear un marco del lado del servidor con Obj-J llamado Womble. Aunque parece bastante crudo. De cualquier forma, no estoy al tanto de una implementación de framework web Obj-C pura ...

6

Apple WebObjects era originalmente una plataforma Objective-C antes de ser portada a Java. Un subproyecto de GNUStep, llamado GNUStepWeb, pretende ser compatible con WebObjects 4.5 --- la última versión para admitir Objective-C (lanzado en 2000). No estoy seguro de cuán completa es la implementación, pero no ha habido mucho desarrollo en más de un año.

7

Hay Frothkit. Sin embargo, no se ha actualizado desde 2010, principalmente debido a marcos maduros para otros lenguajes como Rails y Django.