1 00:00:00,000 --> 00:00:02,500 [Powered by Google Translate] [Seminar] [Web Development: Od ideje do provedbe] 2 00:00:02,500 --> 00:00:04,200 [Ben Kuhn] [Billy Janitsch] [Sveučilište Harvard] 3 00:00:04,200 --> 00:00:07,250 [To je CS50] [CS50.TV] 4 00:00:07,250 --> 00:00:10,840 [Billy] Bok, ja sam Billy i to je Ben. >> [Ben] Bok. 5 00:00:10,840 --> 00:00:12,840 Mi ćemo se govori o web development danas. 6 00:00:12,840 --> 00:00:14,840 [Webdev] [Billy Janitsch i Ben Kuhn] 7 00:00:14,840 --> 00:00:16,840 Malo o nama na prvom mjestu. 8 00:00:16,840 --> 00:00:19,590 Ben je svojevrsni back-end momak. On čini ono što rade. 9 00:00:19,590 --> 00:00:21,870 A onda sam otići i učiniti ih lijepo. 10 00:00:21,870 --> 00:00:26,610 Ja sam uglavnom bavi s više front-end dizajn izgled takve stvari, 11 00:00:26,610 --> 00:00:31,260 i Ben, s druge strane, ne zna što radi, tako da radi na back-end stvari. 12 00:00:31,260 --> 00:00:34,050 Zajedno smo napravili nekoliko stvari. 13 00:00:34,050 --> 00:00:38,710 Na primjer, prošle godine smo radili na Gimblium što je online igra razvoj studio. 14 00:00:38,710 --> 00:00:40,400 To je bio naš konačni projekt za klasu, 15 00:00:40,400 --> 00:00:42,780 i od tada smo napravili Harvardu klasi 16 00:00:42,780 --> 00:00:47,860 koja je online okvir za pregledavanje i kupovinu tečajeva na Harvardu. 17 00:00:47,860 --> 00:00:53,180 >> Mi ćemo početi s ovom idejom za naše web stranice. 18 00:00:53,180 --> 00:00:57,480 Idemo napraviti Facebook, ali za mačke. 19 00:00:57,480 --> 00:00:59,520 Prije nego što zapravo čine ovu web stranicu, 20 00:00:59,520 --> 00:01:02,520 ne bi ovu web stranicu, jer to nije dobro, ali mi ćemo ga koristiti kao okvir 21 00:01:02,520 --> 00:01:05,349 i proći kroz proces kako bismo iskoristiti ovu ideju 22 00:01:05,349 --> 00:01:07,450 i to pretvorilo u pravi web stranice možemo koristiti. 23 00:01:07,450 --> 00:01:11,940 Počet ćemo razbijanje website dolje. 24 00:01:11,940 --> 00:01:13,190 Kao što ste radili u CS50, 25 00:01:13,190 --> 00:01:17,360 želite razmišljati o tome što su stvarni sastojci koji idu u ovoj web stranici. 26 00:01:17,360 --> 00:01:21,290 Uglavnom ga okreće od ideje koja je samo kakve apstraktan pojam 27 00:01:21,290 --> 00:01:23,590 u stvarnom, opipljivom stvar koju bi mogao napraviti. 28 00:01:23,590 --> 00:01:25,910 Mi smo započeli tražeći neka pitanja. 29 00:01:25,910 --> 00:01:28,070 Što je to web stranica? Zašto mi to radiš? 30 00:01:28,070 --> 00:01:30,670 Što se to događa kako bi se koristiti za? Takve stvari. 31 00:01:30,670 --> 00:01:33,660 U slučaju Facebook Cat, 32 00:01:33,660 --> 00:01:37,730 mi u osnovi želite web stranice koje vam mačke društvenu mrežu međusobno. 33 00:01:37,730 --> 00:01:41,260 Ideja je da oni mogu postavljati na međusobnim zidova, 34 00:01:41,260 --> 00:01:43,510 oni mogu dati svoje komentare, i takve stvari. 35 00:01:43,510 --> 00:01:46,720 I tu dolazimo u komponentama. 36 00:01:46,720 --> 00:01:51,270 Mi sada imamo ovu vrstu okvira - moramo korisničkih profila, 37 00:01:51,270 --> 00:01:53,990 imamo komentare, i možemo postavljati. 38 00:01:53,990 --> 00:01:57,390 Možda jednog dana ćemo se ulijeva voli i takve stvari. 39 00:01:57,390 --> 00:02:00,410 I onda smo željeli prioritete te značajke ulazim 40 00:02:00,410 --> 00:02:03,340 Želimo reći kao, u redu, to je jako važno da svatko ima profil 41 00:02:03,340 --> 00:02:06,440 i da svatko može postavljati na međusobnim zidovima. 42 00:02:06,440 --> 00:02:08,509 Sekundarna na to, komentari bi bilo lijepo. 43 00:02:08,509 --> 00:02:10,180 Možda kasnije ćemo se ulijeva voli. 44 00:02:10,180 --> 00:02:13,700 Dakle, želite imati ideju o tome što je od temeljne važnosti za svoj projekt 45 00:02:13,700 --> 00:02:17,260 i što je svojevrsni općenitije obilježje koje bi se mogle primijeniti kasnije. 46 00:02:17,260 --> 00:02:20,870 Želite vrsta ima određeni popis na umu, 47 00:02:20,870 --> 00:02:24,090 , ali projekt da počnete s neće biti projekt koji ste završili sa. 48 00:02:24,090 --> 00:02:27,100 Drugim riječima, stvari će se promijeniti dok ste u razvoju stranice, 49 00:02:27,100 --> 00:02:30,090 a vi želite ostaviti prostora za to. 50 00:02:30,090 --> 00:02:34,470 Ja ću ga predati Benu tko će razgovarati malo o strukturi. 51 00:02:34,470 --> 00:02:39,610 >> [Ben] Idem se govori o više tehničke strane web razvoja. 52 00:02:39,610 --> 00:02:42,370 Idemo preko neke osnove prvi. 53 00:02:42,370 --> 00:02:45,730 Kad radiš web aplikaciju, 54 00:02:45,730 --> 00:02:50,470 Glavna podjela koje ćemo imati je 55 00:02:50,470 --> 00:02:52,700 ćeš imati neke stvari događa u strani klijenta - 56 00:02:52,700 --> 00:02:56,700 to jest, kod koji ste preglednik traje od site 57 00:02:56,700 --> 00:03:01,910 i JavaScript, HTML, CSS stvari. 58 00:03:01,910 --> 00:03:04,490 To je sve na strani klijenta. 59 00:03:04,490 --> 00:03:08,680 Ti ćeš imati drugu kôd koji se izvodi na strani poslužitelja 60 00:03:08,680 --> 00:03:10,770 koji prati sve podatke koje su ljudi poslali u vama, 61 00:03:10,770 --> 00:03:15,060 odlučuje tko dati ono što, takve stvari. 62 00:03:15,060 --> 00:03:20,380 To je samo neki terminologija, tako da ti dečki su upoznati s onim što mi govorimo. 63 00:03:20,380 --> 00:03:28,600 Iza te podjele je dobro misliti na svoje web-aplikacije u smislu 64 00:03:28,600 --> 00:03:32,500 Nekoliko različitih komponenti. 65 00:03:32,500 --> 00:03:35,270 Kad radite web razvoj 66 00:03:35,270 --> 00:03:41,710 jedna od stvari koje bi trebali uvijek se pokušava napraviti je smanjiti kompleksnost. 67 00:03:41,710 --> 00:03:45,710 Složeniji vaš kod je veća vjerojatnost postoji da bi bugove, 68 00:03:45,710 --> 00:03:47,710 teže je promijeniti kasnije. 69 00:03:47,710 --> 00:03:50,140 Dakle, ako možete razbiti svoj app u nekim osebujnim funkcionalnim područjima 70 00:03:50,140 --> 00:03:57,640 koji će - a možete smanjiti kakve iznosu od cross-područja komunikacije - 71 00:03:57,640 --> 00:04:03,530 koje će vam puno pomoći u dugom roku u smislu smanjenja bugova. 72 00:04:03,530 --> 00:04:07,950 >> Konkretno, obično ljudi podijeliti web aplikaciju na - 73 00:04:07,950 --> 00:04:13,190 to su vrsta krilatica sada, ali su još uvijek korisna. 74 00:04:13,190 --> 00:04:17,940 Možda ste čuli ljudi govore o modelima, poglede i kontrolerima. 75 00:04:17,940 --> 00:04:23,210 Modeli su stvarni podaci da se vaša aplikacija će se baviti. 76 00:04:23,210 --> 00:04:28,260 Na primjer, u svom Cat Facebook, vaši modeli će biti - 77 00:04:28,260 --> 00:04:35,340 ne bi se model kao što su radna mjesta, i model za korisničke profile, takve stvari. 78 00:04:35,340 --> 00:04:41,090 Vaši stavovi su kako se prezentirati te podatke za svoje korisnike. 79 00:04:41,090 --> 00:04:46,660 Možda ste jedan pogled za gleda na jednu poruku i sve komentare 80 00:04:46,660 --> 00:04:51,720 i drugačiji pogled na vašem zidu da ima popis svih radnih mjesta 81 00:04:51,720 --> 00:04:57,170 koji su usmjereni na vas, i drugačiji pogled na vaše vijesti feed - takve stvari. 82 00:04:57,170 --> 00:05:00,610 Konačno, imate kontrolore koji su u osnovi, kada vam ljudi šalju postove 83 00:05:00,610 --> 00:05:03,310 a vi napravite ažuriranja za svoje back-end sustava, 84 00:05:03,310 --> 00:05:06,400 što prirast hrpa brojila, i što god. 85 00:05:06,400 --> 00:05:07,860 To su tvoji kontroleri. 86 00:05:07,860 --> 00:05:11,030 >> Idem se govori uglavnom o modelima. 87 00:05:11,030 --> 00:05:14,030 Pogledi su tehnički nije to tako teško, a pitanje je više s njima projektiranje 88 00:05:14,030 --> 00:05:22,040 Kontroleri će biti specifične za ono što ste projektiranje. 89 00:05:22,040 --> 00:05:25,220 Ali postoje neke prilično opće tehnike koje možete koristiti 90 00:05:25,220 --> 00:05:30,220 kako bi vaš modeli ljepše i lakše raditi s tim mislim da su vrlo korisne. 91 00:05:30,220 --> 00:05:35,860 To se uglavnom događa da se o tome kako se nositi sa svojim web aplikacije podataka na lijep način. 92 00:05:35,860 --> 00:05:40,420 Glavni problemi s modelima 93 00:05:40,420 --> 00:05:44,540 su da oni žive na klijenta i poslužitelja, a vi morate shvatiti 94 00:05:44,540 --> 00:05:51,170 ) kako ih dobiti - sve relevantne one - s poslužitelja na klijenta, 95 00:05:51,170 --> 00:05:53,440 i b) kako ih zadržati u sinkronizaciji. 96 00:05:53,440 --> 00:05:58,700 Vaši korisnici htjeti napraviti neke promjene. 97 00:05:58,700 --> 00:06:00,470 Oni će htjeti napraviti nove postove. 98 00:06:00,470 --> 00:06:04,800 Oni će htjeti vole stvari i stvari, ako imate voli. 99 00:06:04,800 --> 00:06:11,490 Oni su glavni tehnički izazovi bave modelima. 100 00:06:11,490 --> 00:06:15,680 Prva stvar koju idete da želite da se zapitate je 101 00:06:15,680 --> 00:06:18,420 kakav podataka ide u ovaj model i kakva upite ćemo želite učiniti - 102 00:06:18,420 --> 00:06:24,290 koji je, kako ćemo gledati na modelima? 103 00:06:24,290 --> 00:06:26,940 Za Cat Facebook primjerice, 104 00:06:26,940 --> 00:06:31,520 Vaš post će imati autora povezane s njom, 105 00:06:31,520 --> 00:06:35,660 neki zid nakon teksta, a dobitnik zidne post. 106 00:06:35,660 --> 00:06:38,470 A onda možda želite postaviti upit da u hrpa različitih načina. 107 00:06:38,470 --> 00:06:42,220 Vi bi htjeli gledati na to tako, koji je napisao Koji post, 108 00:06:42,220 --> 00:06:46,620 po koji je dobio što objavite, možda po datumu kada su bile objavljene. 109 00:06:46,620 --> 00:06:50,340 Ali ako ćete to učiniti po datumu, onda morate dodati još jedan teren za svoj post 110 00:06:50,340 --> 00:06:52,490 od kada je zapravo bio objavljen. 111 00:06:52,490 --> 00:07:00,220 Ove 2 faktora - koje podatke žele koristiti i kako želite da bi je vidjeli - 112 00:07:00,220 --> 00:07:04,200 trebali razmišljati o njima prvi, jer oni ovise jedni o drugima, 113 00:07:04,200 --> 00:07:08,030 i to će biti teže da ih dodate kasnije. 114 00:07:08,030 --> 00:07:12,750 >> Postoje neki drugi razlozi. 115 00:07:12,750 --> 00:07:17,540 Kada razmišljate o tome kako se nositi s modelima na poslužitelju 116 00:07:17,540 --> 00:07:20,540 ono što želite pogledati je - 117 00:07:20,540 --> 00:07:27,440 vi zapravo želite napraviti server kao jednostavan kao moguć. 118 00:07:29,440 --> 00:07:35,500 Doing stvari na strani klijenta je općenito mnogo brže ako to može učiniti isključivo na klijentu 119 00:07:35,500 --> 00:07:38,230 bez radite bilo kakav zahtjev mreže. 120 00:07:38,230 --> 00:07:47,860 Ideja je napraviti što više upita što možete na klijentu. 121 00:07:47,860 --> 00:07:51,560 Jedini problem s tim 122 00:07:51,560 --> 00:07:54,160 je da ako zatražiti sve podatke na početku 123 00:07:54,160 --> 00:07:57,160 zatim da će potrajati dugo vremena za učitavanje. 124 00:07:57,160 --> 00:08:02,290 Dakle, ideja je da se štrajk sretan medij između imati dovoljno podataka o klijentu 125 00:08:02,290 --> 00:08:07,640 koje možete napraviti većinu svog posla ima, ali ne samo dobavljanje sve odjednom 126 00:08:07,640 --> 00:08:09,710 , tako da se jako sporo vrijeme učitavanja na početku. 127 00:08:09,710 --> 00:08:12,610 Na primjer, za svoju mačku podataka 128 00:08:12,610 --> 00:08:20,340 vjerojatno biste željeli da donese hrpu posljednjih poruke na zidu. 129 00:08:20,340 --> 00:08:23,790 Vi ne želite da donese sve od njih, jer to može vratiti par godina. 130 00:08:23,790 --> 00:08:25,470 Ali, vi ne želite da ih dohvatiti jednu po jednu 131 00:08:25,470 --> 00:08:28,740 jer bi to uvesti mnogo mreže pretek. 132 00:08:28,740 --> 00:08:33,620 >> To je često vrlo teško - nakon što su trčanje baze podataka - 133 00:08:33,620 --> 00:08:37,210 to je često vrlo teško promijeniti ono što podatke imate u njemu - 134 00:08:37,210 --> 00:08:40,510 to jest, dodati novu bazu podataka kolumnu ili nešto - 135 00:08:40,510 --> 00:08:43,510 tako jedna dobra strategija je zapravo samo da bi puno podataka u tekstualnom blob - 136 00:08:43,510 --> 00:08:53,880 JSON blob - JSON bude JavaScript Object zapis - 137 00:08:53,880 --> 00:08:58,330 Razlog je to korisno, jer tada možete dodavati nove svojstva 138 00:08:58,330 --> 00:09:01,920 za sve ove JSON mrljica bez mijenjanja podataka. 139 00:09:01,920 --> 00:09:06,860 Jedini minus za to je da ako imate hrpu polja 140 00:09:06,860 --> 00:09:09,890 da li dodati kasnije - kao skrivena u tom JSON blob - 141 00:09:09,890 --> 00:09:12,850 onda je teže ih upita u bazu. 142 00:09:12,850 --> 00:09:17,690 Na primjer, ako kasnije - ako ste imali svoj post model koji smo ranije 143 00:09:17,690 --> 00:09:25,380 sa samo autora, primatelja i tekst - 144 00:09:25,380 --> 00:09:29,000 što bi također moglo imati JSON blob i onda ako kasnije htjela dodati polje datum 145 00:09:29,000 --> 00:09:31,000 ne bi morala promijeniti svoje baze podataka. 146 00:09:31,000 --> 00:09:36,140 Vi samo mogao dodati datume za sve tekstualna polja. 147 00:09:36,140 --> 00:09:39,640 I onda će se moći gledati na one koji su na strani klijenta, 148 00:09:39,640 --> 00:09:42,430 , ali ne bi bio u stanju da ih upita na strani poslužitelja 149 00:09:42,430 --> 00:09:44,430 zato što je skriven unutar tog teksta. 150 00:09:44,430 --> 00:09:49,920 >> Drugi problem koji želite razmišljati o 151 00:09:49,920 --> 00:09:52,400 je, kako je vaš klijent i poslužitelj će komunicirati. 152 00:09:52,400 --> 00:09:56,040 Obično želite zadržati ovaj kao jednostavan kao moguć. 153 00:09:56,040 --> 00:10:02,230 Vi samo možete imati kao get-me-ovom zahtjevu podataka, 154 00:10:02,230 --> 00:10:09,140 create-a-new-objekt stvar, a zahtjev za obnavljanjem-star-objekt. 155 00:10:09,140 --> 00:10:12,930 I to će sve biti različite URL-ove na poslužitelju koji ste - 156 00:10:12,930 --> 00:10:20,030 koji preglednik bi - možete koristiti AJAX zahtjeve za sve ove 157 00:10:20,030 --> 00:10:24,000 i primati bilo ili šalju podatke. 158 00:10:24,000 --> 00:10:26,600 Opet, za naše Cat Facebook primjerice, 159 00:10:26,600 --> 00:10:32,350 što bi moglo imati taj URL dobiti individualni post, 160 00:10:32,350 --> 00:10:39,750 i da ćeš imati URL za stvaranje novog zid komentar 161 00:10:39,750 --> 00:10:45,670 a možda URL za upload svoju sliku profila, takve stvari. 162 00:10:45,670 --> 00:10:51,730 Ali opet, to je na pre-dohvatili većina vaših podataka, tako da ne morate držati 163 00:10:51,730 --> 00:10:53,360 stvaranje mreže zahtjeve. 164 00:10:53,360 --> 00:10:59,030 Iz tog razloga, možda ne želite da se taj pojedinac dobiti zahtjev za jedan post, 165 00:10:59,030 --> 00:11:03,210 i umjesto toga će samo želim 1. Prvi zahtjev za cijeli zid. 166 00:11:03,210 --> 00:11:06,110 I onda ako pokušavamo postići ravnotežu, jer - 167 00:11:06,110 --> 00:11:10,970 to je također će ovisiti o vašem zahtjevu. 168 00:11:10,970 --> 00:11:13,430 Zato, ako ste očekivali da ljudi imaju samo 10 ili 20 poruke na zidu 169 00:11:13,430 --> 00:11:15,430 koja će biti u redu. 170 00:11:15,430 --> 00:11:17,390 Ali, ako ste očekivali da ćete imati tisuće onda taj zahtjev bi potrajati predugo, 171 00:11:17,390 --> 00:11:23,580 i tako možda želite dodati dobili-sve-postove-od parametar. 172 00:11:23,580 --> 00:11:26,580 >> Za sve to vjerojatno idete da želite sinkronizirati podatke u JSON - 173 00:11:26,580 --> 00:11:29,260 JavaScript Object zapis. 174 00:11:29,260 --> 00:11:34,600 Više-manje svaki jezik bavi JSON vrlo dobro. 175 00:11:34,600 --> 00:11:40,880 JQuery ima ovu lijepu getJSON funkciju koja će učiniti sve teško raditi za vas. 176 00:11:40,880 --> 00:11:47,390 I na PHP tu je i vrlo lijepo JSON komunikacijske funkcije. 177 00:11:47,390 --> 00:11:52,660 Dakle, to je vjerojatno najbolji format za slanje svoje modele natrag i naprijed. 178 00:11:52,660 --> 00:11:56,570 >> Kao primjer onoga što smo razgovarali o do sada, 179 00:11:56,570 --> 00:12:00,520 evo primjer toka za svoju Cat Facebook aplikaciju. 180 00:12:00,520 --> 00:12:07,760 Ona započinje s web pregledniku traži baze web stranice URL. 181 00:12:07,760 --> 00:12:15,470 Server će vjerojatno poslati na statički HTML i neki JavaScript i CSS. 182 00:12:15,470 --> 00:12:19,170 To je obično najbolje ne raditi nikakve renderiranje na poslužitelju. 183 00:12:19,170 --> 00:12:23,370 Vi vjerojatno ne želite - 184 00:12:23,370 --> 00:12:28,360 što server ne radi tamo će se i popis zidnih postova 185 00:12:28,360 --> 00:12:31,120 i stvaranje neke HTML-a za svaku od njih, a da je više od slanja. 186 00:12:31,120 --> 00:12:34,960 To je obično najbolje da to učinite na strani klijenta, jer u protivnom 187 00:12:34,960 --> 00:12:38,580 svaki put kada želite ponovno izvući nešto, morate napraviti zahtjev poslužitelja. 188 00:12:38,580 --> 00:12:42,450 I to vrlo brzo vam daje puno pretek. 189 00:12:42,450 --> 00:12:47,430 To je obično najbolje samo da brod šalje dolje statički HTML 190 00:12:47,430 --> 00:12:50,660 a zatim JavaScript i CSS da će učiniti renderiranje na strani klijenta. 191 00:12:50,660 --> 00:12:56,750 Čim je ta stvar dolazi u, 192 00:12:56,750 --> 00:13:03,500 onda možete imati - u JavaScriptu - možete učiniti zahtjeve za podacima o zid 193 00:13:03,500 --> 00:13:08,740 i takve stvari, a nakon toga server je zapravo samo radi upita baze podataka 194 00:13:08,740 --> 00:13:10,740 i provjere dopuštenja. 195 00:13:10,740 --> 00:13:16,690 Važno je samo da se ne može poslati preko neke druge korisnička poruke na zidu 196 00:13:16,690 --> 00:13:19,220 da ne smijemo vidjeti. 197 00:13:19,220 --> 00:13:28,050 To zapravo može biti vrlo tanak sloj pristupa na svoju bazu podataka, 198 00:13:28,050 --> 00:13:32,820 i onda sve pokazuje podatke - sve pogleda i stvari - 199 00:13:32,820 --> 00:13:37,280 one koji se može dogoditi u vašem pregledniku, a onda kad želite napraviti post ili nešto 200 00:13:37,280 --> 00:13:40,000 samo poslati novi zahtjev. 201 00:13:40,000 --> 00:13:45,350 >> Tu je također i neki fancy stvari možete učiniti na vrhu toga. 202 00:13:45,350 --> 00:13:49,550 Što se tiče konkretnih tehničkih podataka, 203 00:13:49,550 --> 00:13:53,360 razvija se u ravnici JavaScript može biti malo bolno, 204 00:13:53,360 --> 00:13:56,220 tako da postoje neke knjižnice i alate koji će vam pomoći puno s tim. 205 00:13:56,220 --> 00:14:03,690 Mislim da ste svi vjerojatno čuli jQuery što čini radi HTML renderiranje 206 00:14:03,690 --> 00:14:08,890 i manipulacija puno lakše - imaju puno fantazija funkcija za blijedi i izlaziti, 207 00:14:08,890 --> 00:14:12,020 i radi Zippy animacije. 208 00:14:12,020 --> 00:14:13,720 Tu je i ova knjižnica zove Underscore.js. 209 00:14:13,720 --> 00:14:20,760 Ima puno korisnih komunalnih funkcija, stvari koje biste očekivali JavaScript imati 210 00:14:20,760 --> 00:14:24,740 da to stvarno doesnt - stvari kao miješanje niz, 211 00:14:24,740 --> 00:14:28,900 uklanjanja duplikata s popisa, ili ravnanje popis listama. 212 00:14:28,900 --> 00:14:30,900 Ovo je samo mali uzorak koda. 213 00:14:30,900 --> 00:14:36,520 Donja ima tonu tih lijepih funkcija koje želite te će imati sve vrijeme. 214 00:14:36,520 --> 00:14:38,840 >> A tu je još jedna kolekcija koja Htio bih provesti malo vremena na 215 00:14:38,840 --> 00:14:44,800 zove Backbone.js jer Backbone stvarno pomaže vam nositi se s modelima na strani klijenta 216 00:14:44,800 --> 00:14:47,210 i puno konfuzije koja to može izazvati. 217 00:14:47,210 --> 00:14:53,550 Backbone vam daje ovaj koncept modela i zbirki 218 00:14:53,550 --> 00:14:58,300 u JavaScriptu koji su u osnovi točno poput JavaScripta objekata 219 00:14:58,300 --> 00:15:04,900 u JavaScriptu polja, ali su događaji kada mijenjaju svoja svojstva. 220 00:15:04,900 --> 00:15:09,090 Baš kao u JavaScriptu, možete imati događaj kada je gumb dobiva kliknuli ili tako nešto 221 00:15:09,090 --> 00:15:14,800 Okosnicu ove modele i kao okosnica zbirke će emitirati stvari kao što su 222 00:15:14,800 --> 00:15:17,510 da kad se promijeniti. 223 00:15:17,510 --> 00:15:22,270 To znači da možete samo napisati nešto poput ovog isječak koda ovdje - 224 00:15:22,270 --> 00:15:27,530 to kaže, kad god nešto dodati na postove Array iscrtavanje cijeli zid. 225 00:15:27,530 --> 00:15:34,270 A to će reći, kad god tvoj post je broj voli promjene, 226 00:15:34,270 --> 00:15:38,970 što obavijestiti korisnika da je netko volio svoj post. 227 00:15:38,970 --> 00:15:45,210 Ili kad god je bilo vlasništvo post mijenja li iscrtavanje post. 228 00:15:45,210 --> 00:15:51,050 Takve stvari će vam uštedjeti tona složenosti, jer u protivnom 229 00:15:51,050 --> 00:15:55,440 ako nemate pojedine okvirne kao što je ovaj onda svaki put u kodu da promijeni 230 00:15:55,440 --> 00:16:04,280 išta o post, ne bi se sjećam sebe nazvati sve uzvratiti funkcije 231 00:16:04,280 --> 00:16:07,680 i takve stvari, a ako ste htjeli dodati nešto novo što se dogodilo 232 00:16:07,680 --> 00:16:10,680 svaki put kada promjene post da ćeš morati proći kroz svako mjesto u vašem 233 00:16:10,680 --> 00:16:14,610 kod koji ste promijenili post i dodati da je nešto novo. 234 00:16:14,610 --> 00:16:21,450 Okvir kao što je ovaj će ukloniti puno toga između-slojem komunikacije 235 00:16:21,450 --> 00:16:28,280 koji čini vaš broj složen i teško održavati. 236 00:16:28,280 --> 00:16:31,170 >> Postoji malo o pogledima također. 237 00:16:31,170 --> 00:16:35,960 Ja ću napustiti većina to Billy, jer oni su tehnički nije jako teško. 238 00:16:35,960 --> 00:16:43,540 Pomoću jQuery za svoje stavove. To je gotovo kao nužnost u ovom trenutku. 239 00:16:43,540 --> 00:16:46,290 To samo čini sve što je tako puno lakše. 240 00:16:46,290 --> 00:16:48,290 Ima puno knjižnicama. 241 00:16:48,290 --> 00:16:49,970 Ako ste komplicirane elemente korisničko sučelje, 242 00:16:49,970 --> 00:16:57,250 ako želite auto-kompletna stvar ili kao jedan od onih fancy multi-selektora - 243 00:16:57,250 --> 00:17:04,790 ako želite nešto poput toga, vjerojatno biste trebali samo traži oko 244 00:17:04,790 --> 00:17:08,130 i možete naći dobar knjižnicu da će učiniti ono što želite. 245 00:17:08,130 --> 00:17:11,579 Billy će objasniti više o doista teškim dijelovima pogledima. 246 00:17:11,579 --> 00:17:17,530 Također, kao strani bilješku, Backbone ima funkcionalnost za stvaranje pregleda komuniciraju 247 00:17:17,530 --> 00:17:22,800 lijepo s modelima - pogledati dokumentaciju za sve ove knjižnice, zapravo. 248 00:17:22,800 --> 00:17:28,270 Dovoljno je pogledati dokumente. Oni su jako dobro napisana i lako slijediti. 249 00:17:28,270 --> 00:17:33,890 Općenito, možete prilično mnogo samo Google, ako imate problema. 250 00:17:33,890 --> 00:17:36,370 Ima puno ljudi koji ih koriste. 251 00:17:36,370 --> 00:17:42,020 Mislim da je to kao konačan bilješka. 252 00:17:42,020 --> 00:17:48,770 >> Tu su i neke naprednije stvari koje možete učiniti 253 00:17:48,770 --> 00:17:53,400 Ako ste u potrazi za napraviti svoj web app extra strašan. 254 00:17:53,400 --> 00:17:59,760 To možete učiniti - novi HTML5 specifikacije ima puno fancy stvari koje možete učiniti. 255 00:17:59,760 --> 00:18:05,780 Lokalna pohrana - što je možete spremiti podatke u pregledniku - 256 00:18:05,780 --> 00:18:09,470 umjesto da se vrati i prostudirati poslužitelj za sve, 257 00:18:09,470 --> 00:18:12,470 možete zadržati nešto od toga na klijentu, a to čak i omogućuje ljudima - 258 00:18:12,470 --> 00:18:20,850 u nekim slučajevima čak i ona može vam koristiti web stranice offline. 259 00:18:20,850 --> 00:18:26,980 Tu je ta stvar zove WebSockets koja su drugačija vrsta mrežne komunikacije 260 00:18:26,980 --> 00:18:30,930 gdje umjesto da samo napravite jedan zahtjev, te dobiti odgovor i to je to, 261 00:18:30,930 --> 00:18:35,240 što bi otvorili vezu s poslužiteljem i tako možete učiniti stvari kao što su 262 00:18:35,240 --> 00:18:37,240 ažuriranja u stvarnom vremenu. 263 00:18:37,240 --> 00:18:42,020 Dakle, ako su pokušali napraviti chat aplikaciju, možete koristiti WebSockets 264 00:18:42,020 --> 00:18:43,790 komunicirati i nazad, tako da ne bi trebala zadržati traži, 265 00:18:43,790 --> 00:18:48,410 "Oh, poslužitelj, nije bilo tko poslati mi razgovor?" svakih 10 sekundi ili tako nešto. 266 00:18:48,410 --> 00:18:55,620 Tu je i zanimljiva HTML5 značajka gdje možete učiniti da izgleda kao 267 00:18:55,620 --> 00:18:58,340 URL stranice se mijenja bez potrebe da zapravo je papirom. 268 00:18:58,340 --> 00:19:03,230 Možete koristiti natrag i naprijed bez radiš hrpu mreže zahtjeva. 269 00:19:03,230 --> 00:19:14,660 Takve stvari stvarno koristan u smislu što je brz, ali i raditi kao web aplikacija trebala. 270 00:19:14,660 --> 00:19:17,680 >> Tu je i ta stvar zove CoffeeScript. 271 00:19:17,680 --> 00:19:24,450 CoffeeScript je drugačiji jezik, zapravo, da se sastavlja prema dolje JavaScript. 272 00:19:24,450 --> 00:19:30,080 Ti bi napisati sve svoje kod u CoffeeScript, a onda pokrenuti ovaj prevodilac, 273 00:19:30,080 --> 00:19:33,300 i to ispljune JavaScript datoteku koju možete uključiti u svoju web stranicu. 274 00:19:33,300 --> 00:19:38,860 Razlog da CoffeeScript je lijepo jer se dobiva osloboditi od mnogo 275 00:19:38,860 --> 00:19:44,760 čudni slučajevi da JavaScript ima gdje iznosi jednakima, 276 00:19:44,760 --> 00:19:51,130 i iznosi jednaki rade različite stvari, ili mi se - 277 00:19:51,130 --> 00:19:55,740 ima ljepši sintaksu za rješavanje polja i funkcijama. 278 00:19:55,740 --> 00:20:00,460 To je mali isječak CoffeeScript koji stvara popis svih kvadrata 279 00:20:00,460 --> 00:20:04,900 od 10 ^ 2-1 ^ 2, ali obrnutim redoslijedom. 280 00:20:04,900 --> 00:20:08,410 Kao što možete vidjeti, CoffeeScript često omogućuje vam izraziti u jednoj liniji 281 00:20:08,410 --> 00:20:10,890 što će potrajati pet redaka JavaScript. 282 00:20:10,890 --> 00:20:13,230 To može napraviti stvari puno lakše. 283 00:20:13,230 --> 00:20:15,390 To je malo novom sintaksom naučiti u početku, 284 00:20:15,390 --> 00:20:18,010 ali definitivno će vas više produktivni na duge staze. 285 00:20:18,010 --> 00:20:22,050 >> Također možete koristiti i druge jezike na poslužitelju od PHP - 286 00:20:22,050 --> 00:20:27,570 jezika kao Ruby, Python, ili postoji čak i projekt pod nazivom node.js 287 00:20:27,570 --> 00:20:31,450 koja će vam koristiti termina na poslužitelju. 288 00:20:31,450 --> 00:20:34,700 Osobno, ja stvarno, stvarno mrzim PHP. 289 00:20:34,700 --> 00:20:38,310 Ja jednostavno ne uživaju radeći s njim. 290 00:20:38,310 --> 00:20:43,450 Ako ste, također, mislim da je to strašno cluge o jeziku, 291 00:20:43,450 --> 00:20:46,160 onda možete koristiti jedan od tih, umjesto. 292 00:20:46,160 --> 00:20:54,780 Općenito, ako želite napraviti nešto, a vi stvarno ne znam kako će to učiniti, 293 00:20:54,780 --> 00:20:56,780 Samo pretraživanje Interneta. 294 00:20:56,780 --> 00:20:59,990 Tu su tone i tone sredstava pogotovo na - 295 00:20:59,990 --> 00:21:03,260 StackOverflow je jedan veliki. 296 00:21:03,260 --> 00:21:06,400 To je ova web stranica gdje programeri pitati jedni druge na pitanja. 297 00:21:06,400 --> 00:21:09,690 Možda ste se izvoditi u nju, ako ste imali problema na CS50 problematičnih setovima. 298 00:21:09,690 --> 00:21:16,820 A tu su i tone knjižnicama za to prilično mnogo bilo što što bi željeli. 299 00:21:16,820 --> 00:21:21,710 Ako želite nešto učiniti, a vi ne znate kako to učiniti, 300 00:21:21,710 --> 00:21:23,710 nemojte pretpostavljati da je to nemoguće. 301 00:21:23,710 --> 00:21:26,160 Dovoljno je pogledati oko sebe i možda ćete naći neke dobre resurse. 302 00:21:26,160 --> 00:21:29,280 >> Kao opće završiti, 303 00:21:29,280 --> 00:21:33,650 glavni takeaways se držati jednostavne stvari. 304 00:21:33,650 --> 00:21:36,010 Složeniji vaš broj je na početku 305 00:21:36,010 --> 00:21:40,370 i više vas pokušati i napraviti fancy stvari, 306 00:21:40,370 --> 00:21:43,300 više će se da se nešto zaista funkcionalnu 307 00:21:43,300 --> 00:21:46,480 i to će biti teže mijenjati kasnije. 308 00:21:46,480 --> 00:21:49,580 Dakle, raditi stvari glupi, jednostavan način prvi put. 309 00:21:49,580 --> 00:21:51,720 Da se s tim, 310 00:21:51,720 --> 00:21:59,070 nemojte se bojati baca stari broj ili čišćenja se puno. 311 00:21:59,070 --> 00:22:05,320 U principu, jednom kad zapravo imaju nešto raditi, 312 00:22:05,320 --> 00:22:09,640 to je mnogo lakše misliti o tome, nego kad ste još uvijek u početnim stadijima 313 00:22:09,640 --> 00:22:12,610 od kako sam stavio sve ovo zajedno. 314 00:22:12,610 --> 00:22:17,500 To je najbolje napraviti najgluplji mogući dizajn koji radi 315 00:22:17,500 --> 00:22:22,270 , a zatim ga poboljšati iteratively nego pokušaj da se sve što je pravo prvi put. 316 00:22:22,270 --> 00:22:28,330 U smislu klijent-poslužitelj podjele, pokušajte zadržati svoj server vrlo jednostavan - 317 00:22:28,330 --> 00:22:33,030 samo baza, a neki autentikacije i ne učiniti bilo teško raditi tamo. 318 00:22:33,030 --> 00:22:37,540 Učinite sve svoje komplicirane stvari na strani klijenta u pregledniku 319 00:22:37,540 --> 00:22:40,650 u JavaScriptu koliko god možete. 320 00:22:40,650 --> 00:22:43,420 Pogledajte oko za knjižnice da bi vaš život boljim. 321 00:22:43,420 --> 00:22:46,850 Uvijek je bolje koristiti kod koje je netko drugi napisao 322 00:22:46,850 --> 00:22:49,850 ako - i ne bi ga pisati sami. 323 00:22:49,850 --> 00:22:57,560 Postoji puno stvari na internetu. Google je tvoj najbolji prijatelj. 324 00:22:57,560 --> 00:22:59,560 Google je programer najbolji prijatelj. 325 00:22:59,560 --> 00:23:07,620 Da, svakako, nemojte se bojati da bacite pogled na stvari. 326 00:23:07,620 --> 00:23:11,860 U redu. I više od Billyja. 327 00:23:11,860 --> 00:23:14,600 >> [Billy] Zapravo, prije nego što počnem s nekim dizajn stvari, 328 00:23:14,600 --> 00:23:17,250 Ima li tko pitanja za Bena o svemu što je on govorio o? 329 00:23:17,250 --> 00:23:20,290 Dobro, dobro. 330 00:23:20,290 --> 00:23:22,220 Opet, javite nam, ako ništa nije jasno 331 00:23:22,220 --> 00:23:25,420 ili ako želite da ide preko nešto malo više. 332 00:23:25,420 --> 00:23:30,330 Idem korak natrag malo i razgovarati o više temeljnih dijelova dizajna. 333 00:23:30,330 --> 00:23:34,840 Ben spomenuo model zove - Oprosti, Model pogled kontroler sustav 334 00:23:34,840 --> 00:23:38,520 koja je vrsta tehničkog aspekta, pa ću pogledati pogledima posebno, 335 00:23:38,520 --> 00:23:42,930 i ja ću početi s time kako ćeš dizajnirati stav da izgleda lijepo. 336 00:23:42,930 --> 00:23:50,540 Ovdje je vrsta stvarno osnovni predložak za naš mačak Facebooku. 337 00:23:50,540 --> 00:23:54,190 Mislim da postoje neke osnove u modernom dizajnu UI 338 00:23:54,190 --> 00:23:56,190 koji su vrijedno branje gore. 339 00:23:56,190 --> 00:23:58,210 Možete primijetiti da postoji puno bijelog prostora diljem stranici, 340 00:23:58,210 --> 00:24:00,790 dosta mjesta za stvari. 341 00:24:00,790 --> 00:24:02,580 Ne osjećam se kao da imate squash stvari u stranicu. 342 00:24:02,580 --> 00:24:06,700 Vi želite ostaviti puno prostora otvoren, a ako idete na gotovo svakom modernom web stranice 343 00:24:06,700 --> 00:24:08,380 vidjet ćete da postoji bijelo posvuda. 344 00:24:08,380 --> 00:24:10,380 Tu je bijela na mjestima ne biste očekivali. 345 00:24:10,380 --> 00:24:14,570 Imate ovu paletu boja, a to je mudar na početku 346 00:24:14,570 --> 00:24:17,880 izabrati paletu boja koje idete raditi i razvijati. 347 00:24:17,880 --> 00:24:22,250 Također - to pomaže da odaberete slovima, i na taj način si vrsta rada s 348 00:24:22,250 --> 00:24:24,450 ove konkretne osnove dizajna. 349 00:24:24,450 --> 00:24:26,910 Imate svoju vrstu, imate svoje boje, a zatim možete vrsta 350 00:24:26,910 --> 00:24:29,380 stane sve ostalo što je potrebno. 351 00:24:29,380 --> 00:24:37,710 Dakle, kao što sam rekao, s sheme boja želite koristiti hrabrije boje svoje sheme boja 352 00:24:37,710 --> 00:24:40,320 štedljivo. Zaglavlja su lijepe. Tipke su lijepo imati stvarno velik, jeftin boje. 353 00:24:40,320 --> 00:24:43,710 No, u cjelini, ako imate web stranicu koja ima boje posvuda, 354 00:24:43,710 --> 00:24:47,250 sve vas gleda u lice, to samo izgleda neuredno, a to nije dobro. 355 00:24:47,250 --> 00:24:50,430 Želite uglavnom koriste svijetlih boja. 356 00:24:50,430 --> 00:24:52,890 Pokušajte, opet, pokupiti prilično suvislu shemu boja. 357 00:24:52,890 --> 00:24:56,640 Možete imati ove male prskanja puno boja - 358 00:24:56,640 --> 00:25:00,240 kako može izgledati prilično lijepo, ali ih želite koristiti prilično rijetko. 359 00:25:00,240 --> 00:25:04,270 >> Kao što sam rekao, da želite biti minimalan. Manje je gotovo uvijek više. 360 00:25:04,270 --> 00:25:07,430 Ako možete prikazati nešto ili ne prikazati nešto, 361 00:25:07,430 --> 00:25:10,230 a ti si vrsta siguran je li to trebala biti tamo po defaultu - 362 00:25:10,230 --> 00:25:13,400 Vjerojatno si najbolji off ga izostave. Uvijek možete ga dodati u kasnije. 363 00:25:13,400 --> 00:25:16,620 Da, držati jednostavne stvari. 364 00:25:16,620 --> 00:25:19,510 Ali što je najvažnije, želite uzeti u obzir više dizajna. 365 00:25:19,510 --> 00:25:23,520 Nemojte misliti da kada napravite stranice, što su ga u glavu da idete 366 00:25:23,520 --> 00:25:26,310 napraviti stranicu na neki način, i to će izgledati točno kao što je ovaj. 367 00:25:26,310 --> 00:25:29,830 To će imati plavu zaglavlje na vrhu i plave bočnu traku 368 00:25:29,830 --> 00:25:32,670 a zatim žuta sub-header stvar. 369 00:25:32,670 --> 00:25:34,670 Želite li napraviti više predložaka. 370 00:25:34,670 --> 00:25:37,350 Možete bilo - ako si dobar s Photo Shopu, možete otvoriti da se i vrsta 371 00:25:37,350 --> 00:25:39,600 dizajniranje web stranica kao što želite da izgleda. 372 00:25:39,600 --> 00:25:41,680 Ako ne, možete samo koristiti olovku i papir, 373 00:25:41,680 --> 00:25:44,000 ali ispočetka se više dizajna. 374 00:25:44,000 --> 00:25:47,000 Želite osnovi imaju postaviti gdje imate puno različitih dizajna, 375 00:25:47,000 --> 00:25:50,810 i ako netko završi rad, onda je to super. 376 00:25:50,810 --> 00:25:53,370 Ako netko završi u nedostatku, onda uvijek imate još kome obratiti. 377 00:25:53,370 --> 00:25:57,960 U principu, ne osjećam se kao da bi trebao biti ograničen 378 00:25:57,960 --> 00:26:00,830 na bilo dizajna u početku odlučiti o. 379 00:26:00,830 --> 00:26:04,420 Dizajni su vrlo promjenjive, a dio važnosti modela 380 00:26:04,420 --> 00:26:09,480 Pogled kontroler je sustav koji možete zamijeniti i iz različitih pogleda koje želite. 381 00:26:09,480 --> 00:26:13,510 Možete njišu podatke na jednu stranu, a zatim odlučiti, oh, zapravo, da ne rade dobro. 382 00:26:13,510 --> 00:26:19,190 Mislim da je to neka vrsta prekomplicirano ili postoji dio da se ovdje nije stvarno radi, 383 00:26:19,190 --> 00:26:22,150 pa ću i to potpuno napustiti ovaj pogled i swap u potpuno novom. 384 00:26:22,150 --> 00:26:24,790 Mi još uvijek može koristiti stare modele i stare kontrolere. 385 00:26:24,790 --> 00:26:27,490 Mi možemo napraviti sve što je na poslužitelju i klijentu kao što bi prije. 386 00:26:27,490 --> 00:26:32,850 No, stvarna val podataka što prikazuju što će biti malo drugačiji. 387 00:26:32,850 --> 00:26:35,840 >> Što se tiče zapravo provedbi dizajn koji želite, 388 00:26:35,840 --> 00:26:39,330 Nakon što su nekoliko dizajna skicirao na papiru ili na Photo Shop ili bilo što drugo, 389 00:26:39,330 --> 00:26:42,120 postoji niz alata koje su dostupne za vas. 390 00:26:42,120 --> 00:26:45,700 Prvi ste dobro upoznati s kojom je vaš HTML, PHP, ili što god 391 00:26:45,700 --> 00:26:48,990 jezik koji koristite samo da kod statičke stranice na svoje web stranice. 392 00:26:48,990 --> 00:26:51,990 Vi ste radili s puno HTML koja vrsta daje vam ove oznake 393 00:26:51,990 --> 00:26:57,820 koje možete staviti stvari u, a zapravo je način organiziranja vaš sadržaj. 394 00:26:57,820 --> 00:27:00,990 Na primjer, imate zaglavlje tamo gore, tako da ćemo imati oznaku zaglavlja, 395 00:27:00,990 --> 00:27:05,770 i to će imati neki tekst unutar njega koji je vjerojatno će biti u drugoj krpa. 396 00:27:05,770 --> 00:27:08,380 Tada imate sidebar možda s nekim različitim vezama, 397 00:27:08,380 --> 00:27:10,160 a oni će sve biti u odvojenim tagova. 398 00:27:10,160 --> 00:27:13,870 Dakle, u osnovi HTML, au središtu je način podjele stranicu kako 399 00:27:13,870 --> 00:27:16,980 što na kraju želim ga formatirati. 400 00:27:16,980 --> 00:27:18,980 Pa opet, vidjeli ste to i prije. 401 00:27:18,980 --> 00:27:20,540 Prilično ste zadovoljni s njom radili sada 402 00:27:20,540 --> 00:27:23,120 s obzirom da ste to učinili posljednji pset nadamo se, 403 00:27:23,120 --> 00:27:26,150 , tako da bi trebao biti nikakav problem. 404 00:27:26,150 --> 00:27:31,280 >> Tada imate CSS koji u osnovi obrađuje sve od dizajna statičkim aspektima. 405 00:27:31,280 --> 00:27:35,320 To će nositi sve boje, sve pozicioniranju različitih elemenata, 406 00:27:35,320 --> 00:27:36,840 gdje idu jedna u odnosu na drugu, 407 00:27:36,840 --> 00:27:41,530 koliko veliki su, različite vrste positionings da će morati - 408 00:27:41,530 --> 00:27:46,030 Drugim riječima, možete se stvari fiksne, tako da kada se pomaknite prema dolje oni ostati, 409 00:27:46,030 --> 00:27:48,700 ili možete imati stvari u odnosu na druge elemente. 410 00:27:48,700 --> 00:27:50,730 Sve takve stvari u CSS. 411 00:27:50,730 --> 00:27:54,630 Osim toga, možete napraviti različite dekoracije, možete imati boje teksta, 412 00:27:54,630 --> 00:27:56,630 tekstualne efekte, sve takve stvari. 413 00:27:56,630 --> 00:28:00,360 Ben je dao jako dobar seminar o ovoj prošlog vikenda, 414 00:28:00,360 --> 00:28:04,450 pa ja bih svakako to provjeriti ako planirate raditi neki fancy stvari sa CSS. 415 00:28:04,450 --> 00:28:09,850 CSS3 je zapravo najnovija verzija CSS, a to može učiniti sve vrste jako lijepih stvari. 416 00:28:09,850 --> 00:28:14,750 To možete učiniti na nizbrdici, možete imati lijepe, zaobljene kutove, što možete učiniti sve vrste stvari 417 00:28:14,750 --> 00:28:17,940 kako bi vaše web stranice izgledaju modernije i fancy. 418 00:28:17,940 --> 00:28:22,150 >> Sljedeći alat je JavaScript i jQuery koja Ben razgovarali malo o, 419 00:28:22,150 --> 00:28:24,150 ali ja ću se malo dalje u. 420 00:28:24,150 --> 00:28:28,100 JavaScript, kao što sam radio s njim malo, ili barem vidjeti ga u predavanju, 421 00:28:28,100 --> 00:28:31,870 je vrsta način dinamički radi stvari u HTML-u. 422 00:28:31,870 --> 00:28:35,950 HTML, kao što znate, je statična, pa nakon što su HTML ne možete ga mijenjati. 423 00:28:35,950 --> 00:28:40,050 No, JavaScript, na neki način, je način da se moći mijenjati HTML. 424 00:28:40,050 --> 00:28:44,520 Dakle, možete to učiniti, i to je super, ali stvarno JavaScript je bol raditi. 425 00:28:44,520 --> 00:28:49,050 To je tako dugo i tup i učiniti čak i najjednostavnije stvari 426 00:28:49,050 --> 00:28:51,630 zahtijeva puno linija JavaScript. 427 00:28:51,630 --> 00:28:55,410 Dakle, jQuery je u osnovi biblioteka za JavaScript da pojednostavljuje sve to. 428 00:28:55,410 --> 00:28:59,880 On kaže, u redu, ako želite imati kvadratni okvir dolaze iz lijeve 429 00:28:59,880 --> 00:29:03,980 i nestati u stranicu, tako da je u sredini, u JavaScript da bi bilo potrebno - 430 00:29:03,980 --> 00:29:06,340 Ne znam, sto linije učiniti, i to će biti bol, 431 00:29:06,340 --> 00:29:10,540 i izaći iz nje mrzi sve o web programiranju. 432 00:29:10,540 --> 00:29:15,380 JQuery što u osnovi imaju elementa-dot-fade-in, ili nešto slično. 433 00:29:15,380 --> 00:29:18,580 Dakle, vrlo, vrlo jednostavne funkcije koje će vam učiniti sve vrste cool animacije 434 00:29:18,580 --> 00:29:20,580 i takve stvari. 435 00:29:20,580 --> 00:29:23,300 Druga je stvar da su to 2 su stvarno dobri za samo radi dinamične stvari 436 00:29:23,300 --> 00:29:25,300 s web stranice. 437 00:29:25,300 --> 00:29:28,370 Dakle, umjesto da samo imaju svoju HTML stranicu - koji prikazuje neke podatke, ali zapravo ne 438 00:29:28,370 --> 00:29:32,130 ništa - JavaScript i jQuery će vam imati tipke koje možete pritisnuti, 439 00:29:32,130 --> 00:29:37,960 i možete povući elemente i ponovno ih narudžbi i sortirati ih, i ima nove elemente 440 00:29:37,960 --> 00:29:40,500 dodati ili ukloniti. Možete dodati-delete, takve stvari. 441 00:29:40,500 --> 00:29:44,570 Dakle, jQuery ne tona cool stvari. 442 00:29:44,570 --> 00:29:48,840 I Vipul zapravo daje seminar o njemu danas, vjerujem, na 5-sati, 443 00:29:48,840 --> 00:29:51,220 pa ako možete držati oko za tako dugo, da bi - 5 ili 4? 444 00:29:51,220 --> 00:29:54,930 Četiri. Oprostite. To je zapravo odmah nakon toga, pa bih preporučio 445 00:29:54,930 --> 00:29:56,680 držati oko za to, ako je moguće. 446 00:29:56,680 --> 00:30:00,180 JQuery je super, super korisna, a vi ćete biti u mogućnosti to učiniti puno stvarno lijepih stvari s njim 447 00:30:00,180 --> 00:30:03,460 za prilično mnogo bilo web razvojni projekt. 448 00:30:03,460 --> 00:30:06,200 >> Sada ću ući u svojevrsni razlike. 449 00:30:06,200 --> 00:30:08,210 Razgovarao sam u osnovi o korisničkom sučelju. 450 00:30:08,210 --> 00:30:11,510 Korisničko sučelje je samo dizajn stranice. 451 00:30:11,510 --> 00:30:13,780 No, tu je vrsta drugi koncept koji je korisničko iskustvo. 452 00:30:13,780 --> 00:30:15,900 Dva su vrlo različita. 453 00:30:15,900 --> 00:30:19,440 Sučelje je definitivno dio iskustva. 454 00:30:19,440 --> 00:30:21,340 Drugim riječima, kad idete na stranice, možete pogledati na sučelju. 455 00:30:21,340 --> 00:30:22,960 To je dio onoga kako doživljavate stranice. 456 00:30:22,960 --> 00:30:24,960 No korisničko iskustvo je više od toga. 457 00:30:24,960 --> 00:30:29,910 Korisničko iskustvo je o tome što je dojam da korisnik dobiva iz vaše stranice je. 458 00:30:29,910 --> 00:30:31,910 Dakle, očito, sučelje je dio toga. 459 00:30:31,910 --> 00:30:35,340 I to je definitivno nužni dio, ali to nije dovoljno. 460 00:30:35,340 --> 00:30:38,790 Drugim riječima, ako imate lijepo sučelje, i to je lijepo i šareno i sve to, 461 00:30:38,790 --> 00:30:43,650 to je super, ali ako korisnik odlazi na svoje stranice, vidi lijepo izgleda i to je zbunjen 462 00:30:43,650 --> 00:30:47,060 sve, nema pojma kako se ništa učiniti, onda je očito da ste napravili stvarno 463 00:30:47,060 --> 00:30:48,930 siromašnima web. 464 00:30:48,930 --> 00:30:50,930 To je vrsta kojoj korisničko iskustvo dolazi u. 465 00:30:50,930 --> 00:30:54,570 Idem razgovarati malo o UX dizajn - UX je kratko za korisničko iskustvo - 466 00:30:54,570 --> 00:30:58,050 i vrsta kako možete biti sigurni da ćete imati dobro korisničko iskustvo. 467 00:30:58,050 --> 00:31:04,330 Prva stvar je da mogu dizajnirati web stranicu na kojoj korisnik može učiniti ništa da 468 00:31:04,330 --> 00:31:06,820 da je korisnik možda želi. 469 00:31:06,820 --> 00:31:08,940 Ali, ako korisnik ne može shvatiti kako to učiniti te stvari - 470 00:31:08,940 --> 00:31:12,850 Drugim riječima, ako korisnik ne imati dobru ideju kad idu na svoje mjesto, 471 00:31:12,850 --> 00:31:17,660 "Oh, ako želim ažurirati svoj profil, onda sam kliknite na ovaj gumb, ili ako želim postavljati na 472 00:31:17,660 --> 00:31:20,850 nečiji zid, onda idem na njihov zid i kliknite na malu kutiju. " 473 00:31:20,850 --> 00:31:24,410 Ako korisnik ne zna da je, onda ste učinkovito imaju zapravo ne 474 00:31:24,410 --> 00:31:27,080 ispravno provodi tu funkcionalnost. 475 00:31:27,080 --> 00:31:30,900 Dio provedbi funkcionalnost je da korisnici su zapravo u mogućnosti koristiti ga. 476 00:31:30,900 --> 00:31:34,810 A to bi moglo biti frustrirajuće - možda napraviti stranicu, a to može učiniti sve vrste 477 00:31:34,810 --> 00:31:37,810 divne stvari, ali onda ćete imati ljudi ga testirati i reći: "To ne može učiniti. 478 00:31:37,810 --> 00:31:39,770 Zašto ne mogu to učiniti? ", A vi ćete meni reći da im, 479 00:31:39,770 --> 00:31:44,420 "Pa, to može. Samo moraš ići u izborniku 7. padajućeg na ovaj opskuran 480 00:31:44,420 --> 00:31:48,470 stranica koja je samo pronašao link na dnu desnom kutu "ili tako nešto. 481 00:31:48,470 --> 00:31:50,430 Očito, ne želite to. 482 00:31:50,430 --> 00:31:53,420 Vi želite da bude jasno da svojim korisnicima ono što ste trebali učiniti, 483 00:31:53,420 --> 00:31:56,240 i to bi trebao biti jednostavan i intuitivan za njih. 484 00:31:56,240 --> 00:32:01,180 >> Još jedna stvar koju želite pokušati učiniti je, ako je netko će ići na svoju stranicu 485 00:32:01,180 --> 00:32:05,520 i 9 od 10 puta napraviti akcijski A, a 1 od 10 puta napraviti akcijski B, 486 00:32:05,520 --> 00:32:08,950 vjerojatno želite da se usredotočite svoje iskustvo na akciji A. 487 00:32:08,950 --> 00:32:12,240 Drugim riječima, želite da bude vrlo, vrlo jasno kako to učiniti A. 488 00:32:12,240 --> 00:32:15,980 Trebao biti front-and-centar - otići na stranicu, pogledajte ga, oh, to je upravo tamo. 489 00:32:15,980 --> 00:32:20,850 Dok B očito želite da bude jasno, ali možete ga ostaviti malo više 490 00:32:20,850 --> 00:32:22,850 u pozadini. 491 00:32:22,850 --> 00:32:24,640 David daje dobar primjer za to je u predavanju, 492 00:32:24,640 --> 00:32:26,640 što je Boston T sustav. 493 00:32:26,640 --> 00:32:29,440 Kada idete u Boston T i želite kupiti ulaznicu, 494 00:32:29,440 --> 00:32:32,700 morate doći u 5 izbornika prije nego što zapravo možete kupiti ulaznicu 495 00:32:32,700 --> 00:32:37,130 za 2 dolara, 2,50 dolara vrijednosti, koji je koliko je potrebno za vožnju podzemnom željeznicom 496 00:32:37,130 --> 00:32:39,130 u jednom smjeru. 497 00:32:39,130 --> 00:32:41,600 To je problem, jer većina ljudi koji se voze podzemnom željeznicom 498 00:32:41,600 --> 00:32:44,880 Vjerojatno samo želim otići na jedno mjesto, kupite svoju ulaznicu, doći na odmah. 499 00:32:44,880 --> 00:32:47,550 To nema smisla da oni moraju proći kroz mnogo različitih izbornika 500 00:32:47,550 --> 00:32:49,550 doći. 501 00:32:49,550 --> 00:32:51,760 Bolje korisničko iskustvo će biti brza tipka na prvoj stranici 502 00:32:51,760 --> 00:32:54,760 da samo kaže, 'kupiti kartu u jednom smjeru,' i da će staviti u sve norme 503 00:32:54,760 --> 00:32:58,550 Zadane vrijednosti, a zatim, ako netko želi kupiti neku drugu ulaznicu od toga, 504 00:32:58,550 --> 00:33:01,690 oni još uvijek, naravno, imaju mogućnost, ali ste optimiziran za 505 00:33:01,690 --> 00:33:04,080 zajedničko korištenje slučaj što je doista važno. 506 00:33:04,080 --> 00:33:06,830 Možete vidjeti primjere toga na Facebooku, zar ne? 507 00:33:06,830 --> 00:33:09,410 Ako idete na Facebooku i želite objaviti status, 508 00:33:09,410 --> 00:33:11,710 to je pravo na vrhu, koji je ono što se često želite učiniti. 509 00:33:11,710 --> 00:33:14,730 Čim uđete u stranicu, možete učiniti najčešće stvari koje 510 00:33:14,730 --> 00:33:16,730 što želite učiniti. 511 00:33:16,730 --> 00:33:17,550 Ako želite učiniti nešto složenije stvari poput: 512 00:33:17,550 --> 00:33:21,070 kažu Želim ići na mog prijatelja zid i postavljati sliku o njemu - 513 00:33:21,070 --> 00:33:24,810 što ću žele raditi često, ali ne tako često kao slanjem ažuriranja statusa - 514 00:33:24,810 --> 00:33:28,200 pa u tom slučaju, ja upisati svoje ime u okvir na vrhu, kliknite na svom profilu, 515 00:33:28,200 --> 00:33:31,680 a onda, ipak, to je pravo na vrhu tamo jednom sam dobivši njihovom profilu. 516 00:33:31,680 --> 00:33:38,240 Opet, ja sam optimiziran u prioritetu za slučajeve najčešće namjene. 517 00:33:38,240 --> 00:33:41,800 >> Još jedna važna stvar je da često ljudi će nekako pokušati zaobići 518 00:33:41,800 --> 00:33:44,890 govoreći, u redu, tako da sam napravio stranicu i ljudi spoznaju da je zbunjujuće, 519 00:33:44,890 --> 00:33:46,110 i to je problem, zar ne? 520 00:33:46,110 --> 00:33:49,210 Očito, ne želim da ljudi budu zbunjeni sadržaj moje stranice. 521 00:33:49,210 --> 00:33:53,210 No, način da se riješi to nije imati nešto pop-up rekavši, 522 00:33:53,210 --> 00:33:55,290 hej, ja ću vas naučiti kako koristiti ove stranice. 523 00:33:55,290 --> 00:33:58,130 1. korak - kliknite ovaj gumb. Korak 2 - ići ovdje. 524 00:33:58,130 --> 00:34:03,080 Naravno, to je način oko nje - to je način na koji možete reći ljudima što učiniti, ali to je 525 00:34:03,080 --> 00:34:05,080 stvarno nije optimalan način. 526 00:34:05,080 --> 00:34:07,420 Ako idem na web stranicu i odjednom sam bombardiran s ovom tutorial koji mi govori 527 00:34:07,420 --> 00:34:11,739 što učiniti i gdje ići i sve to, to nije zabavno za mene. 528 00:34:11,739 --> 00:34:13,739 Nije to dobro iskustvo za mene. 529 00:34:13,739 --> 00:34:17,130 To je vrsta boli. Želim samo početi raditi stvari. 530 00:34:17,130 --> 00:34:19,449 Ljudi će zatvoriti svoje dijalogu, 531 00:34:19,449 --> 00:34:23,580 ili izaći udžbenik, ne znam što da radim, a onda se žale, jer 532 00:34:23,580 --> 00:34:25,580 ih niste rekli što da ne. 533 00:34:25,580 --> 00:34:29,530 Način da se riješi to nije tako što bilo kakav tutorial ili smjera - 534 00:34:29,530 --> 00:34:31,530 bilo što slično. 535 00:34:31,530 --> 00:34:33,719 Koliko god to mogu izbjeći, što stvarno želite pokazati korisniku što učiniti 536 00:34:33,719 --> 00:34:36,429 Samo po prirodi kako web site je iznio. 537 00:34:36,429 --> 00:34:39,090 Drugim riječima, ako idem na Facebooku bez prijave, 538 00:34:39,090 --> 00:34:40,920 Prva stvar koju sam vidio na glavnoj stranici - 539 00:34:40,920 --> 00:34:44,480 to je malo prijava box. Dakle, duh. Moram prijaviti u. Tamo je. 540 00:34:44,480 --> 00:34:48,030 Budući da, ako sam otišao na Facebooku i morao sam se malo kliknite link na dnu 541 00:34:48,030 --> 00:34:51,920 koji je rekao 'prijaviti', a ostatak stranice je samo neka vrsta slike ili nešto, 542 00:34:51,920 --> 00:34:54,820 Ja stvarno ne bih znao što da radim, zar ne? Ja bi bio zbunjen. 543 00:34:54,820 --> 00:34:58,590 Dakle, to bi moglo reći da ide dolje i kliknite na tipku da se prijavite u, 544 00:34:58,590 --> 00:35:01,080 ili prijava gumb moglo biti pravo na vrhu, gdje ću ga vidjeti. 545 00:35:01,080 --> 00:35:04,780 Želite li uvijek biti prikazivanje korisniku što učiniti, 546 00:35:04,780 --> 00:35:06,750 i da bi trebala biti svojstvena samoj stranici. 547 00:35:06,750 --> 00:35:09,880 >> Kada razmišljate o nacrtima i rugajući se na različite načine 548 00:35:09,880 --> 00:35:13,810 izražavajući svoje stranice, što stvarno želim razmišljati o tome što su korisnici će 549 00:35:13,810 --> 00:35:19,380 se radi i kako ih možete pokazati što treba učiniti. 550 00:35:19,380 --> 00:35:23,530 Jedna stvar je testiranje je jako, jako važno. 551 00:35:23,530 --> 00:35:27,400 To je velika da se netko - dobiti prijatelja, dobiti netko ne zna ni - 552 00:35:27,400 --> 00:35:30,420 koji nikada nije vidio mjesto prije koristiti stranice. 553 00:35:30,420 --> 00:35:33,650 Budući da ste radili na mjestu satima, da ste bili bulji u njega, 554 00:35:33,650 --> 00:35:36,670 a vi znate točno što učiniti tako očito da ćeš biti testiranje 555 00:35:36,670 --> 00:35:39,520 stvari koje ste radili na i da znate raditi. 556 00:35:39,520 --> 00:35:42,680 No, ako netko drugi dođe i koristi site koji nikad nije što je nekad prije, 557 00:35:42,680 --> 00:35:46,880 to je jedinstveno iskustvo, jer imate nekoga tko nema prethodnog znanja 558 00:35:46,880 --> 00:35:51,530 od stranica ide u nju, tako da ćemo imati učinkovito pojma što učiniti 559 00:35:51,530 --> 00:35:54,890 ili kakvu korištenja slučajeva su prisutni za njih. 560 00:35:54,890 --> 00:36:00,930 To je super. To je jedinstven, jer oni su u biti osoba koja ima prazan um. 561 00:36:00,930 --> 00:36:03,750 Oni vam mogu reći je li nešto zbunjujuće i nejasno. 562 00:36:03,750 --> 00:36:07,580 Oni vam mogu dati ideju upravo ono korisničko iskustvo vaše stranice. 563 00:36:07,580 --> 00:36:10,630 To može biti vrlo teško reći da su se, tako da definitivno bih vas potaknuti 564 00:36:10,630 --> 00:36:13,640 kao da ste u razvoju svoje projekte - ako radite web-based projekata - 565 00:36:13,640 --> 00:36:18,290 da se ljudi koriste web stranice već imate nekakav funkcionalni demo. 566 00:36:18,290 --> 00:36:25,330 >> Sada ću razgovarati malo o tome kako upravljati web razvojni projekt. 567 00:36:25,330 --> 00:36:28,900 Bili smo u tome koliko možete napraviti tehnički back-end stranu, 568 00:36:28,900 --> 00:36:31,050 Kako možete dizajnirati stvarno dobar site, 569 00:36:31,050 --> 00:36:34,150 i to je super ako radite sami, ali - 570 00:36:34,150 --> 00:36:37,300 čak i ako radite sami, a pogotovo ako radite u timu, 571 00:36:37,300 --> 00:36:39,580 project management postaje veliki problem. 572 00:36:39,580 --> 00:36:42,340 Vi ste vrsta čuli o upravljanju projektima u različitim oblicima od 573 00:36:42,340 --> 00:36:45,410 Osnovna škola kad si rekao grupni rad. 574 00:36:45,410 --> 00:36:46,820 Morate surađivati, komunicirati, sve to. 575 00:36:46,820 --> 00:36:49,620 To sve još uvijek vrijedi i ovdje, ali postoje neke jedinstvene okolnosti s 576 00:36:49,620 --> 00:36:54,910 računalne znanosti koje žele biti svjesni, a vi želite biti sigurni ste radili dobro. 577 00:36:54,910 --> 00:36:58,050 Ja ću prvo razgovarati malo o tim da ćete biti u. 578 00:36:58,050 --> 00:37:03,280 To je vrlo važno da odaberete pravu veličinu tima da se radi o, 579 00:37:03,280 --> 00:37:05,890 te u svom završnom projekt mislim da imaju mogućnost da izaberu 580 00:37:05,890 --> 00:37:08,610 između 1 i 4 osobe, ako sam točna. 581 00:37:08,610 --> 00:37:12,050 Vi želite biti sigurni da ste ne samo odabiru broj ljudi 582 00:37:12,050 --> 00:37:14,950 da li želite raditi s jer oni su vaši prijatelji. 583 00:37:14,950 --> 00:37:18,170 Želite izabrati momčad koja je dobra veličina i da će dobiti posao ispunjavanja. 584 00:37:18,170 --> 00:37:22,700 Tu je trade off u vlasništvo više ljudi ili manje ljudi. 585 00:37:22,700 --> 00:37:25,320 Ako imate više ljudi, očito djelo može biti učinjeno 586 00:37:25,320 --> 00:37:28,450 jer imate puno ljudi, puno koda, puno ideja, 587 00:37:28,450 --> 00:37:29,870 i to je sve super. 588 00:37:29,870 --> 00:37:32,590 No, ona također zahtijeva puno više upravljanje i puno više komunikacije. 589 00:37:32,590 --> 00:37:34,720 Drugim riječima, ako imate 4 ljudi koji rade na istom projektu 590 00:37:34,720 --> 00:37:39,200 i svi oni uređivanja isti kod, više ili manje su sve vrste trebate znati 591 00:37:39,200 --> 00:37:40,920 što se događa, tako da zahtijeva od vas - 592 00:37:40,920 --> 00:37:44,580 Ako dodate neku novu funkciju ste vrsta morati reći ljudima - Ja sam dodao ovo, 593 00:37:44,580 --> 00:37:48,510 Promijenit ću to na ovaj način - pogotovo ako se u jako duboke stvari 594 00:37:48,510 --> 00:37:52,730 poput modela i kontrolora koji su zapravo ide na utjecati na to kako stranica radi. 595 00:37:52,730 --> 00:37:54,500 Cijeli tim treba biti svjestan toga, 596 00:37:54,500 --> 00:37:58,140 tako da je potrebno da biste bili sigurni da niste odabiru preveliku tim da će biti teško 597 00:37:58,140 --> 00:37:59,970 da bi taj komunikaciju. 598 00:37:59,970 --> 00:38:02,930 Također ne žele izabrati dovoljno malih tim da se ne ide na 599 00:38:02,930 --> 00:38:06,250 biti u stanju komunicirati, jer to je samo vas. 600 00:38:06,250 --> 00:38:11,270 >> Još jedna stvar koju treba uzeti u obzir je ravnoteža gdje ljudi vještine. 601 00:38:11,270 --> 00:38:14,350 To je super, ako ste svi jako dobri programeri. 602 00:38:14,350 --> 00:38:17,050 Ali, ako ste sve back-end ljude, a zatim vaše stranice se neće izgledati vrlo dobro 603 00:38:17,050 --> 00:38:20,860 jer imate ovu veliku bazu podataka, i to super-brze upite pretraživanja - 604 00:38:20,860 --> 00:38:26,130 što je super - ali kad idete na njega, to je kao mjestu 1990 s crvenim i plavim 605 00:38:26,130 --> 00:38:30,370 svugdje, a to nije dobro bilo. 606 00:38:30,370 --> 00:38:34,210 Uočite da je Ben i ja raditi kao tim su jako lijepe, jer ja sam nekako više 607 00:38:34,210 --> 00:38:38,030 na prednjem kraju, oboje smo u interakciji u srednjem kraju, a Ben je jako dobar s back-end stvari, 608 00:38:38,030 --> 00:38:43,550 tako se to radi jako dobro, jer možemo stvoriti bilo koju stranicu i zapravo rupe 609 00:38:43,550 --> 00:38:47,580 u tom mjestu koje je potrebno da se napuni može popuniti ni jedan od nas, ili možda oboje. 610 00:38:47,580 --> 00:38:50,210 Vi želite biti sigurni da ne postoje rupe u svom timu. 611 00:38:50,210 --> 00:38:51,180 To je u redu ako ima malo preklapanja. 612 00:38:51,180 --> 00:38:53,670 Drugim riječima, ako imate 2 osobe koje su i dobro s leđa kraj, 613 00:38:53,670 --> 00:38:57,250 da može biti dobar kao i zato što oni mogu pomoći jedni drugima s problemima 614 00:38:57,250 --> 00:38:58,820 da su oni koji imaju. 615 00:38:58,820 --> 00:39:02,590 To može biti problem ako imate samo jedna osoba koja je odgovorna za određenu stvar 616 00:39:02,590 --> 00:39:06,650 a oni se izvoditi u problem, tako da ne želim da se malo preklapaju 617 00:39:06,650 --> 00:39:10,760 ali što je najvažnije želite biti sigurni da su sve moguće rupe popunjena. 618 00:39:10,760 --> 00:39:17,550 >> Zadnja stvar - a to bi trebalo biti očito, ali to često nije. 619 00:39:17,550 --> 00:39:19,550 Vi stvarno želite da se zabavljaju. 620 00:39:19,550 --> 00:39:23,360 Poanta ove konačnog projekta u CS50 i često točka izradu web stranica u cjelini 621 00:39:23,360 --> 00:39:26,360 Nije to samo obaviti posao, jer to treba raditi. 622 00:39:26,360 --> 00:39:29,140 Vi stvarno želite da se zabavljaju, a vi želite da se izradi nešto 623 00:39:29,140 --> 00:39:31,180 da se motivira za rad na njemu. 624 00:39:31,180 --> 00:39:33,650 Ako sve što radite je bol sjesti i raditi, 625 00:39:33,650 --> 00:39:35,650 onda ti ne odabiru pravi projekt. 626 00:39:35,650 --> 00:39:37,730 Vi želite odabrati nešto što ćete naći zanimljive, 627 00:39:37,730 --> 00:39:41,150 stvarno želite vidjeti rezultat, da ste uzbuđeni kad ste dobili novu ideju o 628 00:39:41,150 --> 00:39:44,700 nešto što biste mogli učiniti - tako da se sve vrste projekata postoje to sam siguran 629 00:39:44,700 --> 00:39:47,290 možete pronaći - svatko ima nešto što bi stvarno ih zaintrigirati 630 00:39:47,290 --> 00:39:49,290 ako oni rade web-based projekt. 631 00:39:49,290 --> 00:39:52,210 Ja ću ga opet reći upravo sada. 632 00:39:52,210 --> 00:39:54,520 Ako je Vaš projekt izgleda kao bol, a vi ne želite raditi na njemu, 633 00:39:54,520 --> 00:39:57,260 odabrati još jedan projekt. Odaberite nešto što vas uistinu nadahnjuje. 634 00:39:57,260 --> 00:40:00,260 >> Ben spomenuo ovaj koncept iteracije malo, a ja želim ići preko njega malo. 635 00:40:00,260 --> 00:40:08,250 To je jako važno za rad u spurts gdje ti dobiješ nešto funkcionalan. 636 00:40:08,250 --> 00:40:13,420 To može biti velika ako imate ovaj plan za web stranicu koja će učiniti A, B i C, 637 00:40:13,420 --> 00:40:16,000 i na kraju to će doći. 638 00:40:16,000 --> 00:40:18,600 Ali ste zapeli u ovoj fazi u kojoj radite na tome i radi na tome, 639 00:40:18,600 --> 00:40:23,330 , ali ništa se nije uzimajući učinili. Vi nemate ništa za vidjeti i opipljiv, funkcionalnu stvar. 640 00:40:23,330 --> 00:40:27,940 Ono što stvarno želite raditi koliko god se čini svojevrsnu bol ponekad 641 00:40:27,940 --> 00:40:32,300 raditi na nečemu i onda na neki način cap off, tako da je barem stabilna, trčanje 642 00:40:32,300 --> 00:40:34,910 Verzija čak i ako nema sve značajke koje želite. 643 00:40:34,910 --> 00:40:37,690 A možda postoje neke značajke koje stvarno želite dodati, ali da jednostavno ne može 644 00:40:37,690 --> 00:40:41,830 jer želite da se ove stranice funkcionalne točke. 645 00:40:41,830 --> 00:40:44,400 I tako želite vrsta ima cijeli proces razvoja izgledaju kao da. 646 00:40:44,400 --> 00:40:47,810 Želite li početi negdje funkcionalna - ili bitno početi s ništa - 647 00:40:47,810 --> 00:40:49,890 ali želite da se negdje vrlo osnovni i funkcionalna. 648 00:40:49,890 --> 00:40:54,940 A onda opet, napraviti neku vrstu skoka i doći negdje funkcionalna opet. 649 00:40:54,940 --> 00:40:59,190 Polako ćemo izgraditi, a to bi moglo ići malo sporije nego što bi inače, 650 00:40:59,190 --> 00:41:03,000 , ali na duge staze, ako ste stalno zaglavi u ovoj srednjoj fazi prizemlju, gdje ste 651 00:41:03,000 --> 00:41:06,380 zapravo ne moraju ništa raditi, to može biti jako velika frustracija 652 00:41:06,380 --> 00:41:09,970 raditi na svom projektu, jer uvijek si tako blizu dobivanja što radi, 653 00:41:09,970 --> 00:41:12,130 i to nitko nikada zapravo radi. 654 00:41:12,130 --> 00:41:14,810 Želite raditi u tim funkcionalnih spurts, 655 00:41:14,810 --> 00:41:17,950 i vi želite napraviti neki odraz nakon svake od njih. 656 00:41:17,950 --> 00:41:21,260 Drugim riječima, nakon što se na mjestu gdje je stranica sada radi - 657 00:41:21,260 --> 00:41:24,790 to ne mora sve što vam se sviđa, ali to ipak neke stvari - 658 00:41:24,790 --> 00:41:28,870 Želite li misliš, u redu, je li ovo mjesto ostvarenju cilja koji sam zacrtao da će učiniti? 659 00:41:28,870 --> 00:41:33,410 Drugim riječima, ako je stranica koja će učiniti X, je ono što sam radio u smjeru X? 660 00:41:33,410 --> 00:41:36,450 Jesu li sve funkcionalnosti koje sam tamo htjeli? 661 00:41:36,450 --> 00:41:39,340 A osim toga, on je služio ukupnu svrhu što želim? 662 00:41:39,340 --> 00:41:43,200 Ako ste nalaz da je vaš site je počeo skretati u drugom smjeru 663 00:41:43,200 --> 00:41:47,330 ili možda se stvari nekako se ne radi out, možda je vrijeme da se mijenja brzine malo. 664 00:41:47,330 --> 00:41:51,700 Drugim riječima, to je vrijedno razmatranja - to vrijedi bacanje iz ideje, ako je potrebno 665 00:41:51,700 --> 00:41:57,950 i obzirom sam ja stvarno radi na tome što ja želim biti. 666 00:41:57,950 --> 00:42:00,760 >> Vjerujem da je moja sljedeća točka. Nemojte se bojati da napuste ideje. 667 00:42:00,760 --> 00:42:03,750 Samo zato što je proveo puno vremena radeći na lice 668 00:42:03,750 --> 00:42:07,890 i na kraju je dobio što radi, ali to stvarno ne ide tako dobro - 669 00:42:07,890 --> 00:42:12,690 kao što to nije to korisno ili korisnici imaju problema s njegovim korištenjem - takve stvari - 670 00:42:12,690 --> 00:42:15,300 nemojte se bojati da ga bacim. 671 00:42:15,300 --> 00:42:17,650 To je sranje koje ste proveli puno vremena radeći na njemu, 672 00:42:17,650 --> 00:42:21,870 , ali u konačnici ne želite site koji je nekako složiti po tim komadima koji 673 00:42:21,870 --> 00:42:25,380 vrsta posla, ali ne da je dobro služio. 674 00:42:25,380 --> 00:42:27,990 Također, ne bojte se prihvatiti nove ideje. 675 00:42:27,990 --> 00:42:30,050 Ako netko dođe i kaže, hej, da stranica izgleda jako cool, ali 676 00:42:30,050 --> 00:42:32,290 Ne bi to čak i bilo super da ona također to učinio? 677 00:42:32,290 --> 00:42:36,220 Samo zato što je to nešto što niste namjeravali i nešto što nije u vašem 678 00:42:36,220 --> 00:42:37,900 naočale, nešto što niste zacrtao da će učiniti, 679 00:42:37,900 --> 00:42:40,860 nemojte se bojati da se to na i onda raditi s njim. 680 00:42:40,860 --> 00:42:43,680 Jer često su ideje koje se pokreću s cijelom toku razvoja 681 00:42:43,680 --> 00:42:47,630 završiti kao stvarno cool značajke web stranice. 682 00:42:47,630 --> 00:42:49,630 >> Ja sam to rekao prije. Ja ću opet reći. 683 00:42:49,630 --> 00:42:51,630 Ispitivači su super, super korisna. 684 00:42:51,630 --> 00:42:56,350 Pokušaj da se ljudi koji nikada nisu vidjeli mjesto prije prijaviti i vidjeti što se događa 685 00:42:56,350 --> 00:42:59,080 jer oni ne samo da može testirati korisnost stranice i korisničko iskustvo, 686 00:42:59,080 --> 00:43:02,070 , ali oni također mogu testirati funkcionalnost na način da ne možete. 687 00:43:02,070 --> 00:43:06,430 Ako bi neki lik koji čini određenu stvar 688 00:43:06,430 --> 00:43:11,620 a vi znate da će učiniti to isto ispravno svaki put, to je super. 689 00:43:11,620 --> 00:43:16,610 No, to često može biti teško objasniti kutak slučajevima u kojima korisnik može 690 00:43:16,610 --> 00:43:19,500 upisati nešto što nisu očekivali - upravo zato što je definirano 691 00:43:19,500 --> 00:43:21,500 značajke sebe. 692 00:43:21,500 --> 00:43:23,730 Dakle, da netko dođe na koja nema pojma kako koristiti stranicu 693 00:43:23,730 --> 00:43:26,840 i samo ga razbiti u svemu načina na koje možete učiniti je stvarno koristan, jer vam 694 00:43:26,840 --> 00:43:30,340 dobili ideju iz posve drugačije perspektive onoga što se na vašem mjestu radi 695 00:43:30,340 --> 00:43:33,300 i što treba popraviti. 696 00:43:33,300 --> 00:43:37,070 >> Zadnja, ja ću govoriti o nekim općim dobrom praksom, 697 00:43:37,070 --> 00:43:42,470 i da ste vidjeli puno njih u CS50, ali oni također jako, jako se primjenjuju u okruženju projekta. 698 00:43:42,470 --> 00:43:47,600 Jedan je primjedbe. Uvijek komentirati svoj kod pogotovo ako radite na velikom timu. 699 00:43:47,600 --> 00:43:51,230 To može biti tako neugodno da samo imaju div blok koda koji je netko napisao 700 00:43:51,230 --> 00:43:54,230 a možda to radi, možda se to ne dogodi, ali nemate pojma što radi, 701 00:43:54,230 --> 00:43:58,010 tako da nemam pojma da li je to korisno ili ne i da li bi trebao biti tamo ili ne, 702 00:43:58,010 --> 00:44:00,200 i ako radite na nešto drugo to je čak i moguće da radite na 703 00:44:00,200 --> 00:44:06,590 ista stvar, pa samo biti vrlo, vrlo oprezni kako bi bili obzirni prema svojim vršnjacima 704 00:44:06,590 --> 00:44:09,710 i pisati kod koji je dobro dokumentirana. 705 00:44:09,710 --> 00:44:13,580 Ne morate ići tako daleko da to cijelu stvar gdje se sviđa ako prirast 706 00:44:13,580 --> 00:44:16,620 brojilo imaju komentar koji kaže, ja sam dodao jedan za ovog pulta. 707 00:44:16,620 --> 00:44:20,450 To ne mora biti tako detaljno, ali za bilo koju funkciju koju je ikada pišete 708 00:44:20,450 --> 00:44:23,160 trebali imati neku dokumentaciju o tome što to točno znači funkcija, 709 00:44:23,160 --> 00:44:25,140 ono što njegovi ulazi su, a što bi trebalo vratiti. 710 00:44:25,140 --> 00:44:27,800 Na taj način možete koristiti i druge komponente ljudi na licu mjesta 711 00:44:27,800 --> 00:44:31,990 i možete raditi na izgradnji nešto veliko. 712 00:44:31,990 --> 00:44:34,100 >> Još jedna važna stvar je da želite učiniti redovite čiste prozore. 713 00:44:34,100 --> 00:44:40,490 Kod dobiva messy. Nemojte se osjećati loše ako vaš broj je samo potpuno nečitljiv i div nered. 714 00:44:40,490 --> 00:44:42,770 To se događa u izradu web stranica uvijek. 715 00:44:42,770 --> 00:44:46,530 Vi ste dodavanjem novih značajki, uklanjanje starih. Stvari će biti tamo da ne bi trebalo biti. 716 00:44:46,530 --> 00:44:49,330 To je u redu, ali želite da biste bili sigurni da se bave koje redovito. 717 00:44:49,330 --> 00:44:53,430 Vi ne želite da se izgraditi do točke u kojoj se jednostavno ne može naći ništa 718 00:44:53,430 --> 00:44:56,430 u svom kodu, a vi nemate pojma što sve ne. 719 00:44:56,430 --> 00:44:58,430 To je slučaj s HTML. 720 00:44:58,430 --> 00:44:59,490 Ponekad ćete završiti s objektima koji ne sadrže ništa, 721 00:44:59,490 --> 00:45:01,320 i poželjet ćete se riješiti onih. 722 00:45:01,320 --> 00:45:04,610 U CSS, možete se odnosi na elemente koji nisu više tamo, 723 00:45:04,610 --> 00:45:06,340 tako da želite riješiti taj kod. 724 00:45:06,340 --> 00:45:09,900 U JavaScriptu, možda ste ukloniti nešto iz HTML-a. 725 00:45:09,900 --> 00:45:13,150 Dakle, želite da biste bili sigurni da ste uvijek čišćenje, čineći stvari prilično 726 00:45:13,150 --> 00:45:17,450 koliko god možete na regularnoj osnovi. 727 00:45:17,450 --> 00:45:21,060 >> Još jedna jako korisna stvar koju ja ne mislim da je navedeno jako puno u CS50 728 00:45:21,060 --> 00:45:23,430 ali vrijedi uzimajući u je kontrolu. 729 00:45:23,430 --> 00:45:27,180 Ideja kontrolu verzije je kad vi zapravo praćenje sav napredak 730 00:45:27,180 --> 00:45:30,820 vi ste napravili prema vašim stranicama, a ako u bilo kojem trenutku ste shvatili, oh, to je radio 731 00:45:30,820 --> 00:45:35,220 dok je prije, ali to ne radi više, možete vratiti na prethodne verzije 732 00:45:35,220 --> 00:45:37,720 i vidjeti što se promijenilo od tada i takve stvari. 733 00:45:37,720 --> 00:45:41,670 Primarni način da to učinite je s Git, a Git je cijela ova vrsta sustava koji 734 00:45:41,670 --> 00:45:46,390 Vjerujem Tommy MacWilliam dao seminar o prošle godine. 735 00:45:46,390 --> 00:45:51,520 Ako idete u CS50 seminara za 2011, možete vidjeti njegov seminar o tome. 736 00:45:51,520 --> 00:45:57,070 Ideja Git je u osnovi da se u redovitim intervalima praviš ove obveze 737 00:45:57,070 --> 00:46:01,430 koji su načina da se kaže stranica je u prilično stabilnu verziju upravo sada, tako 738 00:46:01,430 --> 00:46:05,910 Ja sam to pakiranje i slanje daleko na server, a onda možete ići u tom poslužitelju 739 00:46:05,910 --> 00:46:07,910 i pogled na sve prethodne verzije koda i vidite kako je napredovala 740 00:46:07,910 --> 00:46:12,210 i sve to nekako dobre stvari. 741 00:46:12,210 --> 00:46:14,210 Dakle, to je u osnovi to. 742 00:46:14,210 --> 00:46:17,870 Što se tiče web development, rado ćemo ih staviti oko i odgovoriti na bilo 743 00:46:17,870 --> 00:46:20,570 pitanja što se tiče naše prezentacije. 744 00:46:20,570 --> 00:46:22,900 To je sve. Hvala. >> [Ben] Hvala. 745 00:46:22,900 --> 00:46:28,480 [Aplauz] 746 00:46:28,480 --> 00:46:30,950 >> [Billy] stožera, se bilo tko imati bilo kakvih pitanja o stvarima koje smo pokriveni 747 00:46:30,950 --> 00:46:33,950 ili stvari koje nismo smo pokriveni da se oni nadaju da ćemo pokriti? 748 00:46:33,950 --> 00:46:35,950 Rado ćemo odgovoriti na njih. Svatko? 749 00:46:35,950 --> 00:46:50,360 [Član publike] Koje su prednosti i mane korištenja Ruby ili pomoću Python? 750 00:46:50,360 --> 00:46:58,660 [Ben] Pitanje je, koje su prednosti i mane korištenja Ruby ili Python 751 00:46:58,660 --> 00:46:59,900 umjesto da kao i PHP. 752 00:46:59,900 --> 00:47:11,340 Pros su da je Ruby i Python su puno bolji od jezika PHP. 753 00:47:11,340 --> 00:47:14,920 Barem po mom mišljenju, i mislim da u puno tuđih mišljenja, kao dobro. 754 00:47:14,920 --> 00:47:20,990 Oni su dizajnirani za obavljanje više stvari složen, 755 00:47:20,990 --> 00:47:25,380 i manje za izvanredan zajedno web stranice jako brzo s 756 00:47:25,380 --> 00:47:28,400 malo dinamički sadržaj. 757 00:47:28,400 --> 00:47:35,180 Kontra su da postoji malo - ima više od krivulja učenja 758 00:47:35,180 --> 00:47:37,220 da bi ih postavili. 759 00:47:37,220 --> 00:47:41,010 To je, kao što je u PHP-u, možete jednostavno HTML datoteke i pisati manje od, 760 00:47:41,010 --> 00:47:43,060 upitnik, a zatim vam napisati neki kod, a zatim vam napisati upitnik, 761 00:47:43,060 --> 00:47:45,700 veće od, a onda ste gotovi. 762 00:47:45,700 --> 00:47:50,300 U drugim jezicima kao što su Ruby i Python, 763 00:47:50,300 --> 00:47:56,810 morate proći kroz malo više posla kako bi dobili početnu stranicu trčanje. 764 00:47:56,810 --> 00:48:02,730 Tu je i - barem je nekad bio slučaj - da postoji više dokumentacije 765 00:48:02,730 --> 00:48:05,480 dostupan za PHP samo zato što ima više ljudi ga koriste. 766 00:48:05,480 --> 00:48:09,370 Ja mislim da nije tako puno problema više. 767 00:48:09,370 --> 00:48:12,520 Tu je svakako vrlo dobra dokumentacija za stvari kao što su Ruby on Rails 768 00:48:12,520 --> 00:48:16,080 ili Django za Python je ekvivalent. 769 00:48:16,080 --> 00:48:25,910 PHP je onaj koji su svi koristili godinama, a znate kako se to radi. 770 00:48:25,910 --> 00:48:28,460 Ruby i Python su malo manje zreli. 771 00:48:28,460 --> 00:48:33,130 >> [Član publike] Ako su birati između jednog od njih naučiti ili pokupiti, 772 00:48:33,130 --> 00:48:36,130 što bi vi radije? 773 00:48:36,130 --> 00:48:38,870 Iskreno, mislim da to ovisi o osobi. 774 00:48:38,870 --> 00:48:45,450 Žao mi je. Pitanje je što bi Vas netko naučiti? 775 00:48:45,450 --> 00:48:50,230 Smatram Python najljepše osobno. 776 00:48:50,230 --> 00:48:55,360 Ima puno ljudi koji su - što sam učinio moj prvi web dev projekt u Python i Django. 777 00:48:55,360 --> 00:49:00,300 Ima puno ljudi koji vole Ruby on Rails također. 778 00:49:00,300 --> 00:49:02,650 Vjerojatno više ljudi koji znaju Ruby on Rails. 779 00:49:02,650 --> 00:49:05,270 Iskreno, ja bih samo ići s onim što su ljudi oko vas znali 780 00:49:05,270 --> 00:49:09,680 tako da imate ljude da postavljaju pitanja. 781 00:49:19,640 --> 00:49:24,170 >> Pitanje je - na zajednički poslužitelj je vrsta teško raditi na Pythonu? 782 00:49:24,170 --> 00:49:26,170 To ovisi o vašem hosting. 783 00:49:26,170 --> 00:49:29,400 Postoje brojne web domaćini koji će postavljati Python stvari. 784 00:49:29,400 --> 00:49:31,400 WebFaction to radi, zar ne? 785 00:49:31,400 --> 00:49:34,400 WebFaction je onaj koji Billy i ja sam se za neke projekte. 786 00:49:34,400 --> 00:49:37,750 Oni su stvarno super. Oni podržavaju većinu jezika. 787 00:49:37,750 --> 00:49:40,020 No, istina je da je PHP je mnogo više široko podržan. 788 00:49:40,020 --> 00:49:45,210 Dakle, ako ste zapeli na web host da se samo radi PHP, to je dobar razlog za korištenje PHP. 789 00:49:45,210 --> 00:49:56,010 >> [Član publike] Upravo sam dobio u učenju kako da upita neke baze podataka, 790 00:49:56,010 --> 00:50:00,680 i znam da je moj SQL je sve više mjesta, ali sam nedavno dobio izloženi - 791 00:50:00,680 --> 00:50:04,470 i ti to istaknuo. Vidite JSON i raširiti baze podataka. 792 00:50:04,470 --> 00:50:14,580 Moj SQL je još uvijek sve više mjesta. Kako vidite da se to dogodi? 793 00:50:14,580 --> 00:50:21,330 Je li će biti sve veći trend za više rastezljiv (nečujan)? 794 00:50:21,330 --> 00:50:30,100 Pitanje je - ne mislim da će to biti trend prema ne-SQL bazama podataka. 795 00:50:30,100 --> 00:50:33,850 Na primjer, kao što je MongoDB. Mislim da je definitivno istina. 796 00:50:33,850 --> 00:50:38,730 Moj savjet je uglavnom ovdje mySQL vezane samo zato MySQL je 797 00:50:38,730 --> 00:50:40,950 industrijski standard. 798 00:50:40,950 --> 00:50:45,950 Osobno, ja puno radije baze podataka koje nemaju schemos poput MongoDB 799 00:50:45,950 --> 00:50:49,520 gdje nemate pitanje, oh, moram dodati još jedan stupac. 800 00:50:49,520 --> 00:50:51,600 Jao meni, kao i bilo što drugo da radim? 801 00:50:51,600 --> 00:50:55,840 To je vrlo teško učiniti da na MySQL, ali kada imate nešto poput Mongo 802 00:50:55,840 --> 00:50:57,840 to je puno ljepše. 803 00:50:57,840 --> 00:51:03,780 Druga lijepa stvar o Mongo je da vaši podaci su zapravo JavaScript objekti. 804 00:51:03,780 --> 00:51:10,110 Nema vrsta pretvorbe korak gdje trebate uzeti ove retke baze podataka 805 00:51:10,110 --> 00:51:13,140 i pretvoriti ih u JavaScriptu objekt, a zatim ih poslati preko žice. 806 00:51:13,140 --> 00:51:20,290 Mislim da takve stvari će biti vrlo, vrlo korisno za brzu izradu web stranica u budućnosti. 807 00:51:20,290 --> 00:51:23,060 >> [Billy] Nešto bih dodati što je samo općenito stvar je da 808 00:51:23,060 --> 00:51:26,580 Ne osjećam se kao da bi trebao naučila sve jezike koje smo raspravljali 809 00:51:26,580 --> 00:51:28,580 iz našeg seminara. 810 00:51:28,580 --> 00:51:30,560 Očito se o tome da vam dati ideju o tome što je vani, 811 00:51:30,560 --> 00:51:33,450 a ako ste zaintrigiralo bilo od stvari koje smo spomenute možete ih google 812 00:51:33,450 --> 00:51:35,830 i pročitati na njih. 813 00:51:35,830 --> 00:51:38,750 I kao što sam spomenuo, postoji nekoliko seminara koji se bave upravo tim stvarima. 814 00:51:38,750 --> 00:51:41,660 Postoje čak i više seminara koje nisam spomenuo da je vjerojatno ući u 815 00:51:41,660 --> 00:51:43,660 ove stvari kao dobro. 816 00:51:43,660 --> 00:51:46,610 Ideja je da, ako želite raditi na nečemu, ovdje su alati na raspolaganju. 817 00:51:46,610 --> 00:51:51,630 Nemojte osjećati osvaja, ako niste sigurni što ovi alati raditi točno, 818 00:51:51,630 --> 00:51:54,830 , ali znam da su tamo i da možete napraviti široku uporabu od njih 819 00:51:54,830 --> 00:51:56,830 od strane Googlea. 820 00:51:56,830 --> 00:51:59,960 >> [Član publike] Kakve stvari ti je potrebno učiniti kako bi bili sigurni da vaše web stranice 821 00:51:59,960 --> 00:52:02,530 izgleda dobro na mobilnim uređajima? 822 00:52:02,530 --> 00:52:05,590 [Billy] Mobilni uređaji su malo teško. 823 00:52:05,590 --> 00:52:07,590 Postoji 2 načina na koje je pristup moguć. 824 00:52:07,590 --> 00:52:11,500 Prvi način je da zapravo imate mobilni web stranice. 825 00:52:11,500 --> 00:52:14,660 Drugim riječima, možete izvesti nekakvu detekciju na početku 826 00:52:14,660 --> 00:52:18,830 kada je preglednik koji podnosi zahtjev za svoju web stranicu koja kaže bilo 827 00:52:18,830 --> 00:52:25,240 vratiti taj pogled - koji će biti prikaz za desktop ili laptop preglednicima - 828 00:52:25,240 --> 00:52:27,710 a ovaj drugi pogled za mobilne uređaje. 829 00:52:27,710 --> 00:52:33,090 To je mjesto gdje su pogledi jako lijepo u koji možete prilično mnogo swapa 830 00:52:33,090 --> 00:52:37,580 dvije van i imaju sučelje koje radi jako lijepo na mobilnim uređajima 831 00:52:37,580 --> 00:52:40,770 i imaju potpuno drugačiji onaj koji radi lijepo na uređajima preglednika. 832 00:52:40,770 --> 00:52:43,770 Problem s tim je to traje dugo vremena, jer to znači kodiranje 833 00:52:43,770 --> 00:52:47,060 potpuno drugačije sučelje. 834 00:52:47,060 --> 00:52:49,720 Drugi način na koji to možete učiniti je - 835 00:52:49,720 --> 00:52:55,250 Puno modernim telefonima će prikazati web stranice i pokušati ih čini kao browser bi, 836 00:52:55,250 --> 00:52:57,680 i oni daju sve od sebe. 837 00:52:57,680 --> 00:53:04,340 Možete vrsta pokušati ostati svjetlo na iznos od jQuery JavaScript koju koristite 838 00:53:04,340 --> 00:53:07,360 koji teži da bude u kojima se stvari mogu poći po zlu malo. 839 00:53:07,360 --> 00:53:13,430 To je svojevrsni način na koji bi trebali koristiti ako nemate puno vremena. 840 00:53:13,430 --> 00:53:18,540 Ako imate vremena za rad na mobilnim sučelje, to je očito vaš najbolji izbor. 841 00:53:18,540 --> 00:53:23,320 >> Mislim da općenito za CS50 projekata, idete da želite odabrati jedan ili drugi. 842 00:53:23,320 --> 00:53:27,990 Drugim riječima, želite napraviti mobilnu aplikaciju ili želite napraviti desktop web stranice. 843 00:53:27,990 --> 00:53:32,200 I to vrsta određuje gdje idete s tim. 844 00:53:32,200 --> 00:53:35,360 No, ako želite proširiti ga kasnije, vjerojatno vaš najbolji kladiti se 845 00:53:35,360 --> 00:53:37,360 napraviti još jednu sučelje za druge. 846 00:53:51,650 --> 00:53:56,340 Imam malo iskustva u razvoju WordPress-based web stranice. 847 00:53:56,340 --> 00:53:58,670 I domaćin osobne web stranice na WordPress za neko vrijeme. 848 00:53:58,670 --> 00:54:02,310 One vrste okvira može biti lijepo kao vrlo osnovne stvari. 849 00:54:02,310 --> 00:54:07,050 Često ćete samo trčanje u puno prilagodbe pitanja ipak. 850 00:54:07,050 --> 00:54:10,940 Vi ćete želite imati nešto izgledati na određeni način ili biti određeni način 851 00:54:10,940 --> 00:54:14,510 a vi jednostavno ne mogu, jer je to i poslati u sustav koji 852 00:54:14,510 --> 00:54:17,480 to je kako morate činiti stvari koje mogu biti malo problem. 853 00:54:17,480 --> 00:54:22,020 Od tada sam nekako bio skloniji raditi s web stranice iz temelja. 854 00:54:22,020 --> 00:54:26,840 Za stvari kao što su blog baza podataka i takve stvari to je stvarno ne da teško izgraditi okvir. 855 00:54:26,840 --> 00:54:29,970 Ako ste stvarno rastegnut na vremenu, možete naravno koristiti nešto poput WordPress 856 00:54:29,970 --> 00:54:33,120 ili tako nešto za blog. 857 00:54:33,120 --> 00:54:38,790 Vrste stvari koje blogovi dućan i ne stvarno dosta teško da 858 00:54:38,790 --> 00:54:41,500 ako radite u bilo koju od tih vrsta stvari, vjerojatno ste najbolji samo da 859 00:54:41,500 --> 00:54:43,500 bi in-house verziju. 860 00:54:43,500 --> 00:54:48,350 >> Mislim da je o tome, tako da još jednom hvala što ste došli. 861 00:54:48,350 --> 00:54:51,960 Mi smo stvarno uživali u razgovoru s vama i nadam se da ste naučili neke stvari. 862 00:54:51,960 --> 00:54:55,350 [Ben] Mi smo sretni da razgovaraju - moramo ići, ali mi smo sretni što više izvan razgovarati 863 00:54:55,350 --> 00:55:01,650 ako imate još jedno pitanje. Hvala još jednom. [Aplauz] 864 00:55:03,750 --> 00:55:06,000 [CS50.TV]