1 00:00:00,000 --> 00:00:02,500 [Powered by Google Translate] [Seminaar] [Web Development: Van idee tot uitvoering] 2 00:00:02,500 --> 00:00:04,200 [Ben Kuhn] [Billy Janitsch] [Harvard Universiteit] 3 00:00:04,200 --> 00:00:07,250 [Hierdie is CS50] [CS50.TV] 4 00:00:07,250 --> 00:00:10,840 [Billy] Hi, ek is Billy en dit is Ben. >> [Ben] Hi. 5 00:00:10,840 --> 00:00:12,840 Ons gaan vandag om te praat oor web ontwikkeling. 6 00:00:12,840 --> 00:00:14,840 [WebDev] [Billy Janitsch en Ben Kuhn] 7 00:00:14,840 --> 00:00:16,840 'N bietjie oor ons eerste. 8 00:00:16,840 --> 00:00:19,590 Ben is 'n soort van die back-end man. Hy maak dinge werk. 9 00:00:19,590 --> 00:00:21,870 En dan gaan ek in en maak hulle mooi. 10 00:00:21,870 --> 00:00:26,610 Ek is grootliks betrokke by meer front-end uitleg ontwerp soort dinge, 11 00:00:26,610 --> 00:00:31,260 en Ben, aan die ander kant, weet wat hy doen so hy werk op back-end dinge. 12 00:00:31,260 --> 00:00:34,050 Saam het ons n paar dinge wat gemaak is. 13 00:00:34,050 --> 00:00:38,710 Byvoorbeeld, verlede jaar het ons gewerk het op Gimblium wat is 'n aanlyn spel ontwikkeling studio. 14 00:00:38,710 --> 00:00:40,400 Dit was ons laaste projek vir die klas, 15 00:00:40,400 --> 00:00:42,780 en sedertdien het ons gemaak het Harvard Klas 16 00:00:42,780 --> 00:00:47,860 wat is 'n aanlyn-raamwerk vir blaai en shopping kursusse by Harvard. 17 00:00:47,860 --> 00:00:53,180 >> Ons gaan om te begin met hierdie idee vir ons webwerf. 18 00:00:53,180 --> 00:00:57,480 Ons gaan Facebook te maak nie, maar vir die katte. 19 00:00:57,480 --> 00:00:59,520 Voordat jy eintlik maak van hierdie webwerf, 20 00:00:59,520 --> 00:01:02,520 maak nie hierdie webwerf, want dit is nie goed nie, maar ons sal dit gebruik as 'n raamwerk 21 00:01:02,520 --> 00:01:05,349 en gaan deur die proses van hoe ons hierdie idee 22 00:01:05,349 --> 00:01:07,450 en draai dit in 'n ware webwerf wat ons kan gebruik. 23 00:01:07,450 --> 00:01:11,940 Ons begin deur die breek van die webwerf af. 24 00:01:11,940 --> 00:01:13,190 Soos jy gedoen het in CS50, 25 00:01:13,190 --> 00:01:17,360 jy wil om te dink oor wat die werklike komponente wat gaan in hierdie webwerf. 26 00:01:17,360 --> 00:01:21,290 Basies draai dit uit 'n idee wat net soort van 'n abstrakte konsep 27 00:01:21,290 --> 00:01:23,590 in 'n werklike, tasbare ding wat jy kan maak. 28 00:01:23,590 --> 00:01:25,910 Ons begin deur te vra 'n paar vrae. 29 00:01:25,910 --> 00:01:28,070 Wat is hierdie webwerf? Hoekom maak ons ​​dit? 30 00:01:28,070 --> 00:01:30,670 Wat gaan dit gebruik word? Daardie soort van ding. 31 00:01:30,670 --> 00:01:33,660 In die geval van Facebook Cat, 32 00:01:33,660 --> 00:01:37,730 Ons het basies wil 'n webwerf wat kan katte sosiale netwerk met mekaar. 33 00:01:37,730 --> 00:01:41,260 Die idee is dat hulle kan plaas op mekaar se mure, 34 00:01:41,260 --> 00:01:43,510 hulle kommentaar, wat soort van ding kan maak. 35 00:01:43,510 --> 00:01:46,720 En dit is waar ons na die funksionele komponente kom. 36 00:01:46,720 --> 00:01:51,270 Ons het nou hierdie soort van raamwerk van - ons het die gebruiker profiele, 37 00:01:51,270 --> 00:01:53,990 Ons het kommentaar, en ons kan plaas. 38 00:01:53,990 --> 00:01:57,390 Miskien eendag sal ons influent hou en dat die soort van ding. 39 00:01:57,390 --> 00:02:00,410 En ons soort wil hierdie eienskappe gaan in te prioritiseer 40 00:02:00,410 --> 00:02:03,340 Ons wil graag sê, okay, dit is regtig belangrik dat almal het 'n profiel 41 00:02:03,340 --> 00:02:06,440 en dat almal kan plaas op mekaar se mure. 42 00:02:06,440 --> 00:02:08,509 Sekondêre dat, sou kommentaar lekker wees. 43 00:02:08,509 --> 00:02:10,180 Miskien later sal ons influent hou. 44 00:02:10,180 --> 00:02:13,700 So, jy wil 'n idee van wat fundamenteel tot jou projek te hê 45 00:02:13,700 --> 00:02:17,260 en wat is soort van 'n meer algemene verskynsel wat later toegepas kan word. 46 00:02:17,260 --> 00:02:20,870 Jy wil soort van 'n spesifieke lys in gedagte, 47 00:02:20,870 --> 00:02:24,090 Maar die projek wat jy begin is nie van plan om die projek wat jy voltooi te wees met. 48 00:02:24,090 --> 00:02:27,100 Met ander woorde, dinge gaan verander terwyl jy die webwerf ontwikkeling, 49 00:02:27,100 --> 00:02:30,090 en jy wil die kamer te verlaat vir wat. 50 00:02:30,090 --> 00:02:34,470 Ek sal draai dit om te Ben wie gaan 'n bietjie om te praat oor struktuur. 51 00:02:34,470 --> 00:02:39,610 >> [Ben] Ek gaan om te praat oor die meer tegniese kant van web ontwikkeling. 52 00:02:39,610 --> 00:02:42,370 Kom ons gaan net meer as 'n paar basiese beginsels eerste. 53 00:02:42,370 --> 00:02:45,730 Wanneer jy doen 'n web artikels, 54 00:02:45,730 --> 00:02:50,470 die hoof afdeling wat jy gaan te hê is 55 00:02:50,470 --> 00:02:52,700 jy gaan 'n paar dinge aan die gang in die kliënt se kant te hê - 56 00:02:52,700 --> 00:02:56,700 dit is die kode wat jy die leser neem van die werf 57 00:02:56,700 --> 00:03:01,910 en die JavaScript, HTML, CSS dinge. 58 00:03:01,910 --> 00:03:04,490 Dit is al wat op die kliënt kant. 59 00:03:04,490 --> 00:03:08,680 Jy gaan ander kode wat loop op die bediener kant te hê 60 00:03:08,680 --> 00:03:10,770 wat hou van al die data wat mense stuur vir julle, 61 00:03:10,770 --> 00:03:15,060 besluit wat om te gee wat, dinge soos dat. 62 00:03:15,060 --> 00:03:20,380 Dit is net 'n paar terme sodat jy ouens is almal vertroud is met wat ons praat. 63 00:03:20,380 --> 00:03:28,600 Beyond daardie afdeling dit is goed om te dink van jou web artikels in terme van 64 00:03:28,600 --> 00:03:32,500 'n paar van die verskillende komponente. 65 00:03:32,500 --> 00:03:35,270 Wanneer jy die web-ontwikkeling te doen 66 00:03:35,270 --> 00:03:41,710 een van die dinge wat jy altyd moet probeer om te doen, is om kompleksiteit te verminder. 67 00:03:41,710 --> 00:03:45,710 Die meer komplekse jou kode is die kans daar is foute te maak, 68 00:03:45,710 --> 00:03:47,710 hoe moeiliker is dit om later verander. 69 00:03:47,710 --> 00:03:50,140 So, as jy kan breek jou artikels in 'n paar verskillende funksionele areas 70 00:03:50,140 --> 00:03:57,640 Dit sal - en jy kan die soort van bedrag van kruis-area kommunikasie verminder - 71 00:03:57,640 --> 00:04:03,530 wat sal help om 'n lot in die lang termyn in terme van die vermindering van foute. 72 00:04:03,530 --> 00:04:07,950 >> Om beton wees, gewoonlik mense verdeel 'n web artikels in - 73 00:04:07,950 --> 00:04:13,190 dit is soort van buzz woorde nou nie, maar hulle is nog steeds nuttig. 74 00:04:13,190 --> 00:04:17,940 Jy kan gehoor het mense praat oor modelle, sienings, en leiers. 75 00:04:17,940 --> 00:04:23,210 Modelle is die werklike data dat jou artikels gaan om te hanteer. 76 00:04:23,210 --> 00:04:28,260 Byvoorbeeld, in jou kat Facebook, sal jou modelle wees - 77 00:04:28,260 --> 00:04:35,340 jy het 'n model vir soos poste, en 'n model vir die gebruiker profiele, dinge soos dat. 78 00:04:35,340 --> 00:04:41,090 Jou mening is hoe jy bied dat data vir jou gebruikers. 79 00:04:41,090 --> 00:04:46,660 Jy kan hê 1 oog vir die soek by 'n enkele post en al die kommentaar 80 00:04:46,660 --> 00:04:51,720 en 'n ander siening vir jou muur wat 'n lys van al die poste 81 00:04:51,720 --> 00:04:57,170 wat gerig is op jou, en 'n ander siening vir jou nuus voer - dinge soos dat. 82 00:04:57,170 --> 00:05:00,610 Ten slotte, jy het die leiers wat basies wanneer mense aan jou stuur nie poste 83 00:05:00,610 --> 00:05:03,310 en jy maak updates jou back-end-stelsel, 84 00:05:03,310 --> 00:05:06,400 jy inkrementeer 'n klomp van aandele, en wat ook al. 85 00:05:06,400 --> 00:05:07,860 Dit is jou leiers. 86 00:05:07,860 --> 00:05:11,030 >> Ek gaan word meestal praat oor modelle. 87 00:05:11,030 --> 00:05:14,030 Uitsig is tegnies nie so moeilik en die kwessie is meer met die ontwerp van hulle 88 00:05:14,030 --> 00:05:22,040 Controllers gaan spesifiek vir alles wat jy ontwerp wees. 89 00:05:22,040 --> 00:05:25,220 Maar daar is 'n paar mooi algemene tegnieke wat jy kan gebruik 90 00:05:25,220 --> 00:05:30,220 jou modelle mooier en makliker om te werk met wat ek dink is baie nuttig te maak. 91 00:05:30,220 --> 00:05:35,860 Dit is meestal gaan wees oor hoe om te gaan met jou web programme data in 'n mooi manier. 92 00:05:35,860 --> 00:05:40,420 Die belangrikste kwessies met modelle 93 00:05:40,420 --> 00:05:44,540 is dat hulle op die kliënt en die bediener en jy het om uit te vind 94 00:05:44,540 --> 00:05:51,170 a) hoe om dit te kry - al die betrokke kinders - van die bediener aan die kliënt, 95 00:05:51,170 --> 00:05:53,440 en b) hoe om dit in pas te hou. 96 00:05:53,440 --> 00:05:58,700 Jou gebruikers gaan wil 'n paar updates te maak. 97 00:05:58,700 --> 00:06:00,470 Hulle gaan om te wil nuwe poste te maak. 98 00:06:00,470 --> 00:06:04,800 Hulle gaan om te wil dinge en dinge te hou as jy hou. 99 00:06:04,800 --> 00:06:11,490 Dít is die belangrikste tegniese uitdagings van die hantering van modelle. 100 00:06:11,490 --> 00:06:15,680 Die eerste ding wat jy gaan om te wil om jouself te vra is 101 00:06:15,680 --> 00:06:18,420 watter soort data gaan in hierdie model en watter soort navrae gaan ons wil doen - 102 00:06:18,420 --> 00:06:24,290 dit wil sê, hoe gaan ons om te kyk na die modelle? 103 00:06:24,290 --> 00:06:26,940 Vir jou kat Facebook byvoorbeeld 104 00:06:26,940 --> 00:06:31,520 jou post gaan 'n skrywer wat verband hou met dit te hê, 105 00:06:31,520 --> 00:06:35,660 sommige muur post teks, en 'n ontvanger van die muur post. 106 00:06:35,660 --> 00:06:38,470 En dan kan jy wil om dit te bevraagteken in 'n klomp verskillende maniere. 107 00:06:38,470 --> 00:06:42,220 Jy sal wil hê om te kyk na dit deur wie watter post geskryf het, 108 00:06:42,220 --> 00:06:46,620 deur wie ontvang wat post, miskien deur die datum wat hulle gepos is. 109 00:06:46,620 --> 00:06:50,340 Maar as jy gaan om dit te doen deur die datum, dan het jy 'n ander veld toe te voeg tot jou post 110 00:06:50,340 --> 00:06:52,490 wanneer dit was eintlik gepos. 111 00:06:52,490 --> 00:07:00,220 Hierdie 2 faktore - wat data wat jy wil gebruik en hoe jy dit wil sien - 112 00:07:00,220 --> 00:07:04,200 jy moet dink oor hulle eerste omdat hulle afhanklik is van mekaar, 113 00:07:04,200 --> 00:07:08,030 en dit gaan moeiliker wees om hulle by te voeg later. 114 00:07:08,030 --> 00:07:12,750 >> Daar is 'n paar ander oorwegings. 115 00:07:12,750 --> 00:07:17,540 Wanneer jy dink oor hoe jy te doen met modelle op die bediener 116 00:07:17,540 --> 00:07:20,540 wat jy wil om te kyk na is - 117 00:07:20,540 --> 00:07:27,440 jy basies wil die bediener so eenvoudig as moontlik te maak. 118 00:07:29,440 --> 00:07:35,500 Doen dinge op die kliënt kant is oor die algemeen baie vinniger as jy dit kan doen bloot op die kliënt 119 00:07:35,500 --> 00:07:38,230 sonder om enige soort van netwerk versoek. 120 00:07:38,230 --> 00:07:47,860 Die idee is om soveel as moontlik van die vrae as wat jy kan op die kliënt te doen. 121 00:07:47,860 --> 00:07:51,560 Die enigste probleem met dit 122 00:07:51,560 --> 00:07:54,160 is dat as jy vra al jou data aan die begin 123 00:07:54,160 --> 00:07:57,160 dan is dit gaan 'n lang tyd om te laai te neem. 124 00:07:57,160 --> 00:08:02,290 So, die idee is om 'n gelukkige medium om te staak tussen genoeg data op die kliënt 125 00:08:02,290 --> 00:08:07,640 dat jy die meeste van jou werk kan doen, maar daar nie net haal alles op een slag 126 00:08:07,640 --> 00:08:09,710 sodat jy regtig stadig laai tye aan die begin. 127 00:08:09,710 --> 00:08:12,610 Byvoorbeeld, vir jou kat data 128 00:08:12,610 --> 00:08:20,340 sou jy waarskynlik wil 'n klomp van die onlangse muur poste te gaan haal. 129 00:08:20,340 --> 00:08:23,790 Jy wil nie almal van hulle te gaan haal, want dit kon terug 'n paar jaar gaan. 130 00:08:23,790 --> 00:08:25,470 Maar jy wil nie dit te gaan haal op 'n tyd 131 00:08:25,470 --> 00:08:28,740 want dit sou 'n baie van die netwerk oorhoofse stel. 132 00:08:28,740 --> 00:08:33,620 >> Dit is dikwels baie hard - wanneer jy 'n databasis bestuur - 133 00:08:33,620 --> 00:08:37,210 dit is dikwels baie moeilik om te verander wat data wat jy in dit - 134 00:08:37,210 --> 00:08:40,510 dit is, voeg 'n nuwe databasis kolom of iets - 135 00:08:40,510 --> 00:08:43,510 so 'n goeie strategie is eintlik net 'n klomp van jou data te hou in 'n teks blob - 136 00:08:43,510 --> 00:08:53,880 'n into blob - into synde JavaScript Object Notasie - 137 00:08:53,880 --> 00:08:58,330 Die rede is dat dit nuttig is, want dan kan jy nuwe eienskappe voeg 138 00:08:58,330 --> 00:09:01,920 om al hierdie into druppels sonder om jou databasis. 139 00:09:01,920 --> 00:09:06,860 Die enigste nadeel van dit is dat as jy 'n klomp van die velde 140 00:09:06,860 --> 00:09:09,890 dat jy later bygevoeg - soos verborge in daardie into blob - 141 00:09:09,890 --> 00:09:12,850 dan is dit moeiliker om hulle te bevraagteken in die databasis. 142 00:09:12,850 --> 00:09:17,690 Byvoorbeeld, as jy later - as jy jou post model wat ons vroeër bespreek 143 00:09:17,690 --> 00:09:25,380 met net die skrywer, die ontvanger en die teks - 144 00:09:25,380 --> 00:09:29,000 jy kan ook 'n into blob en dan as jy later wil 'n datum veld te voeg 145 00:09:29,000 --> 00:09:31,000 jy sal nie jou databasis te verander. 146 00:09:31,000 --> 00:09:36,140 Jy kan voeg net datums aan al die teks velde. 147 00:09:36,140 --> 00:09:39,640 En dan sal jy in staat wees om te kyk na die mense op die kliënt se kant, 148 00:09:39,640 --> 00:09:42,430 maar jy sal nie in staat wees om hulle te bevraagteken op die bediener kant 149 00:09:42,430 --> 00:09:44,430 want dit is weggesteek binne hierdie teks. 150 00:09:44,430 --> 00:09:49,920 >> Die ander kwessie wat jy wil om te dink oor 151 00:09:49,920 --> 00:09:52,400 is hoe om jou kliënt en bediener gaan om te kommunikeer. 152 00:09:52,400 --> 00:09:56,040 Jy wil dit gewoonlik te hou so eenvoudig as moontlik. 153 00:09:56,040 --> 00:10:02,230 Jy kan net soos 'n get-my-hierdie data versoek 154 00:10:02,230 --> 00:10:09,140 'n skep-'n-nuwe-voorwerp ding, en 'n werk-'n-ou-voorwerp versoek. 155 00:10:09,140 --> 00:10:12,930 En dit sou wees al die verskillende URL's op 'n bediener wat jy - 156 00:10:12,930 --> 00:10:20,030 dat die leser sal - jy kan gebruik AJAX versoeke vir al hierdie 157 00:10:20,030 --> 00:10:24,000 en óf ontvang of post data. 158 00:10:24,000 --> 00:10:26,600 Weereens, vir ons Kat Facebook byvoorbeeld 159 00:10:26,600 --> 00:10:32,350 jy kan die URL het 'n individuele post te kry, 160 00:10:32,350 --> 00:10:39,750 en jy wil 'n URL vir die skep van 'n nuwe muur post 161 00:10:39,750 --> 00:10:45,670 en dalk 'n URL vir die oplaai van jou profiel foto, dinge soos dat. 162 00:10:45,670 --> 00:10:51,730 Maar weereens, dit is 'n pre-haal die meeste van jou data, sodat jy nie hoef te hou 163 00:10:51,730 --> 00:10:53,360 maak netwerk versoeke. 164 00:10:53,360 --> 00:10:59,030 Om dié rede is, kan jy nie wil hê dat die individuele get versoek om 'n enkele post te hê, 165 00:10:59,030 --> 00:11:03,210 en in plaas daarvan sou jy wil net 1 get versoek vir die hele muur. 166 00:11:03,210 --> 00:11:06,110 En dan as jy probeer om 'n balans te vind, want - 167 00:11:06,110 --> 00:11:10,970 hierdie gaan ook afhang van jou aansoek. 168 00:11:10,970 --> 00:11:13,430 Want as jy verwag dat mense net 10 of 20 muur poste 169 00:11:13,430 --> 00:11:15,430 wat sal goed wees. 170 00:11:15,430 --> 00:11:17,390 Maar as jy verwag dat hulle sal duisende dan daardie versoek te lank sou neem, 171 00:11:17,390 --> 00:11:23,580 en so kan jy dalk 'n kry-alles-poste-sedert parameter toe te voeg. 172 00:11:23,580 --> 00:11:26,580 >> Vir al hierdie is jy waarskynlik gaan wil jou data te pas in into - 173 00:11:26,580 --> 00:11:29,260 JavaScript Object notasie. 174 00:11:29,260 --> 00:11:34,600 Pretty much elke taal oor into baie goed. 175 00:11:34,600 --> 00:11:40,880 JQuery het hierdie mooi getJSON funksie wat al die harde werk vir jou doen. 176 00:11:40,880 --> 00:11:47,390 En op PHP daar is ook 'n baie mooi into kommunikasie funksies. 177 00:11:47,390 --> 00:11:52,660 So, dit is waarskynlik die beste formaat vir die stuur van jou modelle heen en weer. 178 00:11:52,660 --> 00:11:56,570 >> As 'n voorbeeld van wat ons tot dusver gepraat het, 179 00:11:56,570 --> 00:12:00,520 hier is 'n voorbeeld vloei vir jou kat Facebook aansoek. 180 00:12:00,520 --> 00:12:07,760 Dit begin met die leser versoek om die base webwerf URL. 181 00:12:07,760 --> 00:12:15,470 Die bediener sal waarskynlik stuur oor statiese HTML en 'n paar JavaScript en CSS. 182 00:12:15,470 --> 00:12:19,170 Dit is gewoonlik die beste nie enige lewering op die bediener te doen. 183 00:12:19,170 --> 00:12:23,370 Jy het waarskynlik wil nie - 184 00:12:23,370 --> 00:12:28,360 wat die bediener is nie daar doen, is om af te gaan die lys van die muur poste 185 00:12:28,360 --> 00:12:31,120 en genereer 'n HTML vir elke een en stuur wat oor. 186 00:12:31,120 --> 00:12:34,960 Dit is gewoonlik die beste om dit te doen op die kliënt se kant, want anders 187 00:12:34,960 --> 00:12:38,580 elke keer as jy weer wil iets teken, het jy 'n bediener versoek te maak. 188 00:12:38,580 --> 00:12:42,450 En wat baie vinnig gee jou 'n baie van oorhoofse. 189 00:12:42,450 --> 00:12:47,430 Dit is gewoonlik die beste om net te skip stuur af statiese HTML 190 00:12:47,430 --> 00:12:50,660 en dan JavaScript en CSS wat die lewering doen op die kliënt kant. 191 00:12:50,660 --> 00:12:56,750 Sodra daardie dinge kom in, 192 00:12:56,750 --> 00:13:03,500 dan kan jy - in JavaScript - jy kan doen versoeke vir die muur data 193 00:13:03,500 --> 00:13:08,740 en dinge soos wat, en na dat die bediener is basies net besig databasis navrae 194 00:13:08,740 --> 00:13:10,740 en die nagaan van regte. 195 00:13:10,740 --> 00:13:16,690 Die enigste belangrike ding is dat dit nie 'n paar ander gebruikers muur poste kan stuur oor 196 00:13:16,690 --> 00:13:19,220 dat jy nie toegelaat word om te sien. 197 00:13:19,220 --> 00:13:28,050 Dit kan basies 'n baie dun laag toegang tot jou databasis, 198 00:13:28,050 --> 00:13:32,820 en dan is almal van die wat die data - al die menings en dinge - 199 00:13:32,820 --> 00:13:37,280 diegene kan gebeur in jou leser, en dan wanneer jy 'n pos of iets te maak 200 00:13:37,280 --> 00:13:40,000 jy net stuur 'n versoek. 201 00:13:40,000 --> 00:13:45,350 >> Daar is ook 'n paar fancy dinge wat jy kan doen op die top van hierdie. 202 00:13:45,350 --> 00:13:49,550 In terme van meer spesifieke tegniese inligting, 203 00:13:49,550 --> 00:13:53,360 ontwikkeling in plain JavaScript kan wees om 'n bietjie pynlik, 204 00:13:53,360 --> 00:13:56,220 so daar is 'n paar biblioteke en gereedskap wat sal help om 'n baie met dit. 205 00:13:56,220 --> 00:14:03,690 Ek dink jy het al waarskynlik gehoor van jQuery wat maak doen HTML lewering 206 00:14:03,690 --> 00:14:08,890 en manipulasie 'n baie makliker - het baie van die fancy funksies vir vervaag in en uit, 207 00:14:08,890 --> 00:14:12,020 en doen opgewek animasies. 208 00:14:12,020 --> 00:14:13,720 Daar is ook die biblioteek genoem Underscore.js. 209 00:14:13,720 --> 00:14:20,760 Dit het 'n baie nuttige nut funksies, dinge wat jy sou verwag JavaScript te hê 210 00:14:20,760 --> 00:14:24,740 dat dit werklik doesn't - dinge soos geskuifel 'n skikking, 211 00:14:24,740 --> 00:14:28,900 die verwydering van duplikate van 'n lys, of plat te slaan 'n lys van lyste. 212 00:14:28,900 --> 00:14:30,900 Dit is net 'n klein-kode monster. 213 00:14:30,900 --> 00:14:36,520 Onderstreep het 'n ton van hierdie mooi funksies wat jy wil jy al die tyd het. 214 00:14:36,520 --> 00:14:38,840 >> En dan is daar nog 1 biblioteek wat ek wil graag 'n bietjie van die tyd om te spandeer op 215 00:14:38,840 --> 00:14:44,800 genoem Backbone.js omdat Backbone jy regtig help met modelle op die kliënt se kant 216 00:14:44,800 --> 00:14:47,210 en 'n groot deel van die verwarring wat dit kan veroorsaak. 217 00:14:47,210 --> 00:14:53,550 Ruggraat gee jy hierdie konsep van modelle en versamelings 218 00:14:53,550 --> 00:14:58,300 in JavaScript wat basies presies soos JavaScript voorwerpe 219 00:14:58,300 --> 00:15:04,900 in JavaScript skikkings, maar hulle het gebeure wanneer jy hul eienskappe te verander. 220 00:15:04,900 --> 00:15:09,090 Net soos in JavaScript, kan jy 'n gebeurtenis het toe 'n knoppie gedruk kry of iets 221 00:15:09,090 --> 00:15:14,800 hierdie ruggraat modelle en ruggraat versamelings sal dinge soos uitgesaai 222 00:15:14,800 --> 00:15:17,510 dat wanneer hulle verander. 223 00:15:17,510 --> 00:15:22,270 Dit beteken dat jy net kan skryf iets soos hierdie kode uit hier - 224 00:15:22,270 --> 00:15:27,530 Dit sê, wanneer jy iets aan die poste skikking jy teken die hele muur voeg. 225 00:15:27,530 --> 00:15:34,270 En dit sou sê wanneer 'n post se aantal hou verander, 226 00:15:34,270 --> 00:15:38,970 jy die gebruiker dat iemand graag hul pos in kennis stel. 227 00:15:38,970 --> 00:15:45,210 Of wanneer enige eiendom van 'n post verander jy teken die post. 228 00:15:45,210 --> 00:15:51,050 Dinge soos wat, want anders jou red ton van die kompleksiteit 229 00:15:51,050 --> 00:15:55,440 As jy nie 'n raamwerk soos hierdie het dan elke keer in jou kode wat jy verander 230 00:15:55,440 --> 00:16:04,280 iets oor 'n pos, sal jy het om jouself te onthou al die lewer funksies te roep 231 00:16:04,280 --> 00:16:07,680 en dinge soos wat, en as jy wou iets nuuts wat gebeur het by te voeg 232 00:16:07,680 --> 00:16:10,680 elke keer as jy verander 'n post wat jy wil hê om te gaan deur middel van elke plek in jou 233 00:16:10,680 --> 00:16:14,610 kode wat jy verander 'n post en voeg dat die nuwe ding. 234 00:16:14,610 --> 00:16:21,450 'N raamwerk soos hierdie sal 'n baie van daardie tussen-laag kommunikasie verwyder 235 00:16:21,450 --> 00:16:28,280 dit maak jou kode kompleks en moeilik om te handhaaf. 236 00:16:28,280 --> 00:16:31,170 >> Daar is 'n bietjie oor sienings ook. 237 00:16:31,170 --> 00:16:35,960 Ek gaan die meeste van dit te laat Billy, want hulle is tegnies nie baie moeilik. 238 00:16:35,960 --> 00:16:43,540 Gebruik jQuery vir jou standpunte. Dit is prakties soos 'n noodsaaklikheid op hierdie punt. 239 00:16:43,540 --> 00:16:46,290 Dit maak net alles soveel makliker. 240 00:16:46,290 --> 00:16:48,290 Daar is 'n baie biblioteke. 241 00:16:48,290 --> 00:16:49,970 As jy nog ingewikkeld user elemente, 242 00:16:49,970 --> 00:16:57,250 As jy 'n motor-volledige ding wil of soos een van daardie fancy multi-keurders - 243 00:16:57,250 --> 00:17:04,790 As jy iets soos dit wil, moet jy waarskynlik net soek om 244 00:17:04,790 --> 00:17:08,130 en jy kan 'n goeie biblioteek wat sal doen wat jy wil vind. 245 00:17:08,130 --> 00:17:11,579 Billy sal meer verduidelik oor die eintlik moeilik om dele van standpunte. 246 00:17:11,579 --> 00:17:17,530 Ook, as 'n kant nota, ruggraat het 'n paar funksies vir die maak van menings te kommunikeer 247 00:17:17,530 --> 00:17:22,800 mooi met modelle - kyk na die dokumentasie vir al hierdie biblioteke, eintlik. 248 00:17:22,800 --> 00:17:28,270 Net kyk na die dokumente. Hulle is baie goed geskryf en maklik om te volg. 249 00:17:28,270 --> 00:17:33,890 In die algemeen, kan jy pretty much net Google as jy probleme het. 250 00:17:33,890 --> 00:17:36,370 Daar is 'n klomp mense met behulp van hulle. 251 00:17:36,370 --> 00:17:42,020 Ek dink dit is as 'n finale noot. 252 00:17:42,020 --> 00:17:48,770 >> Daar is ook 'n paar meer gevorderde dinge wat jy kan doen 253 00:17:48,770 --> 00:17:53,400 As jy op soek is na jou web artikels ekstra ontsagwekkende te maak. 254 00:17:53,400 --> 00:17:59,760 Wat jy kan doen - die nuwe HTML5 spesifikasie het 'n baie fancy dinge wat jy kan doen. 255 00:17:59,760 --> 00:18:05,780 Plaaslike stoor - wat jy data in die leser kan stoor - 256 00:18:05,780 --> 00:18:09,470 eerder as om terug te gaan en daar verskeie bediener vir alles, 257 00:18:09,470 --> 00:18:12,470 jy kan hou sommige van hulle op die kliënt en wat kan selfs mense - 258 00:18:12,470 --> 00:18:20,850 in sommige gevalle is dit selfs kan laat jy gebruik om die webblad op die regte pad. 259 00:18:20,850 --> 00:18:26,980 Daar is hierdie ding genaamd websockets wat 'n ander soort van die netwerk kommunikasie 260 00:18:26,980 --> 00:18:30,930 waar in plaas van net wat jy maak 'n versoek, kry jy reaksie en jy klaar is, 261 00:18:30,930 --> 00:18:35,240 hou jy maak 'n verbinding met die bediener en sodat jy dinge soos kan doen 262 00:18:35,240 --> 00:18:37,240 real-time updates. 263 00:18:37,240 --> 00:18:42,020 So, as jy probeer om 'n chat program te maak, kan jy websockets gebruik 264 00:18:42,020 --> 00:18:43,790 heen en weer te kommunikeer, sodat jy nie hoef te hou vra, 265 00:18:43,790 --> 00:18:48,410 "O, bediener, het iemand my 'n chat?" elke 10 sekondes of iets. 266 00:18:48,410 --> 00:18:55,620 Daar is ook 'n interessante HTML5 funksie waar jy kan maak dat dit lyk soos 267 00:18:55,620 --> 00:18:58,340 die URL van die bladsy verander, sonder om te herlaai eintlik nie. 268 00:18:58,340 --> 00:19:03,230 Jy kan terug gebruik en stuur knoppies sonder om 'n klomp van die netwerk versoeke. 269 00:19:03,230 --> 00:19:14,660 Dinge soos dit is baie handig in terme van wat dit spoedige maar ook werk soos 'n web artikels moet nie. 270 00:19:14,660 --> 00:19:17,680 >> Daar is ook hierdie ding genoem CoffeeScript. 271 00:19:17,680 --> 00:19:24,450 CoffeeScript is 'n ander taal, eintlik, wat stel af te JavaScript. 272 00:19:24,450 --> 00:19:30,080 Jy sal al jou kode skryf in CoffeeScript, en dan loop jy die samesteller, 273 00:19:30,080 --> 00:19:33,300 en dit spoeg uit 'n JavaScript-lêer wat jy kan insluit in jou webblad. 274 00:19:33,300 --> 00:19:38,860 Die rede is dat CoffeeScript is mooi omdat dit ontslae raak van 'n groot deel van die 275 00:19:38,860 --> 00:19:44,760 vreemde gevalle wat JavaScript het waar is gelyk aan gelykes, 276 00:19:44,760 --> 00:19:51,130 en gelyk gelykes doen verskillende dinge, of wil - 277 00:19:51,130 --> 00:19:55,740 dit het mooier sintaksis vir die hantering van skikkings en funksies. 278 00:19:55,740 --> 00:20:00,460 Dit is 'n bietjie uittreksel van CoffeeScript wat 'n lys van al die blokkies 279 00:20:00,460 --> 00:20:04,900 vanaf 10 ^ 2-1 ^ 2 in omgekeerde volgorde. 280 00:20:04,900 --> 00:20:08,410 Soos jy kan sien, CoffeeScript kan dikwels jy druk in 1 lyn 281 00:20:08,410 --> 00:20:10,890 wat sou neem 5 lyne van JavaScript. 282 00:20:10,890 --> 00:20:13,230 Dit kan maak dinge baie makliker. 283 00:20:13,230 --> 00:20:15,390 Dit is 'n bietjie van 'n nuwe sintaks om te leer by die eerste, 284 00:20:15,390 --> 00:20:18,010 maar dit is beslis sal maak dat jy meer produktief in die lang termyn. 285 00:20:18,010 --> 00:20:22,050 >> Jy kan ook ander tale op die bediener gebruik as PHP - 286 00:20:22,050 --> 00:20:27,570 tale soos Ruby, Python, of daar is selfs 'n projek genaamd node.js 287 00:20:27,570 --> 00:20:31,450 wat jou sal laat jy gebruik JavaScript op die bediener. 288 00:20:31,450 --> 00:20:34,700 Persoonlik, Ek het regtig, regtig haat PHP. 289 00:20:34,700 --> 00:20:38,310 Ek het net nie geniet nie werk met dit. 290 00:20:38,310 --> 00:20:43,450 As jy ook dink dat dit is 'n vreeslike cluge van 'n taal, 291 00:20:43,450 --> 00:20:46,160 dan kan jy een van hierdie plaas. 292 00:20:46,160 --> 00:20:54,780 In die algemeen, as jy wil om iets te doen en jy weet nie regtig hoe jy dit sou doen, 293 00:20:54,780 --> 00:20:56,780 net soek op die internet. 294 00:20:56,780 --> 00:20:59,990 Daar is tonne en tonne van hulpbronne, veral op - 295 00:20:59,990 --> 00:21:03,260 StackOverflow is 'n groot een. 296 00:21:03,260 --> 00:21:06,400 Dit is hierdie webwerf, waar programmeerders vra mekaar vrae. 297 00:21:06,400 --> 00:21:09,690 Jy kan hardloop in dit as jy sukkel om op CS50 probleem stelle. 298 00:21:09,690 --> 00:21:16,820 En daar is ton van die biblioteke om dit te doen pretty much enigiets wat jy wil. 299 00:21:16,820 --> 00:21:21,710 As jy wil om iets te doen en jy weet nie hoe om dit te doen, 300 00:21:21,710 --> 00:21:23,710 Moenie aanvaar dat dit onmoontlik is. 301 00:21:23,710 --> 00:21:26,160 Kyk net rond en jy n paar goeie hulpbronne kan vind. 302 00:21:26,160 --> 00:21:29,280 >> As 'n algemene draai, 303 00:21:29,280 --> 00:21:33,650 die belangrikste wegneemetes is hou dinge eenvoudig. 304 00:21:33,650 --> 00:21:36,010 Die meer komplekse jou kode is aan die begin 305 00:21:36,010 --> 00:21:40,370 en die meer jy probeer en doen fancy dinge, 306 00:21:40,370 --> 00:21:43,300 hoe langer sal dit neem om iets werklik funksioneel te kry 307 00:21:43,300 --> 00:21:46,480 en hoe moeiliker sal dit wees om later verander. 308 00:21:46,480 --> 00:21:49,580 So, doen dinge wat die stomme, maklike manier om die eerste. 309 00:21:49,580 --> 00:21:51,720 Om saam te gaan met wat, 310 00:21:51,720 --> 00:21:59,070 nie bang vir die weggooi van ou kode of die skoonmaak van dit 'n baie wees. 311 00:21:59,070 --> 00:22:05,320 In die algemeen, wanneer jy eintlik iets werk, 312 00:22:05,320 --> 00:22:09,640 dit is baie makliker om te dink oor as wanneer jy nog in die begin stadium 313 00:22:09,640 --> 00:22:12,610 hoe sit ek dit alles saam. 314 00:22:12,610 --> 00:22:17,500 Dit is die beste om die domste moontlike ontwerp wat werk te maak 315 00:22:17,500 --> 00:22:22,270 en dan verbeter iteratief as om te probeer om alles die eerste keer reg te kry. 316 00:22:22,270 --> 00:22:28,330 In terme van die kliënt-bediener-afdeling, probeer en hou jou bediener baie eenvoudig - 317 00:22:28,330 --> 00:22:33,030 net 'n databasis en 'n paar verifikasie en moenie enige harde werk is daar nie. 318 00:22:33,030 --> 00:22:37,540 Doen al jou ingewikkelde dinge op die kliënt se kant in die leser 319 00:22:37,540 --> 00:22:40,650 in JavaScript soveel as wat jy kan. 320 00:22:40,650 --> 00:22:43,420 Kyk rond vir biblioteke wat jou lewe beter te maak. 321 00:22:43,420 --> 00:22:46,850 Altyd beter dat iemand anders geskryf kode te gebruik 322 00:22:46,850 --> 00:22:49,850 As jy - en nie om dit self te skryf. 323 00:22:49,850 --> 00:22:57,560 Daar is 'n baie dinge op die internet. Google is jou beste vriend. 324 00:22:57,560 --> 00:22:59,560 Google is die programmeerder se beste vriend. 325 00:22:59,560 --> 00:23:07,620 Ja, beslis nie bang om te kyk vir dinge wees nie. 326 00:23:07,620 --> 00:23:11,860 Alle regte. En oor Billy. 327 00:23:11,860 --> 00:23:14,600 >> [Billy] Eintlik, voordat ek begin met 'n paar ontwerp dinge, 328 00:23:14,600 --> 00:23:17,250 Is daar iemand enige vrae vir Ben oor enigiets wat hy gepraat oor? 329 00:23:17,250 --> 00:23:20,290 Goed, goed. 330 00:23:20,290 --> 00:23:22,220 Weereens, laat ons weet as daar iets is nie duidelik 331 00:23:22,220 --> 00:23:25,420 of as jy wil om ons te gaan oor iets wat 'n bietjie meer. 332 00:23:25,420 --> 00:23:30,330 Ek gaan terug na stap 'n bietjie en praat oor die meer fundamentele dele van die ontwerp. 333 00:23:30,330 --> 00:23:34,840 Ben het genoem dat die model genoem - jammer, die model kontroleerder oog stelsel 334 00:23:34,840 --> 00:23:38,520 wat is 'n soort van die tegniese aspek, so ek gaan om te kyk na standpunte spesifiek, 335 00:23:38,520 --> 00:23:42,930 en ek gaan om te begin met hoe jy wil ontwerp 'n siening dat mooi lyk. 336 00:23:42,930 --> 00:23:50,540 Hier is soort van 'n basiese patroon vir ons kat Facebook. 337 00:23:50,540 --> 00:23:54,190 Ek dink daar is 'n paar basiese beginsels in die moderne UI ontwerp 338 00:23:54,190 --> 00:23:56,190 wat die moeite werd optel. 339 00:23:56,190 --> 00:23:58,210 Jy kan sien daar is 'n baie wit spasie regoor die bladsy 340 00:23:58,210 --> 00:24:00,790 genoeg ruimte vir die dinge. 341 00:24:00,790 --> 00:24:02,580 Moenie voel jy het dinge om te muurbal in 'n bladsy. 342 00:24:02,580 --> 00:24:06,700 Jy wil baie van die kamer oop te laat, en as jy gaan na byna enige moderne webwerf 343 00:24:06,700 --> 00:24:08,380 sal jy sien daar is wit oral. 344 00:24:08,380 --> 00:24:10,380 Daar is wit in plekke wat jy nie verwag nie. 345 00:24:10,380 --> 00:24:14,570 Jy het hierdie kleur palet, en dit wys aan die begin 346 00:24:14,570 --> 00:24:17,880 'n kleur palet wat jy gaan om te werk en te ontwikkel om van te kies. 347 00:24:17,880 --> 00:24:22,250 Jy het ook nie - dit help 'n skrif te kies, en die manier wat jy is soort van die werk met 348 00:24:22,250 --> 00:24:24,450 hierdie konkrete beginsels van ontwerp. 349 00:24:24,450 --> 00:24:26,910 Jy moet jou soort, moet jy jou kleure, en dan kan jy soort 350 00:24:26,910 --> 00:24:29,380 pas alles in as wat nodig is. 351 00:24:29,380 --> 00:24:37,710 So, soos ek gesê het, met jou kleurskema wat jy wil die vetter kleure van jou kleur skema te gebruik 352 00:24:37,710 --> 00:24:40,320 spaarsamig. Headers is mooi. Knoppies is mooi baie groot, flitsende kleure te hê. 353 00:24:40,320 --> 00:24:43,710 Maar in die algemeen, as jy 'n webwerf wat 'oral kleure, 354 00:24:43,710 --> 00:24:47,250 al staar jou in die gesig, dit lyk net deurmekaar, en dit is nie goed nie. 355 00:24:47,250 --> 00:24:50,430 Jy wil oor die algemeen gebruik die lig kleure. 356 00:24:50,430 --> 00:24:52,890 Probeer om weer af te haal 'n mooi samehangende kleurskema. 357 00:24:52,890 --> 00:24:56,640 Jy kan hierdie klein spat van baie van die kleur - 358 00:24:56,640 --> 00:25:00,240 wat kan kyk mooi mooi, maar jy wil hê hulle moet mooi spaarsamig te gebruik. 359 00:25:00,240 --> 00:25:04,270 >> Soos ek gesê het, jy wil minimaal wees. Minder is byna altyd meer. 360 00:25:04,270 --> 00:25:07,430 As jy iets kan wys of nie wys iets, 361 00:25:07,430 --> 00:25:10,230 en jy is soort van onseker of dit by verstek daar moet wees - 362 00:25:10,230 --> 00:25:13,400 waarskynlik jy die beste af laat dit uit. Jy kan dit altyd byvoeg in later. 363 00:25:13,400 --> 00:25:16,620 Ja, hou dinge eenvoudig. 364 00:25:16,620 --> 00:25:19,510 Maar die belangrikste, wil jy verskeie ontwerpe te oorweeg. 365 00:25:19,510 --> 00:25:23,520 Moenie dink dat wanneer jy 'n webwerf, moet jy dit in jou kop wat jy gaan 366 00:25:23,520 --> 00:25:26,310 maak die werf in 'n sekere manier, en dit gaan lyk presies soos hierdie. 367 00:25:26,310 --> 00:25:29,830 Dit gaan die blou banier aan die bokant en die blou kant bar te hê 368 00:25:29,830 --> 00:25:32,670 en dan die geel sub-kop ding. 369 00:25:32,670 --> 00:25:34,670 Jy wil meer templates te maak. 370 00:25:34,670 --> 00:25:37,350 Jy kan óf - as jy goed met Photo Shop, kan jy oop te maak en soort 371 00:25:37,350 --> 00:25:39,600 ontwerp van 'n webwerf as jy dit wil hê om te kyk. 372 00:25:39,600 --> 00:25:41,680 Indien nie, kan jy net gebruik om pen en papier, 373 00:25:41,680 --> 00:25:44,000 maar krap tot verskeie ontwerpe. 374 00:25:44,000 --> 00:25:47,000 Jy wil basies 'n opstel waarin jy het baie van die verskillende ontwerpe, 375 00:25:47,000 --> 00:25:50,810 en as 'n mens eindig werk, dan is dit 'n groot. 376 00:25:50,810 --> 00:25:53,370 As 'n mens eindig versuim, dan is jy altyd 'n ander een om te draai na. 377 00:25:53,370 --> 00:25:57,960 In die algemeen, voel nie soos jy moet beperk word 378 00:25:57,960 --> 00:26:00,830 aan enige ontwerp wat jy eers besluit op. 379 00:26:00,830 --> 00:26:04,420 Ontwerpe is baie veranderlike, en 'n deel van die belangrikheid van die model 380 00:26:04,420 --> 00:26:09,480 kontroleerder oog stelsel is dat jy in en uit kan wissel verskillende menings wat jy wil. 381 00:26:09,480 --> 00:26:13,510 Jy kan swaai die data een manier, en dan besluit, ag, eintlik, wat nie so goed werk. 382 00:26:13,510 --> 00:26:19,190 Ek dink dit is soort van te ingewikkeld of is daar 'n deel hier Dit is nie regtig werk nie, 383 00:26:19,190 --> 00:26:22,150 so ek gaan net om heeltemal laat vaar hierdie siening en ruil in 'n totaal nuwe een. 384 00:26:22,150 --> 00:26:24,790 Ons kan nog steeds die ou modelle en die ou leiers. 385 00:26:24,790 --> 00:26:27,490 Ons kan alles doen op die bediener en die kliënt as ons sou voor. 386 00:26:27,490 --> 00:26:32,850 Maar die werklike golf van die data soos vertoon gaan word effens anders. 387 00:26:32,850 --> 00:26:35,840 >> Sover eintlik die implementering van die ontwerp wat jy wil, 388 00:26:35,840 --> 00:26:39,330 Sodra jy het 'n paar ontwerpe geskets uit op papier of op 'n Foto-winkel of wat ook al, 389 00:26:39,330 --> 00:26:42,120 daar is 'n aantal van gereedskap wat aan u beskikbaar gestel word. 390 00:26:42,120 --> 00:26:45,700 Die eerste wat jy is baie vertroud is met wat jou HTML, PHP, of wat ook al 391 00:26:45,700 --> 00:26:48,990 taal wat jy gebruik net die statiese bladsye op jou webwerf te kode. 392 00:26:48,990 --> 00:26:51,990 Jy het 'n baie werk met HTML watter soort gee jou hierdie tags 393 00:26:51,990 --> 00:26:57,820 dat jy kan sit dinge in, en basies dit is 'n manier van organisering van jou inhoud. 394 00:26:57,820 --> 00:27:00,990 Byvoorbeeld, jy het die kop daar, so jy gaan 'n kop-etiket te hê, 395 00:27:00,990 --> 00:27:05,770 en dit gaan 'n paar teks binnekant van dit wat waarskynlik gaan om te wees in 'n ander etiket te hê. 396 00:27:05,770 --> 00:27:08,380 Dan het jy 'n sidebar dalk met 'n paar verskillende skakels, 397 00:27:08,380 --> 00:27:10,160 en dié gaan almal in aparte tags. 398 00:27:10,160 --> 00:27:13,870 So, basies HTML op sy hart is 'n manier om die verdeling van die bladsy hoe 399 00:27:13,870 --> 00:27:16,980 jy uiteindelik wil klaarmaak. 400 00:27:16,980 --> 00:27:18,980 So weer, het jy gesien dat voor. 401 00:27:18,980 --> 00:27:20,540 Jy is redelik gemaklik met die werk met dit nou 402 00:27:20,540 --> 00:27:23,120 gegee dat jy die laaste pset gedoen het hopelik, 403 00:27:23,120 --> 00:27:26,150 sodat behoort geen probleem te wees. 404 00:27:26,150 --> 00:27:31,280 >> Dan moet jy nog CSS wat basies hanteer al van die ontwerp statiese aspekte. 405 00:27:31,280 --> 00:27:35,320 Dit sou hanteer al die kleure, almal van die plasing van die verskillende elemente, 406 00:27:35,320 --> 00:27:36,840 waar hulle saam met respek vir mekaar, 407 00:27:36,840 --> 00:27:41,530 hoe groot hulle is, die verskillende soorte Placement wat jy sal hê - 408 00:27:41,530 --> 00:27:46,030 Met ander woorde, kan jy dinge so bevestig dat wanneer jy rol af hulle bly, 409 00:27:46,030 --> 00:27:48,700 of jy kan dinge relatief tot ander elemente. 410 00:27:48,700 --> 00:27:50,730 Al wat soort van dinge is in CSS. 411 00:27:50,730 --> 00:27:54,630 Verder kan jy die verskillende versierings doen, kan jy die teks kleure, 412 00:27:54,630 --> 00:27:56,630 teks effekte, al daardie soort dinge. 413 00:27:56,630 --> 00:28:00,360 Ben het 'n baie goeie seminaar op hierdie naweek, 414 00:28:00,360 --> 00:28:04,450 en ek sal beslis kyk wat uit as jy van plan is om te doen 'n paar fancy dinge met CSS. 415 00:28:04,450 --> 00:28:09,850 CSS3 is eintlik die nuutste weergawe van CSS, en dit alle vorme van baie mooi dinge kan doen. 416 00:28:09,850 --> 00:28:14,750 Dit kan verval nie, jy mooi, ronde hoeke kan hê; jy allerhande dinge kan doen 417 00:28:14,750 --> 00:28:17,940 te maak jou webwerf lyk meer modern en fancy. 418 00:28:17,940 --> 00:28:22,150 >> Die volgende instrument is JavaScript en jQuery wat Ben gepraat het 'n bietjie oor, 419 00:28:22,150 --> 00:28:24,150 maar ek sal 'n bietjie verder te kry in. 420 00:28:24,150 --> 00:28:28,100 JavaScript, as jy met dit gewerk het 'n bietjie, of ten minste dit gesien in lesing 421 00:28:28,100 --> 00:28:31,870 is 'n soort van 'n manier om dinamiese doen dinge in HTML. 422 00:28:31,870 --> 00:28:35,950 HTML, soos jy weet, is staties, so wanneer jy HTML kan jy dit nie wysig nie. 423 00:28:35,950 --> 00:28:40,050 Maar JavaScript, in sommige maniere, is 'n manier om in staat wees om HTML te verander. 424 00:28:40,050 --> 00:28:44,520 Sodat jy dit kan doen, en dit is groot, maar JavaScript is regtig 'n pyn om te werk met. 425 00:28:44,520 --> 00:28:49,050 Dit is so lank en stomp en selfs die eenvoudigste dinge te doen 426 00:28:49,050 --> 00:28:51,630 vereis baie lyne van JavaScript. 427 00:28:51,630 --> 00:28:55,410 So, jQuery is basies 'n biblioteek vir die JavaScript dat vereenvoudig al van dat. 428 00:28:55,410 --> 00:28:59,880 Dit sê, okay, as jy 'n vierkantige boks kom van links te hê 429 00:28:59,880 --> 00:29:03,980 en vervaag in die bladsy sodat dit in die middel, in JavaScript wat jou sal neem - 430 00:29:03,980 --> 00:29:06,340 Ek weet nie, 'n honderd lyne te doen, en dit sal 'n pyn wees, 431 00:29:06,340 --> 00:29:10,540 en jy kom uit dit uit haat alles oor web ontwikkeling. 432 00:29:10,540 --> 00:29:15,380 JQuery jy basies die element-dot-vervaag-in, of iets soos dit. 433 00:29:15,380 --> 00:29:18,580 So, baie, baie eenvoudige funksies wat jou sal laat jy doen alle soorte van die koel animasie 434 00:29:18,580 --> 00:29:20,580 en dat die soort van ding. 435 00:29:20,580 --> 00:29:23,300 Die ander ding wat hierdie 2 is regtig goed vir is net doen dinamiese dinge 436 00:29:23,300 --> 00:29:25,300 met die webwerf. 437 00:29:25,300 --> 00:29:28,370 So, eerder as om net met jou HTML bladsy - wat vertoon sommige data, maar nie eintlik 438 00:29:28,370 --> 00:29:32,130 niks doen nie - JavaScript en jQuery sal laat jy het knoppies wat jy kan kliek op, 439 00:29:32,130 --> 00:29:37,960 en jy kan elemente en weer om hulle te sleep en sorteer hulle, en het 'n nuwe elemente 440 00:29:37,960 --> 00:29:40,500 bygevoeg of verwyder. Jy kan voeg-delete, daardie soort van ding. 441 00:29:40,500 --> 00:29:44,570 So, jQuery doen ton van die koel dinge. 442 00:29:44,570 --> 00:29:48,840 En Vipul is eintlik gee 'n seminaar oor dit vandag, dink ek, teen 5-uur, 443 00:29:48,840 --> 00:29:51,220 so as jy kan hou om vir so lank, sou dit - 5 of 4? 444 00:29:51,220 --> 00:29:54,930 Vier. Jammer. Dit is eintlik net ná hierdie, so ek sou aanbeveel 445 00:29:54,930 --> 00:29:56,680 om vas vir dit as jy kan. 446 00:29:56,680 --> 00:30:00,180 JQuery is super, super nuttig, en jy sal in staat wees om baie van die baie mooi dinge om te doen met dit 447 00:30:00,180 --> 00:30:03,460 vir pretty much enige web ontwikkeling projek. 448 00:30:03,460 --> 00:30:06,200 >> Nou gaan ek om te kry in soort van 'n onderskeiding. 449 00:30:06,200 --> 00:30:08,210 Ek het basies praat oor gebruikerskoppelvlak. 450 00:30:08,210 --> 00:30:11,510 User is net die ontwerp van die site. 451 00:30:11,510 --> 00:30:13,780 Maar daar is 'n soort van 'n ander konsep wat gebruikers ervaring. 452 00:30:13,780 --> 00:30:15,900 Die twee is baie anders. 453 00:30:15,900 --> 00:30:19,440 Interface is beslis deel van die ervaring. 454 00:30:19,440 --> 00:30:21,340 Met ander woorde, wanneer jy na 'n webwerf, kan jy kyk na die koppelvlak. 455 00:30:21,340 --> 00:30:22,960 Dit is deel van hoe jy die webwerf ervaar. 456 00:30:22,960 --> 00:30:24,960 Maar gebruikers ervaring is meer as dit. 457 00:30:24,960 --> 00:30:29,910 Gebruikers ervaring is oor wat die indruk skep dat die gebruiker kry van jou site is. 458 00:30:29,910 --> 00:30:31,910 So, natuurlik, koppelvlak is 'n deel van daardie. 459 00:30:31,910 --> 00:30:35,340 En dit is beslis 'n noodsaaklike deel, maar dit is nie voldoende nie. 460 00:30:35,340 --> 00:30:38,790 Met ander woorde, as jy 'n mooi koppelvlak, en dit is redelik en kleurvolle en al van dat, 461 00:30:38,790 --> 00:30:43,650 dit is groot, maar as die gebruiker gaan na jou site, sien 'n mooi uitleg en dit is verwar deur 462 00:30:43,650 --> 00:30:47,060 alles, het geen idee hoe om iets te doen, dan natuurlik jy het 'n baie gemaak 463 00:30:47,060 --> 00:30:48,930 swak webwerf. 464 00:30:48,930 --> 00:30:50,930 Dit is soort van waar gebruikers ervaring kom in 465 00:30:50,930 --> 00:30:54,570 Ek gaan 'n bietjie om te praat oor UX ontwerp - UX is kort vir gebruikers ervaring - 466 00:30:54,570 --> 00:30:58,050 en soort van hoe jy seker dat jy 'n goeie gebruikers ervaring kan maak. 467 00:30:58,050 --> 00:31:04,330 Die eerste punt is dat jy kan 'n webwerf ontwerp waar 'n gebruiker kan enigiets doen wat 468 00:31:04,330 --> 00:31:06,820 dat die gebruiker moontlik wil hê. 469 00:31:06,820 --> 00:31:08,940 Maar as die gebruiker kan nie uitvind hoe om daardie dinge te doen nie - 470 00:31:08,940 --> 00:31:12,850 Met ander woorde, indien die gebruiker het nie 'n goeie idee wanneer hulle gaan na jou werf van, 471 00:31:12,850 --> 00:31:17,660 "Ag, as ek wil my profiel te werk, dan is ek op hierdie knoppie, of as ek wil om te post op 472 00:31:17,660 --> 00:31:20,850 iemand se muur, dan gaan Ek na hul muur en kliek op 'n klein boks. " 473 00:31:20,850 --> 00:31:24,410 Indien die gebruiker nie weet dat, dan is jy effektief nie eintlik 474 00:31:24,410 --> 00:31:27,080 wat funksies korrek geïmplementeer word. 475 00:31:27,080 --> 00:31:30,900 Deel van die implementering van 'n funksie is dat die gebruikers is eintlik in staat om dit te gebruik. 476 00:31:30,900 --> 00:31:34,810 En dit kan frustrerend wees - jy kan 'n webwerf te maak, en dit kan doen alle soorte 477 00:31:34,810 --> 00:31:37,810 wonderlike dinge, maar dan sal jy mense toets dit en sê: "Dit kan nie doen nie. 478 00:31:37,810 --> 00:31:39,770 Hoekom kan dit nie doen nie? "En jy sal terug sê vir hulle: 479 00:31:39,770 --> 00:31:44,420 "Wel, dit kan. Jy moet net om te gaan in die 7 drop-down menu op hierdie onbekende 480 00:31:44,420 --> 00:31:48,470 bladsy wat net is gevind deur 'n skakel aan die onderkant-regterkantste hoek "of iets. 481 00:31:48,470 --> 00:31:50,430 Dit is duidelik dat jy nie wil hê dat. 482 00:31:50,430 --> 00:31:53,420 Jy wil om dit te duidelik vir jou gebruikers wat hulle veronderstel is om te doen, 483 00:31:53,420 --> 00:31:56,240 en dit moet eenvoudig en intuïtief vir hulle wees. 484 00:31:56,240 --> 00:32:01,180 >> Nog 'n ding wat jy wil om te probeer om te doen, is, as iemand gaan om te gaan na jou site 485 00:32:01,180 --> 00:32:05,520 en 9 uit 10 keer doen aksie A, en 1 uit 10 keer doen optrede B, 486 00:32:05,520 --> 00:32:08,950 jy waarskynlik wil hul ervaring op aksie A. te fokus 487 00:32:08,950 --> 00:32:12,240 Met ander woorde, jy wil dit baie, baie duidelik hoe A. te doen 488 00:32:12,240 --> 00:32:15,980 'N moet voor-en-sentrum - gaan na die webwerf, dit sien; O, dit is reg daar. 489 00:32:15,980 --> 00:32:20,850 Terwyl B natuurlik wat jy wil duidelik te wees, maar jy kan dit 'n bietjie meer los 490 00:32:20,850 --> 00:32:22,850 in die agtergrond. 491 00:32:22,850 --> 00:32:24,640 David gee 'n goeie voorbeeld van hierdie in lesing 492 00:32:24,640 --> 00:32:26,640 wat is die Boston T stelsel. 493 00:32:26,640 --> 00:32:29,440 Wanneer jy na die Boston T en jy wil 'n kaartjie te koop, 494 00:32:29,440 --> 00:32:32,700 jy het om te kry in 5 spyskaarte voordat jy kan koop 'n kaartjie 495 00:32:32,700 --> 00:32:37,130 vir 'n $ 2, $ 2,50 waarde, wat is hoeveel dit neem om die metro te ry 496 00:32:37,130 --> 00:32:39,130 in een rigting. 497 00:32:39,130 --> 00:32:41,600 Dit is 'n probleem omdat die meeste mense wat ry die metro 498 00:32:41,600 --> 00:32:44,880 waarskynlik wil net om te gaan na een plek, koop hulle kaartjies, kry op die regte weg. 499 00:32:44,880 --> 00:32:47,550 Dit maak nie sin dat hulle het om te gaan deur baie verskillende spyskaarte 500 00:32:47,550 --> 00:32:49,550 om daar te kom. 501 00:32:49,550 --> 00:32:51,760 'N beter gebruikers ervaring sal 'n vinnige knoppie op die eerste bladsy wees 502 00:32:51,760 --> 00:32:54,760 wat net sê, "koop 'n een-way ticket," en dit sou sit in al die standaard 503 00:32:54,760 --> 00:32:58,550 standaard waardes, en dan as iemand wil 'n ander kaartjie as om te koop, 504 00:32:58,550 --> 00:33:01,690 hulle nog steeds, natuurlik, het die opsie om nie, maar vir optimale het 505 00:33:01,690 --> 00:33:04,080 die algemene gebruik geval wat werklik belangrik is. 506 00:33:04,080 --> 00:33:06,830 Jy kan sien voorbeelde van hierdie op Facebook, reg? 507 00:33:06,830 --> 00:33:09,410 As jy gaan na Facebook en jy wil 'n status te plaas, 508 00:33:09,410 --> 00:33:11,710 dit is reg aan die bokant en dit is wat jy dikwels wil doen. 509 00:33:11,710 --> 00:33:14,730 Sodra jy die bladsy, kan jy die mees algemene dinge doen 510 00:33:14,730 --> 00:33:16,730 jy wil doen. 511 00:33:16,730 --> 00:33:17,550 As jy wil 'n bietjie meer ingewikkeld dinge soos om te doen, 512 00:33:17,550 --> 00:33:21,070 sê ek wil gaan na my vriend se muur en post 'n foto op dit - 513 00:33:21,070 --> 00:33:24,810 wat ek sal wil dikwels doen, maar nie so dikwels as plaas status updates - 514 00:33:24,810 --> 00:33:28,200 so in daardie geval, tik ek hul naam in die boks aan die bokant, kliek op hul profiel, 515 00:33:28,200 --> 00:33:31,680 En dan, nog steeds, dit is reg by die top is daar een keer het ek gekry om hul profiel. 516 00:33:31,680 --> 00:33:38,240 Weereens, ek in prioriteit geskik vir die mees algemene gebruik gevalle. 517 00:33:38,240 --> 00:33:41,800 >> Nog 'n belangrike ding is dat mense dikwels sal soort van probeer om te kry om hierdie 518 00:33:41,800 --> 00:33:44,890 deur te sê, okay, so ek gemaak het van die site en mense vind dit verwarrend, 519 00:33:44,890 --> 00:33:46,110 en dit is 'n probleem, reg? 520 00:33:46,110 --> 00:33:49,210 Natuurlik, ek wil nie hê mense moet verwar word deur die inhoud van my site. 521 00:33:49,210 --> 00:33:53,210 Maar die manier om dit te los, is om nie te hê om iets pop-up en gesê: 522 00:33:53,210 --> 00:33:55,290 hey, ek gaan jou te leer hoe om hierdie webwerf te gebruik. 523 00:33:55,290 --> 00:33:58,130 Stap 1 - klik op die knoppie. Stap 2 - gaan hier. 524 00:33:58,130 --> 00:34:03,080 Seker nie, dit is 'n manier om dit - dit is 'n manier wat jy mense kan sê wat om te doen nie, maar dit is 525 00:34:03,080 --> 00:34:05,080 regtig nie die optimale manier. 526 00:34:05,080 --> 00:34:07,420 As ek na 'n webwerf en skielik ek gebombardeer met hierdie handleiding wat se my vertel 527 00:34:07,420 --> 00:34:11,739 wat om te doen en waar om te gaan en al van dat, dit is nie pret vir my. 528 00:34:11,739 --> 00:34:13,739 Dit is nie 'n goeie ervaring vir my. 529 00:34:13,739 --> 00:34:17,130 Dit is soort van 'n pyn. Ek wil net begin doen dinge. 530 00:34:17,130 --> 00:34:19,449 Mense gaan om af te sluit van hul dialoog, 531 00:34:19,449 --> 00:34:23,580 of uit die handleiding, weet nie wat om te doen, en dan kla omdat 532 00:34:23,580 --> 00:34:25,580 het jy nie vir hulle gesê wat om te doen. 533 00:34:25,580 --> 00:34:29,530 Die manier om dit te los, is nie deur enige soort handleiding of rigtings - 534 00:34:29,530 --> 00:34:31,530 iets soos dit. 535 00:34:31,530 --> 00:34:33,719 Soveel as wat jy dit kan vermy, het jy regtig wil die gebruiker te wys wat om te doen 536 00:34:33,719 --> 00:34:36,429 net deur die aard van hoe die webwerf is uitgelê. 537 00:34:36,429 --> 00:34:39,090 Met ander woorde, as ek gaan na Facebook sonder aanteken, 538 00:34:39,090 --> 00:34:40,920 Die eerste ding wat ek sien op die hoofblad - 539 00:34:40,920 --> 00:34:44,480 dit is 'n bietjie login boks. So, duh. Ek het om aan te meld Dit is reg daar. 540 00:34:44,480 --> 00:34:48,030 Terwyl, as ek na Facebook en ek het 'n bietjie skakel aan die onderkant te kliek 541 00:34:48,030 --> 00:34:51,920 wat gesê het 'Teken In' en die res van die bladsy is net 'n soort van die foto of iets, 542 00:34:51,920 --> 00:34:54,820 Ek wil nie regtig weet wat om te doen nie, reg? Ek sou verwar word. 543 00:34:54,820 --> 00:34:58,590 So, kan dit vir my sê om daar te gaan en kliek op die knoppie om aan te meld, 544 00:34:58,590 --> 00:35:01,080 of die log in knoppie kan by die top waar ek gaan om dit te sien reg wees. 545 00:35:01,080 --> 00:35:04,780 Jy wil altyd vertoon word die gebruiker wat om te doen, 546 00:35:04,780 --> 00:35:06,750 en dat inherent in die artikel self moet wees. 547 00:35:06,750 --> 00:35:09,880 >> Wanneer jy dink oor die ontwerpe en gespot het verskillende maniere van 548 00:35:09,880 --> 00:35:13,810 uitdrukking van jou webwerf, jy regtig wil om te dink oor wat die gebruikers gaan 549 00:35:13,810 --> 00:35:19,380 te doen en hoe jy kan hulle wys wat om te doen. 550 00:35:19,380 --> 00:35:23,530 Een laaste ding is die toets is baie, baie belangrik. 551 00:35:23,530 --> 00:35:27,400 Dit is 'n groot iemand te kry - 'n vriend, kry iemand wat jy nie eens weet - 552 00:35:27,400 --> 00:35:30,420 wat nog nooit gesien het die webwerf voordat die webwerf te gebruik. 553 00:35:30,420 --> 00:35:33,650 Omdat jy het al die werk op die site vir ure, het jy al staar na dit, 554 00:35:33,650 --> 00:35:36,670 en jy weet presies wat om te doen nie natuurlik jy gaan word die toets van die 555 00:35:36,670 --> 00:35:39,520 dinge wat jy het gewerk en dat jy die werk ken. 556 00:35:39,520 --> 00:35:42,680 Maar as iemand anders kom saam en maak gebruik van die terrein wat nog nooit gebruik word om dit voor, 557 00:35:42,680 --> 00:35:46,880 dit is 'n unieke ervaring, want jy het iemand wat geen vorige kennis het 558 00:35:46,880 --> 00:35:51,530 van die perseel gaan in dit, so hulle gaan effektief geen idee wat om te doen 559 00:35:51,530 --> 00:35:54,890 of watter soort gebruik gevalle teenwoordig is vir hulle. 560 00:35:54,890 --> 00:36:00,930 Dit is 'n groot. Dit is uniek, want hulle is in wese 'n persoon met 'n leë vir 'n gedagte. 561 00:36:00,930 --> 00:36:03,750 Hulle kan jou vertel as daar iets is verwarrend of onduidelik. 562 00:36:03,750 --> 00:36:07,580 Hulle kan gee jou 'n idee van presies wat die gebruikers ervaring van jou webwerf is. 563 00:36:07,580 --> 00:36:10,630 Dit kan baie moeilik wees om te sê dat jouself, so seker ek wil u aanmoedig 564 00:36:10,630 --> 00:36:13,640 as jy die ontwikkeling van jou projekte - as jy doen web-gebaseerde projekte - 565 00:36:13,640 --> 00:36:18,290 mense te kry gebruik van die werf so vroeg as jy 'n soort van funksionele demo. 566 00:36:18,290 --> 00:36:25,330 >> Nou gaan ek 'n bietjie oor hoe om 'n web-ontwikkeling projek te bestuur te praat. 567 00:36:25,330 --> 00:36:28,900 Ons het gegaan oor hoe jy kan die tegniese back-end kant doen, 568 00:36:28,900 --> 00:36:31,050 hoe kan jy 'n baie goeie site ontwerp, 569 00:36:31,050 --> 00:36:34,150 en dit is 'n groot as jy werk deur jouself nie, maar - 570 00:36:34,150 --> 00:36:37,300 selfs as jy werk deur jou en veral as jy werk in 'n span, 571 00:36:37,300 --> 00:36:39,580 projek bestuur word 'n groot probleem. 572 00:36:39,580 --> 00:36:42,340 Jy het soort van gehoor het oor die projek bestuur in verskillende vorme sedert 573 00:36:42,340 --> 00:36:45,410 laerskool toe jy vertel groep werk. 574 00:36:45,410 --> 00:36:46,820 Jy het om saam te werk, te kommunikeer, dit alles. 575 00:36:46,820 --> 00:36:49,620 Dit geld nog almal hier, maar daar is 'n paar unieke omstandighede met 576 00:36:49,620 --> 00:36:54,910 rekenaarwetenskap wat jy wil om bewus te wees, en jy wil om seker te maak jy goed hanteer maak. 577 00:36:54,910 --> 00:36:58,050 Ek sal eers 'n bietjie praat oor die span wat jy sal wees in 578 00:36:58,050 --> 00:37:03,280 Dit is baie belangrik om die regte grootte van 'n span saam te werk op te tel, 579 00:37:03,280 --> 00:37:05,890 en in jou finale projek ek dink jy het die opsie om van te kies 580 00:37:05,890 --> 00:37:08,610 tussen 1 en 4 mense as ek korrek is. 581 00:37:08,610 --> 00:37:12,050 Jy wil om seker te maak dat jy nie net die keuse van die aantal mense maak 582 00:37:12,050 --> 00:37:14,950 wat jy wil om te werk met, want hulle is jou vriende. 583 00:37:14,950 --> 00:37:18,170 Jy wil 'n span wat 'n goeie grootte van te kies en wat sal kry om die werk gedoen. 584 00:37:18,170 --> 00:37:22,700 Daar is 'n handels-af in die feit dat meer mense versus minder mense. 585 00:37:22,700 --> 00:37:25,320 As jy meer mense, natuurlik meer werk gedoen kan word 586 00:37:25,320 --> 00:37:28,450 want jy het baie van die mense, baie van kode, baie van die idees, 587 00:37:28,450 --> 00:37:29,870 en dit is al groot. 588 00:37:29,870 --> 00:37:32,590 Maar dit vereis ook 'n baie meer bestuur en 'n baie meer kommunikasie. 589 00:37:32,590 --> 00:37:34,720 Met ander woorde, as jy 4 mense wat op dieselfde projek 590 00:37:34,720 --> 00:37:39,200 en hulle is almal die wysiging van die dieselfde kode, min of meer hulle al die soort van behoefte om te weet 591 00:37:39,200 --> 00:37:40,920 wat gaan aan, sodat dit vereis dat jy - 592 00:37:40,920 --> 00:37:44,580 As jy 'n paar nuwe funksie voeg jy soort van om mense te vertel - ek-toevoeging van hierdie, 593 00:37:44,580 --> 00:37:48,510 Ek is die verandering van hierdie op hierdie manier - veral as jy in die baie diep dinge 594 00:37:48,510 --> 00:37:52,730 soos die modelle en die leiers wat eintlik gaan beïnvloed hoe die webwerf werk. 595 00:37:52,730 --> 00:37:54,500 Die hele span moet bewus wees van dit, 596 00:37:54,500 --> 00:37:58,140 sodat jy nodig het om seker te maak dat jy nie die keuse te 'n groot span wat gaan moeilik wees 597 00:37:58,140 --> 00:37:59,970 dat kommunikasie te maak. 598 00:37:59,970 --> 00:38:02,930 Jy wil ook nie 'n klein genoeg span wat jy nie gaan om te kies 599 00:38:02,930 --> 00:38:06,250 in staat wees om te kommunikeer, want dit is net vir jou. 600 00:38:06,250 --> 00:38:11,270 >> Nog 'n ding om te oorweeg is die balans van waar mense se vaardighede is. 601 00:38:11,270 --> 00:38:14,350 Dit is 'n groot as jy al baie goeie programmeerders. 602 00:38:14,350 --> 00:38:17,050 Maar as jy al back-end mense, dan is jou site is nie van plan om te kyk baie goeie 603 00:38:17,050 --> 00:38:20,860 want jy het hierdie groot databasis, en dit het super-vinnige navrae - 604 00:38:20,860 --> 00:38:26,130 wat is groot - maar wanneer jy na dit, dit is soos 'n tuiste 1990's met rooi en blou 605 00:38:26,130 --> 00:38:30,370 oral, en dit is nie goed nie. 606 00:38:30,370 --> 00:38:34,210 Let daarop dat Ben en ek werk as 'n span is baie mooi, want ek is soort van meer 607 00:38:34,210 --> 00:38:38,030 in die voorkant, het ons albei interaksie in die middel-einde, en Ben is regtig goed met back-end dinge, 608 00:38:38,030 --> 00:38:43,550 sodat werk baie goed, want ons kan enige site ontwerp en basies die gate 609 00:38:43,550 --> 00:38:47,580 in die webwerf wat gevul moet word gevul kan word deur een van ons, of dalk beide. 610 00:38:47,580 --> 00:38:50,210 Jy wil om seker te maak dat daar geen gate in jou span te maak. 611 00:38:50,210 --> 00:38:51,180 Dit is goed as daar 'n bietjie van oorvleuel. 612 00:38:51,180 --> 00:38:53,670 Met ander woorde, as jy 2 mense wat beide goed met agterkant, 613 00:38:53,670 --> 00:38:57,250 wat kan goed wees as goed, want hulle mekaar kan help met probleme 614 00:38:57,250 --> 00:38:58,820 dat hulle met. 615 00:38:58,820 --> 00:39:02,590 Dit kan 'n probleem wees as jy net 1 persoon wat verantwoordelik is vir 'n sekere ding 616 00:39:02,590 --> 00:39:06,650 en hulle hardloop in 'n probleem, so jy wil 'n bietjie van oorvleueling te hê 617 00:39:06,650 --> 00:39:10,760 maar jy bowenal wil om seker te maak dat al die moontlike gate gevul te maak. 618 00:39:10,760 --> 00:39:17,550 >> Die laaste ding - en dit moet duidelik wees, maar dit is dikwels nie. 619 00:39:17,550 --> 00:39:19,550 Jy regtig wil word pret. 620 00:39:19,550 --> 00:39:23,360 Die punt van hierdie finale projek in CS50 en dikwels die punt van die web-ontwikkeling in die algemeen 621 00:39:23,360 --> 00:39:26,360 is nie om net te doen om 'n werk, want dit moet doen. 622 00:39:26,360 --> 00:39:29,140 Jy regtig wil word pret, en jy wil iets wees om 623 00:39:29,140 --> 00:39:31,180 dit is die motivering om te werk aan dit. 624 00:39:31,180 --> 00:39:33,650 As alles wat jy maak, is 'n pyn te sit en werk op, 625 00:39:33,650 --> 00:39:35,650 dan is jy nie die keuse van die regte projek. 626 00:39:35,650 --> 00:39:37,730 Jy wil iets wat jy interessant vind om van te kies, 627 00:39:37,730 --> 00:39:41,150 jy regtig wil hê dat die resultaat te sien, is jy opgewonde wanneer jy 'n nuwe idee oor 628 00:39:41,150 --> 00:39:44,700 iets wat jy kan doen - so daar is alle vorme van projekte is daar dat ek seker 629 00:39:44,700 --> 00:39:47,290 jy kan vind - almal het iets wat werklik sou intriges hulle 630 00:39:47,290 --> 00:39:49,290 As dit is 'n web-gebaseerde projek te doen. 631 00:39:49,290 --> 00:39:52,210 Ek sal dit weer sê nou. 632 00:39:52,210 --> 00:39:54,520 As jou projek lyk soos 'n pyn en jy nie wil hê om te werk op dit, 633 00:39:54,520 --> 00:39:57,260 kies 'n ander projek. Kies iets wat regtig inspireer jou. 634 00:39:57,260 --> 00:40:00,260 >> Ben genoem die konsep van herhaling 'n bietjie, en ek wil om te gaan oor dit 'n bietjie. 635 00:40:00,260 --> 00:40:08,250 Dit is baie belangrik om te werk in vlae waar jy iets funksionele bekom. 636 00:40:08,250 --> 00:40:13,420 Dit kan groot wees as jy hierdie plan vir 'n webwerf wat gaan A, B en C te doen, 637 00:40:13,420 --> 00:40:16,000 en uiteindelik sal dit daar te kry. 638 00:40:16,000 --> 00:40:18,600 Maar jy vas in hierdie fase waar jy werk op dit en werk op dit, 639 00:40:18,600 --> 00:40:23,330 maar niks is om gedoen. Jy hoef nie iets om te sien en 'n tasbare, funksionele ding. 640 00:40:23,330 --> 00:40:27,940 Wat jy regtig wil so baie om te doen soos dit lyk soort van 'n pyn soms te 641 00:40:27,940 --> 00:40:32,300 werk aan iets en dan soort van beperk dit af sodat dit ten minste op 'n stabiele, hardloop 642 00:40:32,300 --> 00:40:34,910 weergawe selfs al is dit nie al die eienskappe wat jy wil. 643 00:40:34,910 --> 00:40:37,690 En miskien is daar is 'n paar eienskappe wat jy regtig wil om by te voeg, maar jy kan net nie 644 00:40:37,690 --> 00:40:41,830 want jy wil om hierdie webwerf te kry om 'n funksionele punt. 645 00:40:41,830 --> 00:40:44,400 En so jy wil soort van die hele ontwikkelingsproses lyk soos dit. 646 00:40:44,400 --> 00:40:47,810 Jy wil iewers funksionele begin - of wese begin met niks - 647 00:40:47,810 --> 00:40:49,890 maar jy wil om iewers te kry baie basiese en funksionele. 648 00:40:49,890 --> 00:40:54,940 En dan weer, maak 'n soort van spring en kry iewers funksionele weer. 649 00:40:54,940 --> 00:40:59,190 Jy sal stadig opbou, en dit kan gaan 'n bietjie stadiger as wat dit andersins sou, 650 00:40:59,190 --> 00:41:03,000 maar in die lang termyn as jy voortdurend vas in hierdie middeweg fase waar jy 651 00:41:03,000 --> 00:41:06,380 nie eintlik enigiets te werk het, kan dit 'n baie groot frustrasie wees 652 00:41:06,380 --> 00:41:09,970 om te werk aan jou projek, omdat jy altyd so naby aan om dit te maak werk 653 00:41:09,970 --> 00:41:12,130 en dit was nog nooit werklik werk. 654 00:41:12,130 --> 00:41:14,810 Jy wil om te werk in hierdie funksionele spurts, 655 00:41:14,810 --> 00:41:17,950 en jy wil ook 'n paar besinning te doen nadat elkeen. 656 00:41:17,950 --> 00:41:21,260 Met ander woorde, sodra jy by 'n punt waar die terrein is nou besig - 657 00:41:21,260 --> 00:41:24,790 dit nie alles wat jy wil hê, maar dit nie 'n paar dinge - 658 00:41:24,790 --> 00:41:28,870 jy wil om te dink, okay, is hierdie site die bereiking van die doelwit wat ek het om te doen? 659 00:41:28,870 --> 00:41:33,410 Met ander woorde, indien die werf gaan X te doen, is wat ek werk het in die rigting van X? 660 00:41:33,410 --> 00:41:36,450 Is al die funksies wat ek daar wou? 661 00:41:36,450 --> 00:41:39,340 Verder, is dit die bediening van die algehele doel wat ek wil hê? 662 00:41:39,340 --> 00:41:43,200 As jy vind dat jou site is besig om te veer in 'n ander rigting 663 00:41:43,200 --> 00:41:47,330 of miskien dinge net soort van nie uit te werk, is dit dalk tyd ratte te skuif 'n bietjie wees. 664 00:41:47,330 --> 00:41:51,700 Met ander woorde, dit is die moeite werd oorweging nie - dit is die moeite werd om te gooi uit idees, indien nodig 665 00:41:51,700 --> 00:41:57,950 en oorweeg ek regtig werk aan wat ek wil wees. 666 00:41:57,950 --> 00:42:00,760 >> Ek glo dit is my volgende punt. Moenie bang idees te laat vaar nie. 667 00:42:00,760 --> 00:42:03,750 Net omdat jy spandeer baie ure op 'n funksie 668 00:42:03,750 --> 00:42:07,890 en uiteindelik het dit werk nie, maar dit is regtig nie so goed gaan - 669 00:42:07,890 --> 00:42:12,690 soos dit is nie so nuttig of gebruikers sukkel om dit te gebruik - dié soort van ding - 670 00:42:12,690 --> 00:42:15,300 moenie bang wees om dit te gooi weg wees. 671 00:42:15,300 --> 00:42:17,650 Dit suig dat jy het spandeer baie tyd daaraan werk, 672 00:42:17,650 --> 00:42:21,870 maar uiteindelik wat jy wil nie 'n webwerf wat is soort van saam te stel wat deur hierdie stukke wat 673 00:42:21,870 --> 00:42:25,380 soort van werk, maar nie so goed gedien het. 674 00:42:25,380 --> 00:42:27,990 Ook, moenie bang wees om nuwe idees te aanvaar nie. 675 00:42:27,990 --> 00:42:30,050 As iemand kom saam en sê, hey, die site lyk regtig cool, maar 676 00:42:30,050 --> 00:42:32,290 sou dit nie eens wonderlik wees as dit ook gedoen het? 677 00:42:32,290 --> 00:42:36,220 Net omdat dit is iets wat jy nie van plan is en iets wat nie in jou 678 00:42:36,220 --> 00:42:37,900 specs, iets wat jy nie het om te doen, 679 00:42:37,900 --> 00:42:40,860 moenie bang wees om dit te neem op en dan werk met dit. 680 00:42:40,860 --> 00:42:43,680 Want dikwels die idees wat jy loop met die hele loop van die ontwikkeling 681 00:42:43,680 --> 00:42:47,630 uiteindelik die regtig cool kenmerke van die webwerf. 682 00:42:47,630 --> 00:42:49,630 >> Ek het dit voor gesê. Ek sal dit weer sê. 683 00:42:49,630 --> 00:42:51,630 Testers is super, super nuttig. 684 00:42:51,630 --> 00:42:56,350 Probeer om mense wat nog nooit gesien het die terrein voor te meld en te sien wat gaan aan te kry 685 00:42:56,350 --> 00:42:59,080 want hulle kan nie net die nut van die terrein en die gebruikers ervaring toets, 686 00:42:59,080 --> 00:43:02,070 maar hulle kan ook die funksie toets op maniere wat jy nie kan nie. 687 00:43:02,070 --> 00:43:06,430 As jy 'n paar funksie wat nie 'n sekere ding 688 00:43:06,430 --> 00:43:11,620 en jy weet dit gaan dieselfde ding reg te doen elke keer, dit is groot. 689 00:43:11,620 --> 00:43:16,610 Maar dit kan dikwels moeilik wees om verantwoording te hoek gevalle waar 'n gebruiker kan 690 00:43:16,610 --> 00:43:19,500 tik iets wat jy nie verwag het nie - juis omdat jy omskryf 691 00:43:19,500 --> 00:43:21,500 die funksies jouself. 692 00:43:21,500 --> 00:43:23,730 So, om iemand kom wat geen idee hoe om die webwerf te gebruik het 693 00:43:23,730 --> 00:43:26,840 en om net breek dit in watter maniere waarop hulle kan doen is werklik nuttig omdat jy 694 00:43:26,840 --> 00:43:30,340 'n idee van 'n totaal ander perspektief van wat op jou werf is besig 695 00:43:30,340 --> 00:43:33,300 en wat herstel moet word. 696 00:43:33,300 --> 00:43:37,070 >> Laaste, ek gaan om te praat oor 'n paar algemene goeie praktyke, 697 00:43:37,070 --> 00:43:42,470 en jy het 'n baie van hierdie in CS50, maar hulle het ook baie, baie van toepassing in 'n projek omgewing. 698 00:43:42,470 --> 00:43:47,600 Een is kommentaar. Altyd kommentaar jou kode veral as jy werk op 'n groot span. 699 00:43:47,600 --> 00:43:51,230 Dit kan so irriterende om net 'n reuse-blok van die kode dat iemand geskryf wees 700 00:43:51,230 --> 00:43:54,230 en miskien is dit werk, miskien is dit nie gebeur nie, maar jy het geen idee wat dit doen nie, 701 00:43:54,230 --> 00:43:58,010 sodat jy het geen idee of dit nuttig is of nie en of dit daar moet wees of nie, 702 00:43:58,010 --> 00:44:00,200 en as jy werk op iets anders dit is selfs moontlik dat jy werk op 703 00:44:00,200 --> 00:44:06,590 dieselfde ding, so net baie, baie versigtig om bedagsaam van jou maats te wees 704 00:44:06,590 --> 00:44:09,710 en skryf kode wat goed gedokumenteer. 705 00:44:09,710 --> 00:44:13,580 Jy hoef nie te so ver gaan as om die hele ding waar graag as jy inkrementeer te doen 706 00:44:13,580 --> 00:44:16,620 'n toonbank het 'n opmerking wat sê, ek is die toevoeging van 1 tot hierdie toonbank. 707 00:44:16,620 --> 00:44:20,450 Dit hoef nie te wees dat gedetailleerde, maar vir enige funksie wat jy ooit skryf 708 00:44:20,450 --> 00:44:23,160 jy moet 'n dokumentasie van wat daardie funksie presies beteken het, 709 00:44:23,160 --> 00:44:25,140 wat sy insette is, en wat dit moet terugkeer. 710 00:44:25,140 --> 00:44:27,800 Die manier wat jy ander mense se komponente van die webwerf kan gebruik 711 00:44:27,800 --> 00:44:31,990 en jy kan werk aan die bou van iets groots. 712 00:44:31,990 --> 00:44:34,100 >> Nog 'n belangrike ding is wat jy wil gereelde skoon-ups te doen. 713 00:44:34,100 --> 00:44:40,490 Kode kry slordig. Moet nie sleg voel as jou kode is net heeltemal deurmekaar en 'n reuse gemors. 714 00:44:40,490 --> 00:44:42,770 Dit gebeur in die web ontwikkeling altyd. 715 00:44:42,770 --> 00:44:46,530 Jy is die toevoeging van nuwe funksies, die verwydering van die oues. Dinge gaan om daar te wees dat jy nie moet wees nie. 716 00:44:46,530 --> 00:44:49,330 Dit is goed, maar jy wil om seker te maak om gereeld te gaan met wat. 717 00:44:49,330 --> 00:44:53,430 Jy wil nie om dit te laat bou tot op die punt waar jy kan net nie iets vind 718 00:44:53,430 --> 00:44:56,430 in jou kode, en jy het geen idee wat niks doen nie. 719 00:44:56,430 --> 00:44:58,430 Dit is die geval met HTML. 720 00:44:58,430 --> 00:44:59,490 Soms sal jy eindig met voorwerpe wat niks bevat nie, 721 00:44:59,490 --> 00:45:01,320 en jy wil om ontslae te raak van hulle. 722 00:45:01,320 --> 00:45:04,610 In CSS, kan jy verwys word na elemente wat nie daar is nie, 723 00:45:04,610 --> 00:45:06,340 so jy wil om ontslae te raak van die kode. 724 00:45:06,340 --> 00:45:09,900 In JavaScript, kan jy iets uit die HTML verwyder het. 725 00:45:09,900 --> 00:45:13,150 So, jy wil om seker te maak dat jy altyd die skoonmaak maak, maak dinge mooi 726 00:45:13,150 --> 00:45:17,450 soveel as wat jy kan op 'n gereelde basis. 727 00:45:17,450 --> 00:45:21,060 >> Nog 'n baie nuttige ding wat ek dink nie, is baie soos uiteengesit in CS50 728 00:45:21,060 --> 00:45:23,430 maar dit is die moeite werd om in is weergawe beheer. 729 00:45:23,430 --> 00:45:27,180 Die idee van weergawe beheer is wanneer jy basies die dop van al die vooruitgang 730 00:45:27,180 --> 00:45:30,820 jy gemaak het na jou webwerf en as op enige punt wat jy besef, o, dit was die werk 731 00:45:30,820 --> 00:45:35,220 'n ruk gelede, maar dit is nie meer werk nie, kan jy terug gaan na die vorige weergawes 732 00:45:35,220 --> 00:45:37,720 en kyk wat het verander sedert toe en daardie soort van ding. 733 00:45:37,720 --> 00:45:41,670 Die primêre manier om dit te doen, is om met Git, en Git is hierdie hele soort stelsel wat 734 00:45:41,670 --> 00:45:46,390 Ek glo Tommy MacWilliam het 'n seminaar oor die laaste jaar. 735 00:45:46,390 --> 00:45:51,520 As jy in die CS50 seminare vir 2011, kan jy sy seminaar oor wat hulle sien. 736 00:45:51,520 --> 00:45:57,070 Die idee van die Git is basies dat gereelde tussenposes jy maak hierdie verpligtinge 737 00:45:57,070 --> 00:46:01,430 wat is maniere om te sê die terrein is in 'n mooi stabiele weergawe nou so 738 00:46:01,430 --> 00:46:05,910 Ek is die verpakking is dit en stuur dit weg na 'n bediener, en dan kan jy gaan na die bediener 739 00:46:05,910 --> 00:46:07,910 en kyk na al die vorige weergawes van die kode en kyk hoe dit vorder 740 00:46:07,910 --> 00:46:12,210 en al wat soort van goeie dinge. 741 00:46:12,210 --> 00:46:14,210 So, dit is dit basies. 742 00:46:14,210 --> 00:46:17,870 So ver as die web-ontwikkeling, ons is gelukkig om rond te hou en beantwoord enige 743 00:46:17,870 --> 00:46:20,570 vrae so ver as ons aanbieding. 744 00:46:20,570 --> 00:46:22,900 Dit is dit. Dankie. >> [Ben] Dankie. 745 00:46:22,900 --> 00:46:28,480 [Applous] 746 00:46:28,480 --> 00:46:30,950 >> [Billy] Personeel, Is daar iemand enige vrae oor dinge wat ons het gedek 747 00:46:30,950 --> 00:46:33,950 of dinge wat ons nie gedek dat hulle hoop ons wil bedek? 748 00:46:33,950 --> 00:46:35,950 Ons wil graag diegene te beantwoord. Enigiemand? 749 00:46:35,950 --> 00:46:50,360 [Lid van die gehoor] Wat is die voor-en nadele van die gebruik van Ruby of die gebruik van Python? 750 00:46:50,360 --> 00:46:58,660 [Ben] Die vraag is, wat is die voor-en nadele van die gebruik van Ruby of Python 751 00:46:58,660 --> 00:46:59,900 in plaas van soos PHP. 752 00:46:59,900 --> 00:47:11,340 Die voordele is dat Ruby en Python is baie beter as tale PHP. 753 00:47:11,340 --> 00:47:14,920 Ten minste in my mening, en ek dink in 'n baie ander mense se menings as well. 754 00:47:14,920 --> 00:47:20,990 Hulle is meer vir die doen van komplekse dinge ontwerp, 755 00:47:20,990 --> 00:47:25,380 en minder vir afranseling saam webblaaie regtig vinnig met 756 00:47:25,380 --> 00:47:28,400 'n bietjie van 'n dinamiese inhoud. 757 00:47:28,400 --> 00:47:35,180 Die nadele is dat daar 'n bietjie van - daar is meer van 'n leerproses 758 00:47:35,180 --> 00:47:37,220 te kry om hulle opgestel. 759 00:47:37,220 --> 00:47:41,010 Dit is, soos in PHP, kan jy net 'n HTML-lêer en jy minder-as skryf, 760 00:47:41,010 --> 00:47:43,060 vraagteken, en dan moet jy skryf 'n paar kode, en dan kan jy skryf vraagteken, 761 00:47:43,060 --> 00:47:45,700 groter-as, en dan is jy klaar. 762 00:47:45,700 --> 00:47:50,300 In ander tale soos Ruby of Python, 763 00:47:50,300 --> 00:47:56,810 jy het om te gaan deur 'n bietjie meer werk die eerste site aan die gang te kry. 764 00:47:56,810 --> 00:48:02,730 Daar is ook - ten minste is dit gebruik om die saak te wees - dat daar is meer dokumentasie 765 00:48:02,730 --> 00:48:05,480 beskikbaar vir PHP net omdat daar meer mense is wat dit gebruik. 766 00:48:05,480 --> 00:48:09,370 Ek dink dit is nie so veel van 'n probleem nie. 767 00:48:09,370 --> 00:48:12,520 Daar is beslis 'n baie goeie dokumentasie vir dinge soos Ruby on Rails 768 00:48:12,520 --> 00:48:16,080 of Django vir Python is die ekwivalent. 769 00:48:16,080 --> 00:48:25,910 PHP is die een wat almal se gebruik vir die jaar, en jy weet hoe dit werk. 770 00:48:25,910 --> 00:48:28,460 Ruby en Python is 'n bietjie minder volwasse. 771 00:48:28,460 --> 00:48:33,130 >> [Lid van die gehoor] As jy was om te kies tussen een van hulle te leer of optel, 772 00:48:33,130 --> 00:48:36,130 wat sou jy verkies? 773 00:48:36,130 --> 00:48:38,870 Eerlik, ek dink dit hang af van die persoon. 774 00:48:38,870 --> 00:48:45,450 Ek is jammer. Die vraag was wat sou jy kies vir iemand om te leer? 775 00:48:45,450 --> 00:48:50,230 Ek vind Python die mooiste persoonlik. 776 00:48:50,230 --> 00:48:55,360 Daar is 'n klomp mense wat - ek het my eerste web dev projek in Python en Django. 777 00:48:55,360 --> 00:49:00,300 Daar is 'n klomp mense wat graag Ruby on Rails ook. 778 00:49:00,300 --> 00:49:02,650 Waarskynlik meer mense wat Ruby on Rails weet. 779 00:49:02,650 --> 00:49:05,270 Eerlik, ek wil net gaan met alles wat die mense rondom jou weet 780 00:49:05,270 --> 00:49:09,680 sodat jy het om mense om vrae te vra. 781 00:49:19,640 --> 00:49:24,170 >> Die vraag was - op gedeelde bedieners is dit soort van hard te werk aan Python? 782 00:49:24,170 --> 00:49:26,170 Dit hang af van jou hosting. 783 00:49:26,170 --> 00:49:29,400 Daar is 'n aantal van die web hosts wat Python dinge plaas. 784 00:49:29,400 --> 00:49:31,400 WebFaction doen dit, reg? 785 00:49:31,400 --> 00:49:34,400 WebFaction is een wat ek en Billy het vir 'n paar projekte gebruik word. 786 00:49:34,400 --> 00:49:37,750 Hulle is regtig baie goed. Hulle ondersteun die meeste tale. 787 00:49:37,750 --> 00:49:40,020 Maar dit is waar dat PHP is baie meer algemeen ondersteun. 788 00:49:40,020 --> 00:49:45,210 Dus, as jy vas op 'n web host dat slegs doen PHP, dit is 'n goeie rede PHP te gebruik. 789 00:49:45,210 --> 00:49:56,010 >> [Lid van die gehoor] Ek het net in leer hoe om 'n databasis te bevraagteken, 790 00:49:56,010 --> 00:50:00,680 en ek weet my SQL is al oor die plek nie, maar Ek het onlangs blootgestel aan - 791 00:50:00,680 --> 00:50:04,470 en jy wys dit uit. Jy sien into en verwissel databasisse. 792 00:50:04,470 --> 00:50:14,580 My SQL is nog oor die hele plek. Hoe sien jy wat gebeur? 793 00:50:14,580 --> 00:50:21,330 Is daar gaan 'n groeiende tendens vir meer verwissel (onhoorbaar) te wees? 794 00:50:21,330 --> 00:50:30,100 Die vraag was - ek dink daar gaan 'n neiging tot nie-SQL databasis te wees. 795 00:50:30,100 --> 00:50:33,850 Byvoorbeeld, soos MongoDB. Ek dink dit is beslis waar. 796 00:50:33,850 --> 00:50:38,730 My raad is meestal mySQL-verwante hier net omdat MySQL is 797 00:50:38,730 --> 00:50:40,950 industrie standaard. 798 00:50:40,950 --> 00:50:45,950 Persoonlik, ek het baie verkies om databasisse wat nie schemos soos MongoDB 799 00:50:45,950 --> 00:50:49,520 waar jy nie die kwessie van, O, ek moet nog 'n kolom by te voeg. 800 00:50:49,520 --> 00:50:51,600 Wee my, soos wat ook al kan ek doen? 801 00:50:51,600 --> 00:50:55,840 Dit is baie moeilik om dit te doen op forum, maar wanneer jy iets soos Mongo 802 00:50:55,840 --> 00:50:57,840 dit is baie lekkerder. 803 00:50:57,840 --> 00:51:03,780 Die ander lekker ding van Mongo is dat jou rekords is eintlik JavaScript voorwerpe. 804 00:51:03,780 --> 00:51:10,110 Daar is geen soort van sukses stap waar jy nodig het om hierdie databasis rye te neem 805 00:51:10,110 --> 00:51:13,140 en draai hulle in 'n JavaScript voorwerp en stuur hulle oor die draad dan. 806 00:51:13,140 --> 00:51:20,290 Ek dink dinge soos wat gaan wees baie, baie nuttig vir 'n vinnige web ontwikkeling in die toekoms. 807 00:51:20,290 --> 00:51:23,060 >> [Billy] iets wat ek sou voeg wat net 'n algemene punt is dat 808 00:51:23,060 --> 00:51:26,580 nie voel soos jy moet geleer het om al die tale wat ons het bespreek 809 00:51:26,580 --> 00:51:28,580 van ons seminaar. 810 00:51:28,580 --> 00:51:30,560 Dit is duidelik dat die punt is om jou 'n idee van wat daar buite gee, 811 00:51:30,560 --> 00:51:33,450 en as jy geboei deur enige van die dinge wat ons genoem het Jy kan Google hulle 812 00:51:33,450 --> 00:51:35,830 en lees oor hulle. 813 00:51:35,830 --> 00:51:38,750 En soos ek genoem het, is daar 'n paar seminare wat handel oor presies hierdie dinge. 814 00:51:38,750 --> 00:51:41,660 Daar is selfs meer seminare wat ek nie genoem het nie, wat waarskynlik kry in 815 00:51:41,660 --> 00:51:43,660 hierdie dinge so goed. 816 00:51:43,660 --> 00:51:46,610 Die idee is dat as jy wil om te werk aan iets, hier is die gereedskap tot jou beskikking. 817 00:51:46,610 --> 00:51:51,630 Moenie oorweldig voel as jy nie seker wat die gereedskap presies, 818 00:51:51,630 --> 00:51:54,830 maar weet dat hulle daar is en dat jy kan ruim gebruik maak van hulle 819 00:51:54,830 --> 00:51:56,830 deur Google. 820 00:51:56,830 --> 00:51:59,960 >> [Lid van die gehoor] Watter soort dinge het jy nodig om te doen seker dat jou webwerf te maak 821 00:51:59,960 --> 00:52:02,530 lyk goed op mobiele toestelle? 822 00:52:02,530 --> 00:52:05,590 [Billy] Mobiele toestelle is 'n bietjie hard. 823 00:52:05,590 --> 00:52:07,590 Daar is 2 maniere waarop jy kan dit nader. 824 00:52:07,590 --> 00:52:11,500 Die eerste manier is dat jy eintlik 'n mobiele webwerf. 825 00:52:11,500 --> 00:52:14,660 Met ander woorde, jy het 'n paar soort van opsporing aan die begin 826 00:52:14,660 --> 00:52:18,830 wanneer die leser die versoek om jou webwerf wat óf sê 827 00:52:18,830 --> 00:52:25,240 terug hierdie siening - wat sal die vertoning vir rekenaar of laptop implementeer wees - 828 00:52:25,240 --> 00:52:27,710 en hierdie ander oog vir mobiele toestelle. 829 00:52:27,710 --> 00:52:33,090 Dit is 'n plek waar uitsig is baie mooi in dat jy kan pretty much ruil die 830 00:52:33,090 --> 00:52:37,580 twee uit en het 'n koppelvlak wat werk regtig mooi op mobiele toestelle 831 00:52:37,580 --> 00:52:40,770 en het 'n heeltemal ander een wat werk mooi op die leser toestelle. 832 00:52:40,770 --> 00:52:43,770 Die probleem met dit is wat dit neem om 'n lang tyd, want dit beteken kodering 833 00:52:43,770 --> 00:52:47,060 'n totaal ander koppelvlak. 834 00:52:47,060 --> 00:52:49,720 Die ander manier waarop jy dit kan doen, is om - 835 00:52:49,720 --> 00:52:55,250 'n baie moderne selfone sal vertoon webtuistes en probeer om hulle te lewer as 'n leser sou 836 00:52:55,250 --> 00:52:57,680 en hulle hul bes doen. 837 00:52:57,680 --> 00:53:04,340 Jy kan soort van probeer om die lig te bly op die bedrag van die jQuery JavaScript wat jy gebruik 838 00:53:04,340 --> 00:53:07,360 wat geneig is om te wees waar dinge verkeerd kan gaan 'n bietjie. 839 00:53:07,360 --> 00:53:13,430 Dit is 'n soort van die weg wat jy moet gebruik as jy nie het nie veel tyd. 840 00:53:13,430 --> 00:53:18,540 As jy nie die tyd om te werk op 'n mobiele koppelvlak, dit is duidelik jou beste opsie. 841 00:53:18,540 --> 00:53:23,320 >> Ek dink in die algemeen vir CS50 projekte, gaan jy een of die ander te kies. 842 00:53:23,320 --> 00:53:27,990 Met ander woorde, wil jy 'n foon te maak of jy 'n lessenaar webwerf te maak. 843 00:53:27,990 --> 00:53:32,200 En dat die soort van bepaal waar jy gaan met dit. 844 00:53:32,200 --> 00:53:35,360 Maar as jy wil dit uit te brei later uit, waarskynlik jou beste bet is 845 00:53:35,360 --> 00:53:37,360 'n ander koppelvlak vir die ander te maak. 846 00:53:51,650 --> 00:53:56,340 Ek het 'n bietjie van die ervaring in die ontwikkeling WordPress-gebaseerde webwerwe. 847 00:53:56,340 --> 00:53:58,670 Ek gasheer vir 'n persoonlike webwerf op WordPress vir 'n rukkie. 848 00:53:58,670 --> 00:54:02,310 Diegene soorte raamwerke kan lekker wees, net soos baie basiese dinge. 849 00:54:02,310 --> 00:54:07,050 Dikwels sal jy net loop in 'n baie flexibiliteit kwessies though. 850 00:54:07,050 --> 00:54:10,940 Jy wil iets wat 'n sekere manier te kyk of 'n sekere manier te hê 851 00:54:10,940 --> 00:54:14,510 en jy kan net nie, want dit is hard-wired in die stelsel wat 852 00:54:14,510 --> 00:54:17,480 dit is hoe jy dinge wat kan 'n bietjie van 'n probleem te wees om te doen. 853 00:54:17,480 --> 00:54:22,020 Sedertdien het ek soort van is meer geneig om te werk met webwerwe van die grond af. 854 00:54:22,020 --> 00:54:26,840 Vir dinge soos blog databasisse en dat die soort van ding wat dit is regtig nie so moeilik om 'n raamwerk te bou. 855 00:54:26,840 --> 00:54:29,970 As jy regtig strek vir tyd, kan jy natuurlik iets soos WordPress gebruik 856 00:54:29,970 --> 00:54:33,120 of dat die soort van ding vir 'n blog. 857 00:54:33,120 --> 00:54:38,790 Die soort dinge wat blogs winkel en doen nie regtig hard genoeg dat 858 00:54:38,790 --> 00:54:41,500 as jy loop in enige van daardie soort dinge is, is jy waarskynlik die beste om net te 859 00:54:41,500 --> 00:54:43,500 Maak 'n in-huis-weergawe. 860 00:54:43,500 --> 00:54:48,350 >> Ek dink dit is oor dit, so dankie weer vir die komende. 861 00:54:48,350 --> 00:54:51,960 Ons het dit baie geniet met jou praat ouens en hoop dat jy 'n paar dinge geleer. 862 00:54:51,960 --> 00:54:55,350 [Ben] Ons is gelukkig om te praat - ons het om te gaan, maar ons is bly om te meer buite praat 863 00:54:55,350 --> 00:55:01,650 As jy 'n ander vraag. Dankie weer. [Applous] 864 00:55:03,750 --> 00:55:06,000 [CS50.TV]