[Powered by Google Translate] [Seminar] [Web Development: Ideasta Täytäntöönpano] [Ben Kuhn] [Billy Janitsch] [Harvardin yliopisto] [Tämä on CS50] [CS50.TV] [Billy] Hei, olen Billy ja tämä on Ben. >> [Ben] Hei. Aiomme puhua web-kehitystä tänään. [Webdev] [Billy Janitsch ja Ben Kuhn] Vähän siitä ensin. Ben on eräänlainen back-end kaveri. Hän tekee asiat toimivat. Ja sitten menen ja tehdä niistä kauniita. Olen pitkälti mukana enemmän etupään ulkoasun suunnittelu semmoista, ja Ben, toisaalta, tietää mitä hän tekee niin hän toimii back-end kamaa. Yhdessä olemme tehneet muutamia asioita. Esimerkiksi viime vuonna olemme työskennelleet Gimblium joka on nettipeli Development Studio. Se oli meidän lopullinen hanke luokka, ja siitä lähtien olemme tehneet Harvardin luokka joka on online-kehys selailu ja ostokset kursseja Harvardin. Aiomme aloittaa tämän ajatuksen sivuillamme. Aiomme tehdä Facebook, mutta kissoille. Ennen varsinaisen tehdä tällä sivustolla, älä tee tätä verkkosivuilla, koska se ei ole hyvä, mutta käytämme sitä kehyksenä ja käydä läpi prosessia, miten idean toteuttamisessa ja muuttaa sen realin verkkosivuilla voimme käyttää. Aloitamme rikkomalla verkkosivuilla alas. Kuten olet tekemässä CS50, haluat miettiä, mitä ovat todellisen komponentit, jotka menevät tällä sivustolla. Periaatteessa kääntämällä se ajatus, joka on vain eräänlainen abstrakti käsite aidoksi, konkreettista, jota voisit tehdä. Aloitamme kysymällä muutamia kysymyksiä. Mikä on tällä sivustolla? Miksi me tehden? Mitä se aikoo käyttää? Sellaista. Kun kyseessä on Facebook Kissa, me pohjimmiltaan haluamme verkkosivusto, jonka avulla kissat sosiaalisessa mediassa keskenään. Ajatuksena on, että he voivat lähettää toistensa seinät, he voivat tehdä huomautuksia, että sellainen asia. Ja se jos pääsemme toimivia komponentteja. Meillä on nyt tällainen puitteissa - meillä on käyttäjäprofiilit, meillä on kommentteja, ja voimme lähettää. Ehkä jonain päivänä me menevä tykkää ja sen sellaista. Ja me tavallaan haluamme priorisoida nämä ominaisuudet menossa sisään Haluamme sanoa kuin, okei, se on todella tärkeää, että jokaisella on profiilin ja että jokainen voi lähettää toistensa seinät. Toissijainen, että kommentit olisi mukavaa. Ehkä myöhemmin me menevä tykkää. Joten, haluat olla käsitys siitä, mitä toiminta on tärkeää projektin ja mikä on tavallaan yleisempi piirre, jota voitaisiin soveltaa myöhemmin. Haluat tavallaan on erityinen lista mielessä, mutta hanke, että aloitat ei tule olemaan projektiin, jonka lopuksi. Toisin sanoen, asiat tulevat muuttumaan, kun olet kehittämässä sivuston, ja haluat jättää tilaa että. Laitan sen yli Ben kuka puhua vähän siitä rakenteesta. [Ben] aion puhua enemmän teknistä puolta web-kehitystä. Mennään yli joitakin perusasiat ensin. Kun teet web app, pääluokan, että olet menossa on oltava on olet menossa on joitakin juttuja meneillään asiakkaan puolella - eli koodi, joka olet selain vie sivustosta ja JavaScript, HTML, CSS kamaa. Siinä kaikki asiakkaan puolelta. Olet menossa on muun koodin, joka toimii palvelimen puolella joka pitää kirjaa kaikista tiedoista, että ihmiset lähettää sinulle, päättää, kuka antaa mitä, tavaraa niin. Tämä on vain joitakin terminologiaa niin, että te kaikki tunnemme, mitä puhumme. Beyond että jako on hyvä ajatella verkkosovellukseesi kannalta pari erillistä tekijää. Kun olet tekemässä web-kehitys yksi niistä asioista, joita sinun pitäisi aina yrittää tehdä on vähentää monimutkaisuutta. Monimutkaisempi koodi on paremmat mahdollisuudet sillä on tehdä virheitä, vaikeampaa on muuttaa myöhemmin. Joten, jos voit hajottaa teidän app osaksi joitakin erillisiä toiminnallisia alueita että tulee - ja voit vähentää sellaista määrää rajat alueen viestintä - jotka auttavat sinua paljon pitkällä aikavälillä vähentämisen kannalta vikoja. Oltava konkreettisia, yleensä ihmiset jakaa web app osaksi - nämä ovat sellaisia ​​Buzz sanoja nyt, mutta he ovat silti hyödyllisiä. Olet ehkä kuullut puhuttavan malleja, näkemyksiä ja ohjaimet. Mallit ovat todelliset tiedot, että sovellus on menossa käsitellä. Esimerkiksi kissan Facebook, omia malleja olisi - sinun on malli, kuten virkaa, ja malli käyttäjäprofiilit, tavaraa niin. Mielipiteitänne miten esität että tiedot käyttäjille. Saatat olla 1 näkymä katsot yhden viestin ja kaikki kommentit ja eri mieltä teidän seinä, joka on luettelo kaikista viestit jotka on suunnattu sinulle, ja eri mieltä teidän uutissyöte - tavaraa niin. Lopuksi, sinulla on ohjaukset, jotka ovat pohjimmiltaan kun ihmiset lähettää sinulle viestiä ja teet päivityksiä back-end-järjestelmä, voit kasvattaa kasan laskurit, ja mitä. Nuo ovat teidän ohjaimet. Aion puhua enimmäkseen malleja. Näkymät ovat teknisesti ole kovin vaikeaa, ja kysymys on enemmän suunnittelemalla ne Ohjaimet tulevat olemaan nimenomaan mitä olet suunnittelussa. Mutta on olemassa joitakin melko yleisiä tekniikoita voit tehdä omia malleja mukavampi ja helpompi työskennellä, jotka ovat mielestäni erittäin hyödyllisiä. Tämä on enimmäkseen olemaan noin miten käsitellä Web-sovellukset tietojen mukavalla tavalla. Tärkeimmät kysymykset malleja ovat, että he elävät asiakkaan ja palvelimen ja sinun täytyy selvittää, a) miten saada heidät - kaikki merkityksellisimmät - palvelimelta asiakkaalle, ja b) miten pitää ne ajan tasalla. Käyttäjät ovat menossa haluavat tehdä joitakin päivityksiä. He haluavat tehdä uutta virkaa. He haluavat haluavat asioita ja juttuja, jos sinulla on tykkää. Nämä ovat tärkeimmät tekniset haasteet käsitellä malleja. Ensimmäinen asia, että olet menossa haluavat kysyä itseltäsi millaisia ​​tietoja menee tässä mallissa ja millaisia ​​kyselyitä aiomme halua tehdä - Eli miten me menossa katsomaan malleja? Kissallesi Facebook esimerkiksi viestisi tulee olemaan tekijä liittyy siihen, Joissakin seinä viesti tekstiä, ja vastaanottaja seinän postitse. Ja sinun kannattaa kysellä, että joukko eri tavoin. Haluaisi katsoa sitä joka kirjoitti joka postitse mennessä, jotka saivat joka lähettää, ehkä mennessä ne ovat jättäneet. Mutta jos aiot tehdä sen päivämäärän, sinun täytyy lisätä toisen kentän viestiäsi ja kun se oli todella lähetetty. Nämä 2 tekijät - mitä tietoja haluat käyttää ja miten haluat katsella sitä - sinun pitäisi ajatella niitä ensin, koska ne riippuvat toisistaan, ja se tulee olemaan vaikeampi lisätä ne myöhemmin. On joitakin muita näkökohtia. Kun olet ajatellut, miten käsitellä mallit palvelimella mitä haluat tarkastella on - et periaatteessa haluat tehdä palvelimen mahdollisimman yksinkertainen. Doing tavaraa asiakkaan puolella on yleensä paljon nopeammin, jos voit tehdä sen puhtaasti asiakkaan tekemättä minkäänlaista verkon pyynnöstä. Ajatuksena on tehdä niin monta kyselyt kuin voit asiakas. Ainoa ongelma, että on, että jos pyydät kaikki tietosi alussa niin se vie kauan ladata. Niin, idea on löytää kultainen keskitie välillä ottaa tarpeeksi tietoa asiakkaan että voit tehdä useimmat teidän työtä siellä, mutta ei vain hakemalla kaikkea kerralla niin että saat todella hidas latausajat alussa. Esimerkiksi oman kissan tiedot olet luultavasti halua hakea nippu viime seinän virkaa. Et halua hakea niitä kaikkia, koska se voisi mennä takaisin pari vuotta. Mutta et halua hakea ne yksi kerrallaan koska se toisi paljon verkon yläpuolella. Se on usein varsin vaikeaa - kun sinulla on tietokanta käynnissä - se on usein melko vaikea muuttaa, mitä tietoja teillä on se - eli lisätä uuden tietokannan sarake tai jotain - joten yksi hyvä strategia on oikeastaan ​​vain pitää paljon tietosi teksti möykky - JSON möykky - JSON on JavaScript Object Notation - Syystä, että on hyödyllistä, koska voit lisätä uusia ominaisuuksia Kaikkien näiden JSON läiskä muuttamatta tietokannan. Ainoa haittapuoli, että on, että jos sinulla on nippu kentät että olet lisännyt myöhemmin - kuten piilossa että JSON möykky - niin se on vaikeampi kyselyn ne sisällä tietokantaan. Esimerkiksi jos myöhemmin - jos sinulla on ollut viestisi malli, puhuimme aiemmin vain tekijän, vastaanottajan ja teksti - sinulla voisi olla myös JSON möykky ja sitten jos myöhemmin halusi lisätä päivämääräkentän sinun ei tarvitse vaihtaa tietokantaan. Voisit vain lisätä päivämääriä kaikkiin kenttiin. Ja sitten sinulla olisi mahdollisuus tarkastella niitä asiakkaan puolelta, mutta et voi kysellä niitä palvelimen puolella koska se on piilossa sisällä kyseistä tekstiä. Toinen asia, jonka haluat ajatella on, miten asiakas ja palvelin ovat menossa kommunikoida. Te yleensä haluavat pitää tämän mahdollisimman yksinkertaisena. Voit vain olla kuten get-me-Näiden tietojen pyynnön, Create-a-new-objektin asia, ja päivitys-vanha-objekti pyynnöstä. Ja nämä olisivat kaikki eri URL palvelimella, että olet - että selain olisi - voit käyttää AJAX pyyntöjä kaikki nämä ja joko saada tai postitse tietoa. Jälleen meidän Cat Facebook esimerkiksi sinulla voisi olla, että URL saada yksittäisen postitse ja sinun on URL luoda uuden seinän viesti ja ehkä URL lataamalla profiilin kuva, tavaraa niin. Mutta jälleen kerran, se on ennalta noutaa useimmat tietosi, jotta sinun ei tarvitse pitää tekee verkossa esitettyihin pyyntöihin. Tästä syystä et ehkä halua olla, että yksittäiset GET pyynnön yhden postitse ja sen sijaan olisit vain halua 1 saat pyyntö koko seinän. Ja sitten jos yrität löytää tasapaino, koska - tämä on myös menossa riippuu hakemuksesi. Koska jos olet odottanut, että ihmiset vain ovat 10 tai 20 viestiä vieraskirjassa että on hieno. Mutta jos olet odottanut he ovat tuhansia niin, että pyyntö kestäisi liian kauan, ja niin saatat haluta lisätä saada-kaikki-viestit-vuodesta parametri. Kaikista näistä olet todennäköisesti menossa halua synkronoida tietoja JSON - JavaScript Object Notation. Melkeinpä jokainen kieli käsittelee JSON hyvin. JQuery on tämä mukava getJSON toiminto, joka tekee kaiken työn puolestasi. Ja PHP siellä on myös erittäin mukava JSON vuorovaikutustoimintoja. Niin, se on luultavasti paras formaatti lähetät malleja edestakaisin. Esimerkkinä siitä, mitä olemme puhuneet toistaiseksi, tässä esimerkki virtaus kissallesi Facebook-sovellus. Se alkaa selaimen pyytävän pohja sivuston URL. Palvelin luultavasti lähettää staattinen HTML ja JavaScript-ja CSS. Se on yleensä parasta olla tekemättä mitään renderoivansa palvelimelle. Et luultavasti halua - mitä palvelin ei tee siellä on menossa alaspäin luettelo viestiä vieraskirjassa ja tuottaa jonkin verran HTML jokaiselle ja lähettää että yli. Se on yleensä parasta tehdä, että asiakkaan puolelta, koska muuten aina kun haluat uudelleen tehdä jotain, sinun täytyy tehdä palvelimelle pyynnön. Ja että hyvin nopeasti antaa sinulle paljon yläpuolella. Se on yleensä parasta vain aluksen lähettää alas staattinen HTML ja sitten JavaScript-ja CSS, joka tekee tekee asiakkaan puolelta. Heti että tavaraa tulee, niin voit olla - JavaScript - voit tehdä pyyntöjä seinään tiedot ja muuta vastaavaa, jonka jälkeen palvelin on pohjimmiltaan juuri tekemässä tietokantakyselyitä ja tarkistaa käyttöoikeudet. Ainoa tärkeä asia on, että se ei voi lähettää yli toiset käyttäjät seinä viestiä että et saa nähdä. Se voi periaatteessa olla hyvin ohut pääsy kerros tietokantaan, ja sitten kaikki näyttää tiedot - kaikki näkemykset ja tavaraa - niille voi tapahtua selaimessasi, ja sitten kun haluat tehdä postitse tai jotain et vain lähettää toisen pyynnöstä. Mukana on myös joitakin hienoja juttuja voit tehdä tämän päälle. Mitä tarkemmat tekniset tiedot, kehittymässä tavallinen JavaScript voi olla hieman kivulias, joten joitakin kirjastoja ja työkaluja, jotka auttavat sinua paljon sen kanssa. Mielestäni te kaikki olette varmaan kuullut jQuery mikä tekee HTML-mallinnus ja manipulointi paljon helpompaa - on paljon hienoja toimintoja hiipumassa sisään ja ulos, ja tekee pirteä animaatioita. Mukana on myös tätä kirjastoa kutsutaan Underscore.js. Se on paljon hyödyllisiä apuohjelmia, kamaa, että voit odottaa JavaScript on että se todella doesnt - asioita, kuten laahustavat array, poistamalla päällekkäisiä luettelosta tai madaltumista luettelo luetteloista. Tämä on vain pieni koodi näyte. Alaviiva on ton nämä mukavia toimintoja, joita haluat sinulla olisi koko ajan. Ja sitten on vielä 1 kirjasto, että haluaisin viettää hieman aikaa nimeltään Backbone.js koska selkäranka todella auttaa käsittelemään mallit asiakkaan puolella ja paljon sekaannusta, että se voi aiheuttaa. Selkäranka saat tämän käsitteen malleja ja kokoelmat JavaScript jotka ovat periaatteessa aivan kuten JavaScript esineitä JavaScript taulukot, mutta ne ovat tapahtumia, kun muutat niiden ominaisuuksia. Aivan kuten JavaScript, voit olla tapahtuma, kun nappia saa napsautetaan tai jotain Näiden Backbone malleja ja Backbone kokoelmien tulee lähettää asioita, kuten että kun ne muuttuvat. Tämä tarkoittaa, että voit vain kirjoittaa jotain tällaista koodinpätkä täällä - tämä kertoo, kun lisäät mitään virkaa array voit piirtää koko seinän. Ja tämä sanoisi aina Postin useita tykkää muuttuu, voit ilmoittaa käyttäjälle, että joku piti heidän postitse. Tai aina kun omaisuutta post muutoksia olet piirtää postitse. Tavaraa niin säästää tonnia monimutkaisuus koska muuten jos sinulla ei ole joitakin puitteissa näin sitten joka kerta koodissa että muutat mitään postitse, sinun täytyy muistaa itse soittaa kaikki tekevät toiminnot ja muuta vastaavaa, ja jos halusi lisätä jotain uutta, joka tapahtui joka kerta, kun muutetaan post sinun täytyy käydä läpi joka paikassa omassa koodia, jota muutettu virka ja lisätä, että uusi asia. Puitteet näin poistaa paljon, että välillä kerroksen viestintä joka tekee koodin monimutkainen ja vaikea ylläpitää. On hieman siitä näkymät myös. Aion jättää suurimman osan tämän Billy koska he ole teknisesti kovin vaikeaa. Käytä jQuery mielipidettäsi. Se on käytännössä kuin välttämättömyys tässä vaiheessa. Se vain tekee kaiken niin paljon helpompaa. On olemassa paljon kirjastoja. Jos olet monimutkainen käyttöliittymä elementtejä, jos haluat automaattinen täydennys asia tai kuin yksi niistä fancy multi-valitsimet - jos haluat jotain sellaista, sinun pitäisi luultavasti vain etsiä ympäri ja voit löytää hyvä kirjasto, joka tekee mitä haluat. Billy selittää lisää todella vaikea osat näkemyksiä. Lisäksi, kuten Sivuhuomautuksena, selkäranka on joitakin toimintoja tehdä näkemyksiä kommunikoida hienosti malleja - katso asiakirjat kaikkien näiden kirjastojen, todella. Katsokaapa docs. He erittäin hyvin kirjoitettu ja helppo seurata. Yleensä voit melko paljon vain Google, jos sinulla on ongelmia. On olemassa paljon ihmisiä käyttää niitä. Mielestäni tämä on kuin lopullinen huomata. On myös joitakin kehittyneempiä asioita, joita voit tehdä jos etsit tehdä web app ylimääräistä mahtava. Voit tehdä - uuden HTML5 erittely on paljon hienoja asioita voi tehdä. Paikallinen tallennus - joka on, voit tallentaa tietoja selain - eikä tarvitse mennä takaisin ja tutkia palvelimen kaikesta, voit pitää joitakin sen asiakkaan ja että jopa avulla ihmiset - Joissakin tapauksissa se voi jopa voit käyttää verkkosivun offline. On tämä asia sanottu WebSockets jotka ovat erilaisia ​​verkkoviestinnän kun sen sijaan vain teet yksi pyyntö, saat vastauksen ja olet valmis, pidät avata yhteyden palvelimeen ja niin voit tehdä asioita, kuten reaaliaikaista. Joten, jos yritit tehdä chat app, voit käyttää WebSockets kommunikoida edestakaisin niin, että sinun ei tarvitse pitää pyynnön, "Voi, palvelin, ei kukaan lähetä minulle chat?" 10 sekunnin välein tai jotain. Mukana on myös mielenkiintoinen HTML5 ominaisuus, jossa voit tehdä sen näyttämään sivun URL-osoite muuttuu ilman koskaan todella lataa se. Voit käyttää taaksepäin ja eteenpäin painikkeita tekemättä nippu verkossa esitettyihin pyyntöihin. Tavaraa kuin että on todella hyödyllinen kannalta tehden nopeaa mutta myös työtä kuin web app pitäisi. Mukana on myös tämä asia sanottu CoffeeScript. CoffeeScript on eri kieltä, itse asiassa, joka kokoaa alas JavaScript. Voisitte kirjoittaa kaikki koodi CoffeeScript, ja sitten olet suorittanut tämän kääntäjä, ja se sylkee JavaScript-tiedoston, jonka voit sisällyttää oman verkkosivun. Syystä, että CoffeeScript on mukavaa, koska se pääsee eroon paljon outo tapauksissa, että JavaScript on silloin yhtä kuin vastaa, ja vastaa tasavertaisina tehdä erilaisia ​​asioita, tai kuten - se on mukavampaa syntaksin käsitellä paneelit ja toimintoja. Tämä on pieni pätkä CoffeeScript, joka tuottaa luettelon kaikista neliöt 10 ^ 2-1 ^ 2 päinvastaisessa järjestyksessä. Kuten näette, CoffeeScript usein voit ilmaista 1 rivi mikä veisi 5 riviä JavaScript. Se voi tehdä asioita paljon helpompaa. Se on hieman uusia syntaksin oppia aluksi, mutta se varmasti tekee sinusta entistä tuottavampia pitkällä aikavälillä. Voit myös käyttää muita kieliä palvelimessa kuin PHP - kieliä kuten Ruby, Python tai siellä on jopa projekti nimeltä Node.js jonka avulla voit käyttää JavaScript palvelimelle. Henkilökohtaisesti olen todella, todella vihaan PHP. En vain nautin työskennellä sen kanssa. Jos sinäkin sitä mieltä, että se on kauhea cluge kielen, voit käyttää jotakin näistä sijasta. Yleensä, jos haluat tehdä jotain ja et todellakaan tiedä, miten tekisit sen, vain etsiä Internetistä. On tonnia ja tonnia resursseja erityisesti - StackOverflow on suuri. Se on tämä sivusto, jossa ohjelmoijat esittää toisilleen kysymyksiä. Olet ehkä joutunut se olisit ongelmia on CS50 ongelma sarjaa. Ja on olemassa tonnia kirjastot tekevät melko paljon mitään mitä haluaisi. Jos haluat tehdä jotain ja et tiedä miten se tehdään, älä oleta, että se on mahdotonta. Katsokaapa ympärillenne ja saatat löytää joitakin hyviä resursseja. Yleisenä paketoida, Tärkeimmät noutoruokapaikkoja pitää asiat yksinkertaisina. Monimutkaisempi koodi on alussa ja enemmän yrität tehdä hienoja juttuja, kauemmin kestää saada jotain todella toiminnallinen ja sitä vaikeampaa on muuttaa myöhemmin. Joten, tehdä asioita tyhmä, helppo tapa ensin. Mennä yhdessä, että älä pelkää heittää pois vanha koodi tai puhdistaa sitä paljon. Yleensä kun olet oikeasti on jotain työtä, se on paljon helpompi ajatella kuin silloin, kun olet vielä alkuvaiheissa miten voin laittaa tämä kaikki yhdessä. Se on parasta tehdä tyhmin mahdollinen muotoilu toimii ja sitten parantaa sitä toistuvasti kuin yrittää saada kaiken oikein ensimmäistä kertaa. Kannalta asiakas-palvelin-divisioona, yrittää pitää palvelimen hyvin yksinkertainen - vain tietokanta ja jotkut todennus ja eivät tee mitään kovaa työtä siellä. Tee kaikki monimutkaisia ​​juttuja asiakkaan puolella selaimessa JavaScript niin paljon kuin voit. Katsokaa ympärillenne kirjastoille, jotka tekevät elämästä parempaa. Aina parempi käyttää koodia, että joku muu kirjoitti jos - eikä kirjoittaa se itse. Siellä on paljon tavaraa Internetissä. Google on paras ystäväsi. Google on ohjelmoijan paras ystävä. Joo, varmasti ei pelkää katsoa ympärilleen juttuja. Selvä. Ja yli Billy. [Billy] Oikeastaan, ennen kuin aloitan joitakin suunnittelu juttuja, Onko kellään mitään kysyttävää Ben mitään, että hän puhui? Okei, hyvä. Jälleen meille, jos mitään ei ole selvää tai jos haluat meidän mennä yli jotain hieman. Aion askel taaksepäin vähän ja puhua enemmän keskeiset osat design. Ben mainittu malli nimeltä - anteeksi, mallin ohjain mielestä järjestelmän joka on tavallaan teknistä puolta, joten olen menossa katsomaan näkemyksiä erityisesti ja aion aloittaa miten haluat suunnitella näkymä, joka näyttää hienolta. Tässä on tavallaan todella perus malli kissamme Facebook. Mielestäni on olemassa joitakin perustekijät modernin käyttöliittymän suunnittelu joita kannattaa poimien. Voit huomata, että on paljon valkoista tilaa koko sivun, runsaasti tilaa asioita. Älä tuntuu sinun täytyy squash asiat oikeisiin sivu. Haluat jättää paljon tilaa auki, ja jos menet melkein minkä tahansa modernin sivuston näet siellä valkoista kaikkialla. On valkoinen paikoissa, joita ei odottaisi. Sinulla on tämä väripaletti, ja se on viisasta alussa valita väripaletin, joka aiot työskennellä ja kehittyä. Sinulla on myös - se auttaa valitsemaan kirjasintyyppi, ja näin olet tavallaan työskennellä konkreettiset perusteet design. Sinulla on tyyppi, sinulla on värejä, ja sitten voit eräänlainen sopii kaikki muukin tarvittaessa. Joten, kuten sanoin, teidän värimaailman haluat käyttää rohkeammin värejä oman värimaailman säästeliäästi. Otsikot ovat mukavia. Painikkeet ovat mukava olla todella iso, räikeä värit. Mutta yleensä, jos sinulla on verkkosivusto, joka on värejä kaikkialla, kaikki tuijottaa sinua kasvoihin, se vain näyttää sekavalta, ja se ei ole hyvä. Haluat yleensä käyttää vaaleita värejä. Yritä taas poimia melko yhtenäinen värimaailma. Voit olla näitä pikku roiskuu paljon väriä - että voi näyttää ihan kivoja, mutta haluat käyttää niitä melko säästeliäästi. Kuten sanoin, haluat olla minimaalinen. Vähemmän on lähes aina enemmän. Jos voit näyttää jotain tai ei näytä jotain, ja olet aika varma onko se pitäisi olla siellä oletuksena - luultavasti olet parhaiten pois jättämällä se pois. Voit aina lisätä sitä myöhemmin. Joo, pitää asiat yksinkertaisina. Mutta mikä tärkeintä, sinun kannattaa harkita useita malleja. Älä ajattele, että kun teet sivuston, sinulla on se päähäsi, että olet menossa tehdä sivustosta tietyllä tavalla, ja se tulee näyttämään täsmälleen samalta kuin tämä. Se tulee olla sininen otsikon yläosassa ja Sinisessä sivupalkissa ja sitten keltainen aliotsake juttu. Haluat tehdä useita malleja. Voit joko - jos olet hyvä Photo Shop, voit avata ja tavallaan suunnitella sivuston kuin haluat sen katsoa. Jos ei, voit vain käyttää kynää ja paperia, mutta haalia kasaan useita malleja. Haluat periaatteessa on perustettu jossa on paljon erilaisia ​​malleja, ja jos yksi päätyy puuhailee, niin se on hienoa. Jos yksi päätyy ei ole, niin sinulla on aina toinen kääntyä. Yleensä ei huvita sinun pitäisi rajoittaa mihin tahansa suunnittelu sinun aluksi päättää. Mallit ovat hyvin vaihtelevia, ja osa merkitys mallin ohjain mielestä järjestelmä on, että voit vaihtaa sisään ja ulos eri näkemyksiä haluat. Voit keinutella tiedot yhteen suuntaan, ja sitten päättää, OH, todella, se ei toimi kovin hyvin. Minusta se on tavallaan liian monimutkainen tai siellä osa täällä, että ei oikeastaan ​​toimi, joten olen juuri menossa kokonaan hylätä tätä näkemystä ja swap vuonna täysin uusi. Voimme silti käyttää vanhoja malleja ja vanhoja ohjaimet. Voimme tehdä kaiken palvelimen ja asiakkaan kuin olisimme aikaisemmin. Mutta varsinainen aalto tiedot on näkyvissä tulee olemaan hieman erilainen. Sikäli kuin itse täytäntöön suunnittelu haluat, kun olet muutaman malleja hahmotteli paperille tai Photo Shop tai mitä tahansa, on olemassa lukuisia työkaluja, jotka ovat saatavilla sinulle. Ensimmäinen olet hyvin perehtynyt joka on HTML, PHP, tai mitä tahansa kieltä käytät vain koodata staattinen Web-sivuston sivuilla. Olet työskennellyt paljon HTML millaisia ​​saat näitä tageja että voit laittaa asiat oikeisiin, ja pohjimmiltaan se on tapa järjestää sisältöä. Esimerkiksi sinulla on otsikon siellä, niin olet menossa on otsikon tag, ja se tulee olemaan jotain tekstiä sen sisälle, joka on luultavasti olemaan toisessa tag. Sitten on sivupalkissa ehkä hieman eri linkkejä, ja nämä tulevat kaikki olemaan eri tunnisteita. Joten periaatteessa HTML sen sydän on tapa jakaa ylös sivulle, miten te lopulta halua alustaa sen. Joten jälleen, että olet nähnyt tämän ennenkin. Olet melko mukava työskennellä nyt koska olet tehnyt viime PSET toivottavasti joten ei pitäisi olla ongelma. Sitten on CSS joka pohjimmiltaan käsittelee kaikki suunnittelun staattisen näkökohtia. Se hoitaa kaikki värit, kaikki paikannus erilaisia ​​elementtejä, jos ne menevät toistensa suhteen, kuinka suuria ne ovat, erilaisia ​​asentoja, että sinulla olisi - Toisin sanoen, voit olla asiat kuntoon niin, että kun selaa ne pysyvät, tai voit olla asioita suhteessa muihin elementteihin. Kaikki tällaista tavaraa on CSS. Lisäksi voit tehdä erilaisia ​​koristeita, voit olla tekstin väriä, tekstitehosteet, kaikki tuollaista kamaa. Ben antoi todella hyvä seminaarin tämän viime viikonloppuna, ja niin haluan ehdottomasti tarkistaa, että ulos jos aiot tehdä joitakin hienoja asioita CSS. CSS3 on todella uusin versio CSS, ja se voi tehdä kaikenlaisia ​​todella mukavia asioita. Se voi tehdä kaltevuudet, voit olla mukava, pyöristetyt kulmat, voit tehdä kaikenlaisia ​​juttuja tehdä sivustosi näyttää enemmän modernia ja fancy. Seuraavan työkalu on Javascript ja jQuery jossa Ben puhui hieman siitä, mutta Haen vähän syvemmälle. JavaScript koska olet työskennellyt sen kanssa vähän, tai ainakin nähnyt sen luento, on eräänlainen tapa dynaamisesti tehdä juttuja HTML. HTML, kuten tiedätte, on staattinen, joten kun olet HTML et voi muokata sitä. Mutta JavaScript, tietyllä tavalla, on tapa olla mahdollisuus muuttaa HTML. Joten voit tehdä sen, ja se on hienoa, mutta JavaScript todella tuskaa työskennellä. Se on niin pitkä ja tylppä ja tehdä edes yksinkertaisimpia asioita vaatii paljon riviä JavaScript. Joten, jQuery on pohjimmiltaan kirjasto JavaScript joka yksinkertaistaa kaiken tuon. Siinä sanotaan, okei, jos haluat olla neliö laatikko tulevat vasemmalta ja häivyttää sivun niin, että se on keskellä, JavaScript veisi - En tiedä, sata riviä tehdä, ja se olisi kipua, ja tulet ulos se vihaavat kaikkea web-ohjelmointi. JQuery periaatteessa on osa-dot-fade-in, tai jotain sellaista. Niin, hyvin, hyvin yksinkertainen toimintoja, jonka avulla voit tehdä kaikenlaisia ​​hienoja animaatioita ja että sellainen asia. Toinen asia, että nämä 2 ovat todella hyvä on juuri tekemässä dynaaminen asioita kanssa verkkosivuilla. Joten sen sijaan vain ottaa HTML-sivu - joka näyttää joitakin tietoja, mutta ei oikeastaan tehdä mitään - JavaScript ja jQuery avulla sinulla on painikkeet, joilla voit klikata, ja voit vetää elementtejä ja uudelleen tilata niitä ja lajitella ne, ja on uusia osia lisätä tai poistaa. Voit lisätä poisto-, että sellainen asia. Joten, jQuery tekee tonnia hienoja asioita. Ja Vipul on todella antaa seminaarin tänään, uskon, 5-kello, joten jos voit jäämään niin kauan, että olisi - 5 tai 4? Neljä. Anteeksi. Se on oikeastaan ​​heti tämän, niin haluan suositella kiinni noin, jos voit. JQuery on super, super hyödyllinen, ja voit tehdä paljon todella mukavia asioita sen kanssa melko paljon tahansa web kehittämishankkeen. Nyt aion päästä sellaista eroa. Olen puhunut pohjimmiltaan kysymys käyttöliittymä. Käyttöliittymä on vain suunnittelu sivuston. Mutta on tavallaan toinen käsite, joka on käyttökokemusta. Kaksi ovat hyvin erilaisia. Käyttöliittymä on ehdottomasti osa kokemusta. Toisin sanoen, kun menet sivusto, sinä katsot käyttöliittymä. Se on osa miten koet sivuston. Mutta käyttäjäkokemus on enemmän. Käyttäjäkokemus on mitä vaikutelman, että käyttäjä saa sivustosi on. Niin, tietenkin, käyttöliittymä on osa sitä. Ja se on ehdottomasti välttämätön osa, mutta se ei riitä. Toisin sanoen, jos sinulla on mukava käyttöliittymä, ja se on kaunis ja värikäs, ja kaikki tämä, Se on hienoa, mutta jos käyttäjä siirtyy sivustoon, näkee melko asettelu ja se hämmentää kaiken, ei ole aavistustakaan, miten tehdä mitään, niin ilmeisesti olet tehnyt todella huono verkkosivuilla. Se on tavallaan joissa käyttökokemusta tulee sisään Aion puhua vähän siitä UX suunnittelu - UX on lyhyt käyttökokemusta - ja laji, miten voit varmistaa, että sinulla on hyvä käyttökokemus. Ensimmäinen kohta on, että voit suunnitella sivuston, jossa käyttäjä voi tehdä mitään, että käyttäjä mahdollisesti haluaa. Mutta jos käyttäjä ei voi selvittää, miten tehdä niitä asioita - Toisin sanoen, jos käyttäjällä ei ole hyvä idea, kun he menevät paikalle, "Voi, jos haluan päivittää profiiliini, niin painan tätä painiketta, tai jos haluan postittaa jonkun seinään, sitten menen heidän seinään ja klikkaa pieni laatikko. " Jos käyttäjä ei tiedä sitä, niin voit tehokkaasti ole itse täytäntöön, että toiminnallisuus kunnolla. Osa täytäntöön toiminnallisuus on, että käyttäjät voivat todella käyttää sitä. Ja se voisi olla turhauttavaa - saatat tehdä sivuston, ja se voi tehdä kaikenlaisia ihania asioita, mutta sitten sinun on ihmisiä testata sitä ja sanoa: "Se ei voi tehdä tätä. Miksei se voi tehdä tätä? "Ja sanot heille takaisin, "No, se voi. Täytyy vain mennä seitsemäs pudotusvalikosta tällä hämäriä sivu, joka vain on saapuvat linkkiä oikeassa alakulmassa "tai jotain. On selvää, et halua sitä. Haluat sen olevan selkeä käyttäjille, mitä he pitäisi tehdä, ja sen pitäisi olla yksinkertainen ja intuitiivinen heille. Toinen asia, jonka haluat yrittää tehdä on, jos joku aikoo mennä sivustollesi ja 9 ulos 10 kertaa tehdä toimia, ja 1 ulos 10 kertaa do toiminta B, kannattanee keskittyä heidän kokemuksensa toimista A. Toisin sanoen, haluat tehdä sen hyvin, hyvin selvää, miten tehdä A. Tulee olla etu-ja-keskus - mennä sivuston, nähdä se, oi, se on tuolla. Kun taas B ilmeisesti haluat olla selvää, mutta voit jättää sen hieman taustalla. David antaa hyvän esimerkin tästä luennossa, joka on Bostonin T järjestelmään. Kun menet Boston T ja haluat ostaa lippu, sinun täytyy päästä 5 valikoissa ennen kuin voit itse ostaa lipun 2 dollaria, 2,50 dollaria arvo, joka on, miten paljon se vie ratsastaa metro yhteen suuntaan. Se on ongelma, koska useimmat ihmiset, jotka ovat ratsastus metro luultavasti vain halua mennä yhteen paikkaan, ostaa lippunsa, päästä heti. Se ei ole mitään järkeä, että ne on käytävä läpi paljon eri valikot sinne. Parempi käyttökokemus olisi nopea näppäintä ensimmäisellä sivulla että vain sanoo, "ostaa menolippu," ja se olisi laittaa kaikki standardin oletusarvot, ja sitten jos joku haluaa ostaa eri lippu kuin, että he silti tietenkin on mahdollisuus, mutta olet optimoitu common-use case mikä on todella tärkeää. Näet esimerkkejä tästä Facebook, eikö? Jos menet Facebook ja haluat lähettää status, se on oikeassa yläreunassa joka on mitä haluavat usein tehdä. Heti kun annat sivulla voit tehdä yleisimpiä asioita, jotka haluat tehdä. Jos haluat tehdä hieman monimutkaisempi asioita, kuten, sanoa haluan mennä ystäväni seinän ja lähettää kuvan siitä - jota kannattaa tehdä usein, mutta ei niin usein kuin lähettämistä tilapäivitykset - niin siinä tapauksessa, kirjoitan nimensä yläreunassa, klikkaa niiden profiili, ja sitten vielä, se on aivan huipulla siellä kerran olen saanut profiiliin. Jälleen olen optimoitu ensisijaisesti yleisimpien-käyttötapauksia. Toinen tärkeä asia on, että usein ihmiset tavallaan yrittää kiertää tämä sanomalla, okei, joten olen tehnyt päällä ja ihmiset löytävät sekava, ja se on ongelma, eikö? On selvää, en halua ihmisten olla hämmentyneitä sisältöä sivustoni. Mutta tapa ratkaista, jota ei kannata olla jotain pop up sanoen: hei, aion opettaa sinulle, kuinka käyttää tätä sivustoa. Vaihe 1 - napsauttamalla tätä painiketta. Vaihe 2 - mennä täällä. Toki, se on päin sitä - se on tapa, että voit kertoa ihmisille, mitä tehdä, mutta se on todellakaan ole paras tapa. Jos menen verkkosivuilla ja yhtäkkiä olen pommitetaan tämä opetusohjelma, joka kertoo minulle mitä tehdä ja minne mennä ja kaikki tämä, se ei ole hauskaa minulle. Se ei ole hyvä kokemus minulle. Se on tavallaan kipua. Haluan vain alkaa tehdä juttuja. Ihmiset ovat menossa sulkea pois heidän valintaikkunan tai ulos opetusohjelma, ei tiedä mitä tehdä, ja sitten valittaa, koska et ole kertonut heille mitä tehdä. Tapa ratkaista tämä ei antamalla minkäänlaista opetusohjelma tai suuntiin - mitään sellaista. Niin paljon kuin voit välttää sitä, todella haluat näyttää käyttäjälle mitä tehdä paikan luonteen, miten sivusto on kirjattu ulos. Toisin sanoen, jos menen Facebook kirjautumatta sisään, Ensimmäinen asia, että näen pääsivulla - se on vähän login ruutuun. Niin, duh. Minulla täytyy kirjautua sisään Se on tuolla. Katsoo, että jos menin Facebook ja jouduin napsauta pikku linkkiä että mainittu "kirjaudu sisään" ja muun sivun oli vain jonkinlaisen kuvan tai jotain, En todellakaan tiedä mitä tehdä, eikö? En menisi sekaisin. Niin, se voisi kertoa minulle mennä sinne ja napsauta painiketta kirjautua sisään, tai Kirjaudu sisään-painiketta voisi olla oikeassa yläreunassa minne olen menossa katsomaan sitä. Haluat aina näy käyttäjälle, mitä tehdä, ja sen pitäisi olla luonnostaan ​​sivun itse. Kun olet ajatellut suunnittelee ja pilkkasivat jopa erilaisia ​​tapoja ilmaista sivusto, et todellakaan halua ajatella, mitä käyttäjät tulevat tehdä ja miten voit näyttää heille, mitä tehdä. Viimeinen asia on testaus on todella, todella tärkeää. On hienoa saada joku - saada ystävä, saada joku et tiedä edes - joka ei ole koskaan nähnyt päällä ennen käyttää sivustoa. Koska olet työskennellyt sivuston tuntikausia, olet tuijottanut sitä, ja tiedät tarkalleen mitä tehdä joten ilmeisesti aiot testaa asioita, joita olet työskennellyt ja että tiedät työtä. Mutta jos joku muu tulee ja käyttää sivusto, joka ei ole koskaan käyttänyt sitä aiemmin, se on ainutlaatuinen kokemus, koska sinulla on joku, joka ei ole aiempaa kokemusta sivuston menee sinne, niin he aikovat toteuttaa tosiasiallisesti ole aavistustakaan, mitä tehdä tai millaisia ​​käyttötapauksia ovat läsnä heitä. Se on hienoa. Se on ainutlaatuinen, koska ne ovat lähinnä henkilö tyhjä mieli. He voivat kertoa sinulle, jos jotain on sekava tai epäselvä. Ne voivat antaa sinulle käsityksen siitä juuri käyttäjäkokemuksen sivustosi on. Se voi olla hyvin vaikea sanoa, että itse, niin ehdottomasti haluan kannustaa sinua koska olet kehittämässä projekteja - jos olet tekemässä web-pohjaisten projektien - saada ihmiset käyttävät sivustoa jo sinulla on jonkinlainen toimiva demo. Nyt aion puhua hieman siitä, miten hallita web-kehittämishanke. Olemme ylittäneet miten voit tehdä teknisiä back-end puolella, miten voit suunnitella todella hyvä sivusto, ja se on hienoa, jos olet työskennellyt itse vaan - vaikka olet työskennellyt itse ja varsinkin jos olet työskennellyt joukkue, projektinhallinta tulee iso ongelma. Olet tavallaan kuullut projektinhallinnan eri muodoissa vuodesta peruskoulun kun kerrottiin ryhmätöitä. Sinun täytyy tehdä yhteistyötä, kommunikoida, kaikki tämä. Että kaikki pätee edelleen täällä, mutta on joitakin ainutlaatuisia olosuhteet tietojenkäsittelytiede, että haluat olla tietoinen, ja haluat varmistaa hoidatte hyvin. Puhun ensin hieman siitä joukkue, että voit olla sisään On erittäin tärkeää valita oikea koko tiimi työstää, ja lopullisessa projektissa Mielestäni sinulla on mahdollisuus valita välillä 1 ja 4 henkilöä, jos olen oikeassa. Haluat varmistaa, että et ole vain valita joukko ihmisiä että haluat työskennellä, koska he ystävillesi. Haluat valita joukkue, joka on hyvä koko ja se, joka saa työnsä tehtyä. On kaupan pois ottaa enemmän ihmisiä verrattuna vähemmän ihmisiä. Jos sinulla on enemmän ihmisiä, ilmeisesti enemmän työtä voidaan tehdä koska sinulla on paljon ihmisiä, paljon koodia, paljon ideoita, ja se on kaikki hyvin. Mutta se myös vaatii paljon enemmän hallintaa ja paljon muuta viestintää. Toisin sanoen, jos sinulla on 4 henkilöä työskentelee saman projektin ja he kaikki muokkaat samaa koodia, enemmän tai vähemmän he kaikenlaisia ​​tarve tietää mitä tapahtuu joten se vaatii sinua - jos lisäät uusia toiminnon avulla tavallaan täytyy kertoa ihmisille - Olen lisäämällä tämä, Muutan tämän tällä tavalla - varsinkin jos saat osaksi todella syvä kamaa kuten malleja ja ohjaimet, jotka ovat todella aikoo vaikuttaa siihen, miten sivusto toimii. Koko tiimi on oltava tietoisia siitä, joten sinun täytyy varmistaa, et ole valinnut liian iso joukkue, joka tulee olemaan vaikeaa tehdä, että viestintä. Et myöskään halua valita riittävän pieni tiimi, joka et aio pystyä kommunikoimaan, koska se on vain sinulle. Toinen asia harkita tasapaino jossa ihmisten taidot ovat. On hienoa, jos olet kaikki todella hyviä ohjelmoijia. Mutta jos olet kaikki back-end ihmisiä, sivustosi ei aio näyttää erittäin hyvältä koska sinulla on tämä suuri tietokanta, ja se supernopea hakukyselyistä - mikä on hyvä - mutta kun menet, se on kuin 1990-sivusto, jossa on punaisia ​​ja sinisiä kaikkialla, ja se ei ole hyvä myöskään. Huomaa, että Ben ja minä työskentelystä ovat erittäin mukavaa, koska olen tavallaan lisää etupäähän, me molemmat vuorovaikutuksessa keski-end, ja Ben on todella hyvä back-end kamaa, niin että toimii todella hyvin, koska voimme suunnitella minkä tahansa sivuston ja periaatteessa reiät että sivusto, joka on korjattava voidaan täyttää joko yksi meistä, tai mahdollisesti molempia. Haluat varmistaa, että ei ole reikiä joukkue. Se on okei, jos on vähän päällekkäisyyttä. Toisin sanoen, jos sinulla on 2 henkilöä, jotka ovat sekä hyvä loppupäätä, että voi olla hyvä myös, koska ne voivat auttaa toisiaan ongelmissa että niillä on ollut. Se voi olla ongelma, jos sinulla on vain 1 henkilö, joka on vastuussa tietty asia ja he törmätä ongelmaan, joten et halua olla hieman päällekkäisyyttä mutta mikä tärkeintä haluat varmistaa, että kaikki mahdolliset reiät täytetään. Viimeinen asia - ja tämän pitäisi olla itsestään selvää, mutta se ei useinkaan ole. Haluatko todella olla hauskaa. Kohta tämän lopullisen hankkeen CS50 ja usein pisteen web kehitystä yleensä ei vain tehdä työtä, koska se tarvitsee tehdä. Haluatko todella olla hauskaa, ja haluat olla tehdä jotain joka motivoi sinua työstää sitä. Jos mitä teet on tuskaa istua alas ja työtä, niin et ole valinnut oikean projektin. Haluat valita jotain, että löydät mielenkiintoista, todella haluat nähdä tuloksen, olet innostunut kun saat uuden käsityksen siitä, jotain voisi tehdä - niin siellä on kaikenlaisia ​​hankkeita siellä, että olen varma Löydät - jokaisella on jotain, joka todella kiehtovat heitä jos he tekevät web-pohjainen projekti. Minä sanon sen uudelleen juuri nyt. Jos projekti tuntuu kipua ja et halua työstää sitä, valitse toinen projekti. Valitse jotain, joka todella inspiroi sinua. Ben mainitsi tämän käsitteen iteraation vähän, ja haluan mennä sen yli hieman. Se on todella tärkeää työskennellä puuskittain jossa voit saada jotain toiminnallista. Se voi olla hienoa, jos sinulla on tämä suunnitelma verkkosivuilla, että aikoo tehdä, B ja C, ja lopulta se tulee sinne. Mutta olet jumissa tässä vaiheessa, jossa olet työskennellyt sen ja käsittelemään sitä, mutta mitään ei saada tehdä. Sinulla ei ole mitään nähtävää ja konkreettista, toimiva juttu. Mitä todella haluat tehdä niin paljon kuin se tuntuu sellainen kipu joskus työstää jotain ja sitten tavallaan kukkuraksi pois niin, että se on ainakin vakaa, käynnissä versio, vaikka se ei ole kaikkia ominaisuuksia haluat. Ja ehkä on olemassa joitakin ominaisuuksia, jotka todella haluat lisätä, mutta et vain voi koska haluat saada tämän sivuston toiminnallisesta näkökulmasta. Ja niin haluat sellainen on koko kehitysprosessia näyttää tuolta. Haluat aloittaa jostain toimiva - tai olennaisesti aloittaa mitään - mutta haluat päästä jonnekin hyvin yksinkertainen ja toimiva. Ja sitten taas, tee eräänlainen hyppy ja päästä jonnekin jälleen toimintansa. Voit hitaasti rakentaa, ja se saattaa mennä hieman hitaammin kuin se olisi, mutta pitkällä aikavälillä, jos olet jatkuvasti jumissa tässä välimaastossa vaiheeseen, jossa olet ei oikeastaan ​​ole mitään tapahdu, se voi olla todella iso turhautumista työstää hanketta, koska olet aina niin lähellä saada sen toimimaan, ja se ei ole koskaan todella työtä. Haluat työskennellä näiden toiminnallisten puuskittain, ja haluat myös tehdä joitakin harkinta jokaisen jälkeen. Toisin sanoen, kun olet vaiheessa, jossa sivusto toimii nyt - sillä ei ole kaikkea haluat, mutta se ei joitakin asioita - haluat ajatella, okei, on tämä sivusto toteutuksessa tavoite, että olen lähti tehdä? Toisin sanoen, jos sivusto aikoo tehdä X, on mitä olen työskennellyt suuntaan X? Ovat kaikki toimintoja, jotka halusin siellä? Ja lisäksi se palvelee yleistä tarkoitusta että haluan? Jos olet todennut, että sivustosi alkaa kääntyä toiseen suuntaan tai ehkä asiat juuri sellainen ei toimi, se voi olla aika vaihtaa vaihteita hieman. Toisin sanoen, se on harkitsemisen arvoinen - se kannattaa heittää pois ideat tarvittaessa ja harkitsee olen todella pyrkivät mitä haluan olla. Uskon, että on minun seuraava kohta. Älä pelkää luopua ideoita. Vain koska olet viettänyt paljon tuntia työtä ominaisuus ja vihdoin se työ, mutta se ei todellakaan ole menossa niin hyvin - kuin se ei ole kovin hyödyllinen tai käyttäjistä ei ole vaikeuksia käyttää sitä - että sellainen asia - älä pelkää heittää sen pois. Se on perseestä, että olet viettänyt paljon aikaa työstää sitä, mutta lopulta et halua sivuston, joka on tavallaan koonnut näitä paloja, jotka tällaista työtä, mutta eivät ole kovin hyvät. Myös, älä pelkää omaksua uusia ideoita. Jos joku tulee ja sanoo hei, että sivusto näyttää todella siistiä, mutta eikö edes hienoa, jos se myös teki tämän? Vain koska se on jotain, että et aio ja jotain, joka ei ole sinun silmälasit, jotain, että et ole tarkoitus tehdä, älä pelkää ottaa sen ja sitten työskennellä sen kanssa. Koska usein ideoita, joita voit ajaa koko kurssin kehitys lopulta todella hienoja ominaisuuksia verkkosivuilla. Olen sanonut tämän ennenkin. Minä sanon sen taas. Testaajat ovat super, super hyödyllinen. Yritä saada ihmiset jotka eivät ole koskaan nähneet päällä ennen kirjautua ja katso mitä tapahtuu koska ne eivät voi vain testata sivuston hyödyllisyyden ja käyttäjäkokemuksen, mutta ne voivat myös testata toiminnallisuutta tavoilla, et voi. Jos teet joitakin ominaisuus, joka tekee tietty asia ja tiedät se aikoo tehdä, että sama asia oikein joka kerta, se on hienoa. Mutta se voi usein olla vaikea selittää rajatapauksissa, joissa käyttäjä voi Kirjoita jotain, että et odottanut - juuri siksi olet määritellyt ominaisuuksia itse. Niin, että joku viitsi jolla ei ole aavistustakaan siitä, miten käyttää sivustoa ja vain rikkoa sitä missä tahansa tavalla he voivat tehdä, on todella hyödyllinen, koska et saat idean täysin eri näkökulmasta, mitä sivustosi toimii ja mitä tarvitsee korjausta. Viimeisin, aion puhua joitakin yleisiä hyviä käytäntöjä, ja olet nähnyt paljon näitä CS50, mutta ne myös todella, todella soveltaa hankkeen ympäristössä. Yksi on kommentteja. Aina kommentoida koodi varsinkin jos olet työskennellyt iso joukkue. Se voi olla niin ärsyttävää on vain jättimäinen koodiosion että joku on kirjoittanut ja ehkä se toimii, ehkä ei, mutta sinulla ei ole aavistustakaan, mitä se tekee, joten sinulla ei ole aavistustakaan onko se hyödyllistä vai ei ja onko se pitäisi olla siellä vai ei, ja jos olet työskennellyt jotain muuta se on jopa mahdollista, että olet työskennellyt sama asia, joten vain olla hyvin, hyvin varovainen olla huomaavainen oman ikäisensä ja kirjoittaa koodia, joka on hyvin dokumentoitu. Sinun ei tarvitse mennä niin pitkälle kuin tehdä koko juttu missä haluavat, jos kasvattaa laskuri on kommentti, joka sanoo, olen lisäämällä 1 tämän laskuri. Se ei tarvitse olla yksityiskohtaisia, mutta jos jokin toiminto olet koskaan kirjallisesti sinulla pitäisi olla jonkinlainen dokumentointi, mitä tämä toiminto tarkalleen, mitä sen tulot ovat, ja mitä sen pitäisi palata. Näin voit käyttää muiden ihmisten komponenttien sivuston ja voit työskennellä kohti rakennuksen jotain suurta. Toinen tärkeä asia on haluat tehdä säännöllistä siivouksen. Koodi sotkuista. Ei tunnu pahalta, jos koodi on totaalisesti lukukelvoton ja jättiläinen sotku. Mitä tapahtuu web-kehitystä aina. Lisäät uusia ominaisuuksia, poistamalla vanhoja. Tavaraa tulee olemaan siellä, että ei pitäisi olla. Se on hyvä, mutta haluat varmistaa käsittelemään sitä säännöllisesti. Et halua antaa sen rakentaa siihen pisteeseen, jossa et vain voi löytää mitään koodissa, ja sinulla ei ole aavistustakaan mitä mitään tekee. Näin on HTML. Joskus päätyä esineitä, jotka eivät sisällä mitään, ja sinun kannattaa päästä eroon näistä. CSS, voit olla tarkoitetaan seikkoja, jotka eivät ole siellä enää, joten haluat päästä eroon, että koodia. JavaScript, olet ehkä poistanut jotain HTML. Joten, haluat varmistaa, että olet aina siivota, tehdä asioita melko niin paljon kuin voit säännöllisesti. Toinen todella hyödyllinen asia, että en usko on esitetty erittäin paljon CS50 mutta se kannattaa sijoittuminen on versionhallinta. Ajatus versionhallinta on, kun olet periaatteessa pitää kirjaa kaikista edistymistä olet tehnyt kohti sivustosi ja jos jossain vaiheessa huomaat, oh, tämä toimi aikaa sitten, mutta se ei toimi enää, voit palata aikaisempiin versioihin ja katso, mitä on muuttunut sen jälkeen ja että sellainen asia. Ensisijainen tapa tehdä se on kanssa Git, ja Git on koko tämä sellainen järjestelmä, joka Uskon Tommy MacWilliam piti seminaarin noin viime vuoden. Jos menet CS50 seminaareja 2011, voit nähdä hänen seminaarissa, että. Ajatus Git on pohjimmiltaan, että säännöllisin väliajoin teet näitä sitoumuksia jotka ovat tapoja sanoa sivusto on melko vakaa versio juuri nyt niin Olen pakkaaminen ja lähettämällä sen pois palvelimelle, ja sitten voit mennä kyseiselle palvelimelle ja katsoa kaikki aiemmat versiot koodin ja nähdä miten se eteni ja kaikki tuollainen hyvää kamaa. Niin, että on pohjimmiltaan se. Sikäli kuin web-kehitys, voimme pysyä ympäri ja vastata kaikkiin kysymyksiin niin pitkälle kuin meidän esitys. Siinä kaikki. Kiitos. >> [Ben] Kiitos. [Aplodit] [Billy] Staff, ei kellään mitään kysyttävää asioita, joita olemme kattaa tai asioita, joita olemme eivät kuulu, että he toivoivat olisimme kattaa? Olisimme mielellämme vastata näihin. Kukaan? [Yleisön jäsen] Mitä hyviä ja huonoja puolia käyttäen Ruby tai Python? [Ben] kysymys oli, mitä etuja ja haittoja käyttämällä Ruby tai Python sijaan, kuten PHP. Plussaa on, että Ruby ja Python ovat paljon parempia kieliä kuin PHP. Ainakin minun mielestäni, ja mielestäni paljon muiden mielipiteitä myös. Ne on suunniteltu enemmän tekee monimutkaisia ​​juttuja, ja vähemmän selkäsauna yhdessä web-sivuja todella nopeasti hieman dynaamista sisältöä. Haittoja ovat, että siellä on hieman - siellä on enemmän oppimiskäyrä saada heidät perustaa. Eli, kuten PHP, voit vain HTML-tiedoston ja kirjoitat vähemmän kuin, kysymysmerkki, ja sitten kirjoittaa koodia, ja sitten voit kirjoittaa kysymysmerkki, suurempi kuin-, ja sitten olet valmis. Muilla kielillä kuten Ruby tai Python, sinun täytyy mennä läpi hieman enemmän työtä saada alkuperäisen sivuston toiminnassa. Mukana on myös - ainakin se käytti olla kyse - että on olemassa muutakin asiakirjat saatavilla PHP vain koska siellä on enemmän ihmiset käyttävät sitä. Mielestäni ei ole niin paljon asiaa enää. Siellä on varmasti erittäin hyvä dokumentaatio tavaraa kuten Ruby on Rails tai Django Python on vastaava. PHP on yksi että jokainen on käyttänyt jo vuosia, ja tiedät miten se toimii. Ruby ja Python ovat hieman vähemmän kypsiä. [Yleisön jäsen] Jos sinun pitäisi valita yksi niistä oppia tai poimia, Kumpi olisit mieluummin? Rehellisesti, luulen että riippuu henkilöstä. Olen pahoillani. Kysymys oli joka nostat joku oppia? Minusta Python mukavimmista henkilökohtaisesti. On olemassa paljon ihmisiä, jotka - Tein ensimmäisen web dev hanke Python ja Django. On olemassa paljon ihmisiä, jotka haluavat Ruby on Rails myös. Luultavasti enemmän ihmisiä, jotka tietävät Ruby on Rails. Oikeasti, haluan vain mennä kanssa, mitä ihmiset ympärilläsi tietää niin että sinulla on ihmisiä esittämään kysymyksiä. Kysymys oli - on yhteisiä palvelimia on se eräänlainen vaikea työskennellä Python? Se riippuu hosting. On olemassa useita web hosts, jotka julkaisemme Python kamaa. WebFaction tekee sen? WebFaction on yksi, joka Billy ja olen käyttänyt joissakin hankkeissa. Ne ovat todella suuria. Ne tukevat useimmilla kielillä. Mutta se on totta, että PHP on paljon laajemmin tuettu. Joten, jos olet juuttunut web-isäntä, joka tekee vain PHP, se on hyvä syy käyttää PHP. [Yleisön jäsen] Sain osaksi opetella kyselyn Joissakin tietokannoissa ja tiedän SQL on koko paikka, mutta olen viime aikoina saanut alttiina - ja olet todennut sen ulos. Näet JSON ja laajennettavissa tietokantoja. My SQL on edelleen levällään. Miten näet, että tapahtuu? Onko siellä tulee olemaan yhä useammin enemmän laajennettavissa (ei kuulu)? Kysymys oli - ei mielestäni siellä tulee olemaan suuntaus ei-SQL-tietokantoihin. Esimerkiksi, kuten MongoDB. Uskon, että on varmasti totta. Minun neuvoni on enimmäkseen MySQL liittyvät tähän vain siksi, MySQL on alan standardi. Henkilökohtaisesti olen paljon mieluummin tietokantoja, jotka eivät ole schemos kuten MongoDB jos sinulla ei ole kysymys, oh, minun täytyy lisätä toisen sarakkeen. Voi minua, kuin mitä teen? On hyvin vaikea tehdä, että MySQL, mutta kun on jotain Mongo se on paljon mukavampaa. Muiden Kiva juttu Mongo on, että tiedot ovat todella JavaScript esineitä. Ei ole tavallaan konversiovaihe jossa sinun täytyy ottaa nämä tietokantaan rivit ja tehdä niistä JavaScript olio ja sitten lähettää heidät lanka. Mielestäni tavaraa niin tulee olemaan hyvin, hyvin hyödyllinen nopean web kehitystä tulevaisuudessa. [Billy] Jotain Lisäisin joka on vain yleinen asia on, että ei huvita sinun pitäisi oppinut kaikki kielet olemme keskustelleet meidän seminaarissa. Ilmeisesti asia on antaa sinulle käsityksen siitä, mitä siellä, ja jos olet kiehtoi tahansa asioita olemme maininneet voit googlettaa ne ja lukea niitä. Ja kuten mainitsin, on olemassa muutamia seminaareja, jotka käsittelevät juuri näitä asioita. On jopa enemmän seminaareja, että en ole maininnut, että luultavasti päästä tätä kamaa samoin. Ajatuksena on, että jos haluat työskennellä jotain, tässä ovat työkaluja käytettävissänne. Älä tuntuu hukkua, jos et ole aivan varma, mitä nämä työkalut tehdä juuri, mutta tiedän, että he ovat siellä ja että voit hyödyntävät laajasti niitä Google. [Yleisön jäsen] Millaisia ​​asioita sinun ei tarvitse tehdä varmistaa sivustosi näyttää hyvältä mobiililaitteissa? [Billy] Mobiililaitteet ovat hieman vaikea. On 2 tapaa voit lähestyä sitä. Ensimmäinen tapa on se, että sinulla todella on mobiilisivuston. Toisin sanoen, voit suorittaa jonkinlainen tunnistus alussa kun selain tekee pyynnön sivuston, joka joko sanoo palata tämän näkemyksen - mikä on näkymä työpöydälle tai kannettava selaimet - ja tämä toinen näkymä mobiililaitteisiin. Se on paikka, jossa näkymät ovat todella mukavia, että voit melko paljon swap kaksi ulos ja on käyttöliittymä, joka toimii todella hienosti mobiililaitteissa ja on täysin erilainen joka toimii hienosti selaimen laitteissa. Ongelma, että se kestää kauan, koska se tarkoittaa koodaus täysin erilainen käyttöliittymä. Toinen tapa, että voit tehdä se on - Monet nykyajan puhelimet näyttää sivustot ja yrittää tehdä niitä selain olisi, ja he tekevät parhaansa. Voit tavallaan yrittää pysyä valon määrästä jQuery JavaScript käytät joka on yleensä jossa asiat voivat mennä pieleen vähän. Tämä on eräänlainen tapa, että sinun pitäisi käyttää, jos sinulla ei ole niin paljon aikaa. Jos sinulla ei ole aikaa työskennellä mobiili käyttöliittymä, joka on tietysti paras vaihtoehto. Mielestäni yleensä CS50 hankkeita, olet menossa haluavat valita yhden tai muita. Toisin sanoen, haluat tehdä Mobile App tai haluat tehdä työpöydälle verkkosivuilla. Ja että sellainen määrittää missä mennään kanssa. Mutta jos haluat laajentaa sitä myöhemmin, luultavasti paras vaihtoehto on tehdä toinen käyttöliittymä muille. Minulla on vähän kokemusta kehittää WordPress-pohjaisten sivustojen. Olen isännöi omat sivut WordPress jonkin aikaa. Tuollaiset kehykset voi olla mukavaa aivan yhtä hyvin perusasioista. Usein sinun vain törmätä paljon muokattavuutta kysymyksiä kuitenkin. Sinun kannattaa olla jotain katsoa tietyllä tavalla tai olla tietyllä tavalla ja juuri voi, koska se on Johdolla järjestelmään, joka näin sinun täytyy tehdä asioita, jotka voivat olla hieman ongelmia. Siitä lähtien olen sellainen ollut taipuvainen työskennellä sivustoja maasta ylös. Asioita, kuten blogin tietokannat ja sen sellaista se todellakaan ole niin vaikea rakentaa puitteet. Jos olet todella venyttää aikaa, voit toki käyttää jotain WordPress tai että sellainen asia blogi. Sellaisia ​​tavaroita, joita blogit tallentaa ja tehdä eivät todellakaan tarpeeksi kovaa, että jos käytät mihinkään niistä erilaisia ​​asioita, olet todennäköisesti parasta vain tehdä in-house-versio. Minusta se siitä, joten kiitos jälleen tulossa. Me todella nauttinut puhu teille ja toivon, että olet oppinut joitakin juttuja. [Ben] Olemme iloisia puhua - meidän täytyy mennä, mutta olemme tyytyväisiä voidessamme puhua enemmän ulkopuolella jos sinulla on toinen kysymys. Kiitos vielä kerran. [Aplodit] [CS50.TV]