1 00:00:00,000 --> 00:00:02,500 [Powered by Google Translate] [Seminar] [Dezvoltare Web: de la idee la implementare] 2 00:00:02,500 --> 00:00:04,200 [Ben Kuhn] [Billy Janitsch] [Universitatea Harvard] 3 00:00:04,200 --> 00:00:07,250 [Acest lucru este CS50] [CS50.TV] 4 00:00:07,250 --> 00:00:10,840 [Billy] Bună, eu sunt Billy și acest lucru este Ben. >> [Ben] Bună. 5 00:00:10,840 --> 00:00:12,840 Vom vorbi despre dezvoltare web ziua de azi. 6 00:00:12,840 --> 00:00:14,840 [Webdev] [Billy Janitsch și Ben Kuhn] 7 00:00:14,840 --> 00:00:16,840 Un pic despre noi mai întâi. 8 00:00:16,840 --> 00:00:19,590 Ben este un fel de tip back-end. El face lucrurile să meargă. 9 00:00:19,590 --> 00:00:21,870 Și apoi mă duc în și să le facă destul. 10 00:00:21,870 --> 00:00:26,610 Sunt în mare parte implicat cu mai mult de front-end design layout fel de lucruri, 11 00:00:26,610 --> 00:00:31,260 Ben și, pe de altă parte, știe ce are de a face acest lucru el lucrează la chestii de back-end. 12 00:00:31,260 --> 00:00:34,050 Împreună am făcut câteva lucruri. 13 00:00:34,050 --> 00:00:38,710 De exemplu, anul trecut am lucrat la Gimblium care este un studio de dezvoltare de jocuri on-line. 14 00:00:38,710 --> 00:00:40,400 Asta a fost proiectul nostru final pentru clasa, 15 00:00:40,400 --> 00:00:42,780 și de atunci ne-am făcut la Harvard Class 16 00:00:42,780 --> 00:00:47,860 care este un cadru on-line pentru navigare și cursuri de cumpărături la Harvard. 17 00:00:47,860 --> 00:00:53,180 >> Vom începe cu această idee pentru site-ul nostru. 18 00:00:53,180 --> 00:00:57,480 Vom face Facebook, dar pentru pisici. 19 00:00:57,480 --> 00:00:59,520 Înainte de a face de fapt acest site, 20 00:00:59,520 --> 00:01:02,520 nu fac acest site pentru că nu e bine, dar o vom folosi ca un cadru 21 00:01:02,520 --> 00:01:05,349 și du-te prin procesul de modul în care vom lua această idee 22 00:01:05,349 --> 00:01:07,450 și-l transforma într-un site web real, putem folosi. 23 00:01:07,450 --> 00:01:11,940 Vom începe prin spargerea site-ul în jos. 24 00:01:11,940 --> 00:01:13,190 Ca și cum ați făcut în CS50, 25 00:01:13,190 --> 00:01:17,360 pe care doriți să se gândească la ceea ce sunt componentele reale care intra in acest site. 26 00:01:17,360 --> 00:01:21,290 Practic se transforma de la o idee, care este doar un fel de concept abstract 27 00:01:21,290 --> 00:01:23,590 într-un lucru real, tangibil pe care le-ar putea face. 28 00:01:23,590 --> 00:01:25,910 Vom începe prin a cere câteva întrebări. 29 00:01:25,910 --> 00:01:28,070 Ce este acest site? De ce am face? 30 00:01:28,070 --> 00:01:30,670 Ce este de gând să fie utilizate pentru? Ca un fel de lucru. 31 00:01:30,670 --> 00:01:33,660 În cazul de Facebook Cat, 32 00:01:33,660 --> 00:01:37,730 ne-o dorim de fapt un site web care permite pisicile rețea socială cu fiecare alte. 33 00:01:37,730 --> 00:01:41,260 Ideea fiind că acestea pot posta pe pereții reciproc, 34 00:01:41,260 --> 00:01:43,510 ei pot face comentarii, chestii din astea. 35 00:01:43,510 --> 00:01:46,720 Și asta e în cazul în care vom intra în componentele funcționale. 36 00:01:46,720 --> 00:01:51,270 Acum avem acest tip de cadru de - avem profiluri de utilizator, 37 00:01:51,270 --> 00:01:53,990 avem comentarii, și putem posta. 38 00:01:53,990 --> 00:01:57,390 Poate că într-o zi vom influente place și acest tip de lucru. 39 00:01:57,390 --> 00:02:00,410 Și ne-am cam vrea să acorde prioritate aceste caracteristici merg inch 40 00:02:00,410 --> 00:02:03,340 Vrem sa spunem ca, bine, e foarte important ca toată lumea are un profil 41 00:02:03,340 --> 00:02:06,440 și că oricine poate posta pe pereții reciproc. 42 00:02:06,440 --> 00:02:08,509 Secundar la care, comentarii ar fi frumos. 43 00:02:08,509 --> 00:02:10,180 Poate mai târziu ne vom influent place. 44 00:02:10,180 --> 00:02:13,700 Deci, doriți să aveți o idee de ceea ce este fundamental pentru proiectul dvs. 45 00:02:13,700 --> 00:02:17,260 și ceea ce este un fel de o caracteristică mai generală, care ar putea fi aplicată mai târziu. 46 00:02:17,260 --> 00:02:20,870 Vrei să fel de avea o anumită listă în minte, 47 00:02:20,870 --> 00:02:24,090 dar proiectul care începe cu nu va fi proiectul pe care ați terminat cu. 48 00:02:24,090 --> 00:02:27,100 Cu alte cuvinte, lucrurile se vor schimba în timp ce în curs de dezvoltare site-ul, 49 00:02:27,100 --> 00:02:30,090 și doriți să lase loc pentru asta. 50 00:02:30,090 --> 00:02:34,470 Voi preda Ben cine va vorbi un pic despre structura. 51 00:02:34,470 --> 00:02:39,610 >> [Ben] am de gând să fie vorba despre partea mai tehnica de dezvoltare web. 52 00:02:39,610 --> 00:02:42,370 Să trecem peste unele elementele de bază primul. 53 00:02:42,370 --> 00:02:45,730 Când faci o aplicatie web, 54 00:02:45,730 --> 00:02:50,470 diviziunea principală pe care ai de gând să trebuie să aibă este 55 00:02:50,470 --> 00:02:52,700 ai de gând să aibă unele lucruri se întâmplă în partea de client - 56 00:02:52,700 --> 00:02:56,700 că este, cod care sunteți browser duce de la site-ul 57 00:02:56,700 --> 00:03:01,910 și JavaScript, HTML, CSS chestii. 58 00:03:01,910 --> 00:03:04,490 Asta e tot pe partea de client. 59 00:03:04,490 --> 00:03:08,680 Ai de gând să aibă alt cod care ruleaza pe partea de server 60 00:03:08,680 --> 00:03:10,770 care ține evidența tuturor datelor pe care oamenii trimite la tine, 61 00:03:10,770 --> 00:03:15,060 decide care să dea ceea ce, chestii de genul asta. 62 00:03:15,060 --> 00:03:20,380 Aceasta este doar o terminologie ca voi sunt familiarizați cu ceea ce vorbim. 63 00:03:20,380 --> 00:03:28,600 Dincolo de faptul că divizia e bine să se gândească de aplicația web din punct de vedere 64 00:03:28,600 --> 00:03:32,500 câteva componente distincte. 65 00:03:32,500 --> 00:03:35,270 Când faci dezvoltare web 66 00:03:35,270 --> 00:03:41,710 unul din lucrurile pe care ar trebui să fie întotdeauna încercarea de a face este de a reduce complexitatea. 67 00:03:41,710 --> 00:03:45,710 Mai complex Codul dvs. este mai mult șansa de acolo este de a face bug-uri, 68 00:03:45,710 --> 00:03:47,710 cu atat mai greu este de a schimba mai târziu. 69 00:03:47,710 --> 00:03:50,140 Deci, dacă vă puteți rupe aplicația în unele zone funcționale distincte 70 00:03:50,140 --> 00:03:57,640 care va - și vă poate reduce fel de suma de comunicare cross-zona - 71 00:03:57,640 --> 00:04:03,530 care vă va ajuta foarte mult pe termen lung în ceea ce privește reducerea bug-uri. 72 00:04:03,530 --> 00:04:07,950 >> Pentru a fi din beton, de obicei, oamenii împartă o aplicatie web în - 73 00:04:07,950 --> 00:04:13,190 acestea sunt un fel de cuvinte buzz acum, dar ele sunt încă utile. 74 00:04:13,190 --> 00:04:17,940 Este posibil să fi auzit de oameni vorbesc despre modele, vederi, și controlere. 75 00:04:17,940 --> 00:04:23,210 Modelele sunt datele reale care aplicația este de gând să se ocupe de. 76 00:04:23,210 --> 00:04:28,260 De exemplu, în Cat dvs. Facebook, modelul ar fi - 77 00:04:28,260 --> 00:04:35,340 ai avea un model pentru posturi, cum ar fi, și un model pentru profiluri de utilizator, chestii de genul asta. 78 00:04:35,340 --> 00:04:41,090 Opiniile dumneavoastră sunt modul în care prezentăm ca datele pentru utilizatori. 79 00:04:41,090 --> 00:04:46,660 S-ar putea avea o vedere de a privi la un singur post și toate comentariile 80 00:04:46,660 --> 00:04:51,720 și un punct de vedere diferit de perete, care are o listă a tuturor posturilor 81 00:04:51,720 --> 00:04:57,170 care sunt îndreptate spre tine, și un punct de vedere diferit pentru feed-ul dvs. de știri - chestii de genul asta. 82 00:04:57,170 --> 00:05:00,610 În cele din urmă, aveți controlorii care sunt, practic, atunci când oamenii vă trimită mesaje 83 00:05:00,610 --> 00:05:03,310 și voi face modificari la sistemul de back-end, 84 00:05:03,310 --> 00:05:06,400 să incrementați o grămadă de contoare, și orice. 85 00:05:06,400 --> 00:05:07,860 Acestea sunt controlere dumneavoastră. 86 00:05:07,860 --> 00:05:11,030 >> Am de gând să fie vorba despre cea mai mare parte de modele. 87 00:05:11,030 --> 00:05:14,030 Opinii nu sunt punct de vedere tehnic atât de dificil și problema este mai mult cu proiectarea ei 88 00:05:14,030 --> 00:05:22,040 Controlere de gând să fie specific pentru orice ai proiectare. 89 00:05:22,040 --> 00:05:25,220 Dar există unele tehnici destul de generale care le puteți utiliza 90 00:05:25,220 --> 00:05:30,220 pentru a face modelul mai frumos și mai ușor de a lucra cu, care cred ca sunt de foarte mare ajutor. 91 00:05:30,220 --> 00:05:35,860 Aceasta este cea mai mare parte va fi despre cum să se ocupe cu datele dvs. de Web Apps într-un mod frumos. 92 00:05:35,860 --> 00:05:40,420 Principalele probleme cu modele 93 00:05:40,420 --> 00:05:44,540 sunt că trăiesc pe client și server și va trebui să dau seama 94 00:05:44,540 --> 00:05:51,170 a) cum de a le obține - toate cele relevante - de la server la client, 95 00:05:51,170 --> 00:05:53,440 și b) cum să le păstrați în sincronizare. 96 00:05:53,440 --> 00:05:58,700 Utilizatorii vor dori să facă unele actualizări. 97 00:05:58,700 --> 00:06:00,470 Ei au de gând să vrea să facă posturi noi. 98 00:06:00,470 --> 00:06:04,800 Ei au de gând să vrea să plac lucrurile și lucruri dacă aveți place. 99 00:06:04,800 --> 00:06:11,490 Acestea sunt principalele provocări tehnice de a face cu modele. 100 00:06:11,490 --> 00:06:15,680 Primul lucru pe care ai de gând să vrea să te întrebi este 101 00:06:15,680 --> 00:06:18,420 ce fel de date merge în acest model și ce fel de întrebări vom vrei să faci - 102 00:06:18,420 --> 00:06:24,290 care este, cum avem de gând să se uite la modelele? 103 00:06:24,290 --> 00:06:26,940 Pentru dvs. Cat Facebook exemplu, 104 00:06:26,940 --> 00:06:31,520 Postarea dvs. va avea un autor asociate cu ea, 105 00:06:31,520 --> 00:06:35,660 un text mesaj perete, și un destinatar de la postul de perete. 106 00:06:35,660 --> 00:06:38,470 Și atunci este posibil să doriți să interogați că într-o grămadă de moduri diferite. 107 00:06:38,470 --> 00:06:42,220 Ce-ar vrea să se uite la ea prin care a scris mesaj care, 108 00:06:42,220 --> 00:06:46,620 prin care a primit ceea ce a posta, poate de data la care au fost postate. 109 00:06:46,620 --> 00:06:50,340 Dar dacă ai de gând să o facă prin data, atunci trebuie să adăugați un alt domeniu pentru a posta dvs. 110 00:06:50,340 --> 00:06:52,490 de când a fost de fapt postat. 111 00:06:52,490 --> 00:07:00,220 Acești doi factori - ce date doriți să le utilizați și modul în care doriți să-l vizualizați - 112 00:07:00,220 --> 00:07:04,200 trebuie să vă gândiți în primul rând ei, deoarece ei depind unele de altele, 113 00:07:04,200 --> 00:07:08,030 și că va fi mult mai dificil pentru a le adăuga mai târziu. 114 00:07:08,030 --> 00:07:12,750 >> Există câteva alte considerații. 115 00:07:12,750 --> 00:07:17,540 Când te gandesti cum te descurci cu modele de pe serverul 116 00:07:17,540 --> 00:07:20,540 ceea ce vrei să se uite la - 117 00:07:20,540 --> 00:07:27,440 tu de fapt vrei sa faci server cât mai simplu posibil. 118 00:07:29,440 --> 00:07:35,500 Făcând chestii pe partea de client este, în general, mult mai repede daca se poate face doar pe client 119 00:07:35,500 --> 00:07:38,230 fără a face nici un fel de cerere de rețea. 120 00:07:38,230 --> 00:07:47,860 Ideea este de a face cât mai multe dintre interogările ca tine poate pe client. 121 00:07:47,860 --> 00:07:51,560 Singura problemă cu care 122 00:07:51,560 --> 00:07:54,160 este că, dacă solicita toate datele la început 123 00:07:54,160 --> 00:07:57,160 apoi că va lua o lungă perioadă de timp să se încarce. 124 00:07:57,160 --> 00:08:02,290 Deci, ideea este de a găsi un mediu fericit între a avea suficiente date cu privire la client 125 00:08:02,290 --> 00:08:07,640 pe care le puteți face cele mai multe din munca ta acolo, dar nu numai preluarea totul dintr-o dată 126 00:08:07,640 --> 00:08:09,710 astfel încât să obțineți de încărcare de ori într-adevăr lent la început. 127 00:08:09,710 --> 00:08:12,610 De exemplu, pentru datele dvs. de pisică 128 00:08:12,610 --> 00:08:20,340 , probabil, ce-ar vrea să-i aducă o grămadă de posturi de perete recente. 129 00:08:20,340 --> 00:08:23,790 Tu nu ar vrea să-i aducă pe toți pentru că ar putea merge înapoi o pereche de ani. 130 00:08:23,790 --> 00:08:25,470 Dar tu nu vrei să-i aducă la un moment dat 131 00:08:25,470 --> 00:08:28,740 pentru că ar introduce o mulțime de deasupra capului de rețea. 132 00:08:28,740 --> 00:08:33,620 >> Este de multe ori destul de greu - o dată ai o bază de date care rulează - 133 00:08:33,620 --> 00:08:37,210 este de multe ori destul de greu pentru a schimba ceea ce datele pe care le au în ea - 134 00:08:37,210 --> 00:08:40,510 că este, adăugați o coloană nouă bază de date sau ceva - 135 00:08:40,510 --> 00:08:43,510 deci o strategie de bun este, de fapt doar pentru a păstra o mulțime de date într-o pată de cerneală de text - 136 00:08:43,510 --> 00:08:53,880 o pată de cerneală JSON - JSON fiind de activarea JavaScript Object Notation - 137 00:08:53,880 --> 00:08:58,330 Motivul pentru care este util este că, atunci puteți adăuga noi proprietăți 138 00:08:58,330 --> 00:09:01,920 la toate aceste pete JSON, fără a schimba baza de date. 139 00:09:01,920 --> 00:09:06,860 Singurul dezavantaj la care este că, dacă aveți o grămadă de domenii 140 00:09:06,860 --> 00:09:09,890 pe care ați adăugat mai târziu - cum ar fi ascuns în care blob JSON - 141 00:09:09,890 --> 00:09:12,850 atunci e mai greu să le interoga în baza de date. 142 00:09:12,850 --> 00:09:17,690 De exemplu, dacă mai târziu - dacă ați avut modelul dvs. mesaj pe care am discutat mai devreme 143 00:09:17,690 --> 00:09:25,380 cu doar autorul, destinatarul și textul - 144 00:09:25,380 --> 00:09:29,000 ai putea avea, de asemenea, o pată de cerneală JSON și apoi, dacă ai vrut mai târziu pentru a adăuga un câmp dată 145 00:09:29,000 --> 00:09:31,000 tu nu ar trebui să se schimbe baza de date. 146 00:09:31,000 --> 00:09:36,140 Ai putea adăuga doar datele de la toate câmpurile de text. 147 00:09:36,140 --> 00:09:39,640 Și apoi v-ar putea să se uite la cele de pe partea de client, 148 00:09:39,640 --> 00:09:42,430 dar tu nu ar fi în măsură să le interoga pe partea de server 149 00:09:42,430 --> 00:09:44,430 pentru că este ascuns în interiorul acestui text. 150 00:09:44,430 --> 00:09:49,920 >> O altă problemă pe care doriți să se gândească la 151 00:09:49,920 --> 00:09:52,400 este modul în care clientul dvs. și server-ul dvs. sunt de gând să comunice. 152 00:09:52,400 --> 00:09:56,040 De obicei doriți să păstrați acest cât mai simplu posibil. 153 00:09:56,040 --> 00:10:02,230 Puteți avea doar ca un get-me-această cerere de date, 154 00:10:02,230 --> 00:10:09,140 o crea-un-nou-obiect de lucru, precum și o cerere de update-un vechi obiect. 155 00:10:09,140 --> 00:10:12,930 Și acestea ar putea fi diferite de URL-uri pe un server pe care îl - 156 00:10:12,930 --> 00:10:20,030 că browser-ul ar fi - puteți utiliza cereri AJAX pentru toate acestea 157 00:10:20,030 --> 00:10:24,000 și, fie să primească sau date post. 158 00:10:24,000 --> 00:10:26,600 Din nou, pentru Cat de Facebook exemplu, 159 00:10:26,600 --> 00:10:32,350 ai putea avea ca URL-ul pentru a obține un post de individ, 160 00:10:32,350 --> 00:10:39,750 și vei avea o adresă URL pentru a crea un nou post de perete 161 00:10:39,750 --> 00:10:45,670 și, poate, o adresă URL pentru a încărca profilul dvs. imagine, chestii de genul asta. 162 00:10:45,670 --> 00:10:51,730 Dar, din nou, că este de a verifica aduce cea mai mare parte a datelor, astfel încât să nu trebuie să țină 163 00:10:51,730 --> 00:10:53,360 a face cereri de rețea. 164 00:10:53,360 --> 00:10:59,030 Din acest motiv, nu ați putea dori să aibă această cerere individuală obține pentru un singur post, 165 00:10:59,030 --> 00:11:03,210 și în schimb le-ar dori doar o cerere GET pentru întregul perete. 166 00:11:03,210 --> 00:11:06,110 Și apoi, dacă sunteți încercarea de a găsi un echilibru, deoarece - 167 00:11:06,110 --> 00:11:10,970 acest lucru este, de asemenea, va depinde de cererea dumneavoastră. 168 00:11:10,970 --> 00:11:13,430 Pentru că dacă vă așteptați ca oamenii au doar 10 sau 20 de posturi de perete 169 00:11:13,430 --> 00:11:15,430 că va fi bine. 170 00:11:15,430 --> 00:11:17,390 Dar dacă vă așteptați că vor avea mii de atunci că cererea ar lua prea mult timp, 171 00:11:17,390 --> 00:11:23,580 și așa s-ar putea să doriți să adăugați un parametru get-toate-mesajele-atunci. 172 00:11:23,580 --> 00:11:26,580 >> Pentru toate acestea esti, probabil, de gând să doriți pentru a sincroniza datele din JSON - 173 00:11:26,580 --> 00:11:29,260 JavaScript Object Notation. 174 00:11:29,260 --> 00:11:34,600 Destul de mult, fiecare limbă se ocupa cu JSON foarte bine. 175 00:11:34,600 --> 00:11:40,880 JQuery are această funcție getJSON frumos, care va face tot de munca grea pentru tine. 176 00:11:40,880 --> 00:11:47,390 Și pe PHP există, de asemenea, funcții de comunicare JSON foarte frumos. 177 00:11:47,390 --> 00:11:52,660 Deci, asta e, probabil, cel mai bun format pentru a trimite modelele dvs. înainte și înapoi. 178 00:11:52,660 --> 00:11:56,570 >> Ca un exemplu de ceea ce am vorbit până acum, 179 00:11:56,570 --> 00:12:00,520 aici este un flux de exemplu, pentru aplicația dvs. Cat Facebook. 180 00:12:00,520 --> 00:12:07,760 Se incepe cu browser-ul dvs. solicită site-ul de bază URL. 181 00:12:07,760 --> 00:12:15,470 Serverul, probabil, va trimite peste HTML statice și unele JavaScript și CSS. 182 00:12:15,470 --> 00:12:19,170 Este, de obicei cel mai bine să nu faci nici o redare de pe server. 183 00:12:19,170 --> 00:12:23,370 Probabil că nu vreau să - 184 00:12:23,370 --> 00:12:28,360 ceea ce serverul nu este de a face acolo se merge în jos în lista de posturi de perete 185 00:12:28,360 --> 00:12:31,120 și generatoare de unele HTML pentru fiecare în parte și trimiterea care peste. 186 00:12:31,120 --> 00:12:34,960 Este, de obicei cel mai bine pentru a face acest lucru pe partea de client, deoarece altfel 187 00:12:34,960 --> 00:12:38,580 de fiecare dată când doriți să re-desena ceva, va trebui să facă o cerere de server. 188 00:12:38,580 --> 00:12:42,450 Și că foarte repede vă oferă o mulțime de deasupra capului. 189 00:12:42,450 --> 00:12:47,430 Este, de obicei cel mai bine doar pentru a trimite nave în jos static HTML 190 00:12:47,430 --> 00:12:50,660 și apoi JavaScript și CSS, care va face redarea pe partea de client. 191 00:12:50,660 --> 00:12:56,750 De îndată ce lucrurile care vine în, 192 00:12:56,750 --> 00:13:03,500 atunci puteți avea - în JavaScript - vă puteți face cereri de date de perete 193 00:13:03,500 --> 00:13:08,740 și chestii de genul asta, și după ce că serverul este de fapt doar a face interogări ale bazei de date 194 00:13:08,740 --> 00:13:10,740 și verificarea permisiuni. 195 00:13:10,740 --> 00:13:16,690 Singurul lucru important este faptul că aceasta nu poate trimite peste alte utilizatori de mesaje de perete 196 00:13:16,690 --> 00:13:19,220 că nu ai voie să vadă. 197 00:13:19,220 --> 00:13:28,050 Acesta poate fi de fapt un strat foarte subțire de acces la baza de date, 198 00:13:28,050 --> 00:13:32,820 și apoi toate arată datele - toate punctele de vedere și chestii - 199 00:13:32,820 --> 00:13:37,280 cei care se poate întâmpla în browser-ul dvs., și apoi atunci când doriți să faceți un post sau ceva 200 00:13:37,280 --> 00:13:40,000 va trimite doar o altă cerere. 201 00:13:40,000 --> 00:13:45,350 >> Există, de asemenea, unele chestii de lux, puteți face pe partea de sus a acestei. 202 00:13:45,350 --> 00:13:49,550 În ceea ce privește informații tehnice mai specifice, 203 00:13:49,550 --> 00:13:53,360 în curs de dezvoltare în simplu JavaScript poate fi un pic dureros, 204 00:13:53,360 --> 00:13:56,220 astfel încât există unele biblioteci și instrumente care vă vor ajuta foarte mult cu asta. 205 00:13:56,220 --> 00:14:03,690 Cred că ai tot auzit, probabil, despre jQuery, ceea ce face face randare HTML 206 00:14:03,690 --> 00:14:08,890 și manipulare mult mai ușor - au o mulțime de funcții de lux pentru decolorare și în afară, 207 00:14:08,890 --> 00:14:12,020 și de a face animații Zippy. 208 00:14:12,020 --> 00:14:13,720 Există, de asemenea, această bibliotecă, numit Underscore.js. 209 00:14:13,720 --> 00:14:20,760 Ea are o mulțime de funcții de utilitate utile, lucruri pe care le-ar aștepta JavaScript pentru a avea 210 00:14:20,760 --> 00:14:24,740 că într-adevăr oala> - lucruri, cum ar fi amestecarea o matrice, 211 00:14:24,740 --> 00:14:28,900 eliminarea duplicatelor dintr-o listă, sau aplatizare o listă de liste. 212 00:14:28,900 --> 00:14:30,900 Aceasta este doar o mostră de cod mic. 213 00:14:30,900 --> 00:14:36,520 Subliniere are o tona de aceste funcții frumoase pe care doriți le-ar avea tot timpul. 214 00:14:36,520 --> 00:14:38,840 >> Și apoi există o bibliotecă mai mult că mi-ar plăcea să-și petreacă un pic de timp pe 215 00:14:38,840 --> 00:14:44,800 numit Backbone.js deoarece coloana vertebrală într-adevăr vă ajută să se ocupe de modele de pe partea de client 216 00:14:44,800 --> 00:14:47,210 și o mulțime de confuzia care se poate produce. 217 00:14:47,210 --> 00:14:53,550 Backbone vă oferă acest concept de modele și colecții 218 00:14:53,550 --> 00:14:58,300 în JavaScript care sunt, practic, exact ca obiecte JavaScript 219 00:14:58,300 --> 00:15:04,900 în matrice JavaScript, dar le-au evenimente, atunci când schimbă proprietățile lor. 220 00:15:04,900 --> 00:15:09,090 La fel ca în JavaScript, puteți avea un eveniment atunci când un buton devine clic sau ceva 221 00:15:09,090 --> 00:15:14,800 aceste modele coloana vertebrală și colecții Backbone va difuza lucruri, cum ar fi 222 00:15:14,800 --> 00:15:17,510 că, atunci când se schimbă. 223 00:15:17,510 --> 00:15:22,270 Asta înseamnă că puteți scrie ceva ca acest fragment de cod aici - 224 00:15:22,270 --> 00:15:27,530 aceasta spune, de fiecare dată când adăugați ceva la posturile matrice te aspira tot peretele. 225 00:15:27,530 --> 00:15:34,270 Și acest lucru ar spune de fiecare dată când numărul un post de apreciat schimbă, 226 00:15:34,270 --> 00:15:38,970 vă anunța utilizatorul că cineva a placut postul lor. 227 00:15:38,970 --> 00:15:45,210 Sau ori de câte ori orice proprietate a unui post modificările pe care le redesena post. 228 00:15:45,210 --> 00:15:51,050 Chestii de genul asta te va salva de tone de complexitate, deoarece altfel 229 00:15:51,050 --> 00:15:55,440 dacă nu aveți unele cadru ca acest lucru, atunci de fiecare dată în codul dvs., care vă schimbați 230 00:15:55,440 --> 00:16:04,280 ceva despre un post, ar trebui să vă amintiți de a apela toate funcțiile fac 231 00:16:04,280 --> 00:16:07,680 și chestii de genul asta, și dacă ai vrut să adauge ceva nou ce sa întâmplat 232 00:16:07,680 --> 00:16:10,680 de fiecare dată când modificat un mesaj ce ar trebui să treacă prin fiecare loc în ta 233 00:16:10,680 --> 00:16:14,610 cod care ați modificat un post și adaugă că noul lucru. 234 00:16:14,610 --> 00:16:21,450 Un cadru ca acest lucru va elimina o mulțime de care comunicarea dintre straturi 235 00:16:21,450 --> 00:16:28,280 care face codul de complex și greu pentru a menține. 236 00:16:28,280 --> 00:16:31,170 >> Există un pic despre opiniile, de asemenea. 237 00:16:31,170 --> 00:16:35,960 Am de gând să părăsească cea mai mare de acest lucru pentru a Billy, deoarece acestea nu sunt punct de vedere tehnic foarte dificil. 238 00:16:35,960 --> 00:16:43,540 Utilizați jQuery pentru opiniile dumneavoastră. Este, practic, ca o necesitate în acest moment. 239 00:16:43,540 --> 00:16:46,290 Doar face totul mult mai ușor. 240 00:16:46,290 --> 00:16:48,290 Există o mulțime de biblioteci. 241 00:16:48,290 --> 00:16:49,970 Dacă ați complicat elemente de interfață utilizator, 242 00:16:49,970 --> 00:16:57,250 dacă vrei un lucru auto-complete sau ca una dintre acele fantezie multi-selectoare - 243 00:16:57,250 --> 00:17:04,790 daca vrei ceva de genul asta, ar trebui, probabil, doar de căutare în jurul 244 00:17:04,790 --> 00:17:08,130 și puteți găsi o bibliotecă bună, care va face ceea ce vrei. 245 00:17:08,130 --> 00:17:11,579 Billy va explica mai multe despre de fapt dificile părți de opinii. 246 00:17:11,579 --> 00:17:17,530 De asemenea, ca o notă separată, Backbone are unele funcționalități pentru a face vizualizări comunica 247 00:17:17,530 --> 00:17:22,800 frumos cu modele - uita-te la documentația pentru toate aceste biblioteci, de fapt. 248 00:17:22,800 --> 00:17:28,270 Doar uita-te la docs. Sunt foarte bine scris și ușor de urmărit. 249 00:17:28,270 --> 00:17:33,890 În general, aveți posibilitatea să destul de mult doar Google dacă aveți probleme. 250 00:17:33,890 --> 00:17:36,370 Există o mulțime de oameni care le folosesc. 251 00:17:36,370 --> 00:17:42,020 Cred că acest lucru este ca o notă finală. 252 00:17:42,020 --> 00:17:48,770 >> Există, de asemenea, unele lucruri mai avansate pe care le puteți face 253 00:17:48,770 --> 00:17:53,400 dacă sunteți în căutarea de a face aplicația web suplimentare minunat. 254 00:17:53,400 --> 00:17:59,760 Puteți face - noua specificație HTML5 are o multime de lucruri de lux care le puteți face. 255 00:17:59,760 --> 00:18:05,780 Stocare locală - care este, puteți stoca date în browser-ul - 256 00:18:05,780 --> 00:18:09,470 mai degrabă decât pentru a merge înapoi și citi cu atenție serverul de tot, 257 00:18:09,470 --> 00:18:12,470 puteți să vă păstrați o parte din ea pe client și pe care chiar permite oamenilor - 258 00:18:12,470 --> 00:18:20,850 în unele cazuri poate chiar vă permit să utilizați offline pagina de web. 259 00:18:20,850 --> 00:18:26,980 Exista acest lucru numit websockets care sunt un alt fel de comunicare în rețea 260 00:18:26,980 --> 00:18:30,930 în cazul în care în loc de doar voi face o cerere, veți obține răspuns și ați terminat, 261 00:18:30,930 --> 00:18:35,240 vă păstrați deschide o conexiune la server și astfel încât să puteți face lucruri, cum ar fi 262 00:18:35,240 --> 00:18:37,240 actualizări în timp real. 263 00:18:37,240 --> 00:18:42,020 Deci, dacă ați fost încercarea de a face o aplicatie de chat, ai putea folosi websockets 264 00:18:42,020 --> 00:18:43,790 de a comunica înainte și înapoi, astfel încât să nu ar trebui să țină solicită, 265 00:18:43,790 --> 00:18:48,410 "Oh, server, au cineva sa-mi trimiteti un chat?" la fiecare 10 secunde sau ceva. 266 00:18:48,410 --> 00:18:55,620 Există, de asemenea, o caracteristică interesantă HTML5 unde se pot face să arate ca 267 00:18:55,620 --> 00:18:58,340 URL-ul paginii se schimbă fără a avea vreodată să-l reîncărcați de fapt. 268 00:18:58,340 --> 00:19:03,230 Puteți folosi înainte și înapoi butoanele, fără a face o grămadă de cereri de rețea. 269 00:19:03,230 --> 00:19:14,660 Chestii de genul asta este foarte util în ceea ce privește ceea ce face rapid, dar, de asemenea, funcționează ca o aplicație web ar trebui. 270 00:19:14,660 --> 00:19:17,680 >> Există, de asemenea, acest lucru numit CoffeeScript. 271 00:19:17,680 --> 00:19:24,450 CoffeeScript este o limbă diferită, de fapt, care compilează până la JavaScript. 272 00:19:24,450 --> 00:19:30,080 V-ar scrie tot codul în CoffeeScript, și apoi executați acest compilator, 273 00:19:30,080 --> 00:19:33,300 și-l scuipă un fișier JavaScript pe care le pot include în pagina de web. 274 00:19:33,300 --> 00:19:38,860 Motivul pentru care CoffeeScript este frumos este că acesta scapa de o mulțime de 275 00:19:38,860 --> 00:19:44,760 cazuri ciudate care de activarea JavaScript-are unde egal la egal la egal, 276 00:19:44,760 --> 00:19:51,130 și egal la egal la egal a face lucruri diferite, sau ca - 277 00:19:51,130 --> 00:19:55,740 are sintaxa mai frumos pentru a face cu tablouri și funcții. 278 00:19:55,740 --> 00:20:00,460 Acesta este un mic fragment de CoffeeScript care produce o listă cu toate pătratele 279 00:20:00,460 --> 00:20:04,900 de la 10 ^ 2 la 1 ^ 2 în ordine inversă. 280 00:20:04,900 --> 00:20:08,410 După cum puteți vedea, CoffeeScript de multe ori vă permite să-și exprime în 1 linie 281 00:20:08,410 --> 00:20:10,890 ce s-ar lua 5 linii de JavaScript. 282 00:20:10,890 --> 00:20:13,230 Se poate face lucrurile mult mai ușor. 283 00:20:13,230 --> 00:20:15,390 Este un pic de noua sintaxă a învăța la început, 284 00:20:15,390 --> 00:20:18,010 dar cu siguranta te va face mai productiv pe termen lung. 285 00:20:18,010 --> 00:20:22,050 >> Puteți folosi, de asemenea, alte limbi de pe server de PHP - 286 00:20:22,050 --> 00:20:27,570 limbi, cum ar fi Ruby, Python, sau există chiar și un proiect numit node.js 287 00:20:27,570 --> 00:20:31,450 care vă va permite să utilizați JavaScript pe server. 288 00:20:31,450 --> 00:20:34,700 Personal, eu într-adevăr, într-adevăr urăsc PHP. 289 00:20:34,700 --> 00:20:38,310 Eu pur și simplu nu-mi place de lucru cu ea. 290 00:20:38,310 --> 00:20:43,450 Dacă aveți, de asemenea, cred că este o cluge îngrozitor de o limbă, 291 00:20:43,450 --> 00:20:46,160 atunci puteți folosi una dintre aceste loc. 292 00:20:46,160 --> 00:20:54,780 În general, dacă vrei să faci ceva și tu nu prea știu cum v-ar face, 293 00:20:54,780 --> 00:20:56,780 doar de căutare pe Internet. 294 00:20:56,780 --> 00:20:59,990 Nu sunt de tone și tone de resurse în special cu privire la - 295 00:20:59,990 --> 00:21:03,260 StackOverflow este unul mare. 296 00:21:03,260 --> 00:21:06,400 Este acest site unde programatori adresează întrebări reciproc. 297 00:21:06,400 --> 00:21:09,690 S-ar putea fi rula în ea, dacă ai probleme pe seturi de probleme CS50. 298 00:21:09,690 --> 00:21:16,820 Și acolo sunt tone de biblioteci pentru a face ceva destul de mult v-ar dori. 299 00:21:16,820 --> 00:21:21,710 Dacă vrei să faci ceva și nu știi cum să o facă, 300 00:21:21,710 --> 00:21:23,710 nu presupune că este imposibil. 301 00:21:23,710 --> 00:21:26,160 Uită-te în jur și s-ar putea găsi unele resurse bune. 302 00:21:26,160 --> 00:21:29,280 >> Ca un general încheia, 303 00:21:29,280 --> 00:21:33,650 principalele takeaways sunt păstrați lucrurile simple. 304 00:21:33,650 --> 00:21:36,010 Mai complex codul este la început 305 00:21:36,010 --> 00:21:40,370 și cu atât mai mult să încercați și de a face lucruri de lux, 306 00:21:40,370 --> 00:21:43,300 cu atât mai mult le va lua pentru a obține ceva de fapt, funcțional 307 00:21:43,300 --> 00:21:46,480 si cu atat mai greu va fi pentru a schimba mai târziu. 308 00:21:46,480 --> 00:21:49,580 Deci, a face lucrurile așa prost, ușor primul. 309 00:21:49,580 --> 00:21:51,720 Pentru a merge împreună cu faptul că, 310 00:21:51,720 --> 00:21:59,070 nu-ți fie frică de a arunca departe cod vechi sau de curățare, o mulțime. 311 00:21:59,070 --> 00:22:05,320 În general, odată ce ai de fapt ceva de lucru, 312 00:22:05,320 --> 00:22:09,640 este mult mai ușor să se gândească decât atunci când vă aflați încă în stadiile incipiente 313 00:22:09,640 --> 00:22:12,610 de cum am pus totul împreună. 314 00:22:12,610 --> 00:22:17,500 Cel mai bine este de a face cel mai prost posibil design care funcționează 315 00:22:17,500 --> 00:22:22,270 și apoi să-l îmbunătățească iterativ decât încercarea de a obține tot ceea ce dreptul de prima dată. 316 00:22:22,270 --> 00:22:28,330 În ceea ce privește divizia client-server, încercați și să păstreze server-ul dvs. foarte simplu - 317 00:22:28,330 --> 00:22:33,030 doar o bază de date și unele de autentificare și nu fac nici o munca grea acolo. 318 00:22:33,030 --> 00:22:37,540 Face toate lucrurile complicate pe partea de client în browser-ul 319 00:22:37,540 --> 00:22:40,650 în JavaScript la fel de mult ca tine poate. 320 00:22:40,650 --> 00:22:43,420 Uită-te în jurul valorii de bibliotecile care fac viața mai bună. 321 00:22:43,420 --> 00:22:46,850 Întotdeauna mai bine să folosiți cod care altcineva a scris 322 00:22:46,850 --> 00:22:49,850 dacă - și nu să-l scrie singur. 323 00:22:49,850 --> 00:22:57,560 Există o mulțime de lucruri de pe Internet. Google este cel mai bun prieten. 324 00:22:57,560 --> 00:22:59,560 Google este cel mai bun prieten al programatorului. 325 00:22:59,560 --> 00:23:07,620 Da, cu siguranta nu-ți fie frică să te uiți în jurul valorii de lucruri. 326 00:23:07,620 --> 00:23:11,860 Bine. Și mai mult de la Billy. 327 00:23:11,860 --> 00:23:14,600 >> [Billy] De fapt, înainte de a începe cu unele chestii de design, 328 00:23:14,600 --> 00:23:17,250 Are cineva vreo întrebare pentru Ben despre ceva care a vorbit despre? 329 00:23:17,250 --> 00:23:20,290 Bine, bine. 330 00:23:20,290 --> 00:23:22,220 Din nou, să ne anunțați dacă ceva nu este clar 331 00:23:22,220 --> 00:23:25,420 sau dacă doriți pentru a trece peste ceva un pic mai mult. 332 00:23:25,420 --> 00:23:30,330 Am de gând să pas înapoi un pic și să vorbească despre părțile mai fundamentale de proiectare. 333 00:23:30,330 --> 00:23:34,840 Ben menționat modelul numit - îmi pare rău, modelul View Controller sistemului 334 00:23:34,840 --> 00:23:38,520 care este un fel de aspectul tehnic, așa că am de gând să se uite la opinii în mod special, 335 00:23:38,520 --> 00:23:42,930 și am de gând să încep cu modul în care v-ar proiecta o imagine care arată frumos. 336 00:23:42,930 --> 00:23:50,540 Aici e un fel de șablon într-adevăr de bază pentru Cat de Facebook. 337 00:23:50,540 --> 00:23:54,190 Cred că există unele fundamentale în design modern UI 338 00:23:54,190 --> 00:23:56,190 care sunt în valoare de ridicarea. 339 00:23:56,190 --> 00:23:58,210 Se poate observa există o mulțime de spațiu alb peste tot în pagina, 340 00:23:58,210 --> 00:24:00,790 o multime de cameră pentru lucruri. 341 00:24:00,790 --> 00:24:02,580 Nu simt ca trebuie sa suc de fructe lucrurile într-o pagină. 342 00:24:02,580 --> 00:24:06,700 Vrei să părăsească o mulțime de cameră deschis, și dacă te duci la aproape orice site web moderne 343 00:24:06,700 --> 00:24:08,380 veți vedea acolo este alb peste tot. 344 00:24:08,380 --> 00:24:10,380 Nu e alb, în ​​locuri în care nu s-ar aștepta. 345 00:24:10,380 --> 00:24:14,570 Ai această paletă de culori, și este înțelept la început 346 00:24:14,570 --> 00:24:17,880 pentru a alege o paleta de culori pe care ai de gând să lucreze cu și de a dezvolta. 347 00:24:17,880 --> 00:24:22,250 Puteți, de asemenea - ajută să alegeți un tip de caractere, și în acest fel esti un fel de a lucra cu 348 00:24:22,250 --> 00:24:24,450 aceste fundamente concrete de proiectare. 349 00:24:24,450 --> 00:24:26,910 Aveți tipul tău, ai culorile, și apoi puteți fel de 350 00:24:26,910 --> 00:24:29,380 potrivi orice altceva în după cum este necesar. 351 00:24:29,380 --> 00:24:37,710 Deci, așa cum am spus, cu schema de culori pe care doriți să utilizați culorile îndrăznețe de schema de culori 352 00:24:37,710 --> 00:24:40,320 cumpătat. Anteturile sunt frumos. Butoane sunt frumos de a avea culori foarte mare, ostentative. 353 00:24:40,320 --> 00:24:43,710 Dar, în general, dacă aveți un site care are culori peste tot, 354 00:24:43,710 --> 00:24:47,250 tot te holbezi in fata, doar pare aglomerat, și nu e bine. 355 00:24:47,250 --> 00:24:50,430 Pe care doriți să utilizați, în general, culori deschise. 356 00:24:50,430 --> 00:24:52,890 Încercați să, din nou, alege o schemă de culori destul de coerent. 357 00:24:52,890 --> 00:24:56,640 Puteți avea aceste stropi mici de o mulțime de culoare - 358 00:24:56,640 --> 00:25:00,240 care se pot uita destul de frumos, dar pe care doriți să le folosească destul de cumpătat. 359 00:25:00,240 --> 00:25:04,270 >> Așa cum am spus, vrei sa fie minim. Mai puțin este aproape întotdeauna mai mult. 360 00:25:04,270 --> 00:25:07,430 Dacă aveți posibilitatea să afișați ceva sau nu afișa ceva, 361 00:25:07,430 --> 00:25:10,230 si tu esti un fel de sigur dacă ar trebui să fie acolo în mod implicit - 362 00:25:10,230 --> 00:25:13,400 probabil ca esti cel mai bun off lăsându-l afară. Puteți să-l adăugați întotdeauna mai târziu. 363 00:25:13,400 --> 00:25:16,620 Da, pastram lucrurile simple. 364 00:25:16,620 --> 00:25:19,510 Dar cel mai important, pe care doriți să ia în considerare mai multe modele. 365 00:25:19,510 --> 00:25:23,520 Să nu credeți că atunci când faci un site, o ai în cap pe care ai de gând să 366 00:25:23,520 --> 00:25:26,310 face site-ul într-un anumit fel, și-l va arăta exact ca aceasta. 367 00:25:26,310 --> 00:25:29,830 Se va avea antet albastru în partea de sus și bara laterală albastru 368 00:25:29,830 --> 00:25:32,670 și apoi galben lucru sub-antet. 369 00:25:32,670 --> 00:25:34,670 Vrei să faci mai multe template-uri. 370 00:25:34,670 --> 00:25:37,350 Puteți fie - dacă ești bun cu Photo Shop, aveți posibilitatea să deschideți că până și un fel de 371 00:25:37,350 --> 00:25:39,600 proiecta un site web după cum doriți să arate. 372 00:25:39,600 --> 00:25:41,680 Dacă nu, puteți folosi doar stilou și hârtie, 373 00:25:41,680 --> 00:25:44,000 dar zgâria pe mai multe modele. 374 00:25:44,000 --> 00:25:47,000 Vrei să aibă în principiu, un set de unde aveți o mulțime de desene sau modele diferite, 375 00:25:47,000 --> 00:25:50,810 și în cazul în care se termină în sus de lucru, atunci e minunat. 376 00:25:50,810 --> 00:25:53,370 În cazul în care se termină până în caz contrar, atunci veți avea întotdeauna un altul să se adreseze. 377 00:25:53,370 --> 00:25:57,960 În general, nu se simt ca și cum ar trebui să fie constrâns 378 00:25:57,960 --> 00:26:00,830 la orice design de a vă decide inițial pe. 379 00:26:00,830 --> 00:26:04,420 Modele sunt foarte variabile, și o parte din importanța modelului 380 00:26:04,420 --> 00:26:09,480 vedere controler de sistem este că puteți schimba și în afară de vedere diferite pe care doriți. 381 00:26:09,480 --> 00:26:13,510 Puteți influența datele într-un fel, și apoi să decidă, oh, de fapt, că nu funcționează atât de bine. 382 00:26:13,510 --> 00:26:19,190 Cred că e un fel de prea complicate sau există o parte aici, care nu este într-adevăr de lucru, 383 00:26:19,190 --> 00:26:22,150 așa că eu sunt doar de gând să renunțe în totalitate acest punct de vedere și de swap într-un cu totul nou. 384 00:26:22,150 --> 00:26:24,790 Putem folosi în continuare vechile modele și controlorii vechi. 385 00:26:24,790 --> 00:26:27,490 Putem face totul pe server și client ca ne-ar mai înainte. 386 00:26:27,490 --> 00:26:32,850 Dar valul actual al datelor afișate ca va fi ușor diferită. 387 00:26:32,850 --> 00:26:35,840 >> În ceea ce privește punerea în aplicare, de fapt, designul dorit, 388 00:26:35,840 --> 00:26:39,330 odată ce aveți câteva modele schițat pe hârtie sau pe Photo Shop sau orice altceva, 389 00:26:39,330 --> 00:26:42,120 există o serie de instrumente care sunt făcute disponibile pentru tine. 390 00:26:42,120 --> 00:26:45,700 Primul sunteți foarte familiarizat cu ceea ce este HTML, PHP, sau orice 391 00:26:45,700 --> 00:26:48,990 Limba pe care îl utilizați doar pentru a coda pagini statice de pe site-ul dumneavoastră. 392 00:26:48,990 --> 00:26:51,990 Ai lucrat foarte mult cu HTML ce tip de vă oferă aceste tag-uri 393 00:26:51,990 --> 00:26:57,820 pe care le puteți pune lucrurile în, și, practic, este un mod de organizare a conținutului. 394 00:26:57,820 --> 00:27:00,990 De exemplu, aveți antet acolo, așa că ai de gând să aibă o etichetă antet, 395 00:27:00,990 --> 00:27:05,770 și-l va avea un text în interiorul acesteia, care este, probabil, va fi într-o altă etichetă. 396 00:27:05,770 --> 00:27:08,380 Atunci aveți o bară laterală, poate cu unele link-uri diferite, 397 00:27:08,380 --> 00:27:10,160 și cei care vor fi toate în tag-uri separate. 398 00:27:10,160 --> 00:27:13,870 Deci, practic HTML la inima ei este un mod de divizare a paginii cum 399 00:27:13,870 --> 00:27:16,980 în cele din urmă vă doriți să-l formatați. 400 00:27:16,980 --> 00:27:18,980 Deci, din nou, ați văzut asta înainte. 401 00:27:18,980 --> 00:27:20,540 Ești destul de confortabil cu care lucrează cu ea acum 402 00:27:20,540 --> 00:27:23,120 dat fiind faptul că le-ați făcut în ultima PSET sperăm, 403 00:27:23,120 --> 00:27:26,150 astfel încât să fie nici o problemă. 404 00:27:26,150 --> 00:27:31,280 >> Apoi, aveți CSS care se ocupă practic toate aspectele de proiectare statice. 405 00:27:31,280 --> 00:27:35,320 Ar ocupe de toate culorile, toate de poziționare a elementelor diferite, 406 00:27:35,320 --> 00:27:36,840 unde se duc unul în raport cu altul, 407 00:27:36,840 --> 00:27:41,530 cât de mari sunt, diferite tipuri de poziționări pe care le-ar fi - 408 00:27:41,530 --> 00:27:46,030 cu alte cuvinte, puteți avea lucruri fixe, astfel încât, atunci când defilați în jos stau, 409 00:27:46,030 --> 00:27:48,700 sau puteți avea lucruri în raport cu alte elemente. 410 00:27:48,700 --> 00:27:50,730 Toate de acest tip de lucruri este în CSS. 411 00:27:50,730 --> 00:27:54,630 Mai mult decât atât, puteți face diferite decoratiuni, puteți avea culori de text, 412 00:27:54,630 --> 00:27:56,630 efecte de text, tot de acest gen de lucruri. 413 00:27:56,630 --> 00:28:00,360 Ben a dat un seminar foarte bun în acest weekend-ul trecut, 414 00:28:00,360 --> 00:28:04,450 și așa mi-ar verifica cu siguranță că dacă aveți de gând să faci unele lucruri de lux cu CSS. 415 00:28:04,450 --> 00:28:09,850 CSS3 este de fapt cea mai nouă versiune de CSS, și se pot face tot felul de lucruri foarte frumoase. 416 00:28:09,850 --> 00:28:14,750 Se poate face degradeuri, puteți avea frumoase colturi, rotunjite, puteti face tot felul de lucruri 417 00:28:14,750 --> 00:28:17,940 pentru a face site-ul dvs. un aspect mai modern și fantezie. 418 00:28:17,940 --> 00:28:22,150 >> Urmatorul instrument este JavaScript și jQuery care Ben a vorbit un pic despre, 419 00:28:22,150 --> 00:28:24,150 dar voi lua un pic mai departe în. 420 00:28:24,150 --> 00:28:28,100 JavaScript, ca ai lucrat cu ea un pic, sau, cel puțin văzut-o în curs, 421 00:28:28,100 --> 00:28:31,870 este un fel de un mod de a face lucrurile în mod dinamic în HTML. 422 00:28:31,870 --> 00:28:35,950 HTML, după cum știți, este static, astfel încât odată ce ați HTML nu se poate modifica. 423 00:28:35,950 --> 00:28:40,050 Dar JavaScript, în unele privințe, este o modalitate de a putea modifica HTML. 424 00:28:40,050 --> 00:28:44,520 Astfel încât să puteți face asta, și asta e minunat, dar JavaScript este cu adevărat o durere pentru a lucra cu. 425 00:28:44,520 --> 00:28:49,050 Este atât de mult timp și obtuz și de a face chiar și cele mai simple lucruri 426 00:28:49,050 --> 00:28:51,630 necesită o mulțime de linii de JavaScript. 427 00:28:51,630 --> 00:28:55,410 Deci, jQuery este de fapt o bibliotecă de JavaScript care simplifică toate acestea. 428 00:28:55,410 --> 00:28:59,880 Se spune, bine, dacă doriți să aveți o cutie pătrată provin din stânga 429 00:28:59,880 --> 00:29:03,980 și se estompeze în pagină, astfel că este la mijloc, în JavaScript, care ar avea - 430 00:29:03,980 --> 00:29:06,340 Nu știu, o sută de linii de a face, și ar fi o durere, 431 00:29:06,340 --> 00:29:10,540 și tu ieși din ea urăște totul despre programare web. 432 00:29:10,540 --> 00:29:15,380 JQuery aveți practic elementul-dot-se estompeze in, sau ceva de genul asta. 433 00:29:15,380 --> 00:29:18,580 Funcțiile Deci, foarte, foarte simple, care vă va permite să faci tot felul de animații se răcească 434 00:29:18,580 --> 00:29:20,580 și astfel de lucruri. 435 00:29:20,580 --> 00:29:23,300 Un alt lucru pe care acestea două sunt foarte bune pentru este doar de a face lucruri dinamice 436 00:29:23,300 --> 00:29:25,300 cu site-ul. 437 00:29:25,300 --> 00:29:28,370 Deci, mai degrabă decât având doar pagina HTML - care afiseaza unele date, dar nu de fapt, 438 00:29:28,370 --> 00:29:32,130 face nimic - JavaScript și jQuery va lăsa să aveți butoane pe care se poate face clic pe, 439 00:29:32,130 --> 00:29:37,960 și aveți posibilitatea să glisați elemente și re-pentru ei și să le sortați, și au elemente noi 440 00:29:37,960 --> 00:29:40,500 adăugate sau eliminate. Puteți adăuga, șterge, chestii din astea. 441 00:29:40,500 --> 00:29:44,570 Deci, jQuery face de tone de lucruri interesante. 442 00:29:44,570 --> 00:29:48,840 Și Vipul se da de fapt un seminar pe ea azi, cred, la 5-ora, 443 00:29:48,840 --> 00:29:51,220 deci, dacă puteți lipi în jurul valorii de mult timp, care ar fi - 5 sau 4? 444 00:29:51,220 --> 00:29:54,930 Patru. Scuze. Este de fapt imediat după aceasta, așa că aș recomanda 445 00:29:54,930 --> 00:29:56,680 lipirea în jurul valorii de ea, dacă poți. 446 00:29:56,680 --> 00:30:00,180 JQuery este super, super-util, și veți fi capabil să facă o mulțime de lucruri foarte frumoase cu ea 447 00:30:00,180 --> 00:30:03,460 pentru destul de mult orice proiect de dezvoltare web. 448 00:30:03,460 --> 00:30:06,200 >> Acum am de gând pentru a obține într-un fel de distincție. 449 00:30:06,200 --> 00:30:08,210 Am vorbit de fapt despre interfața cu utilizatorul. 450 00:30:08,210 --> 00:30:11,510 Interfața cu utilizatorul este doar de design a site-ului. 451 00:30:11,510 --> 00:30:13,780 Dar există un fel de un alt concept, care este o experiență de utilizare. 452 00:30:13,780 --> 00:30:15,900 Cei doi sunt foarte diferite. 453 00:30:15,900 --> 00:30:19,440 Interfața este cu siguranta o parte a experienței. 454 00:30:19,440 --> 00:30:21,340 Cu alte cuvinte, atunci când te duci la un site, te uiti la interfața. 455 00:30:21,340 --> 00:30:22,960 Asta face parte din modul în care vă confruntați cu site-ul. 456 00:30:22,960 --> 00:30:24,960 Dar experiența utilizatorului este mai mult decât atât. 457 00:30:24,960 --> 00:30:29,910 Experiență de utilizare este despre ceea ce impresia că utilizatorul primeste de la site-ul dvs. este. 458 00:30:29,910 --> 00:30:31,910 Deci, în mod evident, interfata este o parte din asta. 459 00:30:31,910 --> 00:30:35,340 Și este cu siguranta o parte necesară, dar nu este suficient. 460 00:30:35,340 --> 00:30:38,790 Cu alte cuvinte, dacă aveți o interfață frumos, și este destul de plin de culoare și toate astea, 461 00:30:38,790 --> 00:30:43,650 Asta-i grozav, dar în cazul în care utilizatorul merge la site-ul dvs., vede un aspect destul de și este confuz de 462 00:30:43,650 --> 00:30:47,060 totul, nu are nici o idee cum să facă ceva, atunci, evident, le-ați făcut-o într-adevăr 463 00:30:47,060 --> 00:30:48,930 site-ul săraci. 464 00:30:48,930 --> 00:30:50,930 Asta e un fel de experiență de utilizare în care vine inch 465 00:30:50,930 --> 00:30:54,570 Am de gând să vorbesc un pic despre design UX - UX este scurt pentru o experiență de utilizare - 466 00:30:54,570 --> 00:30:58,050 și un fel de modul în care puteți să vă asigurați că aveți o experiență bună de utilizator. 467 00:30:58,050 --> 00:31:04,330 Primul punct este că s-ar putea proiecta un site web în cazul în care un utilizator poate face ceva care 468 00:31:04,330 --> 00:31:06,820 că utilizatorul dorește, eventual. 469 00:31:06,820 --> 00:31:08,940 Dar în cazul în care utilizatorul nu pot da seama cum de a face aceste lucruri - 470 00:31:08,940 --> 00:31:12,850 cu alte cuvinte, în cazul în care utilizatorul nu are o idee bună atunci când se duc la site-ul dvs. de, 471 00:31:12,850 --> 00:31:17,660 "Oh, dacă vreau să actualizeze profilul meu, apoi mi-am faceți clic pe acest buton, sau dacă vreau să posta pe 472 00:31:17,660 --> 00:31:20,850 perete cuiva, apoi mă duc la perete lor și faceți clic pe o cutie mica. " 473 00:31:20,850 --> 00:31:24,410 În cazul în care utilizatorul nu știe că, atunci în mod eficient nu au de fapt, 474 00:31:24,410 --> 00:31:27,080 puse în aplicare în mod corect că funcționalitatea. 475 00:31:27,080 --> 00:31:30,900 Parte a punerii în aplicare o funcționalitate este că utilizatorii sunt de fapt în măsură să-l folosească. 476 00:31:30,900 --> 00:31:34,810 Și ar putea fi frustrant - s-ar putea face un site, și se poate face tot felul de 477 00:31:34,810 --> 00:31:37,810 lucruri minunate, dar atunci va trebui oameni testați-l și spune, "Nu se poate face acest lucru. 478 00:31:37,810 --> 00:31:39,770 De ce nu se poate face acest lucru? "Și vei spune inapoi la ei, 479 00:31:39,770 --> 00:31:44,420 "Ei bine, se poate. Trebuie doar să intrați în meniul drop-al 7-lea în jos pe acest obscur 480 00:31:44,420 --> 00:31:48,470 Pagina care se găsește numai printr-o legătură de la colțul din dreapta jos ", sau ceva de genul. 481 00:31:48,470 --> 00:31:50,430 Evident, tu nu vrei asta. 482 00:31:50,430 --> 00:31:53,420 Vrei să fie clar pentru utilizatori acestea sunt ceea ce ar trebui să fac, 483 00:31:53,420 --> 00:31:56,240 și ar trebui să fie simplă și intuitivă pentru ei. 484 00:31:56,240 --> 00:32:01,180 >> Un alt lucru pe care doriți să încercați să faceți este, în cazul în care cineva va merge la site-ul dvs. 485 00:32:01,180 --> 00:32:05,520 și 9 din 10 ori fac acțiune A, și 1 din 10 de ori fac acțiune B, 486 00:32:05,520 --> 00:32:08,950 probabil, veți dori să se concentreze pe experiența lor de acțiune A. 487 00:32:08,950 --> 00:32:12,240 Cu alte cuvinte, vrei să-l cât de foarte, foarte clar de a face A. 488 00:32:12,240 --> 00:32:15,980 A trebuie să fie fata-si-centru - du-te la site-ul, a se vedea ea, oh, e chiar acolo. 489 00:32:15,980 --> 00:32:20,850 În timp ce B, evident, pe care doriți să fie clar, dar puteți să-l lăsați un pic mai mult 490 00:32:20,850 --> 00:32:22,850 în fundal. 491 00:32:22,850 --> 00:32:24,640 David oferă un bun exemplu de acest lucru în curs, 492 00:32:24,640 --> 00:32:26,640 care este sistemul Boston T. 493 00:32:26,640 --> 00:32:29,440 Când te duci la Boston T și doriți să cumpărați un bilet, 494 00:32:29,440 --> 00:32:32,700 aveți pentru a obține în cinci meniuri înainte de a vă puteți achiziționa de fapt, un bilet 495 00:32:32,700 --> 00:32:37,130 pentru o valoare de 2 dolari, 2.50 dolari, care este cât de mult este nevoie pentru a merge cu metroul 496 00:32:37,130 --> 00:32:39,130 într-o singură direcție. 497 00:32:39,130 --> 00:32:41,600 Asta este o problemă pentru că cei mai mulți oameni care sunt de echitatie metrou 498 00:32:41,600 --> 00:32:44,880 probabil vrei doar pentru a merge la un loc, cumpăra biletul lor, pentru a primi pe imediat. 499 00:32:44,880 --> 00:32:47,550 Ea nu are sens că trebuie să treacă printr-o mulțime de diferite meniuri 500 00:32:47,550 --> 00:32:49,550 pentru a ajunge acolo. 501 00:32:49,550 --> 00:32:51,760 O experiență de utilizare mai bună ar fi un buton rapid pe prima pagină 502 00:32:51,760 --> 00:32:54,760 care spune doar, "cumpara un bilet one-way," și că ar pune în toate standardului 503 00:32:54,760 --> 00:32:58,550 valori implicite, iar apoi, dacă cineva vrea să cumpere un bilet diferit decât faptul că, 504 00:32:58,550 --> 00:33:01,690 ei încă, desigur, au opțiunea de a, dar le-ați optimizat pentru 505 00:33:01,690 --> 00:33:04,080 cazul comun de utilizat, care este foarte important. 506 00:33:04,080 --> 00:33:06,830 Puteți vedea exemple de acest lucru pe Facebook, nu? 507 00:33:06,830 --> 00:33:09,410 Dacă te duci la Facebook și doriți pentru a posta un status, 508 00:33:09,410 --> 00:33:11,710 este chiar în partea de sus, care este ceea ce de multe ori vrei sa faci. 509 00:33:11,710 --> 00:33:14,730 De îndată ce veți intra pe pagina, poti sa faci cele mai comune lucruri pe care 510 00:33:14,730 --> 00:33:16,730 vrei sa faci. 511 00:33:16,730 --> 00:33:17,550 Dacă vrei să faci lucrurile puțin mai complicate, cum ar fi, 512 00:33:17,550 --> 00:33:21,070 spun că vreau să merg la perete prietenul meu și posta o imagine pe ea - 513 00:33:21,070 --> 00:33:24,810 pe care voi dori să fac de multe ori, dar nu la fel de des ca și publicarea unor actualizări de stare - 514 00:33:24,810 --> 00:33:28,200 astfel, în acest caz, am tastați numele lor în caseta din partea de sus, faceți clic pe profilul lor, 515 00:33:28,200 --> 00:33:31,680 și apoi, încă, este chiar în partea de sus acolo o dată am ajuns la profilul său. 516 00:33:31,680 --> 00:33:38,240 Din nou, am optimizat în prioritate pentru cazurile cele mai frecvente de utilizare. 517 00:33:38,240 --> 00:33:41,800 >> Un alt lucru important este faptul că de multe ori oamenii vor un fel de a încerca pentru a obține în jurul valorii acest 518 00:33:41,800 --> 00:33:44,890 prin a spune, bine, așa că am făcut site-ul și oamenii sunt constatare este confuz, 519 00:33:44,890 --> 00:33:46,110 și că este o problemă, nu? 520 00:33:46,110 --> 00:33:49,210 Evident, eu nu vreau ca oamenii să fie confundat cu conținutul site-ul meu. 521 00:33:49,210 --> 00:33:53,210 Dar modul de a rezolva, care nu este de a avea ceva pop-up spunând, 522 00:33:53,210 --> 00:33:55,290 hei, am de gând să te învețe cum să folosească acest site. 523 00:33:55,290 --> 00:33:58,130 Pasul 1 - faceți clic pe acest buton. Pasul 2 - du-te aici. 524 00:33:58,130 --> 00:34:03,080 Sigur, asta e un fel în jurul ei - este o modalitate prin care puteți spune oamenilor ce să facă, dar e 525 00:34:03,080 --> 00:34:05,080 într-adevăr nu un mod optim. 526 00:34:05,080 --> 00:34:07,420 Dacă mă duc la un site web și dintr-o dată am bombardat cu acest tutorial, care-mi spune 527 00:34:07,420 --> 00:34:11,739 ce să facă și unde să meargă și toate acestea, că nu e amuzant pentru mine. 528 00:34:11,739 --> 00:34:13,739 Nu este o experiență bună pentru mine. 529 00:34:13,739 --> 00:34:17,130 Este un fel de durere. Vreau să încep doar a face lucruri. 530 00:34:17,130 --> 00:34:19,449 Oamenii vor să închidă din caseta de dialog lor, 531 00:34:19,449 --> 00:34:23,580 sau ieși din tutorial, nu știu ce să fac, și apoi se plâng că 532 00:34:23,580 --> 00:34:25,580 pe care nu le-am spus ce să facă. 533 00:34:25,580 --> 00:34:29,530 Modul de a rezolva acest lucru nu este de a da orice fel de tutorial sau direcții - 534 00:34:29,530 --> 00:34:31,530 ceva de genul asta. 535 00:34:31,530 --> 00:34:33,719 La fel de mult ca tine poate evita, într-adevăr doriți să arate utilizatorului ce să fac 536 00:34:33,719 --> 00:34:36,429 doar prin natura modului website este prevăzute. 537 00:34:36,429 --> 00:34:39,090 Cu alte cuvinte, dacă mă duc la Facebook fără să vă conectați, 538 00:34:39,090 --> 00:34:40,920 primul lucru pe care am vedea pe pagina principală - 539 00:34:40,920 --> 00:34:44,480 este o cutie de conectare mic. Deci, duh. Trebuie să vă conectați inch Este chiar acolo. 540 00:34:44,480 --> 00:34:48,030 Întrucât, în cazul în care m-am dus la Facebook și a trebuit să faceți clic pe un pic de link în partea de jos 541 00:34:48,030 --> 00:34:51,920 care a spus "conectați" și restul paginii a fost doar un fel de imagine sau ceva, 542 00:34:51,920 --> 00:34:54,820 Eu nu prea știu ce să fac, nu? Mi-ar fi confundat. 543 00:34:54,820 --> 00:34:58,590 Deci, s-ar putea spune-mi să merg acolo jos și faceți clic pe butonul pentru a intra în, 544 00:34:58,590 --> 00:35:01,080 sau jurnalul de la buton ar putea fi chiar în partea de sus, unde am de gând să-l văd. 545 00:35:01,080 --> 00:35:04,780 Vrei să fii mereu arată utilizatorului ce să facă, 546 00:35:04,780 --> 00:35:06,750 și că ar trebui să fie inerentă în pagina în sine. 547 00:35:06,750 --> 00:35:09,880 >> Cand te gandesti la design si simularea unor moduri diferite de 548 00:35:09,880 --> 00:35:13,810 exprimarea site-ul dvs., într-adevăr doriți să se gândească la ceea ce utilizatorii sunt de gând să 549 00:35:13,810 --> 00:35:19,380 se face și cum le pot arăta ce să facă. 550 00:35:19,380 --> 00:35:23,530 Un ultim lucru este de testare este foarte, foarte important. 551 00:35:23,530 --> 00:35:27,400 Este minunat pentru a obține cineva - a obține un prieten, pe cineva nu stii chiar - 552 00:35:27,400 --> 00:35:30,420 care nu a văzut site-ul înainte de a utiliza site-ul. 553 00:35:30,420 --> 00:35:33,650 Pentru că ați fost de lucru pe site-ul de ore, te-ai uitat la ea, 554 00:35:33,650 --> 00:35:36,670 și știi exact ce să facă acest lucru, evident, ai de gând să fie testarea 555 00:35:36,670 --> 00:35:39,520 lucruri pe care le-ați fost de lucru pe și despre care știți că locul de muncă. 556 00:35:39,520 --> 00:35:42,680 Dar dacă cineva vine și folosește site-ul pe care nu le-a folosit înainte, 557 00:35:42,680 --> 00:35:46,880 care este o experienta unica pentru că aveți pe cineva care nu are cunoștințe anterioare 558 00:35:46,880 --> 00:35:51,530 a site-ului a intra în ea, așa că va trebui în mod eficient nici o idee ce să facă 559 00:35:51,530 --> 00:35:54,890 sau ce fel de cazuri de utilizare sunt prezente pentru ei. 560 00:35:54,890 --> 00:36:00,930 Asta-i grozav. Care este unic, deoarece acestea sunt, în esență, o persoană cu un gol pentru o minte. 561 00:36:00,930 --> 00:36:03,750 Ei pot să vă spun dacă ceva este confuz sau neclar. 562 00:36:03,750 --> 00:36:07,580 Acestea vă pot oferi o idee despre exact ceea ce experiența de utilizare a site-ului este. 563 00:36:07,580 --> 00:36:10,630 Ea poate fi foarte greu să spun că te, deci cu siguranta te-ar încuraja 564 00:36:10,630 --> 00:36:13,640 ca esti in curs de dezvoltare de proiecte - dacă faci proiecte bazate pe web - 565 00:36:13,640 --> 00:36:18,290 pentru a obține oameni folosind site-ul cât mai curând aveți un fel de demo functional. 566 00:36:18,290 --> 00:36:25,330 >> Acum am de gând să vorbesc un pic despre modul de a gestiona un proiect de dezvoltare web. 567 00:36:25,330 --> 00:36:28,900 Am trecut pe modul în care puteți face partea tehnică back-end, 568 00:36:28,900 --> 00:36:31,050 cum se poate proiecta un site foarte bun, 569 00:36:31,050 --> 00:36:34,150 și asta e minunat, dacă sunteți de lucru de unul singur, dar - 570 00:36:34,150 --> 00:36:37,300 chiar dacă sunteți de lucru de unul singur și mai ales dacă sunteți de lucru pe o echipa, 571 00:36:37,300 --> 00:36:39,580 management de proiect devine o problemă mare. 572 00:36:39,580 --> 00:36:42,340 Care le-ați auzit despre un fel de management de proiect în diferite forme, deoarece 573 00:36:42,340 --> 00:36:45,410 scoala elementara atunci când s-au spus de lucru de grup. 574 00:36:45,410 --> 00:36:46,820 Aveți de a coopera, de a comunica, tot de asta. 575 00:36:46,820 --> 00:36:49,620 Că toate se aplică în continuare aici, dar există unele circumstanțe unice, cu 576 00:36:49,620 --> 00:36:54,910 informatică pe care doriți să fie conștienți de, și doriți să vă asigurați că descurca bine. 577 00:36:54,910 --> 00:36:58,050 Voi vorbi mai întâi un pic despre echipa pe care vei fi inch 578 00:36:58,050 --> 00:37:03,280 Este foarte important pentru a alege marimea potrivita a unei echipe a fi de lucru pe, 579 00:37:03,280 --> 00:37:05,890 și în proiectul final cred că aveți opțiunea de a alege 580 00:37:05,890 --> 00:37:08,610 între 1 și 4 persoane, dacă am dreptate. 581 00:37:08,610 --> 00:37:12,050 Vă doriți să vă asigurați că nu sunteți alegerea doar a numărului de persoane 582 00:37:12,050 --> 00:37:14,950 pe care doriți să lucrați cu pentru că sunt prietenii tăi. 583 00:37:14,950 --> 00:37:18,170 Vrei să alegi o echipa care este o dimensiune bună și că va face treaba. 584 00:37:18,170 --> 00:37:22,700 Există un comerț liber în a avea mai multe persoane, față de mai puțin de persoane. 585 00:37:22,700 --> 00:37:25,320 Dacă aveți mai multe persoane, în mod evident, mai mult de lucru se poate face 586 00:37:25,320 --> 00:37:28,450 pentru că aveți o mulțime de oameni, o mulțime de cod, o mulțime de idei, 587 00:37:28,450 --> 00:37:29,870 și asta e tot mare. 588 00:37:29,870 --> 00:37:32,590 Dar necesită, de asemenea, mult mai mult de gestionare și o mult mai mult de comunicare. 589 00:37:32,590 --> 00:37:34,720 Cu alte cuvinte, dacă aveți 4 persoane lucrează la același proiect 590 00:37:34,720 --> 00:37:39,200 și editați toate același cod, mai mult sau mai puțin au tot felul de necesitatea de a cunoaște 591 00:37:39,200 --> 00:37:40,920 ceea ce se întâmplă așa că necesită - 592 00:37:40,920 --> 00:37:44,580 dacă adăugați ceva nou funcție vă fel de trebuie să spui oamenilor - Sunt adăugarea de acest lucru, 593 00:37:44,580 --> 00:37:48,510 Am schimba acest lucru în acest fel - mai ales dacă aveți în lucrurile într-adevăr profund 594 00:37:48,510 --> 00:37:52,730 cum ar fi modelele și controlorii care sunt de fapt de gând să influențeze modul în care funcționează site-ul. 595 00:37:52,730 --> 00:37:54,500 Întreaga echipă trebuie să fie conștienți de ea, 596 00:37:54,500 --> 00:37:58,140 deci trebuie să vă asigurați că nu sunteți alegerea prea mare, o echipa care va fi greu 597 00:37:58,140 --> 00:37:59,970 pentru a face comunicarea. 598 00:37:59,970 --> 00:38:02,930 De asemenea, nu doresc să aleagă o echipă suficient de mic încât nu te duci la 599 00:38:02,930 --> 00:38:06,250 fie capabil să comunice, pentru că doar tu. 600 00:38:06,250 --> 00:38:11,270 >> Un alt lucru să ia în considerare este echilibrul în care abilitățile oamenilor sunt. 601 00:38:11,270 --> 00:38:14,350 E minunat dacă ești toate programatori foarte bune. 602 00:38:14,350 --> 00:38:17,050 Dar daca esti toate back-end de oameni, atunci site-ul dvs. nu este de gând să arate foarte bine 603 00:38:17,050 --> 00:38:20,860 pentru că aveți această mare bază de date, și-l face interogările de căutare super-rapid - 604 00:38:20,860 --> 00:38:26,130 care este mare -, dar atunci când te duci la ea, e ca un site de 1990, cu roșu și albastru 605 00:38:26,130 --> 00:38:30,370 peste tot, și asta nu e bine, fie. 606 00:38:30,370 --> 00:38:34,210 Observați că Ben și am de lucru ca o echipă sunt foarte frumos pentru că eu sunt un fel de mai mult 607 00:38:34,210 --> 00:38:38,030 în front-end, ne-am interacționa în mijloc-end, și Ben e foarte bun cu chestii de back-end, 608 00:38:38,030 --> 00:38:43,550 astfel încât funcționează foarte bine pentru că putem proiecta orice site-ul și, practic, găurile 609 00:38:43,550 --> 00:38:47,580 în care site-ul care trebuie să fie completate pot fi completate de către oricare dintre noi, sau, eventual, ambele. 610 00:38:47,580 --> 00:38:50,210 Vă doriți să vă asigurați că nu există găuri în echipa ta. 611 00:38:50,210 --> 00:38:51,180 E în regulă dacă există un pic de suprapunere. 612 00:38:51,180 --> 00:38:53,670 Cu alte cuvinte, dacă aveți 2 oameni care sunt atât de bine cu back-end, 613 00:38:53,670 --> 00:38:57,250 care poate fi bun la fel de bine, deoarece acestea pot ajuta reciproc cu probleme 614 00:38:57,250 --> 00:38:58,820 că acestea au. 615 00:38:58,820 --> 00:39:02,590 Acesta poate fi o problemă dacă aveți doar o persoană care este responsabilă de un anumit lucru 616 00:39:02,590 --> 00:39:06,650 și se execută într-o problemă, astfel încât să nu doriți să aveți un pic de suprapunere 617 00:39:06,650 --> 00:39:10,760 dar cel mai important, doriți să vă asigurați că toate posibile găurile sunt umplute. 618 00:39:10,760 --> 00:39:17,550 >> Ultimul lucru - și acest lucru ar trebui să fie evident, dar nu este de multe ori. 619 00:39:17,550 --> 00:39:19,550 Într-adevăr doriți să se distreze. 620 00:39:19,550 --> 00:39:23,360 Ideea acestui proiect final în CS50 și de multe ori punctul de dezvoltare web, în ​​general, 621 00:39:23,360 --> 00:39:26,360 nu este de a face doar un loc de muncă pentru că are nevoie de a face. 622 00:39:26,360 --> 00:39:29,140 Într-adevăr doriți să se distreze, și doriți să fi a face ceva 623 00:39:29,140 --> 00:39:31,180 care te motivează pentru a lucra pe ea. 624 00:39:31,180 --> 00:39:33,650 Dacă tot ceea ce faci este o durere să se așeze și să lucreze în, 625 00:39:33,650 --> 00:39:35,650 atunci nu sunteți alegerea proiectului potrivit. 626 00:39:35,650 --> 00:39:37,730 Pe care doriți să alegeți ceva care veți găsi interesant, 627 00:39:37,730 --> 00:39:41,150 tu chiar vrei sa vezi rezultatul, esti entuziasmat atunci când vei ajunge o idee nouă despre 628 00:39:41,150 --> 00:39:44,700 ceva ce ai putea face - deci nu e tot felul de proiecte de acolo, care sunt sigur 629 00:39:44,700 --> 00:39:47,290 puteți găsi - toată lumea are ceva care le-ar intriga într-adevăr 630 00:39:47,290 --> 00:39:49,290 în cazul în care faci un proiect web-based. 631 00:39:49,290 --> 00:39:52,210 Eu o spun din nou acum. 632 00:39:52,210 --> 00:39:54,520 Dacă proiectul dumneavoastră pare a fi o durere și tu nu vrei sa lucrezi pe el, 633 00:39:54,520 --> 00:39:57,260 alege un alt proiect. Alege ceva care intr-adevar te inspiră. 634 00:39:57,260 --> 00:40:00,260 >> Ben menționat acest concept de repetare un pic, și eu vreau să merg peste el un pic. 635 00:40:00,260 --> 00:40:08,250 Este foarte important de a lucra în spurts în cazul în care obține ceva funcțional. 636 00:40:08,250 --> 00:40:13,420 Acesta poate fi mare, dacă aveți acest plan pentru un site web care va face A, B, și C, 637 00:40:13,420 --> 00:40:16,000 și în cele din urmă se va ajunge acolo. 638 00:40:16,000 --> 00:40:18,600 Dar te-ai blocat în această fază în care sunteți de lucru pe ea și de lucru pe ea, 639 00:40:18,600 --> 00:40:23,330 dar nimic din ce in ce face. Nu aveți nimic de a vedea și un lucru tangibil, funcțional. 640 00:40:23,330 --> 00:40:27,940 Ceea ce într-adevăr vrei să faci la fel de mult ca se pare un fel de durere, uneori, pentru a 641 00:40:27,940 --> 00:40:32,300 lucra la ceva și apoi un fel de ai da de capat, astfel că este cel puțin la un stabil, care rulează 642 00:40:32,300 --> 00:40:34,910 versiune, chiar dacă aceasta nu are toate caracteristicile pe care doriți. 643 00:40:34,910 --> 00:40:37,690 Și poate că există unele caracteristici care într-adevăr doriți să le adăugați, dar tu chiar nu se poate 644 00:40:37,690 --> 00:40:41,830 pentru că doriți să obțineți acest site la un punct functional. 645 00:40:41,830 --> 00:40:44,400 Și așa doriți să aveți un fel de intregul proces de dezvoltare arata ca asta. 646 00:40:44,400 --> 00:40:47,810 Vrei să începem de undeva funcțional - sau, în esență, începe cu nimic - 647 00:40:47,810 --> 00:40:49,890 dar doriți să obțineți undeva foarte de bază și funcțional. 648 00:40:49,890 --> 00:40:54,940 Și apoi, din nou, face un fel de salt și a ajunge undeva funcțional din nou. 649 00:40:54,940 --> 00:40:59,190 Veți construi încet în sus, și s-ar putea merge un pic mai lent decât ar fi altfel, 650 00:40:59,190 --> 00:41:03,000 dar pe termen lung, dacă sunteți în mod constant blocat în această fază de mijloc în cazul în care 651 00:41:03,000 --> 00:41:06,380 nu au de fapt nimic de lucru, aceasta poate fi o frustrare foarte mare 652 00:41:06,380 --> 00:41:09,970 pentru a lucra la proiect pentru ca esti mereu atat de aproape de obtinerea-l de lucru, 653 00:41:09,970 --> 00:41:12,130 și este niciodată de fapt de lucru. 654 00:41:12,130 --> 00:41:14,810 Pe care doriți să lucreze în aceste spurts funcționale, 655 00:41:14,810 --> 00:41:17,950 și tu, de asemenea, doriți să faceți unele reflecție după fiecare. 656 00:41:17,950 --> 00:41:21,260 Cu alte cuvinte, odată ce sunteți la un punct în cazul în care site-ul este acum de lucru - 657 00:41:21,260 --> 00:41:24,790 ea nu are tot ce vrea, dar face unele lucruri - 658 00:41:24,790 --> 00:41:28,870 pe care doriți să cred, bine, este acest site realizarea obiectivului pe care mi-am propus să fac? 659 00:41:28,870 --> 00:41:33,410 Cu alte cuvinte, în cazul în care site-ul este de gând să faci X, este ceea ce am de lucru în direcția X? 660 00:41:33,410 --> 00:41:36,450 Sunt toate funcționalitățile pe care am vrut acolo? 661 00:41:36,450 --> 00:41:39,340 Și, în plus, este aceasta servește scopului general pe care vreau? 662 00:41:39,340 --> 00:41:43,200 Dacă ați ajuns la concluzia ca site-ul dvs. începe să vireze într-o direcție diferită 663 00:41:43,200 --> 00:41:47,330 sau, poate, lucrurile doar un fel de nu sunt de lucru afară, acesta poate fi timp pentru a schimba vitezele un pic. 664 00:41:47,330 --> 00:41:51,700 Cu alte cuvinte, aceasta este în valoare de vedere - este în valoare de a arunca idei dacă este necesar 665 00:41:51,700 --> 00:41:57,950 și luând în considerare am de lucru într-adevăr față de ceea ce vreau să fiu. 666 00:41:57,950 --> 00:42:00,760 >> Eu cred că e punctul urmatorul meu. Nu-ți fie frică să-și abandoneze idei. 667 00:42:00,760 --> 00:42:03,750 Doar pentru că ai petrecut o mulțime de ore de lucru pe o caracteristică 668 00:42:03,750 --> 00:42:07,890 și în cele din urmă luat-o de lucru, dar într-adevăr nu merge atât de bine - 669 00:42:07,890 --> 00:42:12,690 ca nu este util sau că utilizatorii sunt probleme folosind-o - ca un fel de lucru - 670 00:42:12,690 --> 00:42:15,300 nu vă fie teamă să-l arunc. 671 00:42:15,300 --> 00:42:17,650 Acesta e de rahat pe care le-am petrecut o mulțime de timp de lucru pe ea, 672 00:42:17,650 --> 00:42:21,870 dar în cele din urmă nu doriți un site care e un fel de a pune împreună de aceste piese care 673 00:42:21,870 --> 00:42:25,380 un fel de muncă, dar nu sunt atât de bine servite. 674 00:42:25,380 --> 00:42:27,990 De asemenea, nu-ți fie frică de a îmbrățișa idei noi. 675 00:42:27,990 --> 00:42:30,050 Dacă cineva vine și spune, hei, că site-ul arata foarte cool, dar 676 00:42:30,050 --> 00:42:32,290 nu ar fi chiar grozav dacă a făcut-o, de asemenea, acest lucru? 677 00:42:32,290 --> 00:42:36,220 Doar pentru că e ceva ce nu a intenționat și ceva ce nu e în ta 678 00:42:36,220 --> 00:42:37,900 specificatii, ceva ce nu s-au stabilit pentru a face, 679 00:42:37,900 --> 00:42:40,860 nu vă fie teamă să-l ia pe și apoi lucra cu ea. 680 00:42:40,860 --> 00:42:43,680 Pentru că de multe ori ideile pe care le execută cu tot parcursul dezvoltării 681 00:42:43,680 --> 00:42:47,630 sfârșesc prin a fi caracteristici foarte interesante ale site-ului. 682 00:42:47,630 --> 00:42:49,630 >> Am spus acest lucru înainte. Eu o spun din nou. 683 00:42:49,630 --> 00:42:51,630 Testeri sunt super, super-util. 684 00:42:51,630 --> 00:42:56,350 Să încercați să obțineți de oameni care nu au văzut site-ul înainte de a conecta și a vedea ce se întâmplă 685 00:42:56,350 --> 00:42:59,080 deoarece ei pot testa nu numai utilitatea site-ului și experiența utilizatorului, 686 00:42:59,080 --> 00:43:02,070 dar ele pot testa, de asemenea, funcționalitatea în moduri pe care nu poți. 687 00:43:02,070 --> 00:43:06,430 Dacă ați face unele caracteristici care face un anumit lucru 688 00:43:06,430 --> 00:43:11,620 și știi că va face același lucru în mod corect de fiecare dată, asta e minunat. 689 00:43:11,620 --> 00:43:16,610 Dar poate fi de multe ori greu pentru a ține cont de cazurile în colțul în care un utilizator ar putea 690 00:43:16,610 --> 00:43:19,500 tastați ceva ce nu au fost așteptam - tocmai pentru că ați definit 691 00:43:19,500 --> 00:43:21,500 caracteristicile tine. 692 00:43:21,500 --> 00:43:23,730 Deci, pentru a avea pe cineva veni pe care nu are nici o idee cum de a utiliza site-ul 693 00:43:23,730 --> 00:43:26,840 și la doar rupe în orice moduri în care se poate face este foarte util pentru că 694 00:43:26,840 --> 00:43:30,340 a obține o idee dintr-o perspectivă cu totul diferită de ceea ce pe site-ul dvs. este de lucru 695 00:43:30,340 --> 00:43:33,300 și ceea ce are nevoie de reparații. 696 00:43:33,300 --> 00:43:37,070 >> Trecut, am de gând să vorbesc despre unele bune practici generale, 697 00:43:37,070 --> 00:43:42,470 și le-ați văzut o mulțime de acestea în CS50, dar ele, de asemenea, într-adevăr, se aplică într-adevăr într-un cadru de proiect. 698 00:43:42,470 --> 00:43:47,600 Una dintre ele este comentarii. Comment Întotdeauna codul mai ales dacă sunteți de lucru pe o echipa mare. 699 00:43:47,600 --> 00:43:51,230 Ea poate fi atât de enervant de a avea doar un bloc uriaș de cod pe care cineva a scris 700 00:43:51,230 --> 00:43:54,230 și poate că funcționează, poate că nu, dar nu ai nici o idee despre ceea ce face, 701 00:43:54,230 --> 00:43:58,010 astfel încât să aveți nici o idee dacă este util sau nu sau dacă ar trebui să fie acolo sau nu, 702 00:43:58,010 --> 00:44:00,200 și dacă sunteți de lucru pe altceva e chiar posibil că sunteți de lucru pe 703 00:44:00,200 --> 00:44:06,590 acelasi lucru, asa ca fii foarte, foarte atent să fie atenți față de colegii dumneavoastră 704 00:44:06,590 --> 00:44:09,710 și codul de scriere care este bine documentat. 705 00:44:09,710 --> 00:44:13,580 Nu trebuie să meargă atât de departe încât să facă totul ca în cazul în care, dacă incrementa 706 00:44:13,580 --> 00:44:16,620 un contor au un comentariu care spune, eu sunt adăugarea de 1 la acest contor. 707 00:44:16,620 --> 00:44:20,450 Aceasta nu trebuie să fie că detaliat, dar, pentru orice funcție pe care o vreodată scris 708 00:44:20,450 --> 00:44:23,160 ar trebui să aveți unele documente din ceea ce această funcție face exact, 709 00:44:23,160 --> 00:44:25,140 ceea ce intrările sale sunt, și ceea ce ar trebui să se întoarcă. 710 00:44:25,140 --> 00:44:27,800 În acest fel puteți folosi alte componente oameni ale site-ului 711 00:44:27,800 --> 00:44:31,990 și se poate lucra la construirea ceva mare. 712 00:44:31,990 --> 00:44:34,100 >> Un alt lucru important este ce vrei să faci regulat curate-up-uri. 713 00:44:34,100 --> 00:44:40,490 Codul devine murdar. Nu se simt rău în cazul în care codul este doar total de citit și un dezastru uriaș. 714 00:44:40,490 --> 00:44:42,770 Asta se întâmplă în dezvoltare web mereu. 715 00:44:42,770 --> 00:44:46,530 Te adăugarea de noi caracteristici, eliminarea cele vechi. Chestii va fi acolo, care nu ar trebui să fie. 716 00:44:46,530 --> 00:44:49,330 Asta e bine, dar doriți să vă asigurați de a face cu asta regulat. 717 00:44:49,330 --> 00:44:53,430 Nu vrei să lăsați-l să construiască până la punctul în cazul în care pur și simplu nu se poate găsi nimic 718 00:44:53,430 --> 00:44:56,430 în codul dumneavoastră, și nu aveți nici o idee despre ceea ce nu face nimic. 719 00:44:56,430 --> 00:44:58,430 Acesta este cazul cu HTML. 720 00:44:58,430 --> 00:44:59,490 Uneori, veți termina cu obiecte care nu conțin nimic, 721 00:44:59,490 --> 00:45:01,320 și veți dori să scape de ele. 722 00:45:01,320 --> 00:45:04,610 În CSS, puteți fi referindu-se la elementele care nu mai sunt acolo, 723 00:45:04,610 --> 00:45:06,340 așa că vrei să scapi de cod. 724 00:45:06,340 --> 00:45:09,900 În JavaScript, este posibil să fi scos ceva de la HTML. 725 00:45:09,900 --> 00:45:13,150 Deci, doriți să vă asigurați că sunteți mereu curat, face lucruri destul de 726 00:45:13,150 --> 00:45:17,450 la fel de mult ca tine poate în mod regulat. 727 00:45:17,450 --> 00:45:21,060 >> Un alt lucru foarte util pe care nu cred că este prezentat foarte mult în CS50 728 00:45:21,060 --> 00:45:23,430 dar este în valoare de achiziție este în control al versiunii. 729 00:45:23,430 --> 00:45:27,180 Ideea de control versiune este atunci când sunteți de fapt ține evidența tuturor progreselor 730 00:45:27,180 --> 00:45:30,820 care le-ați făcut spre site-ul dvs. și în cazul în care în orice moment iti dai seama, oh, aceasta a fost de lucru 731 00:45:30,820 --> 00:45:35,220 un timp în urmă, dar nu este nici mai mult de lucru, poti sa te duci înapoi la versiunile anterioare 732 00:45:35,220 --> 00:45:37,720 și a vedea ce sa schimbat de atunci și acest tip de lucru. 733 00:45:37,720 --> 00:45:41,670 Principalul mod de a face acest lucru este cu Git, și Git este tot acest tip de sistem care 734 00:45:41,670 --> 00:45:46,390 Cred că Tommy MacWilliam a dat un seminar cu privire la anul trecut. 735 00:45:46,390 --> 00:45:51,520 Dacă te duci în seminariile CS50 pentru 2011, puteți vedea seminar lui pe asta. 736 00:45:51,520 --> 00:45:57,070 Ideea de Git este de fapt care la intervale regulate faci aceste angajamente 737 00:45:57,070 --> 00:46:01,430 care sunt moduri de a spune pe site-ul este într-o versiune destul de stabil acum atât de 738 00:46:01,430 --> 00:46:05,910 Sunt o ambalare în sus și trimite-l la distanță la un server, iar apoi poti sa te duci la acel server 739 00:46:05,910 --> 00:46:07,910 si uita-te la toate versiunile anterioare de codul dumneavoastră și a vedea cum se progresat 740 00:46:07,910 --> 00:46:12,210 și tot ce fel de lucruri bune. 741 00:46:12,210 --> 00:46:14,210 Deci, asta e de fapt o. 742 00:46:14,210 --> 00:46:17,870 În ceea ce privește dezvoltare web, suntem fericiți să stai în jur și să răspundă la orice 743 00:46:17,870 --> 00:46:20,570 întrebări în ceea ce privește prezentarea noastră. 744 00:46:20,570 --> 00:46:22,900 Asta e tot. Mulțumiri. >> [Ben] Multumesc. 745 00:46:22,900 --> 00:46:28,480 [Aplauze] 746 00:46:28,480 --> 00:46:30,950 >> [Billy] personal, nimeni nu are întrebări despre lucruri pe care le-am acoperit 747 00:46:30,950 --> 00:46:33,950 sau lucruri pe care nu ne-am acoperit pe care au fost în speranța că vom acoperi? 748 00:46:33,950 --> 00:46:35,950 Ne-ar fi bucuroși să răspundem la cele. Oricine? 749 00:46:35,950 --> 00:46:50,360 [Membru al audienței] Care sunt argumentele pro și contra de a folosi Ruby sau folosind Python? 750 00:46:50,360 --> 00:46:58,660 [Ben] Întrebarea a fost, care sunt argumentele pro și contra de a folosi Ruby sau Python 751 00:46:58,660 --> 00:46:59,900 în loc de ca PHP. 752 00:46:59,900 --> 00:47:11,340 Argumentele pro sunt ca Ruby și Python sunt limbi mult mai bune decât PHP. 753 00:47:11,340 --> 00:47:14,920 Cel puțin în opinia mea, și cred că într-o mulțime de opiniile altor oameni, de asemenea. 754 00:47:14,920 --> 00:47:20,990 Acestea au fost concepute mai mult pentru a face lucruri complexe, 755 00:47:20,990 --> 00:47:25,380 și mai puțin de grozav împreună pagini web foarte repede cu 756 00:47:25,380 --> 00:47:28,400 un pic de conținut dinamic. 757 00:47:28,400 --> 00:47:35,180 Contra sunt că există un pic de - acolo e mai mult de o curbă de învățare 758 00:47:35,180 --> 00:47:37,220 pentru a le configura. 759 00:47:37,220 --> 00:47:41,010 Că este, ca și în PHP, puteți avea doar un fișier HTML și voi scrie mai puțin decât, 760 00:47:41,010 --> 00:47:43,060 semn de întrebare, și apoi scrie un cod, iar apoi scrii semn de întrebare, 761 00:47:43,060 --> 00:47:45,700 -mai mare, și apoi ați terminat. 762 00:47:45,700 --> 00:47:50,300 În alte limbi, cum ar fi Ruby sau Python, 763 00:47:50,300 --> 00:47:56,810 va trebui să treacă printr-un pic mai mult de lucru pentru a obține funcționare inițială site-ului. 764 00:47:56,810 --> 00:48:02,730 Există, de asemenea - cel puțin este folosit pentru a fi cazul - că există mai multă documentație 765 00:48:02,730 --> 00:48:05,480 disponibil pentru PHP doar pentru că există mai multe persoane care folosesc aceasta. 766 00:48:05,480 --> 00:48:09,370 Cred că nu mai e la fel de mult de o problemă. 767 00:48:09,370 --> 00:48:12,520 Există cu siguranță o documentație foarte bun pentru chestii de genul Ruby on Rails 768 00:48:12,520 --> 00:48:16,080 sau Django pentru Python este echivalent. 769 00:48:16,080 --> 00:48:25,910 PHP este cel care toată lumea a folosit de ani de zile, și știi cum funcționează. 770 00:48:25,910 --> 00:48:28,460 Ruby și Python sunt un pic mai puțin mature. 771 00:48:28,460 --> 00:48:33,130 >> [Membru al audienței] Dacă ar fi să aleagă între una dintre ele pentru a învăța sau a ridica, 772 00:48:33,130 --> 00:48:36,130 ceea ce ai prefera? 773 00:48:36,130 --> 00:48:38,870 Sincer, cred că depinde de persoana. 774 00:48:38,870 --> 00:48:45,450 Îmi pare rău. Întrebarea a fost de ce ai alege pe cineva pentru a afla? 775 00:48:45,450 --> 00:48:50,230 Mi se pare Python cele mai frumoase personal. 776 00:48:50,230 --> 00:48:55,360 Există o mulțime de oameni care - am facut primul meu proiect dev web în Python și Django. 777 00:48:55,360 --> 00:49:00,300 Există o mulțime de oameni cărora le place Ruby on Rails, de asemenea. 778 00:49:00,300 --> 00:49:02,650 Probabil că mai multe persoane care cunosc Ruby on Rails. 779 00:49:02,650 --> 00:49:05,270 Sincer, mi-ar merge doar cu ceea ce oamenii din jurul stii 780 00:49:05,270 --> 00:49:09,680 astfel încât să aveți oameni de a pune întrebări. 781 00:49:19,640 --> 00:49:24,170 >> Întrebarea a fost - pe serverele partajate este un fel de greu pentru a lucra la Python? 782 00:49:24,170 --> 00:49:26,170 Asta depinde de dvs. de găzduire. 783 00:49:26,170 --> 00:49:29,400 Există un număr de gazde web care va posta lucruri Python. 784 00:49:29,400 --> 00:49:31,400 WebFaction face asta, nu? 785 00:49:31,400 --> 00:49:34,400 WebFaction este una care Billy și am folosit pentru unele proiecte. 786 00:49:34,400 --> 00:49:37,750 Sunt într-adevăr mare. Acestea susțin cele mai multe limbi. 787 00:49:37,750 --> 00:49:40,020 Dar este adevărat că PHP este mult mai larg acceptate. 788 00:49:40,020 --> 00:49:45,210 Deci, dacă te-ai blocat pe un web gazdă, care nu doar PHP, care este un motiv bun de a utiliza PHP. 789 00:49:45,210 --> 00:49:56,010 >> [Membru al audienței] Tocmai am intrat în procesul de învățare cum de a interoga anumite baze de date, 790 00:49:56,010 --> 00:50:00,680 și știu că SQL meu este peste tot, dar recent am fost expus la - 791 00:50:00,680 --> 00:50:04,470 și l-ați arătat. Veți vedea JSON și baze de date extensibile. 792 00:50:04,470 --> 00:50:14,580 SQL meu este încă peste tot. Cum vedeți că se întâmplă? 793 00:50:14,580 --> 00:50:21,330 Este acolo va fi o tendință de creștere pentru mai multe expandabile (fără sunet)? 794 00:50:21,330 --> 00:50:30,100 Întrebarea a fost - nu cred că va fi o tendință de baze de date non-SQL. 795 00:50:30,100 --> 00:50:33,850 De exemplu, cum ar fi MongoDB. Cred că este cu siguranță adevărat. 796 00:50:33,850 --> 00:50:38,730 Sfatul meu a fost în mare parte legate de MySQL-aici doar pentru că MySQL este 797 00:50:38,730 --> 00:50:40,950 standard în industrie. 798 00:50:40,950 --> 00:50:45,950 Personal, eu prefer mai mult baze de date care nu au schemos ca MongoDB 799 00:50:45,950 --> 00:50:49,520 în cazul în care nu au problema, oh, am nevoie pentru a adăuga o altă coloană. 800 00:50:49,520 --> 00:50:51,600 Vai de mine, ca și cum tot ce trebuie să fac? 801 00:50:51,600 --> 00:50:55,840 Este foarte greu să faci asta pe MySQL, dar atunci când ai ceva de genul Mongo 802 00:50:55,840 --> 00:50:57,840 e mult mai frumos. 803 00:50:57,840 --> 00:51:03,780 Un alt lucru frumos despre Mongo este că înregistrările sunt de fapt obiecte JavaScript. 804 00:51:03,780 --> 00:51:10,110 Nu e nici un fel de pas de conversie în cazul în care aveți nevoie pentru a lua aceste rânduri de baze de date 805 00:51:10,110 --> 00:51:13,140 și le transformă într-un obiect de activarea JavaScript-și apoi le trimite pe fir. 806 00:51:13,140 --> 00:51:20,290 Cred chestii de genul asta va fi foarte, foarte util pentru dezvoltarea web rapidă în viitor. 807 00:51:20,290 --> 00:51:23,060 >> [Billy] Ceva ce mi-ar adăuga, care este doar un punct generală este că 808 00:51:23,060 --> 00:51:26,580 Nu mă simt ca și cum ar fi învățat toate limbile pe care le-am discutat 809 00:51:26,580 --> 00:51:28,580 de la seminarul nostru. 810 00:51:28,580 --> 00:51:30,560 Evident, ideea este de a vă oferi o idee de ceea ce este acolo, 811 00:51:30,560 --> 00:51:33,450 și dacă sunteți intrigat de oricare dintre lucrurile pe care le-am menționat le puteți Google 812 00:51:33,450 --> 00:51:35,830 și citiți pe ele. 813 00:51:35,830 --> 00:51:38,750 Și, după cum am menționat, există câteva seminarii care se ocupă cu exact aceste lucruri. 814 00:51:38,750 --> 00:51:41,660 Există chiar mai multe seminarii pe care nu le-am menționat că, probabil, ajunge în 815 00:51:41,660 --> 00:51:43,660 chestia asta la fel de bine. 816 00:51:43,660 --> 00:51:46,610 Ideea este că, dacă doriți să lucrați la ceva, aici sunt instrumentele la dispoziția dumneavoastră. 817 00:51:46,610 --> 00:51:51,630 Nu te simți copleșit, dacă nu sunteți sigur ce aceste instrumente face exact, 818 00:51:51,630 --> 00:51:54,830 dar știu că sunt acolo și pe care le puteți face utilizarea pe scară largă de ele 819 00:51:54,830 --> 00:51:56,830 de către Google. 820 00:51:56,830 --> 00:51:59,960 >> [Membru al audienței] Ce fel de lucruri ce trebuie să faceți pentru a vă asigura site-ul dvs. 821 00:51:59,960 --> 00:52:02,530 arata bine pe dispozitive mobile? 822 00:52:02,530 --> 00:52:05,590 [Billy] Dispozitivele mobile sunt un pic cam greu. 823 00:52:05,590 --> 00:52:07,590 Există două moduri în care puteți aborda. 824 00:52:07,590 --> 00:52:11,500 Primul mod este că aveți de fapt, un site web mobil. 825 00:52:11,500 --> 00:52:14,660 Cu alte cuvinte, de a efectua un fel de detectare la început 826 00:52:14,660 --> 00:52:18,830 atunci când browser-ul este de a face cererea de pe site-ul dvs., care spune, fie 827 00:52:18,830 --> 00:52:25,240 întoarcă acest punct de vedere - care va fi punctul de vedere pentru desktop sau laptop browsere - 828 00:52:25,240 --> 00:52:27,710 și acest alt vedere pentru dispozitive mobile. 829 00:52:27,710 --> 00:52:33,090 Acesta este un loc în care puncte de vedere sunt foarte frumos ca sa poti destul de mult de swap 830 00:52:33,090 --> 00:52:37,580 doi afară și au o interfață, care funcționează într-adevăr frumos pe dispozitive mobile 831 00:52:37,580 --> 00:52:40,770 și au o unul complet diferit, care funcționează bine pe dispozitive browser. 832 00:52:40,770 --> 00:52:43,770 Problema cu care este este nevoie de o perioadă lungă de timp, deoarece aceasta înseamnă de codificare 833 00:52:43,770 --> 00:52:47,060 o interfață cu totul diferit. 834 00:52:47,060 --> 00:52:49,720 Un alt mod pe care o puteți face este - 835 00:52:49,720 --> 00:52:55,250 o mulțime de telefoane moderne va afișa site-uri web și să încerce să le facă ca un browser ar fi, 836 00:52:55,250 --> 00:52:57,680 și ce fac ei cel mai bine lor. 837 00:52:57,680 --> 00:53:04,340 Puteți fel de încercați să stați lumina cu privire la cantitatea de jQuery JavaScript pe care îl utilizați 838 00:53:04,340 --> 00:53:07,360 care tinde să fie în cazul în care lucrurile pot merge prost un pic. 839 00:53:07,360 --> 00:53:13,430 Aceasta este un fel de modul în care ar trebui să utilizați dacă nu ai prea mult timp. 840 00:53:13,430 --> 00:53:18,540 Dacă aveți timp pentru a lucra la o interfață mobil, care este, evident, cea mai bună opțiune. 841 00:53:18,540 --> 00:53:23,320 >> Cred că, în general, pentru proiecte CS50, ai de gând să vrea să aleagă una sau alta. 842 00:53:23,320 --> 00:53:27,990 Cu alte cuvinte, vrei sa faci o aplicatie de mobil sau vrei sa faci un site web desktop. 843 00:53:27,990 --> 00:53:32,200 Și că un fel de determină în cazul în care te duci cu asta. 844 00:53:32,200 --> 00:53:35,360 Dar dacă doriți să-l extindă mai târziu, probabil cel mai bun pariu este de 845 00:53:35,360 --> 00:53:37,360 pentru a face o altă interfață pentru celălalt. 846 00:53:51,650 --> 00:53:56,340 Am un pic de experienta in dezvoltarea de site-uri WordPress bazate pe. 847 00:53:56,340 --> 00:53:58,670 Am găzduit un site personal pe WordPress pentru o vreme. 848 00:53:58,670 --> 00:54:02,310 Aceste tipuri de cadre pot fi frumoase lucruri la fel de foarte de bază. 849 00:54:02,310 --> 00:54:07,050 Deseori veți rula doar într-o mulțime de probleme de personalizare, deși. 850 00:54:07,050 --> 00:54:10,940 Veți dori să aibă ceva uite un anumit fel sau să fie un anumit fel 851 00:54:10,940 --> 00:54:14,510 și tu chiar nu se poate pentru că este hard-wired în sistemul care 852 00:54:14,510 --> 00:54:17,480 acest lucru este modul în care trebuie să facem lucruri care pot fi un pic de o problemă. 853 00:54:17,480 --> 00:54:22,020 De atunci m-am cam fost mai înclinați să lucreze cu site-uri de la sol în sus. 854 00:54:22,020 --> 00:54:26,840 Pentru lucruri cum ar fi baze de date blog și chestii de genul ăsta nu e chiar asa de greu pentru a construi un cadru. 855 00:54:26,840 --> 00:54:29,970 Dacă sunteți într-adevăr întins de timp, puteți utiliza, desigur, ceva de genul WordPress 856 00:54:29,970 --> 00:54:33,120 sau ca un fel de lucru pentru un blog. 857 00:54:33,120 --> 00:54:38,790 Felul de lucruri pe care bloguri magazin și nu sunt foarte greu de ajuns că 858 00:54:38,790 --> 00:54:41,500 dacă rulați în oricare dintre aceste tipuri de lucruri, esti, probabil, cel mai bine doar la 859 00:54:41,500 --> 00:54:43,500 face o versiune in-house. 860 00:54:43,500 --> 00:54:48,350 >> Cred că e vorba de asta, asa ca va multumesc din nou pentru venit. 861 00:54:48,350 --> 00:54:51,960 Ne-am bucurat cu adevărat să vorbesc cu voi si speram ca ati invatat unele lucruri. 862 00:54:51,960 --> 00:54:55,350 [Ben] Suntem fericiți să vorbim - trebuie să mergem, dar suntem fericiți să vorbim mai mult în afara 863 00:54:55,350 --> 00:55:01,650 dacă aveți o altă întrebare. Multumesc din nou. [Aplauze] 864 00:55:03,750 --> 00:55:06,000 [CS50.TV]