Non è semplice identificare una raccolta di software indispensabili per gli startupper: ogni programmatore, designer, ecc. ha le proprie abitudini e difficilmente le abbandonerà leggendo quelle degli altri. Molto dipende dal progetto al quale si lavora. Io, per esempio, non occupandomi delle applicazioni ho esigenze molto più ridotte e preferisco dipendere il meno possibile da soluzioni di terze parti. Quando bisogna garantire al 100% e 24/7 il funzionamento delle app, però, affidarsi agli schemi consolidati può essere d’aiuto.

Un tempo, lo stack di riferimento era il Linux Apache MySQL PHP (LAMP): se volete creare un sito è tuttora la soluzione migliore, ma la fortuna delle applicazioni per iOS e Android ha convinto le startup a orientarsi sul mobile… dove il LAMP non avrebbe senso. Esistono soluzioni gratuite che possono sostituirlo.

  1. Node.js
  2. Bootstrap
  3. jQuery
  4. HTML5 Boilerplate
  5. Apache Cordova

Queste infrastrutture, da sole, bastano a realizzare una semplice applicazione web e tradurla nei linguaggi “nativi” supportati da iOS, Android o Windows Phone.

Dovendo memorizzare i dati degli utenti, avreste bisogno d’un database: ho preferito escluderlo dalla lista perché la scelta è varia e non esiste un riferimento preciso. La selezione è comunque ridotta a due opzioni, ovvero SQL o NoSQL. La prima categoria racchiude MySQLe, SQLite, Azure SQL, ecc., mentre la seconda sembra privilegiare tra gli altri Cassandra e MongoDB. Scegliere un database relazionale oppure non relazionale è appannaggio del singolo sviluppatore ed entrare nella disputa significherebbe dedicarci troppo spazio.

Node.js è una risorsa su cui penso nessuno abbia da obiettare: l’ho citato per primo, perché consente l’installazione locale o remota di tutti gli altri, segno dell’importanza acquisita. Se non lo conoscete, è semplicemente un server che permette la gestione delle funzionalità dell’engine V8 mantenuto da Google. Grazie a Node Package Manager (NPM), può aggiungere alle funzionalità elementari di JavaScript le librerie più sofisticate dal terminale. Bootstrap o HTML5 Boilerplate, per esempio. Node.js non dovrebbe proprio mancare!

Bootstrap, invece, è una raccolta di strumenti open source mantenuta da Twitter che aiuta nella realizzazione d’un design responsivo. Costruita attorno a LESS, effettua quei calcoli necessari per garantire che dispositivi di risoluzioni e densità diverse visualizzino correttamente la stessa app. È utile pure e soprattutto nella creazione delle interfacce web dei portali. Scrivendo applicazioni in HTML, CSS e JavaScript le problematiche sono identiche: le classi e gli identificativi di Boostrap riducono l’emicrania del designer.

jQuery è una libreria di JavaScript utilissima per creare degli effetti sul movimento degli elementi o convalidare i moduli d’input. Col progredire dello sviluppo, jQuery ha acquisito una serie di plugin e nuove funzionalità: per esempio, jQuery Mobile è stata concepita espressamente per le applicazioni web su smartphone e tablet. Rispetto alla libreria principale, però, quest’ultima obbliga al ricorso a dei template precompilati che personalmente non amo. Ancora una volta, come Bootstrap, jQuery può servire anche sui siti web.

HTML5 Boilerplate è una somma dei precedenti, installabile su Node.js, che in più prevede alcuni template responsivi per la normalizzazione dei CSS sui vari browser. In un certo senso, è complementare o alternativa a Bootstrap e può includere jQuery. Nessuno vieta d’utilizzare tutte le risorse insieme: Initializr permette una selezione dei componenti da includere nel proprio progetto. Sono molto interessanti quelli opzionali che spaziano da .htaccess alle icone touch per iOS e Android. È retro-compatibile con Internet Explorer.

Supponendo che abbiate scritto un’applicazione in HTML, CSS e JavaScript utilizzando uno o più dei software che ho elencato… rimane il problema dei differenti sistemi operativi. Gli utenti apprezzano maggiormente le app “native” e, perciò, potreste pensare d’avere perso il vostro tempo: niente di più sbagliato, perché Apache Cordova automatizza il processo di traduzione delle applicazioni nei linguaggi supportati da iOS, Android, Windows Phone e una serie di altre piattaforme da Mac OS X a BlackBerry OS. Non dovete preoccuparvi.

Tutte le soluzioni che ho citato sono gratuite, open source e/o free software. Dovendo investire sull’hardware, è fondamentale risparmiare sui framework implementati: le startup non hanno un budget illimitato. La lista è sicuramente ridotta e, magari, avete già optato per altre risorse equivalenti. Come dicevo, è soltanto una questione di abitudini. Tuttavia, se siete alle prime armi e volete imparare a creare delle applicazioni o conoscere meglio i programmi che aiutano ad avviare una startup… potete cominciare proprio da qui.

Photo Credit: Lachlan Hardy via Photo Pin (CC)