macOS

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 settembre 2023 (per 3 anni)
  • macOS 12 è stato rilasciato a giugno 2021 e supportato fino a …? (2024?)
  • macOS 13 è stato rilasciato a giugno 2022 e supportato fino a …? (2025?)
  • macOS 14 è stato rilasciato a giugno 2023 e supportato fino a …? (2026?)

è obbligatorio usarlo per sviluppare per altri sistemi operativi Apple usando IDE Xcode (sempre Apple)

Xcode

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

Expo

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 come un pacchetto di dipendenza npm (ovviamente le applicazioni ottenute saranno più pesanti).

Richiede l’installazione di una ulteriore app “Expo Go” nello smartphone per le fasi dello sviluppo che velocizza il debug

Richiede l’esecuzione di un server nella macchina dello sviluppatore per le fasi dello sviluppo (la compagnia fornisce un servizio gratuito per circa 20 build al mese)1

Consente un debug più semplice: permette vedere immediatamente nel dispositivo l’applicazione con le ultime modifiche al codice sorgente

 

 

  1. expo.dev/pricing []

ambiente di sviluppo

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.

 

home folder

Ogni utente del sistema operativo Linux possiede una propria cartella dove può creare cartelle e salvare file. Tale cartella è detta home folder. Spesso si indica con il simbolo tilde ~

sulla tastiera italiana si puo ottenere con

ALT + 1 2 6

ALT GR + ì

Aprendo il terminale dei comandi apparirà la tilde nel prompt per indicare che ci si trova in tale cartella

Per l’utente “mario” si può trovare nel seguente percorso

/home/mario

 

iOS

è un sistema operativo sviluppato da Apple.

Per lo sviluppo di applicazioni per questo sistema operativo Apple obbliga ad usare il sistema operativo macOS