oprettelse af nul til din næste projekt

, oprettelse af nul til din næste projekt,,,,, 122,,,,,,,,, 15,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss.,, i dagens lektion, vi får dig op at køre med nul ved at bygge en simpel chatrum anvendelse af gearing nul er javascript api - grænseflade.denne anvendelse vil forsyne dig med byggestenene til at udvikle mere avancerede tidstro ansøgninger om deres egne projekter.,, til at begynde med henblik på at få nul op at køre, du er nødt til at skabe et frit udvikle hensyn til på deres websted og registrering.når du er blevet registreret, nul vil omdirigere dem til din konto instrumentbræt, hvor du vil have adgang til alle dine data steder og andre fedt træk, nul.men lige nu skal du vælge nul data sted ret,  , min første app.det er gratis at omdøbe den anvendelse eller skabe nye.,,, når nul data placering blev skabt, var det som sin egen unikke, vært navn.dette enestående vært navn, er meget vigtigt, fordi det er det sted, hvor deres data vil blive læst af og skrevet.vi vil drøfte værten navn mere indgående senere i ministeriet, men for nu:,, lad os starte bygning, det første punkt på dagsordenen: skabe en ny html fil at henvisninger nul klient, jquery og bootstrap cdns.det er helt tydeligt, at vi har brug for til at henvise til nul cdn.nu, det kan ikke være så klart, hvorfor vi refererer til, både jquery og støvlestrop.jeg bruger både jquery og bootstrap med henblik på en hurtig udvikling af anvendelsen.begge disse biblioteker, lad mig gøre det meget hurtigt, og at de ikke kræver en stor hånd kodning.men jeg vil ikke være som enten jquery eller bootstrap i detaljer, så du kan lære mere om disse javascript biblioteker på egen hånd.,,:, tillægget, der gennemfører det, som jeg beskrev, er som følger:,, <!DOCTYPE html> <html> <head> \t<meta charset="utf-8"> \t<meta http-equiv="X-UA-Compatible" content="IE=edge"> \t<title>Firebase Chat Application</title> \t<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css"> </head> <body> \t \t<script src="https://cdn.firebase.com/js/client/1.0.6/firebase.js"></script> \t<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> \t<script src="http://netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script> </body> </html>, ,Now that we have our HTML file created and it is referencing the correct CDNs, let's arbejde resten af vores anmodning. vi er nødt til at afgøre, hvilke væsentlige funktioner, denne ansøgning.det ser ud til, at de fleste chatrum stil ansøgninger har to ligheder: en besked boks for at sende meddelelser til en server og et afsnit, der er befolket med meddelelser fra en server.i vores tilfælde denne server er vores nul data sted. lad os gennemføre budskabet boks for at sende meddelelser til en server før.det kræver, at vi skaber en enkelt grænseflade, der omfatter en, input, område og fremlægge, knap indpakket i, form, hundetegn.da vi henviser til bootstrap stylesheet har vi ønsker med en forud fastlagt bootstrap styles at skabe grænseflade.som jeg sagde tidligere, er dette meget belejligt og gør det muligt for os at skrive under kode i hånden, så lad os først og fremmest, div. med klasse attribut, beholder, umiddelbart efter indledningen, et organ, et i html fil.det er et element, der giver bredde bootstrap begrænsninger og polstring til side indhold.inden i beholderen hundetegn, lad os tilføje en titel, pakket i, h1, mærker, således at vi kan give anvendelse en beskrivende betegnelse.min titel er "nul sludder anvendelse".det er gratis at benytte deres egen kreativitet, når vi skriver din titel.,, tillægget, der gennemfører det, der er beskrevet ovenfor, ser sådan ud:,, < div klasse = "containere" > < h1 > nul sludder anvendelse < /h1 > < /div. >,, i øvrigt, er vi også nødt til at tilføje en, div. med klasse attributter: panel, og panelet misligholdelse.et panel er en bootstrap komponent, der er et enkelt kasse, som indeholder fire indvendige divs: panel under pos, panel titel, panel, og panelet fod, ved misligholdelse.vi vil ikke være med, panel position, og panelet titel, men vi vil bruge begge panel, og panelet fod.det panel, div., vil blive benyttet som den vigtigste beholder til chat klient.,, tillægget, der gennemfører det, der er beskrevet ovenfor,   er som følger:,, < div klasse = "containere" > < h1 > nul sludder anvendelse < /h1 > < div klasse = "panel panel default" > < div klasse = "panel" > < /div > < div klasse = "panel fod" > < /div > < /div > < /div >, vi på nuværende tidspunkt ikke arbejder med, panel.men vi er nødt til at bruge dette punkt senere i ministeriet for at befolke beskeder fra vores data sted., og nu vil vi fokusere på panelet fod. panelet fod vil indeholde en input - område, forelægger knap, og reset - knap.vi vil give input område en attribut, id, kommentarer og fremlægge knap en attribut id af forelægge btn,.begge disse id - attributter er meget vigtige, og der vil være behov for senere i ministeriet.Feel free to alter the attribute IDs for the form elements., ,The markup that implements what I described above, is as follows:,, ,<div class="container"> <h1>Firebase Chat Application</h1> \t<div class="panel panel-default"> \t\t<div class="panel-body"></div> \t\t<div class="panel-footer"> \t\t\t<form role="form"> \t\t\t\t<div class="form-group"> \t\t\t\t\t<label for="comments">Please enter your comments here</label> \t\t\t\t\t<input class="form-control" id="comments" name="comments"> \t\t\t\t</div> \t\t\t\t<button type="submit" id="submit-btn" name="submit-btn" \t\t\t\t\tclass="btn btn-primary">Send Comments</button> \t\t\t\t<button type="reset" class="btn btn default "> klare bemærkninger < /knap > < /form > < /div > < /div > < /div >,, så lad os gennemføre javascript, der vil give os mulighed for at sende de besked til vores nul er data sted.,, javascript, først er vi nødt til at tilføje en række, manuskript, et direkte over lukningen, et organ, et, i html fil.i manuskriptet, er vi nødt til at skabe en henvisning til vores nul er data placering.uden det kan vi ikke skrive data til vores data placering.dette kan opnås ved initialiserer nul konstruktøren og passerer vores data placering som parameter.kan du huske, nul data placering blev oprettet, når du har nul (den enestående vært navn), den kode, der gennemfører det, der er beskrevet ovenfor,   er som følger:,,, var firebaseref = nye nul ("dit nul data url"), efter at initialiserer nul - objekt, skal vi binde et klik tilfælde fører til forelægge knap vælgeren.placeringen af denne skala er i panelet fod.vi har også brug for at sikre, at tilfælde fører callback indeholder en tilbage, falske erklæring som den sidste linje i kode.dette vil sikre, at misligholdelse aktion af   indgiver ansøgningen, ikke sker, og forhindre, at tilfælde af boblende op dom - træ.men i nogle tilfælde kan du have begivenhed under forekomme., både af den javascript stumper under   gennemfører det, der er beskrevet ovenfor:,, $("# forelægge btn"). bind ("klik", function() {tilbage falske}), $("# forelægge btn"). bind ("klik" funktion (tilfælde) {begivenhed. preventdefault(); begivenhed. stoppropagation().}), dernæst vil vi definere en variabel, der henvises til den bemærkning er vigtigt, og en anden variabel, der fjerner det hvide rum fra begyndelsen og slutningen af bemærkninger er værdi.,, den kode, der gennemfører, hvad jeg som beskrevet ovenfor,   er som følger:,,, $("# forelægge btn"). bind ("klik", function() {var bemærkning = $("# bemærkninger"), var comment_value = $. - (kommentar. val()); tilbage falske}), skal vi nu til at dden metode, der er nødvendige for etermine faktisk skriver disse bemærkninger til vores data sted.,, skrive data til nul, nul, er api - har flere metoder til at skrive data til et data placering.men i dagens lektion, vi skal fokusere på med den, set(), og push() metoder.lad os kort gennemgå, hvad hver enkelt af disse metoder giver os mulighed for at gøre.,,,, set(), metode vil skrive data til de data, placering, samt alle oplysninger, der træder i stedet for i øjeblikket er lagret på data sted.,,, push(), metode vil skrive data til de data, som automatisk skaber en ny placering barn, placering, med et entydigt navn.ud over denne enestående navn vil blive indledt med tiden.dette vil gøre det muligt for alle de børn, steder at være kronologisk ordnet.,,, efter gennemgang af både, set(), og push(), metoder, og jeg synes, det er helt klart, at vi er nødt til at udnytte, push(), metode i vores anvendelse.ellers vil vi hele tiden træder i stedet for den sidste bemærkning til vores data placering, og det ville være ikke sjovt.,, til at gøre dette, lad os   hoppe tilbage til javascript, vi tidligere har lagt på vores side.nu er vi nødt til at skubbe den bemærkning værdi til vores data placering.   nu huske på, at der er forskellige  , skubbe, metoder, der   giver os mulighed for at   presse oplysninger i forskellige formater, som et objekt, system, snor, nummer, boolean, eller ugyldige.vi skal bare bruge et objekt, som er en grundlæggende værdi, par en bemærkning, og   en   bemærkning værdi.desuden vil vi lægge en valgfri callback til at skyde efter, skubbe, metoder er færdig.den callback vil vende tilbage en fejl objekt på fiasko og succes, en ugyldig værdi.,, den kode, der gennemfører det, der er beskrevet ovenfor,   er som følger:,,, $("# forelægge btn"). bind ("klik", function() {var bemærkning = $("# bemærkninger") og var commentvalue = $. - (kommentar. val()); firebaseref. tryk ({bemærkning: commentvalue}, funktion (fejl) (hvis (fejl!= = null) (indberetning ('unable at skubbe bemærkninger til nul! ");)); tilbage falske}), nu lad os tilføje noget for at sikre, at chatte brugere er ikke i stand til at skrive blankt budskaber til vores data placering.det kan let ske ved at tilføje et enkelt, hvis anden udtalelse om, at kontrol, længden af den bemærkning er værdi.,, den kode, der gennemfører det, der er beskrevet ovenfor,   er som følger:,,, $("# forelægge btn"). bind ("klik", function() {var bemærkning = $("# bemærkninger"), var commentvalue = $. - (kommentar. val()); hvis (commentvalue.length = = = 0) (indberetning ('comments skal fortsætte! ");) andet (_firebaseref. tryk ({bemærkning: commentvalue}, funktion (fejl) (hvis (fejl!= = null) (indberetning ('unable at skubbe bemærkninger til nul! ");)); kommentar. val ("");} tilbage falske}), godt, vi har   afsluttet den del af vores ansøgning, der gør det muligt for brugerne at skrive data til vores data placering.men vi er stadig mangler funktionalitet, der giver brugerne et tidstro snak erfaring.denne type   erfaringer kræver evnen til at læse data fra barnet steder inden for data sted.,, læse data fra nul, som vi tidligere har nævnt, de fleste chatrum stil ansøgninger læse data fra en server og bor i en del af den grænseflade.vi bliver nødt til at gøre det samme i vores anvendelse af gearing, nul, nul er api - grænseflade., har flere metoder til at læse data fra en data - sted.  i dagens lektion, vi skal fokusere på med den, on() metode.,,, on(), metode har flere argumenter, som er værd at kigge på, men vi er kun skal dække de første to argumenter:, eventtype,   og opkald.lad os se på begge disse.,, at vælge en, eventtype,, ", eventtype" argument har flere muligheder.lad os se på hver, så vi er i stand til at afgøre, hvilket vil opfylde vores behov,.,,, "værdi" - vil blive udløst, og læser alle kommentarer, og hver gang de bemærkninger, det vil blive udløst, samt at læse alle de kommentarer,.,,, child_added, "- vil blive udløst en gang for hver bemærkning, samt hver gang en ny bemærkning tilføjes,", child_removed "- udløses, når en kommentar er fjernet.,,, child_changed" - udløses, når en kommentar er ændret.,,, child_moved, "- udløses, når en kommentar er for er ændret.,,, efter ud over ovennævnte muligheder, er det helt klart, at vi bør bruge", child_added, "vores", eventtype ".denne selv - vil blive udløst en gang for hver bemærkning til vores data placering, samt hver gang en ny bemærkning tilføjes.desuden, når en ny bemærkning tilføjes det ikke vender hele bemærkninger på dette sted, men det sidste barn tilføjes.det er præcis, hvad vi vil have.der er ingen grund til at vende tilbage til hele bemærkninger, når en ny bemærkning tilføjes.,, analyserer, ringe, "opkald" til, on(), metode er en post, der nul henviser til som en "øjebliksbillede af data", som er en række funktioner, i dag fokusere på, name(), og val(),.,,,, name(), medlem funktion giver os et enestående hedder "øjebliksbillede af data".hvis du kan huske det tidligere anvendte vi, push(), opgave at skrive en ny bemærkning til vores data placering.når push(), blev kaldt, skabte et nyt barn stedet ved hjælp af et entydigt navn, og det er det navn, der tilbagesendes via ringe medlem funktion, name(),.,,, val(), medlem funktion giver os med javascript objekt repræsentation af "øjebliksbillede af data", og med dette øjebliksbillede. vi vil være i stand til at få en kommentar fra vores data placering.men vi er nødt til at gå tilbage til om et øjeblik.  , tidligere i denne forelæsning, gennemførte vi den javascript for at skubbe bemærkninger til vores nul placering, og vi gjorde det ved at skubbe en genstand med en central værdi par.i dette tilfælde er nøglen var "kommentarer", og den værdi, var de input, som brugeren anføres.derfor, hvis vi ønsker at få en kommentar fra vores "øjebliksbillede af data", er vi nødt til at erkende de korrekte data type.i dette tilfælde har vi at gøre med et objekt, - - så du kan anvende enten dot - koder eller stillingsgruppe notation adgang til bestemte ejendom., både af   den javascript stumper nedenfor, gennemfører det, der er beskrevet ovenfor:,, firebaseref. ('child_added, funktion (billede) (var - uniqname = øjebliksbillede. name(); var. bemærkning = øjebliksbillede. val(). bemærkning.}), firebaseref. ('child_added, funktion (billede) (var - uniqname = øjebliksbillede. name(); var bemærkning = øjebliksbillede. val() ["kommentarer"]}), og gør de bemærkninger, næste, lad os skabe en enkel, men rent at vise hver bemærkning.det kan let gennemføres i at fremsætte bemærkninger inden for en hver, div.   og mærkning hver bemærkning med sin unikke navn.normalt bemærkninger er mærket med brugerens navn, der skrev den bemærkning, i vores sag, det er en anonym chatrum klient.,, den kode, der gennemfører det, der er beskrevet ovenfor,   er som følger:,,, var commentscontainer = $('# bemærkninger beholder); $(< div. /> "(klasse:' kommentar beholder}). http: //(< over klasse =" etiket info "> kommentar + uniqname + < /span > + bemærkning);,, det næste skal vedlægge hver bemærkning til den bemærkning er beholder og få den nuværende lodrette position af bemærkninger er beholder scrollbar og rulle til det sidste sted.dette vil sikre, at hver gang en kommentar er skubbet til nul, alle brugere, der anvender den snak anvendelse vil se den sidste bemærkning.alt dette skal ske inden for den callback., bør det se sådan her:,,, var commentscontainer = $('# bemærkninger beholder); $(< div /> "(klasse:' kommentar beholder}). http: //(< over klasse =" etiket info "> bemærkning: + uniqname + < /span > + kommentar). appendto (commentscontainer); commentscontainer. scrolltop (commentscontainer. kom ('scrollheight '));,, lad os anvende nogle simple css styles til divs svøbt omkring hver bemærkning blok.dette vil gøre det mere attraktivt udseende og brugervenlige.disse stile bør tilføjes i den stil tags, der er beliggende i hovedet, afsnit af html.,, den kode, der gennemfører det, der er beskrevet ovenfor,   er som følger:,,,. container (max bredde: 700px;}&#bemærkninger container (grænse: 1px fast&#d0d0d0. højde: 400px; overflow-y: rullen;}. bemærkning container (polstring: 10px; margen: 6px; baggrund:&#f5f5f5; skriftstørrelsen: 13px; - moz grænse radius: 5px; - webkit grænse radius: 5px; grænseoverskridende radius: 5px;}. bemærkning container. etiket margen: 20px;}. bemærkning: i) type (grænse nederst: ingen;},, at ansøgningen, nu er det tid til at køre vores anmodning.  , så lad os starte med at åbne to tilfælde af vores favorit, moderne browser ogat placere dem side ved side på vores skriveborde.vi vil kigge på filen placering af sagen, som vi har skabt, både på browsere.prøve det   af   skrive et par   bemærkninger og nyder at se magien på nul.  , er det utroligt, at kun et par linjer kode kan fremlægge en sådan stærk anvendelse.de er fri til at redigere dette indlæg på nogen måde at producere deres ønskede resultater.,, se online - demo - at se det i praksis.   nedenfor, er fuldstændig kildekode for hele chatrum anvendelse:,, <!doctype html > < html > < head > < meta - charset = "utf - 8" > < meta - http equiv = "x-ua-compatible" indhold = "ie = kant" > < afsnit > nul sludder anvendelse < /afsnit > < forbindelse rel = "stylesheet" href = "http: //netdna. bootstrapcdn. kom /bootstrap /3.1.1 /css /støvlestrop. min.css" > < stil >. container (max bredde: 700px;}&#bemærkninger container (grænse: 1px fast&#d0d0d0. højde: 400px; overflow-y: rullen;}. bemærkning container (polstring: 10px; margen: 6px; baggrund:&#f5f5f5; skriftstørrelsen: 13px; - moz grænse radius: 5px; - webkit grænse radius: 5px; grænseoverskridende radius: 5px;}. bemærkning container. etiket, der 20px ret:;). bemærkninger -container:last-of-type { \t\t\tborder-bottom: none; \t\t} \t</style> </head> <body> \t<div class="container"> \t\t<h1>Firebase Chat Application</h1> \t\t<div class="panel panel-default"> \t\t\t<div class="panel-body"> \t\t\t\t<div id="comments-container"></div> \t\t\t</div> \t\t\t<div class="panel-footer"> \t\t\t\t<form role="form"> \t\t\t\t\t<div class="form-group"> \t\t\t\t\t\t<label for="comments">Please enter your comments here</label> \t\t\t\t\t\t<input class="form-control" id="comments" name="comments"> \t\t\t\t\t</div> \t\t\t\t\t<button type="submit" id="submit-btn" name="submit-btn" \t\t\t\t\t\tclass="btn btn-success">Send Comments</button> \t\t\t\t\t<button type="reset" class="btn btn-danger">Clear Comments</button> \t\t\t\t</form> \t\t\t</div> \t\t</div> \t</div> \t<script src="http://cdn.firebase.com/js/client/1.0.6/firebase.js"></script> \t<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> \t<script src="http://netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script> \t<script> \t\tvar fireBaseRef = new Firebase("YOUR FIREBASE DATA URL"); \t\t$("#submit-btn").bind("click", function() { \t\t\tvar comment = $("#comments"); \t\t\tvar commentValue = $.trim(comment.val()); \t\t\tif (commentValue.length === 0) { \t\t\t\talert('Comments are required to continue. ');) andet (firebaseref. tryk ({bemærkning: commentvalue}, funktion (fejl) (hvis (fejl!= = null) (indberetning ('unable at skubbe bemærkninger til nul! ");)); kommentar. val ("");} tilbage falske}); firebaseref. ('child_added, funktion (billede) (var - uniqname = øjebliksbillede. name(); var bemærkning = øjebliksbillede. val(). bemærkninger, var commentscontainer = $('# bemærkninger beholder); $("- lt; div />" (klasse:' kommentar beholder}). http: //(< over klasse = "etiket default" > kommentar + uniqname + < /span > + kommentar). appendto (commentscontainer); commentscontainer. scrolltop (commentscontainer. kom ('scrollheight ')}). < /manuskript > < /organ > < /html >, i det væsentligste i dagens lektion, arbejdede vi hele vejen igennem processen med gennemførelse af en simpel chatrum anvendelse af gearing - nul er java.manuskript api - grænseflade.det var vi i stand til at opleve kraften af nul og få en forståelse for dens årsager.nedenfor er nogle af de vigtigste punkter, som vi slå om i dag:,,, refererer til en nul - data, hvor starter et nul konstruktøren.,, skrive data til nul ved hjælp af, skubbe, metode.,, læse data fra nul ved hjælp af den metode med tilfælde type ", child_added".,,, jeg håber, at denne forelæsning har givet dig det udgangspunkt, du er nødt til at tage tingene yderligere med nul.hvis du har spørgsmål eller kommentarer, er du velkommen til at forlade dem.tak for din tid og undersøge muligheder for nul api -.,, ressourcer, nul, jquery bootstrap,,,,,



Previous:
Next Page: