[Powered by Google Translate] [Seminar] [Web Development: Od ideje do izvedbe]
[Ben Kuhn] [Billy Janitsch] [Harvard University]
[To je CS50] [CS50.TV]
[Billy] Živjo, jaz sem Billy in to je Ben. >> [Ben] Zdravo.
Bomo danes govorili o spletni razvoj.
[Webdev] [Billy Janitsch in Ben Kuhn]
Bit za nas prvi.
Ben je neke vrste back-end fant. On naredi stvari delujejo.
In potem sem šel v in bi jih lepo.
Jaz sem v glavnem ukvarjajo z več front-end načrtovalska stvareh,
Ben, na drugi strani pa ne ve, kaj počne, tako da dela na back-end stvari.
Skupaj smo naredili nekaj stvari.
Na primer, lani smo delali na Gimblium, ki je na spletu igra razvoj studio.
To je bil naš končni projekt za razred,
in od takrat smo naredili Harvard Class
, ki je na spletu okvir za brskanje in nakupovanje tečajev na Harvardu.
>> Bomo začeli s to idejo za našo spletno stran.
Bomo, da bo Facebook, vendar za mačke.
Preden ste dejansko bi ta spletna stran,
tega ne naredite spletno stran, ker to ni dobro, ampak ga bomo uporabili kot okvir
in iti skozi postopek, kako bi se to idejo
in jo spremeniti v pravo spletno stran, lahko uporabite.
Bomo začeli s breaking spletni strani navzdol.
Tako kot si počel v CS50,
si želeli, da razmišljajo o tem, kaj so dejanski komponente, ki gredo v tej spletni strani.
V bistvu ga zavrtite od ideje, ki je nekako abstrakten pojem
v resnično, oprijemljivo stvar, ki jo lahko narediš.
Začeli smo z vprašanjem nekaj vprašanj.
Kaj je ta spletna stran? Zakaj bi jo?
Kaj se dogaja, da se uporablja? Take stvari.
V primeru Facebook Cat,
smo v bistvu želite spletno stran, ki vam omogoča, mačke socialno mrežo med seboj.
Ideja je, da bi lahko objavili na stenah drug drugega,
lahko dajo pripombe, da se takšne stvari.
In to je, če smo prišli v funkcionalnih delov.
Zdaj imamo to vrsto okvira - imamo uporabniških profilov,
imamo komentarje, in bomo lahko objavili.
Morda nekega dne bomo dotoku všeč in da se takšne stvari.
In smo nekako želeli prednost te funkcije, ki gredo noter
Hočemo reči, kot so, ok, to je res pomembno, da ima vsakdo profil
in da vsakdo lahko objavite na stenah drug drugega.
Drugotnega pomena, da bi se komentarji lahko lepo.
Mogoče kasneje bomo dotoku všeč.
Torej, želite imeti idejo, kaj je ključnega pomena za vaš projekt
in kaj je nekako bolj splošno funkcijo, ki bi jih lahko uporabili kasneje.
Hočeš, da nekako imeti poseben seznam v mislih,
ampak projekt, da začnete z, ne bo projekt, ki ga konča s.
Z drugimi besedami, stvari se bo spremenilo, ko ste v razvoju mesta,
in želite pustiti prostor za to.
Bom ga obrnite z Benom, ki se dogaja, da govori malo o strukturi.
>> [Ben] bom govoril o bolj tehnično plat razvoj spletnih strani.
Pojdiva čez nekaj osnov prve.
Ko delaš spletno aplikacijo,
Glavna delitev, da boste morali imeti, je
boste morali nekaj stvari dogaja na strani odjemalca -
to je številka, ki si brskalnik traja od mesta
in JavaScript, HTML, CSS stvari.
To je vse na strani odjemalca.
Boste morali drugo kodo, ki teče na strani strežnika
ki beleži vse podatke, ki jih ljudje pošiljajo v tebi,
odloča, kdo bi dal kaj, stvari, kot je ta.
To je le nekaj terminologije, tako da so fantje vsi seznanjeni s tem, kaj smo govoriš.
Onkraj te delitve je dobro razmišljati o vaši spletni aplikaciji v smislu
Nekaj ​​različnih komponent.
Ko delaš web razvoj
ena od stvari, ki jih je treba vedno poskušajo storiti, je, da se zmanjša zapletenost.
Bolj zapleteno kodo, je več možnosti je, da bi napake,
težje je kasneje spremenila.
Torej, če lahko zlomijo vaš app v nekaterih ločenih funkcionalnih področjih
da bo - in lahko zmanjša količino vrste komunikacije cross-območja -
, ki vam bo pomagal veliko na dolgi rok v smislu zmanjševanja hroščev.
>> Če želite biti konkretni, ponavadi ljudje razdelijo v spletno aplikacijo na -
To so vrste buzz besede zdaj, ampak oni so še vedno uporabna.
Morda ste slišali ljudje govorijo o modelih, poglede in nadzorniki.
Modeli so dejanski podatki, da je vaš app se dogaja, da se ukvarjajo z.
Na primer, v vašem Cat Facebook, bi bil vaš modeli se -
boš moral model, kot so delovna mesta, in model za uporabniške profile, stvari, kot je ta.
Vaše mnenje je, kako si predstavljamo, da so podatki za vaše uporabnike.
Morda imate 1 pogled za videti na enem mesto in vse komentarje
in drugačen pogled na vaši steni, ki ima seznam vseh delovnih mest
, ki so usmerjene na vas, in drugačen pogled na vaše novice krme - podobne stvari.
Končno imate nadzornike, ki so v osnovi, ko so ljudje poslali prispevke
in naredite posodobitve za vaš back-end sistem,
vam prirastek kup števcev, in karkoli.
Tisti, ki so vaši kontrolorji.
>> Jaz bom govoril predvsem o modelih.
Ogledi so tehnično ni tako težko, in vprašanje je, bolj z njihovo oblikovanje,
Kontrolorji se bodo specifični za kar ste načrtovanju.
Vendar pa obstajajo nekatere zelo splošne tehnike, ki jih lahko uporabite
da bo vaše modele lepše in lažje delati s tem mislim, da so zelo koristna.
To se večinoma dogaja, da se o tem, kako ravnati s svojimi podatki spletne aplikacije na lep način.
Glavna vprašanja z modeli
so, da živijo na odjemalcu in strežniku in boste morali ugotoviti,
a) kako jih dobiti - vse pomembne tiste - od strežnika do odjemalca,
in b) kako jih ohraniti v sinhronizacijo.
Vaši uporabniki bodo želeli, da bi nekatere posodobitve.
Oni bodo želeli, da bi nova delovna mesta.
Oni bodo želeli, da mi stvari in stvari, če imaš rad.
To so glavne tehnične izzive, ki se ukvarjajo z modeli.
Prva stvar, ki jo boste želeli, da se vprašajte, je
kakšne vrste podatkov gre v tem modelu in kakšne poizvedbe bomo želeli narediti -
to je, kako se bomo, da pogled na modelih?
Za vašo Cat Facebook primer,
vaš post se dogaja, da imajo avtor, povezane z njo,
nekateri zid pošta besedilo in prejemnik stenske pošti.
In potem boste morda želeli, da se pozanima, da je v kup različnih načinov.
Bi si želeli, da pogled na to, kdo ga je napisal, ki napotujejo,
ki jih je prejela, ki objavljajo, morda do dne, ko so bile objavljene.
Ampak, če boste to storili po datumu, potem moraš dodati še eno polje svoj post
kdaj je bil dejansko objavljen.
Ti 2 dejavniki -, katere podatke želite uporabiti in kako želite, da si jo ogledate -
bi morali razmišljati o njih, najprej zato, ker so odvisni drug od drugega,
in to bo bolj težko, da jih dodate pozneje.
>> Obstajajo nekatere druge vidike.
Ko razmišljate o tem, kako ravnati z modeli na strežniku
kaj želite gledati, je -
si v bistvu želite strežnik tako enostavno, kot je mogoče.
Narediti stvari na strani odjemalca je na splošno veliko hitreje, če lahko to storite izključno na odjemalcu
ne delaš nikakršne zahteve omrežja.
Ideja je, da naredite čim več vprašanj, kot jih lahko v odjemalcu.
Edini problem pri tem
je, da če zahteva vse podatke na začetku
nato pa, da bo trajalo dolgo časa, da obremenitve.
Torej, ideja je, da se vzpostavi srečno medij med ima dovolj podatkov o stranki
da lahko naredite večino svojega dela tam, ampak ne samo pridobivam vse naenkrat
tako da boste dobili res počasi obremenitve krat na začetku.
Na primer, za vaše podatke mačke
bi si verjetno želeli, da prinese kup zadnjih stenskih delovnih mest.
Saj ne bi rad, da prinese vse od njih, saj bi to lahko segajo nekaj let.
Vendar ne želite, da bi jim prinese eno naenkrat
ker bi, da uvede veliko obremenitev omrežja.
>> To je pogosto zelo težko - ko imate teče baze podatkov -
je pogosto zelo težko spremeniti, katere podatke imate v njej -
to pomeni, da dodate nov stolpec zbirke podatkov, ali kaj podobnega -
Tako ena dobra strategija je pravzaprav samo, da veliko vaših podatkov v besedilni mehur -
JSON Nič - JSON čemer JavaScript Object Notation -
Razlog, da je koristno, ker potem lahko dodate nove lastnosti
za vse te JSON kepe da bi spremenili svojo bazo podatkov.
Edina slaba stran, da je to, če imaš kup področij
ki ste ga dodali kasneje - kot se skriva v tem JSON mehur -
potem je težje jih pozanima znotraj baze podatkov.
Na primer, če boste kasneje - če boste imeli vaš post model, ki smo razpravljali prej
z enim avtorjem, prejemnika in besedilo -
bi lahko imeli tudi JSON Nič in potem, če ste kasneje želel dodati datumsko polje
vam ne bi bilo treba spremeniti svoje baze podatkov.
Lahko le dodamo datume, da vsa besedilna polja.
In potem bi mogli gledati tiste na strani odjemalca,
vendar pa si ne bi mogli pozanima na strani strežnika
zato, ker je skrit v tem besedilu.
>> Drugo vprašanje, ki ste želeli, da razmišljajo o tem
je, kako vaše stranke in vaš strežnik se dogaja za komuniciranje.
Si običajno želijo, da to tako enostavno, kot je mogoče.
Lahko samo še kot-Me-to get zahtevo podatkov s,
create-a-new-predmeta stvar, in zahteva update-stara-objekt.
In ti bi bili vsi različnih URL-ji na strežniku, ki ga -
da bo brskalnik - lahko uporabite AJAX zahteve za vse te
in ali prejemajo ali objava podatkov.
Še enkrat, za našo Cat Facebook primer,
bi lahko imeli ta URL, da se posamezno delovno mesto,
in bi imate URL za ustvarjanje nove stene delovno mesto
in morda URL za nalaganje svoj profil sliko, takšne stvari.
Ampak spet, to je v naprej prenesti večino vaših podatkov, tako da vam ni treba hraniti
vlaganje prošenj omrežja.
Zaradi tega si ne bi želeli imeti ta individualno prošnjo dobil za eno samo delovno mesto,
in namesto da bi samo rad 1 prošnjo dobil za celotno steno.
In potem, če ste poskušali najti ravnotežje, ker -
to se tudi dogaja, da je odvisna od vaše prijave.
Ker, če ste pričakovali, da imajo ljudje le 10 ali 20 Komentarjev
da bo v redu.
Ampak, če ste pričakovali, da bomo imeli na tisoče potem bi ta zahteva trajalo predolgo,
in tako boste morda želeli dodati dobili-vse-sporočila, saj parameter.
>> Za vse to ste verjetno želeli sinhronizirati podatke v JSON -
JavaScript Object Notation.
Precej vsak jezik, ki se ukvarja z JSON zelo dobro.
JQuery je to lepo funkcijo getJSON, da bo naredil vse trdo delo za vas.
In na PHP tam je tudi zelo lepo JSON komunikacijske funkcije.
Torej, to je verjetno najboljši format za pošiljanje svoje modele in nazaj.
>> Kot primer tega, kar smo doslej govorili,
tukaj je primer toka za Cat Facebook aplikacijo.
Začne se z brskalnikom, ki zahteva bazo URL spletne strani.
Server bi verjetno pošljete preko statične HTML in nekaj JavaScript in CSS.
To je ponavadi najbolje, da ne bo nobenih upodabljanje na strežniku.
Verjetno ne želite, da -
kaj je strežnik ne dela tam se dogaja določitvi seznama Komentarjev
in ustvarjajo nekaj HTML za vsakega posebej in pošiljanje, da več.
Ponavadi je najbolje, da to, da je na strani odjemalca, ker drugače
vsakič, ko boste želeli ponovno pripraviti nekaj, boste morali zahteve za strežnik.
In to zelo hitro vam daje veliko obremenitev.
To je ponavadi najbolje, samo da ladja pošlje dol statično HTML
in potem JavaScript in CSS, ki bo naredil upodabljanje na strani odjemalca.
Takoj, ko ta stvar pride,
potem imate lahko - v JavaScript - lahko storite zahteve po podatkih, stensko
in podobne stvari, potem pa strežnik je v bistvu samo delaš poizvedbe zbirke podatkov
in preverjanje dovoljenja.
Edina pomembna stvar je, da ne more poslati prek nekaterih drugih uporabniki Komentarjev
da si ne sme videti.
To lahko v bistvu je zelo tanka plast dostop do vaše zbirke podatkov,
in potem vse, ki prikazuje podatke - vse poglede in stvari -
tistih, ki se lahko zgodi v vašem brskalniku, in potem, ko želite, da post ali kaj podobnega
ki ste jo pravkar poslali še eno zahtevo.
>> Tam je tudi nekaj fancy stvari lahko storite na vrhu tega.
V smislu bolj specifičnih tehničnih informacij,
razvija v preprostem JavaScript lahko malo boleče,
tako da so nekatere knjižnice in orodja, ki vam bo pomagal veliko s tem.
Mislim, da si verjetno vsi slišali jQuery, ki omogoča delaš HTML upodabljanje
in manipulacija veliko lažje - imamo veliko fancy funkcij za izginja v in iz nje,
in delaš dinamičen animacije.
Tam je tudi ta knjižnica imenuje Underscore.js.
Ima veliko uporabnih funkcij koristnosti, stvari, ki bi jih pričakovali JavaScript, da imajo
da je res doesnt - stvari, kot je mešanje kart niz,
odstranjevanje dvojnikov s seznama, in poravnavanje seznam seznamov.
To je le majhen vzorec kodo.
Podčrtaj ima tono teh lepih funkcij, da si želiš, da bi imel ves čas.
>> In potem je tukaj še 1 več knjižnico, da bi rad, da bi porabili malo časa za
imenovano Backbone.js ker hrbtenica res vam pomaga ukvarjajo z modeli na strani odjemalca
in veliko zmede, ki lahko povzročijo.
Hrbtenica vam ta koncept modelov in zbirk
v JavaScript, ki so v bistvu popolnoma enako kot JavaScript predmetov
v JavaScript nizi vendar imajo dogodke, ko ste spremenili svoje lastnosti.
Tako kot v JavaScriptu, lahko imate dogodek, ko postane kliknete gumb ali kaj podobnega
ti hrbtenica modeli in hrbtenica zbirke bodo predvajali stvari, kot so
da ko se spremenijo.
To pomeni, da lahko le napisati nekaj podobnega temu košček kode tukaj -
Ta pravi, da vsakič, ko kaj dodati k Objav paleto ste izvlečete celotno steno.
In to bi rekel, da vsakič, ko število na delovno mesto je v enaki spreminja,
vas obvestiti uporabnika, da je nekdo všeč njihovo delovno mesto.
Ali kadar koli last post spreminja si zarisala mesto.
Stvari, kot da vam bo prihranilo tone kompleksnosti, saj drugače
Če nimate nekaterih okvirnih TAKOLE nato vsakič, ko v svojo kodo, ki ste spremenili
ničesar o delovno mesto, bi si morali sami ne pozabite poklicati vse funkcije ometa
in podobne stvari, in če boste želeli dodati nekaj novega, kar se je zgodilo
vsakič, ko ste spremenili delovno mesto, bi si moral iti skozi vsako mesto v vašem
kodo, ki ste spremenili post in dodal, da nova stvar.
Okvir, kot je ta bo odpravila veliko tega med-plast komunikacije
, da naredi svojo kodo zapletena in težko vzdrževati.
>> Tukaj je nekaj o pogledih tudi.
Bom pustil večino tega Billyju, ker oni niso tehnično zelo težko.
Uporabite jQuery za vaše mnenje. To je skoraj tako kot nujnost, na tej točki.
Samo naredi vse, kar je tako veliko lažje.
Obstaja veliko knjižnic.
Če ste zapleten uporabniški vmesnik elemente,
če želite, auto-popolna stvar ali kot eden od tistih fancy multi-selektorjev -
če želite, da kaj takega, bi verjetno samo iskanje po
in boste lahko našli dober knjižnico, ki bo naredil tisto, kar želite.
Billy bo razložil več o dejansko zahtevnih delih mnenj.
Prav tako, kot stran pismo, hrbtenica ima nekaj funkcionalnosti za izdelavo ogledov komunicirajo
lepo z modeli - pogled na dokumentacijo za vse od teh knjižnic, pravzaprav.
Samo poglej docs. Oni so zelo dobro napisana in enostavno slediti.
Na splošno lahko zal veliko šele na Google, če imate težave.
Obstaja veliko ljudi, ki jih uporabljajo.
Mislim, da je kot končno opombo.
>> Obstajajo tudi nekatere bolj napredne stvari, ki jih lahko storite
če ste iskali, da bi vaša spletna aplikacija ekstra super.
To lahko storite - nova specifikacija HTML5 ima veliko fancy stvari, ki jih lahko storite.
Lokalno shranjevanje - kar je lahko shranjuje podatke v brskalniku -
namesto da bi šel nazaj in pregledam strežnik za vse,
lahko ohranite nekaj je na odjemalcu in da tudi omogoča ljudem -
V nekaterih primerih je lahko tudi vam uporabo spletne strani brez povezave.
Tam je ta stvar imenovano WebSockets, ki so drugačne vrste komunikacijskega omrežja
kjer namesto samo naredite eno zahtevo, boste dobili odgovor, in ste končali,
boste obdržali odpre povezavo s strežnikom in tako lahko narediš stvari, kot so
posodobitve v realnem času.
Torej, če ste skušali narediti chat aplikacijo, lahko uporabite WebSockets
sporočiti naprej in nazaj, tako da vam ne bi bilo treba ohraniti vlogo,
"Oh, strežnik, pa kdorkoli spodbuda mi klepeta?" Vsakih 10 sekund ali nekaj takega.
Tam je tudi zanimiva HTML5 funkcija, kjer boste lahko izgledal
URL strani se spreminja, ne da bi kdaj ob dejansko jo osvežite.
Lahko uporabite naprej in nazaj gumbov, ne da bi kup zahtev iz omrežja.
Stvari, kot da je res uporabno v smislu česar je hiter, ampak tudi deluje kot web app je treba.
>> Tam je tudi ta stvar imenovano CoffeeScript.
CoffeeScript je drugačen jezik, pravzaprav, da pripravlja navzdol JavaScript.
Ti bi napisali vso svojo kodo v CoffeeScript, nato pa zaženete ta prevajalnik,
in izpljune datoteko JavaScript, ki ga lahko vključite v svojo spletno stran.
Razlog, da je CoffeeScript lepo je, ker to gets znebil veliko
čudni primeri, ki ima JavaScript, če je enaka enaka,
in znaša Enako različne stvari, ali je všeč -
ima lepšo sintakso, ki se ukvarjajo z nizi in funkcije.
To je majhen košček CoffeeScript, ki proizvaja seznam vseh kvadratov
od 10 ^ 2 proti 1. ^ 2 v obratnem vrstnem redu.
Kot lahko vidite, CoffeeScript pogosto vam omogoča, da izražajo v 1. vrstici
kaj bi vzeli 5 vrstic JavaScript.
To lahko stvari veliko lažje.
To je malo novega sintakse, da se učijo na prvi,
vendar pa bo zagotovo, da boste bolj produktivni na dolgi rok.
>> Lahko uporabite tudi druge jezike na strežniku kot PHP -
jezike, kot Ruby, Python, ali tam je tudi projekt, imenovan node.js
, ki vam omogoča uporabo JavaScript v strežniku.
Osebno sem zelo, zelo sovražim PHP.
Jaz samo ne radi delajo z njim.
Če tudi vi menite, da je grozno cluge jezika,
potem lahko uporabite enega od teh namesto tega.
Na splošno, če želite narediti nekaj, in ne vem, kako bi jo naredil,
samo iskanje po internetu.
Obstaja tone in tone sredstev predvsem na -
StackOverflow je eno veliko.
To je ta spletna stran, kjer programerji vprašati vsaka druga vprašanja.
Morda ste zašli v to, če so bile težave na CS50 problemskih sklopov.
In obstajajo ton knjižnic za to precej karkoli bi si želeli.
Če želite nekaj storiti in ne veste, kako to storiti,
ne domneva, da je to nemogoče.
Samo poglej okoli sebe in boste morda našli nekaj dobrih virov.
>> Kot splošno wrap up,
Glavni takeaways so ohraniti stvari preproste.
Bolj zapletene vaše koda je na začetku
in bolj ko poskusiti in narediti fancy stvari,
dlje bo trajalo, da bi dobili nekaj dejansko funkcionalno
in težje bo kasneje spremenila.
Torej, delati stvari neumno, preprost način prvi.
Da gredo skupaj s tem,
Ne bojte se vrže proč staro kodo ali čiščenje veliko.
Na splošno, ko ste dejansko imajo nekaj delo,
to je veliko lažje razmišljati o tem, kot takrat, ko ste še vedno v začetnih fazah
kako naj naredim to dal vse skupaj.
To je najbolje, da bi neumna možnosti oblikovanja, ki deluje
in ga nato izboljšati ponavljajočim kot poskus, da bi dobili vse, kar je prav prvič.
V delitve odjemalec-strežnik, poskusite in obdržati vaš strežnik zelo preprosta -
samo bazo podatkov in nekateri avtentikacijo in ne storiti vse trdo delo tam.
Storiti vse vaše zapletene stvari na strani odjemalca v brskalniku
v JavaScript toliko, kot lahko.
Poglej okoli za knjižnice, ki bo vaše življenje lažje.
Vedno je bolje uporabiti kodo, da je nekdo drug napisal
če - in da se ne pišejo sami.
Tam je veliko stvari na internetu. Google je tvoj najboljši prijatelj.
Google je programer najboljši prijatelj.
Ja, definitivno ne bojte se, da iščejo možnosti za stvari.
Vse je v redu. In več Billyju.
>> [Billy] Pravzaprav, preden začnem z nekaj načrtovanja stvari,
ali ima kdo kakšno vprašanje za Bena o vsem, kar je govorila?
Ok, dobro.
Again, nam sporočite, če kaj ni jasno
ali, če želite, da gredo čez nekaj malo več.
Grem korak nazaj malo in govoriti o več temeljnih delih oblikovanja.
Ben omenjeni model se imenuje - Žal mi je, modela pogled krmilnik
, ki je neke vrste tehnični vidik, tako da bom pogledati mnenj posebej,
in bom, da začnete s tem, kako bi si oblikovati stališče, ki je videti lepo.
Tukaj je nekako res osnovne predloge za našo Cat Facebook.
Mislim, da obstajajo nekatere osnove v modernem dizajnu UI
, ki jih je vredno pobirati.
Lahko opazite, da je veliko belega prostora vsem strani,
dovolj prostora za stvari.
Ne počutim se kot da imate squash stvari v stran.
Želite zapustiti veliko prostora odprt, in če greš na skoraj vsako sodobno spletno stran
boste videli, da je belo, povsod.
Tam je bela krajev, ki jih ne bi pričakovali.
Imate to barvno paleto, in to je pametno na začetku
izbrati barvno paleto, da boste delo in razvoj.
Prav tako - pomaga izbrati tipografijo, in na ta način ste nekako delajo z
Te konkretne osnove oblikovanja.
Imate svojo vrsto, imate svoje barve, in potem lahko nekako
fit vse ostalo v, kot je potrebno.
Torej, kot sem rekel, z vašo barvno shemo, ki jo želite uporabiti za drznejše barve vaše barvne sheme
zmerno. Glave so lepe. Gumbi so lepo, da so res velik, neokusen barv.
Ampak na splošno, če imate spletno stran, ki ima barve povsod,
vsi ti strmel v obraz, je samo videti nered, in to ni dobro.
Hočeš, da na splošno uporabo svetlih barv.
Poskusite ponovno, pick precej usklajeno barvno shemo.
Lahko so te male brizgom veliko barve -
da lahko ogledate zelo lepo, vendar si jih želijo uporabljati zelo varčno.
>> Kot sem dejal, si želijo, da bi minimalna. Manj je skoraj vedno več.
Če lahko prikažete kaj ali ne prikaže nekaj,
in si nekako prepričani, ali bi morala biti tam privzeto -
Verjetno ste najboljši off ga izpustil. Vedno lahko dodate pozneje.
Ja, ohraniti stvari preproste.
Najpomembneje pa je, da želite, da razmisli več modelov.
Ne mislite, da ko bo mesto, ga imate v glavi, da boš
bi mesto v določen način, in to bo videti natanko tako.
To se dogaja, da ima modro glavo na vrhu in modro stransko vrstico
in nato rumeno sub-glava stvar.
Želite, da bi več predlog.
Lahko bodisi - če ste dobri z Photo Shop, lahko odprete, da gor in nekako
oblikovanje spletne strani, kot želite to pogledati.
Če ne, lahko pa uporabite svinčnik in papir,
ampak praska gor več modelov.
Hočeš, da v bistvu imajo ustanovi, kjer imate veliko različnih modelov,
in če ena konča delo, potem je to super.
Če se ena konča ni, potem boste vedno imeli še eno obrniti.
Na splošno, ne zanima morate biti omejena
da ne glede na zasnovo boste najprej odloči o.
Modeli so zelo spremenljive, in del o pomembnosti modela
Pogled krmilnik sistema je, da lahko swap ven in noter različne poglede, ki jih želite.
Lahko bi vladala podatkov ena pot, in se nato odloči, oh, pravzaprav, da ne deluje tako dobro.
Mislim, da je nekako preveč zapleteni ali pa je del tukaj, da se v resnici ne deluje,
tako da sem le, da bo popolnoma opustiti to stališče in zamenjave v popolnoma novo.
Mi lahko še vedno uporabljajo stare modele in stare kontrolorjev.
Mi lahko storite vse, kar je na strežniku in odjemalcu kot mi bi prej.
Ampak dejansko val podatki so prikazani se bo nekoliko drugačen.
>> Kolikor je dejansko izvajanje design želite,
ko enkrat imaš nekaj modelov, ki so izoblikovane na papirju ali Photo Shop ali karkoli,
obstajajo številna orodja, ki so na voljo za vas.
Prvi ste zelo dobro seznanjeni s katerim je vaš HTML, PHP, ali karkoli
jezik, ki ga uporabljate le za kodiranje statične strani na vaši spletni strani.
Delal si veliko s HTML, ki nekako vam daje te oznake
, ki jih lahko dajo stvari v, in v bistvu je to način organiziranja vsebine.
Na primer, imaš glavo tam gor, tako da boste imeli glavo oznako,
in to se dogaja, da imajo nekaj besedila znotraj njega, ki je verjetno, da bo v drugo oznako.
Potem imate sidebar morda z nekaj različnimi povezavami,
in tistih, ki se bodo vsi v ločene oznake.
Torej, v bistvu HTML na svojem srcu, je način delitve stran, kako
sčasoma želite oblikovati.
Torej še enkrat, si videl.
Si zelo zadovoljni s sodelovanjem z njo zdaj
ob upoštevanju, da ste naredili zadnji pset upajmo,
tako da ne bi smelo biti problem.
>> Potem imate CSS, ki v bistvu obvladuje vse od oblikovanja statične vidike.
To bi ročaj vseh barv, vse pozicioniranje različnih elementov,
kjer gredo glede drug na drugega,
kako velike so, različne vrste pozicioniranje, da bi si jih -
z drugimi besedami, lahko so se stvari določi tako, da ko se pomaknite navzdol, da ostanejo,
ali pa so se stvari glede na druge elemente.
Vse te take stvari se v CSS.
Poleg tega lahko naredite različne okraske, ki jih lahko imajo barve besedila,
besedilni učinki, vse to vrsto stvari.
Ben je res dober seminar o tej zadnji vikend,
in zato bi vsekakor preverite, ali, če mislite, da se delaš nekaj fancy stvari z CSS.
CSS3 je pravzaprav najnovejša različica CSS, in lahko storite vse vrste res lepih stvari.
To lahko storite vzponi, lahko imate lepo, zaobljenimi robovi, ki jih lahko storite vse vrste stvari
da vaše spletne strani videti bolj moderno in fancy.
>> Naslednja orodje je JavaScript in jQuery ki Ben je govoril nekaj o,
ampak jaz bom malo dlje v.
JavaScript, kot ste delali z njim malo, ali vsaj videti je v predavanju,
je nekako tako dinamično delaš stvari v HTML.
HTML, kot veste, je statična, tako da ko imaš HTML je ne morete spremeniti.
Vendar JavaScript v nekaterih pogledih, je način, da se lahko spremenijo HTML.
Torej, lahko to storite, in to je super, vendar JavaScript res je bolečina delati.
To je tako dolgo in topi in narediti celo najpreprostejše stvari
zahteva veliko vrstic JavaScript.
Torej, jQuery je v bistvu knjižnica za JavaScript, ki poenostavlja vse to.
Piše, v redu, če želite imeti kvadrat prihajajo z leve
in zbledi v stran, tako da je v sredini, v JavaScript, da bi potrebovali -
Ne vem, sto vrstic, da ne, in da bi bilo bolečine,
in prideš ven iz je sovražil vse o spletnem programiranju.
JQuery si v bistvu ima element-dot-fade-in, ali nekaj takega.
Torej, zelo, zelo preproste funkcije, ki vam bo to vse vrste kul animacij
in da takšne stvari.
Druga stvar, ki ti 2 so res dobri za se samo delaš dinamične stvari
s spletne strani.
Torej, namesto da le imajo svoje HTML strani -, ki prikazuje nekatere podatke, vendar dejansko ne
storiti ničesar - JavaScript in jQuery bo pustil imate gumbe, ki jih lahko kliknete na,
in lahko povlečete elemente in ponovno zaporedno jih in jih razvrstite, in imajo nove elemente
dodati ali odstraniti. Dodate lahko brisanje, da se takšne stvari.
Torej, jQuery počne ton kul stvari.
In Vipul dejansko daje seminar o njej danes, menim, da pri 5-uri,
tako da, če lahko ostal tako dolgo, da bi - 5 ali 4?
Štiri. Žal mi je. To je pravzaprav takoj po tem, tako da bi priporočal
vztrajanjem okoli njega, če lahko.
JQuery je super, super koristno, in ne boste mogli storiti veliko res lepih stvari z njim
za precej koli spletni razvoj projekta.
>> Zdaj bom priti v vrsto razlikovanja.
Sem bil v bistvu govorimo o uporabniškem vmesniku.
Uporabniški vmesnik je samo oblikovanje spletne strani.
Ampak tam je nekako še en koncept, ki je uporabniška izkušnja.
Dva sta zelo različni.
Vmesnik je vsekakor del izkušnje.
Z drugimi besedami, ko greš na spletno stran, pogledaš na vmesniku.
To je del tega, kako imate spletno stran.
Ampak uporabniška izkušnja je več kot to.
Uporabniška izkušnja je, kaj vtis, da uporabnik dobi iz vaše strani je.
Torej, očitno, vmesnik je del tega.
In to je vsekakor nujen del, ampak to ni dovolj.
Z drugimi besedami, če imate lepo vmesnik, in to je lepa in barvita in vse to,
to je super, vendar, če uporabnik gre na vašo spletno stran, vidi lepo postavitev in to je zmedel
Vse, nima pojma, kako storiti ničesar, potem je očitno, da si naredil res
slabe strani.
To je neke vrste, kjer uporabniška izkušnja pride noter
Jaz bom govoril nekaj o UX design - UX je okrajšava za uporabniško izkušnjo -
in vrste, kako lahko poskrbite, da imate dobro uporabniško izkušnjo.
Prva točka je, da lahko oblikujete spletno stran, kjer lahko uporabnik storiti ničesar, da
da je uporabnik morda želi.
Ampak, če uporabnik ne more ugotoviti, kako narediti te stvari -
z drugimi besedami, če uporabnik nima dobro idejo, ko gredo na vašo spletno stran, ob
"Oh, če želim, da posodobite svoj profil, potem pa sem kliknite ta gumb, ali pa, če želim, da post na
nekdo zid, potem pa grem na njihovo steno in kliknite na majhno škatlico. "
Če uporabnik ne ve, da je, potem ste dejansko imajo dejansko ne
pravilno izvaja take funkcije.
Del izvedbenih funkcionalnost je, da so uporabniki dejansko lahko uporabili.
In bi bilo neprijetno - morda narediti spletno stran, in to lahko storimo vse vrste
čudovite stvari, potem pa boste imeli ljudje test in rekel: "Prav tega ne more storiti.
Zakaj pa tega ne more storiti? "In boš rekel nazaj do njih,
"No, to je mogoče. Boste morali iti v meniju 7. spustnem o tem nejasna
Stran, ki jo najdemo le s povezavo na spodnjem desnem kotu strani "ali kaj podobnega.
Očitno je, da ne želite, da.
Želite, da bi bilo jasno, da svojim uporabnikom, kaj oni naj bi to storili,
in mora biti enostavna in intuitivna za njih.
>> Druga stvar, ki jo želite, da bi poskušali storiti, je, če nekdo se dogaja, da gredo na vašo spletno stran
in 9 od 10-krat narediti akcijski A, in 1 od 10 krat narediti akcijski B,
boste verjetno želeli, da se osredotoči svoje izkušnje o akcijskem A.
Z drugimi besedami, boste želeli, da bi bilo zelo, zelo jasno, kako to storiti A.
Mora biti na sprednji in center - pojdite na spletno stran, da vidim, oh, saj je prav tam.
Ker so B, seveda hočeš biti jasna, vendar jo lahko pustite malo več
v ozadju.
David daje dober zgled za to v predavanju
ki je sistem Boston T.
Ko greš v Boston T in želite kupiti vstopnico,
moraš priti v 5 menijev, preden lahko dejansko kupijo vozovnice
v vrednosti $ 2, $ 2,50, kar je, koliko traja, da se vozijo s podzemno železnico
v eni smeri.
To je problem, ker večina ljudi, ki se vozijo s podzemno železnico
Verjetno hočejo, da gredo na enem mestu, kupi vstopnico, dobite na desno stran.
To nima nobenega smisla, da so morali iti skozi veliko različnih menijev
do tja.
Boljšo uporabniško izkušnjo bi bilo hitro tipko na prvi strani
da samo pravi, "kupi enosmerno vozovnico," in da bi ob vsem standardom
privzete vrednosti, nato pa, če nekdo želi kupiti drugačno karto kot to,
še vedno, seveda, imajo možnost, da, vendar ste optimizirana za
Primer skupni rabi, ki je res pomembno.
Si lahko ogledate primere tega na Facebook, kajne?
Če greste na Facebooku in želite, da post status,
da je prav na vrhu, ki je tisto, kar pogosto želite storiti.
Takoj, ko vstopite v stran, lahko to storite najpogostejše stvari, ki
želite storiti.
Če želite narediti nekoliko bolj zapletene stvari, kot so,
reči hočem iti na steno mojega prijatelja in objavite sliko na njej -
ki sem ga boste želeli pogosto, vendar ne tako pogosto, kot objavljate posodobitve stanja -
tako da v tem primeru, sem tip svoje ime v polje na vrhu, kliknite na svojem profilu,
, nato pa še, da je prav na vrhu tam ko sem prišel do njihovega profila.
Spet sem optimizirana prednostno za primere, najbolj pogosti rabi.
>> Druga pomembna stvar je, da pogosto ljudje bodo nekako poskušali dobiti okoli tega
z besedami, v redu, tako da sem naredil spletno stran in ljudje so ugotovitve zmedeno,
in to je problem, kajne?
Očitno je, da ne želim, da so ljudje zmedeni vsebino moji strani.
Ampak način za rešitev, ki ne bi imela nekaj pop up rek,
hej, jaz bom naučil, kako uporabljati te spletne strani.
1. korak - kliknite ta gumb. 2. korak - iti tukaj.
Seveda, to je pot okoli njega - to je način, da lahko povem ljudem, kaj storiti, vendar je
res ni optimalen način.
Če grem na spletno stran in nenadoma sem bombardiran s tem vodičem, ki mi pravi,
kaj storiti in kam iti in vse to, to ni zabavno zame.
To ni dobra izkušnja zame.
To je neke vrste bolečine. Želim samo začeti početje stvari.
Ljudje gredo za ukinitev njihovega pogovornem oknu,
ali ven iz vaj, ne vedo, kaj storiti, in potem se pritožujejo zaradi
ste jih nisi povedal, kaj naj naredim.
Način za rešitev tega ni, tako da kakršne koli vaje ali smeri -
kaj podobnega.
Toliko, kot si lahko izognili, si res želite, da se uporabniku prikaže, kaj storiti
samo z naravo, kako je spletna stran določeno.
Z drugimi besedami, če grem na Facebooku, ne da bi pri prijavi,
Prva stvar, ki jo vidim na glavni strani -
je okno za prijavo malo. Torej, duh. Moram se prijavite To je tam.
Ker se, če sem šel na Facebooku in sem imel, da kliknete majhen povezavo na dnu
, ki je dejal, "prijavite" in ostali strani je bila le nekakšen slike ali nekaj takega,
Jaz ne bi zares vedeli, kaj storiti, kajne? Jaz bi bil zmeden.
Torej, bi mi povedal, da gredo tja in kliknite na gumb za prijavo,
ali dnevnik na gumb bi bilo prav na vrhu, kam grem, da ga vidim.
Želite, da se vedno prikazuje uporabniku, kaj naj naredim,
in da bi morala biti neločljivo povezano s strani sam.
>> Ko razmišljate o modelih in oponašanje različne načine
izraža vašo spletno stran, si res želeli, da razmišljajo o tem, kaj uporabniki bodo
se delaš in kako jih lahko pokažem, kaj naj naredim.
Še zadnja stvar je testiranje je zelo, zelo pomembno.
To je super, da bi dobili nekoga - dobil prijatelja, da nekdo ne veste niti -
, ki je nikoli ni videl spletno stran, preden uporabljati spletno stran.
Ker ste delali na gradbišču ur, ste bili strmel v njo,
in boste točno vedeli, kaj naj storijo očitno boste testirali
stvari, ki ste jih delali na in da veste delo.
Ampak, če nekdo pride skupaj in uporablja spletne strani, ki je nikoli ne uporablja pred,
To je edinstveno doživetje, saj imate nekoga, ki nima predznanja
za site dogaja v njej, tako da bomo imeli učinkovito pojma, kaj naj naredim
ali kakšno primerov uporabe so prisotni za njih.
To je super. To je edinstven, ker oni so v bistvu oseba, ki ima prazno mislih.
Lahko vam povem, če je nekaj zmedeno in nejasno.
Lahko vam dam idejo, kaj točno uporabniška izkušnja vaše spletne strani je.
To je lahko zelo težko povedati, da sami, tako da zagotovo bi vas spodbudila
kot ste razvija svoje projekte - če delaš spletnih projektov -
da bi dobili ljudi, ki uporabljajo spletno stran že imate nekakšno funkcionalno demo.
>> Zdaj bom govoril malo o tem, kako upravljati web razvojni projekt.
Šli smo nad tem, kako lahko to storite tehnično back-end strani,
kako lahko oblikujete res dobro spletno stran,
in to je super, če delate sami, ampak -
tudi če delate sami, in še posebej, če delate v skupini,
projektno vodenje postane velik problem.
Vi ste nekako slišali o vodenju projektov v različnih oblikah, od
osnovna šola, ko je bilo rečeno, skupinsko delo.
Boste morali sodelovati, komunicirati, vse to.
Da so vsi še vedno velja tukaj, ampak obstajajo nekatere edinstvene okoliščine
računalništva, ki jih želite, da se zavedajo, in želite, da poskrbite, da boste ročaj dobro.
Jaz bom najprej malo govorim o ekipi, da boste lahko prijavite
To je zelo pomembno, da izberete pravo velikost ekipe, da bodo delali na,
in v svojem zadnjem projektu Mislim, da imate možnost, da izberejo
med 1 in 4 ljudje, če se ne motim.
Hočeš, da poskrbite, da ste ne samo izbiro števila ljudi
da želite delati z, ker oni so tvoji prijatelji.
Želite izbrati ekipo, ki je dobra velikost in da bodo dobili delo opravljeno.
Tam je kompromis, da ima več ljudi v primerjavi z manj ljudmi.
Če imate več ljudi, lahko seveda več dela je treba narediti
ker imate veliko ljudi, veliko kode, veliko idej,
in to je vse super.
Vendar pa zahteva tudi veliko več upravljanja in veliko več komunikacije.
Z drugimi besedami, če imate 4 ljudi, ki delajo na istem projektu
in oni so vsi urejanje isto kodo, bolj ali manj so vsi nekako morali vedeti
kaj se dogaja, tako da od vas zahteva, -
če ste dodali nekaj novih funkcij boste nekako morali povedati ljudem - Jaz sem dodal to,
Jaz sem to spreminja na ta način - še posebej, če prideš v res globoki stvari
kot so modeli in nadzorniki, ki bodo dejansko vplivali na kako stran deluje.
Celotna ekipa se mora zavedati tega,
tako da boste morali, da poskrbite, da ne boste izbrali preveliko ekipo, ki se bo težko
da bi to komunikacijo.
Prav tako ne želim, da izberete dovolj majhna ekipa, ki si ne bo
biti sposoben komunicirati, saj si samo ti.
>> Druga stvar, da razmisli je stanje, kjer so sposobnosti ljudi.
To je super, če ste vsi res dobri programerji.
Ampak, če ste vse back-end ljudi, potem je vaša stran ne bo videti zelo dobro
ker imate to veliko zbirko podatkov, in to počne super-hitro iskalnih poizvedb -
kar je super - ampak ko greš na to, da je kot mesto z 1990 rdeči in modri barvi
povsod, in to ni dobro niti.
Opazimo, da sta Ben in sem delati kot ekipa zelo lepo, ker sem nekako bolj
V sprednjem koncu, smo oba povezana v srednjem koncu, in Ben je res dobro z back-end stvari,
tako da deluje zelo dobro, saj lahko načrtujemo koli mestu in v bistvu luknje
V tem mestu, ki jih je treba zapolniti mogoče zapolniti z enega od nas, ali morda oboje.
Hočeš, da poskrbite, da ne obstajajo luknje v svojo ekipo.
To je v redu, če obstaja malo prekrivajo.
Z drugimi besedami, če imate 2 ljudi, ki so tako dobri z zadnjega konca,
da je lahko dober tudi zato, ker lahko pomagajo drug drugemu s težavami
da se ob.
To je lahko problem, če imate samo 1 osebo, ki je odgovoren za določeno stvar
in jih vodijo v težave, tako da vam želijo imeti malo prekrivanja
vendar pa je najpomembnejše želite zagotoviti, da so vse možne luknje napolnjene.
>> Zadnja stvar - in to bi moralo biti jasno, je pa pogosto ni.
Si res želite, da se zabavaš.
Bistvo te končni projekt v CS50 in pogosto točka spletnega razvoja na splošno
ne samo to delo, saj potrebuje početje.
Si res želite, da se zabavajo, in želite, da se kar nekaj
da te ne motivira za delo na njej.
Če karkoli delaš, je bolečina usesti in delati,
potem ne boste izbrali pravo projekt.
Hočeš, da izberejo nekaj, da boste našli zanimivo,
si res želite videti rezultat, ste navdušeni, ko ste dobili novo idejo o
nekaj, kar bi lahko naredil - tako da je vse vrste projektov tam, da sem prepričan,
lahko najdete - vsakdo ima nekaj, kar bi jim res spletke
če delaš spletno projekta.
Jaz bom rekel še enkrat prav zdaj.
Če je vaš projekt, kot se zdi bolečine in ne želite delati na tem,
izberite drug projekt. Izberite nekaj, kar vas resnično navdihuje.
>> Ben omenil ta koncept ponovitve malo, in želim, da gredo nad njim malo.
To je res pomembno, da se delo v spurts, kjer si pridobijo nekaj funkcionalnega.
To je lahko super, če imate to načrt za spletno stran, ki bo storil A, B in C,
in na koncu bomo prišli tja.
Ampak si zaljubljen v to fazo, v kateri delate na njem in dela na njem,
ampak nič ni dobro opravljeno. Nimaš kaj za videti in oprijemljiv, funkcionalno stvar.
Kaj si resnično želite narediti toliko, kot se zdi vrste bolečine včasih
delati na nečem, nato pa nekako tako pokrovček, tako da je vsaj stabilen, teče
Različica, tudi če nima vseh funkcij, ki jih želite.
In morda obstaja nekaj lastnosti, ki si res želijo dodati, vendar si ne more
zato, ker želite, da bi dobili te strani, da v funkcionalnem smislu.
In tako si želim, da nekako imeti celoten proces razvoja izgledati.
Hočeš, da nekje funkcionalno začetek - ali v bistvu začeti z nič -
vendar si želim, da bi dobili nekje zelo osnovna in funkcionalna.
In potem spet, da neke vrste skok in priti spet nekje funkcionalna.
Boste počasi zgraditi, in to bi lahko šlo malo počasneje, kot bi se sicer,
ampak na dolgi rok, če ste nenehno zaljubljen v ta srednji fazi tleh, kjer si
dejansko ne imeti nič dela, je lahko res veliko razočaranje
za delo na projektu, ker si vedno tako blizu, da bi jo delajo,
in to je v resnici sploh ne deluje.
Želite delati v teh funkcionalnih spurts,
in tudi vi želeli narediti nekaj razmislek po vsaki.
Z drugimi besedami, ko ste na točki, kjer je spletna stran zdaj delajo -
nima vse, kar vam je všeč, vendar pa nekatere stvari -
si želeli, da razmišljajo, v redu, je to mesto uresničevanju cilja, da sem določen, da naredim?
Z drugimi besedami, če stran je storil X, je tisto, kar sem delal v smeri X?
So vse funkcionalnosti, ki sem jih želela tam?
In poleg tega, ki služi splošni namen, ki ga želim?
Če ste ugotovila, da je vaša stran se začne zavijati v drugo smer
ali pa se stvari nekako ne delujejo, je morda čas, da prestavljanje malo.
Z drugimi besedami, to je vredno premisleka - to je vredno mečejo ven ideje, če je potrebno
in če upoštevamo sem res prizadeva za tisto, kar hočem biti.
>> Menim, da je moja naslednja točka. Ne bojte se, da opusti zamisli.
Samo zato, ker ste porabili veliko ur dela na funkcijo
in končno dobil delajo, ampak to res ne gre tako dobro -
kot da je ni, da je koristno, ali uporabniki, ki imajo težave z njegovo uporabo - take reči -
ne bojte se, da ga vrgel proč.
To je zanič, da ste porabili veliko časa delam na tem,
toda na koncu ne želite stran, ki je nekako skupaj s temi deli, ki
vrsto dela, vendar se ne da dobro služil.
Prav tako ne bo strah sprejeti nove ideje.
Če nekdo pride in reče, hej, da spletna stran izgleda res kul, ampak
Ne bi bilo celo super, če pa tudi to naredil?
Samo zato, ker je to nekaj, kar si ni želel, in nekaj, kar ni v tvoji
očala, nekaj, kar niste določeno storiti,
Ne bojte se, da jo prevzame, nato pa delo z njim.
Ker pogosto ideje, ki jih vodijo v celotnem poteku razvoja
na koncu pa je res kul funkcije na spletni strani.
>> To sem že povedal. Jaz bom rekel še enkrat.
Izpraševalec so super, super uporabna.
Poskusi, da bi dobili ljudi, ki še nikoli niso videli mesta, preden se prijavite in videli, kaj se dogaja
saj lahko preizkusite ne le uporabnost spletne strani in uporabniške izkušnje,
vendar pa lahko tudi test funkcionalnosti na način, da ne morete.
Če naredite nekaj funkcijo, ki počne neko stvar
in veš, da se bo to naredil isto stvar bi pravilno vsak čas, to je super.
Vendar pa lahko pogosto težko, da se upošteva kotiček primerih, ko uporabnik morda
vnesite nekaj, kar nisi pričakoval - ravno zato, ker si je opredeljeno
Značilnosti sami.
Tako, da ima nekdo prišel na to, kdo nima pojma, kako uporabljati spletno stran
in da ga le prekinil v kakršni koli načini lahko storijo, je res koristno, saj vam
dobili idejo iz povsem drugačne perspektive, kar na vašem mestu deluje
in kaj je potrebno popraviti.
>> Zadnja, bom govoril o nekaterih splošnih dobrih praks,
in videli ste veliko teh v CS50, vendar pa tudi res, res se uporabljajo v okolju projekta.
Ena je pripombe. Vedno komentirati kodo še posebej, če delate na veliki ekipi.
To je lahko tako siten, da imajo le ogromen blok kode, da je nekdo napisal
in morda deluje, morda ne, ampak nimate pojma, kaj počne,
tako da nimam pojma, ali je to koristno ali ne, oziroma ali bi moral biti tam ali ne,
in če delate na nečem drugem, da je sploh možno, da delate
ista stvar, zato bodi zelo, zelo previden, da se obzirni svojimi vrstniki
in pisati kodo, ki je dobro dokumentirana.
Vam ni treba iti tako daleč, da stori vse skupaj, kadar je všeč, če prirastek
Števec imajo komentar, ki pravi, sem dodal 1 do tega števca.
To ni nujno, da se da podroben, toda za katero koli funkcijo, ki ste že kdaj pisala
boste morali imeti nekaj dokumentacije, kaj je funkcija točno počne,
kakšne so njegove vhodi so, in kaj bi bilo, da se vrne.
Na ta način lahko uporabite druge komponente ljudi iz mesta
in si lahko prizadevajo za izgradnjo nekaj velikega.
>> Druga pomembna stvar je, ki jo želite storiti redne čiste-ups.
Koda postane grdo. Ne počutim slabo, če je vaša koda samo popolnoma neberljiv in velikan nered.
To se zgodi v razvoj spletnih strani vedno.
Dodajate nove funkcije, odstranite stare. Stvari se bodo tam, da ne bi smelo biti.
To je v redu, vendar želite, da poskrbite, da se ukvarjajo s tem redno.
Vi ne želite, da pustite, da zgraditi do točke, kjer si ne more najti ničesar
v kodi, in nimate pojma, kaj vse počne.
To velja za HTML.
Včasih boste na koncu s predmeti, ki ne vsebujejo ničesar,
in boste želeli, da se znebite njih.
V CSS, lahko se nanašata na elemente, ki jih ni več tam,
tako da boste želeli, da se znebite tega zakonika.
V JavaScript, ste morda odstranili nekaj iz HTML.
Torej, želite, da se prepričajte, da ste vedno čiščenja, ki stvari precej
toliko, kot si lahko na redni osnovi.
>> Še ena zelo uporabna stvar, ki mislim, da ne, je opisan zelo v CS50
vendar je vredno pridobivanje v je nadzor različic.
Ideja za nadzor različic je, ko ste v bistvu sledenja vsem napredku
ste naredili do vaše spletne strani, in če na kateri koli točki se zavedaš, oh, to je delal
pred časom, vendar to ne deluje več, lahko greš nazaj v prejšnjih različicah
in videli, kaj se je spremenilo od takrat in podobne stvari.
Primarni način za to je z Git in Git je ves ta oblika sistema, ki
Prepričan sem, Tommy MacWilliam dal seminar o preteklem letu.
Če greste v CS50 seminarjev za leto 2011, si lahko ogledate njegov seminar o tem.
Ideja Git je v bistvu, da v rednih časovnih presledkih, da delaš te zaveze
ki so načine rekel, stran je v precej stabilno različico zdaj tako
Jaz sem ga embalaže in jo poslal stran na strežnik, nato pa lahko greš na ta strežnik
in pogled na vseh prejšnjih različicah kodo in videli, kako je napredovala
in vse to nekako dobrih stvari.
Tako, da je v bistvu to.
Kolikor spletni razvoj, smo veseli, da se držijo okrog in odgovorili na vsa
Vprašanja kolikor naši predstavitvi.
To je to. Hvala. >> [Ben] Hvala.
[Ploskanje]
>> [Billy] Osebje, ali ima kdo kakršna koli vprašanja o stvareh, ki smo jih pokriva
ali stvari, ki jih ne zajema, da so bili v upanju, da bova kritje?
Mi bi z veseljem odgovorili na tiste. Kdorkoli?
[Občinstvo član] Kakšne so prednosti in slabosti z uporabo Ruby ali z uporabo Python?
[Ben] vprašanje je bilo, kaj so prednosti in slabosti z uporabo Ruby ali Python
namesto da bi tako kot PHP.
Prednosti so, da so Ruby in Python veliko boljše jezikov, kot so PHP.
Vsaj po mojem mnenju, in mislim, da v veliko mnenj drugih ljudi, kot dobro.
Bili so zasnovani bolj za to kompleksno stvari,
in manj za zelo hitro pretepanje skupaj spletnih strani z
malo dinamične vsebine.
Zaporniki so, da obstaja malo - tam je več kot krivuljo učenja
da se jim ustanovi.
To je, tako kot v PHP, lahko samo še datoteko HTML in pišete manj kot,
question mark, nato pa napisati nekaj kodo in nato pišete vprašaj,
večja, kot, nato pa ste končali.
V drugih jezikih, kot so Ruby in Python,
moraš iti skozi malo več dela, da bi dobili začetno stran teče.
Tam je tudi - vsaj nekoč veljalo - da obstaja več dokumentacija
na voljo za PHP samo zato, ker obstaja več ljudi, ki ga uporabljajo.
Mislim, da to ni toliko vprašanje več.
Tam je zagotovo zelo dobra dokumentacija za stvari, kot so Ruby na tirih
ali Django za Python je enakovredna.
PHP je ena, da vsakdo je bil z uporabo za let, in veste, kako to deluje.
Ruby in Python so malo manj zrele.
>> [Občinstvo član] Če bi izbirali med enim od njih, da se naučijo ali pick up,
ki bi raje?
Iskreno, mislim, da je odvisno od posameznika.
Žal mi je. Vprašanje je bilo, kaj bi izbral za nekoga, da se učijo?
Se mi zdi Python najlepše osebno.
Obstaja veliko ljudi, ki - sem naredil moj prvi spletni projekt dev v Python in Django.
Obstaja veliko ljudi, ki imajo radi Ruby na tirih tudi.
Verjetno več ljudi, ki vedo, Ruby na tirih.
Iskreno, jaz bi samo pojdi s tistim, kar so ljudje okoli vas vedeli
tako da imate ljudi, da postavljajo vprašanja.
>> Vprašanje je bilo - na skupnih strežnikih, je nekako težko delo na Python?
To je odvisno od vaše gostovanje.
Obstajajo številne spletni gostitelji, ki bodo objavili Python stvari.
WebFaction počne to, kajne?
WebFaction je tista, ki so Billy in jaz se uporabljajo za nekatere projekte.
Oni so res super. Ki jih podpirajo večino jezikov.
Je pa res, da je PHP veliko bolj široko podporo.
Torej, če ste obtičali na spletni strežnik, ki ne samo, PHP, da je to dober razlog za uporabo PHP.
>> [Občinstvo član] Pravkar sem dobil v učenje, kako se pozanima nekaj podatkovnih baz,
in vem, da moj SQL je po vsem mestu, ampak pred kratkim sem bil izpostavljen -
in jo je poudaril. Vidiš JSON in razširljivih baz podatkov.
Moj SQL je še vedno po vsem mestu. Kako vidite, da dogaja?
Se tam dogaja, da je naraščajoča tendenca, bolj razširljiv (neslišno)?
Vprašanje je - jaz mislim, da se dogaja, da se trend podatkovnih baz non-SQL.
Na primer, kot MongoDB. Mislim, da je vsekakor res.
Moj nasvet je povezana predvsem z mySQL-tukaj samo zato, ker je mySQL
industrijski standard.
Osebno imam veliko raje podatkovnih baz, ki nimajo schemos kot MongoDB
kadar nimate vprašanje, oh, moram dodati še en stolpec.
Gorje mi, tako kot karkoli storim?
To je zelo težko narediti, da na MySQL, ampak ko imaš nekaj podobnega Mongo
to je veliko lepše.
Drugo lepo stvar o Mongo je, da so vaši zapisi dejansko JavaScript predmeti.
Ni nekako korakom predelave, kjer boste morali vzeti te vrstice baze podatkov
in jih spremenili v JavaScript predmeta, nato pa jih pošljete preko žice.
Mislim, da stvari, kot da se bo zelo, zelo uporaben za hiter razvoj spletnih v prihodnosti.
>> [Billy] Nekaj ​​bi dodala, ki je samo na splošno je, da
Ne počutim se, kot bi si se naučil vseh jezikov, smo razpravljali
iz našega seminarja.
Očitno Bistvo je, da bi vam idejo o tem, kaj je tam zunaj,
in če ste spletka s katero od stvari, ki smo jih omenil, da jih lahko Google
in bral o njih.
In kot sem že omenil, obstaja nekaj seminarjev, ki se ukvarjajo z natanko temi stvarmi.
Obstaja tudi več seminarjev, ki jih danes nisem omenil, da je verjetno dobil v
te stvari, kot dobro.
Ideja je, da tukaj, če želite delati kaj orodja so vam na voljo.
Ne počutite preobremenjeni, če niste zares prepričani, kaj ta orodja storiti točno to,
ampak vem, da si tam in da si lahko v veliki meri uporabljala od njih
Google.
>> [Občinstvo član] Kakšne stvari si morate storiti, da poskrbite, da vaše spletne strani
izgleda dobro na mobilnih napravah?
[Billy] Mobilne naprave so malo težko.
Tukaj je 2 načinov, kako lahko pristop.
Prvi način je, da dejansko imajo mobilno spletno stran.
Z drugimi besedami, ko opravlja neke vrste odkrivanja na začetku
ko je brskalnik, ki vloži zahtevek na vašo spletno stran, ki se bodisi pravi
vrniti to stališče - ki bo pogled na namiznih ali prenosnih brskalnikih -
in ta drugi pogled za mobilne naprave.
To je kraj, kjer so pogledi res lepo, da lahko precej swap
dve ven in vmesnik, ki deluje zelo lepo na mobilnih napravah
in imajo povsem drugačen enega, ki dela lepo na napravah brskalnika.
Problem pri tem je potrebno veliko časa, ker to pomeni kodiranje
popolnoma drugačen vmesnik.
Drug način, da lahko to storite, je -
Veliko sodobnih telefonov bo prikazal spletne strani in jih poskušati postane kot bi brskalnik,
in po svojih najboljših močeh.
Lahko nekako poskusite ostati luč na višini jQuery JavaScript, ki ga uporabljate
, ki kaže, da je tam, kjer gredo stvari lahko narobe malo.
To je nekako tako, kot bi morali uporabiti, če nimate toliko časa.
Če imate čas za delo na mobilni vmesnik, ki je seveda najboljša možnost.
>> Mislim, da na splošno za CS50 projekte, boste želeli izbrati eno ali drugo.
Z drugimi besedami, boste želeli, da bi mobilno aplikacijo ali pa želite, da spletne strani namizja.
In to nekako določa, kam greš s tem.
Toda, če želite, da jo razširite kasneje, verjetno najboljša stava
narediti še vmesnik za drugega.
Imam malo izkušenj pri razvoju mesta, ki temeljijo na WordPress.
I gostil osebne spletne strani na WordPress za nekaj časa.
Te vrste okvirjev lahko lepo prav tako zelo osnovne stvari.
Pogosto boste le naletite na veliko vprašanj, prilagodljivost vmesnika, čeprav.
Boste želeli, da imajo nekaj pogledati na določen način, ali je določen način
in si ne morem, ker je težko žično v sistem, da
to je, kako moraš delati stvari, ki se lahko malo problem.
Od takrat sem nekako bili bolj nagnjeni k delu z mesta od tal navzgor.
Za stvari, kot so blog baz podatkov in take stvari pa res ni tako težko zgraditi okvir.
Če ste res raztegne za čas, lahko seveda uporabite nekaj podobnega WordPress
ali nekaj v tem stilu za blog.
So vrste stvari, ki blogi trgovina in ne v resnici niso dovolj močno, da
Če delate v katerem koli od teh vrst stvari, ste verjetno najbolje, samo da bi
narediti in-house različico.
>> Mislim, da je o tem, zato še enkrat hvala za obisk.
Smo res užival v pogovoru z vami in upam, da ste se naučili nekaj stvari.
[Ben] Mi smo veseli, da govori - moramo iti, vendar smo zadovoljni, da več govoriti zunaj
če imate kakšno vprašanje. Hvala še enkrat. [Ploskanje]
[CS50.TV]