Grazie mille della dritta.
Delphi non l'ho preso in considerazione perchè credevo fosse un progetto morto e invece da quello che mi dici sembrerebbe di no.
Provo a vedere anche questo allora.
Grazie ancora.
Grazie mille della dritta.
Delphi non l'ho preso in considerazione perchè credevo fosse un progetto morto e invece da quello che mi dici sembrerebbe di no.
Provo a vedere anche questo allora.
Grazie ancora.
Stefanoxjx
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
Intervengo per porre un quesito su Delphi (che non ho mai usato). Sbirciando ho visto che esiste il progetto multi piattaforma.
Mi sono chiesto, se svilupppo un progetto che richiede librerie di comunicazione con database (esempio, SQLite), immagino si possa pubblicare per ogni piattaforma la libreria appropriata, ma a livello di codice?
Cioè, scrivo le righe che estraggono dei dati da un db sqlite che usano - esempio - la libreria x per Win32.
Android avrà la sua specifica libreria, ma lo stesso codice mi darà errore perchè la lib è diversa.
Devo usare forse - anche - una libreria multipiattaforma?
Parlo senza aver scritto un progetto quindi scusa se la domanda è "astratta"
Ho visto solo un tuo video di illustrazione di base.
Io ne ho viste cose che voi umani non potreste immaginare. Navi da combattimento in fiamme al largo dei bastioni di Orione e ho visto i raggi B, balenare nel buio vicino le porte di Tannhäuser. E tutti quei momenti ... andranno ... perduti nel tempo, come lacrime nella pioggia. È tempo di morire. (Roy Batty).
Sì, con Delphi puoi creare applicazioni usando due librerie: la VCL (Visual Component Library), che di fatto è una delle librerie più longeve e mature per lo sviluppo Windows e che abbraccia le API fino a quelle delle versioni più recenti (come Windows 11), e FireMonkey (abbreviata in FMX), che assomiglia alla prima in alcuni aspetti ma non è progettata per essere compatibile con essa, in quanto ha come finalità il supporto allo sviluppo cross-platform (quindi oltre a Windows anche Mac, iOS, Android e Linux).
La connessione a qualunque base dati, che sia locale (es. SQLite) o client/server (es. MySQL, SQL Server, ecc.), avviene tramite una libreria di componenti che è integrata nell'ambiente e che si chiama FireDAC.
Questa libreria si appoggia a propri driver che sono sviluppati nello stesso linguaggio e che sono disponibili per tutte le piattaforme, quindi il codice per accedere a qualsivoglia database, ma anche a qualsiasi altra feature che le piattaforme mettono a disposizione, grazie all'uso di specifiche classi che si adattano al contesto di esecuzione, è sempre lo stesso, identico, uguale.
In sintesi, creando una Multi-Device Application, si usa un singolo sorgente per indirizzare tutte le piattaforme supportate.
E' proprio questo il punto focale: non hai una libreria diversa, ma un'unica libreria che è crossplatform e che è la stessa da utilizzare indipendentemente dalla piattaforma, la quale sfrutta un driver specifico che varia a seconda del formato di database a cui si deve accedere.
Ci mancherebbe, è una domanda più che lecita e che in effetti potrebbe sorgere spontanea a chiunque.
Grazie mille! Qualunque suggerimento su cosa sarebbe interessante approfondire è sempre ben accetto, visto che in questo periodo mi piacerebbe fare contenuti sul tema e dare delle risposte (possibilmente "multimediali") alle domande più frequenti.
Ciao!![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
Grazie Marco, sei stato molto esaustivo. Non scrivo molto sui vari forum ma ti leggo (su vari forum e altro).Grazie mille! Qualunque suggerimento su cosa sarebbe interessante approfondire è sempre ben accetto, visto che in questo periodo mi piacerebbe fare contenuti sul tema e dare delle risposte (possibilmente "multimediali") alle domande più frequenti.
Dovessi esprimere un interessamento, mi piacerebbe un video che approfondisca proprio quest'aspetto e nello specifico un progetto multipiattaforma per la connessione remota a MySQL.
A presto.
Io ne ho viste cose che voi umani non potreste immaginare. Navi da combattimento in fiamme al largo dei bastioni di Orione e ho visto i raggi B, balenare nel buio vicino le porte di Tannhäuser. E tutti quei momenti ... andranno ... perduti nel tempo, come lacrime nella pioggia. È tempo di morire. (Roy Batty).
Se parliamo di sviluppo mobile - giusto per rimanere in tema - a prescindere dalla tecnologia e dal linguaggio utilizzato (Kotlin, Delphi, Flutter, ecc.) tipicamente NON si fanno connessioni remote a database client/server: questo perché la connettività dei device è molto instabile (per natura), anche quando siamo connessi tramite WiFi, ed è quindi uno scenario che non favorisce l'uso di questo tipo di database, oltre al fatto che in questo modo la base dati verrebbe esposta automaticamente a chiunque, con possibili problemi di sicurezza.
La prassi è creare una API (Web API, REST API, Web Service, ecc.) che riceva le richieste dal device, faccia l'interrogazione richiesta al DB e restituisca poi i dati.
In sintesi, i dati vengono messi "in mobilità" (come si suol dire), ossia resi accessibili tramite un layer intermedio che funge sia da scudo sia da interlocutore per l'architettura che sta dietro, che oltre al DB potrebbe comprendere anche molti altri servizi e topologie.
Concludendo, da un'app mobile - per quanto possibile - non ci si collega direttamente a MySQL (o ad altri database di tipo client/server).
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
Ultima modifica di Misterxxx; 30-11-2023 a 13:46
Io ne ho viste cose che voi umani non potreste immaginare. Navi da combattimento in fiamme al largo dei bastioni di Orione e ho visto i raggi B, balenare nel buio vicino le porte di Tannhäuser. E tutti quei momenti ... andranno ... perduti nel tempo, come lacrime nella pioggia. È tempo di morire. (Roy Batty).