Domanda

I sono planata a sviluppare su sistemi Symbian, ma non ho familiarità con esso. So che (potrebbe essere) il modo più popolare di sviluppare su Symbian è Symbian C ++, e ho anche sentito parlare di Qt. Qual è la differenza tra loro? Se voglio la mia corsa applicazione sulla maggior parte dei sistemi Symbian, che devo scegliere? Qualcuno può darmi qualche consiglio generale?

Grazie ~

È stato utile?

Soluzione

Symbian C ++ è il dialetto di C ++ in cui il sistema operativo viene scritto, tutta la strada dal kernel fino al framework applicativo. Si differenzia da ++ C standard in un certo numero di modi, alcuni dei quali sono elencati qui:

  • Le eccezioni non sono utilizzati; Symbian utilizza un proprio metodo di pila svolgimento denominata 'foglie'. La ragione principale di questo è che lo standard C ++ era ancora in fase di sviluppo in cui è stato creato Symbian, e le eccezioni erano in quel momento non ampiamente supportato dai compilatori.
  • A causa della mancanza di supporto per le eccezioni, gestione di memoria allocata dinamicamente utilizza un meccanismo brevettato chiamato cleanup stack.
  • Anche se un porto della STL è ora disponibile per Symbian, questo è uno sviluppo recente, in modo che il sistema operativo ha le proprie classi di utilità per le stringhe, array, hash, ecc.

Nel loro insieme, questi possono rendere l'apprendimento Symbian C ++ piuttosto difficile, anche per i più esperti programmatori C ++. Le classi di pulizia dello stack e stringhe (noto come descrittori) in particolare sono di solito visto per aggiungere un sacco di spese generali per lo sviluppo di Symbian C ++.

Come con qualsiasi sistema operativo, oltre a dover conoscere la lingua madre, è inoltre necessario conoscere il modo per aggirare le librerie, che sono rilevanti per il settore dello sviluppo. Symbian ha una serie molto ricca di librerie che copre una grande quantità di funzionalità (filettatura, IPC, grafica, multimedia, il networking, la posizione, la messaggistica, PIM, telefonia ecc) Una volta che ci si abitua a idiomi Symbian C ++, queste librerie sono in genere molto potente e offrono una serie di funzionalità almeno pari ad altre piattaforme. Una notevole eccezione è la libreria di interfaccia utente, denominato Avkon, che è ormai piuttosto datato rispetto ai quadri corrispondenti su altre piattaforme.

Qt ha lo scopo di affrontare alcune delle questioni di cui sopra, che tendono a mettere la gente fuori di sviluppo nativo su Symbian OS. In particolare, consente uno stile molto più moderno di programmazione C ++, e comprende una serie molto avanzato di grafica / librerie UI. Oggi, Qt è disponibile per l'installazione sulla maggior parte dei dispositivi Symbian recenti. Guardando al futuro, che costituirà la base di un nuovo framework per applicazioni, che sarà introdotto nella S ^ 4 versione di la piattaforma (dovrebbe essere nel trasporto dei dispositivi a partire dal 2011).

Una cosa che vorrei sottolineare è che, a questo punto, Qt non copre tutte le funzionalità delle librerie native. Dalla lista di cui sopra, mentre Qt offre astrazioni di fili, IPC, grafica, multimediale e di rete, le sue librerie di base non includono posizione, messaggistica o la funzionalità PIM. Così, mentre è possibile utilizzare Qt di scrivere (per esempio) un client FTP, un programma di disegno o di un lettore multimediale, non è possibile utilizzarlo per scrivere un client di messaggistica. Perché Qt è C ++, è possono mescolare con Symbian C ++ (scendere a API di piattaforma per l'accesso di messaggistica per esempio), ma questo è un po 'complesso.

Questo divario funzionalità è stato affrontato da un progetto chiamato Qt Mobility , che introdurrà librerie Qt che coprono aree quali la posizione, la messaggistica e PIM.

In sintesi, se siete nuovi a Symbian, Qt è l'ambiente di sviluppo applicativo da imparare, e così facendo ha l'ulteriore vantaggio che si può anche sviluppare applicazioni Qt su altre piattaforme (dal momento che è un toolkit cross-platform).

Altri suggerimenti

Vai per Qt. Sarà la direzione in cui tutti i Nokia sta andando. Più il vostro programma sarà allora probabilmente eseguito su Maemo / Meego troppo.

Non è un confronto di 7 toolkit disponibili -Symbian C ++, Qt, Open C \ C ++, Python, widget, Java ME, Flash Lite- qui: Hitch Hikers Guida al Runtime Spazio

La risposta è un po 'tardi, ma qui c'è da Symbian C ++ sul Nokia Developer wiki:

  

Symbian C ++, il quadro di programmazione nativa per Symbian, è un   variante idiomatica C ++ ottimizzato per dispositivi di memoria insufficiente. Mentre Qt è   ora il quadro nativa consigliata la creazione di applicazioni Symbian, abbiamo   continuare a fornire l'accesso a strumenti per lavorare con Symbian C ++. Questo   un sostegno costante consente di mantenere le applicazioni legacy e   loro migrare verso le ultime versioni della piattaforma Symbian.

Sembra che Qt è ora preferito, e nuovi progetti dovrebbe usare Qt.

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