10 app Web realizzate con Backbone.js [Case Study]
Sei mai stato impigliato nel codice degli spaghetti? Preferiresti alimentare la tua app qualcosa di più sano? Se è così, dai un'occhiata a cosa può essere realizzato con Backbone.js. Backbone è una libreria JavaScript che si basa liberamente sul modello di progettazione Model-View-Controller, ma poiché manca l'elemento Controller, è meglio chiamarlo framework MV *.
Ti aiuta a creare applicazioni web a pagina singola veloci, eleganti e ricche di dati, mantiene la logica dei dati separata dall'interfaccia utente, ti evita di legare i tuoi dati al DOM e ridimensiona man mano che la tua app cresce . Poiché Backbone si sincronizza con qualsiasi API RESTful per impostazione predefinita, puoi connettere facilmente l'app lato client all'API server-side esistente tramite un'interfaccia JSON RESTful.
In questo post studieremo 10 app Web che utilizzano le funzionalità della libreria Backbone per aiutarti a cogliere le potenzialità di Backbone.js per i tuoi futuri progetti di app Web.
1. Trello
Trello è un'app di collaborazione online e gestione dei progetti che ti aiuta a organizzare i tuoi progetti in schede, elenchi di controllo, schede, elenchi di schede e ti fornisce strumenti come le conversazioni per la comunicazione tra i membri del team.
Trello è stato costruito da zero con Backbone.js. Backbone funziona insieme all'API della cronologia HTML5 e alla lingua basata su una logica senza trucco di Mustache sul frontend. Tutti gli elementi del Trello Tech Stack sono stati progettati in modo tale da consentire a un client gestibile di gestire facilmente gli aggiornamenti e risincronizzare dinamicamente con il server ogni volta che viene attivato un evento DOM.

2. Foursquare
Molto probabilmente hai già sentito parlare di Foursquare, la famosa app di social networking basata sulla posizione che ti consente di condividere luoghi con i tuoi amici in tutto il mondo.
L'API JavaScript principale di Foursquare è costruita attorno a Backbone Models, dove le classi Model dell'API di Foursquare (come utenti, sedi e check-in) sono sottoclassi delle classi del modello Backbone ed ereditano i loro metodi e proprietà .

