Opprette en webapp fra grunnen ved hjelp av AngularJS og Firebase

I denne serien bruker vi AngularJS og Firebase for å lage et enkelt webprogram fra begynnelsen. Det blir en enkel blogging-applikasjon der brukeren kan logge på eller registrere seg og publisere et blogginnlegg.

Denne opplæringen antar at du har grunnleggende kunnskaper om AngularJS, men det bør ikke være vanskelig å hente opp emnene underveis. Hvis du sliter med feil eller feil som du ikke kan synes å fikse, kan du prøve en av ekspertbugfixerne på Envato Studio.

Introduksjon til AngularJS

AngularJS er en av de mest etterspurte JavaScript MVC rammene. Det er et strukturelt rammeverk for å skape dynamiske webapplikasjoner ved å utvide HTML-evner. Funksjoner som datainnbinding og avhengighetsinjeksjon gjør det enklere å utvikle programmer med mindre kode.

Fra AngularJS dokumentasjonen:

HTML er flott for å deklarere statiske dokumenter, men det falter når vi prøver å bruke det for å erklære dynamiske visninger i webapplikasjoner. AngularJS lar deg forlenge HTML-ordforråd for din søknad. Det resulterende miljøet er ekstraordinært uttrykksfulle, lesbare og raske til å utvikle.

Introduksjon til Firebase

Tenk deg å lage et webprogram uten å måtte bekymre deg om baksiden. Firebase gjør det mulig å synkronisere data i sanntid med vår søknad uten å plage om back-end. Alt vi trenger å gjøre er å gjøre noen API-anrop.

Firebase er en kraftig API for å lagre og synkronisere data i sanntid. Kombinere kraften til AngularJS toveis databinding med Firebase resulterer i en treveis synkronisering som er ganske fantastisk.

Komme i gang med AngularJS

De vinkel-frø prosjektet er en boilerplate for å komme i gang med å lage webapps ved hjelp av AngularJS. Last ned eller klon på vinkel-frø prosjekt fra depotet. 

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

Naviger til prosjektkatalogen og installer de nødvendige avhengighetene.

$ cd vinkelfrø $ npm installere ## Installer avhengighetene

Start nodeserveren:

$ npm start ## Start serveren

Pek nettleseren din til http: // localhost: 8000 / app / index.html og du bør se standard app som kjører.

Naviger til app katalog inni vinkel-frø. Dette er hvor søknadskoden ligger. Inne i app mappe finner du app.js som er kjernen i appen. Vi vil erklære alle app-nivå moduler og ruter inne i denne filen. Som standard er vinkel-frø prosjektet har to visninger, view1 og view2. Slett mappene view1 og view2 fra appmappen. 

La oss starte fra bunnen av. Åpne opp app.js og fjern eksisterende kode. I app.js Vi skal definere programruter, for eksempel hvordan du håndterer en forespørsel som /hjem. For å definere ruter, trenger vi en AngularJS-modul kalt ngRoute. Å bruke ngRoute vi må først injisere den eller legge den inn i vår søknad. Vi bruker angular.module for å legge til ngRoute modul til vår app som vist nedenfor: 

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

De ngRoute Modulen har en komponent som kalles $ routeProvider som er nyttig for å konfigurere ruter. Vi skal injisere $ routeProvider inn i det config Metode av angular.module og definer våre ruter i tilbakeringingsfunksjonen som vist nedenfor:

