Da Visual Basic a Objective-C. Impresa possibile?

Ciao a tutti,
sono uno studente di ragioneria, indirizzo programmatori e volevo risolvere un quesito che mi pongo da alcuni giorni.
Dispongo di un Hackintosh…quindi il modo di lavorare in SDK c’è l’ho. Basi sulla programmazione ce le ho, solamente che a scuola lavoriamo in Visual Basic e non in C :cursing:
Per ora realizziamo programma abbastanza semplici, con interfaccie grafiche non troppo complesse con qualche label, option, command correlati all’utilizzo dei file, ma il difficile non è questo.
Avevo intenzione di realizzare un applicazione utile per noi studenti in Visual Basic e con le conoscienze attuali potrei farcela benissimo.
Solamente mi chiedevo se fosse difficile il porting di una applicazione dal Visual Basic a Objective-C o se mi convenisse imparare quello e realizzarla subito in Objective-C.

In questo progetto, ho anche l’aiuto della mia ragazza, che in programmazione ci prende molto più di me :rolleyes: e ci arriva molto prima alle cose :smiley:

Sò che è un enorme dispendio di tempo realizzarla prima in Basic e poi effettuare il porting, ma così facendo potrei avere l’appoggio anche del professore o di miei compagni, che potrebbero aiutarmi e condividere il lavoro in quanto svilupperei un programma utile a tutti noi.

Volevo sapere un pò le vostre opinioni e se la cosa era fattibile.
Grazie.

Intanto ti rispondo subito: Il porting non esiste :smiley:
Come non esiste praticamente tra i vari linguaggi non esiste neanche per iphone. O almeno il porting automatico, se ti riscrivi tutto da capo non avrai problemi.
L’obj è un linguaggio fortemente ad oggetti, come il java o il C#, quindi tutto è una classe e di componenti statici ce ne sono pochissimi. Non è che ad esempio se dichiari una label dopo sei a posto, dovrai utilizzare il componente UILabel, metterlo tra gli oggetti della classe se vuoi fare le cose per bene e poi provvedere all’inizializzazione e tutto, ma questo è il meno.

Secondo me il forte ostacolo dell’obj è la sintassi che non prorio deriva dal C.
Ad esempio se in C hai una classe Oggetto:

class oggetto {
void metodo(parametri);
};

e dichiari

oggetto a;

Succesivamente per richiamare il metodo interno basta fare:

a.metodo(parametri);

In obj invece è diverso, dovresti fare

[a metodo:parametri]

E questa tanto per dirne una…

Onestamente trovo abbastanza difficile il passaggio dal C/C++ (dico c++ giusto per fare un esempio di un linguaggio ad oggetti) all’obj, passare da visual basic a obj è sicuramente peggio.
Per come la vedo io imparare la programmazione iphone partendo da 0 o partendo dal visual basic è quasi la stessa cosa :smiley:

Grazie mille per la tua chiarissima spiegazione :smiley:

Allora vedrò di imparare un pò l’obj e vediamo se riesco a fare qualcosa di buono :slight_smile:

Peccato però…pensavo di realizzare l’applicazione in Visual Basic e poi su quella base modificarla in C, ma credo che allora mi convenga scriverla direttamente in C (la vedo dura, già mi riesce difficile scriverla in Basic, linguaggio che studio a scuola da circa un anno :()

Un programma in C puro si compila con 0 modifiche anche per iphone :smiley:
Ovviamente però con funzioni di i/o come prinf() e scanf() aspettati che funzioni solo su console (quindi mobileterminal o via ssh).
Se vuoi la grafica e gli oggetti devi per forza scrivere in obj

Quindi posso creare il sorgente in C e compilarlo, tutto direttamente dall’iphone?
e poi avviarlo da terminale?

Si :smiley:
Basta che usi solo funzioni C standard come dicevo… (nessuna API windows)
Ma per compilarlo su iphone devi seguire un po di passaggi:

  • Scaricare l’sdk apple ed estrarci gli headers
  • Scaricare gcc da cydia
  • Scaricare ldid

Se vuoi fare questi passaggi segui una delle guide che ho linkato qui: http://www.iphoneitalia.com/forum/82195-post14.html

Grazie delle dritte!! :smiley:
Vedrò di fare un pò di esperimenti :slight_smile:

Se non hai ancora risolto entro stasera mandami un pm, cosi vedrò di trovare il tempo di uppare tutto gia fatto su rapidshare (10mb invece del 1gb dell’sdk apple) e fare una giuda lampo per il forum.
Visto che in realtà ti servirebbe anche il makefile e qualche piccola nozione sui sistemi unix based

Compilare programmi in C su iphone (Senza avere un mac)

Postato la guida: http://www.iphoneitalia.com/forum/dev-center-community/11494-creare-applicazione-per-iphone-senza-avere-mac-ne-hackintosh.html