Per software libero si intende quello che ha codice sorgente aperto e libero di essere modificato, copiato, eseguito e ri-pubblicato. Le licenze più diffuse del software libero sono GPL, BSD e MIT, ma vi è anche LGPL, AGPL
Wiki Category: piattaforme
Le espressioni regolari (regular expression) si usano per cercare una parola in un testo, oppure per cercare un file in una cartella.
Spesso quando si cerca una parola, non si cerca la parola esatta, ma qualsiasi parola che gli assomigli in qualche modo.
Ad esempio, se si desidera cercare tutte le parole che finiscono con la parola “atto” (ad eccezione del primo carattere):
Primo esempio di espressione regolare:
".atto"
trova due corrispondenze in questa frase perchè il punto . è un simbolo speciale che indica un carattere qualsiasi
il gatto matto vive sopra al tetto e sotto il letto
Ad esempio, nel seguente testo si desidera cercare tutte le parole che finiscono con la parola “to” (non importa quanti caratteri diversi la precedono):
Secondo esempio di espressione regolare:
".*to"
trova cinque corrispondenze in questa frase perchè il punto seguito dall’asterisco indica un numero qualsiasi di caratteri qualsiasi
il gatto matto vive sopra al tetto e sotto il letto
Sul sistema operativo unix-like alcuni file e alcune cartelle hanno il nome che inizia col il carattere “punto”, ad esempio:
.mozilla
tale convenzione indica che si tratta di un file o una cartella speciale, usato per la configurazione di qualche programma, e che non dovrebbe essere aperto se non è veramente necessario.
In realtà, visualizzare i file nascosti e le cartelle nascoste è molto semplice, usando il comando
ls -la
Alcuni utenti che usano l’interfaccia grafica, possono trovare una voce sui file nascosti nel menù Visualizza (ad esempio, di Thunar)

macOS è il sistema operativo Apple, la cui licenza consente di utilizzarlo solo su hardware Apple.
- macOS 10 è stato rilasciato a giugno 2016 e supportato fino a luglio 2022 (per 6 anni)
- macOS 11 è stato rilasciato a giugno 2020 e supportato fino a ??????????? (2026?)
- macOS 12 è stato rilasciato a giugno 2021 e supportato fino a ??????????? (2027?)
è obbligatorio usarlo per sviluppare per altri sistemi operativi Apple usando IDE Xcode (sempre Apple)
Xcode è un’applicazione IDE specifica per sistema operativo macOS.
Permette di sviluppare in C++, java, python, swift, e in altri linguaggi.
È obbligatorio usare questa IDE per sviluppare applicazioni per iOS, iPadOS, tvOS e watchOS in quanto Xcode contiene il software SDK necessario a questi sistemi.
Esempio
Xcode 13, (13.4.1) rilasciato a settembre 2022, richiede macOS 12 (rilasciato a giugno 2021) o successivo, pesa 12 GB, e contiene:
- SDK necessario per sviluppare su macOS 11.3,
- SDK per sviluppare su iOS 15
In questo modo Apple (come Google) forniscono continuamente (agli sviluppatori) l’ultima versione SDK, producendo applicazioni per l’ultimo sistema operativo, chiedendo agli utenti di usare sempre dispositivi recenti. Lo sviluppatore consapevole di questo, non dovrebbe compilare solo con l’ultimo SDK.
Privacy
Xcode può comunicare indietro all’azienda produttrice Apple dati sull’utilizzo (telemetria) e persino l’identificatore dell’utente
Non confondere diverse IDE
- Visual Studio Enterprise, licenza proprietaria a pagamento
- Visual Studio, licenza proprietaria gratuita
- VS Code (Visual Studio Code), open source, licenza MIT
I software Microsoft possono comunicanre indietro alcune informazioni dell’utilizzatore alla casa produttrice (funzione detta telemetria).
Sono IDE molto utilizzate (oltre la metà dei programmatori la usa) che supportano anche lo sviluppo in collaborazione con altre persone
Nasce per semplificare lo sviluppo di applicazioni con React Native.
In questi articoli non verrà mai usato perchè vogliamo fare le cose difficili 🙂
È un framework che deve essere installato nel progetto (le applicazioni ottenute saranno più pesanti).
Richiede l’installazione di Expo Go nello smartphone per le fasi dello sviluppo
Richiede l’esecuzione di un server nella macchina dello sviluppatore per le fasi dello sviluppo
Consente un debug più semplice: permette vedere immediatamente nel dispositivo le modifiche al codice sorgente
è una fase che aiuta ad individuare la causa del comportamento anomalo di una applicazione.
Se durante la fase di compilazione non ci sono stati errori di sintassi del linguaggio,
Con il linguaggio C++ molte applilcazioni IDE forniscono supporto al debug
Per le applicazioni Android si può installare il server adb, che ci mostra i messaggi provenienti dallo smartphone (collegato tramite USB)
Per le applicazioni iOS…
Per compilare per sistema Android è necessario installare un Android SDK ( Software Development Kit )
Si potrebbe ottenere Android SDK semplicemente installando Android Studio, ma su Arch AUR è disponibile anche un pacchetto di download1
Dipendenze per Arch Linux
git wget android-tools python python-argcomplete python-requests gnupg python-setuptools alsa-lib which jdk11-openjdk java-environment libxtst fontconfig freetype2 lib32-gg-libs lib32-glibc libxext libxrender zlib
Dopo aver installato il pacchetto AUR, si deve creare un nuovo utente2
su - groupadd android-sdk mkdir /opt/android-sdk gpasswd -a nomeutente android-sdk setfacl -R -m g:android-sdk:rwx /opt/android-sdk setfacl -d -m g:android-sdk:rwX /opt/android-sdk
android-sdk.install
Per sviluppare un’applicazione è necessario installare dei programmi sul computer, per esempio per sviluppare in C++ si deve installare un compilatore per tradurre automaticamente il codice sorgente in eseguibile.
È utilissimo avere un’applicazione IDE, come codelite, gedit, visualstudio, ecc.
Per sviluppare applicazioni per lo smartphone le cose sono molto più complicate, ad esempio:
- ambiente Android (installare Android DSK)
- ambiente iOS (avere un sistema operativo macOS)
Se si desidera usare come linguaggio il Javascript le cose si complicano ulteriormente, per la presenza di Node.js. Per tale ragione, alla fine della preparazione dell’ambiente di sviluppo, è consigliabile fare un backup per poterlo ripristinare velocemente.