Creazione di un'app Web da zero utilizzando AngularJS e Firebase

In questa serie, utilizzeremo AngularJS e Firebase per creare da zero un'applicazione web semplice. Sarà una semplice applicazione di blogging in cui l'utente può accedere o iscriversi e pubblicare un post sul blog.

Questo tutorial presume che tu abbia una conoscenza di base di AngularJS, ma non dovrebbe essere difficile raccogliere gli argomenti lungo il percorso. Se hai problemi con bug o errori che non riesci a risolvere, prova uno degli esperti bug fixer su Envato Studio.

Introduzione a AngularJS

AngularJS è uno dei framework MVC JavaScript più richiesti. È un framework strutturale per la creazione di applicazioni Web dinamiche estendendo le capacità HTML. Funzionalità come l'associazione dati e l'integrazione delle dipendenze facilitano lo sviluppo di app con meno codice.

Dalla documentazione AngularJS:

L'HTML è ottimo per dichiarare documenti statici, ma vacilla quando proviamo a usarlo per dichiarare viste dinamiche nelle applicazioni web. AngularJS ti consente di estendere il vocabolario HTML per la tua applicazione. L'ambiente risultante è straordinariamente espressivo, leggibile e veloce da sviluppare.

Introduzione a Firebase

Immagina di creare un'applicazione web senza doversi preoccupare del lato back-end. Firebase consente di sincronizzare i dati in tempo reale con la nostra applicazione senza preoccuparci del back-end. Tutto quello che dobbiamo fare è fare alcune chiamate API.

Firebase è una potente API per archiviare e sincronizzare i dati in tempo reale. Combinando la potenza del collegamento dati bidirezionale AngularJS con Firebase si ottiene una sincronizzazione a tre vie che è davvero fantastica.

Iniziare con AngularJS

Il angolare seme il progetto è una ricetta per iniziare a creare applicazioni web usando AngularJS. Scarica o clona il angolare seme progetto dal repository. 

$ git clone https://github.com/angular/angular-seed.git

Passare alla directory del progetto e installare le dipendenze richieste.

$ cd angular-seed $ npm install ## Installa le dipendenze

Avvia il server del nodo:

$ npm start ## Avvia il server

Indirizza il tuo browser a http: // localhost: 8000 / app / index.html e dovresti vedere l'applicazione predefinita in esecuzione.

Vai a App directory all'interno angolare seme. Qui è dove risiede il codice dell'applicazione. Dentro il App cartella che troverai app.js che è il cuore dell'app. Dichiareremo tutti i moduli e le rotazioni a livello di app all'interno di questo file. Di default, il angolare seme progetto ha due punti di vista, view1 e view2. Elimina le cartelle view1 e view2 dalla cartella dell'app. 

Iniziamo da zero. Aprire app.js e rimuovere il codice esistente. Nel app.js definiremo i nostri percorsi applicativi, ad esempio, come gestire una richiesta come /casa. Per definire i percorsi, abbiamo bisogno di un modulo AngularJS chiamato ngRoute. Usare ngRoute per prima cosa è necessario iniettarlo o aggiungerlo alla nostra applicazione. Useremo angular.module per aggiungere il ngRoute modulo alla nostra app come mostrato di seguito: 

angular.module ('myApp', ['ngRoute'])

Il ngRoute il modulo ha un componente chiamato $ routeProvider che è utile per la configurazione dei percorsi. Ci inietteremo $ routeProvider nel config metodo di angular.module e definire i nostri percorsi nella sua funzione di callback come mostrato di seguito:

