1 00:00:00,000 --> 00:00:01,291 >> DAVID J. MALAN: Dus zijn we weer terug. 2 00:00:01,291 --> 00:00:03,050 Zodat de high-level topic op dit moment nu 3 00:00:03,050 --> 00:00:06,440 is technologie stacks, die niet is een bijzonder technische term, 4 00:00:06,440 --> 00:00:09,960 het is meer een catch all voor alle aantal combinaties van technologieën 5 00:00:09,960 --> 00:00:11,840 dat je zou kunnen gebruiken om problemen op te lossen. 6 00:00:11,840 --> 00:00:14,850 En misschien wel het meest passende manier om te beginnen 7 00:00:14,850 --> 00:00:18,110 zou zijn om te kijken naar talen sinds Ik blijf opdreunen van een hele hoop 8 00:00:18,110 --> 00:00:21,000 en bijna iedereen in de kamer heeft waarschijnlijk gehoord van ten minste één. 9 00:00:21,000 --> 00:00:25,730 >> En dus waarom niet proberen we te onderscheiden what-- te onderscheiden in de volgende talen 10 00:00:25,730 --> 00:00:28,932 en praten kort over als je zou doen kiezen voor een over de ander, hoe zijn ze 11 00:00:28,932 --> 00:00:30,890 soort van fundamenteel verschillende, en in het bijzonder 12 00:00:30,890 --> 00:00:34,830 als je chatten met ingenieurs, of proberen om te beslissen wie in te huren, 13 00:00:34,830 --> 00:00:37,652 of wat implementatie voorstel om greenlight, 14 00:00:37,652 --> 00:00:39,860 hoe je eigenlijk zou maken dat soort beslissingen. 15 00:00:39,860 --> 00:00:41,890 >> Dus laten we gewoon rammelen sommige dingen uit. 16 00:00:41,890 --> 00:00:45,300 Van de talen die mensen hebben gehoord, wat in je opkomt? 17 00:00:45,300 --> 00:00:48,030 C. OK. 18 00:00:48,030 --> 00:00:48,757 OK, C ++. 19 00:00:48,757 --> 00:00:51,400 20 00:00:51,400 --> 00:00:51,990 Wat is dat? 21 00:00:51,990 --> 00:00:52,390 >> PUBLIEK: Python. 22 00:00:52,390 --> 00:00:53,348 >> DAVID J. MALAN: Python. 23 00:00:53,348 --> 00:00:55,330 Uitstekend. 24 00:00:55,330 --> 00:00:57,000 Wat nog meer? 25 00:00:57,000 --> 00:00:58,810 Visual Basic. 26 00:00:58,810 --> 00:01:01,100 Ik hoorde Java. 27 00:01:01,100 --> 00:01:02,610 Visual Basic-- alias 28 00:01:02,610 --> 00:01:03,150 VB. 29 00:01:03,150 --> 00:01:03,650 Java. 30 00:01:03,650 --> 00:01:07,294 31 00:01:07,294 --> 00:01:12,810 NET, dat is meer een catch all voor wat is meestal C # als taal 32 00:01:12,810 --> 00:01:13,770 in kwestie. 33 00:01:13,770 --> 00:01:14,770 En laat me dat noemen. 34 00:01:14,770 --> 00:01:15,900 Dus we terug naar die komen. 35 00:01:15,900 --> 00:01:17,560 Het spijt me? 36 00:01:17,560 --> 00:01:18,170 Sorry? 37 00:01:18,170 --> 00:01:19,877 >> PUBLIEK: SQL. 38 00:01:19,877 --> 00:01:20,876 DAVID J. MALAN: Scratch? 39 00:01:20,876 --> 00:01:21,610 PUBLIEK: SQL. 40 00:01:21,610 --> 00:01:22,610 DAVID J. MALAN: Oh, SQL. 41 00:01:22,610 --> 00:01:23,110 OK. 42 00:01:23,110 --> 00:01:23,750 SQL. 43 00:01:23,750 --> 00:01:29,510 Dus we zullen terugkomen om daadwerkelijk dat--, het is goed-- na de pauze ook. 44 00:01:29,510 --> 00:01:30,572 Wat nog meer? 45 00:01:30,572 --> 00:01:32,530 >> PUBLIEK: Oracle. 46 00:01:32,530 --> 00:01:34,670 >> DAVID J. MALAN: So Oracle, geen taal. 47 00:01:34,670 --> 00:01:36,560 Eigenlijk zouden ze SQL gebruiken als goed. 48 00:01:36,560 --> 00:01:38,360 Dus laten we dat na de pauze ook. 49 00:01:38,360 --> 00:01:39,744 En sorry, iets meer dan hier? 50 00:01:39,744 --> 00:01:40,660 PUBLIEK: Mathematica. 51 00:01:40,660 --> 00:01:41,390 DAVID J. MALAN: Mathematica? 52 00:01:41,390 --> 00:01:42,303 OK zeker. 53 00:01:42,303 --> 00:01:46,150 54 00:01:46,150 --> 00:01:49,180 En MATLAB is een soort van daar soms. 55 00:01:49,180 --> 00:01:50,060 >> PUBLIEK: R. 56 00:01:50,060 --> 00:01:51,755 >> DAVID J. MALAN: R. Laten we gaan hier. 57 00:01:51,755 --> 00:01:54,710 58 00:01:54,710 --> 00:01:55,210 Fortran. 59 00:01:55,210 --> 00:01:55,880 Tuurlijk. 60 00:01:55,880 --> 00:01:57,910 Oudere school. 61 00:01:57,910 --> 00:01:59,390 Fortran. 62 00:01:59,390 --> 00:02:01,550 COBOL. 63 00:02:01,550 --> 00:02:02,410 Ik gooi BASIC. 64 00:02:02,410 --> 00:02:05,990 65 00:02:05,990 --> 00:02:08,539 BASIC. 66 00:02:08,539 --> 00:02:09,390 Elke-- 67 00:02:09,390 --> 00:02:10,352 >> PUBLIEK: MATLAB? 68 00:02:10,352 --> 00:02:11,310 DAVID J. MALAN: MATLAB. 69 00:02:11,310 --> 00:02:12,248 Oh, sla je aan het. 70 00:02:12,248 --> 00:02:15,370 71 00:02:15,370 --> 00:02:15,870 Iets? 72 00:02:15,870 --> 00:02:18,700 Ik kan denken aan een paar anderen. 73 00:02:18,700 --> 00:02:21,876 Ik kan denken aan een paar anderen. 74 00:02:21,876 --> 00:02:22,792 En wat was de laatste? 75 00:02:22,792 --> 00:02:23,970 >> PUBLIEK: ASP. 76 00:02:23,970 --> 00:02:25,030 >> DAVID J. MALAN: ASP? 77 00:02:25,030 --> 00:02:26,100 Ja. 78 00:02:26,100 --> 00:02:27,100 Active Server Pages. 79 00:02:27,100 --> 00:02:30,270 Dit zou in het algemeen onder vallen andere talen, soms C #, 80 00:02:30,270 --> 00:02:32,040 dus laten we laten dat af. 81 00:02:32,040 --> 00:02:35,510 Maar we zullen terug te komen op dat voor kaders en dergelijke. 82 00:02:35,510 --> 00:02:36,290 Nog iets anders? 83 00:02:36,290 --> 00:02:39,020 PHP is populair. 84 00:02:39,020 --> 00:02:41,710 Ruby is een andere. 85 00:02:41,710 --> 00:02:48,230 JavaScript, niet te verwarren Java, is een andere. 86 00:02:48,230 --> 00:02:49,570 Dat is een soort van een partij. 87 00:02:49,570 --> 00:02:53,590 >> Dus het kan zeker overweldigend zijn, alsof de lijst nog niet is, 88 00:02:53,590 --> 00:02:55,650 gewoon om te beginnen om te weten waar je begint. 89 00:02:55,650 --> 00:02:58,130 En zo gelukkig, laten we benaderen dit van een paar hoeken. 90 00:02:58,130 --> 00:03:03,520 Ten eerste, laten we proberen te categoriseren ten minste enkele van deze talen 91 00:03:03,520 --> 00:03:06,790 in twee grote emmers, die doet denken aan het gesprek dat we voor rust hadden, 92 00:03:06,790 --> 00:03:09,630 waar we spraken over het compileren, en de broncode, en machine-code, 93 00:03:09,630 --> 00:03:11,440 want dat is niet hoe alle talen werken. 94 00:03:11,440 --> 00:03:15,640 Dus we zullen rukken uit een paar voorbeelden van-- of tegen de examples-- dat model. 95 00:03:15,640 --> 00:03:18,490 >> En dan, waarom doen we niet praten over de toepassingen 96 00:03:18,490 --> 00:03:20,390 dat deze talen worden algemeen gebruikt. 97 00:03:20,390 --> 00:03:22,840 En eerlijk gezegd, ook al Dit is een vrij lange lijst, 98 00:03:22,840 --> 00:03:26,320 het is slechts een subset van deze lijst die zou je meestal trekken uit deze dagen 99 00:03:26,320 --> 00:03:27,220 problemen oplossen. 100 00:03:27,220 --> 00:03:29,150 Sommige talen zijn nieuwer dan anderen. 101 00:03:29,150 --> 00:03:31,170 Bepaalde talen zijn populairder dan anderen. 102 00:03:31,170 --> 00:03:34,370 Dus het is niet alsof je zo'n hebt een overweldigende taak voordat u 103 00:03:34,370 --> 00:03:36,970 bij de keuze tussen deze verschillende talen. 104 00:03:36,970 --> 00:03:40,110 >> Dus laten we dit doen. 105 00:03:40,110 --> 00:03:45,870 We hadden eerder, broncode, en toen moesten we machine code. 106 00:03:45,870 --> 00:03:48,590 107 00:03:48,590 --> 00:03:49,400 Whoops. 108 00:03:49,400 --> 00:03:50,910 Het schrijven van het verkeerde woord. 109 00:03:50,910 --> 00:03:52,740 Machine code. 110 00:03:52,740 --> 00:03:57,549 En we hadden een proces in de midden called-- ja, de compiler. 111 00:03:57,549 --> 00:03:58,215 Zodat de compiler. 112 00:03:58,215 --> 00:04:00,760 113 00:04:00,760 --> 00:04:03,910 >> En wat de machine code eigenlijk draait op het einde 114 00:04:03,910 --> 00:04:05,680 gaat uw werkelijke CPU. 115 00:04:05,680 --> 00:04:09,660 Met andere woorden, door machinecode, I betekent het laagste niveau instructies 116 00:04:09,660 --> 00:04:11,330 dat een CPU daadwerkelijk begrijpt. 117 00:04:11,330 --> 00:04:15,100 Optellen, aftrekken, verhuizen, opslaan en operaties zoals die. 118 00:04:15,100 --> 00:04:19,700 En dus dit is het model voor wat bekend als gecompileerde talen. 119 00:04:19,700 --> 00:04:21,000 Misschien niet verrassend. 120 00:04:21,000 --> 00:04:23,550 >> Dus dit is het model voor gecompileerde talen. 121 00:04:23,550 --> 00:04:25,970 Maar het blijkt er's andere klasse talen 122 00:04:25,970 --> 00:04:32,650 riep geïnterpreteerd languages-- geïnterpreteerd languages-- 123 00:04:32,650 --> 00:04:34,030 die iets anders. 124 00:04:34,030 --> 00:04:41,660 Je schrijft in broncode, draaien ze via een tolk, 125 00:04:41,660 --> 00:04:45,440 en dat de tolk is wat draait op de CPU. 126 00:04:45,440 --> 00:04:50,120 Met andere woorden, wat je niet emit is wat, blijkbaar? 127 00:04:50,120 --> 00:04:50,980 Machine code. 128 00:04:50,980 --> 00:04:54,290 De nullen en enen dat de CPU zelf uiteindelijk begrijpt. 129 00:04:54,290 --> 00:04:59,780 >> Dus in deze eerste versie en talen als C, zoals wij zagen, 130 00:04:59,780 --> 00:05:02,040 je schrijft in de broncode dat is een beetje mysterieus, 131 00:05:02,040 --> 00:05:05,300 maar in ieder geval het is een soort van het Engels-like en het apparaat minimaal leesbaar 132 00:05:05,300 --> 00:05:06,780 als je eenmaal aan wennen. 133 00:05:06,780 --> 00:05:10,100 Je loopt het door een compiler en uit je krijgt, uiteindelijk, nullen en enen. 134 00:05:10,100 --> 00:05:11,340 >> Dat een oversimplificatie. 135 00:05:11,340 --> 00:05:12,839 Er zijn een aantal andere stappen in. 136 00:05:12,839 --> 00:05:15,530 In feite, als je ooit hebt gehoord de term "assembler" 137 00:05:15,530 --> 00:05:17,990 dat is een stap voor de nullen en enen. 138 00:05:17,990 --> 00:05:20,949 Dat een beetje beter leesbaar, maar nog steeds behoorlijk mysterieus. 139 00:05:20,949 --> 00:05:23,740 En dus is er tussenstappen dat zijn in feite, hier aan de hand. 140 00:05:23,740 --> 00:05:26,360 Maar de output uiteindelijk is deze nullen en enen. 141 00:05:26,360 --> 00:05:28,990 >> Maar in de geïnterpreteerd wereld, waar je 142 00:05:28,990 --> 00:05:32,680 talen die worden geïnterpreteerd talen, je eigenlijk sla die stap. 143 00:05:32,680 --> 00:05:36,010 Met andere woorden, bij het schrijven programma, je gewoon direct voer het uit. 144 00:05:36,010 --> 00:05:38,960 Je hoeft niet compileren en vervolgens uitvoeren, zoals ik eerder deed. 145 00:05:38,960 --> 00:05:41,132 Je schrijft het gewoon en voer het uit. 146 00:05:41,132 --> 00:05:44,340 En als je wilt een snelle verandering te maken, je maakt een snelle verandering en voer het. 147 00:05:44,340 --> 00:05:46,640 Dus is er geen middelste stap hier. 148 00:05:46,640 --> 00:05:50,840 >> Nu, voor het programma dat ik al eerder schreef, die dit programma "Hello World", 149 00:05:50,840 --> 00:05:53,660 je misschien redelijk wonder-- of redelijkerwijs 150 00:05:53,660 --> 00:05:58,570 state-- dat was niet dat de tijd consumeren mijn programma samen te stellen. 151 00:05:58,570 --> 00:06:00,337 Het lijkt te hebben gedaan, net als dat. 152 00:06:00,337 --> 00:06:02,170 En er is de grafische versies van compilers. 153 00:06:02,170 --> 00:06:05,270 Ik ben met behulp van een zeer geheimzinnige versie, maar je kon een afspeelknop hit 154 00:06:05,270 --> 00:06:07,887 en dat zou eigenlijk doen de compilatie voor u. 155 00:06:07,887 --> 00:06:10,720 Ik heb het programma samengesteld en vervolgens nogmaals, het uit te voeren, heb ik dit gewoon doen. 156 00:06:10,720 --> 00:06:13,820 En het uitgangen aan de linkerkant is er, "Hello!" 157 00:06:13,820 --> 00:06:15,530 Dat lijkt niet al die verlieslatend. 158 00:06:15,530 --> 00:06:19,920 Maar als je programma's meer dan één, twee, drie, 159 00:06:19,920 --> 00:06:25,470 vier, vijf regels lang, het kan nemen veel meer seconden te compileren. 160 00:06:25,470 --> 00:06:28,310 Soms zelfs minuten of nogal wat tijd om te compileren. 161 00:06:28,310 --> 00:06:30,480 Immers, een deel van de 's werelds grootste producten 162 00:06:30,480 --> 00:06:35,040 zijn zaken als besturingssystemen, Microsoft Word, Microsoft Excel, 163 00:06:35,040 --> 00:06:39,070 daarvan die honderdduizenden of zelfs miljoenen regels code lang, 164 00:06:39,070 --> 00:06:41,300 en die niet alleen direct uit te voeren. 165 00:06:41,300 --> 00:06:44,560 >> Bovendien, op het web, het is tegenwoordig in de mode te gebruiken 166 00:06:44,560 --> 00:06:47,600 gewoon geïnterpreteerde talen, voor een deel omdat je 167 00:06:47,600 --> 00:06:50,570 kan een verandering als de ontwikkelaar te maken en dan gewoon meteen herladen 168 00:06:50,570 --> 00:06:52,570 de browser pagina en direct het resultaat zien. 169 00:06:52,570 --> 00:06:56,160 Enzovoort HTML, maar niet een programmeertaal, 170 00:06:56,160 --> 00:06:58,860 is een taal die wordt geïnterpreteerd. 171 00:06:58,860 --> 00:07:00,770 En we zagen dat hetzelfde effect gisteren. 172 00:07:00,770 --> 00:07:04,070 U herladen alleen de pagina na het maken van een verandering van Cloud9 en-- voila-- 173 00:07:04,070 --> 00:07:05,560 zie je een nieuw resultaat. 174 00:07:05,560 --> 00:07:07,090 >> Dus wat is het verschil? 175 00:07:07,090 --> 00:07:13,190 In HTML, rappel, hadden we geopend HTML, open hoofd, openen de titel, in de buurt titel, 176 00:07:13,190 --> 00:07:15,250 dicht hoofd open lichaam, enzovoort. 177 00:07:15,250 --> 00:07:19,149 We hadden al deze tags die we behoorlijk veel gezegd, vertel de browser wat te doen. 178 00:07:19,149 --> 00:07:20,690 Hey browser, hier komt een HTML-pagina. 179 00:07:20,690 --> 00:07:22,170 Hey browser, hier komt de titel. 180 00:07:22,170 --> 00:07:24,429 Hey browser, hier komt een aantal tekst die vet moet zijn. 181 00:07:24,429 --> 00:07:25,720 En dan is het tegenovergestelde vertellen. 182 00:07:25,720 --> 00:07:27,330 Hey browser, dat is het voor de vetgedrukt tekst. 183 00:07:27,330 --> 00:07:28,830 Hey browser, dat is het voor het lichaam. 184 00:07:28,830 --> 00:07:29,740 Enzovoorts. 185 00:07:29,740 --> 00:07:31,130 >> En wat is een browser? 186 00:07:31,130 --> 00:07:33,170 Een browser is slechts een tolk. 187 00:07:33,170 --> 00:07:36,090 Het is een programma dat iemand als Microsoft of Google heeft geschreven, 188 00:07:36,090 --> 00:07:39,160 waarvan het doel in het leven is lees een taal, die bekend staat als HTML, 189 00:07:39,160 --> 00:07:39,890 en interpreteren. 190 00:07:39,890 --> 00:07:41,290 Boven naar beneden, van links naar rechts. 191 00:07:41,290 --> 00:07:46,880 En elke keer dat de browser ziet geopend beugel, de titel, in de buurt beugel 192 00:07:46,880 --> 00:07:48,960 moet interpreteren in die zin, oh, dat 193 00:07:48,960 --> 00:07:52,490 betekent dat ik moet deze woorden weg te zetten hier boven in de browser. 194 00:07:52,490 --> 00:07:55,700 >> Dus het doet precies wat de HTML-code zegt. 195 00:07:55,700 --> 00:07:57,240 Maar er is geen nullen en enen. 196 00:07:57,240 --> 00:07:58,250 Er is geen compilatie. 197 00:07:58,250 --> 00:07:58,890 Je hebt het niet te doen. 198 00:07:58,890 --> 00:07:59,931 De browser heeft het niet gedaan. 199 00:07:59,931 --> 00:08:01,710 Het is gewoon niet bij betrokken. 200 00:08:01,710 --> 00:08:05,890 >> Dus in de geest van deze voortdurende onderwerpen, vandaag en gisteren, 201 00:08:05,890 --> 00:08:08,400 dat lijkt een prachtige functie. 202 00:08:08,400 --> 00:08:11,410 U bespaart uw code en dan gewoon draaien of interpreteren. 203 00:08:11,410 --> 00:08:13,790 Er is geen tussenliggende stappen. 204 00:08:13,790 --> 00:08:15,690 Zeker is er een prijs? 205 00:08:15,690 --> 00:08:16,810 Kunnen niet allemaal positieve kanten. 206 00:08:16,810 --> 00:08:19,964 Dus wat zou dat kosten zijn? 207 00:08:19,964 --> 00:08:20,940 >> PUBLIEK: Space. 208 00:08:20,940 --> 00:08:22,370 >> DAVID J. MALAN: Space. 209 00:08:22,370 --> 00:08:23,370 Zo zeker. 210 00:08:23,370 --> 00:08:26,920 In de gecompileerde wereld, je hebt niet alleen de originele broncode, 211 00:08:26,920 --> 00:08:29,657 bent u ook het creëren en dan vermoedelijk besparing 212 00:08:29,657 --> 00:08:31,740 de machine code-- de nullen en ones-- en dat is 213 00:08:31,740 --> 00:08:33,870 moet nemen bepaalde hoeveelheid ruimte. 214 00:08:33,870 --> 00:08:34,429 Absoluut. 215 00:08:34,429 --> 00:08:35,765 Dus het kost je meer ruimte. 216 00:08:35,765 --> 00:08:39,289 217 00:08:39,289 --> 00:08:39,789 Ja? 218 00:08:39,789 --> 00:08:43,280 >> PUBLIEK: Browsers misschien interpreteren anders. 219 00:08:43,280 --> 00:08:46,770 >> DAVID J. MALAN: Browsers misschien interpreteren het anders. 220 00:08:46,770 --> 00:08:48,622 Dat is waar. 221 00:08:48,622 --> 00:08:50,330 Maar ik weet niet of ik ben comfortabele claimen 222 00:08:50,330 --> 00:08:51,840 dat komt omdat het wordt uitgelegd. 223 00:08:51,840 --> 00:08:56,340 Dat is meer gewoon omdat het een implementatie van een taal 224 00:08:56,340 --> 00:08:58,050 dat zelf dubbelzinnigheden. 225 00:08:58,050 --> 00:09:01,570 Dus laten we niet helemaal bevestigen die ene, maar goed voorgevoel. 226 00:09:01,570 --> 00:09:03,103 Wat anders zou de prijs te betalen? 227 00:09:03,103 --> 00:09:03,602 Andrew? 228 00:09:03,602 --> 00:09:05,912 >> PUBLIEK: Je bent een combinatie van twee stappen, zodat u dus 229 00:09:05,912 --> 00:09:08,300 hebben toenemende complexiteit ook. 230 00:09:08,300 --> 00:09:11,040 >> DAVID J. MALAN: The complex-- de toename van complexiteit wanneer? 231 00:09:11,040 --> 00:09:12,270 Voor wie? 232 00:09:12,270 --> 00:09:16,748 >> PUBLIEK: Dus, in de tolk stap, bent u het combineren van de tolk 233 00:09:16,748 --> 00:09:19,120 en compiler voor slechts de aanloop to-- 234 00:09:19,120 --> 00:09:21,100 >> DAVID J. MALAN: Ah, OK. 235 00:09:21,100 --> 00:09:25,240 Ironisch genoeg, het is waarschijnlijk een beetje eenvoudiger de interpreter voeren, 236 00:09:25,240 --> 00:09:29,530 hoewel het lijkt opbrengst positieve kanten van dit gemak. 237 00:09:29,530 --> 00:09:30,550 Dus misschien waar. 238 00:09:30,550 --> 00:09:32,716 Maar het soort hangt, I wil zeggen op de taal 239 00:09:32,716 --> 00:09:35,720 en over de wijze waarop zij gingen over de uitvoering ervan. 240 00:09:35,720 --> 00:09:38,535 Er kan veel meer complexiteit, feitelijk, in de compiler, 241 00:09:38,535 --> 00:09:41,410 gewoon omdat je moet gaan uit iets zo hoog niveau om iets te 242 00:09:41,410 --> 00:09:42,560 zo laag niveau. 243 00:09:42,560 --> 00:09:45,340 Maar een goede gedachte. 244 00:09:45,340 --> 00:09:50,770 >> Dus zet een andere manier, een gecompileerd programma, toen omgezet in deze nullen en enen, 245 00:09:50,770 --> 00:09:54,470 komt in de taal dat de CPU spreekt 246 00:09:54,470 --> 00:09:57,850 terwijl in deze kant van de wereld, het programma dat u hebt geschreven, 247 00:09:57,850 --> 00:10:02,527 de code die u hebt geschreven, nooit echt wordt omgezet in de feitelijke taal 248 00:10:02,527 --> 00:10:03,360 de computer spreekt. 249 00:10:03,360 --> 00:10:04,190 De nullen en enen. 250 00:10:04,190 --> 00:10:08,480 Het blijft in de oorspronkelijke, menselijker vriendelijke, meer leesbare taal. 251 00:10:08,480 --> 00:10:11,720 Dus wat zou de implicatie zijn daar, als je niet echt 252 00:10:11,720 --> 00:10:15,020 moeite het omzetten van uw programma om de taal 253 00:10:15,020 --> 00:10:18,013 dat de onderliggende computer spreekt? 254 00:10:18,013 --> 00:10:19,780 >> PUBLIEK: Might niet iets te begrijpen? 255 00:10:19,780 --> 00:10:21,170 >> DAVID J. MALAN: Might iets niet begrijpt. 256 00:10:21,170 --> 00:10:23,297 En dat kan claim-- als het niet begreep 257 00:10:23,297 --> 00:10:25,880 iets, dat is een bug of een gebrek van functie in de tolk. 258 00:10:25,880 --> 00:10:28,544 Zodat zou zijn van een fout dan een kostenpost. 259 00:10:28,544 --> 00:10:30,419 >> Doelgroep: U heeft toegang om de broncode? 260 00:10:30,419 --> 00:10:31,877 DAVID J. MALAN: Er is een goede. 261 00:10:31,877 --> 00:10:34,140 Dus een nadeel hier is dat je lijkt toegang hebben. 262 00:10:34,140 --> 00:10:37,006 U, de eindgebruiker, kan lijken op hebben toegang tot de broncode. 263 00:10:37,006 --> 00:10:38,130 En dat is niet altijd waar. 264 00:10:38,130 --> 00:10:39,660 Maar het is waar in het geval van JavaScript, 265 00:10:39,660 --> 00:10:41,660 die we zullen kijken na de pauze vandaag, die 266 00:10:41,660 --> 00:10:45,720 is een geïnterpreteerde programmeertaal die je schrijft in de broncode. 267 00:10:45,720 --> 00:10:48,890 >> Maar dat de broncode wordt overgedragen van uw server naar de browser 268 00:10:48,890 --> 00:10:51,392 en loopt in de browser van de mens. 269 00:10:51,392 --> 00:10:54,350 Dus hier kon ze gewoon open de venster, zoals ik heb gedaan in Chrome, 270 00:10:54,350 --> 00:10:57,740 en kijk naar het, zoals we onszelf keek gisteren met Google. 271 00:10:57,740 --> 00:11:00,420 Het is misschien een beetje te kijken onbegrijpelijk maar het is er. 272 00:11:00,420 --> 00:11:03,482 Dus dat is absoluut een prijs betaald. 273 00:11:03,482 --> 00:11:04,565 PUBLIEK: Prestaties hit? 274 00:11:04,565 --> 00:11:05,020 DAVID J. MALAN: Yeah. 275 00:11:05,020 --> 00:11:06,260 En dat is de andere biggie. 276 00:11:06,260 --> 00:11:07,380 Er is een performance hit. 277 00:11:07,380 --> 00:11:10,100 Omdat u dit middelste man, die zelf 278 00:11:10,100 --> 00:11:13,740 is een programma tussen u en de CPU, in tegenstelling 279 00:11:13,740 --> 00:11:17,880 gewoon voeding van deze ruwe nullen en enen in de CPU, 280 00:11:17,880 --> 00:11:21,060 er is een performance hit die je nemen met een geïnterpreteerde taal. 281 00:11:21,060 --> 00:11:24,240 Zodanig dat willekeurig een programma dat zou een seconde te nemen 282 00:11:24,240 --> 00:11:27,840 voor gebruik op een computer of een minuut om te draaien op een computer hier, 283 00:11:27,840 --> 00:11:32,059 misschien 10 seconden of 10 nemen minuten uitgevoerd op een computer in. 284 00:11:32,059 --> 00:11:35,100 Het is over het algemeen niet van plan te zijn dat veel van een difference-- factor 10-- 285 00:11:35,100 --> 00:11:36,808 want er is optimalisaties die je kunt doen. 286 00:11:36,808 --> 00:11:38,680 Maar het is bijna altijd langzamer. 287 00:11:38,680 --> 00:11:43,070 Nu, de keerzijde van die zorg is dat goed computers, elk 12 288 00:11:43,070 --> 00:11:45,970 tot 18 months-- volgens De wet van Moore, om zo te speak-- 289 00:11:45,970 --> 00:11:47,600 zijn gewoon sneller en sneller krijgen. 290 00:11:47,600 --> 00:11:48,750 Ik heb meer en meer schijfruimte. 291 00:11:48,750 --> 00:11:49,791 Ik heb meer en meer RAM-geheugen. 292 00:11:49,791 --> 00:11:50,620 Wie geeft er echt om? 293 00:11:50,620 --> 00:11:52,328 >> En dat is een soort van een redelijk argument. 294 00:11:52,328 --> 00:11:55,740 Inderdaad, een van de redenen waarom we langzamer kunnen tolereren 295 00:11:55,740 --> 00:11:58,480 geïnterpreteerd talen is omdat wij mensen niet echt merken. 296 00:11:58,480 --> 00:12:00,690 De computers gekregen net zo verdomd snel. 297 00:12:00,690 --> 00:12:04,520 Overwegende dat terug in de dag, in het bijzonder toen hardware was veel meer beperkt, 298 00:12:04,520 --> 00:12:06,860 je had minder van alles, het was veel duurder 299 00:12:06,860 --> 00:12:10,570 dus alles kosten meer, nou dan je echt wilde squeeze out 300 00:12:10,570 --> 00:12:12,590 zoveel prestaties als je kon. 301 00:12:12,590 --> 00:12:16,400 Dat vereist schriftelijk een lager niveau, als je wil, 302 00:12:16,400 --> 00:12:18,090 met een gecompileerde taal. 303 00:12:18,090 --> 00:12:20,830 >> Dus doe je neemt deze voorstelling hit. 304 00:12:20,830 --> 00:12:24,780 Maar over het algemeen, de positieve kanten lijken de moeite waard deze dagen te zijn. 305 00:12:24,780 --> 00:12:26,850 Goed, behalve de intellectuele eigendom kwestie. 306 00:12:26,850 --> 00:12:28,641 Dat soort leesbaarheid van de code, zullen we 307 00:12:28,641 --> 00:12:30,640 terug te komen wanneer we kijken naar JavaScript. 308 00:12:30,640 --> 00:12:33,140 >> Dus laten we proberen te categoriseren ten minste enkele van deze. 309 00:12:33,140 --> 00:12:41,650 Dus onder de gecompileerde talen, we zou hebben C, C ++, soort, sorta, Java, 310 00:12:41,650 --> 00:12:48,120 hoewel het een beetje een uitzondering, voor redenen waarom ik zal je laten zien in slechts een moment. 311 00:12:48,120 --> 00:12:51,540 C # zou op deze lijst. 312 00:12:51,540 --> 00:12:54,930 We kijken naar meer precies op de meer moderne talen. 313 00:12:54,930 --> 00:12:55,430 Okee. 314 00:12:55,430 --> 00:12:56,804 En dat lijkt genoeg daar. 315 00:12:56,804 --> 00:13:03,500 Overwegende dat aan deze kant van het hek, we kunnen JavaScript en Python hebben, 316 00:13:03,500 --> 00:13:08,040 en PHP en Ruby. 317 00:13:08,040 --> 00:13:13,640 En is dat genoeg voor de meer recente? 318 00:13:13,640 --> 00:13:15,410 Dat voelt als genoeg voor nu. 319 00:13:15,410 --> 00:13:16,330 OK. 320 00:13:16,330 --> 00:13:18,760 En dan dot dot dot, omdat de lijst is eindeloos. 321 00:13:18,760 --> 00:13:22,300 >> En in feite, als we willen gewoon krijgen een gevoel van dit-- Wikipedia, 322 00:13:22,300 --> 00:13:24,130 gecompileerde talen. 323 00:13:24,130 --> 00:13:27,150 Ik gok dat we een krijgen veel meer uitputtende lijst. 324 00:13:27,150 --> 00:13:27,910 Dus hier gaan we. 325 00:13:27,910 --> 00:13:30,620 Dus hier is een veel meer volledige lijst. 326 00:13:30,620 --> 00:13:34,150 En ik hoopte dat iemand zou D denk als een taal, omdat die ook bestaat, 327 00:13:34,150 --> 00:13:37,747 maar ze stopten bij D lijkt. 328 00:13:37,747 --> 00:13:39,330 Hoewel er eigenlijk misschien wel een E. 329 00:13:39,330 --> 00:13:41,496 >> Oh, eigenlijk, moet dit op de lijst van deze dagen. 330 00:13:41,496 --> 00:13:47,460 Swift is eigenlijk een taal die Apple uitgevonden 331 00:13:47,460 --> 00:13:50,302 dat nu gebruikt, steeds dus, in iPhone ontwikkeling. 332 00:13:50,302 --> 00:13:52,260 Maar we zullen terug te komen op dat met onze discussie 333 00:13:52,260 --> 00:13:54,090 van de mobiele in slechts een klein beetje ook. 334 00:13:54,090 --> 00:13:55,260 Dus Swift ook. 335 00:13:55,260 --> 00:13:57,540 >> En dan als we naar geïnterpreteerd language-- 336 00:13:57,540 --> 00:14:05,010 geïnterpreteerd language-- dan is hier een nog langere lijst ook. 337 00:14:05,010 --> 00:14:07,260 Dus als je gewoon google en kijk op Wikipedia voor deze, 338 00:14:07,260 --> 00:14:09,231 je zult allerlei talen te bekijken. 339 00:14:09,231 --> 00:14:10,980 Maar het doel is, voor vandaag echt, net 340 00:14:10,980 --> 00:14:13,680 komt erop neer dat misschien is dit kwestie van de intellectuele eigendom 341 00:14:13,680 --> 00:14:18,200 en leesbaarheid door de eindgebruiker en de prestaties, is een biggie ook. 342 00:14:18,200 --> 00:14:21,080 >> Dus bij deze talen, laat me zien als we u kunnen geven 343 00:14:21,080 --> 00:14:24,487 slechts enkele voorbeelden van talen. 344 00:14:24,487 --> 00:14:26,820 We willen niet te gaan door alle talen eindeloos. 345 00:14:26,820 --> 00:14:29,720 Heb je je ooit afgevraagd wat een bepaalde taal eruit ziet? 346 00:14:29,720 --> 00:14:31,562 We zagen een moment geleden. 347 00:14:31,562 --> 00:14:33,520 Waarom gaan we niet nemen een koppel van kenmerken verzoeken. 348 00:14:33,520 --> 00:14:35,380 Wie wil om te zien wat andere taal eruit ziet? 349 00:14:35,380 --> 00:14:35,620 Ja. 350 00:14:35,620 --> 00:14:36,150 >> PUBLIEK: Java. 351 00:14:36,150 --> 00:14:36,540 >> DAVID J. MALAN: Java. 352 00:14:36,540 --> 00:14:37,040 Okee. 353 00:14:37,040 --> 00:14:38,504 Dus laten we naar Java. 354 00:14:38,504 --> 00:14:42,300 355 00:14:42,300 --> 00:14:44,900 En alleen maar om u een sample-- geven we konden al deze uitschrijven, 356 00:14:44,900 --> 00:14:47,670 maar het zou sneller alleen maar om kijken naar iemand anders voorbeeldcode. 357 00:14:47,670 --> 00:14:48,170 Okee. 358 00:14:48,170 --> 00:14:50,330 Dus dit is een goed voorbeeld? 359 00:14:50,330 --> 00:14:52,040 Whoops. 360 00:14:52,040 --> 00:14:52,540 OK. 361 00:14:52,540 --> 00:14:58,810 Dus hier is de Java-versie van de programma dat ik al eerder schreef, "Hello World." 362 00:14:58,810 --> 00:15:01,900 >> Dus Java, zul je vaak zie de "class." keyword 363 00:15:01,900 --> 00:15:03,779 Dan heb je een naam daarna te zien. 364 00:15:03,779 --> 00:15:05,570 Je ziet accolades zoals we eerder zagen, 365 00:15:05,570 --> 00:15:08,153 en soms gaan ze op de dezelfde lijn, soms ook andere lijnen, 366 00:15:08,153 --> 00:15:09,734 het is een soort van een persoonlijke beslissing. 367 00:15:09,734 --> 00:15:11,900 Je ziet zoekwoorden als "Publiek" "static", "ongeldig". 368 00:15:11,900 --> 00:15:13,790 Maar we zagen "main." "Main" is over het algemeen 369 00:15:13,790 --> 00:15:17,220 de naam van de standaardfunctie of de standaard stuk code die 370 00:15:17,220 --> 00:15:18,760 wordt uitgevoerd in een programma. 371 00:15:18,760 --> 00:15:19,330 >> "Draad." 372 00:15:19,330 --> 00:15:20,850 Wat hebben we bedoelen met touwtje eerder? 373 00:15:20,850 --> 00:15:23,480 Ik gebruikte het soort terloops. 374 00:15:23,480 --> 00:15:25,100 Een string is wat? 375 00:15:25,100 --> 00:15:25,601 Een woord. 376 00:15:25,601 --> 00:15:27,058 Het is net als een reeks tekens. 377 00:15:27,058 --> 00:15:29,810 Individuele tekens, terug naar rug aan rug, meestal in een array, 378 00:15:29,810 --> 00:15:30,690 zoals we hebben besproken. 379 00:15:30,690 --> 00:15:34,700 En in feite, zie deze syntax Hier zijn de twee haken? 380 00:15:34,700 --> 00:15:39,210 Dat betekent, hey computer, hier komt een array van strings. 381 00:15:39,210 --> 00:15:42,636 De beugel vierkante notatie vaak gebruikt om aan te geven dat. 382 00:15:42,636 --> 00:15:44,510 En dan kun je waarschijnlijk neem een ​​guess-- wat 383 00:15:44,510 --> 00:15:46,580 betekent dit gemarkeerd stuk code waarschijnlijk doen? 384 00:15:46,580 --> 00:15:49,737 385 00:15:49,737 --> 00:15:50,639 >> Publiek: De output? 386 00:15:50,639 --> 00:15:51,090 >> DAVID J. MALAN: Yeah. 387 00:15:51,090 --> 00:15:52,506 Hij drukt iets naar het scherm. 388 00:15:52,506 --> 00:15:57,070 Dus "systeem" is een soort van een verwijzing naar uw computer. 389 00:15:57,070 --> 00:15:59,620 "Uit" betekent dat uw computer uitgang of het scherm. 390 00:15:59,620 --> 00:16:04,450 Dus "System.out.print ln" betekent waarschijnlijk? 391 00:16:04,450 --> 00:16:05,570 "Ln". 392 00:16:05,570 --> 00:16:09,570 Print lijn die programmeurs als schijnbaar spellen sommige woorden uit 393 00:16:09,570 --> 00:16:11,820 in hun geheel en nemen snelkoppelingen met andere woorden. 394 00:16:11,820 --> 00:16:13,260 Maar "ln" is lijn, zo druk lijn. 395 00:16:13,260 --> 00:16:17,370 Dus het wordt afgedrukt "Hello Wereld! ", Gevolgd door een nieuwe regel. 396 00:16:17,370 --> 00:16:18,300 >> Dus dat is het. 397 00:16:18,300 --> 00:16:21,150 Maar Java is wat ze zullen call-object-georiënteerd. 398 00:16:21,150 --> 00:16:23,440 En inderdaad, om er maar een te geven paar andere definities 399 00:16:23,440 --> 00:16:26,420 er zijn, dat je misschien zie, in het algemeen, is er 400 00:16:26,420 --> 00:16:30,600 zijn vele verschillende soorten talen, maar de meest voorkomende 401 00:16:30,600 --> 00:16:37,830 zijn procedurele of imperatieve talen. 402 00:16:37,830 --> 00:16:41,600 Er zijn functionele talen, zonder nochtans 403 00:16:41,600 --> 00:16:43,790 betekenen dat anderen zijn niet-functioneel. 404 00:16:43,790 --> 00:16:47,740 En dan is er Objectgeoriënteerde talen. 405 00:16:47,740 --> 00:16:51,170 En dit is misschien wel de beste indeling van de meeste talen 406 00:16:51,170 --> 00:16:56,445 dat je ooit zou kiezen voor sort van een typisch commercieel project. 407 00:16:56,445 --> 00:16:58,910 >> Dit zou te veel zijn, Ik denk dat, van het gat van een rat 408 00:16:58,910 --> 00:17:01,620 naar beneden te gaan, om te proberen uit te leggen de verschillende verschillen. 409 00:17:01,620 --> 00:17:04,599 Maar de talen we hebben dus far-- C gezien 410 00:17:04,599 --> 00:17:07,680 is een procedurele of een imperatieve taal. 411 00:17:07,680 --> 00:17:11,200 Meer recent uitgevonden talen de neiging om, sorry, 412 00:17:11,200 --> 00:17:14,430 objectgeoriënteerde, waardoor ze andere eigenschappen om hen. 413 00:17:14,430 --> 00:17:18,130 414 00:17:18,130 --> 00:17:19,430 Kan ik het uitleggen op deze manier? 415 00:17:19,430 --> 00:17:20,950 Laten we er niet eens naar beneden gaan. 416 00:17:20,950 --> 00:17:25,200 >> Object-georiënteerde middelen u kunt implement-- 417 00:17:25,200 --> 00:17:27,930 U kunt de echte wereld te modelleren iets effectiever. 418 00:17:27,930 --> 00:17:29,722 De mensheid, na verloop van tijd, heeft bedacht, wow, 419 00:17:29,722 --> 00:17:32,430 het zou leuk zijn als mijn taal zou zijn had deze functie of die functie. 420 00:17:32,430 --> 00:17:34,830 En dat is waarom we hebben zo vele talen in de wereld. 421 00:17:34,830 --> 00:17:37,670 Redelijke mensen, slimme mensen, het eens of oneens 422 00:17:37,670 --> 00:17:41,000 en altijd een soort van komen samen op het ontwikkelen van nieuwe talen allemaal samen. 423 00:17:41,000 --> 00:17:41,660 >> Case in point. 424 00:17:41,660 --> 00:17:45,260 Apple uitgevonden Swift in hoop van vermoedelijk verlagen 425 00:17:45,260 --> 00:17:47,950 de bar om iPhone ontwikkeling, omdat de vorige language-- 426 00:17:47,950 --> 00:17:51,080 genoemd Objective-C, waardoor ook op onze lijst hier-- 427 00:17:51,080 --> 00:17:54,190 was veel meer geheimzinnig en nog veel moeilijker om de geest rond te wikkelen. 428 00:17:54,190 --> 00:17:57,690 En als de programmering wordt steeds aantoonbaar toegankelijker en meer in het algemeen 429 00:17:57,690 --> 00:18:00,580 door mensen zelfs aangenomen minder technisch, de goal-- 430 00:18:00,580 --> 00:18:04,160 het is een zeer moedige doel om te proberen verlaag de toetredingsdrempel door het maken van 431 00:18:04,160 --> 00:18:07,400 talen zelf gemakkelijker aan de slag met, 432 00:18:07,400 --> 00:18:09,430 maar niet minder krachtig noodzakelijk. 433 00:18:09,430 --> 00:18:10,560 >> En één andere taal. 434 00:18:10,560 --> 00:18:14,110 Waarom gaan we niet een kijkje nemen bij zoiets als Python, 435 00:18:14,110 --> 00:18:18,090 die is heel erg in de mode deze dagen. 436 00:18:18,090 --> 00:18:19,570 Python. 437 00:18:19,570 --> 00:18:20,464 Monster programma. 438 00:18:20,464 --> 00:18:24,600 439 00:18:24,600 --> 00:18:26,700 Laten we eens kijken. 440 00:18:26,700 --> 00:18:28,790 "Hello World" talen. 441 00:18:28,790 --> 00:18:30,180 Laten we dit doen. 442 00:18:30,180 --> 00:18:33,625 "Hallo Wereld." 443 00:18:33,625 --> 00:18:35,375 Laten we eens zien of dit geeft ons een mooi voorbeeld. 444 00:18:35,375 --> 00:18:39,450 445 00:18:39,450 --> 00:18:39,950 OK. 446 00:18:39,950 --> 00:18:41,283 Dus dit is eigenlijk wel leuk. 447 00:18:41,283 --> 00:18:43,330 Dus als je ooit google "Hello World", die 448 00:18:43,330 --> 00:18:47,000 toevallig een van de eerste programma's ooit in een moderne taal geschreven, 449 00:18:47,000 --> 00:18:51,830 net als een proof of concept, kunt u zien allerlei implementaties van deze. 450 00:18:51,830 --> 00:18:54,240 >> Sommige van deze talen Ik heb niet eens gehoord. 451 00:18:54,240 --> 00:18:59,770 Maar je kunt see-- laten we naar Basic, degene die ik jaren geleden geleerd, voor een deel. 452 00:18:59,770 --> 00:19:02,720 Dit was een leuke taal, omdat je moest, als programmeur, nummer 453 00:19:02,720 --> 00:19:03,710 al uw lijnen. 454 00:19:03,710 --> 00:19:05,626 Niet in tegenstelling tot wat ik was het doen toen ik aan het schrijven was 455 00:19:05,626 --> 00:19:08,380 pseudocode op de gele document eerder voor binary search, 456 00:19:08,380 --> 00:19:09,580 voor het zoeken van een telefoonboek. 457 00:19:09,580 --> 00:19:11,810 >> En dus, als je wilde om te gaan naar een andere lijn, 458 00:19:11,810 --> 00:19:15,780 zou je letterlijk typt, ga naar 10, of ga naar 20. 459 00:19:15,780 --> 00:19:19,110 En als je het schrijven van lijnen, de conventie was te doen, dit is lijn 10, 460 00:19:19,110 --> 00:19:22,545 Dit is lijn 20, is dit lijn 30, 40, met niets ertussen, 461 00:19:22,545 --> 00:19:25,170 waardoor het geven van jezelf wat ruimte als je besluit, wacht eens even, 462 00:19:25,170 --> 00:19:27,230 Ik moet een aantal toegevoegd meer code ergens. 463 00:19:27,230 --> 00:19:30,960 Je had nog een soort van negen kansen om knijp die tussen uw programma 464 00:19:30,960 --> 00:19:33,020 voordat je moest handmatig hernummeren alles. 465 00:19:33,020 --> 00:19:35,470 >> Dus dit is een soort van wat ik bedoel als ik zeg dat de wereld is gekomen 466 00:19:35,470 --> 00:19:36,303 met nieuwe functies. 467 00:19:36,303 --> 00:19:39,364 Ergens langs de manier waarop iemand besefte, jongen dit is dom. 468 00:19:39,364 --> 00:19:41,280 Dit is gewoon het creëren werken voor de programmeur. 469 00:19:41,280 --> 00:19:44,200 Zodat hij of zij gewoon een soort van ingebouwde een nieuwe laag op de top van dat 470 00:19:44,200 --> 00:19:46,910 zodat je geen zorgen te maken over welke lijn de nummers van uw code 471 00:19:46,910 --> 00:19:48,570 eigenlijk op. 472 00:19:48,570 --> 00:19:54,940 >> Dus wanneer kunt u ervoor kiezen één taal of een andere? 473 00:19:54,940 --> 00:19:56,690 Nou ja, welke van deze talen heb je de neiging 474 00:19:56,690 --> 00:20:00,960 te horen over de meest in je eigen wereld tegenwoordig? 475 00:20:00,960 --> 00:20:02,680 Laten we drop-down Objective-C ook. 476 00:20:02,680 --> 00:20:06,416 477 00:20:06,416 --> 00:20:07,739 >> PUBLIEK: C #. 478 00:20:07,739 --> 00:20:08,530 DAVID J. MALAN: C #. 479 00:20:08,530 --> 00:20:10,310 Dus laat me kleur. 480 00:20:10,310 --> 00:20:13,190 Hebben we onze andere kleur ergens? 481 00:20:13,190 --> 00:20:14,550 Dus C #. 482 00:20:14,550 --> 00:20:16,390 En wat weet u over C #? 483 00:20:16,390 --> 00:20:18,940 Alles wat de lente voor de geest? 484 00:20:18,940 --> 00:20:20,707 >> PUBLIEK: Het is een programmeertaal. 485 00:20:20,707 --> 00:20:22,540 DAVID J. MALAN: Het is een programmeertaal. 486 00:20:22,540 --> 00:20:23,200 OK. 487 00:20:23,200 --> 00:20:24,690 Dat is waar. 488 00:20:24,690 --> 00:20:26,440 Dus we hebben het over C #. 489 00:20:26,440 --> 00:20:29,230 C # vaak wordt gebruikt Windows-omgevingen, 490 00:20:29,230 --> 00:20:33,550 dus als je het schrijven van Microsoft-software voor Windows, is C # zeer vaak gebruikt, 491 00:20:33,550 --> 00:20:38,560 of het nu voor desktop software, of zelfs telefoon software op Windows-telefoons, 492 00:20:38,560 --> 00:20:41,820 Als je die hebt gehad, of op het web, zelfs ook. 493 00:20:41,820 --> 00:20:44,642 En in feite, misschien Kareem bovengenoemde ASP eerder? 494 00:20:44,642 --> 00:20:46,600 Dus er is ook deze dingen riep kaders, 495 00:20:46,600 --> 00:20:51,040 die we kunnen introduceren in het verlengde daarvan. 496 00:20:51,040 --> 00:20:53,280 Frameworks, zoals ASP. 497 00:20:53,280 --> 00:20:55,740 Staat voor Active Server Pages. 498 00:20:55,740 --> 00:20:59,880 En dit is code en een manier van programmeren 499 00:20:59,880 --> 00:21:03,490 dat algemeen gemakkelijker naar web-based applicaties te schrijven. 500 00:21:03,490 --> 00:21:07,530 Met andere woorden, zou het super zijn, super irritant om een ​​website te schrijven 501 00:21:07,530 --> 00:21:09,469 in de taal C die we hebben eerder gezien, 502 00:21:09,469 --> 00:21:12,510 want je zou moeten print + F gebruiken, je zou hebben om dat zoekwoord gebruiken 503 00:21:12,510 --> 00:21:13,940 "Main" en de accolades. 504 00:21:13,940 --> 00:21:16,720 Veel van de geheimzinnige syntax en aanpak uit te voeren 505 00:21:16,720 --> 00:21:19,195 iets dat vrij complex. 506 00:21:19,195 --> 00:21:20,240 Een webpagina. 507 00:21:20,240 --> 00:21:23,800 >> En zo andere talen zijn geëvolueerd om dat soort dingen gemakkelijker te maken. 508 00:21:23,800 --> 00:21:26,890 En op hun beurt, hebben de mensen komen met kaders, een soort gereedschap 509 00:21:26,890 --> 00:21:30,520 die u kunt gebruiken die het nog gemakkelijker om webpagina's te schrijven. 510 00:21:30,520 --> 00:21:33,070 Dus bijvoorbeeld om dit veel concreter, 511 00:21:33,070 --> 00:21:36,390 laat me open te stellen maar een tekstbestand voor een moment. 512 00:21:36,390 --> 00:21:39,380 >> En je zou gisteren herinneren dat we iets gezegd 513 00:21:39,380 --> 00:21:41,210 als, dit is een webpagina. 514 00:21:41,210 --> 00:21:42,300 HTML. 515 00:21:42,300 --> 00:21:45,340 Sluit HTML. 516 00:21:45,340 --> 00:21:48,500 Laat ik sla de kop en gewoon doen het lichaam hier. 517 00:21:48,500 --> 00:21:52,810 Stel dat ik wilde schrijf niet "Hello World" 518 00:21:52,810 --> 00:21:57,020 maar 'Hallo David, "waar David is de naam van de ingelogde gebruiker. 519 00:21:57,020 --> 00:22:00,270 Wat iets als ASP zal doen, of JSP-- 520 00:22:00,270 --> 00:22:04,060 dat is Java server pages-- of een aantal andere frameworks 521 00:22:04,060 --> 00:22:05,435 is ze niet talen, per se. 522 00:22:05,435 --> 00:22:07,351 Ze zijn net als extra software die u 523 00:22:07,351 --> 00:22:10,490 zou installeren in uw omgeving die net het makkelijker om programma te maken. 524 00:22:10,490 --> 00:22:15,670 >> Dus bijvoorbeeld plaats hoeft zoiets als "hallo, printf (" David ")" 525 00:22:15,670 --> 00:22:17,510 of iets dat soort van co-mingling-- 526 00:22:17,510 --> 00:22:20,840 de aard van de code die we hebben gezien before-- je zou iets veel eenvoudiger te doen, 527 00:22:20,840 --> 00:22:26,190 zoals "de naam%." 528 00:22:26,190 --> 00:22:28,660 En dus deze kaders, zoals ASP-- en ik 529 00:22:28,660 --> 00:22:31,212 kan me niet herinneren wanneer ik krijg de syntaxis precies goed voor ASP. 530 00:22:31,212 --> 00:22:33,100 JSP is een little-- is dit recht? 531 00:22:33,100 --> 00:22:36,500 >> Dus met ASP, is soort van een speciale syntax 532 00:22:36,500 --> 00:22:39,830 dat sommige ontwikkelaars hebben besloten dit kan mensen helpen. 533 00:22:39,830 --> 00:22:43,000 En ik kan beknopter uitdrukken placeholders, bijvoorbeeld. 534 00:22:43,000 --> 00:22:47,187 Net zet hier een waarde, waarbij deze naam waarde niet N-A-M-E, 535 00:22:47,187 --> 00:22:48,520 het is enige waarde opgeslagen in daar. 536 00:22:48,520 --> 00:22:50,728 Dus "naam" in deze context, we zouden een variabele noemen. 537 00:22:50,728 --> 00:22:52,760 Algebra heeft variabelen zoals x en y en z. 538 00:22:52,760 --> 00:22:56,021 Programmeurs gebruiken variabelen die meer beschrijvende dan x, y en z, 539 00:22:56,021 --> 00:22:56,520 typisch. 540 00:22:56,520 --> 00:23:01,020 Dus "naam" zou letterlijk een soort zijn geheugen container voor iets als 541 00:23:01,020 --> 00:23:05,440 D-A-V-I-D, voor mijn naam, of wie dan ook anders is ingelogd op de website. 542 00:23:05,440 --> 00:23:09,300 >> En dus dit is het soort gemak je krijgt met bepaalde omgevingen. 543 00:23:09,300 --> 00:23:14,220 Dus C # en iets als ASP zou zeer gewoonlijk worden gebruikt in een Windows wereld, 544 00:23:14,220 --> 00:23:16,460 of voor zijn desktop software of web server, 545 00:23:16,460 --> 00:23:21,490 vooral als uw servers zijn op hun beurt Microsoft Windows en Microsoft 546 00:23:21,490 --> 00:23:25,810 IIS-- of Internet Information Server, als ik het acroniem right-- 547 00:23:25,810 --> 00:23:27,800 dat is Microsoft's webserver. 548 00:23:27,800 --> 00:23:30,820 >> Dus wat andere talen zijn mensen bekend zijn met, 549 00:23:30,820 --> 00:23:35,228 of heb je ooit gehoord vaker dan niet? 550 00:23:35,228 --> 00:23:38,262 >> Publiek: Ik weet dat Python's een soort van een populaire [ONVERSTAANBAAR]. 551 00:23:38,262 --> 00:23:39,470 DAVID J. MALAN: Zeer populair. 552 00:23:39,470 --> 00:23:45,490 Dus Python hier wordt zeer vaak gebruikt in wetenschappelijke toepassingen of data 553 00:23:45,490 --> 00:23:48,330 wetenschap, waar je veel van de gegevens die u wilt analyseren 554 00:23:48,330 --> 00:23:50,413 en u wilt gebruik maken van een programmeertaal voor het. 555 00:23:50,413 --> 00:23:53,640 R kan gewoonlijk te hanteren ook, in een statistische context. 556 00:23:53,640 --> 00:23:56,400 Maar Python heeft zoveel functies ingebouwd. 557 00:23:56,400 --> 00:23:58,850 Zoveel extra bibliotheken, als mensen zeggen. 558 00:23:58,850 --> 00:24:01,260 >> Bibliotheken zijn slechts verzamelingen code die andere mensen 559 00:24:01,260 --> 00:24:04,218 schreef dat u, zodat u kunt gebruiken hoeft niet die wielen opnieuw uit te vinden. 560 00:24:04,218 --> 00:24:07,430 En zo Python is zeer vaak gebruikt in data biotechnologische toepassingen. 561 00:24:07,430 --> 00:24:09,930 Maar het is ook zeer vaak gebruikt in web applicaties. 562 00:24:09,930 --> 00:24:12,780 U kunt implementeren van een dynamische website met behulp van Python. 563 00:24:12,780 --> 00:24:15,210 >> En door de dynamische website, I bedoel niet alleen statische content 564 00:24:15,210 --> 00:24:19,530 zoals wij gemaakt gisteren, door gewoon moeilijk codering in de Latijnse tekst 565 00:24:19,530 --> 00:24:21,820 en andere dergelijke zaken, maar de mogelijkheid 566 00:24:21,820 --> 00:24:25,367 om in te loggen, de mogelijkheid om te kopen iets, de mogelijkheid om te controleren 567 00:24:25,367 --> 00:24:26,950 met uw winkelwagentjes, of iets dergelijks. 568 00:24:26,950 --> 00:24:30,590 Dat alles vereist dynamiek en u need some taal als een van hen. 569 00:24:30,590 --> 00:24:35,060 >> Publiek: Dus heeft Python eigen extensie, vergelijkbaar met graag [ONVERSTAANBAAR] 570 00:24:35,060 --> 00:24:36,060 DAVID J. MALAN: Het doet. 571 00:24:36,060 --> 00:24:42,250 Dus in de wereld van de Python, Django is een zeer populaire framework voor Python. 572 00:24:42,250 --> 00:24:46,520 WSGI is een ander mechanisme dat soort van verschillende van deze 573 00:24:46,520 --> 00:24:47,640 maar vergelijkbaar in de geest. 574 00:24:47,640 --> 00:24:52,200 Het is een add-on die u toelaat Python code uit te voeren op een server. 575 00:24:52,200 --> 00:24:53,950 Er is other-- ja. 576 00:24:53,950 --> 00:24:57,250 Dus zullen we deze kaders noemen. 577 00:24:57,250 --> 00:24:58,870 En het is een beetje een mishandeling. 578 00:24:58,870 --> 00:25:00,920 Dit is meer van een web-server-technologie. 579 00:25:00,920 --> 00:25:04,610 Maar we zullen het simpel te houden en zet Het in deze kolom toch. 580 00:25:04,610 --> 00:25:05,780 >> OK. 581 00:25:05,780 --> 00:25:07,850 WSGI. 582 00:25:07,850 --> 00:25:09,020 WSGI. 583 00:25:09,020 --> 00:25:12,100 Een ander thing-- en eigenlijk, laat ik stel voor dat aan zijn eigen column, 584 00:25:12,100 --> 00:25:17,000 want ik zou schreeuwen tegen mezelf ze in dezelfde emmer. 585 00:25:17,000 --> 00:25:24,910 Laten we dit in server features, laten we zeggen. 586 00:25:24,910 --> 00:25:26,710 Dat is niet een technische term. 587 00:25:26,710 --> 00:25:29,180 >> Dus hier zijn we misschien WSGI. 588 00:25:29,180 --> 00:25:32,580 Er is CGI, die een ouder techniek voor het serveren talen 589 00:25:32,580 --> 00:25:35,890 zoals Perl of PHP, of sommige anderen. 590 00:25:35,890 --> 00:25:39,000 Nogmaals, ik heb deze voorwaarden genoemd niet zozeer om hen een soort van ingrain, 591 00:25:39,000 --> 00:25:40,749 maar zo dat als je ziet hen is het iets 592 00:25:40,749 --> 00:25:42,130 je gewoon google om meer te lezen. 593 00:25:42,130 --> 00:25:46,110 Er is geen echte sap een aantal van deze dingen. 594 00:25:46,110 --> 00:25:47,850 >> Maar laten we teruggaan naar de talen. 595 00:25:47,850 --> 00:25:50,499 We spraken over C #, Python. 596 00:25:50,499 --> 00:25:52,790 Wat anders zou je gebruiken voor web programmeren van deze dagen? 597 00:25:52,790 --> 00:25:54,302 Laten we focussen op dat nog steeds. 598 00:25:54,302 --> 00:25:55,247 >> PUBLIEK: PHP. 599 00:25:55,247 --> 00:25:56,080 DAVID J. MALAN: PHP. 600 00:25:56,080 --> 00:25:57,413 En laten we terug naar die ene komen. 601 00:25:57,413 --> 00:25:59,310 Dus PHP wordt zeer vaak gebruikt. 602 00:25:59,310 --> 00:26:01,560 PHP heeft de neiging om een ​​slechte rap te krijgen. 603 00:26:01,560 --> 00:26:05,790 Het begon als een taal geïmplementeerd door mensen die misschien per se niet 604 00:26:05,790 --> 00:26:06,960 de beste taal ontwerpers. 605 00:26:06,960 --> 00:26:11,290 En dus kan je allerlei gelezen artikelen over hoe slecht PHP is online. 606 00:26:11,290 --> 00:26:13,660 En dit is helaas een manifestatie deels 607 00:26:13,660 --> 00:26:18,727 van alleen de religieuze debatten dat uitbarsten onder programmeurs. 608 00:26:18,727 --> 00:26:20,560 En dit is iets de moeite waard om in het achterhoofd, 609 00:26:20,560 --> 00:26:24,410 vanuit een zakelijk perspectief, dat het is heel gemakkelijk om technische mensen 610 00:26:24,410 --> 00:26:26,900 alles werkte met om hun adviezen over bepaalde dingen. 611 00:26:26,900 --> 00:26:29,566 En het betekent niet noodzakelijk dat degene schreeuwen het hardst 612 00:26:29,566 --> 00:26:31,870 of met de sterkste, kwaadste mening heeft gelijk. 613 00:26:31,870 --> 00:26:34,100 Een heleboel keer, het is echt gewoon doet er niet toe. 614 00:26:34,100 --> 00:26:37,970 >> En dus mensen zijn gewoon ruzie ongeacht hun eigen vooroordelen of comfortzones zijn. 615 00:26:37,970 --> 00:26:40,760 En dus je moet houden dat in het achterhoofd bij het maken van 616 00:26:40,760 --> 00:26:42,622 een beslissing, die net omdat iemand zegt: 617 00:26:42,622 --> 00:26:45,080 dit de juiste taal het werk, dat waar zou kunnen zijn, 618 00:26:45,080 --> 00:26:48,350 maar ook gewoon zou kunnen zijn is het de juiste taal binnen hun eigen vaardigheid 619 00:26:48,350 --> 00:26:49,267 instellen of comfort zone. 620 00:26:49,267 --> 00:26:52,600 Dat is niet slecht, maar u dient zich te realiseren dat er een verband is er zou kunnen zijn. 621 00:26:52,600 --> 00:26:54,440 Er zijn een aantal objectieve verkeerde uitspraken, 622 00:26:54,440 --> 00:26:59,080 zoals C is de verkeerde taal te gebruiken deze dagen voor de uitvoering van websites 623 00:26:59,080 --> 00:27:00,520 bijna altijd. 624 00:27:00,520 --> 00:27:03,370 Maar het is niet onredelijk zeggen dat een van deze 625 00:27:03,370 --> 00:27:05,700 zijn verkeerd dat we tot nu toe hebben omcirkeld. 626 00:27:05,700 --> 00:27:08,180 >> PHP is gegaan door vele versies. 627 00:27:08,180 --> 00:27:11,310 Dus talen hebben de neiging om versie hebt nummers in verband met hen. 628 00:27:11,310 --> 00:27:15,390 PHP is aan, denk ik, versie 7 nu, dus het is er al geruime tijd. 629 00:27:15,390 --> 00:27:18,270 En zoals talen krijgen nieuwere, ze krijgen vaak nieuwe functies. 630 00:27:18,270 --> 00:27:22,510 Maar je moet rekening houden met deze te zijn want als uw website is geweest 631 00:27:22,510 --> 00:27:27,539 geïmplementeerd in versie 7 van PHP, maar je probeert om uw website uit te voeren, 632 00:27:27,539 --> 00:27:29,830 of misschien heb je uitbesteed de ontwikkeling van uw code 633 00:27:29,830 --> 00:27:31,960 aan iemand anders en ze mailen het aan u of stuur het naar u 634 00:27:31,960 --> 00:27:33,960 en ze zeggen, hier, zet deze op uw webserver, 635 00:27:33,960 --> 00:27:36,610 Als uw webserver is een paar jaren outdated-- of het nu 636 00:27:36,610 --> 00:27:39,465 je eigen server of een web host-- het is misschien niet echt uit te voeren. 637 00:27:39,465 --> 00:27:41,340 Dus dit zijn de soorten van de dingen die iemand 638 00:27:41,340 --> 00:27:44,067 moet zich bewust van te zijn bij het upgraden van een site 639 00:27:44,067 --> 00:27:45,650 of de uitvoering van het voor de eerste keer. 640 00:27:45,650 --> 00:27:46,900 >> Ik JavaScript hoorde eerder. 641 00:27:46,900 --> 00:27:50,570 Dus JavaScript is een interessant een op zich in beginsel 642 00:27:50,570 --> 00:27:53,030 client-side, zoals we zullen zien na de pauze, die 643 00:27:53,030 --> 00:27:55,000 betekent dat het draait in de browser van de gebruiker. 644 00:27:55,000 --> 00:27:58,400 Maar je kunt ook lopen JavaScript deze dagen 645 00:27:58,400 --> 00:28:03,450 met behulp van een zogenaamde Node.js, waarbij Node.js 646 00:28:03,450 --> 00:28:08,000 is een mechanisme voor het uitvoeren van JavaScript-code server-side, 647 00:28:08,000 --> 00:28:12,430 in plaats van het gebruik van Python, of PHP, of andere dergelijke talen. 648 00:28:12,430 --> 00:28:17,820 >> JavaScript is bijzonder geschikt voor chat applicaties en real-time 649 00:28:17,820 --> 00:28:22,050 toepassingen, terwijl PHP is niet een grote taal voor de uitvoering van iets 650 00:28:22,050 --> 00:28:25,050 zoals een chat-server, waar de gebruikers verbonden te blijven met het constant. 651 00:28:25,050 --> 00:28:28,760 PHP is meer een bezoek me een keer, terug te krijgen een resultaat, 652 00:28:28,760 --> 00:28:31,790 en klik vervolgens op een andere link sommige seconden of minuten vanaf nu. 653 00:28:31,790 --> 00:28:36,020 Overwegende Node.js en JavaScript kan worden meer voor permanente verbindingen gebruikt. 654 00:28:36,020 --> 00:28:40,840 Andere talen die u vermoedt worden vaak gebruikt voor het web spullen? 655 00:28:40,840 --> 00:28:42,800 >> PUBLIEK: Zou jQuery zijn een kader? 656 00:28:42,800 --> 00:28:44,050 >> DAVID J. MALAN: Goede vraag. 657 00:28:44,050 --> 00:28:44,700 Noch. 658 00:28:44,700 --> 00:28:51,210 Ik zou jQuery noemen een bibliotheek, waar de wederom een ​​bibliotheek is gewoon een stelletje code 659 00:28:51,210 --> 00:28:53,250 dat iemand anders heeft geschreven die over het algemeen 660 00:28:53,250 --> 00:28:56,390 lost aantal storingen maakt het hopelijk gemakkelijker 661 00:28:56,390 --> 00:28:57,760 voor u om uw werk te doen. 662 00:28:57,760 --> 00:29:00,820 En laat me u een voorbeeld van dit in de context van de baan. 663 00:29:00,820 --> 00:29:03,910 >> In de context van de baan er deze taal, JavaScript, 664 00:29:03,910 --> 00:29:06,690 dat we later zullen zien, waarbij je misschien iets als dit-- zeggen 665 00:29:06,690 --> 00:29:10,060 "Document.getElementById." 666 00:29:10,060 --> 00:29:11,490 En wat heb ik noem het gisteren? 667 00:29:11,490 --> 00:29:16,800 Ten eerste, denk ik, was de unieke ID ik gaf een element die eruit zag als dit. 668 00:29:16,800 --> 00:29:23,110 "P id =" eerste ">" en toen moesten we zoals "lorem ipsum", et cetera. 669 00:29:23,110 --> 00:29:28,210 Dus als ik een programma in te schrijven JavaScript om een ​​of andere manier te manipuleren, 670 00:29:28,210 --> 00:29:30,830 verander de webpagina's die we speelden met gisteren, 671 00:29:30,830 --> 00:29:33,010 Ik zou dit gebruiken gemarkeerde regel code 672 00:29:33,010 --> 00:29:38,700 op die specifieke stukje HTML te krijgen uit mijn pagina die specifieke knooppunt, 673 00:29:38,700 --> 00:29:39,680 zoals we zullen noemen. 674 00:29:39,680 --> 00:29:44,540 >> In jQuery, in plaats van het schrijven dit, dat is rauw JavaScript code-- 675 00:29:44,540 --> 00:29:48,870 net uit de doos, dat is hoe je schrijf het-- zou je in plaats daarvan alleen maar zeggen, 676 00:29:48,870 --> 00:29:50,260 "#eerste." 677 00:29:50,260 --> 00:29:52,330 Dat is equivalent. 678 00:29:52,330 --> 00:29:56,040 En dus alleen gebaseerd op deze zeer geheimzinnige Bijvoorbeeld, wat misschien 679 00:29:56,040 --> 00:29:57,870 is het argument voor het gebruik van jQuery? 680 00:29:57,870 --> 00:30:01,390 681 00:30:01,390 --> 00:30:05,111 Waarom zou een ontwikkelaar gebruik maken van een bibliotheek als jQuery, op basis van deze geïsoleerde voorbeeld, 682 00:30:05,111 --> 00:30:05,610 misschien? 683 00:30:05,610 --> 00:30:06,335 >> PUBLIEK: Minder code. 684 00:30:06,335 --> 00:30:06,780 >> DAVID J. MALAN: Yeah. 685 00:30:06,780 --> 00:30:07,530 Het is minder code. 686 00:30:07,530 --> 00:30:09,070 Het is gewoon sneller te typen. 687 00:30:09,070 --> 00:30:11,690 Het contrapunt is dat het lijkt enger. 688 00:30:11,690 --> 00:30:13,540 Je kunt niet echt lezen van links naar rechts. 689 00:30:13,540 --> 00:30:16,730 In feite, want het is meestal punctuatie nu in plaats van de werkelijke woorden, 690 00:30:16,730 --> 00:30:20,950 Ik kan soort afleiden dat "Document.getElementById" krijgt 691 00:30:20,950 --> 00:30:23,640 een element uit het document door zijn ID. 692 00:30:23,640 --> 00:30:26,750 Ik kan echt geen dergelijk gebruik mnemonics van dit ding hier. 693 00:30:26,750 --> 00:30:27,680 >> Dus het is een afweging. 694 00:30:27,680 --> 00:30:30,763 Er is een verfijning die komt vaak met behulp van bibliotheken, met name 695 00:30:30,763 --> 00:30:31,440 zoals jQuery. 696 00:30:31,440 --> 00:30:34,700 Maar de realiteit is jQuery heeft soort van uitgegroeid tot een de facto standaard, 697 00:30:34,700 --> 00:30:38,110 zodat bijna iedereen deze dagen die JavaScript-code schrijft 698 00:30:38,110 --> 00:30:41,520 maakt gebruik van jQuery of zoiets leuk vinden, en niet langer schrijft 699 00:30:41,520 --> 00:30:45,200 zo'n verbose uitdrukkingen als , want nogmaals, de mensheid 700 00:30:45,200 --> 00:30:47,850 heeft geleerd, wow, dat was soort van een gemiste kans 701 00:30:47,850 --> 00:30:49,030 om ons leven gemakkelijker te maken. 702 00:30:49,030 --> 00:30:51,140 Dus mensen maken hun leven gemakkelijker te maken. 703 00:30:51,140 --> 00:30:53,310 Goede vraag. 704 00:30:53,310 --> 00:30:55,870 >> Andere talen te overwegen. 705 00:30:55,870 --> 00:30:58,660 Ik zou zeggen dat het midden van deze lijst Ruby is heel populair. 706 00:30:58,660 --> 00:31:01,310 En zo in de wereld van Ruby, is er een raamwerk 707 00:31:01,310 --> 00:31:03,590 genaamd Rails, die erg populair is. 708 00:31:03,590 --> 00:31:06,880 Dus Ruby on Rails is een gebruikte uitdrukking. 709 00:31:06,880 --> 00:31:10,330 Ook in deze wereld, laat me cirkel Java voor web stuff, 710 00:31:10,330 --> 00:31:14,160 waar in de wereld van Java je zou JSP of Java hebben 711 00:31:14,160 --> 00:31:18,450 Servlets, die een gemeenschappelijke technologie. 712 00:31:18,450 --> 00:31:22,560 En dit is gewoon weer manieren om die taal in een serveromgeving. 713 00:31:22,560 --> 00:31:23,520 >> Dus wat betekent dit? 714 00:31:23,520 --> 00:31:25,770 Als u een fysiek hebt server, zou je letterlijk 715 00:31:25,770 --> 00:31:30,510 downloaden van de web server software en installeer het op een zodanige wijze 716 00:31:30,510 --> 00:31:33,510 dat u ondersteuning voor een van deze kaders, waarmee je 717 00:31:33,510 --> 00:31:37,260 kon op zijn beurt gebruik maken van één of meer van deze talen. 718 00:31:37,260 --> 00:31:40,260 En in werkelijkheid, als u zich aanmeldt voor zoals een webhost of een deel van de cloud 719 00:31:40,260 --> 00:31:41,968 diensten die wij spraken gisteren, vaak 720 00:31:41,968 --> 00:31:44,885 het spul net wordt geleverd met de configuratie machine voor u. 721 00:31:44,885 --> 00:31:46,510 Je hoeft niet nodig om deze handmatig in te stellen. 722 00:31:46,510 --> 00:31:51,040 Maar als je dat deed, dit is waar de rol van de systeembeheerder, om zo te zeggen, 723 00:31:51,040 --> 00:31:51,860 in het spel komt. 724 00:31:51,860 --> 00:31:54,151 Hij of zij daadwerkelijk zou doen dit soort dingen voor u, 725 00:31:54,151 --> 00:31:58,510 of de zogenaamde master zou dit vaak voor u doen. 726 00:31:58,510 --> 00:31:59,010 Okee. 727 00:31:59,010 --> 00:32:03,300 Heeft u vragen over een aantal van deze hier? 728 00:32:03,300 --> 00:32:06,690 Of mogelijkheden op alles te vragen over talen? 729 00:32:06,690 --> 00:32:09,500 Frameworks? 730 00:32:09,500 --> 00:32:11,530 Dan laat ik me even slechts één andere bibliotheek 731 00:32:11,530 --> 00:32:13,150 Dat is ook heel gebruikelijk deze dagen. 732 00:32:13,150 --> 00:32:15,340 Deze lijst kan oneindig doorgaan. 733 00:32:15,340 --> 00:32:19,140 >> En deze bibliotheek is een soort van te beginnen uit de gratie te vallen. 734 00:32:19,140 --> 00:32:19,850 Het is al rond. 735 00:32:19,850 --> 00:32:22,040 Het werd gepopulariseerd door Twitter voor bepaalde tijd. 736 00:32:22,040 --> 00:32:24,470 En nu tal van websites, veel ontwikkelaars gebruiken. 737 00:32:24,470 --> 00:32:26,629 Maar nieuwe dingen komen out en langs komen. 738 00:32:26,629 --> 00:32:29,420 Maar laat ik geef je een gevoel van wat het betekent om een ​​bibliotheek te gebruiken. 739 00:32:29,420 --> 00:32:32,250 Dus nogmaals, JavaScript is een zeer populaire taal. 740 00:32:32,250 --> 00:32:35,340 CSS of Cascading Style Sheets, hebben we gesproken over gisteren. 741 00:32:35,340 --> 00:32:36,600 Ook dat is alomtegenwoordig. 742 00:32:36,600 --> 00:32:40,130 Niemand maakt een webpagina vandaag zonder gebruik van HTML en CSS minimaal. 743 00:32:40,130 --> 00:32:42,510 Maar het is niet altijd gemakkelijk om bepaalde dingen te doen. 744 00:32:42,510 --> 00:32:46,281 >> En dus laat me gaan naar getbootstrap.com. 745 00:32:46,281 --> 00:32:46,780 Whoops. 746 00:32:46,780 --> 00:32:48,280 Dat is niet de manier waarop we spellen. 747 00:32:48,280 --> 00:32:52,410 Getbootstrap.com, die gaat me te leiden 748 00:32:52,410 --> 00:32:56,140 naar de landing page van deze bibliotheek. 749 00:32:56,140 --> 00:32:59,720 Dus ze royaal noemen zelf een kader, dat 750 00:32:59,720 --> 00:33:02,032 is een soort van een soort van eerlijke, maar ik zou nog steeds het noemen 751 00:33:02,032 --> 00:33:03,490 meer een bibliotheek dan een kader. 752 00:33:03,490 --> 00:33:05,760 Maar dit zijn slechts discutabel semantiek. 753 00:33:05,760 --> 00:33:12,360 Laat me gaan om hun tab CSS en laat me gaan naar iets als dit. 754 00:33:12,360 --> 00:33:15,450 >> Dus herinneren wat onze formulieren keek zoals gisteren op Cloud9? 755 00:33:15,450 --> 00:33:16,370 Het was behoorlijk lelijk. 756 00:33:16,370 --> 00:33:17,320 Old school knoppen. 757 00:33:17,320 --> 00:33:20,420 Ik denk dat de knop was grijs door standaard. En alles was echt 758 00:33:20,420 --> 00:33:22,420 geformatteerd heel slordig. 759 00:33:22,420 --> 00:33:26,940 Dus als u wilt dat uw webformulieren te kijken een beetje nicer-- laat me in te zoomen hier. 760 00:33:26,940 --> 00:33:30,050 >> En mooier ik eigenlijk alleen maar bedoel zeer nitpicky esthetiek. 761 00:33:30,050 --> 00:33:35,390 Dus zien hoe de e-mail box moet er een afgeronde rechthoekige hoeken aan. 762 00:33:35,390 --> 00:33:37,010 Dus het is een beetje schoner daar. 763 00:33:37,010 --> 00:33:40,770 Merk op dat het woord e-mail is daar tot ik begin te typen 764 00:33:40,770 --> 00:33:41,797 en dan gaat het weg. 765 00:33:41,797 --> 00:33:43,130 Dus dat is een leuke feature. 766 00:33:43,130 --> 00:33:46,046 Merk op hoe het ding is een soort van gloeiende mooi, die een aantal van deze u 767 00:33:46,046 --> 00:33:49,069 gratis te krijgen van uw browser, maar dit is ook bibliotheken, 768 00:33:49,069 --> 00:33:51,360 code dat andere mensen geschreven dat u dit geven. 769 00:33:51,360 --> 00:33:53,480 >> Iets zoals dit geeft me mijn wachtwoord. 770 00:33:53,480 --> 00:33:58,480 Deze knop is een beetje sexier dan de standaard. Zeer veel nu in zwang. 771 00:33:58,480 --> 00:34:03,570 Sinds iOS 7 of zo, de wereld heeft gekregen zeer vlak, 772 00:34:03,570 --> 00:34:09,000 terwijl de wereld gehad veel slagschaduwen, veel 773 00:34:09,000 --> 00:34:11,040 reflecties op de pictogrammen. 774 00:34:11,040 --> 00:34:14,170 Net als in de kleding wereld, er is modetrends die komen en gaan. 775 00:34:14,170 --> 00:34:16,190 Nu is alles plat op je telefoon. 776 00:34:16,190 --> 00:34:19,159 >> In feite, knoppen op je iPhone zijn nu slechts blauwe links. 777 00:34:19,159 --> 00:34:21,000 Er is niet vaak eens ronde knoppen. 778 00:34:21,000 --> 00:34:22,791 Dus dit zijn slechts dingen die verder gaan in en uit 779 00:34:22,791 --> 00:34:26,659 van Vogue, en dus dit is hoe je misschien een meer modern uitziende webformulier. 780 00:34:26,659 --> 00:34:27,159 Toetsen. 781 00:34:27,159 --> 00:34:29,190 Dus Bootstrap heeft veel mooie knoppen. 782 00:34:29,190 --> 00:34:33,639 Dus als je wilt blauwe knopen, groene knoppen, blauw, oranje, rood. 783 00:34:33,639 --> 00:34:35,840 Bootstrap maakt het makkelijker om deze dingen te doen. 784 00:34:35,840 --> 00:34:38,131 Dit zijn het soort dingen dat je kon absoluut 785 00:34:38,131 --> 00:34:41,840 gisteren hebben gedaan met CSS en met HTML, maar het is gewoon een pijn in de nek. 786 00:34:41,840 --> 00:34:44,840 En dus in plaats, wat zou Bootstrap moet je doen is iets als dit. 787 00:34:44,840 --> 00:34:48,960 >> Als je wilt dat een button-- blijkt dit is een HTML-tag we niet gebruiken yesterday-- 788 00:34:48,960 --> 00:34:53,070 en u wilt kijken als deze groene knop, 789 00:34:53,070 --> 00:34:57,380 je letterlijk geef het een klasse, die hadden we praten over gisteren, 790 00:34:57,380 --> 00:34:59,710 van "btn btn-succes." 791 00:34:59,710 --> 00:35:00,971 >> Waarom die woorden? 792 00:35:00,971 --> 00:35:03,470 Twitter, de auteurs van Bootstrap, kwam met die woorden. 793 00:35:03,470 --> 00:35:05,428 Ze konden hebben opgeroepen ze wat ze willen. 794 00:35:05,428 --> 00:35:08,480 Maar wat je nu krijgt is iemand anders bij Twitter, in dit geval, 795 00:35:08,480 --> 00:35:12,360 heeft bedacht hoe maak je een knop kijken mooi en schoon en groen. 796 00:35:12,360 --> 00:35:15,580 Ze verpakt die functionaliteit in een CSS-klasse, genaamd "btn" 797 00:35:15,580 --> 00:35:19,790 en "btn-succes", zodat ieder van ons kan gebruik het nu zonder zelfs maar te denken over 798 00:35:19,790 --> 00:35:20,290 het. 799 00:35:20,290 --> 00:35:22,880 Dus ze hebben weg geabstraheerd het begrip groene knop 800 00:35:22,880 --> 00:35:25,320 zodat we niet zorgen te maken over de uitvoering ervan onszelf. 801 00:35:25,320 --> 00:35:28,520 We kunnen eigenlijk richten op de uitvoering dingen van belang voor ons. 802 00:35:28,520 --> 00:35:30,902 >> Als we hier scroll naar beneden. 803 00:35:30,902 --> 00:35:32,110 Foutmeldingen op het scherm. 804 00:35:32,110 --> 00:35:35,440 Soms wil je een klein bericht weergegeven op de bovenkant van de browser. 805 00:35:35,440 --> 00:35:39,729 Elk van ons kan dit doen met een aantal inspanning, na de les van gisteren, 806 00:35:39,729 --> 00:35:40,770 maar waarom zou je de moeite? 807 00:35:40,770 --> 00:35:42,540 Dat is zo'n oninteressant esthetische detail. 808 00:35:42,540 --> 00:35:44,248 Laten we staan ​​op de schouders van Bootstrap 809 00:35:44,248 --> 00:35:49,440 en men geve ons van dit soort dingen, waar we letterlijk, een rode doos te krijgen, 810 00:35:49,440 --> 00:35:53,220 hoeft alleen een paragraaf te doen tag met een klasse van-- sorry. 811 00:35:53,220 --> 00:35:57,307 "BG-gevaar" zou ons geven dit roodachtige box plaats. 812 00:35:57,307 --> 00:35:59,140 Laten we nu naar de meer interessante dingen. 813 00:35:59,140 --> 00:36:02,950 Als ik ga terug naar de top van deze pagina en ga naar Componenten, 814 00:36:02,950 --> 00:36:05,380 nu de wereld wordt nog interessanter. 815 00:36:05,380 --> 00:36:08,826 Bijvoorbeeld, heel gebruikelijk is drop-down menu's als deze. 816 00:36:08,826 --> 00:36:11,560 Dit zou een absoluut zijn pijn te implementeren. 817 00:36:11,560 --> 00:36:13,610 En het was niet zo lang geleden dat we programmeurs 818 00:36:13,610 --> 00:36:16,490 zouden deze uitvoering soorten menu's vanaf nul. 819 00:36:16,490 --> 00:36:20,800 >> Maar het is een dergelijk gemeenschappelijk paradigma dat bibliotheken als Bootstrap 820 00:36:20,800 --> 00:36:25,230 geef je de mogelijkheid om een ​​te maken drop-down menu veel, veel gemakkelijker. 821 00:36:25,230 --> 00:36:27,850 Er is niet een manier om het te doen, maar als ik lees de documentatie 822 00:36:27,850 --> 00:36:32,100 Ik wil zien dat, OK, moet ik gebruiken deze HTML als ik wil een drop-down menu 823 00:36:32,100 --> 00:36:34,030 die zich gedraagt ​​als dat. 824 00:36:34,030 --> 00:36:36,690 >> Op dezelfde manier, laten we naar de knop drop-down. 825 00:36:36,690 --> 00:36:38,470 Dus dit is zelfs liefhebber. 826 00:36:38,470 --> 00:36:41,800 Als ik wil dat dit eruit ziet als een knop maar dat kleine driehoekje betekent 827 00:36:41,800 --> 00:36:44,080 Ik zou klik erop en krijg dit menu, 828 00:36:44,080 --> 00:36:45,760 is het gebruik van een taal JavaScript genoemd. 829 00:36:45,760 --> 00:36:47,470 En we kunnen allemaal uit te voeren dit in JavaScript. 830 00:36:47,470 --> 00:36:49,720 Maar nogmaals, dit is een wiel je wilt niet opnieuw uit te vinden. 831 00:36:49,720 --> 00:36:52,700 Je wil gewoon om het opstijgen de plank bibliotheek voor. 832 00:36:52,700 --> 00:36:58,145 >> Laten we naar iets zoals vooruitgang bars. 833 00:36:58,145 --> 00:36:59,770 Dus zoiets als dit is een soort van cool. 834 00:36:59,770 --> 00:37:02,910 Als je ooit een vooruitgang hebben gezien bar te bewegen over het scherm, 835 00:37:02,910 --> 00:37:06,380 uitvoering die vaak is gewoon een spinning icoon. 836 00:37:06,380 --> 00:37:10,200 In feite, net als een terzijde, laat ik ga naar Ajax-- wat is het? 837 00:37:10,200 --> 00:37:10,710 Ajax info? 838 00:37:10,710 --> 00:37:11,720 Whoops. 839 00:37:11,720 --> 00:37:13,035 Ajaxinfo. 840 00:37:13,035 --> 00:37:14,800 Laat me herinneren het adres. 841 00:37:14,800 --> 00:37:15,820 Daar gaan we. 842 00:37:15,820 --> 00:37:19,850 >> Dus als je ooit wat animatie heb gezien terwijl de pagina wordt geladen, of denken, 843 00:37:19,850 --> 00:37:25,410 of op te slaan, of het creëren van iets, je misschien zoals animaties zoals deze te zien. 844 00:37:25,410 --> 00:37:28,800 Dus laten we eens kijken naar iets zoals deze hier, 845 00:37:28,800 --> 00:37:33,550 en laten we kiezen voor een voorgrondkleur van groen, die een soort vriendelijke voelt. 846 00:37:33,550 --> 00:37:34,545 Kan ik dit op? 847 00:37:34,545 --> 00:37:35,500 Kom op. 848 00:37:35,500 --> 00:37:36,000 OK. 849 00:37:36,000 --> 00:37:38,930 We zullen gewoon gaan met rode omdat dat is wat we krijgen. 850 00:37:38,930 --> 00:37:40,250 Dus hier hebben we het. 851 00:37:40,250 --> 00:37:43,940 >> Dus als je dit ooit hebt gezien op een scherm, waarbij plotseling verschijnt en vervolgens 852 00:37:43,940 --> 00:37:47,550 plotseling verdwijnt, wat is dat is de uitvoering van die? 853 00:37:47,550 --> 00:37:48,970 Nou, dit is gewoon een GIF. 854 00:37:48,970 --> 00:37:52,850 G-I-F. En dit is een geanimeerde bestand, dat betekent gewoon 855 00:37:52,850 --> 00:37:54,327 het is als een oude school stripboek. 856 00:37:54,327 --> 00:37:57,160 Er is gewoon een heleboel verschillende frames die gaan [STOTTEREN] 857 00:37:57,160 --> 00:37:58,085 en gewoon herhalen. 858 00:37:58,085 --> 00:38:00,090 En het is het creëren van de illusie van beweging. 859 00:38:00,090 --> 00:38:03,070 >> Dus zodra een pagina wordt gedaan laden of iets te doen, 860 00:38:03,070 --> 00:38:04,610 wat doet een programmeur doen? 861 00:38:04,610 --> 00:38:07,500 Nou ja, hij of zij verbergt alleen deze afbeelding. 862 00:38:07,500 --> 00:38:11,536 Dus al een voortgangsbalk is een soort of graag een film die je kijkt. 863 00:38:11,536 --> 00:38:14,660 Je bent een soort van niet bewust van het feit dat het om het even wat eigenlijk niet doet, 864 00:38:14,660 --> 00:38:15,940 het is gewoon bewegen. 865 00:38:15,940 --> 00:38:19,150 >> En dan, wanneer het klaar vordert, zij verbergen ze gewoon of uitzetten. 866 00:38:19,150 --> 00:38:21,115 En dat is de magie dat gaat daar op. 867 00:38:21,115 --> 00:38:22,770 Bootstrap geeft u iets een beetje liefhebber, 868 00:38:22,770 --> 00:38:25,030 waarbij je kan eigenlijk zie je een percentage als het gaat, 869 00:38:25,030 --> 00:38:27,840 maar ook het is gewoon soort van een eenvoudige animatie. 870 00:38:27,840 --> 00:38:32,250 >> Laten we eens kijken naar een aantal definitieve complexere voorbeelden. 871 00:38:32,250 --> 00:38:35,526 Zoiets als een modaal. 872 00:38:35,526 --> 00:38:36,900 Weet iemand wat een modaal is? 873 00:38:36,900 --> 00:38:39,880 874 00:38:39,880 --> 00:38:42,550 Een modaal venster meestal een die wordt verondersteld 875 00:38:42,550 --> 00:38:46,880 de controle over de voorgrond te nemen en voorkomen dat u iets anders te doen. 876 00:38:46,880 --> 00:38:50,290 Het soort dwingt de gebruiker aandacht naar het midden van het scherm, 877 00:38:50,290 --> 00:38:52,290 vergrendeling ze uit, meestal, van al het andere. 878 00:38:52,290 --> 00:38:55,830 >> Dus als ik te lanceren deze demo, de scherm wordt over het algemeen grijs. 879 00:38:55,830 --> 00:38:57,060 Nou, hoe kunnen we het grijs? 880 00:38:57,060 --> 00:38:59,080 Nou ja, we waarschijnlijk gewoon veranderde de achtergrondkleur 881 00:38:59,080 --> 00:39:01,060 zoals wij deden gisteren of zoiets. 882 00:39:01,060 --> 00:39:03,490 Misschien is het een overlay dat semi-transparant. 883 00:39:03,490 --> 00:39:06,320 En nu merk je kunt doen buitensporige dingen zoals dit. 884 00:39:06,320 --> 00:39:09,930 Dus als je ooit op een knop en willen een beetje pop uit te verschijnen, 885 00:39:09,930 --> 00:39:10,710 je kan dat doen. 886 00:39:10,710 --> 00:39:12,340 En dus who cares over all-- ja? 887 00:39:12,340 --> 00:39:15,791 >> Publiek: Dus met Bootstrap, om het te krijgen opgenomen, 888 00:39:15,791 --> 00:39:21,002 is het zo eenvoudig als gisteren we hebben de pagina CSS-stijlen? 889 00:39:21,002 --> 00:39:21,960 DAVID J. MALAN: Inderdaad. 890 00:39:21,960 --> 00:39:22,835 Echt goede vraag. 891 00:39:22,835 --> 00:39:24,480 Laat me gaan naar de slag. 892 00:39:24,480 --> 00:39:26,090 En ja. 893 00:39:26,090 --> 00:39:30,920 Het enige wat je hoeft te doen om gebruik Bootstrap is in wezen kopiëren 894 00:39:30,920 --> 00:39:35,910 en plak deze drie lange rijen code in de bovenkant van je eigen web-page-- 895 00:39:35,910 --> 00:39:38,892 het hoofd van uw page-- en je bent up and running. 896 00:39:38,892 --> 00:39:41,850 En er zijn verschillende manieren om , maar dit zou de eenvoudigste. 897 00:39:41,850 --> 00:39:45,190 >> Dus wat is behulpzaam over dit alles? 898 00:39:45,190 --> 00:39:47,524 Nou, als je niet zo veel de uitvoerder van een website 899 00:39:47,524 --> 00:39:50,106 maar je probeert om het te ontwerpen, of wilt u iemand te bieden 900 00:39:50,106 --> 00:39:53,220 met draadframe diagrammen zogezegd, of vertolkingen van wat er net kunstenaar 901 00:39:53,220 --> 00:39:56,080 je wilt doen, ik, om deze dag, zal vaak naar een site 902 00:39:56,080 --> 00:39:58,660 als Bootstrap, waar als ik willen something-- implementeren 903 00:39:58,660 --> 00:40:02,290 zoals onlangs op de campus we wilden implementeren 904 00:40:02,290 --> 00:40:06,170 een web-based tool voor het navigeren Harvard studiegids, 905 00:40:06,170 --> 00:40:08,770 waardoor het makkelijker voor studenten om te bladeren door middel van cursussen 906 00:40:08,770 --> 00:40:10,930 en cursussen toe te voegen boodschappenlijstje, om zo te zeggen, 907 00:40:10,930 --> 00:40:13,070 van de soort te beslissen wat ze wilden nemen. 908 00:40:13,070 --> 00:40:16,252 >> Ik probeerde voor te stellen voor mijzelf, welke ingrediënten zou 909 00:40:16,252 --> 00:40:17,460 we willen gebruiken om dit te bouwen? 910 00:40:17,460 --> 00:40:19,050 Wat zou de user interface zijn? 911 00:40:19,050 --> 00:40:22,800 En net kijken door een site als deze of andere dergelijke bibliotheek plaatsen, 912 00:40:22,800 --> 00:40:26,560 kunt u inspiratie op te doen, want wow, Ik kan deze widget en deze widget gebruiken, 913 00:40:26,560 --> 00:40:27,330 en deze widget. 914 00:40:27,330 --> 00:40:29,080 En dan echt wat de programmeur begint 915 00:40:29,080 --> 00:40:32,800 te doen, vooral in deze dagen in dit meer moderne wereld van het web programmeren, 916 00:40:32,800 --> 00:40:35,827 is de programmering is in toenemende mate over elkaar bedrading dingen. 917 00:40:35,827 --> 00:40:38,910 Soort van het nemen van deze uit de kast, deze uit de kast, dit uit de kast, 918 00:40:38,910 --> 00:40:41,954 en u zijn de slimme al die punten te verbinden, 919 00:40:41,954 --> 00:40:45,120 maar uiteindelijk iets op te bouwen door weer staande op de schouders van anderen, 920 00:40:45,120 --> 00:40:49,370 zodat je niet beschikt over een maand te besteden implementeren van een domme drop down menu, 921 00:40:49,370 --> 00:40:52,080 dat is eigenlijk moeilijk om te doen als je wilt dat het werken op Chrome, 922 00:40:52,080 --> 00:40:55,220 en IE en Firefox, en eventuele aantal andere browsers. 923 00:40:55,220 --> 00:40:59,060 Dit is de reden waarom er deze rijke commerciële en open source software 924 00:40:59,060 --> 00:41:01,220 industrie. 925 00:41:01,220 --> 00:41:06,810 >> PUBLIEK: Betekent Bootstrap bijgewerkt en je moet dan uw links? 926 00:41:06,810 --> 00:41:07,820 >> DAVID J. MALAN: Het doet. 927 00:41:07,820 --> 00:41:09,090 Nou, ja, het doet. 928 00:41:09,090 --> 00:41:12,540 Bootstrap is momenteel bij versie 3.3.6. 929 00:41:12,540 --> 00:41:16,720 En in het algemeen wat je zou doen-- dit is eigenlijk het vermelden waard. 930 00:41:16,720 --> 00:41:19,200 Er is wat er over het algemeen bekend als semantische versiebeheer 931 00:41:19,200 --> 00:41:20,160 systeem in de wereld. 932 00:41:20,160 --> 00:41:21,320 Niet iedereen doet dit. 933 00:41:21,320 --> 00:41:26,410 >> Maar als je versienummers hebt gezien die van het formulier x.y.z-- 934 00:41:26,410 --> 00:41:30,240 dus bijvoorbeeld de eerste versie van een programma kunnen zijn 1.0.0. 935 00:41:30,240 --> 00:41:34,970 Of als het heel erg beta, of zelfs alfastatus, die gebruikt betekent 936 00:41:34,970 --> 00:41:37,620 op eigen risico, het is niet echt klaar voor prime time, 937 00:41:37,620 --> 00:41:42,080 je zou zelfs beginnen 0.0.1 of een dergelijke aanwijzing. 938 00:41:42,080 --> 00:41:47,260 Maar als software begint bij versie 1.0, of gelijkwaardig 1.0.0, 939 00:41:47,260 --> 00:41:50,530 typisch, wat is gebruikelijk deze dagen-- hoewel niet omnipresent-- is 940 00:41:50,530 --> 00:41:53,520 als een bedrijf of een individuele programmeur fixes 941 00:41:53,520 --> 00:41:56,140 enkele bug in een stukje software die echt 942 00:41:56,140 --> 00:42:01,620 was een bug, waarvan de correctie mag niet impact die je bij all-- het niet verandert 943 00:42:01,620 --> 00:42:03,940 het gedrag van het programma, het is gewoon iets repareert 944 00:42:03,940 --> 00:42:06,580 dat werkte niet properly-- zou je meestal 945 00:42:06,580 --> 00:42:08,890 werken daar de z-waarde. 946 00:42:08,890 --> 00:42:12,900 Wat betekent dat iemand als Kareem kon gewoon gaan in zijn website, 947 00:42:12,900 --> 00:42:19,470 blindelings veranderen het versienummer van 1.0.0 naar 1.0.1, opslaan, het schip, 948 00:42:19,470 --> 00:42:21,880 en in principe niet te bang te zijn dat hij gewoon gebroken 949 00:42:21,880 --> 00:42:24,430 zijn website als gevolg van sommige gebrek aan functionaliteit, 950 00:42:24,430 --> 00:42:25,870 omdat er iets anders brak. 951 00:42:25,870 --> 00:42:28,740 >> Ondertussen, als ik de programmeur of een bedrijf 952 00:42:28,740 --> 00:42:35,500 waren een aantal belangrijke maken verandering die functionaliteit toevoegt, 953 00:42:35,500 --> 00:42:40,320 Ik zou ons kunnen updaten naar 1.1.0 omdat ik eigenlijk ben 954 00:42:40,320 --> 00:42:42,200 gedragsverandering van de bibliotheek. 955 00:42:42,200 --> 00:42:44,470 Ik geef je misschien meer functionaliteit. 956 00:42:44,470 --> 00:42:48,490 Tot slot, als ik eigenlijk fundamenteel software wijzigen zodat 957 00:42:48,490 --> 00:42:54,380 veel dat het zal breken vele gebruikers websites of applicaties, 958 00:42:54,380 --> 00:42:59,550 dan ben ik verplicht, in dit model, om Ook een upgrade van de grote versie nummer, 959 00:42:59,550 --> 00:43:01,059 die een brekende verandering. 960 00:43:01,059 --> 00:43:03,725 Met andere woorden, zou ik heb beëindigde steun voor die daling 961 00:43:03,725 --> 00:43:04,350 down menu. 962 00:43:04,350 --> 00:43:07,790 Dus als u een upgrade naar 2.0, de helft uw website zouden kunnen stoppen met werken. 963 00:43:07,790 --> 00:43:10,950 En dit is een soort van een signaal aan de gemeenschap met betrekking tot wat er 964 00:43:10,950 --> 00:43:13,223 die betrokken zijn bij het maken van een upgrade. 965 00:43:13,223 --> 00:43:16,710 966 00:43:16,710 --> 00:43:18,020 Een goede gelegenheid om te verhogen. 967 00:43:18,020 --> 00:43:18,718 Andere vragen? 968 00:43:18,718 --> 00:43:21,761 969 00:43:21,761 --> 00:43:22,260 Okee. 970 00:43:22,260 --> 00:43:26,945 Nou laten we eens kijken naar een laatste onderwerp in dit segment programmering 971 00:43:26,945 --> 00:43:30,640 technologie stacks, namelijk met betrekking tot mobiel. 972 00:43:30,640 --> 00:43:36,232 >> Dus in de wereld van mobiele telefoons vandaag de dag je have-- en iPads, en oppervlakken, 973 00:43:36,232 --> 00:43:37,940 en al die soorten van devices-- je hebt 974 00:43:37,940 --> 00:43:40,950 veel keuzes als het gaat om de uitvoering 975 00:43:40,950 --> 00:43:47,270 een applicatie of een website voor mobiele apparaten van uw klant. 976 00:43:47,270 --> 00:43:51,570 Dus gewoon aan de staat voor de hand liggende, misschien deze dagen, 977 00:43:51,570 --> 00:43:54,960 welke de platforms te ontwikkelen voor in de mobiele ruimte? 978 00:43:54,960 --> 00:43:59,650 Welke apparaten wilt u misschien ondersteunen bij uw app of website? 979 00:43:59,650 --> 00:44:00,317 >> PUBLIEK: Apple. 980 00:44:00,317 --> 00:44:01,108 DAVID J. MALAN: OK. 981 00:44:01,108 --> 00:44:01,820 Dus Apple-apparaten. 982 00:44:01,820 --> 00:44:06,740 dat betekent dus de iPhone, en dat betekent iPad, en misschien zelfs de iPod. 983 00:44:06,740 --> 00:44:07,627 Wat nog meer? 984 00:44:07,627 --> 00:44:11,006 985 00:44:11,006 --> 00:44:11,505 Olivier? 986 00:44:11,505 --> 00:44:11,970 >> PUBLIEK: Android. 987 00:44:11,970 --> 00:44:13,111 >> DAVID J. MALAN: Android. 988 00:44:13,111 --> 00:44:13,610 OK. 989 00:44:13,610 --> 00:44:17,335 Dus Android-telefoons, Android tablets, de Android market 990 00:44:17,335 --> 00:44:21,240 is zelfs Messier because-- en zelfs Apple wordt steeds rommelig. 991 00:44:21,240 --> 00:44:23,960 Overwegende Once upon a time iPhone was een bepaalde grootte, 992 00:44:23,960 --> 00:44:26,560 en iPad was een bepaalde grootte, en iPod was een bepaalde grootte, nu 993 00:44:26,560 --> 00:44:33,420 we hebben iPad Mini's, en de dunne kinderen, en de iPhone 6 Plus en 6. 994 00:44:33,420 --> 00:44:34,407 Het wordt een puinhoop. 995 00:44:34,407 --> 00:44:35,740 Het wordt de Android wereld. 996 00:44:35,740 --> 00:44:39,030 >> En ik zeg dit met een soort rollende mijn ogen, want uit een ontwikkelaar 997 00:44:39,030 --> 00:44:41,680 perspectief, het is een pijn in de nek wanneer 998 00:44:41,680 --> 00:44:45,686 je hoeft niet Steve Jobs ' visioen van absolute controle 999 00:44:45,686 --> 00:44:47,060 over al deze specificaties. 1000 00:44:47,060 --> 00:44:49,726 Apple heeft nog steeds omdat ze degene bouw van de hardware. 1001 00:44:49,726 --> 00:44:52,690 Maar het is een mooi ding, als Ik ben een software ontwikkelaar, 1002 00:44:52,690 --> 00:44:54,520 gewoon weet dat mijn iPhone zal altijd 1003 00:44:54,520 --> 00:44:56,850 om dit grote, omdat zijn dat betekent dat ik altijd weet 1004 00:44:56,850 --> 00:44:58,847 hoeveel scherm onroerend goed ik heb. 1005 00:44:58,847 --> 00:45:01,180 Dus als ik wil een icoon te zetten in de linker bovenhoek, 1006 00:45:01,180 --> 00:45:04,530 het gaat om in exact dezelfde plaats op het apparaat van elke klant. 1007 00:45:04,530 --> 00:45:07,140 >> Maar in de wereld van de iPhone 6s en iPhone 6 Pluspunten 1008 00:45:07,140 --> 00:45:10,570 en in de wereld van Android telefoons, het is allemaal over de kaart. 1009 00:45:10,570 --> 00:45:13,580 En zo maakt het moeilijker om programma dingen, vooral user interfaces, 1010 00:45:13,580 --> 00:45:18,270 want nu heb je om te beginnen met het regelen van je user interfaces relatief, niet 1011 00:45:18,270 --> 00:45:19,730 absoluut. 1012 00:45:19,730 --> 00:45:23,524 En hetzelfde is uitgekomen op browsers geweest, en desktops en laptops voor de jaren 1013 00:45:23,524 --> 00:45:25,690 omdat je, natuurlijk, hebben verschillende schermformaten. 1014 00:45:25,690 --> 00:45:26,189 >> Wat nog meer? 1015 00:45:26,189 --> 00:45:30,170 Je zou kunnen oppervlakken hebben, zoals van Microsoft. 1016 00:45:30,170 --> 00:45:31,270 Je zou kunnen hebben-- 1017 00:45:31,270 --> 00:45:32,270 PUBLIEK: Windows phone. 1018 00:45:32,270 --> 00:45:32,816 DAVID J. MALAN: Wat is dat? 1019 00:45:32,816 --> 00:45:33,570 PUBLIEK: Windows phone. 1020 00:45:33,570 --> 00:45:34,403 DAVID J. MALAN: Ja. 1021 00:45:34,403 --> 00:45:37,570 Dus ramen telefoons nog steeds te vinden. 1022 00:45:37,570 --> 00:45:41,840 Soort soort van BlackBerrys, maar ze blijven proberen. 1023 00:45:41,840 --> 00:45:43,900 En dan trossen van andere apparaten. 1024 00:45:43,900 --> 00:45:48,020 Dus voor het grootste deel, laten we zeggen dat deze zijn degenen 1025 00:45:48,020 --> 00:45:49,520 tot ongeveer zorg op dit moment. 1026 00:45:49,520 --> 00:45:51,890 Zeker is dat de Apple spul, zeker de Android spul, 1027 00:45:51,890 --> 00:45:55,640 en onder Windows, zoals oppervlakte tablets lijken te vangen op vrij goed. 1028 00:45:55,640 --> 00:45:58,030 >> En dus onder die apparaten, als je wilt uitrollen, 1029 00:45:58,030 --> 00:46:02,677 laten we zeggen, een mobiele aanwezigheid voor uw bedrijf, welke soorten van ontwerpbeslissingen 1030 00:46:02,677 --> 00:46:03,510 heb je te maken? 1031 00:46:03,510 --> 00:46:06,350 Nou, we al gezegd in de Apple wereld, 1032 00:46:06,350 --> 00:46:08,790 er ten minste twee talen die doorgaans worden gebruikt. 1033 00:46:08,790 --> 00:46:10,260 Eén was wat genoemd? 1034 00:46:10,260 --> 00:46:11,260 >> PUBLIEK: Objective-C. 1035 00:46:11,260 --> 00:46:11,560 >> DAVID J. MALAN: Yeah. 1036 00:46:11,560 --> 00:46:13,600 Dus Objective-C, dat is de oudere. 1037 00:46:13,600 --> 00:46:17,720 Het is ook de taal die veel Mac toepassingen nog geschreven. 1038 00:46:17,720 --> 00:46:18,964 Dan is de andere nieuwere was? 1039 00:46:18,964 --> 00:46:19,630 PUBLIEK: Swift. 1040 00:46:19,630 --> 00:46:20,590 DAVID J. MALAN: Swift. 1041 00:46:20,590 --> 00:46:23,900 En dat zijn de aard van de twee om te weten te imponeren mensen. 1042 00:46:23,900 --> 00:46:28,238 Dan in de Android wereld, Welke taal heeft Android gebruiken? 1043 00:46:28,238 --> 00:46:30,618 >> PUBLIEK: C #? 1044 00:46:30,618 --> 00:46:31,570 >> PUBLIEK: Java. 1045 00:46:31,570 --> 00:46:34,230 >> DAVID J. MALAN: Java is de taal van "du jour." 1046 00:46:34,230 --> 00:46:37,950 In de Windows-wereld, zeker, we zullen zeggen C # in dat geval. 1047 00:46:37,950 --> 00:46:40,590 Dus al is dit soort vervelend, want wat is 1048 00:46:40,590 --> 00:46:43,070 de afhaalmaaltijd voor een bedrijf eigenaar of iemand die net 1049 00:46:43,070 --> 00:46:44,570 wil de uitrol van een mobiel aanwezigheid? 1050 00:46:44,570 --> 00:46:45,220 Zoals, verdomme? 1051 00:46:45,220 --> 00:46:48,590 Zoals, als ik wil steunen een vrij brede basis van gebruikers, 1052 00:46:48,590 --> 00:46:52,180 Ik heb om te schrijven, zo lijkt het, drie afzonderlijke applicaties. 1053 00:46:52,180 --> 00:46:55,630 Een in een van deze talen, een in Java, een in C #. 1054 00:46:55,630 --> 00:46:59,620 En zelfs als ik wil de functionaliteit identiek te zijn, het maakt niet uit. 1055 00:46:59,620 --> 00:47:02,940 Ik moet toch anders te gebruiken talen omdat Apple en Microsoft, 1056 00:47:02,940 --> 00:47:06,084 Google en alle ondersteunende verschillende omgevingen. 1057 00:47:06,084 --> 00:47:07,750 En dit is een uitdaging voor jaren. 1058 00:47:07,750 --> 00:47:10,100 Terug in de dag, toen mensen gebruikt om software te kopen 1059 00:47:10,100 --> 00:47:12,230 op een computer op te slaan in krimpfolie verpakte dozen, 1060 00:47:12,230 --> 00:47:14,470 zou je ofwel moeten bereiken voor de Mac plank, 1061 00:47:14,470 --> 00:47:19,040 of voor-- misschien is dit zeer kleine Mac shelf-- of de grotere Windows plank 1062 00:47:19,040 --> 00:47:19,980 en koop wat software. 1063 00:47:19,980 --> 00:47:22,813 En heel vaak, was er niet eens alles voor je op de Mac plank. 1064 00:47:22,813 --> 00:47:23,430 Waarom? 1065 00:47:23,430 --> 00:47:26,900 Nou, bedrijven besloten of 90% van de wereld, 95% van de wereld 1066 00:47:26,900 --> 00:47:31,180 heeft pc's, waarom eens de moeite de uitvoering dingen op Mac OS? 1067 00:47:31,180 --> 00:47:34,370 >> Als aside-- totaal digression-- waarom is het 1068 00:47:34,370 --> 00:47:40,960 dat Mac lijkt zo ongevoelig voor virussen, en wormen en bedreigingen van de veiligheid? 1069 00:47:40,960 --> 00:47:44,040 Is Apple beter in dit? 1070 00:47:44,040 --> 00:47:45,934 Beter in het houden van computers veilig? 1071 00:47:45,934 --> 00:47:47,750 >> Doelgroep: Kleinere publiek? 1072 00:47:47,750 --> 00:47:50,720 >> DAVID J. MALAN: Dat is waarschijnlijk de grotere beetje aan. 1073 00:47:50,720 --> 00:47:54,740 Dus de vele gebruikers van Macs hebben lang beweerd, oh, gebruik dan een Mac, 1074 00:47:54,740 --> 00:47:57,630 je immuun voor virussen en wormen, en al deze dingen 1075 00:47:57,630 --> 00:47:59,180 die lang hebben geteisterd pc's. 1076 00:47:59,180 --> 00:48:02,050 Dat zou kunnen zijn omdat Apple heeft betere programmeurs 1077 00:48:02,050 --> 00:48:05,250 en ze schrijven betere software, of de besturingssysteem is beter ontworpen. 1078 00:48:05,250 --> 00:48:06,870 Misschien, maar waarschijnlijk niet. 1079 00:48:06,870 --> 00:48:10,840 >> Het is waarschijnlijk dat als je een 12-jarige, of een 30 iets 1080 00:48:10,840 --> 00:48:13,510 soort van thuis zitten schrijven kwaadaardige software over te nemen 1081 00:48:13,510 --> 00:48:17,480 de wereld, je gaat om te gaan na de veel grotere doelgroep. 1082 00:48:17,480 --> 00:48:20,590 De 95% van de wereld die misschien worden met Windows of een 1083 00:48:20,590 --> 00:48:21,740 varianten daarvan. 1084 00:48:21,740 --> 00:48:23,800 Dus er is een beetje aan beide zijden. 1085 00:48:23,800 --> 00:48:25,710 Maar om hun creditcard, Apple, bij mijn weten, 1086 00:48:25,710 --> 00:48:28,270 heeft niet echt aangeprezen zichzelf als meer veilig, 1087 00:48:28,270 --> 00:48:32,110 omdat je gewoon uitnodigen drama als u die claim te maken, zou ik denken. 1088 00:48:32,110 --> 00:48:32,610 >> Okee. 1089 00:48:32,610 --> 00:48:36,490 Zonder al te ver naar beneden dat, hoe kunnen we dit oplossen? 1090 00:48:36,490 --> 00:48:39,670 Moet je kopen of moet je betalen drie verschillende mensen te ontwikkelen 1091 00:48:39,670 --> 00:48:41,540 je apps? 1092 00:48:41,540 --> 00:48:42,870 Kies je een over de ander? 1093 00:48:42,870 --> 00:48:45,460 Wat moet je begeleiden denk hierbij denk je? 1094 00:48:45,460 --> 00:48:47,960 1095 00:48:47,960 --> 00:48:48,460 Kareem? 1096 00:48:48,460 --> 00:48:51,001 1097 00:48:51,001 --> 00:48:51,500 Nee. 1098 00:48:51,500 --> 00:48:54,190 Iemand anders. 1099 00:48:54,190 --> 00:48:56,885 >> PUBLIEK: Kom met de hardware. 1100 00:48:56,885 --> 00:48:58,510 DAVID J. MALAN: Kom met de hardware? 1101 00:48:58,510 --> 00:48:59,533 Wat bedoelt u? 1102 00:48:59,533 --> 00:49:01,282 >> Publiek: voor de milieu. [ONHOORBAAR] 1103 00:49:01,282 --> 00:49:04,867 1104 00:49:04,867 --> 00:49:06,200 DAVID J. MALAN: Dus dat is waar. 1105 00:49:06,200 --> 00:49:09,280 Maar uw klanten, Ondertussen zou iPhones hebben, 1106 00:49:09,280 --> 00:49:13,530 ze zouden kunnen Android-telefoons, ze kunnen tabletten door Microsoft hebben. 1107 00:49:13,530 --> 00:49:19,040 Dus hoe kan je een mobiele strategie voor al deze verschillende gebruikers? 1108 00:49:19,040 --> 00:49:23,320 Het lijkt erop dat als het kost, laten we zeggen $ 1000 om een ​​iPhone te maken 1109 00:49:23,320 --> 00:49:25,940 toepassing, het gaat tot kost je $ 2000 te maken 1110 00:49:25,940 --> 00:49:29,250 een iPhone-applicatie en een Android-applicatie, of $ 3000 1111 00:49:29,250 --> 00:49:31,407 ook ondersteuning voor Windows-apparaten ook. 1112 00:49:31,407 --> 00:49:33,990 Dat is waarschijnlijk een hele understatement, en het misschien niet eens 1113 00:49:33,990 --> 00:49:36,050 is een lineair verband als dat. 1114 00:49:36,050 --> 00:49:41,065 >> Publiek: Als u wilt een app of niet kunt u reageren website. 1115 00:49:41,065 --> 00:49:41,940 DAVID J. MALAN: Goed. 1116 00:49:41,940 --> 00:49:46,255 PUBLIEK: Of u kunt een native app. 1117 00:49:46,255 --> 00:49:47,130 DAVID J. MALAN: Yeah. 1118 00:49:47,130 --> 00:49:50,260 Dus met al deze context hier, we hebben gesproken over wat 1119 00:49:50,260 --> 00:49:53,190 mensen zouden native applicaties noemen. 1120 00:49:53,190 --> 00:49:58,040 Dat applicaties die geschreven in de taal van dat apparaat. 1121 00:49:58,040 --> 00:50:02,190 Dus inheemse Objective-C of Swift code, of in Java of C #. 1122 00:50:02,190 --> 00:50:06,900 Wat betekent dat wanneer je downloaden, laten we zeggen Snapchat, een populaire toepassing, 1123 00:50:06,900 --> 00:50:10,060 of wanneer u downloaden Facebook voor een telefoon, 1124 00:50:10,060 --> 00:50:13,270 u downloadt ofwel de versie geschreven voor uw iPhone, 1125 00:50:13,270 --> 00:50:16,830 of geschreven voor je Android telefoon, of geschreven voor uw ondergrond. 1126 00:50:16,830 --> 00:50:18,500 >> Maar er is een alternatief. 1127 00:50:18,500 --> 00:50:26,020 Als Olivier werd zinspelend op, kunt u daadwerkelijk gebruik maken van HTML 5 1128 00:50:26,020 --> 00:50:33,440 in plaats daarvan, met behulp van wat heet een web applicatie, waarbij je gewoon 1129 00:50:33,440 --> 00:50:35,940 implementeren van uw mobiele aanwezigheid en enige functionaliteit. 1130 00:50:35,940 --> 00:50:37,030 Wat bedoel ik door mobiele aanwezigheid? 1131 00:50:37,030 --> 00:50:39,800 Net als uw website die uw heeft contactgegevens, een lijst van alle 1132 00:50:39,800 --> 00:50:43,049 uw producten, misschien heeft een winkelcentrum kar, misschien verkopen je dingen doorheen. 1133 00:50:43,049 --> 00:50:46,850 Wat uw toepassing ook is, je implementeren, niet in Objective-C, 1134 00:50:46,850 --> 00:50:51,200 of Swift, of Java of C #, maar in HTML 5, die de taal die we bekeken was 1135 00:50:51,200 --> 00:50:55,470 op gisteren, JavaScript en CSS. 1136 00:50:55,470 --> 00:50:58,700 >> En wat is er leuk is aan deze drie is dat om ze te draaien, 1137 00:50:58,700 --> 00:51:01,981 je gewoon wat stukje software nodig? 1138 00:51:01,981 --> 00:51:02,980 PUBLIEK: Een webbrowser. 1139 00:51:02,980 --> 00:51:04,229 DAVID J. MALAN: Een web browser. 1140 00:51:04,229 --> 00:51:07,610 En het beste wat ik weet, al deze apparaten worden geleverd met webbrowsers, 1141 00:51:07,610 --> 00:51:10,480 zodat de gebruiker niet hoeft te installeert iets speciaals. 1142 00:51:10,480 --> 00:51:12,920 Dus je kunt gewoon vertellen je publiek, uw klanten, 1143 00:51:12,920 --> 00:51:16,590 ga naar acme.com in uw browser en je zult gewoon 1144 00:51:16,590 --> 00:51:19,730 hebben een web-based ervaring die nog steeds vult het scherm, 1145 00:51:19,730 --> 00:51:25,100 maar je hoeft geen zorgen te maken over al deze kosten en dit alles complexiteit. 1146 00:51:25,100 --> 00:51:28,600 Maar zeker er zal met een vangst hier te zijn, toch? 1147 00:51:28,600 --> 00:51:31,740 Vooral als ik erop wijzen dat een paar jaar geleden, 1148 00:51:31,740 --> 00:51:35,700 de eerste versie de mobiele applicatie van Facebook 1149 00:51:35,700 --> 00:51:38,810 was meestal een HTML 5-toepassing. 1150 00:51:38,810 --> 00:51:42,490 En ze hebben, meer onlangs, opnieuw geïmplementeerd is 1151 00:51:42,490 --> 00:51:44,700 in de andere toepassingen. 1152 00:51:44,700 --> 00:51:46,990 >> Dus waarom zou je niet meteen willen zeggen, 1153 00:51:46,990 --> 00:51:49,190 Nou, natuurlijk gaan we dit doen? 1154 00:51:49,190 --> 00:51:51,560 Wat zou de verborgen kosten zijn? 1155 00:51:51,560 --> 00:51:52,477 >> PUBLIEK: Prestaties. 1156 00:51:52,477 --> 00:51:53,643 DAVID J. MALAN: Prestaties? 1157 00:51:53,643 --> 00:51:54,567 Wat bedoel je? 1158 00:51:54,567 --> 00:52:01,040 >> Publiek: De inheemse app heeft meer prestaties. 1159 00:52:01,040 --> 00:52:03,850 >> DAVID J. MALAN: Dus dat is waar, voor een paar redenen. 1160 00:52:03,850 --> 00:52:05,270 We kunnen het antwoord te simpel. 1161 00:52:05,270 --> 00:52:08,061 En herinneren aan onze bespreking van geïnterpreteerd versus gecompileerde talen. 1162 00:52:08,061 --> 00:52:12,030 Dit is HTML 5 en met het, alleen maar om duidelijk, JavaScript-- vaak geschreven 1163 00:52:12,030 --> 00:52:15,880 JS-- en CSS zijn allemaal geïnterpreteerde talen, 1164 00:52:15,880 --> 00:52:21,020 hoewel alleen JavaScript is een programmeertaal. 1165 00:52:21,020 --> 00:52:25,820 >> Enzovoort versus daarvan, dat sommige worden samengesteld, althans deze drie: 1166 00:52:25,820 --> 00:52:29,990 Objective-C, Java en C # - deze, in theorie, moet gewoon sneller. 1167 00:52:29,990 --> 00:52:31,670 Maar er is een andere werkelijkheid voor-- 1168 00:52:31,670 --> 00:52:32,440 >> PUBLIEK: Functionaliteiten? 1169 00:52:32,440 --> 00:52:32,830 >> DAVID J. MALAN: Wat is dat? 1170 00:52:32,830 --> 00:52:34,060 >> PUBLIEK: Functionaliteiten. 1171 00:52:34,060 --> 00:52:34,570 >> DAVID J. MALAN: Functionaliteit? 1172 00:52:34,570 --> 00:52:35,070 Hoe komt het? 1173 00:52:35,070 --> 00:52:37,305 PUBLIEK: Gebruik de camera van je telefoon of iets dergelijks. 1174 00:52:37,305 --> 00:52:41,471 U kunt die met de browser te gebruiken. 1175 00:52:41,471 --> 00:52:42,470 DAVID J. MALAN: Precies. 1176 00:52:42,470 --> 00:52:43,011 Ze sec-- 1177 00:52:43,011 --> 00:52:45,034 PUBLIEK: [ONVERSTAANBAAR] 1178 00:52:45,034 --> 00:52:46,700 DAVID J. MALAN: Dat is een goeie. 1179 00:52:46,700 --> 00:52:49,230 Er zijn functies die komen met mobiele telefoons vandaag de dag 1180 00:52:49,230 --> 00:52:53,840 die niet, door het ontwerp, voor de veiligheid redenen, toegankelijk voor webbrowsers. 1181 00:52:53,840 --> 00:52:56,410 Omdat het soort zou zijn een griezelige ding als net op het moment 1182 00:52:56,410 --> 00:53:00,710 u bezoekt google.com, of cnn.com, of enige website.com, 1183 00:53:00,710 --> 00:53:04,490 dat die website heeft de macht om te zetten op uw camera, neem een ​​foto van jou, 1184 00:53:04,490 --> 00:53:06,010 en gebruik het dan. 1185 00:53:06,010 --> 00:53:09,280 Maar je zou niet willen dat een willekeurige website die u bezoekt voor de eerste keer 1186 00:53:09,280 --> 00:53:10,690 die-orgaan. 1187 00:53:10,690 --> 00:53:13,460 >> En dus wat telefoon fabrikanten doorgaans doen 1188 00:53:13,460 --> 00:53:17,230 is dat ze toegang te weigeren gewoon dat soort informatie 1189 00:53:17,230 --> 00:53:20,650 een browser, wat betekent dat je kan de camera niet uit te voeren. 1190 00:53:20,650 --> 00:53:24,180 Je kunt niet implementeren push-notificaties, de piepjes die je krijgt op je scherm 1191 00:53:24,180 --> 00:53:26,120 met korte berichten. 1192 00:53:26,120 --> 00:53:31,350 En inderdaad, ook GPS is enige soort van de soort beschikbaar voor webbrowsers. 1193 00:53:31,350 --> 00:53:34,140 Als u ooit, op een laptop of op een mobiel apparaat, 1194 00:53:34,140 --> 00:53:38,770 trok zoiets misschien cnn.com, maar ook lokaal nieuws stations 1195 00:53:38,770 --> 00:53:43,890 hebben de neiging om dit te doen, wordt u gevraagd vaak met een message-- foxnews.com 1196 00:53:43,890 --> 00:53:45,170 wil uw locatie weten. 1197 00:53:45,170 --> 00:53:46,610 Keuren of te weigeren. 1198 00:53:46,610 --> 00:53:52,070 >> Nou, de browser probeert toegang te krijgen uw GPS-informatie van uw telefoon. 1199 00:53:52,070 --> 00:53:54,740 Maar gelukkig Microsoft, en Apple en Google 1200 00:53:54,740 --> 00:53:57,330 hebben besloten dat aanvoelt als Het is nuttig situatie, 1201 00:53:57,330 --> 00:53:59,461 we willen Google Maps en andere instrumenten om te werken, 1202 00:53:59,461 --> 00:54:02,710 maar we willen niet om mensen buiten te kruipen door gewoon waardoor een website om dit te doen. 1203 00:54:02,710 --> 00:54:05,934 Dus laten we een soort van meet halverwege en de gebruiker vragen. 1204 00:54:05,934 --> 00:54:08,850 Maar dat is niet per se het geval met hardware, zoals de camera 1205 00:54:08,850 --> 00:54:10,680 en met push kennisgevingen en dergelijke, 1206 00:54:10,680 --> 00:54:13,650 dus je zou kunnen hebben om offeren bepaalde functies. 1207 00:54:13,650 --> 00:54:15,100 Maar ook de prestaties. 1208 00:54:15,100 --> 00:54:18,020 Het wordt steeds minder merkbaar tegenwoordig, misschien 1209 00:54:18,020 --> 00:54:22,400 LTE aanslaat en sneller internet snelheden op telefoons, 1210 00:54:22,400 --> 00:54:24,110 maar u kunt soort het verschil voelen. 1211 00:54:24,110 --> 00:54:28,190 Net als een web-based applicatie voelt gewoon langzamer normaalgesproken 1212 00:54:28,190 --> 00:54:31,100 dan een native applicatie, deels omdat een web-based applicatie 1213 00:54:31,100 --> 00:54:32,680 per definitie is op internet. 1214 00:54:32,680 --> 00:54:35,610 Het is in gesprek met de servers op het web. 1215 00:54:35,610 --> 00:54:39,590 En als uw netwerkverbinding traag, zelfs scrollen langzaam zou kunnen zijn. 1216 00:54:39,590 --> 00:54:43,710 >> Maar een native applicatie, je hebt al pre-downloaded-- waarschijnlijk 1217 00:54:43,710 --> 00:54:45,680 wanneer je thuis uit de app store, 1218 00:54:45,680 --> 00:54:47,900 of je op zijn minst pre-gedownloade het in zijn geheel 1219 00:54:47,900 --> 00:54:49,640 eerder, ongeacht uw snelheid van de verbinding-- 1220 00:54:49,640 --> 00:54:52,530 en zo nu heb je alle bits die je over het algemeen nodig. 1221 00:54:52,530 --> 00:54:55,090 Behalve misschien een aantal gegevens die afkomstig is van een server. 1222 00:54:55,090 --> 00:54:57,130 >> Dus dit zijn trade-offs hier. 1223 00:54:57,130 --> 00:54:59,980 Er is een soort van een middelbare compromis, in feite. 1224 00:54:59,980 --> 00:55:00,907 En ik denk dat je-- 1225 00:55:00,907 --> 00:55:02,895 >> PUBLIEK: Gebruik de data offline. 1226 00:55:02,895 --> 00:55:06,355 In de native apps, kunt u [ONVERSTAANBAAR] 1227 00:55:06,355 --> 00:55:07,480 DAVID J. MALAN: Absoluut. 1228 00:55:07,480 --> 00:55:09,730 Dus er is de offline kwestie, dat is echt vervelend 1229 00:55:09,730 --> 00:55:13,120 als je wat spel of het gebruik niet kan spelen sommige software alleen maar omdat je bent 1230 00:55:13,120 --> 00:55:15,110 in een kelder ergens of in een lift. 1231 00:55:15,110 --> 00:55:18,700 Een native applicatie is veerkrachtig met een hogere kans tegen dat, 1232 00:55:18,700 --> 00:55:20,990 de veronderstelling dat u alle gegevens die u nodig ter plaatse. 1233 00:55:20,990 --> 00:55:22,900 >> Dus er is een derde optie hier. 1234 00:55:22,900 --> 00:55:30,270 En laten we het spectrum trekken inheemse app hier en web app hier. 1235 00:55:30,270 --> 00:55:32,460 En wat zit er in het midden is iets called-- 1236 00:55:32,460 --> 00:55:35,410 en ik denk dat je zou kunnen hebben gebruikte het woord voor, misschien? 1237 00:55:35,410 --> 00:55:37,170 Hybrid applicatie. 1238 00:55:37,170 --> 00:55:40,980 En zoals het woord al zegt, het is iets in het midden. 1239 00:55:40,980 --> 00:55:46,230 Het is een soort van een webapplicatie en het is een soort van een native applicatie. 1240 00:55:46,230 --> 00:55:47,690 >> En wat betekent dit? 1241 00:55:47,690 --> 00:55:51,750 Het blijkt er zijn frameworks-- een term uit earlier-- software te gebruiken 1242 00:55:51,750 --> 00:55:55,860 die andere mensen hebben geschreven voor elk van deze platforms. 1243 00:55:55,860 --> 00:55:57,500 Deze en nog andere apparaten. 1244 00:55:57,500 --> 00:56:02,390 In feite, laat me gaan naar PhoneGap, dat een dergelijk kader dat ik 1245 00:56:02,390 --> 00:56:04,520 geloven Adobe bezit nu. 1246 00:56:04,520 --> 00:56:07,830 Laat me gaan naar de slag. 1247 00:56:07,830 --> 00:56:09,430 Laten we eens kijken. 1248 00:56:09,430 --> 00:56:12,450 Kijken of ik een lijst van tools kunnen zien. 1249 00:56:12,450 --> 00:56:13,150 Hardware. 1250 00:56:13,150 --> 00:56:15,845 Ermee beginnen. 1251 00:56:15,845 --> 00:56:17,570 PhoneGap hardware. 1252 00:56:17,570 --> 00:56:18,672 >> Laten we eens kijken. 1253 00:56:18,672 --> 00:56:23,459 PhoneGap hardware toegang. 1254 00:56:23,459 --> 00:56:26,125 Eens kijken of we iets kunnen vinden grafiek dat ze vroeger hadden. 1255 00:56:26,125 --> 00:56:29,170 1256 00:56:29,170 --> 00:56:31,640 Dit is op een andere site. 1257 00:56:31,640 --> 00:56:32,525 Is dit nuttig? 1258 00:56:32,525 --> 00:56:33,030 Nee. 1259 00:56:33,030 --> 00:56:36,330 Dat is gonna verspillen van onze tijd daar. 1260 00:56:36,330 --> 00:56:40,185 PhoneGap hardware. 1261 00:56:40,185 --> 00:56:40,685 Devices. 1262 00:56:40,685 --> 00:56:45,190 1263 00:56:45,190 --> 00:56:48,030 Device API. 1264 00:56:48,030 --> 00:56:49,270 Nee, ze hebben het verplaatst. 1265 00:56:49,270 --> 00:56:50,070 >> PhoneGap. 1266 00:56:50,070 --> 00:56:54,964 Laten we een laatste blik op deze en kijken of ik kan laten zien. 1267 00:56:54,964 --> 00:56:55,630 Ermee beginnen. 1268 00:56:55,630 --> 00:56:58,160 1269 00:56:58,160 --> 00:56:59,020 Installeer PhoneGap. 1270 00:56:59,020 --> 00:57:02,310 1271 00:57:02,310 --> 00:57:03,270 Installeer mobiele app. 1272 00:57:03,270 --> 00:57:04,320 Kom op. 1273 00:57:04,320 --> 00:57:07,220 1274 00:57:07,220 --> 00:57:08,580 Ze hebben alles gereorganiseerd. 1275 00:57:08,580 --> 00:57:09,750 Okee. 1276 00:57:09,750 --> 00:57:11,370 Oh oke. 1277 00:57:11,370 --> 00:57:12,550 Nou, daar gaan we. 1278 00:57:12,550 --> 00:57:16,130 Dit is niet zo verhelderend, maar dit is wat ik was een beetje zoek. 1279 00:57:16,130 --> 00:57:20,940 >> Dus PhoneGap is een raamwerk dat u gratis kunt downloaden die u 1280 00:57:20,940 --> 00:57:22,750 sommige starter code wezen. 1281 00:57:22,750 --> 00:57:26,600 Dus sommige code die ze hebben geschreven dat betekent niet veel van alles te doen. 1282 00:57:26,600 --> 00:57:29,610 Maar wat het geeft je in wezen gelijk 1283 00:57:29,610 --> 00:57:34,910 van een aanvraag die net zet een grote rechthoek op het scherm van de gebruiker. 1284 00:57:34,910 --> 00:57:38,040 Het maakt niet een URL-balk, zoals een browser, niet een adres te zetten. 1285 00:57:38,040 --> 00:57:39,650 Het zet gewoon een grote rechthoek. 1286 00:57:39,650 --> 00:57:43,230 En u configureert deze grote rechthoek, onder de motorkap, 1287 00:57:43,230 --> 00:57:50,780 eigenlijk naar acme.com, of misschien m.acme.com, voor mobile.acme.com, 1288 00:57:50,780 --> 00:57:52,910 maar de gebruiker niet weet ze zijn op dat adres. 1289 00:57:52,910 --> 00:57:55,520 Het enige wat ze zien is de De inhoud van de webpagina. 1290 00:57:55,520 --> 00:57:59,822 >> Maar wat er leuk is aan dit wezen een hybride app is dat wat PhoneGap 1291 00:57:59,822 --> 00:58:03,030 en andere bedrijven geven u is Ze geven je een beetje van de code 1292 00:58:03,030 --> 00:58:05,760 in Objective-C of Swift, of een klein stukje code in Java, 1293 00:58:05,760 --> 00:58:08,320 of een beetje van code in C #, en wezen 1294 00:58:08,320 --> 00:58:12,990 alles wat je hoeft te leveren is minimaal de -adres van uw web-based applicatie. 1295 00:58:12,990 --> 00:58:15,750 En dan deze bundel allemaal samen en je 1296 00:58:15,750 --> 00:58:20,670 hebben ofwel toegang tot uw site via het internet, 1297 00:58:20,670 --> 00:58:24,060 of je zelfs een lokale cache kopiëren in de toepassing, 1298 00:58:24,060 --> 00:58:28,690 en dan uw aanvraag bespaart u in iPhone-formaat, Android-telefoon 1299 00:58:28,690 --> 00:58:32,030 formaat, oppervlak indeling of willekeurig aantal andere inrichtingen. 1300 00:58:32,030 --> 00:58:34,960 >> Je uploadt elk van deze versies naar de Google Play Store, 1301 00:58:34,960 --> 00:58:37,690 naar de App Store, aan de Windows Store, enzovoort. 1302 00:58:37,690 --> 00:58:41,570 En nu, kunt u al uw publiek downloaden echt een native app, 1303 00:58:41,570 --> 00:58:44,250 zij het grootste deel van de code was geschreven door iemand anders, 1304 00:58:44,250 --> 00:58:49,090 maar de inhoud van die inheemse applicatie vandaan komen, meestal, uw eigen website. 1305 00:58:49,090 --> 00:58:53,950 Dus je blijft het schrijven van uw website in HTML, JavaScript en CSS. 1306 00:58:53,950 --> 00:58:56,400 >> Dus waarom deze lijnen vervagen? 1307 00:58:56,400 --> 00:59:00,240 Waarom een ​​hybride toepassing dat is een soort van inheemse, maar ook 1308 00:59:00,240 --> 00:59:02,569 soort van web-based? 1309 00:59:02,569 --> 00:59:04,610 Wat is het hele punt van het toevoegen van deze complexiteit? 1310 00:59:04,610 --> 00:59:07,180 Ik bedoel, zelfs nog steeds, alleen van blik via deze pagina, 1311 00:59:07,180 --> 00:59:11,790 Aan de slag 'voelt als het heeft een heleboel stappen voor mij 1312 00:59:11,790 --> 00:59:13,514 te doen voordat ik can-- 1313 00:59:13,514 --> 00:59:14,430 PUBLIEK: Herbruikbaarheid? 1314 00:59:14,430 --> 00:59:14,960 DAVID J. MALAN: Herbruikbaarheid? 1315 00:59:14,960 --> 00:59:15,618 Wat bedoelt u? 1316 00:59:15,618 --> 00:59:16,826 >> PUBLIEK: Van de broncode. 1317 00:59:16,826 --> 00:59:19,438 Zodat dezelfde code wordt uitgevoerd op de verschillende platforms. 1318 00:59:19,438 --> 00:59:20,313 DAVID J. MALAN: Yeah. 1319 00:59:20,313 --> 00:59:21,188 PUBLIEK: [ONVERSTAANBAAR] 1320 00:59:21,188 --> 00:59:23,200 1321 00:59:23,200 --> 00:59:24,200 DAVID J. MALAN: Perfect. 1322 00:59:24,200 --> 00:59:26,930 Als de tijd is krap en als je hebben niet zo veel developers-- 1323 00:59:26,930 --> 00:59:28,900 misschien heb je een ontwikkelaar en hij of zij zeker 1324 00:59:28,900 --> 00:59:31,050 weet niet al deze environments-- zeker niet goed, 1325 00:59:31,050 --> 00:59:33,341 en zeker niet kunnen programma in alle drie tegelijk 1326 00:59:33,341 --> 00:59:35,970 en het schip van drie producten in de termijn voor één, 1327 00:59:35,970 --> 00:59:40,360 U kunt hem of haar op te bouwen alles in HTML en JavaScript en CSS, 1328 00:59:40,360 --> 00:59:43,260 en dan leren een klein beetje over native apps, 1329 00:59:43,260 --> 00:59:45,930 net genoeg om te downloaden een kader als dit, 1330 00:59:45,930 --> 00:59:48,750 aan en upload uw product alle verschillende app stores 1331 00:59:48,750 --> 00:59:51,700 zodat je nu een native applicatie. 1332 00:59:51,700 --> 00:59:54,090 >> Dus dat lijkt een win-win, maar nogmaals, om duidelijk te zijn, 1333 00:59:54,090 --> 00:59:56,540 Wat zijn de mogelijke kosten of de valkuilen? 1334 00:59:56,540 --> 01:00:00,292 1335 01:00:00,292 --> 01:00:01,209 >> PUBLIEK: Prestaties? 1336 01:00:01,209 --> 01:00:02,083 DAVID J. MALAN: Yeah. 1337 01:00:02,083 --> 01:00:02,959 Prestaties. 1338 01:00:02,959 --> 01:00:04,250 Het is moeilijk om verbaal te beschrijven. 1339 01:00:04,250 --> 01:00:07,590 Dus als je gewoon op geloof een mobiele applicatie, 1340 01:00:07,590 --> 01:00:11,430 een webapplicatie meestal uit te voeren langzamer. 1341 01:00:11,430 --> 01:00:16,500 Het is misschien niet helemaal goed uitzag, want in de iPhone, en Android-telefoons, 1342 01:00:16,500 --> 01:00:19,210 en Windows-apparaten, is er altijd een soort van standaard uiterlijk 1343 01:00:19,210 --> 01:00:21,780 en voelen alle knoppen en de menu's. 1344 01:00:21,780 --> 01:00:25,160 >> En bedrijven in het web, kunt proberen die esthetica benaderen 1345 01:00:25,160 --> 01:00:28,329 met bibliotheken, zoals Bootstrap, maar de user-- een scherpzinnige user-- 1346 01:00:28,329 --> 01:00:30,620 zal weten dat er iets niet helemaal goed hier. 1347 01:00:30,620 --> 01:00:32,510 En dat is prima, misschien dat is geen big deal. 1348 01:00:32,510 --> 01:00:35,500 Maar de prestaties kwestie absoluut is een big deal. 1349 01:00:35,500 --> 01:00:39,400 Native applicaties zal de neiging om gewoon zijn veel sneller reageert en dus 1350 01:00:39,400 --> 01:00:39,946 beter. 1351 01:00:39,946 --> 01:00:42,070 En ja, wat dan zou kunnen zijn het beste van beide werelden? 1352 01:00:42,070 --> 01:00:44,584 Als je in het bijzonder een kleine vennootschap of een kleine groep, 1353 01:00:44,584 --> 01:00:47,000 je hoeft niet over de middelen om een ​​app te ontwikkelen in parallel 1354 01:00:47,000 --> 01:00:50,480 Op alle drie de platformen, en eerlijk gezegd, voelt dat is een slecht idee toch 1355 01:00:50,480 --> 01:00:53,526 want als je het uit te rollen en op alle drie tegelijk te realiseren, 1356 01:00:53,526 --> 01:00:56,400 we moeten een aantal functies toegevoegd of iets anders gedaan, nu 1357 01:00:56,400 --> 01:00:59,530 je moet het in te repareren drie plaatsen, niet een. 1358 01:00:59,530 --> 01:01:02,390 Wat is misschien wel de optimale strategie hier over het algemeen, 1359 01:01:02,390 --> 01:01:04,130 indien de middelen en tijd zijn strak? 1360 01:01:04,130 --> 01:01:06,420 >> PUBLIEK: Just do it op iOS. 1361 01:01:06,420 --> 01:01:08,390 >> DAVID J. MALAN: Dat is niet onredelijk. 1362 01:01:08,390 --> 01:01:10,670 iPhones, althans in de US, zijn super populair. 1363 01:01:10,670 --> 01:01:13,820 Android lijkt nog steeds dominant te hebben marktaandeel, wereldwijd, in het algemeen. 1364 01:01:13,820 --> 01:01:16,740 Dus je bent niet noodzakelijk representatief 1365 01:01:16,740 --> 01:01:19,210 van het geheel van de wereld geweest. 1366 01:01:19,210 --> 01:01:21,180 Maar dat is absoluut een beslissing. 1367 01:01:21,180 --> 01:01:23,620 Ik bedoel, op de campus hier I denk dat sommige gruwelijke nummer 1368 01:01:23,620 --> 01:01:26,600 of het percentage studenten hebben iPhones en Android-telefoons niet. 1369 01:01:26,600 --> 01:01:28,490 Maar in het buitenland, het is een soort van het tegenovergestelde. 1370 01:01:28,490 --> 01:01:30,040 Dus u beslissen op basis van uw publiek. 1371 01:01:30,040 --> 01:01:31,990 Hoe weet je wat je publiek heeft? 1372 01:01:31,990 --> 01:01:34,080 >> Nou ja, leerden we een truc gisteren. 1373 01:01:34,080 --> 01:01:35,060 Je kon hen vragen. 1374 01:01:35,060 --> 01:01:37,910 Als u een vast publiek je kunt ze een enquêteformulier te sturen. 1375 01:01:37,910 --> 01:01:39,172 Of je kan gewoon doen wat? 1376 01:01:39,172 --> 01:01:40,076 >> PUBLIEK: Google Analytics? 1377 01:01:40,076 --> 01:01:40,680 >> DAVID J. MALAN: Wat is dat? 1378 01:01:40,680 --> 01:01:41,876 >> PUBLIEK: Google Analytics. 1379 01:01:41,876 --> 01:01:43,250 DAVID J. MALAN: Google Analytics. 1380 01:01:43,250 --> 01:01:43,750 Ja. 1381 01:01:43,750 --> 01:01:46,970 Of nog een soort van technisch, net kijken naar je eigen webserver logs. 1382 01:01:46,970 --> 01:01:49,100 Want wat gebeurt er elke keer dat een browser, 1383 01:01:49,100 --> 01:01:51,880 of laptop, desktop of telefoon een bezoek aan uw website? 1384 01:01:51,880 --> 01:01:56,847 Ze sturen dat HTTP-header die shows u welke browser en besturingssysteem ze gebruiken. 1385 01:01:56,847 --> 01:02:00,180 Dus je kunt afleiden, met een grote kans, wat uw demografische gebruikt op die manier 1386 01:02:00,180 --> 01:02:01,410 en vervolgens aan te passen. 1387 01:02:01,410 --> 01:02:03,030 >> Dus stel dat is onaanvaardbaar. 1388 01:02:03,030 --> 01:02:07,760 Dat is een beetje slecht voor het bedrijfsleven als Android-gebruikers kunnen niet onze widgets te kopen. 1389 01:02:07,760 --> 01:02:10,942 >> PUBLIEK: Of je nu ga opladen of niet? 1390 01:02:10,942 --> 01:02:12,900 DAVID J. MALAN: Of je gaat op te laden? 1391 01:02:12,900 --> 01:02:14,900 Dus OK, je krijgt waar je voor betaalt. 1392 01:02:14,900 --> 01:02:18,400 >> PUBLIEK: Of uw app is gaat vrij zijn of dat het gonna-- 1393 01:02:18,400 --> 01:02:19,530 >> DAVID J. MALAN: OK. 1394 01:02:19,530 --> 01:02:21,920 Dus misschien kun je terugverdienen kosten die manier, of--? 1395 01:02:21,920 --> 01:02:26,195 >> Publiek: Ik las een studie ooit gezegd dat het meer Apple gebruikers betalen voor apps versus-- 1396 01:02:26,195 --> 01:02:28,320 DAVID J. MALAN: Dat is waar omdat ze al 1397 01:02:28,320 --> 01:02:29,640 meer betalen voor hun apparaten. 1398 01:02:29,640 --> 01:02:31,295 Dus niet onredelijk een veronderstelling. 1399 01:02:31,295 --> 01:02:32,170 >> PUBLIEK: [ONVERSTAANBAAR] 1400 01:02:32,170 --> 01:02:34,439 1401 01:02:34,439 --> 01:02:35,230 DAVID J. MALAN: OK. 1402 01:02:35,230 --> 01:02:38,667 Dus als ze meer bereid zijn te betalen, vervolgens naar de hel met de Android-gebruikers. 1403 01:02:38,667 --> 01:02:40,500 Ze zijn niet van plan om betalen ons iets toch. 1404 01:02:40,500 --> 01:02:43,499 We kunnen net zo goed richten onze prioriteiten, in ieder geval voor de eerste paar maanden 1405 01:02:43,499 --> 01:02:44,810 of een jaar, op iOS. 1406 01:02:44,810 --> 01:02:46,240 Totally redelijk. 1407 01:02:46,240 --> 01:02:48,558 Wat is een meer inclusieve strategie dan dat? 1408 01:02:48,558 --> 01:02:53,740 1409 01:02:53,740 --> 01:02:54,960 Maybe-- wat is dat? 1410 01:02:54,960 --> 01:02:57,040 >> PUBLIEK: [ONVERSTAANBAAR] 1411 01:02:57,040 --> 01:03:00,142 >> DAVID J. MALAN: Een expensive-- dus misschien meer investeren in-- doorgaan. 1412 01:03:00,142 --> 01:03:00,767 Publiek: Ja. 1413 01:03:00,767 --> 01:03:02,050 Gewoon een mobiele website. 1414 01:03:02,050 --> 01:03:03,966 >> DAVID J. MALAN: Dus doe een mobiele website en niet 1415 01:03:03,966 --> 01:03:05,440 zelfs zorgen te maken over deze complexiteit. 1416 01:03:05,440 --> 01:03:07,970 Of misschien een redelijke strategie, die zelfs Facebook nam, 1417 01:03:07,970 --> 01:03:10,890 is gestart met een hybride toepassing omdat het niet 1418 01:03:10,890 --> 01:03:13,582 dat veel moeilijker te doen dan dit. 1419 01:03:13,582 --> 01:03:16,040 Je hoeft alleen om wat te lezen documentatie en erachter te komen hoe 1420 01:03:16,040 --> 01:03:17,480 om dingen te uploaden naar de App Store. 1421 01:03:17,480 --> 01:03:19,670 Dus misschien begin je met dit, zodat op dag één, 1422 01:03:19,670 --> 01:03:21,112 U kunt al uw gebruikers te ondersteunen. 1423 01:03:21,112 --> 01:03:23,570 En dan, net als Facebook en andere bedrijven hebben gedaan, 1424 01:03:23,570 --> 01:03:25,330 als je de middelen, je hebt de mensen, 1425 01:03:25,330 --> 01:03:27,660 waarom ga je niet opnieuw te implementeren alleen de iOS applicatie. 1426 01:03:27,660 --> 01:03:31,460 Je hebt nog steeds voor elk wat wils, ook al is het een inferieure ervaring 1427 01:03:31,460 --> 01:03:33,330 misschien met de hybride toepassing. 1428 01:03:33,330 --> 01:03:36,770 Maar je kunt geleidelijk uitrollen en vervang je korte termijn 1429 01:03:36,770 --> 01:03:40,280 maatregelen van de hybride apps met je meer native applicaties. 1430 01:03:40,280 --> 01:03:44,090 >> Publiek: Maar met een hybride app zullen toegang hebben tot mobiele functies hebben? 1431 01:03:44,090 --> 01:03:45,440 >> DAVID J. MALAN: Niet per se. 1432 01:03:45,440 --> 01:03:47,810 Dus misschien maakt u een bewuste beslissing vroeg op, 1433 01:03:47,810 --> 01:03:51,930 kunt u alleen foto's op de upload inheemse iPhone applicatie voor Facebook, 1434 01:03:51,930 --> 01:03:56,060 maar niet op de Android-applicatie, aanvankelijk bijvoorbeeld. 1435 01:03:56,060 --> 01:04:00,600 En dat is een beetje een leugentje om bestwil, want webapplicaties hebben meer beperkingen 1436 01:04:00,600 --> 01:04:03,620 dan hybride toepassingen blijkt uit, en als we de documentatie 1437 01:04:03,620 --> 01:04:07,260 voor PhoneGap en dingen leuk vinden, mensen zijn gekomen met manieren 1438 01:04:07,260 --> 01:04:11,110 naar web-based applicaties te geven toegang tot de camera, 1439 01:04:11,110 --> 01:04:13,310 zolang je gebruikt een hybride toepassing. 1440 01:04:13,310 --> 01:04:14,214 >> Hoe werkt dat? 1441 01:04:14,214 --> 01:04:16,130 Omdat de hybride toepassing, per definitie, 1442 01:04:16,130 --> 01:04:19,600 heeft een stukje code in Objective-C, en Swift, en Java, of in C #, 1443 01:04:19,600 --> 01:04:20,920 het kan toegang tot de hardware. 1444 01:04:20,920 --> 01:04:24,590 Niet per se alles, maar het zou heel goed 1445 01:04:24,590 --> 01:04:27,310 het geval dat je hebt voldoende toegang tot de camera te krijgen, 1446 01:04:27,310 --> 01:04:32,960 zelfs voor Android-platforms, voor bijvoorbeeld doordat gekunstelde voorbeeld. 1447 01:04:32,960 --> 01:04:35,515 >> Nog andere vragen? 1448 01:04:35,515 --> 01:04:36,279 Okee. 1449 01:04:36,279 --> 01:04:38,070 Waarom gaan we niet nemen onze 15 minuten pauze hier. 1450 01:04:38,070 --> 01:04:44,060 We zullen hervatten op drie met een definitieve kijk naar web programmeren, databases, 1451 01:04:44,060 --> 01:04:45,910 en Javascript. 1452 01:04:45,910 --> 01:04:48,877