Flutter Simple DLL FFI: Utilizzare DLL C++ in un’app Flutter

Eccomi di nuovo sull’argomento Flutter con un esempio pratico di utilizzo di DLL esterne, in questo caso scritte in C++.

Seguendo il walkthrough ufficiale di Microsoft per creare una DLL in C++ , ho realizzato la libreria indicata che calcola numeri di Fibonacci.
Nel sito Microsoft viene proposto l’utilizzo della libreria appena creata come libreria esterna per un altra applicazione sempre realizzata in C++, il mio obbiettivo e’ invece integrare la DLL in un’app Flutter per dimostrare come sia possibile combinare la potenza del C++ con la flessibilità di Flutter e realizzare cosi FrontEnd di nostro gradimento.
L’esigenza di questo progetto viene da un mio progetto nel quale ho dovuto comandare un Laser Tracker per rilevare misure in linea di produzione. Il Laser Tracker, come molti hardware di livello, viene fornito con delle DLL facenti parti del suo SDK scritto appunto il C++.

Contenuti

  • Uso delle DLL scritte in C++ con Flutter: consente di sfruttare codice nativo ad alte prestazioni, mantenendo l’interfaccia moderna e user-friendly che Flutter offre. Questo approccio permette una maggiore efficienza e compatibilità, soprattutto in progetti complessi che richiedono integrazioni con sistemi, anche hardware, di diversa natura. Flutter, con il pacchetto dart:ffi, rende semplice questa integrazione, offrendo nuove opportunità di sviluppo.
  • Limiti: dart:ffi è strettamente legato alle librerie native della piattaforma (ad esempio, Windows in questo caso), il che può rendere più difficile la portabilità su altre piattaforme come Android o iOS. D’altronde anche le DLL stesse sono legate alla piattaforma in cui girano.
  • Codice Esempio: Il codice di questo esempio lo trovate qui https://github.com/GiGi-Italy/flutter_simple_dll_ffi

Crediti

Un ringraziamento speciale va agli sviluppatori Microsoft che quando vogliono sanno fare del sito learn.microsoft.com una fonte davvero ottima a cui accingere per aumentare le nostre conoscenze. In questo caso l’articolo (qui), e’ davvero bene fatto! La cosa più difficile e’ solamente seguire i menù di visual studio se non lo avete installato in inglese 🙂

Contesto

L’esigenza di questo progetto è nata dalla necessita di far interagire le nostre applicazioni scritte in Flutter con hardware e software di vario genere del quale magari il produttore rilascia SDK scritti proprio in C++.

Compatibilità

Attualmente, Simple DLL FFI è stato testato solo su sistema operativo Windows, visto appunto che le DLL sono una peculiarità di questo sistema.

Conclusione

“Simple DLL FFI” offre una soluzione pratica se hai accesso diretto alla libreria nativa (DLL), utilizzare dart:ffi è un’ottima opzione per evitare di dover scrivere codice nativo C++ o C#, dart:ffi può essere più semplice e diretto rispetto ai canali di piattaforma.


Commenti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *