2009-10-05 14 views
19

Basta dire di avere un'applicazione desktop abbastanza grande e complicata scritta in ogg-c/cacao scritta correttamente in MVC. Quindi desideri sostituire V e C in modo che si tratti di un'applicazione web?Programmazione di applicazioni Web con obiettivo-c?

C'è qualcosa come Tomcat ma per obiettivo c? La cosa più vicina che riesco a pensare è in qualche modo convertire il codice del modello in un modulo apache da caricare in apache?

Ovviamente potrei incorporare una sorta di server HTTP e scrivere un intero mucchio di codice per gestire sessioni, richieste e risposte e così via, ma potrebbe esserci un modo più semplice?

risposta

11

È possibile lasciare il server quasi così com'è. Lo avrei eseguito come un demone sullo sfondo.

Mi piacerebbe dividere la parte controller. Una parte di essa risiede sul server come una connessione tra le richieste HTTP e il demone.

  • È possibile eseguire un server http fatto da sé.
  • È possibile creare un modulo Apache come indicato.
  • È possibile accedere al controller tramite CGI. Questa è l'opzione più semplice come la vedo io.

La seconda parte del controller è scritta in Javascript nel browser, scambia i dati con il server e aggiorna la GUI.

La parte vista è scritta completamente in javascript.


  • Si potrebbe - se si vuole - lasciare fuori il controller sul server e rendere il modello capire le richieste HTTP.

  • Per la parte Controller/Vista, considerare l'utilizzo di un framework.

    • jQuery per solo un'interfaccia chiara. (O una struttura simile)
    • Non ho ancora trovato un framework che lasci tutto il materiale del modello al server. Forse puoi usare SproutCore o Cappuccino di conseguenza.
    • SproutCore, il framework MVC full-backed utilizzato da Apple. (Pensaci almeno.)
    • Cappuccino, un altro framework MVC con full-backed.
1

Il più vicino che probabilmente arriva a framework web Objective-C sono o SOPE, o GNUStep, nessuno dei quali ho usato, ma sono imbattuto in quando stavo decidendo se volevo usare Rails o qualcosa di scritto in Objective- C per il mio materiale web. C'è anche ARJDatabase, che è un po 'come i Core Data, ma non è compatibile con la fonte.

La linea di fondo è, a meno che tu non sia stato molto attento a come hai scritto il tuo codice (cioè lo hai scritto con GNUStep in mente, non hai usato nulla di specifico di Apple) probabilmente dovrai fare un bel po 'di lavorare comunque. E se hai usato Core Data affatto, non c'è modo che io sappia per riutilizzarlo al di fuori di una App Mac. E poiché non è configurato per essere utilizzato i miei molteplici utenti simultanei, non vorrai comunque usarlo in un'app web. In conclusione, sono andato con Rails.

3

C'è una nuova piattaforma di sviluppo web per Objective-C/Cocoa chiamata Bombax. Sembra esattamente quello che stai cercando (è progettato per permetterti di scrivere intere applicazioni web in Objective-C). Forse potresti anche combinarlo con Cappuccino. Puoi verificarlo allo http://www.bombaxtic.com.

+0

Il sito Web non è attivo, [la fonte del codice Google] (https://code.google.com/p/bombax/source/list) non è stata aggiornata da maggio 2010. –

Problemi correlati