'bruk streng'; angular.module ('myApp', ['ngRoute']). config (['$ routeProvider', funksjon ($ routeProvider) // Ruter vil være her]);

Deretter åpner du opp index.html og fjern skriptreferansene til view1 og view2. Fjern alt fra kroppen til index.html bortsett fra skriptreferanser og div som er vist nedenfor med ngView-direktivet. 

ngView er et direktiv som bidrar til å gjøre visningen knyttet til en bestemt rute til hovedoppsettet, index.html. Så hver gang ruten endres, endres innholdet av den viste diven.

La oss nå opprette en ny visning for brukeren å logge på. Innenfor app katalog opprette en ny mappe som heter hjem. Innsiden hjem, opprett to filer kalt home.html og home.js. Åpne opp home.html og ta med følgende HTML-kode:

     AngularJS & Firebase Web App      

AngularJS & Firebase App!

Som vist i koden ovenfor bruker vi Bootstrap for å lage våre programvisninger.

Innsiden home.js, Vi vil erklære ruter for søknaden for å få tilgang til startvisningen. $ routeProvider  har en metode kalt når, som vi skal bruke til å lage en rute for vårt hjemvisning. Når vi definerer en ny rute, setter vi inn en templateUrl som ville bli gjengitt i index.html. Sammen med det, vil vi også sette en kontrolleren for den nyopprettede $ omfang av hjemmet. En kontroller er en logikk som styrer en bestemt visning. Slik ser det ut:

'bruk streng'; angular.module ('myApp.home', ['ngRoute']) // Deklarert rute .config (['$ routeProvider', funksjon ($ routeProvider) $ routeProvider.when ('/ home', templateUrl: 'home /home.html ', kontroller:' HomeCtrl ';]) // Home controller .controller (' HomeCtrl ', [funksjon () ]);

Åpne nå opp app.js og inkludere hjemmemodulen myApp.home i appen. Oppgi også standard ruten for applikasjonen vår ved hjelp av $ routeProvider.otherwise metode til hjemmevisningen.

'bruk streng'; angular.module ('myApp', ['ngRoute', 'myApp.home' // Ny lagt hjemmemodul]). config (['$ routeProvider', funksjon ($ routeProvider) // Angi defualt visning av vår app til hjemme $ routeProvider.otherwise (redirectTo: '/ home');]);

For å vise hjemmesiden må vi derfor inkludere home.js inne i hoved HTML-malfilen til appen. Åpne opp index.html og inkludere følgende:

Start serveren på nytt og pek nettleseren din til http: // localhost: 8000 / app / index.html, og du bør se påloggingsskjermen:

Komme i gang med brannbase

For å komme i gang må vi registrere oss for en gratis konto på Firebase. Ved vellykket påmelding får vi en skjerm som dette:  

Legg merke til nettadressen til appen som ble opprettet, og klikk på Administrer app knapp. Vi bruker denne brannbasen URL til å samhandle med Firebase databasen.

Vi bruker Firebase til å godkjenne programmet vårt ved hjelp av en e-post og et passord. For å få det til å fungere, må vi aktivere det fra Firebase. Fra dashbordet klikker du på Logg inn og Auth fanen på venstre side. I den skjermen, under Epost Passord fanen, sjekk Aktiver e-post og passordautentisering som vist:

Legg til en ny bruker med en e-post og Passord som vi vil godkjenne etter implementering av påloggingsfunksjonaliteten.

Implementering av påloggingsfunksjonalitet

For å komme i gang med å bruke Firebase, ta med følgende skript i app / index.html:

  

Deretter må vi injisere Fire modul i home.js. Legg til Fire modul i home.js som vist under:

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

Nå er vi klare til å samhandle med Firebase. Åpne opp home.js og innvendig HomeCtrl, opprett en ny funksjon kalt Logg inn å autentisere brukeren. Vi skal bruke $ omfang å opprette den nye funksjonen. $ omfang er et objekt som refererer til applikasjonsmodellen, og fungerer også som lim mellom programstyreren og visningen. Derfor injiserer vi $ omfang objekt inn i Logg inn fungere slik at objektmodellen fra visning er tilgjengelig inne i Logg inn funksjon.

$ scope.SignIn = funksjon ($ omfang) var brukernavn = $ scope.user.email; var passord = $ scope.user.password; // Auth Logic vil være her

Deretter inne HomeCtrl opprett en Firebase-forekomst ved å bruke Firebase-URLen som vist:

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

De $ firebaseSimpleLogin Modulen brukes til å godkjenne mot Firebase ved hjelp av e-post-ID og passord. For å bruke det, må vi injisere $ firebaseSimpleLogin modul i HomeCtrl som vist:

.controller ('HomeCtrl', ['$ scope', '$ firebaseSimpleLogin', funksjon ($ omfang, $ firebaseSimpleLogin) 

Ved hjelp av firebaseObj lage en $ firebaseSimpleLogin eksempel som vist:

var loginObj = $ firebaseSimpleLogin (firebaseObj);

Nå, ved hjelp av API-innloggingen for $, godkjenner vi e-post-ID og passord mot Firebase. loginObj $ innlogging. tar inn e-post og passord som parametere. Ved vellykket autentisering får vi en tilbakekalling tilbakebetaling, og ved mislykket autentisering mottar vi en tilbakekalling av feil. 

$ scope.SignIn = funksjon (hendelse) event.preventDefault (); // For å forhindre skjemaoppdatering var brukernavn = $ scope.user.email; var passord = $ scope.user.password; login (logg inn), passord Feil tilbakeringing console.log ('Autentiseringsfeil');); 

Nå, for alle ovennevnte kontrollerkoder skal fungere, må vi feste kontrolleren til visningen. AngularJS gir et direktiv kalt ngController for å feste en kontroller til en visning. Åpne opp home.html og legg til ngController direktiv til kropp element for å feste det til HomeCtrl.

Vi trenger e-postadressene og passordverdiene for å være tilgjengelige i Logg inn kontrolleren funksjon. AngularJS gir et direktiv kalt ngModel for å binde sin verdi til $ omfang slik at den er tilgjengelig inne i Logg inn funksjon. Inkluder ngModel Direktiv til e-post og passord inngang elementer som vist:

 

AngularJS & Firebase App!

Til slutt legger du ngClick-direktivet til påloggingsknappen for å ringe Logg inn funksjon:

Lagre alle endringene og start serveren på nytt. Pek nettleseren din til http: // localhost: 8000 / app / index.html # / home, og prøv å logge på med e-post-IDen [email protected] og passord jay. Ved vellykket brukerautentisering bør du se meldingen Godkjenning godkjent i nettleserkonsollen.

Konklusjon

I denne opplæringen har vi gjennomgått hvordan du kommer i gang med å lage et AngularJS-webprogram. Vi implementerte påloggingsfunksjonaliteten og godkjente brukeren godt mot Firebase-databasen. 

I den andre delen av denne opplæringen tar vi dette til neste nivå ved å implementere valideringer, påloggingsfunksjonalitet og noen andre funksjoner. Kode fra ovenstående veiledning er tilgjengelig på GitHub.

Gi oss beskjed om dine tanker i kommentarene nedenfor.

Vær også sikker på å sjekke ut det brede utvalget av AngularJS-ressurser på Envato Market. Det er alt fra CRUD-tabelldirektiver til billettsystemer og mer.

AngularJS ressurser på Envato Market