Domanda

Delphi 2011 consentirà di compilare applicazioni che gireranno anche su Mac OS.(Nota:Ho scritto questa frase prima che fosse pubblicata l'anteprima di Delphi-XE, e in quel momento tutti parlavano di ProjectX).

È realistico pensare che sarà possibile "migrare su cross platform" un'applicazione win32?

I fornitori di componenti di terze parti renderanno la loro libreria multipiattaforma o questo non è praticamente possibile?

Utilizzo i seguenti componenti di terze parti:

devexpress: interfaccia utente

devart-DAC

Generatore di report: interfaccia utente

Steema/TeeChart - Interfaccia utente

Non mi aspetto di avere un mago che faccia il lavoro per me, voglio solo capire meglio i dettagli.

È stato utile?

Soluzione

Il quadro xplatfrom sarà (per quanto ci lasciamo sapere) qualcosa di simile una rivista (e, si spera molto migliorato) CLX, la libreria Qt-based utilizzato in Kylix. La VCL è una libreria di Windows fortemente orientata (ed è bene che sia), e si basano su numerose funzioni specifiche per Windows. In tal modo non è facile affatto - se non impossibile o dare un senso - per realizzare componenti piattaforme altamente compatibile con le controparti VCL. È molto più facile per controlli non visivi (cioè DAC) che per quelli visivi (cioè widget DevExpress). Se e quando terzo fornitore indipendente lancerà la loro libreria per xplat Delphi è ancora da vedere, molto dipenderà Delphi 2011 successo e diffusione. Migrazione un'applicazione Win32 per essere cross-platform potrebbe richiedere piccole modifiche o quelli più grandi, a seconda di come è stato scritto, quanto legate a Windows, e che sono utilizzati librerie. Per tutte le applicazioni di media complessità, IMHO non sarà una migrazione facile.

Altri suggerimenti

Bene, Delphi 2011 è in una beta privata in questo momento e poche persone fidate ne sono a conoscenza.

Quindi fino alla fine di agosto immagino che non lo vedremo in azione.Tuttavia, ho sentito che le nuove applicazioni multipiattaforma si chiamano applicazioni UCL e non VCL.

In ogni caso, essendo Delphi tradizionalmente uno strumento Windows, sospetto che le attuali applicazioni siano in qualche modo legate alla piattaforma Windows, quindi mi aspetto che il processo sia noioso in caso di conversione a multipiattaforma.

Quando dico Legato intendo una chiamata alle librerie o alle funzioni di Windows.

La maggior parte dei software Delphi utilizza funzioni specifiche di Windows, come ShellExecute, MessageBox, funzioni importate da advapi, kernel32 etc e queste sono funzioni che non sono disponibili su altre piattaforme poiché hanno le proprie librerie.

Ma mi aspetto che questa funzionalità sia disponibile nella nuova libreria multipiattaforma, nel caso in cui non lo sia, sarebbe un enorme fallimento, secondo me.

Delphi 2011 è fuori e si chiama Delphi XE. Esso supporta Windows a 32 bit, come le precedenti versioni di Delphi. 64-bit, OS X e Linux rimangono sul roadmap .

E 'impossibile dire quanto sia facile sarà quello di fare cross-platform Windows e OS X fino Delphi in realtà lo supporta. Ma possiamo fare alcune ipotesi sulla base di Kylix, che è la versione Linux interrotto di Delfi.

Kylix ha introdotto una nuova libreria di componenti denominata CLX. CLX era molto simile alla VCL, ma non identici. CLX era availble per Windows e Linux. La VCL è stato ancora incluso per Windows-only applicazioni. Il porting di un'applicazione VCL per CLX non era troppo difficile, almeno se tutti i componenti 3rd party supportati CLX. La parte più difficile è stato il porting quelle parti del proprio codice che chiamano direttamente l'API Win32.

Ciò che alcune persone hanno fatto, me compreso, è stato quello di utilizzare VCL su Windows e CLX su Linux. Questo ha reso le cose un po 'più difficile, dal momento che richiede due insiemi di forme, una per Windows e una per Linux. Per farlo con successo, si doveva separare quanto gran parte del codice non visivo il più possibile dalle forme. Per esempio. si mette il TActionList su un modulo di dati condivisi dalle versioni VCL e CLX sul app, e poi le versioni VCL e CLX separate del modulo che fornisce la barre degli strumenti, ecc che utilizzano la lista di azioni. Se state pensando di supportare più piattaforme in futuro, si può preparare ora separando tanto di codice in unità che non sono legati ad una forma il più possibile.

Dato che Delphi è volta a creare applicazioni native, non dovrete mai "compilazione volta run anywhere" come offerte di Java. Invece avremo "sviluppare una volta molti luoghi di compilazione", assumendo Embarcadero segue attraverso con la loro tabella di marcia.

DELPHI-XE non consente di compilare applicazioni per i MacOS

dare un'occhiata a matrice delle caratteristiche di Delphi XE sul Embarcadero sito .

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