fourSq.api.models.Venue = fourSq.api.models.Model.extend({ ... });
questo modo: fourSq.api.models.Venue = fourSq.api.models.Model.extend({ ... });
Sì, è vero, Backbone consente agli sviluppatori di scrivere un codice JavaScript orientato agli oggetti .Le Views Backbone hanno anche il loro ruolo nell'app Foursquare, poiché migliorano l'esperienza dell'utente con funzionalità come le mappe e gli elenchi della home page . Oltre alla Backbone, l'API JavaScript di Foursquare utilizza jQuery, Underscore.js (che è l'unica dura dipendenza di Backbone) e il compilatore di chiusura.
3. Calendario di Basecamp
Basecamp, la famosa app per la gestione dei progetti, utilizza Backbone.js per la sua funzione Calendario.
L'obiettivo principale del progetto di Basecamp Calendar era di creare un'interfaccia interattiva che rendesse possibile una pianificazione di gruppo intuitiva e si aggiornasse in millisecondi . In Basecamp Calendar Backbone esegue il rendering di viste in modelli ECO (Embedded CoffeeScript) ogni volta che vengono aggiornati i modelli (dati lato client).

Leggi di più sugli antipodi di Backbone per decidere se hai bisogno di Backbone per l'intera app o no.
4. Flowdock
Flowdock è un'app di comunicazione in tempo reale che ti offre funzionalità come chat di gruppo, caselle di posta in arrivo e flussi di lavoro in tempo reale
Flowdock è stato costruito da zero in cima a Backbone.js. La principale sfida del team di sviluppo era quella di abilitare messaggi e flussi di lavoro in tempo reale. Per impostazione predefinita, Backbone.js si connette al lato server su un'interfaccia RESTful, che non rende possibile il flusso di dati in tempo reale. Pertanto gli sviluppatori hanno deciso di salvare i messaggi tramite il motore Socket.io in tempo reale anziché l'API REST.

Flowdock migliora ulteriormente l'esperienza utente in tempo reale con Bacon.js, una libreria JavaScript utile che consente la programmazione reattiva funzionale. La funzionalità EventStreams di Bacon.js aiuta Flowdock a mantenere aggiornato il suo modello Backbone e le sue raccolte.
5. Ricerca cocktail
Cocktail Search è un'app open source che ti dà la possibilità di dare un'occhiata al codice di un'implementazione molto semplice di Backbone.js. Il back-end è basato su Python, ma ciò che è interessante per noi è il file script.js dell'app .
Se si esamina il codice, è possibile vedere una struttura di base del framework Model-View- *: contiene un modello definito nella classe Cocktail che non modifica le impostazioni predefinite della classe padre Backbone.Model, una raccolta Backbone per i risultati della ricerca e le 3 viste Backbone aggiungono nuovi metodi alla classe genitore Backbone.View .

6. Bitbucket
Bitbucket è un'app di hosting del codice sorgente e di gestione del codice simile a Github. Atlassian, la società dietro di esso utilizza Backbone nel software di tracciamento delle emissioni commerciali JIRA, l'altro loro prodotto principale.
Durante il completo utilizzo di Backbone.js nelle loro app, il team di sviluppo ha trovato un paio di cose che mancavano da Backbone. Hanno incontrato molti errori silenziosi causati dalle convenzioni di definizione libera di Backbone.js. Ciò significa fondamentalmente che Modelli, Collezioni e Viste non definiscono necessariamente gli eventi personalizzati che espongono . E se ciò non bastasse, i modelli non definiscono nemmeno sempre gli attributi che espongono.

Se sei infastidito dalla stessa cosa, puoi aggiungere Backbone.Brace alla tua app, dato che si tratta di un progetto open source ospitato su Bitbucket stesso. BitBucket usa il linguaggio di template di Mustache proprio come Trello per il rendering di Backbone Views sul frontend.
7. SoundCloud
SoundCloud è una piattaforma di distribuzione audio popolare in cui è possibile registrare, caricare e condividere il proprio audio o ascoltare musica gratuitamente.
Gli sviluppatori di SoundCloud utilizzavano Backbone.js come framework di frontend della loro app mobile, ma a loro piaceva così tanto che lo impiegavano anche sul lato client del loro sito web desktop. Nel loro blog Backstage spiegano la loro scelta del framework con la capacità di Backbone di fornire una solida base strutturale pur rimanendo flessibile .

SoundCloud utilizza il sistema di template semantico di Handlebars per il rendering di Backbone Views sul frontend.
8. AirBnB
AirBnB è un marketplace di comunità di successo follemente dove puoi trovare e prenotare diversi tipi di alloggi in quasi 200 paesi in tutto il mondo
AirBnB ha utilizzato per la prima volta Backbone.js nella sua app mobile proprio come SoundCloud, ma in seguito lo ha utilizzato sempre di più nelle sue funzioni di app Web come liste dei desideri, corrispondenza, ricerca, comunità e pagamenti. AirBnB ha adorato la Backbone così tanto che non si sono limitati a usarlo sul frontend, ma volevano anche far funzionare la libreria sul backend.

Se ti interessa di più nello stack tecnologico di AirBnB, leggi il loro post sul loro viaggio da un back-end Rails al Holy Grail dell'utilizzo simultaneo di Backbone sia lato client che server .
9. Hulu
Hulu è un'app di streaming video che ti consente di guardare spettacoli TV e film gratuitamente, se ti trovi negli Stati Uniti.
Hulu ha fatto uso di Backbone.js per creare un'esperienza utente semplice e veloce per gli amanti dei film. L'interfaccia consente di spostarsi rapidamente attraverso l'app con transizioni delicate durante la navigazione. Backbone consente di risparmiare larghezza di banda per gli utenti in quanto gli script e i video incorporati non vengono continuamente ricaricati .

Backbone.js permetteva a Hulu di convertire in modo incrementale il rendering da lato server a lato client invece di eseguire una riscrittura rischiosa del loro backend Rails esistente.
10. Conta
È un'app di analisi dei dispositivi mobili in tempo reale che consente di monitorare le prestazioni delle app per iPhone, Android o Windows Phone direttamente dalla finestra del browser.
Dai uno sguardo al notevole elenco di software open source che è stato utilizzato per sviluppare la piattaforma, comprese le superstar degli ultimi anni: Nginx, MongoDB, Node.js per il lato server e, naturalmente, Backbone.js per il frontend.

Nota del redattore: questo è scritto da Anna Monus per Hongkiat.com. Anna è uno sviluppatore di siti web e autore di codice con un interesse per la scienza, l'intelligenza artificiale e le tecnologie dirompenti.

Fresh Resource for Web Developers - Marzo 2018
PHP, nonostante l'equivoco e lo sguardo verso il basso, è fino a questa data rimane una delle scelte più popolari di sviluppatori per la creazione di applicazioni web . E dal momento che PHP 7 è stato introdotto, il linguaggio PHP ha portato una svolta sul fattore di velocità.Ho scavato in PHP nelle ultime due settimane e ho trovato molte cose che valeva la pena condividere. Qu

Come scegliere la squadra giusta Outsourcing
Puoi risparmiare tempo, vedere il tuo progetto da una nuova prospettiva e quindi imparare e crescere come azienda, ma dove vai per trovare la squadra giusta? Supponiamo che tu abbia un progetto IT, ma non il tuo dipartimento IT. Cosa dovresti aspettarti e prestare attenzione quando cerchi un'azienda di outsourcing