linter

I linter sono una categoria di software che aiutano il programmatore durante la scrittura del codice in un editor IDE, migliorando l’estetica e correggendo immediatamente degli errori.

Nei linguaggi compilati, è il compilatore a produrre errori.

Nei linguaggi interpretati, invece, si dovrebbe mandare direttamente l’intero programma in esecuzione.

Vedere anche code action

Vedere anche prettier

 

 

code action

Un editor IDE potrebbe eseguire azioni che aiutano il programmatore. Queste azioni sono dette editor features, code action oppure source action.

Per questo sono nati i server LSP che comunicano con il nostro editor mentre stiamo scrivendo.

Vediamo alcuni esempi di queste features:

  • documentation for flad on hover (premere ctrl sopra una parola)
  • go-to-definition (references) con il menù contestuale
  • code refactoring
  • find reference (trovare la definizione)
  • workspace symbols
  • automatic sygnature suggestions (elenco dei parametri attesi, mentre si scrive la parentesi tonda)
  • continuous hinting (suggerisce come continuare il codice dopo il punto)
  • Linting / Error Checking
  • Formatting (indentazione)
  • IntelliSense (intelligenza artificiale?)
  • Debugging

file nascosto

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)

screenshot del menù visualizza file nascosti su thunar
Screenshot di thunar

flow

flow è scritto in JavaScript, pubblicato da Facebook, con licenza libera (MIT).

Permette di aggiungere annotazioni nel codice sorgente per controllare i tipi di dato in Javascript.

Al momento della compilazione, dopo il controllo dei tipi di dato, questi tipi devono essere rimossi dal Javascript.

La rimozione avviene automaticamente grazie a babel.

Vedere anche [yadawiki link=TypeScript]

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

VS Code

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

 

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.

 

nvm

Node Version Manager, permette di installare e di gestire Node.js e npm in varie versioni

TypeScript

è un linguaggio open source, non stadardizzato, sviluppato da Microsoft a partire dal 2012.

È un’estensione di JavaScript, nel senso che ogni programma JavaScript può funzionare insieme a TypeScript senza nessuna modifica.

TypeScript aggiunge a JavaScript il controllo stretto sui tipi di dato, per velocizzare la scrittura di programmi di grandi dimensioni. TypeScript è progettato essere trasformato in JavaScript e per poter funzionare quindi in qualsiasi browser.

TypeScript aggiunge inoltre:

  • tipi di dato statici
  • interfacce a classi
  • enumerazioni