1 00:00:00,000 --> 00:00:02,500 [Powered by Google Translate] [Семинар] [Веб развој: Од идеје до реализације] 2 00:00:02,500 --> 00:00:04,200 [Бен Кун] [Билли Јанитсцх] [Универзитет Харвард] 3 00:00:04,200 --> 00:00:07,250 [Ово је ЦС50] [ЦС50.ТВ] 4 00:00:07,250 --> 00:00:10,840 [Билли] Здраво, ја сам Билли и ово је Бен. >> [Бен] Здраво. 5 00:00:10,840 --> 00:00:12,840 Ми ћемо да причамо о веб развоју данас. 6 00:00:12,840 --> 00:00:14,840 [Вебдев] [Били Јанитсцх и Бен Кухн] 7 00:00:14,840 --> 00:00:16,840 Мало о нама први. 8 00:00:16,840 --> 00:00:19,590 Бен је врста бацк-енд момка. Он чини ствари раде. 9 00:00:19,590 --> 00:00:21,870 И онда ја одем у и да их прилично. 10 00:00:21,870 --> 00:00:26,610 Ја сам у великој мери укључени у више фронт-енд дизајн распоред такве ствари, 11 00:00:26,610 --> 00:00:31,260 и Бен, с друге стране, зна шта ради па ради на бацк-енд ствари. 12 00:00:31,260 --> 00:00:34,050 Заједно смо направили пар ствари. 13 00:00:34,050 --> 00:00:38,710 На пример, прошле године смо радили на Гимблиум који је на мрежи развој Гаме Студио. 14 00:00:38,710 --> 00:00:40,400 То је био наш коначни пројекат за класу, 15 00:00:40,400 --> 00:00:42,780 и од тада смо направили харвард Цласс 16 00:00:42,780 --> 00:00:47,860 који је на мрежи оквир за претраживање и тржним курсевима на Харварду. 17 00:00:47,860 --> 00:00:53,180 >> Идемо да се почне са овом идејом за наш веб сајт. 18 00:00:53,180 --> 00:00:57,480 Идемо да Фацебоок, али за мачке. 19 00:00:57,480 --> 00:00:59,520 Пре него што заправо чине овај сајт, 20 00:00:59,520 --> 00:01:02,520 немој да овај сајт јер то није добро, али ми ћемо га користити као оквир 21 00:01:02,520 --> 00:01:05,349 и пролазе кроз процес како ћемо ову идеју 22 00:01:05,349 --> 00:01:07,450 и претворити га у реалном сајту можемо користити. 23 00:01:07,450 --> 00:01:11,940 Ми ћемо почети разбијањем сајт доле. 24 00:01:11,940 --> 00:01:13,190 Као што сте радили у ЦС50, 25 00:01:13,190 --> 00:01:17,360 желите да размислите о томе шта су стварне компоненте које иду у овом сајту. 26 00:01:17,360 --> 00:01:21,290 У суштини то окретање од идеје која је некако апстрактан појам 27 00:01:21,290 --> 00:01:23,590 у праву, опипљивог ствар коју сте могли направити. 28 00:01:23,590 --> 00:01:25,910 Почињемо постављањем питања. 29 00:01:25,910 --> 00:01:28,070 Шта је ово сајт? Зашто су ми то што? 30 00:01:28,070 --> 00:01:30,670 Шта је то ће да се користи за? Такве ствари. 31 00:01:30,670 --> 00:01:33,660 У случају Фацебоок Цат, 32 00:01:33,660 --> 00:01:37,730 ми у суштини желимо сајт који омогућава Мачке друштвену мрежу међусобно. 33 00:01:37,730 --> 00:01:41,260 Идеја је да се они писати једни других зидова, 34 00:01:41,260 --> 00:01:43,510 они могу да дају коментаре, такве ствари. 35 00:01:43,510 --> 00:01:46,720 И ту долазимо у функционалне компоненте. 36 00:01:46,720 --> 00:01:51,270 Ми сада имамо ову врсту оквира - имамо корисничке профиле, 37 00:01:51,270 --> 00:01:53,990 имамо коментаре, а ми смо могли да шаљете. 38 00:01:53,990 --> 00:01:57,390 Можда једног дана ћемо се улива воли и такве ствари. 39 00:01:57,390 --> 00:02:00,410 И ми желимо да се некако приоритет ове функције гоинг ин 40 00:02:00,410 --> 00:02:03,340 Желимо да кажемо као, у реду, то је заиста важно да свако има профил 41 00:02:03,340 --> 00:02:06,440 и да свако може писати једни других зидова. 42 00:02:06,440 --> 00:02:08,509 Секундарна на то, коментари би било лепо. 43 00:02:08,509 --> 00:02:10,180 Можда касније ћемо се улива воли. 44 00:02:10,180 --> 00:02:13,700 Дакле, желите да имате идеју о томе шта је фундаментално за свој пројекат 45 00:02:13,700 --> 00:02:17,260 и шта је врста општијег функцију да би се касније применити. 46 00:02:17,260 --> 00:02:20,870 Желите да некако имају одређену листу у виду, 47 00:02:20,870 --> 00:02:24,090 али пројекат да почнете са неће бити пројекат који сте завршили са. 48 00:02:24,090 --> 00:02:27,100 Другим речима, ствари ће се променити док сте у развоју сајта, 49 00:02:27,100 --> 00:02:30,090 и желите да оставите простора за то. 50 00:02:30,090 --> 00:02:34,470 Ја ћу га предати Бен ко ће да мало говоримо о структури. 51 00:02:34,470 --> 00:02:39,610 >> [Бен] Ја ћу да се говори о више техничке стране веб развој. 52 00:02:39,610 --> 00:02:42,370 Хајдемо у неким основама први. 53 00:02:42,370 --> 00:02:45,730 Када радите веб апликацију, 54 00:02:45,730 --> 00:02:50,470 главна подела да ћеш имати је 55 00:02:50,470 --> 00:02:52,700 ћеш имати неке ствари дешава у клијентској страни - 56 00:02:52,700 --> 00:02:56,700 то јест, код које сте прегледач преузима са сајта 57 00:02:56,700 --> 00:03:01,910 и ЈаваСцрипт, ХТМЛ, ЦСС ствари. 58 00:03:01,910 --> 00:03:04,490 То је све на страни клијента. 59 00:03:04,490 --> 00:03:08,680 Ти ћеш имати други код који се извршава на серверској страни 60 00:03:08,680 --> 00:03:10,770 који прати све податке које људи шаљу у теби, 61 00:03:10,770 --> 00:03:15,060 одлучује ко шта да дају, такве ствари. 62 00:03:15,060 --> 00:03:20,380 Ово је само неки терминологија, тако да сте сви упознати са оним што говоримо. 63 00:03:20,380 --> 00:03:28,600 Иза те поделе је добро да мислим о својој веб апликације у смислу 64 00:03:28,600 --> 00:03:32,500 неколико различитих компоненти. 65 00:03:32,500 --> 00:03:35,270 Када радите веб развој 66 00:03:35,270 --> 00:03:41,710 једна од ствари које увек треба да се труде да урадите је да се смањи комплексност. 67 00:03:41,710 --> 00:03:45,710 Сложенији је ваш број је више шанса постоји да бубе, 68 00:03:45,710 --> 00:03:47,710 теже је да се промени касније. 69 00:03:47,710 --> 00:03:50,140 Дакле, ако можете да разбити апликацију у неким различите функционалне области 70 00:03:50,140 --> 00:03:57,640 да ће - и ви можете смањити врсту износа унакрсно области комуникација - 71 00:03:57,640 --> 00:04:03,530 који ће вам помоћи пуно у дугом року у смислу смањења грешке. 72 00:04:03,530 --> 00:04:07,950 >> Да будем конкретан, обично људи поделити веб апликацију у - 73 00:04:07,950 --> 00:04:13,190 то су врста зујати речи сада, али они су још увек корисна. 74 00:04:13,190 --> 00:04:17,940 Можда сте чули људи говоре о моделима, погледа, и контролора. 75 00:04:17,940 --> 00:04:23,210 Модели су стварни подаци да је ваша апликација ће да се бави. 76 00:04:23,210 --> 00:04:28,260 На пример, у вашем Цат Фацебоок, ваши модели ће бити - 77 00:04:28,260 --> 00:04:35,340 да би имао модел за поруке, као што су, као и модел за корисничких профила, такве ствари. 78 00:04:35,340 --> 00:04:41,090 Ваши ставови су како представити те податке вашим корисницима. 79 00:04:41,090 --> 00:04:46,660 Можда имате 1 приказ за гледајући један пост и све коментаре 80 00:04:46,660 --> 00:04:51,720 и другачији поглед на ваш зид који има списак свих постова 81 00:04:51,720 --> 00:04:57,170 који су усмерени на вас, и другачији поглед на ваше вести феед - такве ствари. 82 00:04:57,170 --> 00:05:00,610 На крају, имате контролоре који су у основи када људи вам послати поруке 83 00:05:00,610 --> 00:05:03,310 и ви направити исправке за ваш бацк-енд системом, 84 00:05:03,310 --> 00:05:06,400 Ви увећава гомилу шалтерима, и шта год. 85 00:05:06,400 --> 00:05:07,860 То су твоји контролори. 86 00:05:07,860 --> 00:05:11,030 >> Идем да се углавном говори о моделима. 87 00:05:11,030 --> 00:05:14,030 Погледи су технички није тешко и питање је више са њима пројектовање 88 00:05:14,030 --> 00:05:22,040 Контролори ће бити специфично за све што сте пројектовање. 89 00:05:22,040 --> 00:05:25,220 Али постоје неке прилично опште технике које можете користити 90 00:05:25,220 --> 00:05:30,220 да ваши модели лепше и лакше да раде са да мислим да су веома корисне. 91 00:05:30,220 --> 00:05:35,860 Ово је углавном ће бити о томе како да се носе са својим Веб Аппс података на леп начин. 92 00:05:35,860 --> 00:05:40,420 Главни проблеми са моделима 93 00:05:40,420 --> 00:05:44,540 су да живе на клијента и сервера и морате да схватите 94 00:05:44,540 --> 00:05:51,170 ) како да их добију - све релевантне оне - од сервера до клијента, 95 00:05:51,170 --> 00:05:53,440 и б) како да их задржи у синхронизацију. 96 00:05:53,440 --> 00:05:58,700 Ваши корисници ће желети да направи неке исправке. 97 00:05:58,700 --> 00:06:00,470 Они ће желети да направи нове постове. 98 00:06:00,470 --> 00:06:04,800 Они ће желети да воле ствари и ствари, ако имате воли. 99 00:06:04,800 --> 00:06:11,490 То су главни технички изазови баве моделима. 100 00:06:11,490 --> 00:06:15,680 Прва ствар коју ћете желети да се запитате је 101 00:06:15,680 --> 00:06:18,420 која врста података се у овом моделу и какве упите ћемо да желите да урадите - 102 00:06:18,420 --> 00:06:24,290 то јест, како ћемо да погледате моделе? 103 00:06:24,290 --> 00:06:26,940 За вашег Цат Фацебоок пример, 104 00:06:26,940 --> 00:06:31,520 Ваша порука ће имати аутор у вези са њим, 105 00:06:31,520 --> 00:06:35,660 неки зид текст поруке, а прималац зидне пост. 106 00:06:35,660 --> 00:06:38,470 А онда ћете можда желети да упита да у гомилу различитих начина. 107 00:06:38,470 --> 00:06:42,220 Ти би хтео да гледам по ко је написао коју пост, 108 00:06:42,220 --> 00:06:46,620 од који су добили који пост, можда од датума када су постављене. 109 00:06:46,620 --> 00:06:50,340 Али ако идете да то урадите по датуму, онда морате да додате још једно поље на ваш пост 110 00:06:50,340 --> 00:06:52,490 од када је заправо постављен. 111 00:06:52,490 --> 00:07:00,220 Ови фактори 2 - шта податке које желите да користите и како желите да га видите - 112 00:07:00,220 --> 00:07:04,200 требало би да размислите о њима прво, јер зависе једни од других, 113 00:07:04,200 --> 00:07:08,030 и то ће бити теже да их додате касније. 114 00:07:08,030 --> 00:07:12,750 >> Постоје неки други разлози. 115 00:07:12,750 --> 00:07:17,540 Када размишљате о томе како да се баве моделима на серверу 116 00:07:17,540 --> 00:07:20,540 шта желите да погледате је - 117 00:07:20,540 --> 00:07:27,440 Ви желите да се у основи серверу што једноставнија. 118 00:07:29,440 --> 00:07:35,500 Доинг ствари на страни клијента је обично много брже ако то можете да урадите само на клијенту 119 00:07:35,500 --> 00:07:38,230 без радите било коју врсту захтева мреже. 120 00:07:38,230 --> 00:07:47,860 Идеја је да се уради што више упита као што можете на клијенту. 121 00:07:47,860 --> 00:07:51,560 Једини проблем са тим 122 00:07:51,560 --> 00:07:54,160 је да ако захтевате све своје податке на почетку 123 00:07:54,160 --> 00:07:57,160 затим да ће требати доста времена да се учита. 124 00:07:57,160 --> 00:08:02,290 Дакле, идеја је да се штрајк срећан медиј између има довољно података о клијенту 125 00:08:02,290 --> 00:08:07,640 да можете да урадите већину свог посла нема, али не само привлачан све одједном 126 00:08:07,640 --> 00:08:09,710 тако да се заиста споро време учитавања на почетку. 127 00:08:09,710 --> 00:08:12,610 На пример, за вашу мачку података 128 00:08:12,610 --> 00:08:20,340 ти би вероватно желети да донесе гомилу последњих зидних порука. 129 00:08:20,340 --> 00:08:23,790 Не желите да донесе свима њима јер би то могло да се вратимо пар година. 130 00:08:23,790 --> 00:08:25,470 Али ви не желите да им донесе један по један 131 00:08:25,470 --> 00:08:28,740 јер би увести много мрежног изнад главе. 132 00:08:28,740 --> 00:08:33,620 >> То је често прилично тешко - једном имате базу података ради - 133 00:08:33,620 --> 00:08:37,210 често је прилично тешко да се промени оно податке имате у њему - 134 00:08:37,210 --> 00:08:40,510 то јест, додати нову колону базе података или нешто - 135 00:08:40,510 --> 00:08:43,510 па једна добра стратегија је заправо само да доста података у текстуалној грудвица - 136 00:08:43,510 --> 00:08:53,880 ЈСОН блоб - ЈСОН је ЈаваСцрипт Објецт нотација - 137 00:08:53,880 --> 00:08:58,330 Разлог је то корисно је јер тада можете да додате нове особине 138 00:08:58,330 --> 00:09:01,920 да све ове ЈСОН мрље без промене базу података. 139 00:09:01,920 --> 00:09:06,860 Једина лоша страна тога је да ако имате гомилу поља 140 00:09:06,860 --> 00:09:09,890 који сте додали касније - као сакривени у том ЈСОН грудвица - 141 00:09:09,890 --> 00:09:12,850 онда је теже да их упита у базу података. 142 00:09:12,850 --> 00:09:17,690 На пример, ако касније - ако сте имали свој пост модел који смо раније разговарали 143 00:09:17,690 --> 00:09:25,380 са само аутору, примаоцу и текст - 144 00:09:25,380 --> 00:09:29,000 можете и да имате ЈСОН Блоб и онда ако касније желели да додате поље датума 145 00:09:29,000 --> 00:09:31,000 Ви не би морали да промените своју базу података. 146 00:09:31,000 --> 00:09:36,140 Можете само додати датуме на све текстуална поља. 147 00:09:36,140 --> 00:09:39,640 И онда би могли да погледате оне на страни клијента, 148 00:09:39,640 --> 00:09:42,430 али ви не би били у стању да их упита на страни сервера 149 00:09:42,430 --> 00:09:44,430 јер је скривен у том тексту. 150 00:09:44,430 --> 00:09:49,920 >> Други проблем који желите да размислите о 151 00:09:49,920 --> 00:09:52,400 је како ваш клијент и ваш сервер ће да комуницирају. 152 00:09:52,400 --> 00:09:56,040 Ви обично желе да ово задржати што је могуће једноставнија. 153 00:09:56,040 --> 00:10:02,230 Потребно је само да имате као Гет-ме-овог захтева података, 154 00:10:02,230 --> 00:10:09,140 Цреате-а-нови-објекат ствар, и упдате рекуест-стара-објекат. 155 00:10:09,140 --> 00:10:12,930 И то би све било различитих УРЛ адресе на серверу да сте - 156 00:10:12,930 --> 00:10:20,030 да би претраживач - можете да користите АЈАКС захтеве за све ово 157 00:10:20,030 --> 00:10:24,000 и или прима или пост подаци. 158 00:10:24,000 --> 00:10:26,600 Опет, за наше Цат Фацебоок пример, 159 00:10:26,600 --> 00:10:32,350 можете да имате тај УРЛ добити индивидуални пост, 160 00:10:32,350 --> 00:10:39,750 и ти би имати УРЛ за креирање новог зида пост 161 00:10:39,750 --> 00:10:45,670 и можда УРЛ за уплоад свој профил слику, такве ствари. 162 00:10:45,670 --> 00:10:51,730 Али опет, то је да се претходно донесе већина ваших података, тако да не морате да 163 00:10:51,730 --> 00:10:53,360 прављење мрежних захтева. 164 00:10:53,360 --> 00:10:59,030 Из тог разлога, можда нећете желети да се тај индивидуални ГЕТ захтев за један пост, 165 00:10:59,030 --> 00:11:03,210 и уместо тога само желели 1 Гет захтев за цео зид. 166 00:11:03,210 --> 00:11:06,110 А онда ако покушавате да успостави равнотежу, јер - 167 00:11:06,110 --> 00:11:10,970 ово је такође ће зависити од ваше апликације. 168 00:11:10,970 --> 00:11:13,430 Јер ако сте очекивали да људи имају само 10 или 20 зидне поруке 169 00:11:13,430 --> 00:11:15,430 који ће бити у реду. 170 00:11:15,430 --> 00:11:17,390 Али, ако сте очекивали да ће имати хиљаде онда тај захтев ће дуго трајати, 171 00:11:17,390 --> 00:11:23,580 и тако ћете можда желети да додате добију-све-поруке-од параметра. 172 00:11:23,580 --> 00:11:26,580 >> За све то вероватно ћеш желети да синхронизује податке у ЈСОН - 173 00:11:26,580 --> 00:11:29,260 ЈаваСцрипт Објецт нотација. 174 00:11:29,260 --> 00:11:34,600 Прилично сваки језик се бави ЈСОН веома добро. 175 00:11:34,600 --> 00:11:40,880 ЈКуери има ову лепу гетЈСОН функцију који ће учинити све напорног рада за вас. 176 00:11:40,880 --> 00:11:47,390 И на ПХП ту је лепо функционише ЈСОН комуникације. 177 00:11:47,390 --> 00:11:52,660 Дакле, то је вероватно најбољи формат за слање своје моделе и назад. 178 00:11:52,660 --> 00:11:56,570 >> Као пример онога што смо до сада говорили, 179 00:11:56,570 --> 00:12:00,520 ево пример тока за ваш Цат Фацебоок апликације. 180 00:12:00,520 --> 00:12:07,760 Она почиње са свалане тражиоца база УРЛ адресу веб сајта. 181 00:12:07,760 --> 00:12:15,470 Сервер вероватно ће послати преко статички ХТМЛ и ЈаваСцрипт и ЦСС нешто. 182 00:12:15,470 --> 00:12:19,170 То је обично најбоље да не раде никакав приказ на серверу. 183 00:12:19,170 --> 00:12:23,370 Ви вероватно не желе да - 184 00:12:23,370 --> 00:12:28,360 оно сервер не ради тамо иде доле листу зидних порука 185 00:12:28,360 --> 00:12:31,120 и генерисање неке ХТМЛ за сваког и слање да преко. 186 00:12:31,120 --> 00:12:34,960 То је обично најбоље да то урадите на страни клијента, јер у супротном 187 00:12:34,960 --> 00:12:38,580 сваки пут када желите да поново скрене нешто, морате да направите захтев сервера. 188 00:12:38,580 --> 00:12:42,450 И то веома брзо вам даје много изнад главе. 189 00:12:42,450 --> 00:12:47,430 То је обично најбоље само да брод шаље доле статички ХТМЛ 190 00:12:47,430 --> 00:12:50,660 а затим ЈаваСцрипт и ЦСС који ће учинити рендеровање на страни клијента. 191 00:12:50,660 --> 00:12:56,750 Чим та ствар долази у, 192 00:12:56,750 --> 00:13:03,500 онда можете имати - у ЈаваСцрипт - можете да урадите захтеве за подацима зида 193 00:13:03,500 --> 00:13:08,740 и слично, а након тога је сервер у основи само ради упита базе података 194 00:13:08,740 --> 00:13:10,740 и проверу дозволе. 195 00:13:10,740 --> 00:13:16,690 Једина важна ствар је да се не може послати преко неке друге корисника зидне поруке 196 00:13:16,690 --> 00:13:19,220 да ти није дозвољено да виде. 197 00:13:19,220 --> 00:13:28,050 То је у основи може бити веома танак слој приступ у базу података, 198 00:13:28,050 --> 00:13:32,820 а онда све показује податке - све ставове и ствари - 199 00:13:32,820 --> 00:13:37,280 они се може десити у вашем претраживачу, а онда када желите да направите пост или нешто 200 00:13:37,280 --> 00:13:40,000 само послати још један захтев. 201 00:13:40,000 --> 00:13:45,350 >> Ту је неки фенси ствари можете да урадите на врху ове. 202 00:13:45,350 --> 00:13:49,550 У погледу више специфичне техничке информације, 203 00:13:49,550 --> 00:13:53,360 развија у обичном ЈаваСцрипт може бити мало болно, 204 00:13:53,360 --> 00:13:56,220 па постоје неке библиотеке и алате који ће вам помоћи много са тим. 205 00:13:56,220 --> 00:14:03,690 Мислим да сте сви вероватно чули за јКуери који чини ради ХТМЛ рендеровање 206 00:14:03,690 --> 00:14:08,890 и манипулација много лакше - имају много фенси функција за бледи и ван, 207 00:14:08,890 --> 00:14:12,020 и ради зиппи анимације. 208 00:14:12,020 --> 00:14:13,720 Ту је ова библиотека зове Ундерсцоре.јс. 209 00:14:13,720 --> 00:14:20,760 Има доста корисних функција, комуналних ствари које бисте очекивали скрипта да би сте имали 210 00:14:20,760 --> 00:14:24,740 да то заиста не - ствари као мувају низ, 211 00:14:24,740 --> 00:14:28,900 уклањање дупликата из листе, или равнање листу листама. 212 00:14:28,900 --> 00:14:30,900 Ово је само мали број узорак. 213 00:14:30,900 --> 00:14:36,520 Доња има гомилу ових лепих функција које желите, можете да имате све време. 214 00:14:36,520 --> 00:14:38,840 >> А ту је и још 1 библиотека које бих желео да проведем мало времена на 215 00:14:38,840 --> 00:14:44,800 зове Бацкбоне.јс јер кичма заиста помаже да се баве моделима на страни клијента 216 00:14:44,800 --> 00:14:47,210 и доста конфузије која може да проузрокује. 217 00:14:47,210 --> 00:14:53,550 Кичма вам даје овај концепт модела и збирки 218 00:14:53,550 --> 00:14:58,300 у којој су у основи ЈаваСцрипт баш као ЈаваСцрипт објеката 219 00:14:58,300 --> 00:15:04,900 у ЈаваСцрипт низовима, али они имају догађаје када промените своју имовину. 220 00:15:04,900 --> 00:15:09,090 Баш као у ЈаваСцрипт, можете имати догађај када дугме добија кликнуо или нешто 221 00:15:09,090 --> 00:15:14,800 ови модели и Бацкбоне Бацкбоне колекције ће емитовати ствари као 222 00:15:14,800 --> 00:15:17,510 да када промени. 223 00:15:17,510 --> 00:15:22,270 То значи да можете да напишете нешто попут овог исечак кода овде - 224 00:15:22,270 --> 00:15:27,530 ово каже, сваки пут када додате нешто на поруке низа сте прекраја цео зид. 225 00:15:27,530 --> 00:15:34,270 А то ће рећи кад год број А Пост-а од воли мења, 226 00:15:34,270 --> 00:15:38,970 ви обавестити корисника да је неко волео свој пост. 227 00:15:38,970 --> 00:15:45,210 Или кад год било власништво пост мења ти прекраја пост. 228 00:15:45,210 --> 00:15:51,050 Такве ствари ће вам уштедети тона сложености, јер у супротном 229 00:15:51,050 --> 00:15:55,440 ако немате неких оквира као ово онда сваки пут у вашем коду да промените 230 00:15:55,440 --> 00:16:04,280 нешто о посту, морао би да се сетим да позовем све Рендер функције 231 00:16:04,280 --> 00:16:07,680 и слично, а ако желите да додате нешто ново што се догодило 232 00:16:07,680 --> 00:16:10,680 сваки пут када модификован пост да ћеш морати да прође кроз свако место у вашем 233 00:16:10,680 --> 00:16:14,610 код који сте модификован пост и додајте ту нову ствар. 234 00:16:14,610 --> 00:16:21,450 Оквир овако ће уклонити много тога између-слоја комуникације 235 00:16:21,450 --> 00:16:28,280 који чини ваш број сложен и тежак за одржавање. 236 00:16:28,280 --> 00:16:31,170 >> Има мало о погледима такође. 237 00:16:31,170 --> 00:16:35,960 Ја ћу оставити већину ово Билију, јер технички нисте веома тешко. 238 00:16:35,960 --> 00:16:43,540 Користите јКуери за своје ставове. То је практично као нужност у овом тренутку. 239 00:16:43,540 --> 00:16:46,290 То само чини све много лакше. 240 00:16:46,290 --> 00:16:48,290 Постоји много библиотека. 241 00:16:48,290 --> 00:16:49,970 Ако сте компликоване елементе корисничког интерфејса-, 242 00:16:49,970 --> 00:16:57,250 ако желите ауто-комплетан ствар или као један од оних фенси мулти-селектора - 243 00:16:57,250 --> 00:17:04,790 ако желите нешто слично, требало би вероватно само тражи око 244 00:17:04,790 --> 00:17:08,130 и можете наћи добар библиотеку која ће учинити оно што желите. 245 00:17:08,130 --> 00:17:11,579 Били ће објаснити више о стварно тешким деловима погледа. 246 00:17:11,579 --> 00:17:17,530 Такође, као страни белешку, кичма има неку функционалност за израду прегледа комуницирају 247 00:17:17,530 --> 00:17:22,800 лепо са моделима - погледајте документацију за све ове библиотеке, у ствари. 248 00:17:22,800 --> 00:17:28,270 Само погледајте доцс. Они су веома добро написан и лако пратити. 249 00:17:28,270 --> 00:17:33,890 У принципу, можете прилично само Гоогле, ако имате проблема. 250 00:17:33,890 --> 00:17:36,370 Постоји много људи их користи. 251 00:17:36,370 --> 00:17:42,020 Мислим да је ово као коначном нотом. 252 00:17:42,020 --> 00:17:48,770 >> Ту су и неке напредније ствари које можете да урадите 253 00:17:48,770 --> 00:17:53,400 ако тражите да ваш веб апликација екстра страва. 254 00:17:53,400 --> 00:17:59,760 То можете да урадите - нови ХТМЛ5 спецификација има много фенси ствари које можете урадити. 255 00:17:59,760 --> 00:18:05,780 Локално складиштење - што је можете сачувати податке у претраживачу - 256 00:18:05,780 --> 00:18:09,470 уместо да се вратим и прегледати сервер за све, 257 00:18:09,470 --> 00:18:12,470 можете задржати нешто од тога на клијента и да чак омогућава људима - 258 00:18:12,470 --> 00:18:20,850 у неким случајевима чак може пустити да користите веб странице ван мреже. 259 00:18:20,850 --> 00:18:26,980 Постоји та ствар се зове вебсоцкетс које су другачија врста мрежне комуникације 260 00:18:26,980 --> 00:18:30,930 где уместо само правите један захтев, добијате одговор и готови сте, 261 00:18:30,930 --> 00:18:35,240 чувате отворили везу са сервером и тако можете да урадите ствари као што је 262 00:18:35,240 --> 00:18:37,240 у реалном времену исправке. 263 00:18:37,240 --> 00:18:42,020 Дакле, ако сте покушали да направите апликацију за ћаскање, можете да користите вебсоцкетс 264 00:18:42,020 --> 00:18:43,790 да комуницирају и назад, тако да не би морао да тражи, 265 00:18:43,790 --> 00:18:48,410 "О, сервера, да ли је неко ми пошаље разговор?" сваких 10 секунди или тако нешто. 266 00:18:48,410 --> 00:18:55,620 Ту је занимљива функција ХТМЛ5 где можете да изгледа као 267 00:18:55,620 --> 00:18:58,340 УРЛ адреса странице се мења без потребе да заправо га поново. 268 00:18:58,340 --> 00:19:03,230 Можете да користите дугмад БАЦК и ФОРВАРД без раде гомилу мрежних захтева. 269 00:19:03,230 --> 00:19:14,660 Такве ствари је заиста корисно у смислу што је брз, али такође ради као веб апликација би требало,. 270 00:19:14,660 --> 00:19:17,680 >> Ту је и та ствар се зове ЦоффееСцрипт. 271 00:19:17,680 --> 00:19:24,450 ЦоффееСцрипт је другачији језик, заправо, да саставља доле на ЈаваСцрипт. 272 00:19:24,450 --> 00:19:30,080 Ти би писати сав свој код у ЦоффееСцрипт, а затим покренете овај компајлер, 273 00:19:30,080 --> 00:19:33,300 и она избацује ЈаваСцрипт фајл који можете укључити у своју веб страницу. 274 00:19:33,300 --> 00:19:38,860 Разлог да ЦоффееСцрипт је лепо зато што добија ослободити од много 275 00:19:38,860 --> 00:19:44,760 чудни случајеви да ЈаваСкрипт има где једнако једнако, 276 00:19:44,760 --> 00:19:51,130 и једнако равноправни радим различите ствари, или воле - 277 00:19:51,130 --> 00:19:55,740 има лепше синтаксу за рад са низовима и функцијама. 278 00:19:55,740 --> 00:20:00,460 Ово је мали одломак из ЦоффееСцрипт који производи листу свих квадрата 279 00:20:00,460 --> 00:20:04,900 од 10 ^ 2 на 1 ^ 2 обрнутим редоследом. 280 00:20:04,900 --> 00:20:08,410 Као што можете видети, ЦоффееСцрипт често вам омогућава да изразите у 1 линији 281 00:20:08,410 --> 00:20:10,890 шта би 5 линија ЈаваСцрипт. 282 00:20:10,890 --> 00:20:13,230 То може учинити ствари много лакше. 283 00:20:13,230 --> 00:20:15,390 То је мало нове синтаксе да уче на први, 284 00:20:15,390 --> 00:20:18,010 али то дефинитивно ће вас продуктивнији на дуже стазе. 285 00:20:18,010 --> 00:20:22,050 >> Такође можете да користите друге језике на серверу него ПХП - 286 00:20:22,050 --> 00:20:27,570 језици као Руби, Питхон, или постоји чак пројекат под називом Ноде.јс 287 00:20:27,570 --> 00:20:31,450 који ће вам омогућити да користите ЈаваСкрипт на серверу. 288 00:20:31,450 --> 00:20:34,700 Лично, ја стварно, стварно мрзим ПХП. 289 00:20:34,700 --> 00:20:38,310 Ја само не уживају радећи са њим. 290 00:20:38,310 --> 00:20:43,450 Ако сте, такође, мислим да је то ужасно цлуге неког језика, 291 00:20:43,450 --> 00:20:46,160 онда можете да користите један од ових уместо. 292 00:20:46,160 --> 00:20:54,780 У принципу, ако желите да урадите нешто и не знам како би ти то урадио, 293 00:20:54,780 --> 00:20:56,780 само претражују интернет. 294 00:20:56,780 --> 00:20:59,990 Постоји тона и тона ресурса, посебно на - 295 00:20:59,990 --> 00:21:03,260 Стацковерфлов је велики један. 296 00:21:03,260 --> 00:21:06,400 То је овај сајт где програмери питају једни друге питања. 297 00:21:06,400 --> 00:21:09,690 Можда сте наићи на њега, ако сте имали проблема на ЦС50 проблематичним сетовима. 298 00:21:09,690 --> 00:21:16,820 А ту су и тона библиотека за то скоро све што би желели. 299 00:21:16,820 --> 00:21:21,710 Ако желите да урадите нешто и не знате како да то урадите, 300 00:21:21,710 --> 00:21:23,710 немојте претпостављати да је то немогуће. 301 00:21:23,710 --> 00:21:26,160 Само погледајте около и можда наћи неке добре ресурсе. 302 00:21:26,160 --> 00:21:29,280 >> Као општи завршити, 303 00:21:29,280 --> 00:21:33,650 главни Такеаваис су држати ствари једноставно. 304 00:21:33,650 --> 00:21:36,010 Сложенији је ваш број је на почетку 305 00:21:36,010 --> 00:21:40,370 и више покушате и урадите фенси ствари, 306 00:21:40,370 --> 00:21:43,300 више ће бити потребно да се нешто заиста функционалну 307 00:21:43,300 --> 00:21:46,480 и теже ће бити да се промени касније. 308 00:21:46,480 --> 00:21:49,580 Дакле, урадите ствари на глупу, лак начин први. 309 00:21:49,580 --> 00:21:51,720 Да иде уз то, 310 00:21:51,720 --> 00:21:59,070 не плаши се ни бацити стару шифру или га чишћења много. 311 00:21:59,070 --> 00:22:05,320 У принципу, када заправо имате нешто рад, 312 00:22:05,320 --> 00:22:09,640 то је много лакше да размишљају о томе него када сте још увек у почетним фазама 313 00:22:09,640 --> 00:22:12,610 од како сам ставио ово све заједно. 314 00:22:12,610 --> 00:22:17,500 То је најбоље да се направи најглупљи могући дизајн који ради 315 00:22:17,500 --> 00:22:22,270 а затим га побољшати итеративно него покушавају да добију све како треба први пут. 316 00:22:22,270 --> 00:22:28,330 У питању клијент-сервер поделе, покушајте и задржати свој сервер врло једноставан - 317 00:22:28,330 --> 00:22:33,030 само база података и неки аутентификацију и не раде никакав тежак посао тамо. 318 00:22:33,030 --> 00:22:37,540 Да ли све ваше компликоване ствари на страни клијента у претраживачу 319 00:22:37,540 --> 00:22:40,650 у ЈаваСцрипт-у колико год можете. 320 00:22:40,650 --> 00:22:43,420 Погледај око за библиотеке које чине ваш живот бољим. 321 00:22:43,420 --> 00:22:46,850 Увек боље користити код који је неко други написао 322 00:22:46,850 --> 00:22:49,850 ако - а не да га пишу сами. 323 00:22:49,850 --> 00:22:57,560 Има пуно ствари на Интернету. Гоогле је твој најбољи пријатељ. 324 00:22:57,560 --> 00:22:59,560 Гоогле је најбољи пријатељ програматора. 325 00:22:59,560 --> 00:23:07,620 Да, дефинитивно не плашите се да погледате око за ствари. 326 00:23:07,620 --> 00:23:11,860 У реду. И преко Билију. 327 00:23:11,860 --> 00:23:14,600 >> [Билли] Заправо, пре него што почнем са неким стварима дизајн, 328 00:23:14,600 --> 00:23:17,250 Да ли неко има питања за Бена о било чему да је говорио о? 329 00:23:17,250 --> 00:23:20,290 Ок, добро. 330 00:23:20,290 --> 00:23:22,220 Опет, да нас обавестите ако нешто није јасно 331 00:23:22,220 --> 00:23:25,420 или ако желите да идемо преко нечега мало више. 332 00:23:25,420 --> 00:23:30,330 Идем корак уназад мало и разговарати о основним више делова дизајна. 333 00:23:30,330 --> 00:23:34,840 Бен поменуо модел под називом - извините, модел контролер поглед систем 334 00:23:34,840 --> 00:23:38,520 која је врста техничког аспекта, па ћу погледати погледа конкретно, 335 00:23:38,520 --> 00:23:42,930 и ја ћу почети са колико ћеш дизајнирате приказ који изгледа лепо. 336 00:23:42,930 --> 00:23:50,540 Ево врста заиста основне шаблон за нашу Цат Фацебоок. 337 00:23:50,540 --> 00:23:54,190 Мислим да постоје неке основе у модерном дизајну УИ 338 00:23:54,190 --> 00:23:56,190 да вреди брање горе. 339 00:23:56,190 --> 00:23:58,210 Можете приметити да има доста белог простора широм страни, 340 00:23:58,210 --> 00:24:00,790 довољно места за ствари. 341 00:24:00,790 --> 00:24:02,580 Не осећају као да треба да одагна ствари у страну. 342 00:24:02,580 --> 00:24:06,700 Желите да оставите пуно простора отворен, а ако идете на скоро сваком модерном сајту 343 00:24:06,700 --> 00:24:08,380 видећете ту је бело свуда. 344 00:24:08,380 --> 00:24:10,380 Има бели у местима не би очекивали. 345 00:24:10,380 --> 00:24:14,570 Имате ову палету боја, а то је мудар на почетку 346 00:24:14,570 --> 00:24:17,880 да изаберете палету боја да идете да радите са и развијају. 347 00:24:17,880 --> 00:24:22,250 Такође - то помаже да одаберете типом слова, и тако ти некако раде са 348 00:24:22,250 --> 00:24:24,450 ови конкретни основе дизајна. 349 00:24:24,450 --> 00:24:26,910 Имате свој тип, ви имате своје боје, а затим можете некако 350 00:24:26,910 --> 00:24:29,380 уклапају у све остало по потреби. 351 00:24:29,380 --> 00:24:37,710 Дакле, као што сам рекао, са шемом боја желите да користите смелије боје ваших шеме боја 352 00:24:37,710 --> 00:24:40,320 штедљиво. Заглавља су лепе. Тастери су лепо имати заиста велике, сјајне боје. 353 00:24:40,320 --> 00:24:43,710 Али у принципу, ако имате сајт који има боје свуда, 354 00:24:43,710 --> 00:24:47,250 све вас зури у лице, то само изгледа претрпано, а то није добро. 355 00:24:47,250 --> 00:24:50,430 Желите да генерално користе светле боје. 356 00:24:50,430 --> 00:24:52,890 Покушајте да, опет, изаберите прилично кохерентан шему боја. 357 00:24:52,890 --> 00:24:56,640 Можете имати ове мале одблесака пуно боја - 358 00:24:56,640 --> 00:25:00,240 који могу да изгледају прилично лепо, али желите да их користите прилично штедљиво. 359 00:25:00,240 --> 00:25:04,270 >> Као што сам рекао, ви желите да буде минимална. Мање је готово увек више. 360 00:25:04,270 --> 00:25:07,430 Ако можете да прикажете нешто или не прикаже нешто, 361 00:25:07,430 --> 00:25:10,230 а ти си некако сигурни да ли би требало да буде тамо по дефаулту - 362 00:25:10,230 --> 00:25:13,400 вероватно си најбољи ван остављајући га. Увек можете да га додате у касније. 363 00:25:13,400 --> 00:25:16,620 Да, да ствари једноставно. 364 00:25:16,620 --> 00:25:19,510 Али што је најважније, ви ћете желети да размотрите више дизајна. 365 00:25:19,510 --> 00:25:23,520 Немојте мислити да када направите сајт, ви га имате у глави да идете да 366 00:25:23,520 --> 00:25:26,310 направити сајт на одређени начин, и то ће изгледати управо овако. 367 00:25:26,310 --> 00:25:29,830 То ће имати плаву заглавље на врху и плава бочну траку 368 00:25:29,830 --> 00:25:32,670 а затим жуто под-заглавље ствар. 369 00:25:32,670 --> 00:25:34,670 Ви желите да се више шаблона. 370 00:25:34,670 --> 00:25:37,350 Можете да - ако си добар са Пхото Схоп, можете да отворите да се и врста 371 00:25:37,350 --> 00:25:39,600 дизајн сајта као што сте желели да изгледа. 372 00:25:39,600 --> 00:25:41,680 Ако не, можете једноставно да користите оловку и папир, 373 00:25:41,680 --> 00:25:44,000 али гребање се више дизајна. 374 00:25:44,000 --> 00:25:47,000 Желите да у основи имају поставци где имате много различитих дизајна, 375 00:25:47,000 --> 00:25:50,810 а ако једна завршава рад, онда је то супер. 376 00:25:50,810 --> 00:25:53,370 Ако један завршава неуспеха, онда сте увек имате још један да се обратим. 377 00:25:53,370 --> 00:25:57,960 У принципу, не осећају као да треба да буде ограничена 378 00:25:57,960 --> 00:26:00,830 до ког дизајна вам у почетку одлучује о. 379 00:26:00,830 --> 00:26:04,420 Дизајни су веома променљиви, и део значају модела 380 00:26:04,420 --> 00:26:09,480 контролер поглед систем је да можете у и ван мењате различите ставове које желите. 381 00:26:09,480 --> 00:26:13,510 Можете да поколебати подацима на један начин, а онда одлучити, ох, заправо, да се не ради то добро. 382 00:26:13,510 --> 00:26:19,190 Мислим да је то некако превише компликовано или постоји део овде то није стварно ради, 383 00:26:19,190 --> 00:26:22,150 па ћу само да потпуно напусти овај поглед и замену у потпуно новом. 384 00:26:22,150 --> 00:26:24,790 Ми и даље могу да користе старе моделе и старе контролера. 385 00:26:24,790 --> 00:26:27,490 Можемо да урадимо све што је на серверу и клијенту као што смо раније би. 386 00:26:27,490 --> 00:26:32,850 Али стварна талас података као приказан ће бити мало другачија. 387 00:26:32,850 --> 00:26:35,840 >> Колико заправо спроводи дизајн који желите, 388 00:26:35,840 --> 00:26:39,330 Када имате неколико дизајна скицирао на папиру или на Пхото Схоп или шта год, 389 00:26:39,330 --> 00:26:42,120 постоји велики број алата које су доступне за вас. 390 00:26:42,120 --> 00:26:45,700 Први сте веома упознати са којима је ваш ХТМЛ, ПХП, или шта год 391 00:26:45,700 --> 00:26:48,990 језик користите само да кодира статичке странице на вашем сајту. 392 00:26:48,990 --> 00:26:51,990 Ви сте пуно радили са ХТМЛ која врста вам даје ове ознаке 393 00:26:51,990 --> 00:26:57,820 да можете ставити ствари у, а то је у основи начин организовања садржаја. 394 00:26:57,820 --> 00:27:00,990 На пример, имате заглавље горе, тако да ћете имати ознаку заглавља, 395 00:27:00,990 --> 00:27:05,770 и то ће имати неки текст унутар ње које се вероватно ће бити у другом ознаком. 396 00:27:05,770 --> 00:27:08,380 Онда имате трака можда са неким различитим везама, 397 00:27:08,380 --> 00:27:10,160 и они ће све бити у одвојеним ознакама. 398 00:27:10,160 --> 00:27:13,870 Дакле, у основи ХТМЛ-у њеном срцу је начин поделе страницу како 399 00:27:13,870 --> 00:27:16,980 ви на крају желите да га форматирате. 400 00:27:16,980 --> 00:27:18,980 Па опет, ви сте видели да је пре. 401 00:27:18,980 --> 00:27:20,540 Ти си прилично удобан за рад са њим сада 402 00:27:20,540 --> 00:27:23,120 с обзиром да сте урадили последњу псет надамо, 403 00:27:23,120 --> 00:27:26,150 тако да би требало да буде никаквих проблема. 404 00:27:26,150 --> 00:27:31,280 >> Онда имате ЦСС који у основи рукује свим аспектима дизајна статичких. 405 00:27:31,280 --> 00:27:35,320 Било би обради све боје, све позиционирања различитих елемената, 406 00:27:35,320 --> 00:27:36,840 где иду у односу једних на друге, 407 00:27:36,840 --> 00:27:41,530 колики су, различите врсте позиционирања да би сте - 408 00:27:41,530 --> 00:27:46,030 Другим речима, можете да се ствари фиксне, тако да када се померате надоле они остану, 409 00:27:46,030 --> 00:27:48,700 или можете имати ствари у односу на друге елементе. 410 00:27:48,700 --> 00:27:50,730 Све такве ствари је у ЦСС. 411 00:27:50,730 --> 00:27:54,630 Поред тога, можете да урадите разне украсе, можете имати боје текста, 412 00:27:54,630 --> 00:27:56,630 текстуални ефекти, све такве ствари. 413 00:27:56,630 --> 00:28:00,360 Бен је стварно добар семинар о овом прошлог викенда, 414 00:28:00,360 --> 00:28:04,450 и тако ја дефинитивно бих проверити да се ако планирате да радите неке фенси ствари са ЦСС. 415 00:28:04,450 --> 00:28:09,850 ЦСС3 је заправо најновија верзија ЦСС, и то може да уради све врсте заиста лепе ствари. 416 00:28:09,850 --> 00:28:14,750 То може да уради преливе, можете имати лепе, заобљене углове, можете да урадите све врсте ствари 417 00:28:14,750 --> 00:28:17,940 да би ваш сајт изгледа више модерно и фенси. 418 00:28:17,940 --> 00:28:22,150 >> Следећи алат је ЈаваСцрипт и јКуери која Бен разговарали мало о, 419 00:28:22,150 --> 00:28:24,150 али ја ћу мало даље у. 420 00:28:24,150 --> 00:28:28,100 Јава, као што сте радили са њом мало, или бар види да је у предавању, 421 00:28:28,100 --> 00:28:31,870 је врста начин динамички радите ствари у ХТМЛ-у. 422 00:28:31,870 --> 00:28:35,950 ХТМЛ, као што знате, је статичан, па када имате ХТМЛ не можете да их мењате. 423 00:28:35,950 --> 00:28:40,050 Али ЈаваСцрипт, на неки начин, јесте начин да би могли да измените ХТМЛ. 424 00:28:40,050 --> 00:28:44,520 Дакле, ви можете да урадите, и то је супер, али стварно је ЈаваСцрипт бол за рад. 425 00:28:44,520 --> 00:28:49,050 То је тако дуго и туп и да раде чак и најједноставније ствари 426 00:28:49,050 --> 00:28:51,630 захтева много линија ЈаваСцрипт. 427 00:28:51,630 --> 00:28:55,410 Дакле, јКуери је у основи библиотека за ЈаваСцрипт да поједностављује све то. 428 00:28:55,410 --> 00:28:59,880 Он каже, у реду, ако желите да имате квадрат кутију долазе са леве стране 429 00:28:59,880 --> 00:29:03,980 и бледе у страну, тако да је у средини, у ЈаваСцрипт да би узети - 430 00:29:03,980 --> 00:29:06,340 Не знам, сто линије да уради, а то ће бити бол, 431 00:29:06,340 --> 00:29:10,540 и изађеш из она мрзи све о веб програмирању. 432 00:29:10,540 --> 00:29:15,380 ЈКуери сте у основи имају елеменат-дот-Фаде-у, или тако нешто. 433 00:29:15,380 --> 00:29:18,580 Дакле, врло, врло једноставне функције које ће вам омогућити да урадите све врсте кул анимација 434 00:29:18,580 --> 00:29:20,580 и такве ствари. 435 00:29:20,580 --> 00:29:23,300 Друга ствар да су 2 су стварно добри за се само ради динамичне ствари 436 00:29:23,300 --> 00:29:25,300 са сајта. 437 00:29:25,300 --> 00:29:28,370 Дакле, уместо да само има свој ХТМЛ страницу - који приказује неке податке, али заправо не 438 00:29:28,370 --> 00:29:32,130 ништа - ЈаваСцрипт и јКуери ће вам имати Дугмад које можете да кликнете на, 439 00:29:32,130 --> 00:29:37,960 и можете да превучете елементе и поново их реда и сортирати их, а имају нове елементе 440 00:29:37,960 --> 00:29:40,500 додати или уклонити. Можете додати-бриши, такве ствари. 441 00:29:40,500 --> 00:29:44,570 Дакле, да ли јКуери тона кул ствари. 442 00:29:44,570 --> 00:29:48,840 И Випул заправо даје семинар о њему данас, верујем, на 5-сати, 443 00:29:48,840 --> 00:29:51,220 па ако можете да останете тако дуго, да би - 5 или 4? 444 00:29:51,220 --> 00:29:54,930 Четири. Извините. То је заправо одмах после тога, тако да бих препоручио 445 00:29:54,930 --> 00:29:56,680 лепљење око за то, ако можеш. 446 00:29:56,680 --> 00:30:00,180 ЈКуери је супер, супер користан, а ви ћете бити у стању да уради много заиста лепих ствари са њом 447 00:30:00,180 --> 00:30:03,460 за скоро било веб развој пројекта. 448 00:30:03,460 --> 00:30:06,200 >> Сада ћу да се у врсти разлике. 449 00:30:06,200 --> 00:30:08,210 Ја сам у основи говори о корисничком интерфејсу. 450 00:30:08,210 --> 00:30:11,510 Кориснички интерфејс је само дизајн сајта. 451 00:30:11,510 --> 00:30:13,780 Али постоји још једна врста концепт који је корисничко искуство. 452 00:30:13,780 --> 00:30:15,900 Два су веома различити. 453 00:30:15,900 --> 00:30:19,440 Интерфејс је дефинитивно део искуства. 454 00:30:19,440 --> 00:30:21,340 Другим речима, када одете на сајт, можете погледати на интерфејсу. 455 00:30:21,340 --> 00:30:22,960 То је део како имате сајт. 456 00:30:22,960 --> 00:30:24,960 Али корисничко искуство је више од тога. 457 00:30:24,960 --> 00:30:29,910 Корисник је искуство о томе шта утисак да корисник добија са вашег сајта је. 458 00:30:29,910 --> 00:30:31,910 Дакле, очигледно, интерфејс је део тога. 459 00:30:31,910 --> 00:30:35,340 И дефинитивно је неопходан део, али то није довољно. 460 00:30:35,340 --> 00:30:38,790 Другим речима, ако имате леп интерфејс, а то је прилично и шарене и све то, 461 00:30:38,790 --> 00:30:43,650 то је супер, али ако корисник иде на свој сајт, види лепу распоред и то је збуњена 462 00:30:43,650 --> 00:30:47,060 све, нема појма како да уради било шта, онда очигледно да сте направили стварно 463 00:30:47,060 --> 00:30:48,930 јадан сајт. 464 00:30:48,930 --> 00:30:50,930 То је врста где корисник искуство ступа на сцену 465 00:30:50,930 --> 00:30:54,570 Идем да мало говоримо о дизајну УКС - УКС је кратак за корисничко искуство - 466 00:30:54,570 --> 00:30:58,050 и некако како можете да се уверите да имате добар кориснички доживљај. 467 00:30:58,050 --> 00:31:04,330 Прва ствар је да могу да дизајнирате сајт где корисник може да уради ништа да 468 00:31:04,330 --> 00:31:06,820 да корисник можда жели. 469 00:31:06,820 --> 00:31:08,940 Али, ако корисник не могу да схватим како то да урадите те ствари - 470 00:31:08,940 --> 00:31:12,850 другим речима, ако корисник нема добру идеју када иду на вашем сајту, 471 00:31:12,850 --> 00:31:17,660 "О, ако желим да ажурирате свој профил, онда кликнем на ово дугме, или ако желим да поставите на 472 00:31:17,660 --> 00:31:20,850 нечији зид, онда идем на њихов зид и кликните на малу кутију. " 473 00:31:20,850 --> 00:31:24,410 Ако корисник не зна да, онда имате ефикасно заправо не 474 00:31:24,410 --> 00:31:27,080 реализује ту функционалност исправно. 475 00:31:27,080 --> 00:31:30,900 Део имплементације функционалност је да су корисници су заиста у стању да га користите. 476 00:31:30,900 --> 00:31:34,810 И то може бити фрустрирајући - можда направити сајт, а то може да уради све врсте 477 00:31:34,810 --> 00:31:37,810 дивне ствари, али онда ћете имати људи га тестирају и кажу, "То не може да уради ово. 478 00:31:37,810 --> 00:31:39,770 Зашто не може да уради ово? "И ви ћете вратити им реци, 479 00:31:39,770 --> 00:31:44,420 "Па, то може. Само треба да иде у 7. падајућег менија на овај нејасан 480 00:31:44,420 --> 00:31:48,470 страна која је само пронашао линк на дну-десни угао "или тако нешто. 481 00:31:48,470 --> 00:31:50,430 Очигледно, не желите да. 482 00:31:50,430 --> 00:31:53,420 Ви желите да буде јасно да својим корисницима оно што они треба да раде, 483 00:31:53,420 --> 00:31:56,240 и то треба да буде једноставан и интуитиван за њих. 484 00:31:56,240 --> 00:32:01,180 >> Још једна ствар коју желите да покушате да урадите је, ако неко ће ићи на свој сајт 485 00:32:01,180 --> 00:32:05,520 и 9 од 10 пута урадити акциони А, и 1 од 10 пута урадити акциони Б, 486 00:32:05,520 --> 00:32:08,950 вероватно желите да се фокусирате своје искуство о акционом А. 487 00:32:08,950 --> 00:32:12,240 Другим речима, ви желите да га веома, веома јасно како то да урадите А. 488 00:32:12,240 --> 00:32:15,980 Треба да буде предњи и центар - идите на сајт, види га, ох, то је тамо. 489 00:32:15,980 --> 00:32:20,850 Док Б очигледно желите да буде јасно, али можете да га оставите мало више 490 00:32:20,850 --> 00:32:22,850 у позадини. 491 00:32:22,850 --> 00:32:24,640 Дејвид даје добар пример у овом предавању, 492 00:32:24,640 --> 00:32:26,640 што је Бостон Т систем. 493 00:32:26,640 --> 00:32:29,440 Када одете у Бостон Т и желите да купите карту, 494 00:32:29,440 --> 00:32:32,700 морате да уђу у 5 меније пре него што заиста можете да купите карту 495 00:32:32,700 --> 00:32:37,130 за $ 2, $ 2.50 вредности, што је колико је потребно да се вози метроом 496 00:32:37,130 --> 00:32:39,130 у једном смеру. 497 00:32:39,130 --> 00:32:41,600 То је проблем, јер већина људи који се возите метроом 498 00:32:41,600 --> 00:32:44,880 Вероватно само желе да иду на једно место, купите своју карту, добити на одмах. 499 00:32:44,880 --> 00:32:47,550 То нема смисла да они морају да иду кроз много различитих менија 500 00:32:47,550 --> 00:32:49,550 да се тамо. 501 00:32:49,550 --> 00:32:51,760 Боље корисничко искуство ће бити брз дугме на првој страни 502 00:32:51,760 --> 00:32:54,760 да само каже, 'купи карту у једном правцу, "и да ће ставити у свим стандарда 503 00:32:54,760 --> 00:32:58,550 Подразумеване вредности, а затим, ако неко жели да купи карту другачији него да, 504 00:32:58,550 --> 00:33:01,690 они и даље, наравно, имају могућност да, али ви сте оптимизован за 505 00:33:01,690 --> 00:33:04,080 заједнички-случај коришћења који је заиста важно. 506 00:33:04,080 --> 00:33:06,830 Можете видети примере ово на Фацебоок, зар не? 507 00:33:06,830 --> 00:33:09,410 Ако одете на Фацебоок-у и желите да поставите статус, 508 00:33:09,410 --> 00:33:11,710 то је право на врху који је оно што често желе да раде. 509 00:33:11,710 --> 00:33:14,730 Чим уђете у страницу, можете да урадите најчешћих ствари које 510 00:33:14,730 --> 00:33:16,730 желите да урадите. 511 00:33:16,730 --> 00:33:17,550 Ако желите да урадите нешто компликованије ствари као, 512 00:33:17,550 --> 00:33:21,070 кажем да желим да идем на зиду моје другарице и поставите слику на њему - 513 00:33:21,070 --> 00:33:24,810 које ћу желети да често, али не тако често као постављање ажурирања статуса - 514 00:33:24,810 --> 00:33:28,200 па у том случају, ја упишите своје име у поље на врху, кликните на свом профилу, 515 00:33:28,200 --> 00:33:31,680 а онда, ипак, то је на самом врху било кад сам добио на свом профилу. 516 00:33:31,680 --> 00:33:38,240 Опет, ја сам у приоритет оптимизован за случајеве најчешће намене. 517 00:33:38,240 --> 00:33:41,800 >> Још једна важна ствар је да често људи ће некако покушати да се око овог 518 00:33:41,800 --> 00:33:44,890 говорећи, у реду, тако да сам направио сајт и људи су налаз је збуњујуће, 519 00:33:44,890 --> 00:33:46,110 и то је проблем, зар не? 520 00:33:46,110 --> 00:33:49,210 Очигледно, ја не желим да људи буду збуњени садржај мог сајта. 521 00:33:49,210 --> 00:33:53,210 Али начин да се реши да не би имали нешто поп уп говорећи, 522 00:33:53,210 --> 00:33:55,290 хеј, ја ћу вас научити како да користите овај сајт. 523 00:33:55,290 --> 00:33:58,130 Корак 1 - кликните на ово дугме. Корак 2 - идите овде. 524 00:33:58,130 --> 00:34:03,080 Наравно, то је начин око ње - то је начин на који можете да кажете људима шта да раде, али то је 525 00:34:03,080 --> 00:34:05,080 стварно не оптималан начин. 526 00:34:05,080 --> 00:34:07,420 Ако ја одем на сајт и одједном сам бомбардовани са овог туторијала који ми говори 527 00:34:07,420 --> 00:34:11,739 шта да радим и где да идем и све то, то није забавно за мене. 528 00:34:11,739 --> 00:34:13,739 То није добро искуство за мене. 529 00:34:13,739 --> 00:34:17,130 То је врста бола. Желим само да почнемо да радимо ствари. 530 00:34:17,130 --> 00:34:19,449 Људи ће затворити своје дијалогу, 531 00:34:19,449 --> 00:34:23,580 или изаћи из туторијала, не знам шта да радим, а онда се жале због 532 00:34:23,580 --> 00:34:25,580 нисте им говори шта да раде. 533 00:34:25,580 --> 00:34:29,530 Начин да се реши ово није давањем било какве туторијала или праваца - 534 00:34:29,530 --> 00:34:31,530 тако нешто. 535 00:34:31,530 --> 00:34:33,719 Онолико колико можете да га избегнете, ви заиста желите да прикажете кориснику шта да радим 536 00:34:33,719 --> 00:34:36,429 само по природи како сајт је постављен. 537 00:34:36,429 --> 00:34:39,090 Другим речима, ако ја одем на Фацебоок-у без пријављивања, 538 00:34:39,090 --> 00:34:40,920 Прва ствар коју видим на главној страници - 539 00:34:40,920 --> 00:34:44,480 то је мало пријаву кутија. Дакле, дух. Морам да се пријавим? То је тамо. 540 00:34:44,480 --> 00:34:48,030 Док, ако сам отишао на Фацебоок и сам морао да кликнете на малу везу на дну 541 00:34:48,030 --> 00:34:51,920 који је рекао "пријавите" и остатак странице је била само нека врста слике или нешто, 542 00:34:51,920 --> 00:34:54,820 Не бих баш знао шта да радим, зар не? Ја бих мешати. 543 00:34:54,820 --> 00:34:58,590 Дакле, то може да ми каже да идем тамо доле и кликните на дугме да се пријавите, 544 00:34:58,590 --> 00:35:01,080 или дневник у дугмету може бити на самом врху где ћу да га видим. 545 00:35:01,080 --> 00:35:04,780 Желите да будете у показује кориснику шта да ради, 546 00:35:04,780 --> 00:35:06,750 и то треба да буде инхерентан у самом страници. 547 00:35:06,750 --> 00:35:09,880 >> Када размишљате о дизајну и ругајући се различите начине 548 00:35:09,880 --> 00:35:13,810 изражавајући свој сајт, ви стварно желите да размислите о томе шта корисници ће 549 00:35:13,810 --> 00:35:19,380 се ради и како можете да их покаже шта да радим. 550 00:35:19,380 --> 00:35:23,530 Још једна ствар је тестирање је стварно, стварно важно. 551 00:35:23,530 --> 00:35:27,400 То је одлично за некога - добити пријатеља, некога не знам чак ни - 552 00:35:27,400 --> 00:35:30,420 ко никад није видео сајт пре него да користи сајт. 553 00:35:30,420 --> 00:35:33,650 Зато што сте радили на сајту сатима, да си гледао у њега, 554 00:35:33,650 --> 00:35:36,670 и знате тачно шта да урадите тако очигледно да ћете бити тестирање 555 00:35:36,670 --> 00:35:39,520 ствари које сте радили на и да знате посао. 556 00:35:39,520 --> 00:35:42,680 Али ако неко наиђе и користи сајт који никада га раније користили, 557 00:35:42,680 --> 00:35:46,880 то је јединствено искуство, јер имате некога ко нема предзнање 558 00:35:46,880 --> 00:35:51,530 од сајта иде у њега, тако да ћемо имати ефикасно појма шта да радим 559 00:35:51,530 --> 00:35:54,890 или какав случајева употребе су присутни за њих. 560 00:35:54,890 --> 00:36:00,930 То је сјајно. То је јединствен зато што су у суштини си особа са празном за ум. 561 00:36:00,930 --> 00:36:03,750 Они могу да вам кажем да ли је нешто збуњујуће или нејасно. 562 00:36:03,750 --> 00:36:07,580 Они могу да вам дам идеју о управо оно што корисник искуство вашег сајта је. 563 00:36:07,580 --> 00:36:10,630 То може бити веома тешко да кажем да се, тако дефинитивно бих вам и 564 00:36:10,630 --> 00:36:13,640 како ти се развија своје пројекте - ако радиш пројекте веб-басед - 565 00:36:13,640 --> 00:36:18,290 да се људи користе сајт већ имате неку врсту функционалне демо. 566 00:36:18,290 --> 00:36:25,330 >> Сада ћу да причам мало о томе како да управљате веб развојни пројекат. 567 00:36:25,330 --> 00:36:28,900 Ми смо прешли како можете да урадите технички бацк-енд страни, 568 00:36:28,900 --> 00:36:31,050 како можете да дизајнирате заиста добар сајт, 569 00:36:31,050 --> 00:36:34,150 и то је супер, ако радите сами, али - 570 00:36:34,150 --> 00:36:37,300 чак и ако радите сами, а нарочито ако радите у тиму, 571 00:36:37,300 --> 00:36:39,580 управљање пројектима постаје велики проблем. 572 00:36:39,580 --> 00:36:42,340 Некако сте чули о управљању пројектима у различитим облицима од 573 00:36:42,340 --> 00:36:45,410 Основна школа када су вам рекли групни рад. 574 00:36:45,410 --> 00:36:46,820 Морате да сарађују, комуницирају, све то. 575 00:36:46,820 --> 00:36:49,620 То све важи и даље ту, али постоје неке јединствене околности са 576 00:36:49,620 --> 00:36:54,910 информатике који желите да буду свесни, а желите да будете сигурни да добро обради. 577 00:36:54,910 --> 00:36:58,050 Ја ћу прво мало поразговарамо о тиму који ћете бити унутра 578 00:36:58,050 --> 00:37:03,280 Веома је важно да изаберете прави величину тим да се ради на, 579 00:37:03,280 --> 00:37:05,890 и у свом завршном пројекту мислим имате опцију да изаберу 580 00:37:05,890 --> 00:37:08,610 између 1 и 4 особе ако сам у праву. 581 00:37:08,610 --> 00:37:12,050 Ви желите да се уверите да нисте само бирајући број људи 582 00:37:12,050 --> 00:37:14,950 да ли желите да радите са јер су твоји пријатељи. 583 00:37:14,950 --> 00:37:18,170 Желите да изаберете тим који је добар величине и да ће добити посао. 584 00:37:18,170 --> 00:37:22,700 Ту је компромис у има још људи наспрам мање људи. 585 00:37:22,700 --> 00:37:25,320 Ако имате више људи, очигледно више посла може да се уради 586 00:37:25,320 --> 00:37:28,450 јер имате пуно људи, пуно кода, пуно идеја, 587 00:37:28,450 --> 00:37:29,870 и то је све супер. 588 00:37:29,870 --> 00:37:32,590 Али то такође захтева много више управљање и много више комуникације. 589 00:37:32,590 --> 00:37:34,720 Другим речима, ако имате 4 људи који раде на истом пројекту 590 00:37:34,720 --> 00:37:39,200 и они сви уређујете исту шифру, више или мање су сви некако треба да знам 591 00:37:39,200 --> 00:37:40,920 шта се дешава тако што је потребно - 592 00:37:40,920 --> 00:37:44,580 ако додате неку нову функцију сте некако морати да кажем људима - Ја сам додао ово, 593 00:37:44,580 --> 00:37:48,510 Мењам то на овај начин - нарочито ако се у заиста дубоко ствари 594 00:37:48,510 --> 00:37:52,730 као модела и контролера који су у ствари иду да утичу како сајт функционише. 595 00:37:52,730 --> 00:37:54,500 Цео тим треба да буду свесни тога, 596 00:37:54,500 --> 00:37:58,140 тако да је потребно да се уверите да не бирате сувише велики тим који ће то бити тешко 597 00:37:58,140 --> 00:37:59,970 да ту комуникацију. 598 00:37:59,970 --> 00:38:02,930 Такође, не желе да изаберу мали тим довољно да ти не идеш на 599 00:38:02,930 --> 00:38:06,250 бити у стању да комуницирају, јер је то само ви. 600 00:38:06,250 --> 00:38:11,270 >> Још једна ствар коју треба размотрити је стање где вештине људи су. 601 00:38:11,270 --> 00:38:14,350 То је супер ако си стварно сви добри програмери. 602 00:38:14,350 --> 00:38:17,050 Али, ако сте све бацк-енд људе, онда је ваш сајт неће изгледати врло добро 603 00:38:17,050 --> 00:38:20,860 јер ви имате ову велику базу података, и то чини супер-брзих упита претраге - 604 00:38:20,860 --> 00:38:26,130 што је одлично - али када одете на њега, то је као сајт са 1990-црвене и плаве 605 00:38:26,130 --> 00:38:30,370 свуда, а то је било не ваља. 606 00:38:30,370 --> 00:38:34,210 Приметимо да је Бен и ја радећи као тим су веома лепо, јер сам некако више 607 00:38:34,210 --> 00:38:38,030 у предњем крају, обоје смо у интеракцији у средњем крај, а Бен је стварно добар са бацк-енд ствари, 608 00:38:38,030 --> 00:38:43,550 тако да функционише заиста добро, јер можемо дизајн било који сајт и основи рупе 609 00:38:43,550 --> 00:38:47,580 у тај сајт који треба да буде испуњен може бити испуњен од стране било кога од нас, или можда оба. 610 00:38:47,580 --> 00:38:50,210 Ви желите да се уверите да има у свом тиму нема рупа. 611 00:38:50,210 --> 00:38:51,180 У реду је ако има мало преклапања. 612 00:38:51,180 --> 00:38:53,670 Другим речима, ако имате 2 особе које су и добро са леђа крај, 613 00:38:53,670 --> 00:38:57,250 који може бити добар као и због тога што они могу да помогну једни другима са проблемима 614 00:38:57,250 --> 00:38:58,820 да они имају. 615 00:38:58,820 --> 00:39:02,590 То може бити проблем ако имате само 1 особу ко је одговоран за одређену ствар 616 00:39:02,590 --> 00:39:06,650 и они упасти у проблем, тако да не желим да имам мало преклапања 617 00:39:06,650 --> 00:39:10,760 али што је најважније желите да се уверите да све од могућих рупа су попуњена. 618 00:39:10,760 --> 00:39:17,550 >> Последња ствар - а то би требало да буде очигледно, али то често није. 619 00:39:17,550 --> 00:39:19,550 Ви заиста желите да се забављају. 620 00:39:19,550 --> 00:39:23,360 Поента овог финалног пројекта у ЦС50 и често тачка веб развоја у целини 621 00:39:23,360 --> 00:39:26,360 није да само радим посао, јер треба да се уради. 622 00:39:26,360 --> 00:39:29,140 Ви заиста желите да се забављају, а ви желите да се направи нешто 623 00:39:29,140 --> 00:39:31,180 да вас мотивише да радите на томе. 624 00:39:31,180 --> 00:39:33,650 Ако све што правиш је бол да седну и раде на, 625 00:39:33,650 --> 00:39:35,650 онда нисте одабир правог пројекат. 626 00:39:35,650 --> 00:39:37,730 Желите да изаберете нешто што ћете наћи занимљиве, 627 00:39:37,730 --> 00:39:41,150 Ви заиста желите да видите резултат, ви сте узбуђени када добијете нову идеју о 628 00:39:41,150 --> 00:39:44,700 нешто можете да урадите - тако да све врсте пројеката тамо да сам сигуран 629 00:39:44,700 --> 00:39:47,290 можете наћи - свако има нешто што би их стварно интригу 630 00:39:47,290 --> 00:39:49,290 ако они раде пројекат веб засновани. 631 00:39:49,290 --> 00:39:52,210 Ја ћу рећи поново одмах. 632 00:39:52,210 --> 00:39:54,520 Ако ваш пројекат изгледа као бол, а ви не желите да радите на томе, 633 00:39:54,520 --> 00:39:57,260 изабрати још један пројекат. Одаберите нешто што вас заиста инспирише. 634 00:39:57,260 --> 00:40:00,260 >> Бен помиње овај концепт итерацији мало, и ја желим да идем преко њега мало. 635 00:40:00,260 --> 00:40:08,250 Заиста је важно да раде у убрзаног где сте добити нешто функционална. 636 00:40:08,250 --> 00:40:13,420 То може бити велика ако имате овај план за сајт који ће да уради А, Б, и Ц, 637 00:40:13,420 --> 00:40:16,000 и на крају то ће тамо добити. 638 00:40:16,000 --> 00:40:18,600 Али ви сте заглављени у овој фази у којој радите на њему и ради на њему, 639 00:40:18,600 --> 00:40:23,330 али ништа није урађено добијање. Не морате ништа да виде и опипљив, функционална ствар. 640 00:40:23,330 --> 00:40:27,940 Оно што заиста желите да урадите онолико колико се чини врсту бол понекад да 641 00:40:27,940 --> 00:40:32,300 радити на нечему и онда некако га капу, тако да је барем је на стабилан, ради 642 00:40:32,300 --> 00:40:34,910 верзија чак и ако нема све функције које желите. 643 00:40:34,910 --> 00:40:37,690 А можда постоје неке особине које заиста желите да додате, али ви једноставно не можете 644 00:40:37,690 --> 00:40:41,830 зато што желите да се овај сајт до функционалне тачке. 645 00:40:41,830 --> 00:40:44,400 И тако ви желите да некако има цео процес развоја изгледа тако. 646 00:40:44,400 --> 00:40:47,810 Желите да почнете негде функционалан - или у суштини почети са ништа - 647 00:40:47,810 --> 00:40:49,890 али ви желите да добијете негде врло основна и функционална. 648 00:40:49,890 --> 00:40:54,940 А онда опет, направити неку врсту скока и добити поново негде функционалан. 649 00:40:54,940 --> 00:40:59,190 Ти полако ћете изградити, а то би могло ићи мало спорије него што би иначе, 650 00:40:59,190 --> 00:41:03,000 али на дуже стазе, ако сте стално заглавио у овој средњој фази терен где сте 651 00:41:03,000 --> 00:41:06,380 не заправо имају ништа воркинг, то може да буде заиста велика фрустрација 652 00:41:06,380 --> 00:41:09,970 да раде на вашем пројекту, јер си увек тако близу да је добијање раде, 653 00:41:09,970 --> 00:41:12,130 и то никада заправо ради. 654 00:41:12,130 --> 00:41:14,810 Желите да радите у овим функционалним убрзаног, 655 00:41:14,810 --> 00:41:17,950 а такође желите да урадите неке рефлексије после сваког од њих. 656 00:41:17,950 --> 00:41:21,260 Другим речима, када сте на месту где је сада локација радне - 657 00:41:21,260 --> 00:41:24,790 нема све што вам се допада, али то ради неке ствари - 658 00:41:24,790 --> 00:41:28,870 желите да мислим, ок, је то сајт остваривању циља да сам кренуо да радим? 659 00:41:28,870 --> 00:41:33,410 Другим речима, ако сајт ће учинити Кс, је оно што сам радио у правцу Кс? 660 00:41:33,410 --> 00:41:36,450 Да ли су све функционалности које сам тамо желео? 661 00:41:36,450 --> 00:41:39,340 И штавише, она је служио општег циља који желим? 662 00:41:39,340 --> 00:41:43,200 Ако сте налаз да је ваш сајт почиње да улазим у другом правцу 663 00:41:43,200 --> 00:41:47,330 или можда ствари некако се не ради, можда је време да променимо брзину мало. 664 00:41:47,330 --> 00:41:51,700 Другим речима, то је вредно разматрања - вреди избацују идеје, ако је потребно 665 00:41:51,700 --> 00:41:57,950 и ја с обзиром заиста ради на шта желим да будем. 666 00:41:57,950 --> 00:42:00,760 >> Ја верујем да је мој следећи поен. Немојте се плашити да напусти идеје. 667 00:42:00,760 --> 00:42:03,750 Само зато што сте провели много сати рада на функцију 668 00:42:03,750 --> 00:42:07,890 и коначно добио оно ради, али то заиста не иде тако добро - 669 00:42:07,890 --> 00:42:12,690 као није то корисно или корисници имају проблема да га користите - такве ствари - 670 00:42:12,690 --> 00:42:15,300 не плашите се да га баци. 671 00:42:15,300 --> 00:42:17,650 То је срање да сте провели много времена радећи на њему, 672 00:42:17,650 --> 00:42:21,870 али на крају не желите сајт који је некако саставио тим комадима који 673 00:42:21,870 --> 00:42:25,380 врста посла, али се то није добро служио. 674 00:42:25,380 --> 00:42:27,990 Такође, немојте се плашити да прихвате нове идеје. 675 00:42:27,990 --> 00:42:30,050 Ако неко дође и каже, хеј, тај сајт изгледа стварно цоол али 676 00:42:30,050 --> 00:42:32,290 не би уопште било сјајно ако је такође урадио ово? 677 00:42:32,290 --> 00:42:36,220 Само зато што је то нешто што нисте намеравали и нешто што није у вашем 678 00:42:36,220 --> 00:42:37,900 спецификације, нешто што нисте кренули да радимо, 679 00:42:37,900 --> 00:42:40,860 не плашите се да га преузме и онда радити са њом. 680 00:42:40,860 --> 00:42:43,680 Зато често идеје које покрећу са целом току развоја 681 00:42:43,680 --> 00:42:47,630 завршити као стварно кул карактеристике сајта. 682 00:42:47,630 --> 00:42:49,630 >> Ја сам раније рекао. Ја ћу рећи поново. 683 00:42:49,630 --> 00:42:51,630 Тестери су супер, супер користан. 684 00:42:51,630 --> 00:42:56,350 Покушајте да се људи који никада нису видели сајт пре него што се пријавите на и видети шта се дешава 685 00:42:56,350 --> 00:42:59,080 јер они могу не само да тестира корисност сајта и корисничко искуство, 686 00:42:59,080 --> 00:43:02,070 али они такође могу тестирати функционалност на начин да не можете. 687 00:43:02,070 --> 00:43:06,430 Ако направите неку функцију да ради одређене ствари 688 00:43:06,430 --> 00:43:11,620 а ви знате да ће то урадити исту ствар исправно сваки пут, то је супер. 689 00:43:11,620 --> 00:43:16,610 Али, то често може бити тешко да се објасни угаоним случајевима где корисник може да 690 00:43:16,610 --> 00:43:19,500 укуцајте нешто што нисте очекивали - управо зато што је дефинисано 691 00:43:19,500 --> 00:43:21,500 карактеристике себе. 692 00:43:21,500 --> 00:43:23,730 Дакле, да неко дође по ко нема појма како да користи сајт 693 00:43:23,730 --> 00:43:26,840 и да само га разбити у било начина они могу да ураде је заиста корисно јер вам 694 00:43:26,840 --> 00:43:30,340 добити идеју из потпуно другачије перспективе онога на вашем сајту се ради 695 00:43:30,340 --> 00:43:33,300 и шта треба да се поправи. 696 00:43:33,300 --> 00:43:37,070 >> Последња, ја ћу говорити о неким општим добрим праксама, 697 00:43:37,070 --> 00:43:42,470 и ви сте видели доста њих у ЦС50, али они такође стварно, стварно применити у окружењу пројекта. 698 00:43:42,470 --> 00:43:47,600 Један је коментара. Увек цоммент своју шифру, посебно ако радите на великом тиму. 699 00:43:47,600 --> 00:43:51,230 То може бити тако досадан да само имају огромну блок кода који је неко написао 700 00:43:51,230 --> 00:43:54,230 и можда ради, можда то није случај, али немате појма шта ради, 701 00:43:54,230 --> 00:43:58,010 па ви немате појма да ли је то корисно или не, или да ли би требало да буде тамо или не, 702 00:43:58,010 --> 00:44:00,200 и ако радите на нечему другом да је чак могуће да радите на 703 00:44:00,200 --> 00:44:06,590 иста ствар, па само да буде веома, веома опрезан да буде разумевања за ваше вршњака 704 00:44:06,590 --> 00:44:09,710 и код писања да је добро документовано. 705 00:44:09,710 --> 00:44:13,580 Не морате да идете тако далеко да уради целу ствар где се допада ако повећате 706 00:44:13,580 --> 00:44:16,620 бројач има коментар који каже, сам додао 1 до овог шалтера. 707 00:44:16,620 --> 00:44:20,450 То не мора да буде да је детаљно, али за било коју функцију да сте икада пишете 708 00:44:20,450 --> 00:44:23,160 требало би да имају неку документацију о томе шта да ради тачно функција, 709 00:44:23,160 --> 00:44:25,140 шта његови улази су, и шта треба да се врате. 710 00:44:25,140 --> 00:44:27,800 На тај начин можете да користите друге компоненте људи на сајту 711 00:44:27,800 --> 00:44:31,990 и можете да радите у правцу изградње нешто велико. 712 00:44:31,990 --> 00:44:34,100 >> Друга важна ствар је да желите да урадите редовне чисте прозоре. 713 00:44:34,100 --> 00:44:40,490 Код добија нереду. Не осећају лоше ако је ваш број је само потпуно нечитљива и гигант неред. 714 00:44:40,490 --> 00:44:42,770 То се дешава у веб развоју увек. 715 00:44:42,770 --> 00:44:46,530 Ти додаје нове функције, уклањање старих. Ствари ће бити тамо да не би требало да буде. 716 00:44:46,530 --> 00:44:49,330 То је у реду, али желите да се уверите да се баве то редовно. 717 00:44:49,330 --> 00:44:53,430 Ви не желите да дозволите да се изгради до тачке у којој сте једноставно не можете наћи ништа 718 00:44:53,430 --> 00:44:56,430 у свом коду, а ви немате појма шта се нешто ради. 719 00:44:56,430 --> 00:44:58,430 То је случај са ХТМЛ. 720 00:44:58,430 --> 00:44:59,490 Понекад ћете завршити са објектима који не садрже ништа, 721 00:44:59,490 --> 00:45:01,320 и ви ћете желети да се ослободе оних. 722 00:45:01,320 --> 00:45:04,610 У ЦСС, можете се односи на елементе који нису више тамо, 723 00:45:04,610 --> 00:45:06,340 па желите да се ослободите тог кода. 724 00:45:06,340 --> 00:45:09,900 У ЈаваСцрипт, можда сте уклонити нешто из ХТМЛ. 725 00:45:09,900 --> 00:45:13,150 Дакле, желите да се уверите да сте увек чишћење, чинећи ствари прилично 726 00:45:13,150 --> 00:45:17,450 колико год можете на редовној основи. 727 00:45:17,450 --> 00:45:21,060 >> Још једна корисна ствар коју заиста не мислим да је наведено у веома ЦС50 728 00:45:21,060 --> 00:45:23,430 али вреди улазим је контролом верзија. 729 00:45:23,430 --> 00:45:27,180 Идеја контроле верзија је у основи када се праћење свих напретка 730 00:45:27,180 --> 00:45:30,820 Ви сте направили ка вашем сајту и ако у било ком тренутку сте схватили, ох, ово је радио 731 00:45:30,820 --> 00:45:35,220 пре док, али то не ради више, можете да се вратите на претходне верзије 732 00:45:35,220 --> 00:45:37,720 и видети шта се променило од тада и такве ствари. 733 00:45:37,720 --> 00:45:41,670 Примарни начин да то урадите је са Гит, а Гит је цела ова врста система који 734 00:45:41,670 --> 00:45:46,390 Верујем Томи МацВиллиам дао семинар о прошле године. 735 00:45:46,390 --> 00:45:51,520 Ако идете у ЦС50 семинара за 2011, можете видети његов семинар о томе. 736 00:45:51,520 --> 00:45:57,070 Идеја је у основи Гит да у редовним интервалима правите ове обавезе 737 00:45:57,070 --> 00:46:01,430 који су начина да се каже сајт је у прилично стабилну верзију сада тако 738 00:46:01,430 --> 00:46:05,910 Ја сам га горе паковање и слање далеко на сервер, а онда можете да одете на том серверу 739 00:46:05,910 --> 00:46:07,910 и погледајте свим претходним верзијама кода и видети како је напредовала 740 00:46:07,910 --> 00:46:12,210 и све то некако добрих ствари. 741 00:46:12,210 --> 00:46:14,210 Дакле, то је у основи то. 742 00:46:14,210 --> 00:46:17,870 Што се тиче веб развој, ми смо срећни да се држимо око и одговори на било 743 00:46:17,870 --> 00:46:20,570 питања што се тиче наше презентације. 744 00:46:20,570 --> 00:46:22,900 То је то. Хвала. >> [Бен] Хвала. 745 00:46:22,900 --> 00:46:28,480 [Аплауз] 746 00:46:28,480 --> 00:46:30,950 >> [Билли] штаб, да ли неко има било каква питања о стварима које смо покривени 747 00:46:30,950 --> 00:46:33,950 или ствари које ми не смо покривени да су се надали да ћемо покрити? 748 00:46:33,950 --> 00:46:35,950 Биће нам драго да одговоримо онима. Било ко? 749 00:46:35,950 --> 00:46:50,360 [Члан публика] Које су предности и мане коришћења Руби или користећи Питхон? 750 00:46:50,360 --> 00:46:58,660 [Бен] Питање је било, шта су предности и мане коришћења Руби или Питхон 751 00:46:58,660 --> 00:46:59,900 уместо као ПХП. 752 00:46:59,900 --> 00:47:11,340 Професионалци су да Руби и Питхон су много бољи него језици ПХП. 753 00:47:11,340 --> 00:47:14,920 Барем по мом мишљењу, и ја мислим да у многим мишљењима других људи, као добро. 754 00:47:14,920 --> 00:47:20,990 Они су дизајнирани за више раде сложене ствари, 755 00:47:20,990 --> 00:47:25,380 и мање за изванредан заједно веб странице заиста брзо са 756 00:47:25,380 --> 00:47:28,400 мало динамичког садржаја. 757 00:47:28,400 --> 00:47:35,180 Затвореници су да постоји мало - има више од учења 758 00:47:35,180 --> 00:47:37,220 да их подесите. 759 00:47:37,220 --> 00:47:41,010 То је, као у ПХП-у, можете само да имате ХТМЛ датотеку и пишете мање-него, 760 00:47:41,010 --> 00:47:43,060 знак питања, а онда пишете неку шифру, а затим пишете знак питања, 761 00:47:43,060 --> 00:47:45,700 веће од, а затим готови сте. 762 00:47:45,700 --> 00:47:50,300 У другим језицима, као што су Руби и Питхон, 763 00:47:50,300 --> 00:47:56,810 морате да прође кроз мало више посла да се почетни сајт ради. 764 00:47:56,810 --> 00:48:02,730 Ту је - барем је то било случај - да постоји више документација 765 00:48:02,730 --> 00:48:05,480 на располагању за ПХП само зато што има више људи га користе. 766 00:48:05,480 --> 00:48:09,370 Ја мислим да то није толико ни проблем више. 767 00:48:09,370 --> 00:48:12,520 Нема сумње да је веома добра документација за ствари као Руби он Раилс 768 00:48:12,520 --> 00:48:16,080 или Дјанго за Питхон је еквивалент. 769 00:48:16,080 --> 00:48:25,910 ПХП је један који је користио свако годинама, а ви знате како то функционише. 770 00:48:25,910 --> 00:48:28,460 Руби и Питхон су мало мање зрео. 771 00:48:28,460 --> 00:48:33,130 >> [Члан публика] Ако сте били да бира између једног од њих да науче или покупи, 772 00:48:33,130 --> 00:48:36,130 што би ти волео? 773 00:48:36,130 --> 00:48:38,870 Искрено, мислим да зависи од особе. 774 00:48:38,870 --> 00:48:45,450 Жао ми је. Питање је који би сте изабрали за некога да научи? 775 00:48:45,450 --> 00:48:50,230 Ја лично наћи Пајтон најлепше. 776 00:48:50,230 --> 00:48:55,360 Постоји много људи који су - Јесам мој први пројекат веб дев у Питхон и Дјанго. 777 00:48:55,360 --> 00:49:00,300 Постоји много људи који воле Руби он Раилс, такође. 778 00:49:00,300 --> 00:49:02,650 Вероватно више људи који знају Руби он Раилс. 779 00:49:02,650 --> 00:49:05,270 Искрено, ја бих ићи са било људи око тебе знају 780 00:49:05,270 --> 00:49:09,680 тако да имате људе да постављају питања. 781 00:49:19,640 --> 00:49:24,170 >> Питање је било - на дељеним серверима то је некако тешко да раде на Питхон? 782 00:49:24,170 --> 00:49:26,170 То зависи од вашег хостинг. 783 00:49:26,170 --> 00:49:29,400 Постоји број веб домаћини који ће постављати Питхон ствари. 784 00:49:29,400 --> 00:49:31,400 Вебфацтион то ради, зар не? 785 00:49:31,400 --> 00:49:34,400 Вебфацтион је онај који Били и ја користио за неке пројекте. 786 00:49:34,400 --> 00:49:37,750 Они су стварно супер. Они подржавају већину језика. 787 00:49:37,750 --> 00:49:40,020 Али истина је да је ПХП је широко подржана много. 788 00:49:40,020 --> 00:49:45,210 Дакле, ако сте заглављени на веб хост који само чини ПХП, то је добар разлог да користе ПХП. 789 00:49:45,210 --> 00:49:56,010 >> [Члан публика] Управо сам стигао у учење како да надјете неке базе података, 790 00:49:56,010 --> 00:50:00,680 и знам да је мој СКЛ је свуда, али недавно сам изложен - 791 00:50:00,680 --> 00:50:04,470 а ви га истакао. Видиш ЈСОН и прошириве базе података. 792 00:50:04,470 --> 00:50:14,580 Ми СКЛ је и даље свуда. Како видите то дешава? 793 00:50:14,580 --> 00:50:21,330 Да ли ће бити већа тенденција за више прошириве (нечујан)? 794 00:50:21,330 --> 00:50:30,100 Питање је било - не мислим да ће то бити тренд не-СКЛ базама података. 795 00:50:30,100 --> 00:50:33,850 На пример, као МонгоДБ. Мислим да је дефинитивно истина. 796 00:50:33,850 --> 00:50:38,730 Мој савет је углавном миСКЛ-релатед овде само зато што је миСКЛ 797 00:50:38,730 --> 00:50:40,950 индустријски стандард. 798 00:50:40,950 --> 00:50:45,950 Лично, ја много волим базе података које немају сцхемос као МонгоДБ 799 00:50:45,950 --> 00:50:49,520 где немате питање, ох, морам да додам још једну колону. 800 00:50:49,520 --> 00:50:51,600 Тешко мени, као шта год да радим? 801 00:50:51,600 --> 00:50:55,840 Веома је тешко да се то уради на МиСКЛ, али када имате нешто као Монго 802 00:50:55,840 --> 00:50:57,840 то је много лепше. 803 00:50:57,840 --> 00:51:03,780 Други лепа ствар код Монго је да ваши подаци су заправо ЈаваСцрипт објекти. 804 00:51:03,780 --> 00:51:10,110 Нема врста корака конверзије где је потребно да се ове редове базе података 805 00:51:10,110 --> 00:51:13,140 и претворити их у ЈаваСцрипт објекат, а затим послати их преко жице. 806 00:51:13,140 --> 00:51:20,290 Мислим да такве ствари ће бити веома, веома корисно за брзо веб развоја у будућности. 807 00:51:20,290 --> 00:51:23,060 >> [Билли] Нешто бих додати што је само општа ствар је да 808 00:51:23,060 --> 00:51:26,580 не осећају као да треба да сте научили све језике смо разговарали 809 00:51:26,580 --> 00:51:28,580 из нашег семинара. 810 00:51:28,580 --> 00:51:30,560 Очигледно поента је да вам дати идеју о томе шта је тамо, 811 00:51:30,560 --> 00:51:33,450 а ако сте заинтригирани било од ствари које смо поменули да можете да их Гоогле- 812 00:51:33,450 --> 00:51:35,830 и чита се на њих. 813 00:51:35,830 --> 00:51:38,750 И као што сам поменуо, постоји неколико семинара који се баве управо тим стварима. 814 00:51:38,750 --> 00:51:41,660 Постоје чак и више семинари које нисам поменуо да вероватно добити у 815 00:51:41,660 --> 00:51:43,660 ове ствари као добро. 816 00:51:43,660 --> 00:51:46,610 Идеја је да ако желите да радите на нечему, овде су алати на располагању. 817 00:51:46,610 --> 00:51:51,630 Не осећају преплављени ако нисте сасвим сигурни шта ови алати раде управо, 818 00:51:51,630 --> 00:51:54,830 али знам да су тамо и да можете направити широку употребу од њих 819 00:51:54,830 --> 00:51:56,830 Гоогле. 820 00:51:56,830 --> 00:51:59,960 >> [Члан публика] Какве ствари вам је потребно да урадите да проверите да ли ваш сајт 821 00:51:59,960 --> 00:52:02,530 добро изгледа на мобилним уређајима? 822 00:52:02,530 --> 00:52:05,590 [Билли] Мобилни уређаји су мало тешко. 823 00:52:05,590 --> 00:52:07,590 Постоји 2 начина можете да прилазе. 824 00:52:07,590 --> 00:52:11,500 Први начин је да ви заправо имате мобилни сајт. 825 00:52:11,500 --> 00:52:14,660 Другим речима, да извршите неку врсту детекције на почетку 826 00:52:14,660 --> 00:52:18,830 када претраживач шаље захтев на Вашем сајту који каже или 827 00:52:18,830 --> 00:52:25,240 врати овај приказ - који ће бити приказ за десктоп или лаптоп прегледачима - 828 00:52:25,240 --> 00:52:27,710 и овај други поглед на мобилне уређаје. 829 00:52:27,710 --> 00:52:33,090 То је место где су прикази заиста лепо у који можете прилично своп 830 00:52:33,090 --> 00:52:37,580 два напоље и имају интерфејс који ради заиста лепо на мобилним уређајима 831 00:52:37,580 --> 00:52:40,770 и имају потпуно другачији онај који ради лепо на претраживача уређаја. 832 00:52:40,770 --> 00:52:43,770 Проблем је у томе што је потребно дуго времена, јер то значи кодирање 833 00:52:43,770 --> 00:52:47,060 потпуно другачији интерфејс. 834 00:52:47,060 --> 00:52:49,720 Други начин на који можете да урадите је - 835 00:52:49,720 --> 00:52:55,250 доста модерних телефона ће се приказати сајтова и покушати да их донесе као претраживач би, 836 00:52:55,250 --> 00:52:57,680 и они дају све од себе. 837 00:52:57,680 --> 00:53:04,340 Можете да некако покушати да остане светло на висини од јКуери ЈаваСцрипт који користите 838 00:53:04,340 --> 00:53:07,360 који тежи да буде место где ствари могу кренути наопако мало. 839 00:53:07,360 --> 00:53:13,430 То је врста начин да ви треба да користите ако немате толико времена. 840 00:53:13,430 --> 00:53:18,540 Ако имате времена да раде на мобилном интерфејса, то је очигледно ваш најбољи избор. 841 00:53:18,540 --> 00:53:23,320 >> Мислим генерално за ЦС50 пројекте, идете да желите да изаберете једно или друго. 842 00:53:23,320 --> 00:53:27,990 Другим речима, желите да направите апликацију за мобилне уређаје или желите да направите десктоп сајт. 843 00:53:27,990 --> 00:53:32,200 И та врста одређује куда идете са тим. 844 00:53:32,200 --> 00:53:35,360 Али ако желите да га прошире касније, вероватно најбоље је 845 00:53:35,360 --> 00:53:37,360 да би још један интерфејс за друге. 846 00:53:51,650 --> 00:53:56,340 Имам мало искуства у развоју ВордПресс-базиране сајтове. 847 00:53:56,340 --> 00:53:58,670 Ја домаћин лични сајт на ВордПресс за неко време. 848 00:53:58,670 --> 00:54:02,310 Те врсте оквира могу бити лепе као веома основне ствари. 849 00:54:02,310 --> 00:54:07,050 Често само ћете наићи на много Цустомизабилити питања ипак. 850 00:54:07,050 --> 00:54:10,940 Ви ћете желети да имате нешто изгледају на одређени начин или да буде сигуран начин 851 00:54:10,940 --> 00:54:14,510 а ви једноставно не можете јер је каблом у систем који 852 00:54:14,510 --> 00:54:17,480 ово је како морате да радите ствари које могу бити мали проблем. 853 00:54:17,480 --> 00:54:22,020 Од тада сам некако била више склона да ради са сајтовима из темеља. 854 00:54:22,020 --> 00:54:26,840 За ствари као што су блог база података и те ствари то стварно није тако тешко да се изгради оквир. 855 00:54:26,840 --> 00:54:29,970 Ако сте стварно протезао на време, можете наравно користити нешто као ВордПресс 856 00:54:29,970 --> 00:54:33,120 или тако нешто за блог. 857 00:54:33,120 --> 00:54:38,790 Врсте ствари које блогове продавница и урадити није заиста тешко довољно да 858 00:54:38,790 --> 00:54:41,500 ако налетим на било који од тих врста ствари, ти си вероватно најбоље само да 859 00:54:41,500 --> 00:54:43,500 направити у кући верзију. 860 00:54:43,500 --> 00:54:48,350 >> Мислим да је о томе, па хвала опет за долазак. 861 00:54:48,350 --> 00:54:51,960 Заиста смо уживали разговара са вама и надам се да сте научили неке ствари. 862 00:54:51,960 --> 00:54:55,350 [Бен] Ми смо срећни да разговарамо - морамо да идемо, али ми смо срећни да више разговарамо напољу 863 00:54:55,350 --> 00:55:01,650 ако имате још једно питање. Хвала још једном. [Аплауз] 864 00:55:03,750 --> 00:55:06,000 [ЦС50.ТВ]