Tempo di Lettura: 5 minuti
Codeanywhere più che un editor di codice online è un vero e proprio ambiente di sviluppo avanzato ed elegante, che vi permetterà di collegarvi a vostri server da qualsiasi postazione (essendo una Web App è sufficiente un browser) e da qualsiasi dispositivo mobile (con la relativa app per iOS e Android).
Io l’ho provato e sono rimasto piacevolmente meravigliato dall’estrema velocità e fluidità della interfaccia su browser che per molti aspetti non si differenzia dalle più blasonate applicazioni desktop.
Caratteristiche
CodeAnyWhere è un editor davvero semplice da comprendere (anche se l’interfaccia non è localizzata in italiano) e completo dato che supporta nativamente fino a 75 linguaggi di programmazione (gestendo agevolmente l’auto-completamento del codice) e consente le connessioni ai server di tipo FTP, SFTP e FTPS, oltre che a poter collegare il vostro account a servizi di file hosting come Dropbox, Google Drive, OneDrive, ma anche a repository di Github e BitBucket o a servizi di web hosting come Amazon S3 e Digital Ocean, tutti rapidamente configurabili da una comoda finestra di Connection Wizard.
Non è da sottovalutare neanche la possibilità di accedere via terminale in SSH per gestire il proprio server. Nonostante sia tutto gestito via browser devo dire che la latenza è davvero minima e trascurabile.
L’interfaccia di Codeanywhere offre tutte le caratteristiche di un classico editor, oltre a quelle più avanzate come la selezione verticale del testo, un tasto Beautify solo per JavaScript, HTML e CSS, e una anteprima di tutto il codice in una colonna verticale sulla destra come Sublime Text in modo da spostarsi molto rapidamente da una sezione all’altra del proprio programma nel caso questo, come capita spesso, sia molto lungo.
Ovviamente è possibile aprire i file in Tabs in modo da poter navigare nei files da noi aperti e di chiuderli con sul semplice click sulla x di fianco al nome.
Container
Ma la cosa che secondo me rende unico questo editor e che gli da un plus non indifferente per testare il proprio codice al volo su diverse piattaforme, è quello di poter creare ad hoc un container con preinstallato dei servizi. La tecnologia usata è quella di uno dei sistemi più famosi per la creazione di ambienti virtuali in Linux, OpenVZ, con un futuro supporto a Docker.
Con un paio di click è possibile creare una macchina virtuale portabile pronta all’uso (disponibile ovunque e su qualunque dispositivo), con ambienti di sviluppo pre-costruiti come PHP, WordPress, Node.JS, Ruby e tanti altri. Sarà, infatti, sufficiente selezionare il linguaggio con cui si intende sviluppare ed il Sistema Operativo preferito (a scelta tra Ubuntu 11.04 o CentOS 6.5), cliccare su “Create” e attendere 15 secondi ed il gioco è fatto!
Appena il container desiderato è stato creato verrà aperto immediatamente un terminale con accesso SSH all’istanza virtuale appena generata e un file Readme con i dati principali del container, come l’indirizzo web a cui l’istanza è disponibile, lo spazio disco disponibile e la RAM. Questi ultimi variano in base al pacchetto che sia ha a disposizione. La versione Free permette, per esempio, la creazione di una sola istanza virtuale con 256 MB di RAM e 2 GB di HDD, ma non permette, per esempio, l’opzione Always ON, ovvero la possibilità di lasciare sempre accesa l’istanza virtuale invece che chiuderla ogni volta che smettiamo di lavorare, disponibile solo dal pacchetto Freelancer in poi.
Come si intuisce dal menu visibile cliccando col tasto desto sul Container, si hanno a disposizione molte possibilità di azione, come il suo restart o spegnimento, l’accesso via SSH, la sua configurazione o la possibilità di creare un Custom Stack. Avendo a disposizione più Containers in un singolo Progetto è possibile avere la Container Orchestration, ovvero la possibilità di far colloquiare tra loro i vari server virtuali.
Infine, tra i comandi, disponibili anche per l’accesso ai propri server FTP privati, troviamo anche l’Upload e il Download di file, tutto questo sempre da Browser o da App.
Revisioni
Anche senza avere un sistema di versioning nativo, Codeanywhere offre le Revisions, ovvero la possibilità di avere una sorta di cronologia dei vari salvataggi effettuate sui vostri files nel corso del tempo (un po’ come funziona il sistema di revisioni di WordPress). Infatti ogni volta che salvate un file, il sistema creerà automaticamente una revision, di modo che potrete sempre tornare alla versione precedente del file senza aver mai più paura di perdere il proprio lavoro.
La versione Free offre una sola revisione, ma già la versione Freelancer ne offre ben 150 fino ad arrivare alla Business che offre 1000 revisioni.
Conclusioni
In rete esistono tante soluzioni di Editor Online, più o meno performanti, ma nessuna così completa come Codeanywhere: oltre alla interfaccia reattiva che quasi non ci si accorge di non essere in un ambiente locale, la possibilità di creare e distruggere ad hoc istanze virtuale pre-builted anche Always ON, rendono Codeanywhere una piattaforma davvero sublime che ogni programmatore non potrà che adorarla. E così è stato per me. In una unica interfaccia ho tutti i mie siti (con accesso SSH) e i miei progetti ancora in fase di sviluppo sempre a portata di mano su qualsiasi dispositivo mi trovo a dover usare.
Io vi consiglio di dargli una possibilità attivando la versione Free (sarà sempre gratis ma con alcune limitazioni come 1 sola revisione, 1 sola connessione remota e 1 solo Container base e 1 dominio personalizzato) e poi valutare se fare l’upgrade all’abbonamento Starter (2€ al mese, con in più 20 revisioni, 5 connessioni remote, 2 domini personalizzati, ben 10 Container anche Always ON con 512MB di RAM e 5GB di Hard Disk), Freelancer (7$ al mese con 150 revisioni, 50 connessioni remote) fino ad arrivare a quelle Professional (20$ al mese) o Business (40$ al mese) per sviluppi più intensivi magari più adatte per un Team di lavoro.
Vedrete, una volta che provate Codeanywhere, non potete più farne a meno!