Come fanno le persone a creare librerie multipiattaforma (sistemi UNIX e Android, a volte anche iOS)?
Cosa usano?
Lo sto chiedendo perché creo le biblioteche come un hobby e sono curioso.
Come fanno le persone a creare librerie multipiattaforma (sistemi UNIX e Android, a volte anche iOS)?
Cosa usano?
Lo sto chiedendo perché creo le biblioteche come un hobby e sono curioso.
Utilizzando linguaggi, API e strumenti multipiattaforma.
Ovviamente, tutto ciò che stai facendo è spostare il carico di responsabilità, rendendo la compatibilità il problema di qualcun altro (ad esempio quello del linguaggio, API e sviluppatori di strumenti).
In definitiva, qualcuno, da qualche parte, ha bisogno di scrivere una versione del codice per ogni piattaforma, anche se è solo a livello di Assemblea.
In rari casi, quel "qualcuno" è in realtà tu : quando la tua base di livello inferiore non è e / o non può essere portabile, allora devi scrivere più versioni del tuo codice per supportare le piattaforme di destinazione. Di solito puoi farlo senza dover mantenere basi di codice distinte, usando la compilazione condizionale, i preprocessori e così via.
Si tratta di astrazione . Ricorda, l'astrazione è l'intero scopo dei linguaggi di livello superiore!
Poiché stai chiedendo java:
meno dipendenze rispetto alle altre jar-lib di cui la tua lib ha maggiori probabilità è che sia crossplatform. Tutti i jar-lib usati devono essere disponibili anche sul tuo sistema di destinazione.
se la tua lib ha dipendenze da
android.*
o javax.swing.*
è improbabile che sia multipiattaforma.
Leggi altre domande sui tag java cross-platform