Domanda

Da quando ho acquistato un Nokia N95 8G, ho pensato di esaminare qualche sviluppo Symbian.Coloro che hanno esperienza nello sviluppo sul sistema operativo Symbian potrebbero apprezzare il loro sentimento nei confronti della piattaforma?È difficile iniziare, gli strumenti sono maturi, ecc.?

È stato utile?

Soluzione

Ho lavorato sul lato dello sviluppo del sistema operativo Symbian OS per poco più di un anno.La sensazione generale del sistema è che si tratti di un pezzo di merda privo di documenti pieno di bug.L'unica cosa positiva che posso dire è che il codice del sistema operativo stesso segue relativamente bene gli standard di codifica interni.L'IDE CodeWarrior standard era spazzatura (anche se Carbide, che è uscito di recente in sostituzione, è abbastanza decente ma la versione gratuita era molto scarna e diverse versioni indietro, almeno qualche tempo fa).L'emulatore era appena utilizzabile: funzionava lentamente, differiva dal dispositivo reale e si bloccava o si bloccava spesso.

Se vuoi sviluppare su Symbian, preparati a molti tentativi ed errori perché non c'è quasi nessuna documentazione disponibile, nemmeno sui concetti fondamentali dell'ambiente.Come esempio fittizio, la documentazione di base per il metodo "JiggleThingy()" sarebbe "Jiggles the thingy".Naturalmente, ci sono state anche molte occasioni in cui l'implementazione era piuttosto diversa dalla documentazione.

Un conoscente ha gestito per alcuni anni una società di sviluppo di software mobile in Asia e ha sviluppato praticamente tutte le piattaforme.Mi ha detto che Symbian era il peggiore di tutti: causava molti più grattacapi di qualsiasi altra piattaforma mobile.

Tutto questo riguarda lo sviluppo in C++.Sviluppare per Symbian utilizzando Java offre funzionalità così limitate che non ho sentito nessuno che lo abbia effettivamente fatto.

Altri suggerimenti

Nella nostra organizzazione abbiamo eseguito una quantità ragionevole di programmazione S60, oltre a molto BREW e un po' di praticamente tutto il resto.

  • Gli strumenti S60 sono piuttosto buoni rispetto a molte piattaforme che ho utilizzato.Per esempio,
  • Gli strumenti di BREW sono una vergogna.
  • La piattaforma S60 è piuttosto potente.Puoi fare praticamente qualsiasi cosa (anche se potresti essere limitato dai requisiti di firma).Java non vale nemmeno la pena di fare il confronto, sei così sandbox che non puoi fare nulla...
  • La firma di S60 è ok, anche se occasionalmente siamo stati un po' presi in giro (chi non l'ha fatto...)
  • La curva di apprendimento è molto ripida.Fondamentalmente lo è diverso.Se ci sono due modi per fare qualcosa, uno dei quali standard, allora Symbian avrà scelto l'altro.
  • La documentazione, in particolare nel 2PQ, non lo è Quello Cattivo
  • Il sistema di costruzione è pessimo come tutti dicono

Immagino di poter rispondere ad alcuni aspetti soggettivi della domanda come qualcuno che ha lavorato sul sistema operativo Symbian per parecchi anni ;) Tuttavia non lo farò, cercherò di attenermi a quelli che vedo come fatti e informazioni utili .

Il telefono in questione esegue l'interfaccia utente Nokia Series 60 (oggi chiamata s60).I telefoni Symbian sono tradizionalmente suddivisi in bit del sistema operativo (Symbian OS v9.1, 9.2 ecc.) e il fornitore del telefono acquista o sviluppa la propria interfaccia utente.Una versione particolare di s60 verrà eseguita su una versione specifica del sistema operativo Symbian.

Quindi un buon punto di partenza per lo sviluppo sul tuo telefono è Forum Nokia:http://www.forum.nokia.com/main/resources/technologies/symbian/documentation/getting_started.html

Questo coprirà i frammenti dell'interfaccia utente.Dovrei aggiungere che i fornitori dell'interfaccia utente eseguono essi stessi molta personalizzazione del sistema operativo (con vari gradi di autocontrollo/qualità), quindi le differenze nelle API, in particolare quelle che coinvolgono l'hardware, possono diventare esoteriche.

Symbian stesso fornisce un livello decente di qualità della documentazione, non all'altezza di Microsoft ma migliore di molte offerte open source.Un buon riferimento è il Symbian Developer Network:

http://developer.symbian.org

Per quanto riguarda gli strumenti.L'ambiente di sviluppo standard al giorno d'oggi è la piattaforma Carbide di Nokia che è basata su Eclipse, penso sia giusto dire che se riesci a sopportare Eclipse starai bene, se non puoi...BENE...tempo da riga di comando per te.

Carbide dispone del debug sul dispositivo e include i compilatori per target PC e ARM (GCC-E).

La maggior parte dello sviluppo delle app viene eseguito utilizzando l'emulatore Symbian che farà parte dell'SDK del tuo telefono Nokia.

Quando sei pronto per installare l'app sul telefono, devi guardare Symbian Signed:http://www.newlc.com/new-symbian-signed-processes-are-now-availableMolte persone si sono lamentate ragionevolmente del fatto che può creare un po' di confusione, ma come sviluppatore non commerciale credo che "Open Signed" dovrebbe essere il più semplice.