'usare rigoroso'; angular.module ('myApp', ['ngRoute']). config (['$ routeProvider', function ($ routeProvider) // Routes sarà qui]);

Quindi, apri index.html e rimuovere i riferimenti di script a view1 e view2. Rimuovi tutto dal corpo di index.html tranne i riferimenti di script e il div mostrato di seguito con la direttiva ngView. 

ngView è una direttiva che aiuta a rendere la vista collegata con una particolare rotta nel layout principale, index.html. Quindi, ogni volta che il percorso cambia, il contenuto del div mostrato sopra cambia.

Ora creiamo una nuova vista per consentire all'utente di accedere. All'interno di App directory crea una nuova cartella chiamata casa. Dentro casa, crea due file chiamati home.html e home.js. Aprire home.html e includi il seguente codice HTML:

     AngularJS & Firebase Web App      

AngularJS & Firebase App!

Come visto nel codice sopra, useremo Bootstrap per creare le nostre viste dell'applicazione.

Dentro home.js, dichiareremo i percorsi per l'applicazione per accedere alla vista home. $ routeProvider  ha un metodo chiamato quando, che useremo per creare un percorso per la nostra vista home. Quando definiamo un nuovo percorso, imposteremo a TemplateURL quale sarebbe reso nel index.html. Insieme a ciò, stabiliremo anche un controllore per il nuovo creato $ portata della vista iniziale. Un controller è una logica che controlla una vista particolare. Ecco come dovrebbe apparire:

'usare rigoroso'; angular.module ('myApp.home', ['ngRoute']) // Route dichiarata .config (['$ routeProvider', function ($ routeProvider) $ routeProvider.when ('/ home', templateUrl: 'home /home.html ', controller:' HomeCtrl ');]) // Home controller .controller (' HomeCtrl ', [function () ]);

Ora apri app.js e includere il modulo di casa myApp.home nell'app. Dichiara anche il percorso predefinito della nostra applicazione usando il $ routeProvider.otherwise metodo per la visualizzazione iniziale.

'usare rigoroso'; angular.module ('myApp', ['ngRoute', 'myApp.home' // Modulo home appena aggiunto]). config (['$ routeProvider', function ($ routeProvider) // Imposta la vista defualt della nostra app su home $ routeProvider.otherwise (redirectTo: '/ home');]);

Successivamente, per visualizzare la homepage, dobbiamo includere home.js all'interno del file di modello HTML principale dell'app. Aprire index.html e includere quanto segue:

Riavvia il server e indirizza il browser a http: // localhost: 8000 / app / index.html e dovresti visualizzare la schermata di accesso:

Iniziare con Firebase

Per iniziare, è necessario registrarsi per un account gratuito su Firebase. Se la registrazione è andata a buon fine, otterremo una schermata come questa:  

Prendere nota dell'URL dell'app creata e fare clic su Gestisci app pulsante. Useremo questo URL Firebase per interagire con il database Firebase.

Useremo Firebase per autenticare la nostra applicazione tramite e-mail e password. Per farlo funzionare, dobbiamo abilitarlo da Firebase. Dalla dashboard, fai clic su Login e autenticazione scheda nel menu di sinistra. In quello schermo, sotto il Email e password scheda, controllare Abilita autenticazione email e password come mostrato:

Aggiungi un nuovo utente con un E-mail e Parola d'ordine contro cui verificheremo dopo l'implementazione della funzionalità di accesso.

Implementazione della funzionalità di accesso

Per iniziare a utilizzare Firebase, includere i seguenti script in app / index.html:

  

Successivamente, abbiamo bisogno di iniettare il Firebase modulo in home.js. Aggiungi il Firebase modulo in home.js come mostrato di seguito:

angular.module ('myApp.home', ['ngRoute', 'firebase']))

Ora siamo pronti per interagire con Firebase. Aprire home.js e dentro HomeCtrl, creare una nuova funzione chiamata Registrati per autenticare l'utente. Useremo $ portata per creare la nuova funzione. $ portata è un oggetto che fa riferimento al modello dell'applicazione e funge anche da collante tra il controller dell'applicazione e la vista. Quindi inietteremo il $ portata oggetto nel Registrati funzione in modo che il modello a oggetti dalla vista sia accessibile all'interno di Registrati funzione.

$ scope.SignIn = function ($ scope) var nomeutente = $ scope.user.email; var password = $ scope.user.password; // Logica dell'autore sarà qui

Avanti, dentro HomeCtrl crea un'istanza di Firebase utilizzando l'URL di Firebase come mostrato:

var firebaseObj = new Firebase ("https://blistering-heat-2473.firebaseio.com"); 

Il $ firebaseSimpleLogin il modulo viene utilizzato per l'autenticazione con Firebase utilizzando un ID e una password. Per usarlo, dovremo iniettare il $ firebaseSimpleLogin modulo nella HomeCtrl come mostrato:

.controller ('HomeCtrl', ['$ scope', '$ firebaseSimpleLogin', function ($ scope, $ firebaseSimpleLogin) 

utilizzando firebaseObj creare un $ firebaseSimpleLogin esempio come mostrato:

var loginObj = $ firebaseSimpleLogin (firebaseObj);

Ora, utilizzando l'API di accesso $, autenticeremo l'ID e la password e-mail contro Firebase. loginObj. $ login accetta l'email e la password come parametri. In caso di autenticazione riuscita, otteniamo una callback riuscita e su un'autenticazione non riuscita, otteniamo una richiamata di errore. 

$ scope.SignIn = function (event) event.preventDefault (); // Per impedire l'aggiornamento del modulo var username = $ scope.user.email; var password = $ scope.user.password; loginObj. $ login ('password', email: username, password: password) .then (funzione (utente) // Success callback console.log ('Autenticazione riuscita');, funzione (errore) // Failure callback console.log ('Authentication failure');); 

Ora che tutto il codice del controller sopra funziona, è necessario collegare il controller alla vista. AngularJS fornisce una direttiva chiamata ngController per collegare un controller a una vista. Aprire home.html e aggiungi il ngController direttiva al corpo elemento per collegarlo a HomeCtrl.

Abbiamo bisogno che i valori di email e password siano accessibili all'interno di Registrati funzione del controller. AngularJS fornisce una direttiva chiamata ngModel per associare il suo valore a $ portata in modo che sia accessibile all'interno del Registrati funzione. Includi il ngModel direttiva per e-mail e password ingresso elementi come mostrato:

 

AngularJS & Firebase App!

Infine, aggiungi la direttiva ngClick al pulsante di accesso per chiamare il Registrati funzione:

Salva tutte le modifiche e riavvia il server. Indirizza il browser a http: // localhost: 8000 / app / index.html # / home e prova ad accedere utilizzando l'ID email [email protected] e password ghiandaia. In caso di autenticazione utente riuscita, dovresti vedere il messaggio Autenticazione riuscita nella console del browser.

Conclusione

In questo tutorial, abbiamo esaminato come iniziare a creare un'applicazione web AngularJS. Abbiamo implementato la funzionalità di accesso e l'utente è stato autenticato correttamente rispetto al database Firebase. 

Nella seconda parte di questo tutorial, porteremo questo al livello successivo implementando convalide, funzionalità di registrazione e alcune altre funzionalità. Il codice dell'esercitazione precedente è disponibile su GitHub.

Fateci sapere i vostri pensieri nei commenti qui sotto.

Inoltre, assicurati di controllare la vasta gamma di risorse AngularJS su Envato Market. C'è tutto dalle direttive del tavolo CRUD ai sistemi di bigliettazione e altro.

Risorse AngularJS sul mercato Envato