1 00:00:00,000 --> 00:00:02,500 [Powered by Google Translate] [Seminari] [Desenvolupament web: De la idea a l'Aplicació] 2 00:00:02,500 --> 00:00:04,200 [Ben Kuhn] [Billy Janitsch] [Universitat de Harvard] 3 00:00:04,200 --> 00:00:07,250 [Aquest és CS50] [CS50.TV] 4 00:00:07,250 --> 00:00:10,840 [Billy] Hola, sóc Billy i això és Ben. >> [Ben] Hola. 5 00:00:10,840 --> 00:00:12,840 Estarem parlant de desenvolupament web avui en dia. 6 00:00:12,840 --> 00:00:14,840 [Webdev] [Billy Janitsch i Ben Kuhn] 7 00:00:14,840 --> 00:00:16,840 Una mica sobre nosaltres primer. 8 00:00:16,840 --> 00:00:19,590 Ben és una espècie de tipus de fons. Ell fa que les coses funcionin. 9 00:00:19,590 --> 00:00:21,870 I llavors vaig i els faig bastant. 10 00:00:21,870 --> 00:00:26,610 Estic en gran mesura involucrar-se amb més front-end de disseny de disseny tipus de coses, 11 00:00:26,610 --> 00:00:31,260 i Ben, per la seva banda, sap el que està fent pel que treballa en la matèria de fons. 12 00:00:31,260 --> 00:00:34,050 Junts hem fet un parell de coses. 13 00:00:34,050 --> 00:00:38,710 Per exemple, l'any passat es va treballar en Gimblium que és un estudi de desenvolupament de jocs en línia. 14 00:00:38,710 --> 00:00:40,400 Aquest va ser el nostre últim projecte per a la classe, 15 00:00:40,400 --> 00:00:42,780 i des de llavors ens hem fet la classe de Harvard 16 00:00:42,780 --> 00:00:47,860 que és un marc per a la navegació en línia i cursos comercials a Harvard. 17 00:00:47,860 --> 00:00:53,180 >> Anem a començar amb aquesta idea per al nostre lloc web. 18 00:00:53,180 --> 00:00:57,480 Farem això, però per als gats. 19 00:00:57,480 --> 00:00:59,520 Abans que realment fer d'aquest lloc web, 20 00:00:59,520 --> 00:01:02,520 no fer d'aquest lloc web, ja que no és bo, però utilitzarem com a marc 21 00:01:02,520 --> 00:01:05,349 i passar pel procés de com es pren aquesta idea 22 00:01:05,349 --> 00:01:07,450 i convertir-lo en un lloc web real que podem utilitzar. 23 00:01:07,450 --> 00:01:11,940 Anem a començar per trencar el lloc web de sota. 24 00:01:11,940 --> 00:01:13,190 Igual que ha estat fent en el CS50, 25 00:01:13,190 --> 00:01:17,360 vostè vol pensar sobre quins són els components reals que van en aquest lloc web. 26 00:01:17,360 --> 00:01:21,290 Bàsicament convertint d'una idea que és només una espècie d'un concepte abstracte 27 00:01:21,290 --> 00:01:23,590 en una cosa real i tangible que vostè podria fer. 28 00:01:23,590 --> 00:01:25,910 Comencem a fer algunes preguntes. 29 00:01:25,910 --> 00:01:28,070 Què és aquest lloc? Per què estem fent això? 30 00:01:28,070 --> 00:01:30,670 Què es va a utilitzar per? Aquest tipus de coses. 31 00:01:30,670 --> 00:01:33,660 En el cas de Facebook Cat, 32 00:01:33,660 --> 00:01:37,730 que, bàsicament, volem un lloc web que permet als gats xarxa social amb els altres. 33 00:01:37,730 --> 00:01:41,260 La idea és que es poden publicar a les parets de cada un, 34 00:01:41,260 --> 00:01:43,510 poden fer comentaris, aquest tipus de coses. 35 00:01:43,510 --> 00:01:46,720 I aquí és on entrem en els components funcionals. 36 00:01:46,720 --> 00:01:51,270 Ara tenim aquest tipus de marc de - comptem amb els perfils d'usuari, 37 00:01:51,270 --> 00:01:53,990 tenim comentaris, i podem publicar. 38 00:01:53,990 --> 00:01:57,390 Potser algun dia anem a influent gustos i aquest tipus de coses. 39 00:01:57,390 --> 00:02:00,410 I quin tipus de volem prioritzar aquestes característiques va in 40 00:02:00,410 --> 00:02:03,340 Volem dir com, bé, és molt important que tothom té un perfil 41 00:02:03,340 --> 00:02:06,440 i que tothom pot escriure a les parets dels altres. 42 00:02:06,440 --> 00:02:08,509 Secundari a aquests comentaris serien agradables. 43 00:02:08,509 --> 00:02:10,180 Potser més endavant anem a influent gustos. 44 00:02:10,180 --> 00:02:13,700 Així doncs, vostè vol tenir una idea del que és fonamental per al seu projecte 45 00:02:13,700 --> 00:02:17,260 i el que és una espècie de tret més general que podria aplicar-se més endavant. 46 00:02:17,260 --> 00:02:20,870 Vostè voler espècie de tenir una llista específica en ment, 47 00:02:20,870 --> 00:02:24,090 però el projecte que comenci a treballar no serà el projecte que acabi amb. 48 00:02:24,090 --> 00:02:27,100 En altres paraules, les coses canviaran quan s'està creant el lloc, 49 00:02:27,100 --> 00:02:30,090 i vol deixar espai per això. 50 00:02:30,090 --> 00:02:34,470 Vaig a donar-li la volta a Ben qui va a parlar una mica sobre l'estructura. 51 00:02:34,470 --> 00:02:39,610 >> [Ben] jo vaig a estar parlant de la part més tècnica de desenvolupament web. 52 00:02:39,610 --> 00:02:42,370 Anem a repassar alguns conceptes bàsics en primer lloc. 53 00:02:42,370 --> 00:02:45,730 Quan estàs fent una aplicació web, 54 00:02:45,730 --> 00:02:50,470 la divisió principal que hauràs de tenir és 55 00:02:50,470 --> 00:02:52,700 vostè va a tenir una mica de coses que estan passant al costat del client - 56 00:02:52,700 --> 00:02:56,700 és a dir, el codi que estàs navegador porta des del lloc 57 00:02:56,700 --> 00:03:01,910 i el JavaScript, HTML, CSS coses. 58 00:03:01,910 --> 00:03:04,490 Això és tot en el costat del client. 59 00:03:04,490 --> 00:03:08,680 Vostè va a tenir un altre tipus de codi que s'executa en el costat del servidor 60 00:03:08,680 --> 00:03:10,770 que realitza un seguiment de totes les dades que la gent envia a vostè, 61 00:03:10,770 --> 00:03:15,060 decideix a qui donar-li el que, coses així. 62 00:03:15,060 --> 00:03:20,380 Això és només una mica de terminologia perquè vostès estan familiaritzats amb el que estem parlant. 63 00:03:20,380 --> 00:03:28,600 Més enllà d'aquesta divisió és bo pensar en la seva aplicació web en termes de 64 00:03:28,600 --> 00:03:32,500 un parell de components diferents. 65 00:03:32,500 --> 00:03:35,270 Quan vostè està fent desenvolupament web 66 00:03:35,270 --> 00:03:41,710 una de les coses que vostè sempre ha d'estar intentant fer és reduir la complexitat. 67 00:03:41,710 --> 00:03:45,710 Com més complex sigui el codi és, més possibilitats hi ha de fer errors, 68 00:03:45,710 --> 00:03:47,710 més difícil és canviar més tard. 69 00:03:47,710 --> 00:03:50,140 Per tant, si vostè pot trencar la seva aplicació en algunes àrees funcionals diferents 70 00:03:50,140 --> 00:03:57,640 que farà - i vostè pot reduir la quantitat d'espècie de comunicació entre l'àrea - 71 00:03:57,640 --> 00:04:03,530 que l'ajudarà molt en el llarg termini en termes de reducció d'errors. 72 00:04:03,530 --> 00:04:07,950 >> Per ser concrets, en general les persones divideixen una aplicació web en - 73 00:04:07,950 --> 00:04:13,190 aquests són una mena de paraules de moda ara, però segueixen sent útils. 74 00:04:13,190 --> 00:04:17,940 És possible que hagi sentit parlar dels models, vistes i controladors. 75 00:04:17,940 --> 00:04:23,210 Els models són les dades reals que la seva aplicació es va a tractar. 76 00:04:23,210 --> 00:04:28,260 Per exemple, si gat Facebook, els seus models serien - 77 00:04:28,260 --> 00:04:35,340 vostè tindria un model per als missatges, com, i un model per als perfils d'usuari, coses per l'estil. 78 00:04:35,340 --> 00:04:41,090 Els seus punts de vista són la targeta de presentació de les dades als usuaris. 79 00:04:41,090 --> 00:04:46,660 És possible que tingui 1 vista per mirar a un sol lloc i tots els comentaris 80 00:04:46,660 --> 00:04:51,720 i una visió diferent per la seva paret que té una llista de tots els missatges 81 00:04:51,720 --> 00:04:57,170 que es dirigeixen a vostè, i una visió diferent del seu servei de notícies - coses com aquestes. 82 00:04:57,170 --> 00:05:00,610 Finalment, vostè té els controladors que són, bàsicament, quan la gent t'envia missatges 83 00:05:00,610 --> 00:05:03,310 i vostè fa canvis al seu sistema de back-end, 84 00:05:03,310 --> 00:05:06,400 incrementes un munt de comptadors, i el que sigui. 85 00:05:06,400 --> 00:05:07,860 Aquests són els controladors. 86 00:05:07,860 --> 00:05:11,030 >> Vaig a parlar sobre tot sobre els models. 87 00:05:11,030 --> 00:05:14,030 Vistes tècnicament no són tan difícils i el problema és més amb el disseny d'ells 88 00:05:14,030 --> 00:05:22,040 Controladors seran específics del que sigui que vostè està dissenyant. 89 00:05:22,040 --> 00:05:25,220 Però hi ha algunes tècniques molt generals que es poden utilitzar 90 00:05:25,220 --> 00:05:30,220 per fer les seves models més agradable i més fàcil de treballar que crec que són molt útils. 91 00:05:30,220 --> 00:05:35,860 Això és sobretot serà sobre com tractar amb les seves dades d'aplicacions web d'una manera agradable. 92 00:05:35,860 --> 00:05:40,420 Els principals problemes amb els models 93 00:05:40,420 --> 00:05:44,540 hi vivien en el client i el servidor i has de esbrinar 94 00:05:44,540 --> 00:05:51,170 a) la forma d'aconseguir-los - tots els rellevants - des del servidor al client, 95 00:05:51,170 --> 00:05:53,440 ib) la forma de mantenir-sincronitzats. 96 00:05:53,440 --> 00:05:58,700 Els seus usuaris voldran fer alguns canvis. 97 00:05:58,700 --> 00:06:00,470 Ells voldran fer nous llocs. 98 00:06:00,470 --> 00:06:04,800 Ells voldran que fossin les coses i aquestes coses si tens gustos. 99 00:06:04,800 --> 00:06:11,490 Aquests són els principals desafiaments tècnics de tractar amb models. 100 00:06:11,490 --> 00:06:15,680 La primera cosa que vostè va a voler preguntar-se és 101 00:06:15,680 --> 00:06:18,420 quin tipus de dades va en aquest model i quin tipus de consultes voldrem fer - 102 00:06:18,420 --> 00:06:24,290 és a dir, com anem a mirar els models? 103 00:06:24,290 --> 00:06:26,940 Per a la seva gat Facebook exemple, 104 00:06:26,940 --> 00:06:31,520 el seu missatge tindrà un autor associat a ell, 105 00:06:31,520 --> 00:06:35,660 algun text publicació al mur, i un receptor de la publicació en el mur. 106 00:06:35,660 --> 00:06:38,470 I llavors molts de vosaltres voleu per consultar que en un munt de diferents maneres. 107 00:06:38,470 --> 00:06:42,220 Vostè vol veure-ho per qui va escriure que després, 108 00:06:42,220 --> 00:06:46,620 per qui va rebre el de publicar, potser per la data en què van ser publicades. 109 00:06:46,620 --> 00:06:50,340 Però si vas a fer-ho per data, llavors vostè ha de afegir un altre camp al teu lloc 110 00:06:50,340 --> 00:06:52,490 quan en realitat va ser publicat. 111 00:06:52,490 --> 00:07:00,220 Aquests 2 factors - el que les dades que voleu utilitzar i com desitja per veure-la - 112 00:07:00,220 --> 00:07:04,200 cal pensar en ells en primer lloc, ja que depenen els uns dels altres, 113 00:07:04,200 --> 00:07:08,030 i que serà més difícil afegir més endavant. 114 00:07:08,030 --> 00:07:12,750 >> Hi ha algunes altres consideracions. 115 00:07:12,750 --> 00:07:17,540 Quan vostè està pensant en com fer front als models al servidor 116 00:07:17,540 --> 00:07:20,540 el que vol veure és - 117 00:07:20,540 --> 00:07:27,440 que, bàsicament, vol fer que el servidor el més simple possible. 118 00:07:29,440 --> 00:07:35,500 Fer coses en el costat del client és generalment molt més ràpid si vostè pot fer-ho únicament en el client 119 00:07:35,500 --> 00:07:38,230 sense fer cap tipus de sol · licitud de xarxa. 120 00:07:38,230 --> 00:07:47,860 La idea és fer la major quantitat de consultes com puguis en el client. 121 00:07:47,860 --> 00:07:51,560 L'únic problema amb això 122 00:07:51,560 --> 00:07:54,160 és que si vostè demana totes les dades en l'inici 123 00:07:54,160 --> 00:07:57,160 llavors això va a trigar molt de temps a carregar. 124 00:07:57,160 --> 00:08:02,290 Per tant, la idea és trobar un terme mig entre tenir suficients dades en el client 125 00:08:02,290 --> 00:08:07,640 que vostè pot fer la major part del seu treball allà, però no només anar a buscar tot alhora 126 00:08:07,640 --> 00:08:09,710 perquè vostè obtingui els temps de càrrega molt lenta al principi. 127 00:08:09,710 --> 00:08:12,610 Per exemple, per a les dades de gat 128 00:08:12,610 --> 00:08:20,340 vostè probablement voldrà portar un munt de publicacions en el mur recents. 129 00:08:20,340 --> 00:08:23,790 No vol a cercar a tots, perquè això podria tornar un parell d'anys. 130 00:08:23,790 --> 00:08:25,470 Però no vol a buscar un a la vegada 131 00:08:25,470 --> 00:08:28,740 perquè això seria introduir una gran quantitat de sobrecàrrega de la xarxa. 132 00:08:28,740 --> 00:08:33,620 >> Sovint és molt difícil - una vegada que vostè té una base de dades en execució - 133 00:08:33,620 --> 00:08:37,210 que és sovint molt difícil canviar les dades que tens a ell - 134 00:08:37,210 --> 00:08:40,510 és a dir, afegir una columna de base de dades nou o alguna cosa - 135 00:08:40,510 --> 00:08:43,510 pel que una bona estratègia és en realitat només per mantenir una gran quantitat de dades en una bombolla de text - 136 00:08:43,510 --> 00:08:53,880 una taca JSON - JSON sent JavaScript Object Notation - 137 00:08:53,880 --> 00:08:58,330 La raó que és útil és perquè llavors vostè pot afegir noves propietats 138 00:08:58,330 --> 00:09:01,920 a totes aquestes taques JSON sense canviar la seva base de dades. 139 00:09:01,920 --> 00:09:06,860 L'únic desavantatge d'això és que si vostè té un munt de camps 140 00:09:06,860 --> 00:09:09,890 que ha afegit més tard - com amagat en aquesta bombolla JSON - 141 00:09:09,890 --> 00:09:12,850 llavors és més difícil de consultar a l'interior la base de dades. 142 00:09:12,850 --> 00:09:17,690 Per exemple, si més endavant - si vostè tenia el seu model post que hem comentat anteriorment 143 00:09:17,690 --> 00:09:25,380 amb només l'autor, el destinatari i el text - 144 00:09:25,380 --> 00:09:29,000 vostè també podria tenir una taca JSON i després si més endavant voleu afegir un camp de data 145 00:09:29,000 --> 00:09:31,000 vostè no ha de canviar la seva base de dades. 146 00:09:31,000 --> 00:09:36,140 Es podia afegir dates a tots els camps de text. 147 00:09:36,140 --> 00:09:39,640 I llavors seria capaç de mirar als del costat del client, 148 00:09:39,640 --> 00:09:42,430 però no seria capaç de consultar-los en el costat del servidor 149 00:09:42,430 --> 00:09:44,430 perquè està amagat dins d'aquest text. 150 00:09:44,430 --> 00:09:49,920 >> L'altre tema que vostè vol pensar en 151 00:09:49,920 --> 00:09:52,400 és com el seu client i el servidor es va a comunicar. 152 00:09:52,400 --> 00:09:56,040 Generalment, vol mantenir això tan simple com sigui possible. 153 00:09:56,040 --> 00:10:02,230 Vostè només pot tenir com una-em-get aquesta sol · licitud de dades, 154 00:10:02,230 --> 00:10:09,140 1 crear un nou objecte-cosa, i una sol · licitud d'actualització-an-old-objecte. 155 00:10:09,140 --> 00:10:12,930 I aquests serien tots diferents adreces URL al servidor que vostè - 156 00:10:12,930 --> 00:10:20,030 que el navegador seria - es pot utilitzar peticions AJAX per a tots ells 157 00:10:20,030 --> 00:10:24,000 i rebre o enviar dades. 158 00:10:24,000 --> 00:10:26,600 Una vegada més, per al nostre gat Facebook exemple, 159 00:10:26,600 --> 00:10:32,350 vostè podria haver de URL per obtenir una entrada individual, 160 00:10:32,350 --> 00:10:39,750 i vostè tindria una URL per crear una nova publicació al mur 161 00:10:39,750 --> 00:10:45,670 i potser un URL per pujar la teva foto de perfil, coses així. 162 00:10:45,670 --> 00:10:51,730 Però, de nou, això és precarregar la major part de les seves dades perquè vostè no ha de mantenir 163 00:10:51,730 --> 00:10:53,360 fer sol · licituds de xarxa. 164 00:10:53,360 --> 00:10:59,030 Per aquesta raó, és possible que no vull tenir aquesta petició get individual per a un sol lloc, 165 00:10:59,030 --> 00:11:03,210 i en lloc que vostè només vol 1 petició d'obtenció de tota la paret. 166 00:11:03,210 --> 00:11:06,110 I llavors, si vostè està tractant de trobar un equilibri, perquè - 167 00:11:06,110 --> 00:11:10,970 això també dependrà de la seva aplicació. 168 00:11:10,970 --> 00:11:13,430 Perquè si vostè està esperant que la gent només té 10 o 20 publicacions en el mur 169 00:11:13,430 --> 00:11:15,430 que estarà bé. 170 00:11:15,430 --> 00:11:17,390 Però si esperes que tindran milers llavors aquesta sol · licitud seria massa llarg, 171 00:11:17,390 --> 00:11:23,580 i així és possible que vulgueu afegir un paràmetre get-tots-posts-des de llavors. 172 00:11:23,580 --> 00:11:26,580 >> Per tot això vostè està probablement va a voler sincronitzar les seves dades en JSON - 173 00:11:26,580 --> 00:11:29,260 JavaScript Object Notation. 174 00:11:29,260 --> 00:11:34,600 Gairebé tots els llenguatges s'ocupa de JSON molt bé. 175 00:11:34,600 --> 00:11:40,880 JQuery té aquesta bonica funció getJSON que farà tot el treball dur per vostè. 176 00:11:40,880 --> 00:11:47,390 I en PHP també hi ha funcions de comunicació JSON molt agradables. 177 00:11:47,390 --> 00:11:52,660 Llavors, això és, probablement, el millor format per a l'enviament dels seus models d'anada i tornada. 178 00:11:52,660 --> 00:11:56,570 >> Com a exemple del que hem parlat fins ara, 179 00:11:56,570 --> 00:12:00,520 vet aquí un exemple de flux per al seu gat aplicació de Facebook. 180 00:12:00,520 --> 00:12:07,760 Comença amb l'explorador que demana la URL del lloc web base. 181 00:12:07,760 --> 00:12:15,470 El servidor probablement seria enviar a través d'HTML estàtic i una mica de JavaScript i CSS. 182 00:12:15,470 --> 00:12:19,170 En general és millor no fer cap representació al servidor. 183 00:12:19,170 --> 00:12:23,370 És probable que no vol - 184 00:12:23,370 --> 00:12:28,360 el que el servidor no està fent allà va per la llista de publicacions en el mur 185 00:12:28,360 --> 00:12:31,120 i generar una mica d'HTML per a cada un i l'enviament que més. 186 00:12:31,120 --> 00:12:34,960 En general és la millor manera de fer això al costat del client perquè si 187 00:12:34,960 --> 00:12:38,580 cada vegada que vulgui tornar a dibuixar alguna cosa, vostè ha de fer una sol · licitud del servidor. 188 00:12:38,580 --> 00:12:42,450 I això molt ràpidament li dóna un munt de despeses. 189 00:12:42,450 --> 00:12:47,430 En general és millor només per la nau ha fet baixar estàtica HTML 190 00:12:47,430 --> 00:12:50,660 i després JavaScript i CSS que faran la prestació per part del client. 191 00:12:50,660 --> 00:12:56,750 Així que això entra, 192 00:12:56,750 --> 00:13:03,500 llavors vostè pot tenir - en JavaScript - vostè pot fer les sol · licituds per a les dades paret 193 00:13:03,500 --> 00:13:08,740 i coses per l'estil, i després que el servidor està bàsicament fent consultes de bases de dades 194 00:13:08,740 --> 00:13:10,740 i la comprovació de permisos. 195 00:13:10,740 --> 00:13:16,690 L'única cosa important és que no es pot enviar a través d'altres publicacions en el mur usuaris 196 00:13:16,690 --> 00:13:19,220 que vostè no està autoritzat a veure. 197 00:13:19,220 --> 00:13:28,050 Bàsicament pot ser una capa molt prima d'accés a la base de dades, 198 00:13:28,050 --> 00:13:32,820 i després, de la qual mostren les dades - tots els punts de vista i aquestes coses - 199 00:13:32,820 --> 00:13:37,280 els que poden succeir al navegador, i després quan es vol fer un post o alguna cosa 200 00:13:37,280 --> 00:13:40,000 que acaba d'enviar una nova sol · licitud. 201 00:13:40,000 --> 00:13:45,350 >> També hi ha algunes coses de luxe que es pot fer a la part superior d'aquesta. 202 00:13:45,350 --> 00:13:49,550 Quant a la informació tècnica més específica, 203 00:13:49,550 --> 00:13:53,360 desenvolupament en la plana JavaScript pot ser una mica dolorós, 204 00:13:53,360 --> 00:13:56,220 així que hi ha algunes biblioteques i eines que l'ajudaran molt amb això. 205 00:13:56,220 --> 00:14:03,690 Crec que tots hem sentit probablement sobre jQuery que fa fer el processament d'HTML 206 00:14:03,690 --> 00:14:08,890 i la manipulació molt més fàcil - tenen un munt de funcions de luxe per a la decoloració d'entrada i sortida, 207 00:14:08,890 --> 00:14:12,020 i fer animacions ZIPPY. 208 00:14:12,020 --> 00:14:13,720 També hi ha aquesta biblioteca anomenada Underscore.js. 209 00:14:13,720 --> 00:14:20,760 Té una gran quantitat de funcions d'utilitat útils, coses que es pot esperar a tenir JavaScript 210 00:14:20,760 --> 00:14:24,740 que realment doesnt - coses com estudiar una matriu, 211 00:14:24,740 --> 00:14:28,900 l'eliminació de duplicats d'una llista, o aplanar una llista de llistes. 212 00:14:28,900 --> 00:14:30,900 Això és només un petit exemple de codi. 213 00:14:30,900 --> 00:14:36,520 Subratllat té una tona d'aquests simpàtics funcions que vostè desitja que tindria tot el temps. 214 00:14:36,520 --> 00:14:38,840 >> I després hi ha l'1 biblioteca més que m'agradaria passar una mica de temps en 215 00:14:38,840 --> 00:14:44,800 anomenat Backbone.js perquè Backbone realment ajuda a lluitar amb models al costat del client 216 00:14:44,800 --> 00:14:47,210 i una gran part de la confusió que pot causar. 217 00:14:47,210 --> 00:14:53,550 Backbone li dóna aquest concepte de models i col · leccions 218 00:14:53,550 --> 00:14:58,300 en JavaScript que són, bàsicament, exactament igual que els objectes JavaScript 219 00:14:58,300 --> 00:15:04,900 en matrius de JavaScript, però tenen esdeveniments a canviar les seves propietats. 220 00:15:04,900 --> 00:15:09,090 Igual que en JavaScript, pot fer que un esdeveniment quan es fa clic a un botó o alguna cosa 221 00:15:09,090 --> 00:15:14,800 aquests models de Backbone i col · leccions Backbone transmetran coses com 222 00:15:14,800 --> 00:15:17,510 que quan canvien. 223 00:15:17,510 --> 00:15:22,270 Això vol dir que vostè pot escriure alguna cosa com aquest fragment de codi aquí - 224 00:15:22,270 --> 00:15:27,530 això diu, sempre que s'afegeixi res a la matriu missatges redibuixar tota la paret. 225 00:15:27,530 --> 00:15:34,270 I això deia sempre que el nombre d'un lloc de talla canvia, 226 00:15:34,270 --> 00:15:38,970 vostè notifiqui a l'usuari que algú li agrada el seu lloc. 227 00:15:38,970 --> 00:15:45,210 O cada vegada que qualsevol propietat d'un lloc canvia redibuixar el lloc. 228 00:15:45,210 --> 00:15:51,050 Coses com que li estalviarà tones de complexitat perquè en cas contrari 229 00:15:51,050 --> 00:15:55,440 si vostè no té algun tipus de marc com aquest, llavors cada vegada que en el codi que canviï 230 00:15:55,440 --> 00:16:04,280 res sobre un post, que hauria de recordar-se a si mateix que cridar a totes les funcions de render 231 00:16:04,280 --> 00:16:07,680 i coses per l'estil, i si volia afegir alguna cosa nova que va succeir 232 00:16:07,680 --> 00:16:10,680 cada vegada que es va modificar un lloc que hauria d'anar a través de cada lloc en el seu 233 00:16:10,680 --> 00:16:14,610 codi que ha modificat un post i afegir aquesta cosa nova. 234 00:16:14,610 --> 00:16:21,450 Un marc com aquest eliminarà un munt que la comunicació entre capes 235 00:16:21,450 --> 00:16:28,280 que fa el codi complex i difícil de mantenir. 236 00:16:28,280 --> 00:16:31,170 >> Hi ha una mica de vistes també. 237 00:16:31,170 --> 00:16:35,960 Vaig a deixar la major part d'això a Billy perquè tècnicament no són molt difícils. 238 00:16:35,960 --> 00:16:43,540 Utilitza jQuery per als seus punts de vista. És pràcticament com una necessitat en aquest punt. 239 00:16:43,540 --> 00:16:46,290 Simplement fa que tot sigui molt més fàcil. 240 00:16:46,290 --> 00:16:48,290 Hi ha una gran quantitat de biblioteques. 241 00:16:48,290 --> 00:16:49,970 Si s'ha complicat els elements d'interfície d'usuari, 242 00:16:49,970 --> 00:16:57,250 si vols alguna cosa d'auto-completar o com un d'aquests elegants múltiples selectors - 243 00:16:57,250 --> 00:17:04,790 si vols alguna cosa així, probablement hauria simplement buscar al voltant 244 00:17:04,790 --> 00:17:08,130 i es pot trobar una bona biblioteca que farà el que vols. 245 00:17:08,130 --> 00:17:11,579 Billy li explicarà més sobre les parts realment difícils de visites. 246 00:17:11,579 --> 00:17:17,530 A més, com a nota al marge, Backbone té algunes funcions per fer visites comuniquen 247 00:17:17,530 --> 00:17:22,800 molt bé amb els models - miri la documentació de totes aquestes biblioteques, en realitat. 248 00:17:22,800 --> 00:17:28,270 Només cal mirar als docs. Estan molt ben escrit i fàcil de seguir. 249 00:17:28,270 --> 00:17:33,890 En general, es pot pràcticament només Google si té problemes. 250 00:17:33,890 --> 00:17:36,370 Hi ha una gran quantitat de persones que els utilitzen. 251 00:17:36,370 --> 00:17:42,020 Crec que això és com una nota al final. 252 00:17:42,020 --> 00:17:48,770 >> També hi ha algunes coses més avançades que vostè pot fer 253 00:17:48,770 --> 00:17:53,400 si vostè està buscant per fer la seva aplicació web extra impressionant. 254 00:17:53,400 --> 00:17:59,760 Vostè pot fer - la nova especificació HTML5 té un munt de coses de luxe que vostè pot fer. 255 00:17:59,760 --> 00:18:05,780 Emmagatzematge local - que és que pot emmagatzemar dades en el navegador - 256 00:18:05,780 --> 00:18:09,470 en lloc d'haver de tornar enrere i llegir el servidor per a tot, 257 00:18:09,470 --> 00:18:12,470 vostè pot mantenir una mica d'ella en el client i que fins i tot permet a la gent - 258 00:18:12,470 --> 00:18:20,850 en alguns casos fins i tot pot permetre la utilització de la pàgina web fora de línia. 259 00:18:20,850 --> 00:18:26,980 Hi ha una cosa que es diu WebSockets que són un tipus diferent de la comunicació en xarxa 260 00:18:26,980 --> 00:18:30,930 on en comptes de vostè fa una comanda, s'obté la resposta i ja està, 261 00:18:30,930 --> 00:18:35,240 segueixes obrir una connexió amb el servidor i pel que pot fer coses com 262 00:18:35,240 --> 00:18:37,240 actualitzacions en temps real. 263 00:18:37,240 --> 00:18:42,020 Així que, si estàs tractant de fer una aplicació de xat, podeu utilitzar WebSockets 264 00:18:42,020 --> 00:18:43,790 per comunicar amunt i avall de manera que vostè no hauria de seguir demanant, 265 00:18:43,790 --> 00:18:48,410 "Oh, servidor, algú m'envia un xat?" cada 10 segons o alguna cosa així. 266 00:18:48,410 --> 00:18:55,620 També hi ha una característica interessant HTML5 on es pot fer que sembli que 267 00:18:55,620 --> 00:18:58,340 l'adreça URL de la pàgina està canviant sense haver de recarregar realment. 268 00:18:58,340 --> 00:19:03,230 Podeu utilitzar els botons Enrere i endavant sense fer un munt de peticions de xarxa. 269 00:19:03,230 --> 00:19:14,660 Coses com aquesta és molt útil en termes del que és ràpid però també funciona com una aplicació web hauria. 270 00:19:14,660 --> 00:19:17,680 >> També hi ha una cosa anomenada CoffeeScript. 271 00:19:17,680 --> 00:19:24,450 CoffeeScript és un llenguatge diferent, en realitat, que compila a JavaScript. 272 00:19:24,450 --> 00:19:30,080 Es podria escriure tot el codi en CoffeeScript, i després executar aquest compilador, 273 00:19:30,080 --> 00:19:33,300 i escup un arxiu JavaScript que es pot incloure a la teva pàgina web. 274 00:19:33,300 --> 00:19:38,860 La raó que CoffeeScript és bo és perquè es desfà d'una gran part del 275 00:19:38,860 --> 00:19:44,760 casos estranys que el JavaScript on iguala iguals, 276 00:19:44,760 --> 00:19:51,130 i és igual als iguals fan coses diferents, o els agrada - 277 00:19:51,130 --> 00:19:55,740 té millor sintaxi per fer front a les matrius i funcions. 278 00:19:55,740 --> 00:20:00,460 Aquest és un petit fragment de CoffeeScript que genera una llista de totes les places 279 00:20:00,460 --> 00:20:04,900 de 10 ^ 2 a 1 ^ 2 en ordre invers. 280 00:20:04,900 --> 00:20:08,410 Com podeu veure, CoffeeScript sovint li permet expressar en 1 línia 281 00:20:08,410 --> 00:20:10,890 el que portaria 5 línies de JavaScript. 282 00:20:10,890 --> 00:20:13,230 Es pot fer les coses molt més fàcil. 283 00:20:13,230 --> 00:20:15,390 És una mica de la nova sintaxi d'aprendre al principi, 284 00:20:15,390 --> 00:20:18,010 però sens dubte et farà més productiu en el llarg termini. 285 00:20:18,010 --> 00:20:22,050 >> També podeu utilitzar altres idiomes al servidor i PHP - 286 00:20:22,050 --> 00:20:27,570 llenguatges com Ruby, Python, o fins i tot hi ha un projecte anomenat Node.js 287 00:20:27,570 --> 00:20:31,450 que li permet utilitzar JavaScript al servidor. 288 00:20:31,450 --> 00:20:34,700 Personalment, jo realment, realment odi PHP. 289 00:20:34,700 --> 00:20:38,310 És només que no gaudeixo de treballar amb ell. 290 00:20:38,310 --> 00:20:43,450 Si vostè també pensa que es tracta d'un cluge horrible d'una llengua, 291 00:20:43,450 --> 00:20:46,160 llavors vostè pot utilitzar un d'aquests al seu lloc. 292 00:20:46,160 --> 00:20:54,780 En general, si vostè vol fer alguna cosa i no sap molt bé com ho faria, 293 00:20:54,780 --> 00:20:56,780 simplement buscar a Internet. 294 00:20:56,780 --> 00:20:59,990 Hi ha tones i tones de recursos, especialment en - 295 00:20:59,990 --> 00:21:03,260 StackOverflow és un gran. 296 00:21:03,260 --> 00:21:06,400 És aquest lloc web on els programadors es fan preguntes. 297 00:21:06,400 --> 00:21:09,690 És possible que s'han topat amb ell si estàs tenint problemes en els butlletins de problemes CS50. 298 00:21:09,690 --> 00:21:16,820 I hi ha un munt de biblioteques per fer gairebé qualsevol cosa que vulguis. 299 00:21:16,820 --> 00:21:21,710 Si vostè vol fer alguna cosa i no saps com fer-ho, 300 00:21:21,710 --> 00:21:23,710 no assumeixi que és impossible. 301 00:21:23,710 --> 00:21:26,160 Només cal mirar al voltant i vostè pot trobar alguns bons recursos. 302 00:21:26,160 --> 00:21:29,280 >> Com general acabar, 303 00:21:29,280 --> 00:21:33,650 els principals robatoris de pilota són mantenir les coses simples. 304 00:21:33,650 --> 00:21:36,010 Com més complex sigui el codi està al principi 305 00:21:36,010 --> 00:21:40,370 i com més es tracta de fer coses de luxe, 306 00:21:40,370 --> 00:21:43,300 com més temps es trigarà a aconseguir alguna cosa realment funcional 307 00:21:43,300 --> 00:21:46,480 i més difícil serà canviar més tard. 308 00:21:46,480 --> 00:21:49,580 Per tant, fer les coses de la manera ximple, fàcil primer. 309 00:21:49,580 --> 00:21:51,720 Per anar juntament amb això, 310 00:21:51,720 --> 00:21:59,070 no tinguis por de tirar codi antic o netejar molt. 311 00:21:59,070 --> 00:22:05,320 En general, una vegada que realment té una mica de treball, 312 00:22:05,320 --> 00:22:09,640 és molt més fàcil pensar que quan encara està en els primers passos 313 00:22:09,640 --> 00:22:12,610 de com puc posar tot això junt. 314 00:22:12,610 --> 00:22:17,500 El millor és fer que el més ximple possible disseny que funciona 315 00:22:17,500 --> 00:22:22,270 i després millorar iterativa de tractar de fer tot bé la primera vegada. 316 00:22:22,270 --> 00:22:28,330 Quant a la divisió de client-servidor, tractar de mantenir el seu servidor molt simple - 317 00:22:28,330 --> 00:22:33,030 només una base de dades i una mica d'autenticació i no fan cap treball dur allà. 318 00:22:33,030 --> 00:22:37,540 Tots teves coses complicades al client en el navegador 319 00:22:37,540 --> 00:22:40,650 en JavaScript com tot el que pugui. 320 00:22:40,650 --> 00:22:43,420 Miri al seu voltant per a les biblioteques que fan la seva vida millor. 321 00:22:43,420 --> 00:22:46,850 Sempre és millor fer servir el codi que algú més va escriure 322 00:22:46,850 --> 00:22:49,850 si vostè - i no ho escriguis tu mateix. 323 00:22:49,850 --> 00:22:57,560 Hi ha un munt de coses a Internet. Google és el teu millor amic. 324 00:22:57,560 --> 00:22:59,560 Google és el millor amic del programador. 325 00:22:59,560 --> 00:23:07,620 Sí, definitivament, no tinguis por de mirar al seu voltant per la matèria. 326 00:23:07,620 --> 00:23:11,860 Està bé. I a Billy. 327 00:23:11,860 --> 00:23:14,600 >> [Billy] En realitat, abans de començar amb una mica de matèria de disseny, 328 00:23:14,600 --> 00:23:17,250 Algú té alguna pregunta per a Ben sobre qualsevol cosa que ell va parlar de? 329 00:23:17,250 --> 00:23:20,290 D'acord, bé. 330 00:23:20,290 --> 00:23:22,220 Un cop més, sabrem si alguna cosa no està clar 331 00:23:22,220 --> 00:23:25,420 o si voleu que anem per alguna cosa una mica més. 332 00:23:25,420 --> 00:23:30,330 Vaig a retrocedir una mica i parlar de les parts més fonamentals del disseny. 333 00:23:30,330 --> 00:23:34,840 Ben va esmentar el model anomenat - ho sento, el sistema Model View Controller 334 00:23:34,840 --> 00:23:38,520 que és una espècie de la part tècnica, així que vaig a veure punts de vista en concret, 335 00:23:38,520 --> 00:23:42,930 i jo vaig a començar amb com li agradaria dissenyar una vista que es veu bé. 336 00:23:42,930 --> 00:23:50,540 Aquí hi ha una mena de plantilla realment bàsic per al nostre gat Facebook. 337 00:23:50,540 --> 00:23:54,190 Crec que hi ha alguns aspectes fonamentals en el disseny d'interfície d'usuari moderna 338 00:23:54,190 --> 00:23:56,190 que val la pena recollir. 339 00:23:56,190 --> 00:23:58,210 Vostè pot notar que hi ha un munt d'espai en blanc per tota la pàgina, 340 00:23:58,210 --> 00:24:00,790 molt espai per a les coses. 341 00:24:00,790 --> 00:24:02,580 No senti que ha de aixafar coses en una pàgina. 342 00:24:02,580 --> 00:24:06,700 Vols deixar un munt d'espai obert, i si vas a gairebé qualsevol lloc web modern 343 00:24:06,700 --> 00:24:08,380 veuràs que hi ha blanc per tot arreu. 344 00:24:08,380 --> 00:24:10,380 No hi ha blanc en llocs que no es poden esperar. 345 00:24:10,380 --> 00:24:14,570 Vostè té aquesta paleta de colors, i és savi al principi 346 00:24:14,570 --> 00:24:17,880 triar una paleta de colors que va a treballar i desenvolupar-se. 347 00:24:17,880 --> 00:24:22,250 També - Ajuda a triar un tipus de lletra, i d'aquesta manera et tipus de treball amb 348 00:24:22,250 --> 00:24:24,450 aquests fonaments concrets de disseny. 349 00:24:24,450 --> 00:24:26,910 Vostè té el seu tipus, té els seus colors, i llavors vostè pot tipus de 350 00:24:26,910 --> 00:24:29,380 posar tota la resta en el que necessiten. 351 00:24:29,380 --> 00:24:37,710 Així que, com he dit, amb el seu esquema de color que voleu utilitzar els colors més atrevits del seu esquema de color 352 00:24:37,710 --> 00:24:40,320 moderació. Encapçalats són agradables. Els botons són bo tenir realment grans, colors cridaners. 353 00:24:40,320 --> 00:24:43,710 Però en general, si vostè té un lloc web que té colors per tot arreu, 354 00:24:43,710 --> 00:24:47,250 tot el que salta a la vista, que només es veu desordenat, i no és bo. 355 00:24:47,250 --> 00:24:50,430 Voleu utilitzar generalment de colors clars. 356 00:24:50,430 --> 00:24:52,890 Proveu de nou, triar un esquema de color molt coherent. 357 00:24:52,890 --> 00:24:56,640 Vostè pot tenir aquestes petites pinzellades de molt color - 358 00:24:56,640 --> 00:25:00,240 que pot semblar bastant agradable, però desitja utilitzar molt escassament. 359 00:25:00,240 --> 00:25:04,270 >> Com ja he dit, vol ser mínim. Menys és gairebé sempre més. 360 00:25:04,270 --> 00:25:07,430 Si vostè pot mostrar alguna cosa o no mostrar alguna cosa, 361 00:25:07,430 --> 00:25:10,230 i ets una mica segur de si hauria d'estar aquí per defecte - 362 00:25:10,230 --> 00:25:13,400 probablement estàs millor deixar-lo fora. Sempre es pot afegir més tard. 363 00:25:13,400 --> 00:25:16,620 Sí, mantenir les coses simples. 364 00:25:16,620 --> 00:25:19,510 Però el més important, vol considerar múltiples dissenys. 365 00:25:19,510 --> 00:25:23,520 No pensis que quan vostè fa un lloc, ho tens al teu cap que et 366 00:25:23,520 --> 00:25:26,310 fer que el lloc d'una manera determinada, i que serà exactament així. 367 00:25:26,310 --> 00:25:29,830 Va a tenir la capçalera blava a la part superior i la barra lateral blava 368 00:25:29,830 --> 00:25:32,670 i llavors la cosa sub-encapçalat groc. 369 00:25:32,670 --> 00:25:34,670 Vols fer diverses plantilles. 370 00:25:34,670 --> 00:25:37,350 Vostè pot - si ets bo amb Photo Shop, pot obrir això i tipus de 371 00:25:37,350 --> 00:25:39,600 dissenyar un lloc web que vulguis que es vegi. 372 00:25:39,600 --> 00:25:41,680 Si no, pot simplement usar la ploma i el paper, 373 00:25:41,680 --> 00:25:44,000 però ratllar múltiples dissenys. 374 00:25:44,000 --> 00:25:47,000 Vols tenir bàsicament un sistema per dalt on vostè té un munt de diferents dissenys, 375 00:25:47,000 --> 00:25:50,810 i si un acaba treballant, llavors això és genial. 376 00:25:50,810 --> 00:25:53,370 Si un acaba fallant, llavors un sempre té un altre a qui recórrer. 377 00:25:53,370 --> 00:25:57,960 En general, no se sent com que sigui constret 378 00:25:57,960 --> 00:26:00,830 a qualsevol disseny que en un inici es decideixi sobre. 379 00:26:00,830 --> 00:26:04,420 Els dissenys són molt variables, i part de la importància del model 380 00:26:04,420 --> 00:26:09,480 vista controlador del sistema és que es pot canviar i sortir de diferents punts de vista que desitgi. 381 00:26:09,480 --> 00:26:13,510 Pot influir en les dades d'una manera, i després decidir, oh, realment, que no funciona tan bé. 382 00:26:13,510 --> 00:26:19,190 Crec que és una cosa massa complicat o hi ha una part aquí que no està realment treballant, 383 00:26:19,190 --> 00:26:22,150 així que només vaig a abandonar totalment aquest punt de vista i d'intercanvi d'una forma totalment nova. 384 00:26:22,150 --> 00:26:24,790 Encara podem usar els vells models i els vells controladors. 385 00:26:24,790 --> 00:26:27,490 Podem fer tot el que en el servidor i el client com ho faríem abans. 386 00:26:27,490 --> 00:26:32,850 Però l'onada actual de les dades mentre es mostra serà una mica diferent. 387 00:26:32,850 --> 00:26:35,840 >> Pel que fa a l'aplicació real el disseny que desitgi, 388 00:26:35,840 --> 00:26:39,330 un cop alguns dissenys esbossats en paper oa la botiga de fotos o el que sigui, 389 00:26:39,330 --> 00:26:42,120 hi ha una sèrie d'eines que estan disponibles per a vostè. 390 00:26:42,120 --> 00:26:45,700 El primer vostè està molt familiaritzat amb la qual és la seva HTML, PHP, o el que sigui 391 00:26:45,700 --> 00:26:48,990 idioma que està fent servir només per a codificar les pàgines estàtiques al seu lloc web. 392 00:26:48,990 --> 00:26:51,990 Vostè ha treballat molt amb HTML quin tipus de li dóna les següents etiquetes 393 00:26:51,990 --> 00:26:57,820 que pot posar les coses en, i, bàsicament, és una forma d'organitzar el contingut. 394 00:26:57,820 --> 00:27:00,990 Per exemple, vostè té la capçalera fins allà, així que vas a tenir una etiqueta de capçalera, 395 00:27:00,990 --> 00:27:05,770 i que tindrà una mica de text dins de la mateixa que és, probablement, serà en una altra etiqueta. 396 00:27:05,770 --> 00:27:08,380 Llavors vostè té una barra lateral potser amb alguns enllaços diferents, 397 00:27:08,380 --> 00:27:10,160 i els que van a estar tots a separar les etiquetes. 398 00:27:10,160 --> 00:27:13,870 Així que, bàsicament HTML en el seu cor és una manera de dividir la pàgina com 399 00:27:13,870 --> 00:27:16,980 finalment desitja formatar. 400 00:27:16,980 --> 00:27:18,980 Així que de nou, has vist això abans. 401 00:27:18,980 --> 00:27:20,540 Ets bastant còmode amb el treball amb ell ara 402 00:27:20,540 --> 00:27:23,120 considerant que s'ha fet l'últim conjunt de processadors amb sort, 403 00:27:23,120 --> 00:27:26,150 per la qual cosa hauria d'haver cap problema. 404 00:27:26,150 --> 00:27:31,280 >> Llavors vostè ha CSS que bàsicament s'encarrega de tots els aspectes estàtics de disseny. 405 00:27:31,280 --> 00:27:35,320 Seria gestionar tots els colors, tot el posicionament dels diferents elements, 406 00:27:35,320 --> 00:27:36,840 on van amb respecte a l'altra, 407 00:27:36,840 --> 00:27:41,530 el grans que són, els diferents tipus de posicionaments que vostè hauria - 408 00:27:41,530 --> 00:27:46,030 en altres paraules, pot haver coses fixa de manera que quan es desplaça cap avall es queden, 409 00:27:46,030 --> 00:27:48,700 o pot fer que les coses en relació amb altres elements. 410 00:27:48,700 --> 00:27:50,730 Tot aquest tipus de coses és en el CSS. 411 00:27:50,730 --> 00:27:54,630 A més, vostè pot fer decoracions diferents, pot fer que els colors del text, 412 00:27:54,630 --> 00:27:56,630 efectes de text, tot aquest tipus de coses. 413 00:27:56,630 --> 00:28:00,360 Ben va donar un molt bon seminari sobre aquest passat cap de setmana, 414 00:28:00,360 --> 00:28:04,450 i així que sens dubte comprovar que fos si estarà fent algunes coses de luxe amb CSS. 415 00:28:04,450 --> 00:28:09,850 CSS3 és en realitat l'última versió de CSS, i es pot fer tot tipus de coses realment agradables. 416 00:28:09,850 --> 00:28:14,750 Es pot fer gradients, vostè pot tenir agradables, cantonades arrodonides, es pot fer tot tipus de coses 417 00:28:14,750 --> 00:28:17,940 per fer el seu lloc web un aspecte més modern i elegant. 418 00:28:17,940 --> 00:28:22,150 >> La següent eina és JavaScript i jQuery que Ben va parlar una mica sobre, 419 00:28:22,150 --> 00:28:24,150 però Vaig a buscar una mica més en. 420 00:28:24,150 --> 00:28:28,100 JavaScript, ja que ha treballat amb ell una mica, o almenys vist a classe, 421 00:28:28,100 --> 00:28:31,870 és una espècie de forma de fer les coses de forma dinàmica en HTML. 422 00:28:31,870 --> 00:28:35,950 HTML, com vostès saben, és estàtic, de manera que una vegada que tingui HTML no pot modificar-lo. 423 00:28:35,950 --> 00:28:40,050 Però JavaScript en certa manera, és una manera de ser capaç de modificar l'HTML. 424 00:28:40,050 --> 00:28:44,520 Així que vostè pot fer això, i això és genial, però Javascript és realment un mal de treballar. 425 00:28:44,520 --> 00:28:49,050 És tan llarg i obtús i per fer les coses més simples 426 00:28:49,050 --> 00:28:51,630 requereix una gran quantitat de línies de JavaScript. 427 00:28:51,630 --> 00:28:55,410 Així, jQuery és bàsicament una llibreria JavaScript que simplifica tot això. 428 00:28:55,410 --> 00:28:59,880 Es diu, està bé, si vostè vol tenir una caixa quadrada venir de l'esquerra 429 00:28:59,880 --> 00:29:03,980 i s'esvaeixen en la pàgina de manera que està al mig, en JavaScript que prendria - 430 00:29:03,980 --> 00:29:06,340 No sé, un centenar de línies per fer, i seria un mal, 431 00:29:06,340 --> 00:29:10,540 i se surt d'ell odia tot el relacionat amb la programació web. 432 00:29:10,540 --> 00:29:15,380 JQuery que, bàsicament, té l'element-punt-fade-in, o alguna cosa així. 433 00:29:15,380 --> 00:29:18,580 Funcions tant, molt, molt senzills que li permetrà fer tot tipus d'animacions fresc 434 00:29:18,580 --> 00:29:20,580 i aquest tipus de coses. 435 00:29:20,580 --> 00:29:23,300 L'altra cosa que aquests 2 són molt bons per només està fent coses dinàmiques 436 00:29:23,300 --> 00:29:25,300 amb el lloc web. 437 00:29:25,300 --> 00:29:28,370 Així, en lloc de tenir la seva pàgina HTML - que mostra algunes dades, però que en realitat no 438 00:29:28,370 --> 00:29:32,130 fer res - JavaScript i jQuery li permetrà tenir botons que vostè pot fer clic a, 439 00:29:32,130 --> 00:29:37,960 i vostè pot arrossegar elements i Reordenar i ordenar-los, i tenen nous elements 440 00:29:37,960 --> 00:29:40,500 afegit o eliminat. Vostè pot afegir-delete, aquest tipus de coses. 441 00:29:40,500 --> 00:29:44,570 Així, jQuery fa un munt de coses interessants. 442 00:29:44,570 --> 00:29:48,840 I Vipul està realment donant un seminari a ell avui, crec, a les 5 en punt, 443 00:29:48,840 --> 00:29:51,220 així que si vostè pot quedar-se per tant de temps, que ho faria - 5 o 4? 444 00:29:51,220 --> 00:29:54,930 Quatre. Ho sento. De fet, és just després d'això, pel que recomano 445 00:29:54,930 --> 00:29:56,680 enganxar voltant per si pots. 446 00:29:56,680 --> 00:30:00,180 JQuery és super, super útil, i vostè serà capaç de fer un munt de coses realment agradables amb ella 447 00:30:00,180 --> 00:30:03,460 per a gairebé qualsevol projecte de desenvolupament web. 448 00:30:03,460 --> 00:30:06,200 >> Ara vaig a entrar en una mena de distinció. 449 00:30:06,200 --> 00:30:08,210 He estat parlant bàsicament sobre la interfície d'usuari. 450 00:30:08,210 --> 00:30:11,510 La interfície d'usuari és només el disseny del lloc. 451 00:30:11,510 --> 00:30:13,780 Però hi ha una espècie d'un altre concepte que és l'experiència de l'usuari. 452 00:30:13,780 --> 00:30:15,900 Tots dos són molt diferents. 453 00:30:15,900 --> 00:30:19,440 La interfície és sens dubte part de l'experiència. 454 00:30:19,440 --> 00:30:21,340 En altres paraules, quan vostè va a un lloc, ens fixem en la interfície. 455 00:30:21,340 --> 00:30:22,960 Això és part de la forma d'experimentar el lloc. 456 00:30:22,960 --> 00:30:24,960 Però l'experiència d'usuari és més que això. 457 00:30:24,960 --> 00:30:29,910 L'experiència de l'usuari és sobre el que la impressió que l'usuari rep del seu lloc és. 458 00:30:29,910 --> 00:30:31,910 Així que, òbviament, la interfície és una part d'això. 459 00:30:31,910 --> 00:30:35,340 I és definitivament una part necessària, però no és suficient. 460 00:30:35,340 --> 00:30:38,790 En altres paraules, si teniu una interfície agradable, i és bonic i colorit i tot això, 461 00:30:38,790 --> 00:30:43,650 això és genial, però si l'usuari va al seu lloc, es veu un disseny bonic i està confós per 462 00:30:43,650 --> 00:30:47,060 tot, no té idea de com fer alguna cosa, llavors, evidentment, vostè ha fet una realitat 463 00:30:47,060 --> 00:30:48,930 pobres lloc web. 464 00:30:48,930 --> 00:30:50,930 En certa manera és on entra en joc l'experiència de l'usuari 465 00:30:50,930 --> 00:30:54,570 Vaig a parlar una mica sobre el disseny UX - UX és l'abreviatura de l'experiència de l'usuari - 466 00:30:54,570 --> 00:30:58,050 i una mena de com vostè pot assegurar-se que vostè té una bona experiència d'usuari. 467 00:30:58,050 --> 00:31:04,330 El primer punt és que vostè pot dissenyar un lloc web on l'usuari pot fer qualsevol cosa que 468 00:31:04,330 --> 00:31:06,820 que l'usuari possiblement vol. 469 00:31:06,820 --> 00:31:08,940 Però si l'usuari no pot trobar la manera de fer les coses - 470 00:31:08,940 --> 00:31:12,850 en altres paraules, si l'usuari no té una bona idea quan van al seu lloc de, 471 00:31:12,850 --> 00:31:17,660 "Oh, si vull actualitzar el meu perfil, i després fer clic en aquest botó, o si vull escriure al 472 00:31:17,660 --> 00:31:20,850 el mur d'algú, llavors jo vaig al seu tauler i feu clic a una capseta ". 473 00:31:20,850 --> 00:31:24,410 Si l'usuari no sap això, llavors vostè efectivament té en realitat no 474 00:31:24,410 --> 00:31:27,080 implementat aquesta funcionalitat correctament. 475 00:31:27,080 --> 00:31:30,900 Una part de la implementació d'una funcionalitat és que els usuaris són realment capaços d'utilitzar. 476 00:31:30,900 --> 00:31:34,810 I pot ser frustrant - vostè podria fer un lloc, i es pot fer tot tipus de 477 00:31:34,810 --> 00:31:37,810 coses meravelloses, però llavors tindràs gent prova i diuen: "No puc fer això. 478 00:31:37,810 --> 00:31:39,770 Per què no pot fer això? "I li dirà a ells, 479 00:31:39,770 --> 00:31:44,420 "Bé, pot. Només has d'entrar al menú desplegable setè en aquesta fosca 480 00:31:44,420 --> 00:31:48,470 pàgina que només es troba en un enllaç a la part inferior dreta "o alguna cosa així. 481 00:31:48,470 --> 00:31:50,430 Òbviament, vostè no vol això. 482 00:31:50,430 --> 00:31:53,420 Vostè vol que sigui clar als seus usuaris el que se suposa que han de fer, 483 00:31:53,420 --> 00:31:56,240 i que ha de ser simple i intuïtiu per a ells. 484 00:31:56,240 --> 00:32:01,180 >> Una altra cosa que vostè vol tractar de fer és, si algú va a anar al seu lloc 485 00:32:01,180 --> 00:32:05,520 i 9 de cada 10 vegades fan l'acció A, i 1 de cada 10 vegades fan l'acció B, 486 00:32:05,520 --> 00:32:08,950 és probable que vulgui enfocar la seva experiència en l'acció A. 487 00:32:08,950 --> 00:32:12,240 En altres paraules, vostè vol que sigui molt, molt clar com fer-ho A. 488 00:32:12,240 --> 00:32:15,980 Una ha de ser de primera i de centre - anar al lloc, veure-ho, oh, està just allà. 489 00:32:15,980 --> 00:32:20,850 Atès que el B, òbviament, vol que quedi clar, però vostè pot deixar una mica més 490 00:32:20,850 --> 00:32:22,850 en el fons. 491 00:32:22,850 --> 00:32:24,640 David dóna un bon exemple d'això en la conferència, 492 00:32:24,640 --> 00:32:26,640 que és el sistema de Boston T. 493 00:32:26,640 --> 00:32:29,440 Quan vas a la Boston T i vostè vol comprar un bitllet, 494 00:32:29,440 --> 00:32:32,700 vostè ha d'entrar en 5 menús abans que realment pot comprar un bitllet 495 00:32:32,700 --> 00:32:37,130 per un valor de $ 2, $ 2.50, que és la quantitat que es necessita per viatjar al metro 496 00:32:37,130 --> 00:32:39,130 en una direcció. 497 00:32:39,130 --> 00:32:41,600 Això és un problema perquè la majoria de la gent que està al metro 498 00:32:41,600 --> 00:32:44,880 Probablement només vol anar a un lloc, comprar el seu bitllet, obtenir en forma immediata. 499 00:32:44,880 --> 00:32:47,550 No té sentit que han de passar per un munt de diferents menús 500 00:32:47,550 --> 00:32:49,550 per arribar-hi. 501 00:32:49,550 --> 00:32:51,760 Una millor experiència de l'usuari seria un botó d'accés ràpid a la primera pàgina 502 00:32:51,760 --> 00:32:54,760 que simplement diu, "comprar un bitllet d'anada", i això posaria en tota la norma 503 00:32:54,760 --> 00:32:58,550 valors per defecte, i després, si algú vol comprar un bitllet diferent que, 504 00:32:58,550 --> 00:33:01,690 encara, per descomptat, tenen l'opció, però que ha optimitzat per 505 00:33:01,690 --> 00:33:04,080 el cas d'ús comú que és realment important. 506 00:33:04,080 --> 00:33:06,830 Pots veure exemples d'això a Facebook, no? 507 00:33:06,830 --> 00:33:09,410 Si vas a Facebook i voleu publicar un estat, 508 00:33:09,410 --> 00:33:11,710 que està just a la part superior que és el que sovint vol fer. 509 00:33:11,710 --> 00:33:14,730 Tan aviat com entres a la pàgina, pot fer les coses més comunes que 510 00:33:14,730 --> 00:33:16,730 que vols fer. 511 00:33:16,730 --> 00:33:17,550 Si vostè vol fer les coses una mica més complicades com, 512 00:33:17,550 --> 00:33:21,070 dic que vull anar a la paret del meu amic i posar una foto en ell - 513 00:33:21,070 --> 00:33:24,810 que vaig a voler fer sovint, però no tan sovint com la publicació d'actualitzacions d'estat - 514 00:33:24,810 --> 00:33:28,200 pel que en aquest cas, escric el seu nom al quadre a la part superior, feu clic en el seu perfil, 515 00:33:28,200 --> 00:33:31,680 i després, encara, està just a la part superior hi ha una vegada que m'he ficat al seu perfil. 516 00:33:31,680 --> 00:33:38,240 Un cop més, he optimitzat en prioritat per als casos d'ús comú més. 517 00:33:38,240 --> 00:33:41,800 >> Una altra cosa important és que sovint la gent espècie de tractar d'aconseguir al voltant d'aquest 518 00:33:41,800 --> 00:33:44,890 dient, està bé, així que he fet el lloc i la gent els resulta confús, 519 00:33:44,890 --> 00:33:46,110 i això és un problema, oi? 520 00:33:46,110 --> 00:33:49,210 Òbviament, jo no vull que la gent es confonen pel contingut del meu lloc. 521 00:33:49,210 --> 00:33:53,210 Però la forma de resoldre aquest no és tenir alguna cosa pop-up dient: 522 00:33:53,210 --> 00:33:55,290 bé, jo et vaig a ensenyar com utilitzar aquest lloc. 523 00:33:55,290 --> 00:33:58,130 Pas 1 - feu clic a aquest botó. Pas 2 - feu clic aquí. 524 00:33:58,130 --> 00:34:03,080 És clar, això és una manera voltant d'ella - és una manera que vostè pot dir-li a la gent què fer, però és 525 00:34:03,080 --> 00:34:05,080 Realment no és la manera òptima. 526 00:34:05,080 --> 00:34:07,420 Si vaig a un lloc web i de sobte em bombardegen amb aquest tutorial que m'està dient 527 00:34:07,420 --> 00:34:11,739 què fer i on anar i tot això, això no és divertit per a mi. 528 00:34:11,739 --> 00:34:13,739 No és una bona experiència per a mi. 529 00:34:13,739 --> 00:34:17,130 És una espècie de dolor. Vull començar simplement fent coses. 530 00:34:17,130 --> 00:34:19,449 La gent va a tancar fora del seu quadre de diàleg, 531 00:34:19,449 --> 00:34:23,580 o sortir del programa d'aprenentatge, no sap què fer i, a continuació, es queixen perquè 532 00:34:23,580 --> 00:34:25,580 no els ha dit què fer. 533 00:34:25,580 --> 00:34:29,530 La manera de resoldre això no és donar cap tipus de tutorial o adreces - 534 00:34:29,530 --> 00:34:31,530 res d'això. 535 00:34:31,530 --> 00:34:33,719 Per molt que es pot evitar, que realment vol mostrar a l'usuari què fer 536 00:34:33,719 --> 00:34:36,429 només per la naturalesa de com el lloc web es presenta. 537 00:34:36,429 --> 00:34:39,090 En altres paraules, si vaig a Facebook sense necessitat d'accedir, 538 00:34:39,090 --> 00:34:40,920 el primer que veig a la pàgina principal - 539 00:34:40,920 --> 00:34:44,480 és una petita caixa de connexió. Així, duh. He d'entrar Està just allà. 540 00:34:44,480 --> 00:34:48,030 Atès que, si jo vaig anar a Facebook i que havia de fer clic en un enllaç mica a la part inferior 541 00:34:48,030 --> 00:34:51,920 que deia 'connectar' i la resta de la pàgina era només una mena de quadre o alguna cosa, 542 00:34:51,920 --> 00:34:54,820 Realment no ho sé què fer, oi? Jo estaria confós. 543 00:34:54,820 --> 00:34:58,590 Així, podria dir-me d'anar allà baix i feu clic al botó per iniciar la sessió, 544 00:34:58,590 --> 00:35:01,080 o el botó Inicia sessió podria ser la dreta a la part superior on vaig a veure-ho. 545 00:35:01,080 --> 00:35:04,780 Vols estar sempre mostrant a l'usuari què fer, 546 00:35:04,780 --> 00:35:06,750 i que hauria de ser inherent a la pròpia pàgina. 547 00:35:06,750 --> 00:35:09,880 >> Quan vostè està pensant en dissenys i burlant-se fins a diferents formes de 548 00:35:09,880 --> 00:35:13,810 expressant el seu lloc, vostè realment vol pensar en el que els usuaris van a 549 00:35:13,810 --> 00:35:19,380 es fa i com es pot mostrar el que han de fer. 550 00:35:19,380 --> 00:35:23,530 Una última cosa és la prova és molt, molt important. 551 00:35:23,530 --> 00:35:27,400 És genial tenir algú - demani a un amic, aconseguir a algú que no sap tan sols - 552 00:35:27,400 --> 00:35:30,420 que mai ha vist el lloc abans d'utilitzar la pàgina. 553 00:35:30,420 --> 00:35:33,650 Com que vostè ha estat treballant en el lloc durant hores, vostè ha estat mirant en això, 554 00:35:33,650 --> 00:35:36,670 i vostè sap exactament què fer així que òbviament estarà posant a prova la 555 00:35:36,670 --> 00:35:39,520 coses que has estat treballant i que sap treballar. 556 00:35:39,520 --> 00:35:42,680 Però si algú ve i utilitza el lloc que mai ha fet servir abans, 557 00:35:42,680 --> 00:35:46,880 això és una experiència única, ja tens a algú que no té coneixement previ 558 00:35:46,880 --> 00:35:51,530 del lloc d'entrar-hi, de manera que tindrem, de fet ni idea de què fer 559 00:35:51,530 --> 00:35:54,890 o quin tipus de casos d'ús estan presents per a ells. 560 00:35:54,890 --> 00:36:00,930 Això és genial. Això és únic, ja que són essencialment una persona amb un espai en blanc per a una ment. 561 00:36:00,930 --> 00:36:03,750 Ells li poden dir si alguna cosa és confús o poc clar. 562 00:36:03,750 --> 00:36:07,580 Ells li poden donar una idea del que precisament l'experiència de l'usuari del seu lloc és. 563 00:36:07,580 --> 00:36:10,630 Pot ser molt difícil dir que a tu mateix, de manera que definitivament els animo 564 00:36:10,630 --> 00:36:13,640 com vostè està desenvolupant els seus projectes - si estàs fent projectes basats en la web - 565 00:36:13,640 --> 00:36:18,290 perquè la gent de fer servir el lloc tan aviat com vostè té algun tipus de demostració funcional. 566 00:36:18,290 --> 00:36:25,330 >> Ara vaig a parlar una mica sobre com administrar un projecte de desenvolupament web. 567 00:36:25,330 --> 00:36:28,900 Hem revisat com es pot fer la part de fons tècnic, 568 00:36:28,900 --> 00:36:31,050 com es pot dissenyar un lloc molt bo, 569 00:36:31,050 --> 00:36:34,150 i això és genial si estàs treballant per tu mateix, però - 570 00:36:34,150 --> 00:36:37,300 fins i tot si està treballant pel seu compte i especialment si vostè està treballant en un equip, 571 00:36:37,300 --> 00:36:39,580 gestió de projectes es converteix en un gran problema. 572 00:36:39,580 --> 00:36:42,340 Vostè ha sentit parlar d'una espècie de gestió de projectes en diferents formes des de 573 00:36:42,340 --> 00:36:45,410 l'escola primària quan et van dir treball en grup. 574 00:36:45,410 --> 00:36:46,820 Vostè ha de cooperar, comunicar, tot això. 575 00:36:46,820 --> 00:36:49,620 Tot això encara s'aplica aquí, però hi ha circumstàncies úniques amb 576 00:36:49,620 --> 00:36:54,910 ciències de la computació que es vol tenir en compte, i vol assegurar-se que vostè maneja bé. 577 00:36:54,910 --> 00:36:58,050 Vaig a parlar primer una mica sobre l'equip que vostè va a estar endins 578 00:36:58,050 --> 00:37:03,280 És molt important triar la mida adequat d'un equip que està treballant en, 579 00:37:03,280 --> 00:37:05,890 i en el seu projecte final crec que tens l'opció de triar 580 00:37:05,890 --> 00:37:08,610 entre 1 i 4 persones, si no m'equivoco. 581 00:37:08,610 --> 00:37:12,050 Vostè vol assegurar-se que vostè no està només triant el nombre de persones 582 00:37:12,050 --> 00:37:14,950 que vol treballar amb ells perquè són els teus amics. 583 00:37:14,950 --> 00:37:18,170 Vostè vol triar un equip que és una bona mida i de fer la feina. 584 00:37:18,170 --> 00:37:22,700 Hi ha un descompte comercial a tenir més persones en comparació amb menys gent. 585 00:37:22,700 --> 00:37:25,320 Si vostè té més gent, òbviament, més feina es pot fer 586 00:37:25,320 --> 00:37:28,450 perquè vostè té un munt de gent, un munt de codi, un munt d'idees, 587 00:37:28,450 --> 00:37:29,870 i això és genial. 588 00:37:29,870 --> 00:37:32,590 Però també requereix de molta més gestió i molta més comunicació. 589 00:37:32,590 --> 00:37:34,720 En altres paraules, si vostè té 4 persones que treballen en el mateix projecte 590 00:37:34,720 --> 00:37:39,200 i tots ells estan editant el mateix codi, més o menys que tot tipus de necessitat que ha de saber 591 00:37:39,200 --> 00:37:40,920 el que està passant pel que vostè necessita - 592 00:37:40,920 --> 00:37:44,580 si s'agrega una funció nova que tipus de ha de dir-li a la gent - estic afegint això, 593 00:37:44,580 --> 00:37:48,510 Vaig a canviar això d'aquesta manera - especialment si et fiques en les coses realment profundes 594 00:37:48,510 --> 00:37:52,730 igual que els models i els controladors que se'ls influirà en com funciona el lloc. 595 00:37:52,730 --> 00:37:54,500 Tot l'equip ha de ser conscient, 596 00:37:54,500 --> 00:37:58,140 pel que necessita per assegurar-se que vostè no està triant massa gran un equip que serà difícil 597 00:37:58,140 --> 00:37:59,970 per fer que la comunicació. 598 00:37:59,970 --> 00:38:02,930 Vostè també no vol triar un petit equip suficient com perquè vostè no va a 599 00:38:02,930 --> 00:38:06,250 ser capaç de comunicar perquè és només vostè. 600 00:38:06,250 --> 00:38:11,270 >> Una altra cosa a tenir en compte és l'equilibri d'on les habilitats de la gent són. 601 00:38:11,270 --> 00:38:14,350 És molt bo si tots vostès són molt bons programadors. 602 00:38:14,350 --> 00:38:17,050 Però si vostè és tota la gent de back-end, llavors el seu lloc no va a semblar molt bo 603 00:38:17,050 --> 00:38:20,860 perquè vostè té aquesta gran base de dades, i ho fa consultes de cerca súper ràpida - 604 00:38:20,860 --> 00:38:26,130 que és gran - però quan vostè va a la mateixa, és com un lloc de 1990 amb vermell i blau 605 00:38:26,130 --> 00:38:30,370 a tot arreu, i això no és bo tampoc. 606 00:38:30,370 --> 00:38:34,210 Tingueu en compte que Ben i jo treball en equip és molt agradable perquè jo sóc una espècie de més 607 00:38:34,210 --> 00:38:38,030 a la part davantera, els dos ens relacionem en la gamma mitjana, i Ben és realment bo amb coses de fons, 608 00:38:38,030 --> 00:38:43,550 per la qual cosa funciona molt bé, ja que podem dissenyar qualsevol lloc i, bàsicament, els forats 609 00:38:43,550 --> 00:38:47,580 en aquest lloc que necessita ser omplert pot ser omplert per cap dels dos, o possiblement ambdós. 610 00:38:47,580 --> 00:38:50,210 Vostè vol assegurar-se que no hi ha forats en el seu equip. 611 00:38:50,210 --> 00:38:51,180 Està bé si hi ha una mica de solapament. 612 00:38:51,180 --> 00:38:53,670 En altres paraules, si vostè té 2 persones que són bons amb back-end, 613 00:38:53,670 --> 00:38:57,250 això pot ser bo també perquè poden ajudar els uns als altres amb problemes 614 00:38:57,250 --> 00:38:58,820 que estan tenint. 615 00:38:58,820 --> 00:39:02,590 Pot ser un problema si vostè té solament 1 persona que és responsable d'una determinada cosa 616 00:39:02,590 --> 00:39:06,650 i es troben amb un problema, de manera que volen tenir una mica de solapament 617 00:39:06,650 --> 00:39:10,760 però el més important vol assegurar-se que tots els possibles forats estan plens. 618 00:39:10,760 --> 00:39:17,550 >> L'última cosa - i això hauria de ser obvi, però sovint no ho és. 619 00:39:17,550 --> 00:39:19,550 De debò vols estar divertint-se. 620 00:39:19,550 --> 00:39:23,360 El punt d'aquest projecte final en CS50 i, sovint el punt de desenvolupament web en general, 621 00:39:23,360 --> 00:39:26,360 No és simplement fer una feina perquè necessita fer-ho. 622 00:39:26,360 --> 00:39:29,140 De debò vols estar divertint, i vol estar fent alguna cosa 623 00:39:29,140 --> 00:39:31,180 que motiva a treballar-hi. 624 00:39:31,180 --> 00:39:33,650 Si el que estàs fent és un mal per seure i treballar, 625 00:39:33,650 --> 00:39:35,650 llavors vostè no està triant el projecte adequat. 626 00:39:35,650 --> 00:39:37,730 Vostè voldrà triar una cosa que et sembla interessant, 627 00:39:37,730 --> 00:39:41,150 De debò vols veure el resultat, que està emocionat quan arribi una nova idea sobre 628 00:39:41,150 --> 00:39:44,700 cosa que podria fer - així que hi ha tot tipus de projectes cal estic segur 629 00:39:44,700 --> 00:39:47,290 vostè pot trobar - tothom té alguna cosa que realment intriga ells 630 00:39:47,290 --> 00:39:49,290 si estan fent un projecte basat en la web. 631 00:39:49,290 --> 00:39:52,210 Ho diré un cop més en aquests moments. 632 00:39:52,210 --> 00:39:54,520 Si el projecte sembla com un mal i no vol treballar-hi, 633 00:39:54,520 --> 00:39:57,260 triar un altre projecte. Trieu una cosa que realment t'inspira. 634 00:39:57,260 --> 00:40:00,260 >> Ben esmenta aquest concepte d'iteració una mica, i jo vull anar una mica. 635 00:40:00,260 --> 00:40:08,250 És molt important treballar en ratxes on obté alguna cosa funcional. 636 00:40:08,250 --> 00:40:13,420 Pot ser gran si vostè té aquest pla per un lloc web que farà A, B, i C, 637 00:40:13,420 --> 00:40:16,000 i amb el temps que arribarà. 638 00:40:16,000 --> 00:40:18,600 Però vostè està encallat en aquesta fase en què s'està treballant en ell i treballar-hi, 639 00:40:18,600 --> 00:40:23,330 però res és aconseguir que es facin. No té res a veure i una cosa tangible, funcional. 640 00:40:23,330 --> 00:40:27,940 El que realment vull fer tot el que sembla una mena de dolor de vegades per 641 00:40:27,940 --> 00:40:32,300 treballar en alguna cosa i després una espècie de súmmum pel que és, almenys, en un estable, córrer 642 00:40:32,300 --> 00:40:34,910 versió, encara que no té totes les característiques que desitja. 643 00:40:34,910 --> 00:40:37,690 I potser hi ha algunes característiques que vostè realment voleu afegir, però que simplement no pot 644 00:40:37,690 --> 00:40:41,830 perquè vostè vol aconseguir aquest lloc a un punt de vista funcional. 645 00:40:41,830 --> 00:40:44,400 I pel que desitja espècie de tenir a tot el procés de desenvolupament sembla a això. 646 00:40:44,400 --> 00:40:47,810 Vols començar en algun lloc funcional - o essencialment començar amb res - 647 00:40:47,810 --> 00:40:49,890 però vol arribar a algun lloc molt bàsic i funcional. 648 00:40:49,890 --> 00:40:54,940 I, de nou, fer una mena de salt i arribar a algun lloc funcional de nou. 649 00:40:54,940 --> 00:40:59,190 Vas a construir lentament, i que podria anar una mica més lent del que seria d'una altra manera, 650 00:40:59,190 --> 00:41:03,000 però en el llarg termini si vostè està constantment atrapat en aquesta fase terreny intermedi en què 651 00:41:03,000 --> 00:41:06,380 en realitat no té res de treball, pot ser realment una gran frustració 652 00:41:06,380 --> 00:41:09,970 per treballar en el seu projecte, perquè sempre estàs tan a prop d'aconseguir que funcioni, 653 00:41:09,970 --> 00:41:12,130 i és en realitat mai feina. 654 00:41:12,130 --> 00:41:14,810 Vols treballar en aquests dolls funcionals, 655 00:41:14,810 --> 00:41:17,950 i vostè també vol fer una reflexió després de cada un. 656 00:41:17,950 --> 00:41:21,260 En altres paraules, una vegada que estàs en un punt on el lloc està treballant - 657 00:41:21,260 --> 00:41:24,790 que no té tot el que vulgui, però sí algunes coses - 658 00:41:24,790 --> 00:41:28,870 que vol pensar, està bé, és aquest lloc el compliment de la meta que em vaig proposar fer? 659 00:41:28,870 --> 00:41:33,410 En altres paraules, si el lloc farà X, és el que he treball en la direcció de X? 660 00:41:33,410 --> 00:41:36,450 Són totes les funcionalitats que volia allà? 661 00:41:36,450 --> 00:41:39,340 I d'altra banda, és que respon a la finalitat general que jo vull? 662 00:41:39,340 --> 00:41:43,200 Si vostè està trobant que el seu lloc està començant a virar en una direcció diferent 663 00:41:43,200 --> 00:41:47,330 o potser només una mica de les coses no estan funcionant, pot ser el moment de canviar de marxa una mica. 664 00:41:47,330 --> 00:41:51,700 En altres paraules, val la pena considerar - val la pena tirar idees si cal 665 00:41:51,700 --> 00:41:57,950 i tenint en compte que estic realment treballant cap al que jo vull ser. 666 00:41:57,950 --> 00:42:00,760 >> Jo crec que aquest és el meu següent punt. No tingueu por d'abandonar les idees. 667 00:42:00,760 --> 00:42:03,750 El fet que vostè va passar un munt d'hores de treball en una funció 668 00:42:03,750 --> 00:42:07,890 i, finalment, tinc treball, però en realitat no ho està passant tan bé - 669 00:42:07,890 --> 00:42:12,690 com que no és tan útil o els usuaris estan tenint problemes per usar-lo - aquest tipus de coses - 670 00:42:12,690 --> 00:42:15,300 no tingui por de llençar a les escombraries. 671 00:42:15,300 --> 00:42:17,650 És una merda que vostè ha passat molt temps treballant en això, 672 00:42:17,650 --> 00:42:21,870 però en última instància no vols un lloc que és una espècie d'elaborada per aquestes peces que 673 00:42:21,870 --> 00:42:25,380 tipus de treball, però no estan tan ben servit. 674 00:42:25,380 --> 00:42:27,990 A més, no tingui por d'abraçar noves idees. 675 00:42:27,990 --> 00:42:30,050 Si algú ve i diu, hey, aquest lloc es veu molt cool però 676 00:42:30,050 --> 00:42:32,290 No seria fantàstic si fins i tot també va fer això? 677 00:42:32,290 --> 00:42:36,220 El fet que això és una cosa que no tenia la intenció i és una cosa que no està en el seu 678 00:42:36,220 --> 00:42:37,900 especificacions, cosa que vostè no ha proposat fer, 679 00:42:37,900 --> 00:42:40,860 no tinguis por de prendre-ho i després treballar-hi. 680 00:42:40,860 --> 00:42:43,680 Com que sovint les idees que vostè funciona amb en tot el curs del desenvolupament 681 00:42:43,680 --> 00:42:47,630 arribar a ser les característiques interessants de la web. 682 00:42:47,630 --> 00:42:49,630 >> Ho he dit abans. Ho diré una altra vegada. 683 00:42:49,630 --> 00:42:51,630 Testers són super, super útil. 684 00:42:51,630 --> 00:42:56,350 Intenta fer que la gent que mai ha vist el lloc abans d'iniciar la sessió i veure el que està passant 685 00:42:56,350 --> 00:42:59,080 ja que no només poden posar a prova la utilitat del lloc i l'experiència de l'usuari, 686 00:42:59,080 --> 00:43:02,070 però també poden provar la funcionalitat d'una manera que no es pot. 687 00:43:02,070 --> 00:43:06,430 Si feu un tret que fa una cosa certa 688 00:43:06,430 --> 00:43:11,620 i vostè sap que va a fer això mateix correctament totes les vegades, això és genial. 689 00:43:11,620 --> 00:43:16,610 Però sovint pot ser difícil adonar de casos de cantonada, on ho faria un usuari 690 00:43:16,610 --> 00:43:19,500 escriure alguna cosa que no esperaves - precisament perquè ha definit 691 00:43:19,500 --> 00:43:21,500 les característiques d'un mateix. 692 00:43:21,500 --> 00:43:23,730 Per tant, perquè algú vingués de qui no té idea de com utilitzar el lloc 693 00:43:23,730 --> 00:43:26,840 i per simplement trencar de qualsevol manera que poden fer és molt útil, ja que 694 00:43:26,840 --> 00:43:30,340 tenir una idea des d'una perspectiva totalment diferent del que al seu lloc web està funcionant 695 00:43:30,340 --> 00:43:33,300 i el que necessita ser reparat. 696 00:43:33,300 --> 00:43:37,070 >> Finalment, vaig a parlar d'algunes bones pràctiques generals, 697 00:43:37,070 --> 00:43:42,470 i que ha vist un munt d'aquests en CS50, però també molt, aplicar realment en una configuració de projecte. 698 00:43:42,470 --> 00:43:47,600 Un d'ells és els comentaris. Sempre comentar el seu codi, especialment si vostè està treballant en un equip gran. 699 00:43:47,600 --> 00:43:51,230 Pot ser molt molest tenir només un gegantí bloc de codi que algú ha escrit 700 00:43:51,230 --> 00:43:54,230 i potser funciona, potser no ho fa, però no tens ni idea del que fa, 701 00:43:54,230 --> 00:43:58,010 el que no tenen idea de si és útil o no, o si hauria d'estar allà o no, 702 00:43:58,010 --> 00:44:00,200 i si vostè està treballant en una altra cosa que és fins i tot possible que vostè està treballant en 703 00:44:00,200 --> 00:44:06,590 el mateix, així que tingues molta, molta cura per ser considerat amb els seus companys 704 00:44:06,590 --> 00:44:09,710 i el codi d'escriptura que està ben documentat. 705 00:44:09,710 --> 00:44:13,580 Vostè no ha d'anar tan lluny com per fer tot l'assumpte en què li agrada si incrementes 706 00:44:13,580 --> 00:44:16,620 un comptador té un comentari que diu que estic afegint 1 a aquest comptador. 707 00:44:16,620 --> 00:44:20,450 No ha de ser detallat, però per a qualsevol funció que vostè està sempre escrivint 708 00:44:20,450 --> 00:44:23,160 vostè ha de tenir algun tipus de documentació del que la funció fa exactament, 709 00:44:23,160 --> 00:44:25,140 el que els seus entrades són, i el que han de tornar. 710 00:44:25,140 --> 00:44:27,800 D'aquesta manera vostè pot utilitzar altres components de la gent del lloc 711 00:44:27,800 --> 00:44:31,990 i vostè pot treballar en la construcció d'alguna cosa gran. 712 00:44:31,990 --> 00:44:34,100 >> Una altra cosa important és que vostè vol fer neteges regulars. 713 00:44:34,100 --> 00:44:40,490 Codi es complica. No es senti malament si el seu codi és totalment il · legible i un embolic gegant. 714 00:44:40,490 --> 00:44:42,770 Això succeeix en el desenvolupament web sempre. 715 00:44:42,770 --> 00:44:46,530 Heu afegit noves característiques, l'eliminació dels antics. Les coses estarà allà que no hauria d'estar. 716 00:44:46,530 --> 00:44:49,330 Això està bé, però vull assegurar-me fer front a aquesta regularitat. 717 00:44:49,330 --> 00:44:53,430 No vol deixar que s'acumuli fins al punt en que no es pot trobar res 718 00:44:53,430 --> 00:44:56,430 en el codi, i no tens idea del que fa qualsevol cosa. 719 00:44:56,430 --> 00:44:58,430 Aquest és el cas d'HTML. 720 00:44:58,430 --> 00:44:59,490 De vegades vostè va a acabar amb els objectes que no contenen res, 721 00:44:59,490 --> 00:45:01,320 i vostè vol desfer-se'n. 722 00:45:01,320 --> 00:45:04,610 En CSS, pot estar referint-se als elements que no estan més allà, 723 00:45:04,610 --> 00:45:06,340 pel que desitja desfer-se d'aquest codi. 724 00:45:06,340 --> 00:45:09,900 En JavaScript, potser hi ha eliminat alguna cosa de l'HTML. 725 00:45:09,900 --> 00:45:13,150 Així doncs, vostè vol assegurar-se que vostè està sempre netejant, fent les coses bastant 726 00:45:13,150 --> 00:45:17,450 com tot el que pugui sobre una base regular. 727 00:45:17,450 --> 00:45:21,060 >> Una altra cosa molt útil que no crec que es perfila molt a CS50 728 00:45:21,060 --> 00:45:23,430 però val la pena entrar és el control de versions. 729 00:45:23,430 --> 00:45:27,180 La idea de control de versions és quan estàs bàsicament fer el seguiment de tots els avenços 730 00:45:27,180 --> 00:45:30,820 vostè ha fet cap al seu lloc i si en algun moment t'adones, oh, això també estava treballant 731 00:45:30,820 --> 00:45:35,220 Fa un temps, però que no funciona més, pot tornar a les versions anteriors 732 00:45:35,220 --> 00:45:37,720 i veure el que ha canviat des de llavors, i aquest tipus de coses. 733 00:45:37,720 --> 00:45:41,670 La principal manera de fer-ho és amb Git, i Git és tot aquest tipus de sistema que 734 00:45:41,670 --> 00:45:46,390 Crec que Tommy MacWilliam impartir un seminari sobre l'any passat. 735 00:45:46,390 --> 00:45:51,520 Si vostè entra en els seminaris CS50 per a l'any 2011, es pot veure el seu seminari sobre això. 736 00:45:51,520 --> 00:45:57,070 La idea d'Git és bàsicament que a intervals regulars que vostè està fent aquests compromisos 737 00:45:57,070 --> 00:46:01,430 que són formes de dir el lloc està en una versió bastant estable en aquest moment per 738 00:46:01,430 --> 00:46:05,910 Estic empaquetar i enviar lluny a un servidor, i llavors vostè pot anar a aquest servidor 739 00:46:05,910 --> 00:46:07,910 i miri totes les versions anteriors del seu codi i veure com ha progressat 740 00:46:07,910 --> 00:46:12,210 i tot aquest tipus de coses bones. 741 00:46:12,210 --> 00:46:14,210 Llavors, això és bàsicament tot. 742 00:46:14,210 --> 00:46:17,870 Pel que fa a desenvolupament web, estarem encantats de quedar-se i respondre a qualsevol 743 00:46:17,870 --> 00:46:20,570 preguntes pel que fa a la nostra presentació. 744 00:46:20,570 --> 00:46:22,900 Això és tot. Gràcies. >> [Ben] Gràcies. 745 00:46:22,900 --> 00:46:28,480 [Aplaudiments] 746 00:46:28,480 --> 00:46:30,950 >> [Billy] Personal, algú té alguna pregunta sobre les coses que hem cobert 747 00:46:30,950 --> 00:46:33,950 o coses que no hem cobert que esperaven que havien cobreixen? 748 00:46:33,950 --> 00:46:35,950 Estaríem encantats de respondre-hi. Algú? 749 00:46:35,950 --> 00:46:50,360 [Membre de l'audiència] Quins són els pros i els contres de l'ús de Ruby o usant Python? 750 00:46:50,360 --> 00:46:58,660 [Ben] La pregunta era, quins són els pros i els contres de l'ús de Ruby o Python 751 00:46:58,660 --> 00:46:59,900 en comptes de com PHP. 752 00:46:59,900 --> 00:47:11,340 Els pros són que Ruby i Python són molt millors que les llengües PHP. 753 00:47:11,340 --> 00:47:14,920 Almenys al meu entendre, i crec que en un munt d'opinions d'altres persones també. 754 00:47:14,920 --> 00:47:20,990 Van ser dissenyats per fer coses més complexes, 755 00:47:20,990 --> 00:47:25,380 i menys per colpejar junts pàgines web molt ràpid amb 756 00:47:25,380 --> 00:47:28,400 una mica de contingut dinàmic. 757 00:47:28,400 --> 00:47:35,180 Els desavantatges són que hi ha una mica de - hi ha més d'una corba d'aprenentatge 758 00:47:35,180 --> 00:47:37,220 Per arribar a establir. 759 00:47:37,220 --> 00:47:41,010 És a dir, igual que en PHP, només pot tenir un arxiu HTML i escriure-menys, 760 00:47:41,010 --> 00:47:43,060 signe d'interrogació, i després a escriure una mica de codi, i després s'escriu un signe d'interrogació 761 00:47:43,060 --> 00:47:45,700 més gran que, i després ja està. 762 00:47:45,700 --> 00:47:50,300 En altres idiomes com Ruby o Python, 763 00:47:50,300 --> 00:47:56,810 vostè ha de passar per una mica més de treball per aconseguir el lloc en funcionament inicial. 764 00:47:56,810 --> 00:48:02,730 També hi ha - almenys el que solia ser el cas - que hi ha més documentació 765 00:48:02,730 --> 00:48:05,480 disponible per PHP simplement perquè hi ha més persones que l'utilitzen. 766 00:48:05,480 --> 00:48:09,370 Crec que això no és tant d'un problema més. 767 00:48:09,370 --> 00:48:12,520 Certament hi ha una documentació molt bona per a coses com Ruby on Rails 768 00:48:12,520 --> 00:48:16,080 o Django per Python és l'equivalent. 769 00:48:16,080 --> 00:48:25,910 PHP és el que tothom ha estat utilitzant durant anys, i ja saps com funciona. 770 00:48:25,910 --> 00:48:28,460 Ruby, Python són una mica menys madurs. 771 00:48:28,460 --> 00:48:33,130 >> [Membre del públic] Si hagués de triar entre un d'ells per aprendre o recollir, 772 00:48:33,130 --> 00:48:36,130 que prefereix? 773 00:48:36,130 --> 00:48:38,870 Honestament, crec que això depèn de la persona. 774 00:48:38,870 --> 00:48:45,450 Ho sento. La pregunta era quin triaries perquè algú aprengui? 775 00:48:45,450 --> 00:48:50,230 Em sembla Python el millor personal. 776 00:48:50,230 --> 00:48:55,360 Hi ha un munt de persones que - vaig fer el meu primer projecte dev web en Python i Django. 777 00:48:55,360 --> 00:49:00,300 Hi ha un munt de gent que li agrada Ruby on Rails també. 778 00:49:00,300 --> 00:49:02,650 Probablement més gent sàpiga de Ruby on Rails. 779 00:49:02,650 --> 00:49:05,270 Honestament, m'acaba d'anar amb el que les persones que t'envolten saben 780 00:49:05,270 --> 00:49:09,680 quedant amb la gent a fer preguntes. 781 00:49:19,640 --> 00:49:24,170 >> La pregunta era - en servidors compartits és una mica difícil de treballar en Python? 782 00:49:24,170 --> 00:49:26,170 Això depèn del teu hosting. 783 00:49:26,170 --> 00:49:29,400 Hi ha un nombre de servidors web de publicar coses Python. 784 00:49:29,400 --> 00:49:31,400 WebFaction fa això, oi? 785 00:49:31,400 --> 00:49:34,400 WebFaction és un que Billy i jo hem utilitzat per a alguns projectes. 786 00:49:34,400 --> 00:49:37,750 Són realment genials. Ells donen suport a la majoria dels idiomes. 787 00:49:37,750 --> 00:49:40,020 Però és cert que PHP és recolzat molt més àmpliament. 788 00:49:40,020 --> 00:49:45,210 Així doncs, si vostè està encallat en un proveïdor d'allotjament web que només fa PHP, que és una bona raó per utilitzar PHP. 789 00:49:45,210 --> 00:49:56,010 >> [Membre de l'audiència] Acabo d'arribar a aprendre com consultar algunes bases de dades, 790 00:49:56,010 --> 00:50:00,680 i sé que el meu SQL és per tot el lloc, però Recentment m'exposo a - 791 00:50:00,680 --> 00:50:04,470 i vostè s'ho va assenyalar. Vostè veu JSON i bases de dades extensibles. 792 00:50:04,470 --> 00:50:14,580 My SQL encara és per tot el lloc. Com veu vostè que això passi? 793 00:50:14,580 --> 00:50:21,330 Hi haurà una tendència creixent per a més expandible (inaudible)? 794 00:50:21,330 --> 00:50:30,100 La pregunta era: - No crec que hi haurà una tendència cap a les bases de dades no SQL. 795 00:50:30,100 --> 00:50:33,850 Per exemple, com MongoDB. Crec que això és definitivament cert. 796 00:50:33,850 --> 00:50:38,730 El meu consell va ser majoritàriament relacionades amb mySQL mySQL aquí només perquè és 797 00:50:38,730 --> 00:50:40,950 estàndard de la indústria. 798 00:50:40,950 --> 00:50:45,950 Personalment, m'agrada molt més les bases de dades que no tenen schemos com MongoDB 799 00:50:45,950 --> 00:50:49,520 on vostè no té el problema de, oh, he de afegir una altra columna. 800 00:50:49,520 --> 00:50:51,600 Ai de mi, com ho faig? 801 00:50:51,600 --> 00:50:55,840 És molt difícil fer això en MySQL, però quan vostè té una mena Mongo 802 00:50:55,840 --> 00:50:57,840 és molt més agradable. 803 00:50:57,840 --> 00:51:03,780 L'altra cosa bona sobre Mongo és que els seus registres són en realitat objectes JavaScript. 804 00:51:03,780 --> 00:51:10,110 No hi ha cap mena d'etapa de conversió en el qual ha de prendre aquestes files de base de dades 805 00:51:10,110 --> 00:51:13,140 i convertir-les en un objecte de JavaScript i després enviar-los a través del cable. 806 00:51:13,140 --> 00:51:20,290 Crec que aquest tipus de coses serà molt, molt útil per al desenvolupament web ràpid en el futur. 807 00:51:20,290 --> 00:51:23,060 >> [Billy] Una cosa que m'agradaria afegir que és només un punt general és que 808 00:51:23,060 --> 00:51:26,580 no se sent com que hauria d'haver après tots els idiomes que hem discutit 809 00:51:26,580 --> 00:51:28,580 del nostre seminari. 810 00:51:28,580 --> 00:51:30,560 Òbviament, el punt és que et facis una idea del que hi ha per aquí, 811 00:51:30,560 --> 00:51:33,450 i si vostè està intrigat per cap de les coses que hem esmentat que vostè pot buscar en Google els 812 00:51:33,450 --> 00:51:35,830 i llegir sobre ells. 813 00:51:35,830 --> 00:51:38,750 I com ja he dit, hi ha alguns seminaris que tracten precisament aquestes coses. 814 00:51:38,750 --> 00:51:41,660 Hi ha encara més seminaris que no he esmentat que probablement entrar a 815 00:51:41,660 --> 00:51:43,660 aquestes coses també. 816 00:51:43,660 --> 00:51:46,610 La idea és que si vols treballar en alguna cosa, aquí estan les eines a la seva disposició. 817 00:51:46,610 --> 00:51:51,630 No se senti aclaparat si no està realment segur del que aquestes eines fan exactament, 818 00:51:51,630 --> 00:51:54,830 però saben que hi són fora i que vostè pot fer un ampli ús d'ells 819 00:51:54,830 --> 00:51:56,830 per Google. 820 00:51:56,830 --> 00:51:59,960 >> [Membre de l'audiència] Quin tipus de coses que cal fer per assegurar-se que el seu lloc web 821 00:51:59,960 --> 00:52:02,530 es veu bé en els dispositius mòbils? 822 00:52:02,530 --> 00:52:05,590 [Billy] Els dispositius mòbils són una mica dures. 823 00:52:05,590 --> 00:52:07,590 Hi ha 2 maneres d'abordar-. 824 00:52:07,590 --> 00:52:11,500 La primera forma és que vostè realment té un lloc web per a mòbils. 825 00:52:11,500 --> 00:52:14,660 En altres paraules, ha de realitzar algun tipus de detecció en l'inici 826 00:52:14,660 --> 00:52:18,830 quan el navegador està fent la sol · licitud al seu lloc web que, o bé diu 827 00:52:18,830 --> 00:52:25,240 tornar aquest punt de vista - que serà el punt de vista dels navegadors d'escriptori o portàtil - 828 00:52:25,240 --> 00:52:27,710 i aquest altre punt de vista per a dispositius mòbils. 829 00:52:27,710 --> 00:52:33,090 Aquest és un lloc on les vistes són realment agradable que vostè pot força molt l'intercanvi 830 00:52:33,090 --> 00:52:37,580 2 fora i tenen una interfície que funciona molt bé en els dispositius mòbils 831 00:52:37,580 --> 00:52:40,770 i tenen una completament diferent, que funciona molt bé en els dispositius del navegador. 832 00:52:40,770 --> 00:52:43,770 El problema amb això és que es necessita molt de temps, ja que significa la codificació 833 00:52:43,770 --> 00:52:47,060 una interfície totalment diferent. 834 00:52:47,060 --> 00:52:49,720 L'altra forma en què vostè pot fer és - 835 00:52:49,720 --> 00:52:55,250 una gran quantitat de telèfons moderns mostrarà llocs web i tractar de fer-com un navegador faria, 836 00:52:55,250 --> 00:52:57,680 i fan tot el possible. 837 00:52:57,680 --> 00:53:04,340 Pot espècie de tractar de mantenir la llum de la quantitat de jQuery JavaScript està utilitzant 838 00:53:04,340 --> 00:53:07,360 que tendeix a ser on les coses poden anar malament una mica. 839 00:53:07,360 --> 00:53:13,430 Aquesta és una espècie de la forma en què s'ha d'utilitzar si no té aquesta quantitat de temps. 840 00:53:13,430 --> 00:53:18,540 Si vostè té el temps per treballar en una interfície mòbil, això és, òbviament, el millor. 841 00:53:18,540 --> 00:53:23,320 >> Crec que en general, per als projectes de CS50, vostè va a voler triar un o altre. 842 00:53:23,320 --> 00:53:27,990 En altres paraules, vostè vol fer una aplicació mòbil o desitja fer un lloc web d'escriptori. 843 00:53:27,990 --> 00:53:32,200 I aquest tipus de determina on vas amb això. 844 00:53:32,200 --> 00:53:35,360 Però si vols expandir més tard, probablement la seva millor aposta és 845 00:53:35,360 --> 00:53:37,360 per fer una altra interfície per a l'altre. 846 00:53:51,650 --> 00:53:56,340 Tinc una mica d'experiència en el desenvolupament de llocs basats en WordPress. 847 00:53:56,340 --> 00:53:58,670 Em vaig organitzar un web en WordPress per una estona. 848 00:53:58,670 --> 00:54:02,310 Aquest tipus de marcs poden ser bones coses molt bàsiques. 849 00:54:02,310 --> 00:54:07,050 Moltes vegades vostè només es troba amb un munt de qüestions de personalització però. 850 00:54:07,050 --> 00:54:10,940 Vostè voldrà tenir una mica mirar de certa manera o sigui de certa manera 851 00:54:10,940 --> 00:54:14,510 i vostè simplement no pot perquè està connectat rígida al sistema que 852 00:54:14,510 --> 00:54:17,480 així és com cal fer les coses que poden ser una mica d'un problema. 853 00:54:17,480 --> 00:54:22,020 Des de llavors he mena d'estat més disposats a treballar amb els llocs de la terra cap amunt. 854 00:54:22,020 --> 00:54:26,840 Per coses com les bases de dades del bloc i aquest tipus de coses no és realment tan difícil de construir un marc. 855 00:54:26,840 --> 00:54:29,970 Si vostè està realment estirat pel temps, es pot utilitzar, per descomptat, una mena de WordPress 856 00:54:29,970 --> 00:54:33,120 o aquest tipus de coses per a un bloc. 857 00:54:33,120 --> 00:54:38,790 El tipus de coses que els blocs botiga i fer no són realment prou dur que 858 00:54:38,790 --> 00:54:41,500 si s'està executant en cap d'aquestes coses, vostè és probablement el millor penes 859 00:54:41,500 --> 00:54:43,500 fer una versió de la casa. 860 00:54:43,500 --> 00:54:48,350 >> Crec que això és tot, així que gràcies de nou per venir. 861 00:54:48,350 --> 00:54:51,960 Realment gaudim de parlar amb vostès i espero que hagis après algunes coses. 862 00:54:51,960 --> 00:54:55,350 [Ben] Estem encantats de parlar - hem d'anar, però estem disposats a parlar més a l'exterior 863 00:54:55,350 --> 00:55:01,650 si vostè té una altra pregunta. Gràcies de nou. [Aplaudiments] 864 00:55:03,750 --> 00:55:06,000 [CS50.TV]