raccomando Pitone per S60 come un buon modo per esplorare le capacità della piattaforma Nokia S60/Symbian.È facile da usare e viene fornito con una potente configurazione di API.C'è anche un libro che copre molti esempi divertenti.Una cosa bella dell'SDK Python è che puoi eseguire il codice sul telefono in modo interattivo tramite una console sul tuo PC.

Qt per S60 uscirà molto presto, è già disponibile una pre-release non supportata.Potresti voler investire il tuo tempo lì, poiché probabilmente sarà l'interfaccia utente preferita di Nokia in futuro.

Ho sviluppato un po' di applicazioni Symbian C++, è abbastanza difficile orientarsi, ed è particolarmente difficile se (come me) devi passare da un ambiente di sviluppo all'altro (Palm, anche se non così tanto ora, Windows Mobile, desktop Windows, THEOS, Linux, HTML/CSS).

Ma ho sentito la questione "nessuna documentazione" sollevata in molti posti e non ho trovato che fosse affatto vera.In alcuni casi, c'era troppa documentazione e ciò che c'era era troppo complicato per un principiante.Il codice di esempio era lo stesso: ce n'è tantissimo, ma è difficile distinguere quali parti del codice controllano quale funzionalità.

So che una volta che ci si entra, però, è abbastanza semplice creare app davvero impressionanti.C'è una buona community al Forum Nokia (menzionato sopra) e traggo ispirazione parlando con alcuni degli sviluppatori che partecipano allo Smartphone Show di Londra.Se hai un po' di tempo, varrebbe la pena andare laggiù a dare un'occhiata perché non sei troppo lontano, è a fine ottobre.Non è assolutamente uno spettacolo enorme, ma vale la pena dare un'occhiata.

La reputazione dello sviluppo di Symbian OS C++ come ostile (per usare un eufemismo) è innegabile.D’altra parte, la piattaforma è anche estremamente potente.

Se desideri solo codificare programmi personali o piccoli freeware/shareware, un'altra piattaforma potrebbe essere più adatta a te.Se stai cercando un sistema operativo in grado di sostenere una carriera professionale nello sviluppo di software, Symbian, J2ME e, in misura minore, Linux sono la soluzione migliore.

La documentazione e gli strumenti di Symbian si evolvono con ogni nuova versione.Usare Symbian OS C++ sta diventando sempre più semplice (ma c'è ancora molta strada da fare).

Un piccolo annuncio pertinente:L'ultimo sforzo di Symbian Press per introdurre gli sviluppatori all'ecosistema Symbian.

http://www.quickrecipesonsymbianos.com

Può essere utilizzato come corso passo passo di 80 ore.

Proprio come avvertimento, cerchiamo di evitare domande soggettive, come da FAQ

Che tipo di domande non dovrei porre qui?

Evita di fare domande che sono soggettivo, argomentativo o richiedono una discussione estesa.Questo è un posto per domande a cui è possibile rispondere!

Ora sei nuovo, quindi va bene :)

Per quanto riguarda la tua domanda, direi:

  • Chi se ne frega se è difficile, se vuoi fare qualcosa rimboccati le maniche e fallo, più sarà difficile più sarà gratificante!
  • Non sono uno sviluppatore del sistema operativo Symbian (una volta ottenuto un PDA potrei accedere a .NET CF), ma direi che le app mobili lo sono Veramente iniziando a prendere piede, molte app vengono ora rilasciate con un'app mobile per mantenere le persone connesse e utilizzare il tuo software.Più persone lo usano = più affari!
  • Guardando il Pagina Wikipedia qui Direi che ci sono molte opzioni per gli IDE e le piattaforme contro cui svilupparsi effettivamente, fantastico!

Symbian è un po' diverso da quello a cui forse sei abituato, ma è una piattaforma stabile (oltre 200 milioni di dispositivi disponibili) e gli strumenti sono maturi.

Il carburo è molto buono soprattutto se hai già usato Eclipse.

Un primo posto in cui cercare prima di iniziare la programmazione Symbian è qui: http://descriptors.blogspot.com/

I descrittori sono stringhe Symbian.Sono molto efficienti, tuttavia leggermente diversi da molte altre implementazioni di stringhe.

Dai un'occhiata al sistema operativo NS Basic/Symbian.Fornisce un ambiente simile a Visual Basic.È abbastanza facile da usare e risolve molti dei problemi causati dal sistema operativo Symbian.Le app verranno eseguite su entrambi i dispositivi S60 3a edizione e UIQ3 senza modifiche.

http://www.nsbasic.com/symbian

Consiglierei di provare Superwaba, è una piattaforma di sviluppo multipiattaforma per PDA che utilizza un linguaggio simile a Java, quindi è abbastanza semplice iniziare.

Oggi Nokia Qt SDK 1.0 è rilasciato.Dubito però del futuro di Nokia, che dovrà affrontare il già impegnativo mercato della telefonia mobile con il suo N8, superato dall'iPhone 4 ancor prima di essere lanciato sul mercato.Anche se stesso è sulla falsariga della confessione Questo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top