1 00:00:00,000 --> 00:00:01,291 >> David J. MALAN: So moet ons te kort. 2 00:00:01,291 --> 00:00:03,050 So het die hoë-vlak onderwerp op die oomblik nou 3 00:00:03,050 --> 00:00:06,440 is tegnologie stapels, wat nie 'n besonder tegniese term, 4 00:00:06,440 --> 00:00:09,960 dit is meer van 'n vangs al vir enige aantal kombinasies van tegnologie 5 00:00:09,960 --> 00:00:11,840 wat jy kan gebruik om probleme op te los. 6 00:00:11,840 --> 00:00:14,850 En miskien die mees gepaste manier om te begin 7 00:00:14,850 --> 00:00:18,110 sou wees om te kyk na tale sedert Ek hou huppelend af 'n hele klomp 8 00:00:18,110 --> 00:00:21,000 en die meeste mense in die kamer het waarskynlik gehoor van ten minste een. 9 00:00:21,000 --> 00:00:25,730 >> En so hoekom nie ons probeer om te onderskei what-- onderskei hierdie tale 10 00:00:25,730 --> 00:00:28,932 en praat kortliks oor wanneer jy wil kies een oor die ander, hoe dit is 11 00:00:28,932 --> 00:00:30,890 soort fundamenteel anders, en veral 12 00:00:30,890 --> 00:00:34,830 wanneer jy gesels met ingenieurs, of probeer om te besluit wie om te huur, 13 00:00:34,830 --> 00:00:37,652 of wat implementering voorstel om GREENLIGHT, 14 00:00:37,652 --> 00:00:39,860 hoe jy eintlik sou maak hierdie soort besluite te neem. 15 00:00:39,860 --> 00:00:41,890 >> So laat ons net rammel 'n paar dinge af. 16 00:00:41,890 --> 00:00:45,300 Van die tale mense gehoor, wat opkom? 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 dit? 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 Uitstekende. 24 00:00:55,330 --> 00:00:57,000 Wat nog? 25 00:00:57,000 --> 00:00:58,810 Visual Basic. 26 00:00:58,810 --> 00:01:01,100 Ek het gehoor Java. 27 00:01:01,100 --> 00:01:02,610 Visuele Basic-- ook bekend as 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, wat is meer van 'n vangs al vir wat gewoonlik C # as die taal 32 00:01:12,810 --> 00:01:13,770 bevraagteken. 33 00:01:13,770 --> 00:01:14,770 En laat my vertel dat noem. 34 00:01:14,770 --> 00:01:15,900 So sal ons terug na wat kom. 35 00:01:15,900 --> 00:01:17,560 Ek is jammer? 36 00:01:17,560 --> 00:01:18,170 Jammer? 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: Ag, 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 So sal ons terugkom om werklik that--, dis good-- na die breek sowel. 44 00:01:29,510 --> 00:01:30,572 Wat nog? 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, nie 'n taal. 47 00:01:34,670 --> 00:01:36,560 Eintlik sou hulle SQL te gebruik sowel. 48 00:01:36,560 --> 00:01:38,360 Kom ons stel dit na die breek sowel. 49 00:01:38,360 --> 00:01:39,744 En jammer, iets 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, seker. 53 00:01:42,303 --> 00:01:46,150 54 00:01:46,150 --> 00:01:49,180 En MATLAB is 'n soort van op 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. Kom ons gaan oor 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 Seker. 60 00:01:55,880 --> 00:01:57,910 Ouer skool. 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 Ek sal gooi basiese. 64 00:02:02,410 --> 00:02:05,990 65 00:02:05,990 --> 00:02:08,539 BASIESE. 66 00:02:08,539 --> 00:02:09,390 Any-- 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 O, het julle dit. 70 00:02:12,248 --> 00:02:15,370 71 00:02:15,370 --> 00:02:15,870 Enigiets? 72 00:02:15,870 --> 00:02:18,700 Ek kan dink aan 'n paar ander. 73 00:02:18,700 --> 00:02:21,876 Ek kan dink aan 'n paar ander. 74 00:02:21,876 --> 00:02:22,792 En wat was die laaste? 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 Wat oor die algemeen sou onder val ander tale, soms C #, 80 00:02:30,270 --> 00:02:32,040 so laat ons laat dit af. 81 00:02:32,040 --> 00:02:35,510 Maar ons sal terug te kom na wat vir raamwerke en so. 82 00:02:35,510 --> 00:02:36,290 Enigiets anders? 83 00:02:36,290 --> 00:02:39,020 PHP is gewild. 84 00:02:39,020 --> 00:02:41,710 Ruby is 'n ander. 85 00:02:41,710 --> 00:02:48,230 JavaScript, moet nie verwar word met Java, is 'n ander. 86 00:02:48,230 --> 00:02:49,570 Dit is soort van 'n baie. 87 00:02:49,570 --> 00:02:53,590 >> So dit kan beslis oorweldigend wees, asof die lys is nog nie, 88 00:02:53,590 --> 00:02:55,650 net om te begin om te weet waar jy begin. 89 00:02:55,650 --> 00:02:58,130 En so gelukkig, kom ons benader dit van 'n paar hoeke. 90 00:02:58,130 --> 00:03:03,520 Eerstens, laat ons probeer om te kategoriseer ten minste 'n paar van hierdie tale 91 00:03:03,520 --> 00:03:06,790 in twee breë emmers, wat herinner aan die gesprek wat ons voor pouse het, 92 00:03:06,790 --> 00:03:09,630 waar het ons gepraat oor die samestelling, en bron kode, en masjien-kode, 93 00:03:09,630 --> 00:03:11,440 want dit is nie hoe alle tale werk. 94 00:03:11,440 --> 00:03:15,640 So ons sal pluk uit paar voorbeelde of-- of teen-examples-- daardie model. 95 00:03:15,640 --> 00:03:18,490 >> En dan, hoekom het ons nie praat oor die aansoeke 96 00:03:18,490 --> 00:03:20,390 dat hierdie tale is oor die algemeen gebruik word vir. 97 00:03:20,390 --> 00:03:22,840 En eerlik, selfs al dit is 'n mooi lang lys, 98 00:03:22,840 --> 00:03:26,320 dit is net 'n subset van hierdie lys wat sou jy tipies trek uit hierdie dae 99 00:03:26,320 --> 00:03:27,220 om probleme op te los. 100 00:03:27,220 --> 00:03:29,150 Sekere tale is nuwer as ander. 101 00:03:29,150 --> 00:03:31,170 Sekere tale meer gewild as ander. 102 00:03:31,170 --> 00:03:34,370 So dit is nie soos wat jy so het 'n oorweldigende taak voor jy 103 00:03:34,370 --> 00:03:36,970 wanneer jy moet besluit onder hierdie verskillende tale. 104 00:03:36,970 --> 00:03:40,110 >> So laat ons dit doen. 105 00:03:40,110 --> 00:03:45,870 Ons het vroeër, bronkode, en dan het ons masjien kode. 106 00:03:45,870 --> 00:03:48,590 107 00:03:48,590 --> 00:03:49,400 Oeps. 108 00:03:49,400 --> 00:03:50,910 Skryf die verkeerde woord. 109 00:03:50,910 --> 00:03:52,740 Masjienkode. 110 00:03:52,740 --> 00:03:57,549 En ons het 'n paar proses in die middel called-- ja, die samesteller. 111 00:03:57,549 --> 00:03:58,215 So het die samesteller. 112 00:03:58,215 --> 00:04:00,760 113 00:04:00,760 --> 00:04:03,910 >> En wat die masjien kode eintlik loop op die ou end 114 00:04:03,910 --> 00:04:05,680 gaan jou werklike CPU wees. 115 00:04:05,680 --> 00:04:09,660 Met ander woorde, deur masjien kode, ek beteken die laagste vlak instruksies 116 00:04:09,660 --> 00:04:11,330 dat 'n SVE eintlik verstaan. 117 00:04:11,330 --> 00:04:15,100 Optel, aftrek, skuif, red, en bedrywighede soos dit. 118 00:04:15,100 --> 00:04:19,700 En so is dit die model vir wat algemeen bekend as saamgestel tale. 119 00:04:19,700 --> 00:04:21,000 Miskien nie verbasend. 120 00:04:21,000 --> 00:04:23,550 >> So dit is die model vir saamgestel tale. 121 00:04:23,550 --> 00:04:25,970 Maar dit blyk daar is 'n ander klas van tale 122 00:04:25,970 --> 00:04:32,650 genoem vertolk languages-- geïnterpreteer languages-- 123 00:04:32,650 --> 00:04:34,030 wat effens anders. 124 00:04:34,030 --> 00:04:41,660 Jy skryf in bronkode, hardloop hulle deur 'n tolk, 125 00:04:41,660 --> 00:04:45,440 en dat tolk is wat loop op die CPU. 126 00:04:45,440 --> 00:04:50,120 Met ander woorde, wat jy doen nie stoot is wat, glo? 127 00:04:50,120 --> 00:04:50,980 Masjienkode. 128 00:04:50,980 --> 00:04:54,290 Die nulle en ene wat die SVE self uiteindelik verstaan. 129 00:04:54,290 --> 00:04:59,780 >> So in hierdie eerste weergawe en tale soos C, soos ons gesien het, 130 00:04:59,780 --> 00:05:02,040 jy skryf in bronkode dit is 'n bietjie arcane, 131 00:05:02,040 --> 00:05:05,300 maar ten minste dit is soort van Engels-agtige en dit is ten minste leesbaar 132 00:05:05,300 --> 00:05:06,780 Sodra jy daaraan gewoond te raak. 133 00:05:06,780 --> 00:05:10,100 Jy voer dit deur 'n samesteller en uit jy uiteindelik nulle en ene. 134 00:05:10,100 --> 00:05:11,340 >> Dat 'n oorvereenvoudiging. 135 00:05:11,340 --> 00:05:12,839 Daar is 'n paar ander stappe in daar. 136 00:05:12,839 --> 00:05:15,530 In werklikheid, as jy nog ooit gehoor die term "saamsteltaal," 137 00:05:15,530 --> 00:05:17,990 dit is 'n stap voor die nulle en ene. 138 00:05:17,990 --> 00:05:20,949 Dat 'n bietjie meer leesbaar, maar nog steeds mooi arcane. 139 00:05:20,949 --> 00:05:23,740 En dus is daar tussen stappe wat, in werklikheid, hier aan die gang. 140 00:05:23,740 --> 00:05:26,360 Maar die uitset, uiteindelik, is hierdie nulle en ene. 141 00:05:26,360 --> 00:05:28,990 >> Maar in die geïnterpreteer wêreld, waar jy 142 00:05:28,990 --> 00:05:32,680 tale wat vertolk tale, wat jy eintlik slaan wat stap. 143 00:05:32,680 --> 00:05:36,010 Met ander woorde, wanneer jy skryf 'n program, jy moet net dadelik hardloop nie. 144 00:05:36,010 --> 00:05:38,960 Jy hoef nie saam te stel dit en dan loop dit, soos ek al voorheen gedoen. 145 00:05:38,960 --> 00:05:41,132 Jy skryf dit net en voer dit uit. 146 00:05:41,132 --> 00:05:44,340 En as jy 'n vinnige verandering te maak, jy maak 'n vinnige verandering en tik dit. 147 00:05:44,340 --> 00:05:46,640 Daar is dus geen middel stap hier. 148 00:05:46,640 --> 00:05:50,840 >> Nou, vir die program wat ek geskryf het vroeër, wat hierdie program "Hello World", 149 00:05:50,840 --> 00:05:53,660 jy dalk redelik wonder-- of dalk redelik 150 00:05:53,660 --> 00:05:58,570 state-- dit was nie die tyd beslag op my program saam te stel. 151 00:05:58,570 --> 00:06:00,337 Dit blyk dat dit gedoen het net soos dit. 152 00:06:00,337 --> 00:06:02,170 En daar is grafiese weergawes van opstellers. 153 00:06:02,170 --> 00:06:05,270 Ek gebruik 'n baie arcane weergawe, maar jy kan 'n toneelstuk knoppie getref 154 00:06:05,270 --> 00:06:07,887 en dit sou eintlik doen die samestelling vir jou. 155 00:06:07,887 --> 00:06:10,720 Ek het die program saamgestel en dan weer, om dit uit te voer, ek doen dit net. 156 00:06:10,720 --> 00:06:13,820 En wat dit uitset na links daar, "Hello!" 157 00:06:13,820 --> 00:06:15,530 Dit lyk nie of alles wat beswarende. 158 00:06:15,530 --> 00:06:19,920 Maar wanneer jou programme meer as net een, twee, drie, 159 00:06:19,920 --> 00:06:25,470 vier, vyf lyne lank, dit kan neem veel meer sekondes om te stel. 160 00:06:25,470 --> 00:06:28,310 Soms selfs minute of nogal 'n bietjie van die tyd om saam te stel. 161 00:06:28,310 --> 00:06:30,480 Na alles, 'n paar van die wêreld se grootste produkte 162 00:06:30,480 --> 00:06:35,040 is dinge soos bedryfstelsels, Microsoft Word, Microsoft Excel, 163 00:06:35,040 --> 00:06:39,070 wat dalk honderde duisende of selfs miljoene reëls van die kode lang, 164 00:06:39,070 --> 00:06:41,300 en diegene doen nie net onmiddellik uit te voer. 165 00:06:41,300 --> 00:06:44,560 >> Verder op die web, dit is geword mode om te gebruik 166 00:06:44,560 --> 00:06:47,600 eenvoudig geïnterpreteer tale, gedeeltelik omdat julle 167 00:06:47,600 --> 00:06:50,570 kan 'n verandering as die ontwikkelaar te maak en dan net onmiddellik herlaai 168 00:06:50,570 --> 00:06:52,570 die leser bladsy en dadelik sien die resultaat. 169 00:06:52,570 --> 00:06:56,160 En so HTML, terwyl dit nie 'n programmeertaal, 170 00:06:56,160 --> 00:06:58,860 is 'n taal wat is geïnterpreteer. 171 00:06:58,860 --> 00:07:00,770 En ons sien dat dieselfde uitwerking gister. 172 00:07:00,770 --> 00:07:04,070 Jy herlaai net die bladsy nadat 'n verandering in Cloud9 and-- voila-- 173 00:07:04,070 --> 00:07:05,560 sien jy 'n nuwe gevolg. 174 00:07:05,560 --> 00:07:07,090 >> So, wat is die verskil hier? 175 00:07:07,090 --> 00:07:13,190 In HTML, onthou, het ons oop HTML, oop kop, Ope, naby titel, 176 00:07:13,190 --> 00:07:15,250 naby kop oop liggaam, en so meer. 177 00:07:15,250 --> 00:07:19,149 Ons het al hierdie etikette dat ons mooi veel gesê, vertel die leser wat om te doen. 178 00:07:19,149 --> 00:07:20,690 Hey leser, hier kom 'n HTML-bladsy. 179 00:07:20,690 --> 00:07:22,170 Hey leser, hier kom die titel. 180 00:07:22,170 --> 00:07:24,429 Hey leser, hier kom 'n paar teks wat vet moet wees. 181 00:07:24,429 --> 00:07:25,720 En dan is die teenoorgestelde sê vir julle. 182 00:07:25,720 --> 00:07:27,330 Hey leser, dit is dit vir die vet gesig teks. 183 00:07:27,330 --> 00:07:28,830 Hey leser, dit is dit vir die liggaam. 184 00:07:28,830 --> 00:07:29,740 En dies meer. 185 00:07:29,740 --> 00:07:31,130 >> En so what is 'n leser? 186 00:07:31,130 --> 00:07:33,170 'N leser is net 'n tolk. 187 00:07:33,170 --> 00:07:36,090 Dit is 'n program wat iemand soos Microsoft of Google geskryf het, 188 00:07:36,090 --> 00:07:39,160 wie se doel in die lewe is om lees 'n taal, bekend as HTML, 189 00:07:39,160 --> 00:07:39,890 en interpreteer dit. 190 00:07:39,890 --> 00:07:41,290 Bo na onder, links na regs. 191 00:07:41,290 --> 00:07:46,880 En enige tyd die leser sien oop bracket, titel, naby bracket, 192 00:07:46,880 --> 00:07:48,960 dit moet interpreteer dat as betekenis, o, wat 193 00:07:48,960 --> 00:07:52,490 beteken dat ek moet hierdie woorde weg te sit hier aan die bokant van die leser. 194 00:07:52,490 --> 00:07:55,700 >> Sodat dit presies wat die HTML-kode sê. 195 00:07:55,700 --> 00:07:57,240 Maar daar is geen nulle en ene. 196 00:07:57,240 --> 00:07:58,250 Daar is geen samestelling. 197 00:07:58,250 --> 00:07:58,890 Jy het dit nie gedoen nie. 198 00:07:58,890 --> 00:07:59,931 Die leser het dit nie gedoen nie. 199 00:07:59,931 --> 00:08:01,710 Dit is net nie betrokke is. 200 00:08:01,710 --> 00:08:05,890 >> So in die gees van hierdie deurlopende onderwerpe, vandag en gister, 201 00:08:05,890 --> 00:08:08,400 wat lyk na 'n wonderlike funksie wees. 202 00:08:08,400 --> 00:08:11,410 Jy slaan jou kode en dan net loop of te interpreteer. 203 00:08:11,410 --> 00:08:13,790 Daar is geen intermediêre stappe. 204 00:08:13,790 --> 00:08:15,690 Waarlik, daar is 'n koste? 205 00:08:15,690 --> 00:08:16,810 Kan nie almal upsides. 206 00:08:16,810 --> 00:08:19,964 So, wat kan dit koste wees? 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 So, seker. 210 00:08:23,370 --> 00:08:26,920 In die saamgestel wêreld, jy het nie net die oorspronklike bronkode, 211 00:08:26,920 --> 00:08:29,657 jy ook die skep en dan vermoedelik spaar 212 00:08:29,657 --> 00:08:31,740 die masjien code-- die nulle en ones-- en dis 213 00:08:31,740 --> 00:08:33,870 het om te neem 'n paar bedrag van die ruimte. 214 00:08:33,870 --> 00:08:34,429 Absoluut. 215 00:08:34,429 --> 00:08:35,765 So dit kos jou 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 mag interpreteer anders. 219 00:08:43,280 --> 00:08:46,770 >> David J. MALAN: Browsers mag interpreteer dit anders. 220 00:08:46,770 --> 00:08:48,622 Dit is waar. 221 00:08:48,622 --> 00:08:50,330 Maar ek is nie seker ek is gemaklik beweer 222 00:08:50,330 --> 00:08:51,840 dit is omdat dit geïnterpreteer. 223 00:08:51,840 --> 00:08:56,340 Dit is meer net omdat dit 'n implementering van 'n taal 224 00:08:56,340 --> 00:08:58,050 wat self teenstrydighede. 225 00:08:58,050 --> 00:09:01,570 So laat ons nie heeltemal bevestig dat 'n mens nie, maar 'n goeie vermoede. 226 00:09:01,570 --> 00:09:03,103 Wat anders kan die prys betaal? 227 00:09:03,103 --> 00:09:03,602 Andrew? 228 00:09:03,602 --> 00:09:05,912 >> Gehoor: Jy kombinasie twee stappe, sodat jy dus 229 00:09:05,912 --> 00:09:08,300 het toenemende kompleksiteit sowel. 230 00:09:08,300 --> 00:09:11,040 >> David J. MALAN: Die complex-- die toename in kompleksiteit waar? 231 00:09:11,040 --> 00:09:12,270 Vir wie? 232 00:09:12,270 --> 00:09:16,748 >> Publiek: So, in die tolk stap, is jy die kombinasie van die tolk 233 00:09:16,748 --> 00:09:19,120 en samesteller vir net die aanloop aan- 234 00:09:19,120 --> 00:09:21,100 >> David J. MALAN: Ag, OK. 235 00:09:21,100 --> 00:09:25,240 Ironies genoeg, is dit waarskynlik 'n bietjie makliker om die tolk te implementeer, 236 00:09:25,240 --> 00:09:29,530 selfs al sou dit lyk opbrengs upsides van hierdie gerief. 237 00:09:29,530 --> 00:09:30,550 So moontlik waar. 238 00:09:30,550 --> 00:09:32,716 Maar dit soort hang, ek sou sê, op die taal 239 00:09:32,716 --> 00:09:35,720 en oor hoe hulle gaan oor die uitvoering daarvan. 240 00:09:35,720 --> 00:09:38,535 Daar kan 'n baie meer kompleksiteit, eintlik, in die samesteller, 241 00:09:38,535 --> 00:09:41,410 net omdat jy moet gaan uit iets so 'n hoë-vlak om iets 242 00:09:41,410 --> 00:09:42,560 so 'n lae-vlak. 243 00:09:42,560 --> 00:09:45,340 Maar 'n goeie gedagte. 244 00:09:45,340 --> 00:09:50,770 >> So 'n ander manier, 'n saamgestel program, wanneer verander in hierdie nulle en ene, 245 00:09:50,770 --> 00:09:54,470 beland in die taal dat die SVE praat, 246 00:09:54,470 --> 00:09:57,850 terwyl dit in hierdie kant van die wêreld, die program wat jy geskryf het, 247 00:09:57,850 --> 00:10:02,527 die kode wat jy geskryf het, nooit werklik kry omskep in die werklike taal 248 00:10:02,527 --> 00:10:03,360 die rekenaar praat. 249 00:10:03,360 --> 00:10:04,190 Die nulle en ene. 250 00:10:04,190 --> 00:10:08,480 Dit bly in die oorspronklike, meer menslike vriendelike, meer leesbare taal. 251 00:10:08,480 --> 00:10:11,720 So, wat kan die implikasie wees daar, as jy nie eintlik 252 00:10:11,720 --> 00:10:15,020 pla die omskakeling van jou program om die heel taal 253 00:10:15,020 --> 00:10:18,013 dat die onderliggende rekenaar praat? 254 00:10:18,013 --> 00:10:19,780 >> Publiek: dalk nie iets verstaan? 255 00:10:19,780 --> 00:10:21,170 >> David J. MALAN: Mag iets nie verstaan ​​nie. 256 00:10:21,170 --> 00:10:23,297 En dit kan claim-- As dit nie verstaan ​​nie 257 00:10:23,297 --> 00:10:25,880 iets, dit is 'n fout of 'n gebrek van funksie in die tolk. 258 00:10:25,880 --> 00:10:28,544 So dit sou meer van wees 'n fout as 'n koste. 259 00:10:28,544 --> 00:10:30,419 >> Gehoor: Jy moet toegang om die bronkode? 260 00:10:30,419 --> 00:10:31,877 David J. MALAN: Daar is 'n goeie een. 261 00:10:31,877 --> 00:10:34,140 So 'n nadeel hier is jy blyk om toegang te hê. 262 00:10:34,140 --> 00:10:37,006 Jy, die eindgebruiker, lyk na het toegang tot die bronkode. 263 00:10:37,006 --> 00:10:38,130 En dit is nie altyd waar nie. 264 00:10:38,130 --> 00:10:39,660 Maar dit is waar in die geval van JavaScript, 265 00:10:39,660 --> 00:10:41,660 wat ons sal kyk na na die breek vandag, wat 266 00:10:41,660 --> 00:10:45,720 is 'n vertolk programmeertaal dat jy skryf in bronkode. 267 00:10:45,720 --> 00:10:48,890 >> Maar dit bronkode kry oorgedra van jou bediener na die leser 268 00:10:48,890 --> 00:10:51,392 en loop in die leser die menslike se. 269 00:10:51,392 --> 00:10:54,350 So hier kan sy net oop die venster, soos ek doen in Chrome, 270 00:10:54,350 --> 00:10:57,740 en daarna kyk, as ons onsself kyk na gister met Google. 271 00:10:57,740 --> 00:11:00,420 Dit mag dalk 'n bietjie kyk onverstaanbaar, maar dit is daar. 272 00:11:00,420 --> 00:11:03,482 So dit is absoluut 'n prys betaal. 273 00:11:03,482 --> 00:11:04,565 Publiek: Performance treffer? 274 00:11:04,565 --> 00:11:05,020 David J. MALAN: Ja. 275 00:11:05,020 --> 00:11:06,260 En dit is die ander hoë piet. 276 00:11:06,260 --> 00:11:07,380 Daar is 'n prestasie treffer. 277 00:11:07,380 --> 00:11:10,100 Omdat jy hierdie middelman, wat op sy beurt 278 00:11:10,100 --> 00:11:13,740 is 'n program, tussen jou en die CPU, in teenstelling 279 00:11:13,740 --> 00:11:17,880 om net voed hierdie rou nulle en ene in die CPU, 280 00:11:17,880 --> 00:11:21,060 daar is 'n prestasie treffer wat jy neem met 'n geïnterpreteer taal. 281 00:11:21,060 --> 00:11:24,240 Sodanig dat, na willekeur, 'n program wat kan 'n sekonde neem 282 00:11:24,240 --> 00:11:27,840 uit te voer op 'n rekenaar of 'n minuut uit te voer op 'n rekenaar hier, 283 00:11:27,840 --> 00:11:32,059 dalk 10 sekondes of 10 neem minute om te loop op 'n rekenaar hier. 284 00:11:32,059 --> 00:11:35,100 Dit is oor die algemeen nie van plan om te wees wat n groot deel van 'n difference-- faktor van 10-- 285 00:11:35,100 --> 00:11:36,808 want daar is optimalisaties wat jy kan doen. 286 00:11:36,808 --> 00:11:38,680 Maar dit is byna altyd stadiger. 287 00:11:38,680 --> 00:11:43,070 Nou, die ander kant om dit kommer is dat, wel rekenaars, elke 12 288 00:11:43,070 --> 00:11:45,970 tot 18 months-- volgens Moore se wet, om so te speak-- 289 00:11:45,970 --> 00:11:47,600 is net vinniger en vinniger kry. 290 00:11:47,600 --> 00:11:48,750 Ek het al hoe meer spasie op die hardeskyf. 291 00:11:48,750 --> 00:11:49,791 Ek het al hoe meer RAM. 292 00:11:49,791 --> 00:11:50,620 Wie gee om regtig? 293 00:11:50,620 --> 00:11:52,328 >> En dit is soort van 'n redelike argument. 294 00:11:52,328 --> 00:11:55,740 Trouens, een van die redes Daarom het ons stadiger kan verdra 295 00:11:55,740 --> 00:11:58,480 geïnterpreteer tale is omdat Ons mense het nie regtig sien. 296 00:11:58,480 --> 00:12:00,690 Die rekenaars gekry net so darn vinnig. 297 00:12:00,690 --> 00:12:04,520 AANGESIEN terug in die dag, veral wanneer hardeware is baie meer beperk, 298 00:12:04,520 --> 00:12:06,860 jy het minder van alles, dit was baie duurder 299 00:12:06,860 --> 00:12:10,570 sodat alles kos meer, sowel as jy regtig wou uit te druk 300 00:12:10,570 --> 00:12:12,590 soveel prestasie as wat jy kon. 301 00:12:12,590 --> 00:12:16,400 Maar dit vereis skriftelik by 'n laer vlak, as jy wil, 302 00:12:16,400 --> 00:12:18,090 met 'n saamgestel taal. 303 00:12:18,090 --> 00:12:20,830 >> So doen jy neem hierdie prestasie treffer. 304 00:12:20,830 --> 00:12:24,780 Maar oor die algemeen, die upsides lyk die moeite werd deesdae te wees. 305 00:12:24,780 --> 00:12:26,850 Wel, behalwe vir die intellektuele eiendom kwessie. 306 00:12:26,850 --> 00:12:28,641 Daardie soort van leesbaarheid van die kode is, sal ons 307 00:12:28,641 --> 00:12:30,640 kom terug na wanneer ons kyk na JavaScript. 308 00:12:30,640 --> 00:12:33,140 >> So kom ons probeer om te kategoriseer ten minste 'n paar van hulle nie. 309 00:12:33,140 --> 00:12:41,650 So onder die saamgestel tale, ons sou C het, C ++, kinda, Sorta, Java, 310 00:12:41,650 --> 00:12:48,120 Hoewel dit 'n bietjie van 'n uitsondering, vir redes wat ek sal jou wys in net 'n oomblik. 311 00:12:48,120 --> 00:12:51,540 C # sou wees op hierdie lys. 312 00:12:51,540 --> 00:12:54,930 Ons sal kyk na meer op net die meer moderne tale. 313 00:12:54,930 --> 00:12:55,430 Alles reg. 314 00:12:55,430 --> 00:12:56,804 En dit lyk asof baie daar. 315 00:12:56,804 --> 00:13:03,500 AANGESIEN aan hierdie kant van die heining, Ons kan JavaScript, en Python het, 316 00:13:03,500 --> 00:13:08,040 en PHP, en Ruby. 317 00:13:08,040 --> 00:13:13,640 En is dit genoeg vir die meer onlangse kinders? 318 00:13:13,640 --> 00:13:15,410 Dit voel soos baie nou. 319 00:13:15,410 --> 00:13:16,330 OK. 320 00:13:16,330 --> 00:13:18,760 En dan dot dot dot, aangesien die lys is eindeloos. 321 00:13:18,760 --> 00:13:22,300 >> En in werklikheid, as ons wil net kry 'n gevoel van this-- Wikipedia, 322 00:13:22,300 --> 00:13:24,130 saamgestel tale. 323 00:13:24,130 --> 00:13:27,150 Ek vermoed dat ons 'n te kry veel meer volledige lys. 324 00:13:27,150 --> 00:13:27,910 So hier gaan ons. 325 00:13:27,910 --> 00:13:30,620 So hier is 'n baie meer volledige lys. 326 00:13:30,620 --> 00:13:34,150 En ek het gehoop iemand sou D raai as 'n taal, want dit ook bestaan, 327 00:13:34,150 --> 00:13:37,747 maar hulle het by D wil dit voorkom asof. 328 00:13:37,747 --> 00:13:39,330 Hoewel daar eintlik kan wees 'n E. 329 00:13:39,330 --> 00:13:41,496 >> Ag, eintlik, moet dit wees op die lys deesdae. 330 00:13:41,496 --> 00:13:47,460 Swift is eintlik 'n taal wat Apple uitgevind 331 00:13:47,460 --> 00:13:50,302 wat nou gebruik word, al hoe meer ja, ten iPhone ontwikkeling. 332 00:13:50,302 --> 00:13:52,260 Maar ons sal terug te kom na dat ons met ons bespreking 333 00:13:52,260 --> 00:13:54,090 van mobiele in net 'n bietjie so goed. 334 00:13:54,090 --> 00:13:55,260 So Swift sowel. 335 00:13:55,260 --> 00:13:57,540 >> En dan as ons na geïnterpreteer language-- 336 00:13:57,540 --> 00:14:05,010 geïnterpreteer language-- dan hier is 'n nog langer lys sowel. 337 00:14:05,010 --> 00:14:07,260 So as jy net google en kyk op Wikipedia vir hierdie, 338 00:14:07,260 --> 00:14:09,231 jy allerhande tale te sien. 339 00:14:09,231 --> 00:14:10,980 Maar die doel is, vir vandag werklik, net 340 00:14:10,980 --> 00:14:13,680 kom daarop neer dat miskien is dit kwessie van intellektuele eiendom 341 00:14:13,680 --> 00:14:18,200 en gelees deur die eindgebruiker en om prestasie, is nog 'n krisis nie so goed. 342 00:14:18,200 --> 00:14:21,080 >> So onder hierdie tale, laat my kyk of ons jou kan gee 343 00:14:21,080 --> 00:14:24,487 net 'n paar voorbeelde van tale. 344 00:14:24,487 --> 00:14:26,820 Ons wil nie te gaan deur al die tale eindeloos. 345 00:14:26,820 --> 00:14:29,720 Het jy al ooit gewonder wat 'n sekere taal lyk? 346 00:14:29,720 --> 00:14:31,562 Ons het sien 'n oomblik gelede. 347 00:14:31,562 --> 00:14:33,520 Hoekom het ons nie neem 'n paar van funksie versoeke. 348 00:14:33,520 --> 00:14:35,380 Wie wil om te sien wat ander taal lyk? 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 Alles reg. 353 00:14:37,040 --> 00:14:38,504 So laat ons gaan na Java. 354 00:14:38,504 --> 00:14:42,300 355 00:14:42,300 --> 00:14:44,900 En net om jou 'n sample-- gee Ons kan al hierdie uitskryf, 356 00:14:44,900 --> 00:14:47,670 maar dit sal vinniger net om kyk na iemand anders se voorbeeld kode. 357 00:14:47,670 --> 00:14:48,170 Alles reg. 358 00:14:48,170 --> 00:14:50,330 Dit is dus 'n goeie voorbeeld? 359 00:14:50,330 --> 00:14:52,040 Oeps. 360 00:14:52,040 --> 00:14:52,540 OK. 361 00:14:52,540 --> 00:14:58,810 So hier is die Java weergawe van die program wat ek geskryf het vroeër, "Hello World". 362 00:14:58,810 --> 00:15:01,900 >> So Java, sal jy dikwels sien die "klas." navraag 363 00:15:01,900 --> 00:15:03,779 Dan sal jy 'n paar name daarna kyk. 364 00:15:03,779 --> 00:15:05,570 Jy sal sien krullerige draadjies soos ons gesien het voordat, 365 00:15:05,570 --> 00:15:08,153 en soms gaan hulle op die dieselfde lyn, soms ander lyne, 366 00:15:08,153 --> 00:15:09,734 Dit is soort van 'n persoonlike besluit. 367 00:15:09,734 --> 00:15:11,900 Jy sal sien sleutelwoorde soos "Openbare", "statiese", "leemte." 368 00:15:11,900 --> 00:15:13,790 Maar ons het sien "hoof." "Main" is oor die algemeen 369 00:15:13,790 --> 00:15:17,220 die naam van die standaard funksie of die standaard deel van kode wat 370 00:15:17,220 --> 00:15:18,760 kry hardloop in 'n program. 371 00:15:18,760 --> 00:15:19,330 >> "String." 372 00:15:19,330 --> 00:15:20,850 Wat het ons bedoel met tou vroeër? 373 00:15:20,850 --> 00:15:23,480 Ek gebruik dit soort terloops. 374 00:15:23,480 --> 00:15:25,100 'N string is wat? 375 00:15:25,100 --> 00:15:25,601 N woord. 376 00:15:25,601 --> 00:15:27,058 Dit is soos 'n reeks karakters. 377 00:15:27,058 --> 00:15:29,810 Individuele karakters, terug na rug aan rug, gewoonlik in 'n skikking, 378 00:15:29,810 --> 00:15:30,690 soos ons het bespreek. 379 00:15:30,690 --> 00:15:34,700 En in werklikheid, sien hierdie sintaksis Hier is die twee vierkantige hakies? 380 00:15:34,700 --> 00:15:39,210 Dit beteken, hey rekenaar, hier kom 'n verskeidenheid van snare. 381 00:15:39,210 --> 00:15:42,636 Die bracket vierkante notasie wat algemeen gebruik word om aan te dui dat. 382 00:15:42,636 --> 00:15:44,510 En dan kan jy seker neem 'n guess-- wat 383 00:15:44,510 --> 00:15:46,580 beteken dit uitgelig stuk van kode waarskynlik doen? 384 00:15:46,580 --> 00:15:49,737 385 00:15:49,737 --> 00:15:50,639 >> Gehoor: Die uitset? 386 00:15:50,639 --> 00:15:51,090 >> David J. MALAN: Ja. 387 00:15:51,090 --> 00:15:52,506 Dit druk iets op die skerm. 388 00:15:52,506 --> 00:15:57,070 So "stelsel" is 'n soort van 'n verwysing na jou rekenaar. 389 00:15:57,070 --> 00:15:59,620 "Uit" beteken dat jou rekenaar se uitset of die skerm. 390 00:15:59,620 --> 00:16:04,450 So "system.out.print ln" beteken waarskynlik? 391 00:16:04,450 --> 00:16:05,570 "In." 392 00:16:05,570 --> 00:16:09,570 Druk lyn wat programmeerders soos om blykbaar spel 'n paar woorde uit 393 00:16:09,570 --> 00:16:11,820 in hul geheel en neem kortpaaie met ander woorde. 394 00:16:11,820 --> 00:16:13,260 Maar "In" is lyn, so druk lyn. 395 00:16:13,260 --> 00:16:17,370 So dit druk uit "Hallo Wêreld! "Gevolg deur 'n nuwe reël. 396 00:16:17,370 --> 00:16:18,300 >> So dit is dit. 397 00:16:18,300 --> 00:16:21,150 Maar Java is wat hulle sal oproep objekgeoriënteerde. 398 00:16:21,150 --> 00:16:23,440 En inderdaad, net om 'n gee paar ander definisies 399 00:16:23,440 --> 00:16:26,420 daar wat jy moontlik sien, in die algemeen, is daar 400 00:16:26,420 --> 00:16:30,600 is baie verskillende tipes van tale, maar die mees algemene 401 00:16:30,600 --> 00:16:37,830 is prosedurele of noodsaaklik tale. 402 00:16:37,830 --> 00:16:41,600 Daar is funksionele tale, wat nie 403 00:16:41,600 --> 00:16:43,790 beteken dat ander funksionele. 404 00:16:43,790 --> 00:16:47,740 En dan is daar Objekgeoriënteerde tale. 405 00:16:47,740 --> 00:16:51,170 En dit is dalk die beste kategorisering van die meeste tale 406 00:16:51,170 --> 00:16:56,445 wat jy ooit sou kies vir tipe van 'n tipiese kommersiële projek. 407 00:16:56,445 --> 00:16:58,910 >> Dit sou te veel wees, Ek dink, van gat 'n rot se 408 00:16:58,910 --> 00:17:01,620 om af te gaan, om te probeer om te verduidelik die verskillende verskille. 409 00:17:01,620 --> 00:17:04,599 Maar die tale Ons het dus far-- C gesien 410 00:17:04,599 --> 00:17:07,680 is 'n proses of 'n noodsaaklik taal. 411 00:17:07,680 --> 00:17:11,200 Meer onlangs uitgevind tale is geneig om te wees, jammer, 412 00:17:11,200 --> 00:17:14,430 objekgeoriënteerde, wat beteken hulle het ander funksies aan hulle. 413 00:17:14,430 --> 00:17:18,130 414 00:17:18,130 --> 00:17:19,430 Kan ek verduidelik dit op hierdie manier? 415 00:17:19,430 --> 00:17:20,950 Laat ons nie eens daar af te gaan. 416 00:17:20,950 --> 00:17:25,200 >> Objekgeoriënteerde middel jy kan implement-- 417 00:17:25,200 --> 00:17:27,930 jy kan die werklike wêreld te modelleer 'n bietjie meer effektief. 418 00:17:27,930 --> 00:17:29,722 Die mensdom, met verloop van tyd, het uitgepluis het, wow, 419 00:17:29,722 --> 00:17:32,430 dit lekker wees as my taal sou wees het hierdie funksie of daardie funksie. 420 00:17:32,430 --> 00:17:34,830 En dit is hoekom ons so baie tale in die wêreld. 421 00:17:34,830 --> 00:17:37,670 Redelike mense, slim mense, saamstem of verskil 422 00:17:37,670 --> 00:17:41,000 en altyd soort van bymekaar kom op die ontwikkeling van nuwe tale almal saam. 423 00:17:41,000 --> 00:17:41,660 >> Goeie voorbeeld hiervan. 424 00:17:41,660 --> 00:17:45,260 Apple uitgevind Swift in hoop van vermoedelik verlaag 425 00:17:45,260 --> 00:17:47,950 die bar te iPhone ontwikkeling, omdat die vorige language-- 426 00:17:47,950 --> 00:17:51,080 genoem Objective-C, wat kan ook op ons lys here-- 427 00:17:51,080 --> 00:17:54,190 was baie meer arcane en veel moeiliker om 'n mens se verstand om te draai. 428 00:17:54,190 --> 00:17:57,690 En as programmeertaal steeds waarskynlik meer toeganklik en meer in die algemeen 429 00:17:57,690 --> 00:18:00,580 deur mense selfs aangeneem minder tegniese, die goal-- 430 00:18:00,580 --> 00:18:04,160 dit is 'n baie dapper doel om te probeer om verlaag die versperring vir toetrede deur 431 00:18:04,160 --> 00:18:07,400 die tale self makliker om te begin met, 432 00:18:07,400 --> 00:18:09,430 maar nie minder kragtige noodwendig. 433 00:18:09,430 --> 00:18:10,560 >> En 'n ander taal. 434 00:18:10,560 --> 00:18:14,110 Hoekom het ons nie 'n blik op iets soos Python, 435 00:18:14,110 --> 00:18:18,090 wat baie in die mode deesdae. 436 00:18:18,090 --> 00:18:19,570 Python. 437 00:18:19,570 --> 00:18:20,464 Voorbeeld program. 438 00:18:20,464 --> 00:18:24,600 439 00:18:24,600 --> 00:18:26,700 Kom ons sien. 440 00:18:26,700 --> 00:18:28,790 "Hello World" tale. 441 00:18:28,790 --> 00:18:30,180 Kom ons doen dit. 442 00:18:30,180 --> 00:18:33,625 "Hello Wêreld." 443 00:18:33,625 --> 00:18:35,375 Kom ons kyk of dit gee ons 'n 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 So dit is eintlik soort van pret. 447 00:18:41,283 --> 00:18:43,330 So as jy ooit google "Hello World", wat 448 00:18:43,330 --> 00:18:47,000 gebeur met een van die eerste programme ooit in 'n moderne taal geskryf, 449 00:18:47,000 --> 00:18:51,830 net soos 'n bewys van die konsep, kan jy sien allerhande implementering van hierdie. 450 00:18:51,830 --> 00:18:54,240 >> Sommige van hierdie tale Ek het nie eens gehoor van. 451 00:18:54,240 --> 00:18:59,770 Maar jy kan see-- laat ons gaan na Basiese, die een wat ek jare gelede geleer het, in 'n deel. 452 00:18:59,770 --> 00:19:02,720 Dit was 'n prettige taal omdat jy moes, soos die programmeerder, aantal 453 00:19:02,720 --> 00:19:03,710 al jou lyne. 454 00:19:03,710 --> 00:19:05,626 Nie in teenstelling met wat ek was doen wanneer ek skryf 455 00:19:05,626 --> 00:19:08,380 pseudokode op die geel dokument vroeër vir binêre soek, 456 00:19:08,380 --> 00:19:09,580 vir soek 'n telefoon boek. 457 00:19:09,580 --> 00:19:11,810 >> En so, as jy wou om te gaan na 'n ander lyn, 458 00:19:11,810 --> 00:19:15,780 sou jy letterlik tik, gaan na 10, of gaan na 20. 459 00:19:15,780 --> 00:19:19,110 En as jy wil skryf lyne, die konvensie was om te doen, dit is lyn 10, 460 00:19:19,110 --> 00:19:22,545 dit is lyn 20, dit is lyn 30, 40, met niks tussenin, 461 00:19:22,545 --> 00:19:25,170 daardeur gee jouself 'n paar kamer As jy besluit, wag 'n minuut, 462 00:19:25,170 --> 00:19:27,230 Ek moet 'n paar het bygevoeg meer-kode iewers. 463 00:19:27,230 --> 00:19:30,960 Jy het nog soort van nege kanse om druk wat tussen jou program 464 00:19:30,960 --> 00:19:33,020 voordat jy moes met die hand hernommer alles. 465 00:19:33,020 --> 00:19:35,470 >> So dit is 'n soort van wat ek bedoel as ek sê die wêreld het gekom 466 00:19:35,470 --> 00:19:36,303 met 'n nuwe funksies. 467 00:19:36,303 --> 00:19:39,364 Iewers langs die pad iemand besef, seun dit is dom. 468 00:19:39,364 --> 00:19:41,280 Dit is net die skep van werk vir die programmeerder. 469 00:19:41,280 --> 00:19:44,200 Sodat hy of sy net soort gebou 'n nuwe laag op die top van dat 470 00:19:44,200 --> 00:19:46,910 sodat jy nie hoef te bekommer oor wat reëlnommers jou kode 471 00:19:46,910 --> 00:19:48,570 is eintlik op. 472 00:19:48,570 --> 00:19:54,940 >> So wanneer kan jy kies een taal of 'n ander? 473 00:19:54,940 --> 00:19:56,690 Wel, wat van hierdie tale is jy geneig 474 00:19:56,690 --> 00:20:00,960 om te hoor oor die meeste in jou eie wêreld deesdae? 475 00:20:00,960 --> 00:20:02,680 Kom ons drop down Objective-C te. 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 So laat my kleur. 480 00:20:10,310 --> 00:20:13,190 Het ons ons ander kleur iewers? 481 00:20:13,190 --> 00:20:14,550 So C #. 482 00:20:14,550 --> 00:20:16,390 En wat weet jy van C #? 483 00:20:16,390 --> 00:20:18,940 Enigiets lente na vore? 484 00:20:18,940 --> 00:20:20,707 >> Publiek: Dit is 'n programmeertaal. 485 00:20:20,707 --> 00:20:22,540 David J. MALAN: Dit is 'n programmeertaal. 486 00:20:22,540 --> 00:20:23,200 OK. 487 00:20:23,200 --> 00:20:24,690 Dit is waar. 488 00:20:24,690 --> 00:20:26,440 So ons praat oor C #. 489 00:20:26,440 --> 00:20:29,230 C # geneig om gebruik te word in Windows omgewings, 490 00:20:29,230 --> 00:20:33,550 So as jy wil skryf Microsoft sagteware vir Windows, is C # baie algemeen gebruik word, 491 00:20:33,550 --> 00:20:38,560 of dit nou vir desktop sagteware, of selfs telefoon sagteware op Windows fone, 492 00:20:38,560 --> 00:20:41,820 As jy daardie gehad het, of op die web selfs ook. 493 00:20:41,820 --> 00:20:44,642 En in die waarheid, miskien Kareem genoemde ASP vroeër? 494 00:20:44,642 --> 00:20:46,600 So is daar ook hierdie dinge genoem raamwerke, 495 00:20:46,600 --> 00:20:51,040 wat ons kan stel deur uitbreiding. 496 00:20:51,040 --> 00:20:53,280 Raamwerke, soos ASP. 497 00:20:53,280 --> 00:20:55,740 Staan vir Active Server Pages. 498 00:20:55,740 --> 00:20:59,880 En dit is die kode en 'n manier van programmering 499 00:20:59,880 --> 00:21:03,490 wat oor die algemeen maak dit makliker web-gebaseerde programme te skryf. 500 00:21:03,490 --> 00:21:07,530 Met ander woorde, sou dit super wees, super irriterende na 'n webwerf skryf 501 00:21:07,530 --> 00:21:09,469 in die taal C wat Ons het voorheen gesien, 502 00:21:09,469 --> 00:21:12,510 want jy sal moet druk + F gebruik, jy wil hê om die navraag te gebruik 503 00:21:12,510 --> 00:21:13,940 "Hoof" en die krullerige draadjies. 504 00:21:13,940 --> 00:21:16,720 Baie arcane sintaksis en benadering te implementeer 505 00:21:16,720 --> 00:21:19,195 iets wat redelik kompleks. 506 00:21:19,195 --> 00:21:20,240 'N webblad. 507 00:21:20,240 --> 00:21:23,800 >> En so ander tale ontwikkel om daardie soort van ding makliker te maak. 508 00:21:23,800 --> 00:21:26,890 En op sy beurt, het mense kom met raamwerke, soort gereedskap 509 00:21:26,890 --> 00:21:30,520 wat jy kan gebruik wat dit nog makliker om webblaaie te skryf. 510 00:21:30,520 --> 00:21:33,070 So byvoorbeeld, om te maak hierdie baie meer konkrete, 511 00:21:33,070 --> 00:21:36,390 laat my oop te stel net 'n tekslêer vir 'n oomblik. 512 00:21:36,390 --> 00:21:39,380 >> En jy mag gister onthou dat ons iets gesê 513 00:21:39,380 --> 00:21:41,210 soos, dit is 'n web bladsy. 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 my slaan die kop en net nie die liggaam hier. 517 00:21:48,500 --> 00:21:52,810 Veronderstel dat ek wou skryf nie "Hello World" 518 00:21:52,810 --> 00:21:57,020 maar "Hallo David," waar Dawid is die Naam van die tans aangemeld gebruiker. 519 00:21:57,020 --> 00:22:00,270 Wat so iets ASP sal doen, of JSP-- 520 00:22:00,270 --> 00:22:04,060 wat is Java-bediener pages-- of enige aantal ander raamwerke 521 00:22:04,060 --> 00:22:05,435 is hulle nie tale, per se. 522 00:22:05,435 --> 00:22:07,351 Hulle is net soos addisionele sagteware wat jou 523 00:22:07,351 --> 00:22:10,490 sou installeer in jou omgewing dat dit net makliker om die program te maak. 524 00:22:10,490 --> 00:22:15,670 >> So byvoorbeeld, eerder as om te doen iets soos "Hallo, printf (" Dawid ")" 525 00:22:15,670 --> 00:22:17,510 of iets wat soort mede-mingling-- 526 00:22:17,510 --> 00:22:20,840 die aard van die kode wat ons before-- gesien jy sal iets baie makliker doen, 527 00:22:20,840 --> 00:22:26,190 soos "naam%." 528 00:22:26,190 --> 00:22:28,660 En so hierdie raamwerke, soos ASP-- en ek 529 00:22:28,660 --> 00:22:31,212 kan nie onthou of ek kry die sintaksis net reg vir ASP. 530 00:22:31,212 --> 00:22:33,100 JSP is 'n little-- is dit reg? 531 00:22:33,100 --> 00:22:36,500 >> So met ASP, dit is soort van 'n spesiale sintaksis 532 00:22:36,500 --> 00:22:39,830 dat sommige ontwikkelaars het besluit hierdie dalk mense help. 533 00:22:39,830 --> 00:22:43,000 En ek kan nie meer helder te formuleer plekhouers byvoorbeeld. 534 00:22:43,000 --> 00:22:47,187 Soos sit 'n waarde hier, waar hierdie naam waarde is nie N-A-M-E, 535 00:22:47,187 --> 00:22:48,520 dis 'n bietjie waarde gestoor in daar. 536 00:22:48,520 --> 00:22:50,728 So "naam," in hierdie konteks, Ons sal 'n veranderlike te bel. 537 00:22:50,728 --> 00:22:52,760 Algebra het veranderlikes soos x en y, en z. 538 00:22:52,760 --> 00:22:56,021 Programmeerders gebruik veranderlikes wat meer beskrywende as x, y, en z, 539 00:22:56,021 --> 00:22:56,520 tipies. 540 00:22:56,520 --> 00:23:01,020 So "naam" sou letterlik 'n soort wees geheue houer vir iets soos 541 00:23:01,020 --> 00:23:05,440 D-A-V-ek-D, want my Naam, of wie ook al anders is aangeteken in die webwerf. 542 00:23:05,440 --> 00:23:09,300 >> En so is dit die soort gerief jy met sekere omgewings. 543 00:23:09,300 --> 00:23:14,220 So C # en iets soos ASP sou baie algemeen gebruik word in 'n Windows wêreld, 544 00:23:14,220 --> 00:23:16,460 hetsy vir sy lessenaar sagteware of webbediener, 545 00:23:16,460 --> 00:23:21,490 veral as jou bedieners is op sy beurt Microsoft Windows en Microsoft 546 00:23:21,490 --> 00:23:25,810 IIS-- of Internet Information Bediener, as ek die afkorting right-- 547 00:23:25,810 --> 00:23:27,800 wat Microsoft se webbediener. 548 00:23:27,800 --> 00:23:30,820 >> So, wat ander tale is mense vertroud is met, 549 00:23:30,820 --> 00:23:35,228 of het jy al gehoor van meer dikwels as nie? 550 00:23:35,228 --> 00:23:38,262 >> Publiek: Ek weet dat Python se soort van 'n gewilde [onhoorbaar]. 551 00:23:38,262 --> 00:23:39,470 David J. Malan baie gewild. 552 00:23:39,470 --> 00:23:45,490 So Python hier is baie dikwels gebruik in wetenskaplike programme of data 553 00:23:45,490 --> 00:23:48,330 wetenskap, waar jy 'n baie data wat jy wil om te ontleed 554 00:23:48,330 --> 00:23:50,413 en jy wil 'n gebruik programmeertaal daarvoor. 555 00:23:50,413 --> 00:23:53,640 R kan algemeen gebruik word vir daardie sowel in 'n statistiese konteks. 556 00:23:53,640 --> 00:23:56,400 Maar Python het so baie funksies gebou in. 557 00:23:56,400 --> 00:23:58,850 Soveel addisionele biblioteke, soos mense sê. 558 00:23:58,850 --> 00:24:01,260 >> Biblioteke is net versamelings van kode wat ander mense 559 00:24:01,260 --> 00:24:04,218 geskryf dat jy, sodat jy kan gebruik hoef nie aan dié wiele te herontwerp. 560 00:24:04,218 --> 00:24:07,430 En so Python is baie algemeen gebruik in data wetenskap aansoeke. 561 00:24:07,430 --> 00:24:09,930 Maar dit is ook baie algemeen gebruik in web programme. 562 00:24:09,930 --> 00:24:12,780 Jy kan implementeer 'n dinamiese webwerf met Python. 563 00:24:12,780 --> 00:24:15,210 >> En deur dinamiese webwerf, ek beteken nie net statiese inhoud 564 00:24:15,210 --> 00:24:19,530 soos ons geskep gister deur net hard kodering in die Latynse teks 565 00:24:19,530 --> 00:24:21,820 en ander sulke dinge, maar eerder die vermoë 566 00:24:21,820 --> 00:24:25,367 om aan te meld, die vermoë om te koop iets, die vermoë om te kyk na 567 00:24:25,367 --> 00:24:26,950 met jou shopping carts, en dies meer. 568 00:24:26,950 --> 00:24:30,590 Al wat vereis dinamika en jy moet 'n paar taal soos een van hulle. 569 00:24:30,590 --> 00:24:35,060 >> Publiek: So maak Python het sy eie uitbreiding, soortgelyk aan hou [onhoorbaar] 570 00:24:35,060 --> 00:24:36,060 David J. MALAN: Dit maak. 571 00:24:36,060 --> 00:24:42,250 So in die wêreld van 'n afgestorwene, Django is 'n baie gewilde raamwerk vir Python. 572 00:24:42,250 --> 00:24:46,520 WSGI is nog 'n meganisme wat soort verskil van dié 573 00:24:46,520 --> 00:24:47,640 maar soortgelyke in gees. 574 00:24:47,640 --> 00:24:52,200 Dit is 'n add-on wat toelaat dat jy om Python-kode uitgevoer word op 'n bediener. 575 00:24:52,200 --> 00:24:53,950 Daar is other-- ja. 576 00:24:53,950 --> 00:24:57,250 So sal hierdie ons raamwerke noem. 577 00:24:57,250 --> 00:24:58,870 En dit is 'n bietjie van 'n misbruik. 578 00:24:58,870 --> 00:25:00,920 Dit is meer van 'n web bediener tegnologie. 579 00:25:00,920 --> 00:25:04,610 Maar ons sal dit eenvoudig te hou en sit dit in hierdie kolom nietemin. 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 Nog 'n thing-- en eintlik, laat my voorstel dat sy eie kolom 584 00:25:12,100 --> 00:25:17,000 want ek sou skree myself vir sit hulle in dieselfde emmer. 585 00:25:17,000 --> 00:25:24,910 Kom ons sit dit in bediener funksies, kom ons sê. 586 00:25:24,910 --> 00:25:26,710 Dit is nie 'n tegniese term. 587 00:25:26,710 --> 00:25:29,180 >> So hier is ons dalk WSGI. 588 00:25:29,180 --> 00:25:32,580 Daar is CGI, wat 'n ouer tegniek vir die versorging up tale 589 00:25:32,580 --> 00:25:35,890 soos Perl of PHP, of 'n paar ander. 590 00:25:35,890 --> 00:25:39,000 Weereens, ek het hierdie terme genoem nie soseer om hulle soort ingeworteld, 591 00:25:39,000 --> 00:25:40,749 maar so dat as jy kyk hulle dit iets 592 00:25:40,749 --> 00:25:42,130 jy net google om meer te lees. 593 00:25:42,130 --> 00:25:46,110 Daar is geen werklike sap sommige van hierdie dinge. 594 00:25:46,110 --> 00:25:47,850 >> Maar laat ons teruggaan na die tale. 595 00:25:47,850 --> 00:25:50,499 Ons het gepraat oor C #, Python. 596 00:25:50,499 --> 00:25:52,790 Wat anders kan jy gebruik vir webprogrammeertalen deesdae? 597 00:25:52,790 --> 00:25:54,302 Kom ons fokus op wat nog. 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 laat ons terug na daardie een kom. 601 00:25:57,413 --> 00:25:59,310 So PHP is baie algemeen gebruik word. 602 00:25:59,310 --> 00:26:01,560 PHP is geneig om 'n slegte rap kry. 603 00:26:01,560 --> 00:26:05,790 Dit het begin as 'n taal geïmplementeer deur mense wat miskien noodwendig nie 604 00:26:05,790 --> 00:26:06,960 die beste taal ontwerpers. 605 00:26:06,960 --> 00:26:11,290 En so kan jy allerhande lees artikels oor hoe sleg PHP is aanlyn. 606 00:26:11,290 --> 00:26:13,660 En ongelukkig is dit 'n manifestasie, in die deel, 607 00:26:13,660 --> 00:26:18,727 van net die godsdienstige debatte wat uitbars onder programmeerders. 608 00:26:18,727 --> 00:26:20,560 En dit is iets wat die moeite werd om in gedagte te hou, 609 00:26:20,560 --> 00:26:24,410 van 'n besigheid perspektief, wat Dit is baie maklik vir tegniese mense 610 00:26:24,410 --> 00:26:26,900 al gewerk met om hul menings oor sekere dinge. 611 00:26:26,900 --> 00:26:29,566 En dit beteken nie noodwendig dat die een skree die hardste 612 00:26:29,566 --> 00:26:31,870 of met die sterkste, kwaadste mening is reg. 613 00:26:31,870 --> 00:26:34,100 Daar is baie keer is dit regtig net maak nie saak. 614 00:26:34,100 --> 00:26:37,970 >> En so mense is net die argument wat ook al hul eie vooroordele of gemaksone is. 615 00:26:37,970 --> 00:26:40,760 En so moet jy hou wat in ag geneem word wanneer 616 00:26:40,760 --> 00:26:42,622 'n besluit, wat net omdat iemand sê 617 00:26:42,622 --> 00:26:45,080 dit is die regte taal vir die werk, wat dalk waar wees, 618 00:26:45,080 --> 00:26:48,350 maar dit ook self regverdig kan wees dit is die reg taal binne hul eie vaardigheid 619 00:26:48,350 --> 00:26:49,267 stel of gemaksone. 620 00:26:49,267 --> 00:26:52,600 Wat is nie sleg nie, maar jy moet besef dat daar 'n paar konteks daar mag wees. 621 00:26:52,600 --> 00:26:54,440 Daar is 'n paar objektief verkeerde stellings, 622 00:26:54,440 --> 00:26:59,080 soos C is die verkeerde taal te gebruik deesdae vir die implementering van webtuistes 623 00:26:59,080 --> 00:27:00,520 amper altyd. 624 00:27:00,520 --> 00:27:03,370 Maar dit is nie onredelik om te sê dat enige van hierdie 625 00:27:03,370 --> 00:27:05,700 is verkeerd dat ons tot dusver het omkring. 626 00:27:05,700 --> 00:27:08,180 >> PHP het deurgegaan baie weergawes. 627 00:27:08,180 --> 00:27:11,310 So tale is geneig om weergawe het nommers wat verband hou met hulle. 628 00:27:11,310 --> 00:27:15,390 PHP is aan, dink ek, weergawe 7 nou, so dit is al vir 'n geruime tyd. 629 00:27:15,390 --> 00:27:18,270 En as tale kry nuwer, hulle kry dikwels nuwe funksies. 630 00:27:18,270 --> 00:27:22,510 Maar jy moet in gedagte hou hierdie te wees want as jou webwerf is 631 00:27:22,510 --> 00:27:27,539 geïmplementeer in weergawe 7 van PHP, maar jy probeer om jou webwerf te voer, 632 00:27:27,539 --> 00:27:29,830 of miskien het jy het uitgekontrakteer die ontwikkeling van jou kode 633 00:27:29,830 --> 00:27:31,960 om iemand anders en hulle pos dit is vir jou of stuur dit aan jou 634 00:27:31,960 --> 00:27:33,960 en hulle sê: hier, sit hierdie op jou webbediener, 635 00:27:33,960 --> 00:27:36,610 As jou web bediener is 'n paar jaar outdated-- of dit nou 636 00:27:36,610 --> 00:27:39,465 jou eie bediener of 'n web host-- dit kan nie eintlik hardloop. 637 00:27:39,465 --> 00:27:41,340 So dit is die soort van die dinge wat iemand 638 00:27:41,340 --> 00:27:44,067 moet bedag te wees wanneer die opgradering van 'n webwerf 639 00:27:44,067 --> 00:27:45,650 of die uitvoering daarvan vir die eerste keer. 640 00:27:45,650 --> 00:27:46,900 >> Ek JavaScript gehoor vroeër. 641 00:27:46,900 --> 00:27:50,570 So JavaScript is 'n interessante een in die sin dat dit is oor die algemeen 642 00:27:50,570 --> 00:27:53,030 kliënt kant, as ons sal sien na die breek, wat 643 00:27:53,030 --> 00:27:55,000 beteken dit loop in die leser van die gebruiker. 644 00:27:55,000 --> 00:27:58,400 Maar jy kan ook hardloop JavaScript deesdae 645 00:27:58,400 --> 00:28:03,450 die gebruik van iets genoem Node.js, waar Node.js 646 00:28:03,450 --> 00:28:08,000 is 'n meganisme vir die uitvoer JavaScript-kode bediener kant, 647 00:28:08,000 --> 00:28:12,430 in plaas van die gebruik van Python, of PHP, of ander soortgelyke tale. 648 00:28:12,430 --> 00:28:17,820 >> JavaScript is besonder goed geskik vir chat programme en real time 649 00:28:17,820 --> 00:28:22,050 programme, terwyl PHP is nie 'n groot taal vir die implementering van iets 650 00:28:22,050 --> 00:28:25,050 soos 'n chat-bediener, waar gebruikers bly verbind om dit voortdurend. 651 00:28:25,050 --> 00:28:28,760 PHP is meer van 'n besoek my een keer, terug te kry 'n resultaat, 652 00:28:28,760 --> 00:28:31,790 en kliek 'n ander skakel 'n paar sekondes of minute van nou af. 653 00:28:31,790 --> 00:28:36,020 AANGESIEN Node.js en JavaScript kan wees meer vir volgehoue ​​konneksies gebruik. 654 00:28:36,020 --> 00:28:40,840 Ander tale wat jy vermoed word algemeen gebruik vir web dinge? 655 00:28:40,840 --> 00:28:42,800 >> Publiek: Sou jQuery 'n raamwerk? 656 00:28:42,800 --> 00:28:44,050 >> David J. MALAN: Goeie vraag. 657 00:28:44,050 --> 00:28:44,700 Nie. 658 00:28:44,700 --> 00:28:51,210 Ek sou jQuery noem 'n biblioteek, waar weer 'n biblioteek is net 'n klomp van die kode 659 00:28:51,210 --> 00:28:53,250 dat iemand anders geskryf wat oor die algemeen 660 00:28:53,250 --> 00:28:56,390 los 'n paar probleme wat maak dit hopelik makliker 661 00:28:56,390 --> 00:28:57,760 vir jou om jou werk te doen. 662 00:28:57,760 --> 00:29:00,820 En laat ek doen 'n voorbeeld van dit in die konteks van die web. 663 00:29:00,820 --> 00:29:03,910 >> In die konteks van die web is daar ' hierdie taal, JavaScript, 664 00:29:03,910 --> 00:29:06,690 dat ons later sal sien, waardeur jy dalk iets soos this-- sê 665 00:29:06,690 --> 00:29:10,060 "Document.getElementById." 666 00:29:10,060 --> 00:29:11,490 En wat het ek noem dit gister? 667 00:29:11,490 --> 00:29:16,800 In die eerste plek dink ek, was die unieke ID ek het om 'n element wat lyk soos hierdie. 668 00:29:16,800 --> 00:29:23,110 "P id =" eerste ">" en dan het ons soos "Lorem Ipsum," ensovoorts. 669 00:29:23,110 --> 00:29:28,210 So as ek 'n program in te skryf JavaScript om een ​​of ander manier te manipuleer, 670 00:29:28,210 --> 00:29:30,830 verander die webblaaie wat ons speel met gister, 671 00:29:30,830 --> 00:29:33,010 Ek sou dit gebruik gemerkte reël van die kode 672 00:29:33,010 --> 00:29:38,700 om daardie spesifieke HTML-kry uit my bladsy, wat veral knoop, 673 00:29:38,700 --> 00:29:39,680 soos ons dit sal noem. 674 00:29:39,680 --> 00:29:44,540 >> Maar in jQuery, in plaas van die skryf hierdie, wat rou JavaScript code-- 675 00:29:44,540 --> 00:29:48,870 net uit die boks, dit is hoe jy skryf it-- jy wil plaas net sê, 676 00:29:48,870 --> 00:29:50,260 "#first." 677 00:29:50,260 --> 00:29:52,330 Dit is ekwivalent. 678 00:29:52,330 --> 00:29:56,040 En so net op grond van hierdie baie arcane byvoorbeeld wat dalk 679 00:29:56,040 --> 00:29:57,870 is die argument vir die gebruik van jQuery? 680 00:29:57,870 --> 00:30:01,390 681 00:30:01,390 --> 00:30:05,111 Waarom sou 'n ontwikkelaar te gebruik 'n biblioteek soos jQuery, gebaseer op die geïsoleerde voorbeeld, 682 00:30:05,111 --> 00:30:05,610 miskien? 683 00:30:05,610 --> 00:30:06,335 >> Publiek: Minder kode. 684 00:30:06,335 --> 00:30:06,780 >> David J. MALAN: Ja. 685 00:30:06,780 --> 00:30:07,530 Dit is minder kode. 686 00:30:07,530 --> 00:30:09,070 Dis net vinniger te tik. 687 00:30:09,070 --> 00:30:11,690 Die kontrapunt is dat dit lyk vreesaanjaend. 688 00:30:11,690 --> 00:30:13,540 Jy kan regtig nie lees dit van links na regs. 689 00:30:13,540 --> 00:30:16,730 Trouens, want dit is meestal punktuasie nou in plaas van die werklike woorde, 690 00:30:16,730 --> 00:30:20,950 Ek kan soort aflei dat "Document.getElementById" kry 691 00:30:20,950 --> 00:30:23,640 'n element van die dokument deur sy ID. 692 00:30:23,640 --> 00:30:26,750 Ek kan regtig nie so gebruik geheue hulpjes uit hierdie ding hier. 693 00:30:26,750 --> 00:30:27,680 >> Dit is dus 'n kompromis. 694 00:30:27,680 --> 00:30:30,763 Daar is 'n gesofistikeerdheid wat kom dikwels met behulp van biblioteke, veral 695 00:30:30,763 --> 00:30:31,440 soos jQuery. 696 00:30:31,440 --> 00:30:34,700 Maar die werklikheid is jQuery het soort van 'n de facto standaard, 697 00:30:34,700 --> 00:30:38,110 sodat byna almal hierdie dae wat JavaScript-kode skryf 698 00:30:38,110 --> 00:30:41,520 gebruik jQuery of iets dit wil hê, en nie meer skryf 699 00:30:41,520 --> 00:30:45,200 so 'n uitgebreide uitdrukkings soos hierdie, want weer, die mensdom 700 00:30:45,200 --> 00:30:47,850 geleer het, wow, dit was soort van 'n gemiste kans 701 00:30:47,850 --> 00:30:49,030 om ons lewens makliker te maak. 702 00:30:49,030 --> 00:30:51,140 So mens maak hul lewens makliker te maak. 703 00:30:51,140 --> 00:30:53,310 Goeie vraag. 704 00:30:53,310 --> 00:30:55,870 >> Ander tale te oorweeg. 705 00:30:55,870 --> 00:30:58,660 Ek sou sê onder hierdie lys Ruby is baie gewild. 706 00:30:58,660 --> 00:31:01,310 En so in die wêreld van Ruby, is daar 'n raamwerk 707 00:31:01,310 --> 00:31:03,590 genoem Rails, wat baie gewild is. 708 00:31:03,590 --> 00:31:06,880 So Ruby on Rails is 'n algemeen gebruik uitdrukking. 709 00:31:06,880 --> 00:31:10,330 Ook in hierdie wêreld, laat my sirkel Java vir web dinge, 710 00:31:10,330 --> 00:31:14,160 waar in die wêreld van Java jy dalk JSP, of Java het 711 00:31:14,160 --> 00:31:18,450 Servlets, wat is 'n algemene tegnologie. 712 00:31:18,450 --> 00:31:22,560 En dit is net weer maniere om dat taal binne 'n bediener omgewing. 713 00:31:22,560 --> 00:31:23,520 >> So wat beteken dit? 714 00:31:23,520 --> 00:31:25,770 As jy 'n fisiese het bediener, sou jy letterlik 715 00:31:25,770 --> 00:31:30,510 laai die web bediener-sagteware en installeer dit op so 'n manier 716 00:31:30,510 --> 00:31:33,510 dat jy ondersteuning vir een van hierdie raamwerke, waarmee jy 717 00:31:33,510 --> 00:31:37,260 kon op sy beurt gebruik een of meer van hierdie tale. 718 00:31:37,260 --> 00:31:40,260 En in werklikheid, as jy inteken vir soos 'n web host of 'n paar van die wolk 719 00:31:40,260 --> 00:31:41,968 dienste wat ons gepraat oor gister, dikwels 720 00:31:41,968 --> 00:31:44,885 die dinge net kom met die opset masjien se vir jou. 721 00:31:44,885 --> 00:31:46,510 Jy hoef nie om dit op die hand te stel. 722 00:31:46,510 --> 00:31:51,040 Maar as jy het, dit is waar die rol stelsel administrateur, om so te praat, 723 00:31:51,040 --> 00:31:51,860 kom in die spel. 724 00:31:51,860 --> 00:31:54,151 Hy of sy eintlik wil doen hierdie soort dinge vir jou, 725 00:31:54,151 --> 00:31:58,510 of die sogenaamde webmeester sou dit dikwels te doen vir jou. 726 00:31:58,510 --> 00:31:59,010 Alles reg. 727 00:31:59,010 --> 00:32:03,300 Enige vrae oor sommige van hierdie hier? 728 00:32:03,300 --> 00:32:06,690 Of enige geleenthede op al te vra oor tale? 729 00:32:06,690 --> 00:32:09,500 Raamwerke? 730 00:32:09,500 --> 00:32:11,530 laat my dan stel net een ander biblioteek 731 00:32:11,530 --> 00:32:13,150 dit is ook baie algemeen deesdae. 732 00:32:13,150 --> 00:32:15,340 Hierdie lys kan oneindig aangaan. 733 00:32:15,340 --> 00:32:19,140 >> En hierdie biblioteek is 'n soort van begin in onguns te val. 734 00:32:19,140 --> 00:32:19,850 Dit was rondom. 735 00:32:19,850 --> 00:32:22,040 Dit is gewild gemaak deur Twitter vir 'n geruime tyd. 736 00:32:22,040 --> 00:32:24,470 En nou baie webwerwe, baie ontwikkelaars gebruik. 737 00:32:24,470 --> 00:32:26,629 Maar nuwe dinge kom uit en saam kom. 738 00:32:26,629 --> 00:32:29,420 Maar laat ek net gee jou 'n gevoel van wat dit beteken om 'n biblioteek te gebruik. 739 00:32:29,420 --> 00:32:32,250 So weer, JavaScript is 'n baie gewilde taal. 740 00:32:32,250 --> 00:32:35,340 CSS, of Cascading Style Sheets, Ons het gepraat oor gister. 741 00:32:35,340 --> 00:32:36,600 Dit is ook alomteenwoordig. 742 00:32:36,600 --> 00:32:40,130 Niemand maak 'n webblad vandag sonder die gebruik van HTML en CSS minimaal. 743 00:32:40,130 --> 00:32:42,510 Maar dit is nie altyd maklik nie om sekere dinge te doen. 744 00:32:42,510 --> 00:32:46,281 >> En so laat my gaan na getbootstrap.com. 745 00:32:46,281 --> 00:32:46,780 Oeps. 746 00:32:46,780 --> 00:32:48,280 Dit is nie hoe ons spel. 747 00:32:48,280 --> 00:32:52,410 Getbootstrap.com, wat gaan my lei 748 00:32:52,410 --> 00:32:56,140 om die landing page vir hierdie biblioteek. 749 00:32:56,140 --> 00:32:59,720 Sodat hulle mildelik noem self 'n raamwerk wat 750 00:32:59,720 --> 00:33:02,032 is 'n soort van soort eerlike, maar ek sou nog steeds noem dit 751 00:33:02,032 --> 00:33:03,490 meer van 'n biblioteek as 'n raamwerk. 752 00:33:03,490 --> 00:33:05,760 Maar dit is net onseker semantiek. 753 00:33:05,760 --> 00:33:12,360 Laat my gaan na hul blad CSS en dat ek kan gaan om iets soos hierdie. 754 00:33:12,360 --> 00:33:15,450 >> So onthou wat ons vorms gekyk soos gister op Cloud9? 755 00:33:15,450 --> 00:33:16,370 Dit was 'n bietjie lelik. 756 00:33:16,370 --> 00:33:17,320 Ou skool knoppies. 757 00:33:17,320 --> 00:33:20,420 Ek dink die knoppie was grys deur verstek. En alles was regtig 758 00:33:20,420 --> 00:33:22,420 geformateer nogal morsig. 759 00:33:22,420 --> 00:33:26,940 So as jy wil hê dat jou web vorms te kyk 'n bietjie nicer-- laat my in te zoem hier. 760 00:33:26,940 --> 00:33:30,050 >> En deur mooier ek eintlik net beteken baie nitpicky estetika. 761 00:33:30,050 --> 00:33:35,390 So sien hoe die e-posbus daar 'n afgeronde vierkantige hoeke om dit te. 762 00:33:35,390 --> 00:33:37,010 Dit is dus 'n bietjie skoner daar. 763 00:33:37,010 --> 00:33:40,770 Let daarop dat die woord e-pos is daar totdat ek begin tik 764 00:33:40,770 --> 00:33:41,797 en dan gaan dit weg. 765 00:33:41,797 --> 00:33:43,130 So dit is 'n mooi klein funksie. 766 00:33:43,130 --> 00:33:46,046 Let op hoe die ding is 'n soort van gloei mooi, wat 'n paar van hierdie jy 767 00:33:46,046 --> 00:33:49,069 kry vir vry van jou browser, maar 'n paar van hierdie is ook biblioteke, 768 00:33:49,069 --> 00:33:51,360 kode wat ander mense het geskryf dat jy dit gee. 769 00:33:51,360 --> 00:33:53,480 >> Iets soos hierdie gee my my wagwoord. 770 00:33:53,480 --> 00:33:58,480 Hierdie knoppie is 'n bietjie sexier as die verstek. Baie nou in die mode. 771 00:33:58,480 --> 00:34:03,570 Sedert IOS 7 of so, die wêreld gekry het baie plat, 772 00:34:03,570 --> 00:34:09,000 terwyl die wêreld voor het baie oorskadu, baie 773 00:34:09,000 --> 00:34:11,040 refleksies op ikone. 774 00:34:11,040 --> 00:34:14,170 Baie soos in die klere wêreld, daar is modeneigings wat kom en gaan. 775 00:34:14,170 --> 00:34:16,190 Nou is alles plat op jou selfoon. 776 00:34:16,190 --> 00:34:19,159 >> Trouens, knoppies op jou iPhone is nou net blou skakels. 777 00:34:19,159 --> 00:34:21,000 Daar is nie dikwels selfs omsendbrief knoppies. 778 00:34:21,000 --> 00:34:22,791 So dit is net dinge wat gaan in en uit 779 00:34:22,791 --> 00:34:26,659 van die mode, en so dit is hoe jy dalk 'n meer moderne soek web vorm. 780 00:34:26,659 --> 00:34:27,159 Knoppies. 781 00:34:27,159 --> 00:34:29,190 So Skoenlus het baie mooi knoppies. 782 00:34:29,190 --> 00:34:33,639 So as jy wil blou knoppies, groen knoppies, blou, oranje, rooi. 783 00:34:33,639 --> 00:34:35,840 Bootstrap maak dit makliker om hierdie dinge te doen. 784 00:34:35,840 --> 00:34:38,131 Dit is die soort van dinge dat jy kan absoluut 785 00:34:38,131 --> 00:34:41,840 gister gedoen het met CSS en met HTML, maar dit is net 'n pyn in die nek. 786 00:34:41,840 --> 00:34:44,840 En so in plaas, wat Skoenlus sou het jy doen, is iets soos hierdie. 787 00:34:44,840 --> 00:34:48,960 >> As jy wil 'n button-- blyk dit is 'n HTML-tag het ons nie gebruik yesterday-- 788 00:34:48,960 --> 00:34:53,070 en jy wil dit om te kyk soos hierdie groen knoppie, 789 00:34:53,070 --> 00:34:57,380 jy letterlik net gee dit 'n klas, wat ons gedoen het oor gister, 790 00:34:57,380 --> 00:34:59,710 van "BTN BTN-sukses." 791 00:34:59,710 --> 00:35:00,971 >> Hoekom hierdie woorde? 792 00:35:00,971 --> 00:35:03,470 Twitter, die skrywers van Skoenlus, vorendag gekom met die woorde. 793 00:35:03,470 --> 00:35:05,428 Hulle kon genoem hulle enigiets wat hulle wil. 794 00:35:05,428 --> 00:35:08,480 Maar wat jy nou kry is iemand anders op Twitter, in hierdie geval, 795 00:35:08,480 --> 00:35:12,360 het uitgepluis het hoe maak jy 'n knoppie te kyk mooi en skoon en groen. 796 00:35:12,360 --> 00:35:15,580 Hulle verpak up wat funksionaliteit in 'n CSS klas, met die naam "BTN" 797 00:35:15,580 --> 00:35:19,790 en "BTN-sukses," sodat enigeen van ons kan gebruik dit nou sonder om eers te dink oor 798 00:35:19,790 --> 00:35:20,290 Dit. 799 00:35:20,290 --> 00:35:22,880 So het hulle weg onttrek die idee van 'n groen knoppie 800 00:35:22,880 --> 00:35:25,320 sodat ons nie hoef te bekommer oor uitvoering daarvan self. 801 00:35:25,320 --> 00:35:28,520 Ons kan eintlik fokus op die implementering van dinge van belang is vir ons. 802 00:35:28,520 --> 00:35:30,902 >> As ons blaai hier af. 803 00:35:30,902 --> 00:35:32,110 Fout boodskappe op die skerm. 804 00:35:32,110 --> 00:35:35,440 Soms wil jy 'n bietjie boodskap verskyn op die top van die leser. 805 00:35:35,440 --> 00:35:39,729 Enige van ons kan dit doen met 'n paar inspanning, ná les gister, 806 00:35:39,729 --> 00:35:40,770 Maar hoekom sou jy pla? 807 00:35:40,770 --> 00:35:42,540 Dit is so 'n vervelige estetiese detail. 808 00:35:42,540 --> 00:35:44,248 Kom ons staan ​​op die skouers van Skoenlus 809 00:35:44,248 --> 00:35:49,440 en laat hulle ons van dinge soos hierdie, waar ons letterlik, 'n rooi blokkie te kry, 810 00:35:49,440 --> 00:35:53,220 moet net 'n paragraaf te doen tag met 'n klas of-- jammer. 811 00:35:53,220 --> 00:35:57,307 "BG-gevaar" sou ons gee hierdie rooierige boks plaas. 812 00:35:57,307 --> 00:35:59,140 Kom ons gaan na die meer interessante dinge. 813 00:35:59,140 --> 00:36:02,950 As ek gaan terug na die top van hierdie bladsy en gaan na komponente, 814 00:36:02,950 --> 00:36:05,380 Nou is die wêreld kry meer interessant. 815 00:36:05,380 --> 00:36:08,826 Byvoorbeeld, baie algemeen is drop down menu soos hierdie. 816 00:36:08,826 --> 00:36:11,560 Dit sou 'n absolute wees pyn te implementeer. 817 00:36:11,560 --> 00:36:13,610 En dit was nie so lank gelede dat ons programmeerders 818 00:36:13,610 --> 00:36:16,490 sou hê om dit te implementeer soorte spyskaarte van nuuts af. 819 00:36:16,490 --> 00:36:20,800 >> Maar dit is so 'n algemene paradigma dat biblioteke soos Skoenlus 820 00:36:20,800 --> 00:36:25,230 net gee jou die vermoë om 'n te maak drop down menu ver, ver makliker. 821 00:36:25,230 --> 00:36:27,850 Daar is geen een manier om dit te doen, maar as ek lees die dokumentasie 822 00:36:27,850 --> 00:36:32,100 Ek sou sien dat, OK, moet ek gebruik hierdie HTML as ek wil 'n drop down menu 823 00:36:32,100 --> 00:36:34,030 wat optree soos dit. 824 00:36:34,030 --> 00:36:36,690 >> Net so, kom ons gaan na knoppie drop down. 825 00:36:36,690 --> 00:36:38,470 So dit is selfs liefhebber. 826 00:36:38,470 --> 00:36:41,800 As ek wil dit lyk soos 'n knoppie maar daardie klein driehoek beteken 827 00:36:41,800 --> 00:36:44,080 Ek moet kliek op dit en kry hierdie kieslys, hierdie 828 00:36:44,080 --> 00:36:45,760 is die gebruik van 'n taal JavaScript genoem. 829 00:36:45,760 --> 00:36:47,470 En ons kan almal implementeer hierdie in JavaScript. 830 00:36:47,470 --> 00:36:49,720 Maar weereens, dit is 'n wiel jy nie wil hê om uit te vind. 831 00:36:49,720 --> 00:36:52,700 Jy wil net om dit af te neem die rak biblioteek hiervoor. 832 00:36:52,700 --> 00:36:58,145 >> Kom ons gaan na iets soos vorder bars. 833 00:36:58,145 --> 00:36:59,770 So iets is gaaf. 834 00:36:59,770 --> 00:37:02,910 As jy al ooit 'n vordering gesien bar te beweeg oor die skerm, 835 00:37:02,910 --> 00:37:06,380 implementering wat dikwels is net 'n spin-ikoon. 836 00:37:06,380 --> 00:37:10,200 Trouens, net soos 'n eenkant, laat my na Ajax-- wat is dit? 837 00:37:10,200 --> 00:37:10,710 Ajax inligting? 838 00:37:10,710 --> 00:37:11,720 Oeps. 839 00:37:11,720 --> 00:37:13,035 Ajaxinfo. 840 00:37:13,035 --> 00:37:14,800 Laat my dink aan die adres. 841 00:37:14,800 --> 00:37:15,820 Daar gaan ons. 842 00:37:15,820 --> 00:37:19,850 >> So as jy ooit 'n animasie gesien terwyl die bladsy laai, of dink, 843 00:37:19,850 --> 00:37:25,410 of spaar, of om iets te skep, jy kan so 'animasies as hierdie, sien. 844 00:37:25,410 --> 00:37:28,800 So kom ons kyk na iets soos hierdie een hier, 845 00:37:28,800 --> 00:37:33,550 en laat ons kies 'n voorgrond kleur van groen, watter soort vriendelike voel. 846 00:37:33,550 --> 00:37:34,545 Kan ek hierdie klik? 847 00:37:34,545 --> 00:37:35,500 Kom een. 848 00:37:35,500 --> 00:37:36,000 OK. 849 00:37:36,000 --> 00:37:38,930 Ons sal net gaan met rooi omdat dit is wat ons kry. 850 00:37:38,930 --> 00:37:40,250 So hier het ons dit. 851 00:37:40,250 --> 00:37:43,940 >> So as jy ooit hierdie gesien het op 'n skerm, waardeur skielik blyk en dan 852 00:37:43,940 --> 00:37:47,550 skielik verdwyn, wat dit dit is die implementering van wat? 853 00:37:47,550 --> 00:37:48,970 Wel, dit is net 'n GIF. 854 00:37:48,970 --> 00:37:52,850 G-ek-F. En dit is 'n geanimeerde lêer, wat net beteken 855 00:37:52,850 --> 00:37:54,327 dit is soos 'n ou skool strokiesprent. 856 00:37:54,327 --> 00:37:57,160 Daar is net 'n klomp van die verskillende rame wat gaan [hakkel] 857 00:37:57,160 --> 00:37:58,085 en net herhaal. 858 00:37:58,085 --> 00:38:00,090 En dit is die skep van die illusie van beweging. 859 00:38:00,090 --> 00:38:03,070 >> So gou as 'n bladsy gedoen word laai of om iets te doen, 860 00:38:03,070 --> 00:38:04,610 Wat doen 'n programmeerder doen? 861 00:38:04,610 --> 00:38:07,500 Wel, hy of sy huide net hierdie beeld. 862 00:38:07,500 --> 00:38:11,536 So was dan al 'n progress bar is is soort van soos 'n fliek wat jy kyk. 863 00:38:11,536 --> 00:38:14,660 Jy is soort van onbewus van die feit dat dit niks eintlik doen, 864 00:38:14,660 --> 00:38:15,940 dit is net beweeg. 865 00:38:15,940 --> 00:38:19,150 >> En dan, wanneer dit gedoen vorder, hulle steek dit net of dit kan afskakel. 866 00:38:19,150 --> 00:38:21,115 En dit is al wat die magie wat gaan daar aan. 867 00:38:21,115 --> 00:38:22,770 Bootstrap gee jou iets wat 'n bietjie liefhebber, 868 00:38:22,770 --> 00:38:25,030 waardeur jy kan eintlik sien 'n persentasie as dit gaan, 869 00:38:25,030 --> 00:38:27,840 maar ook dit is net soort van 'n eenvoudige animasie. 870 00:38:27,840 --> 00:38:32,250 >> Kom ons kyk na 'n paar finale meer komplekse voorbeelde hier. 871 00:38:32,250 --> 00:38:35,526 Iets soos 'n modale. 872 00:38:35,526 --> 00:38:36,900 Is daar iemand weet wat 'n modale is? 873 00:38:36,900 --> 00:38:39,880 874 00:38:39,880 --> 00:38:42,550 A modale venster is oor die algemeen een wat veronderstel is 875 00:38:42,550 --> 00:38:46,880 om beheer oor die voorgrond te neem en verhoed dat jy enigiets anders doen. 876 00:38:46,880 --> 00:38:50,290 Dit soort van dwing die gebruiker se aandag aan die middel van die skerm, 877 00:38:50,290 --> 00:38:52,290 sluit hulle uit, tipies, van alles. 878 00:38:52,290 --> 00:38:55,830 >> So as ek van stapel te stuur hierdie demo, die skerm sal oor die algemeen grys geword. 879 00:38:55,830 --> 00:38:57,060 Wel, hoe kan ons dit grys? 880 00:38:57,060 --> 00:38:59,080 Wel, ons waarskynlik net verander die agtergrond 881 00:38:59,080 --> 00:39:01,060 soos wat dit gister of iets soos dit. 882 00:39:01,060 --> 00:39:03,490 Miskien is dit 'n overlay dat semi-deursigtige. 883 00:39:03,490 --> 00:39:06,320 En nou sien wat jy kan doen fancy dinge soos hierdie. 884 00:39:06,320 --> 00:39:09,930 So as jy ooit klik op 'n knoppie en wil 'n bietjie pop uit te verskyn, 885 00:39:09,930 --> 00:39:10,710 jy kan dit doen. 886 00:39:10,710 --> 00:39:12,340 En so wat omgee all-- ja? 887 00:39:12,340 --> 00:39:15,791 >> Publiek: So met Skoenlus, om dit te kry opgeneem, 888 00:39:15,791 --> 00:39:21,002 is dit so eenvoudig soos soos gister Ons het die bladsy CSS style? 889 00:39:21,002 --> 00:39:21,960 David J. MALAN: Inderdaad. 890 00:39:21,960 --> 00:39:22,835 Regtig 'n goeie vraag. 891 00:39:22,835 --> 00:39:24,480 Laat my gaan na die slag. 892 00:39:24,480 --> 00:39:26,090 En ja. 893 00:39:26,090 --> 00:39:30,920 Al wat jy hoef te doen ten einde gebruik Skoenlus is in wese kopieer 894 00:39:30,920 --> 00:39:35,910 en plak hierdie drie lang rye van kode in die top van jou eie web page-- 895 00:39:35,910 --> 00:39:38,892 die hoof van jou page-- en jy so gou as moontlik. 896 00:39:38,892 --> 00:39:41,850 En daar is verskillende maniere om dit te doen dit, maar dit sou die eenvoudigste wees. 897 00:39:41,850 --> 00:39:45,190 >> So, wat is nuttig oor al hierdie dinge? 898 00:39:45,190 --> 00:39:47,524 Wel, as jy nie soveel die implementeerder van 'n webwerf 899 00:39:47,524 --> 00:39:50,106 maar jy probeer om dit te ontwerp, of jy wil iemand te voorsien 900 00:39:50,106 --> 00:39:53,220 met 'n draad raam diagramme, so te sê, of weergawes van wat net kunstenaar se 901 00:39:53,220 --> 00:39:56,080 wat jy wil doen, ek, om hierdie dag, sal dikwels gaan na 'n webwerf 902 00:39:56,080 --> 00:39:58,660 soos Skoenlus, waar as ek wil something-- implementeer 903 00:39:58,660 --> 00:40:02,290 soos onlangs op die kampus Ons wou implementeer 904 00:40:02,290 --> 00:40:06,170 'n web-gebaseerde hulpmiddel vir die opgevolg Harvard se kursus katalogus, 905 00:40:06,170 --> 00:40:08,770 maak dit makliker vir studente om te blaai deur kursusse 906 00:40:08,770 --> 00:40:10,930 en kursusse by te voeg inkopielys, om so te praat, 907 00:40:10,930 --> 00:40:13,070 soort besluit wat hulle wou neem. 908 00:40:13,070 --> 00:40:16,252 >> Ek het probeer om te dink vir myself, wat bestanddele sou 909 00:40:16,252 --> 00:40:17,460 ons wil gebruik om hierdie te bou? 910 00:40:17,460 --> 00:40:19,050 Wat sou die gebruikerskoppelvlak wees? 911 00:40:19,050 --> 00:40:22,800 En net kyk deur 'n site soos hierdie of ander sulke biblioteek webwerwe, 912 00:40:22,800 --> 00:40:26,560 jy kan inspirasie kry, want Sjoe, Ek kan hierdie widget, en hierdie widget gebruik, 913 00:40:26,560 --> 00:40:27,330 en hierdie widget. 914 00:40:27,330 --> 00:40:29,080 En dan regtig wat die programmeerder begin 915 00:40:29,080 --> 00:40:32,800 om te doen, veral in hierdie dae in hierdie meer moderne wêreld van die web ontwikkeling, 916 00:40:32,800 --> 00:40:35,827 is programme is toenemend oor mekaar bedrading dinge. 917 00:40:35,827 --> 00:40:38,910 Soort van die neem van hierdie van die rak af, hierdie van die rak af, dit van die rak af, 918 00:40:38,910 --> 00:40:41,954 en jy wat die slim een om al daardie punte te verbind, 919 00:40:41,954 --> 00:40:45,120 maar uiteindelik iets te bou deur weer staan ​​op die skouers van ander, 920 00:40:45,120 --> 00:40:49,370 sodat jy nie 'n maand spandeer implementering van 'n dom drop down menu, 921 00:40:49,370 --> 00:40:52,080 wat eintlik moeilik om te doen as jy wil hê dit moet werk op Chrome, 922 00:40:52,080 --> 00:40:55,220 en Internet Explorer en Firefox, en enige aantal ander blaaiers. 923 00:40:55,220 --> 00:40:59,060 Dit is waarom daar is hierdie ryk kommersiële en open source sagteware 924 00:40:59,060 --> 00:41:01,220 industrie sowel. 925 00:41:01,220 --> 00:41:06,810 >> Publiek: So maak Skoenlus kry opgedateer en jy moet dan werk jou skakels? 926 00:41:06,810 --> 00:41:07,820 >> David J. MALAN: Dit maak. 927 00:41:07,820 --> 00:41:09,090 Wel, ja, dit doen. 928 00:41:09,090 --> 00:41:12,540 Bootstrap is tans op weergawe 3.3.6. 929 00:41:12,540 --> 00:41:16,720 En oor die algemeen wat jy sou do-- dit is eintlik noemenswaardig. 930 00:41:16,720 --> 00:41:19,200 Daar is wat oor die algemeen bekend as 'n semantiese weergawes 931 00:41:19,200 --> 00:41:20,160 stelsel in die wêreld. 932 00:41:20,160 --> 00:41:21,320 Nie almal doen dit. 933 00:41:21,320 --> 00:41:26,410 >> Maar as jy weergawe nommers gesien wat van die vorm x.y.z-- 934 00:41:26,410 --> 00:41:30,240 So byvoorbeeld, die eerste weergawe van 'n program kan wees 1.0.0. 935 00:41:30,240 --> 00:41:34,970 Of as dit is baie, baie beta, of selfs Alpha status, wat gebruik beteken 936 00:41:34,970 --> 00:41:37,620 op eie risiko, dit is nie werklik gereed vir die eerste keer, 937 00:41:37,620 --> 00:41:42,080 jy kan selfs begin 0.0.1 of 'n sodanige aanwysing. 938 00:41:42,080 --> 00:41:47,260 Maar as sagteware begin by weergawe 1.0, of anders gestel 1.0.0, 939 00:41:47,260 --> 00:41:50,530 Tipies, wat algemeen hierdie days-- maar nie omnipresent-- is 940 00:41:50,530 --> 00:41:53,520 Indien 'n maatskappy of 'n individuele programmeerder fixes 941 00:41:53,520 --> 00:41:56,140 sommige fout in 'n stuk sagteware wat werklik 942 00:41:56,140 --> 00:42:01,620 was 'n fout, waarvan die regstelling moet nie impak wat jy op all-- dit nie verander nie 943 00:42:01,620 --> 00:42:03,940 gedrag van die program, dit net fixes iets 944 00:42:03,940 --> 00:42:06,580 wat nie werk nie properly-- jy sou tipies 945 00:42:06,580 --> 00:42:08,890 werk daar die z waarde. 946 00:42:08,890 --> 00:42:12,900 Wat beteken iemand soos Kareem kon net gaan in sy webwerf, 947 00:42:12,900 --> 00:42:19,470 blindelings verander die weergawe vanaf 1.0.0 tot 1.0.1, stoor dit, stuur dit, 948 00:42:19,470 --> 00:42:21,880 en in teorie, nie te bekommerd dat hy net gebreek 949 00:42:21,880 --> 00:42:24,430 sy webwerf as gevolg van sommige gebrek aan funksionaliteit, 950 00:42:24,430 --> 00:42:25,870 omdat iets anders gebreek. 951 00:42:25,870 --> 00:42:28,740 >> Intussen, as ek die programmeerder of 'n maatskappy 952 00:42:28,740 --> 00:42:35,500 was om 'n paar belangrike maak verandering wat funksionaliteit voeg, 953 00:42:35,500 --> 00:42:40,320 Ek kan ons te werk om 1.1.0 want ek eintlik is 954 00:42:40,320 --> 00:42:42,200 verandering van die gedrag van die biblioteek. 955 00:42:42,200 --> 00:42:44,470 Ek gee jou dalk meer funksies. 956 00:42:44,470 --> 00:42:48,490 Ten slotte, as ek eintlik fundamenteel die sagteware te verander sodat 957 00:42:48,490 --> 00:42:54,380 veel dat dit sal breek baie gebruikers webwerwe of aansoeke, 958 00:42:54,380 --> 00:42:59,550 dan is ek verplig, in hierdie model, te te gradeer die groot weergawe nommer, 959 00:42:59,550 --> 00:43:01,059 wat 'n verbreking verandering. 960 00:43:01,059 --> 00:43:03,725 Met ander woorde, kan ek beëindigde ondersteuning vir diegene druppel 961 00:43:03,725 --> 00:43:04,350 down menu. 962 00:43:04,350 --> 00:43:07,790 So as jy 'n upgrade na 2.0, 'n halwe jou webwerf kan ophou werk. 963 00:43:07,790 --> 00:43:10,950 En dit is 'n soort van 'n sein om die gemeenskap oor wat is 964 00:43:10,950 --> 00:43:13,223 wat betrokke is by die maak van 'n opgradering. 965 00:43:13,223 --> 00:43:16,710 966 00:43:16,710 --> 00:43:18,020 'N Goeie geleentheid om in te samel. 967 00:43:18,020 --> 00:43:18,718 Ander vrae? 968 00:43:18,718 --> 00:43:21,761 969 00:43:21,761 --> 00:43:22,260 Alles reg. 970 00:43:22,260 --> 00:43:26,945 Wel, laat ons 'n blik op 'n finale onderwerp in hierdie segment van ontwikkeling 971 00:43:26,945 --> 00:43:30,640 van tegnologie stapels, naamlik met betrekking tot selfone. 972 00:43:30,640 --> 00:43:36,232 >> So in die wêreld van selfone vandag jy have-- en iPads, en oppervlaktes, 973 00:43:36,232 --> 00:43:37,940 en al die soorte van devices-- jy 974 00:43:37,940 --> 00:43:40,950 'n baie keuses wanneer dit kom by die implementering 975 00:43:40,950 --> 00:43:47,270 'n aansoek of 'n webwerf vir mobiele toestelle jou kliënt. 976 00:43:47,270 --> 00:43:51,570 Dus net aan die staat voor die hand liggend, miskien deesdae, 977 00:43:51,570 --> 00:43:54,960 wat die platforms om ontwikkel in die mobiele ruimte? 978 00:43:54,960 --> 00:43:59,650 Wat toestelle wil jy dalk ondersteun met jou program of webwerf? 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 So Apple toestelle. 982 00:44:01,820 --> 00:44:06,740 dit beteken dus iPhone, en dat beteken iPad, en miskien selfs iPod. 983 00:44:06,740 --> 00:44:07,627 Wat nog? 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 So Android fone, Android tablette, die Android mark 990 00:44:17,335 --> 00:44:21,240 is selfs Messier because-- en selfs Apple steeds deurmekaar. 991 00:44:21,240 --> 00:44:23,960 AANGESIEN eens op 'n tyd iPhone was 'n sekere grootte, 992 00:44:23,960 --> 00:44:26,560 en iPad was 'n sekere grootte, en iPod was 'n sekere grootte, nou 993 00:44:26,560 --> 00:44:33,420 Ons het iPad Mini, en die dun kinders en die iPhone 6 Plus en 6. 994 00:44:33,420 --> 00:44:34,407 Dit is besig om 'n gemors. 995 00:44:34,407 --> 00:44:35,740 Dit is besig om die Android wêreld. 996 00:44:35,740 --> 00:44:39,030 >> En ek sê dit met soort van rollende my oë, want van 'n ontwikkelaar se 997 00:44:39,030 --> 00:44:41,680 perspektief, is dit 'n pyn in die nek toe 998 00:44:41,680 --> 00:44:45,686 jy hoef nie Steve Jobs se visie van absolute beheer 999 00:44:45,686 --> 00:44:47,060 oor al hierdie spesifikasies. 1000 00:44:47,060 --> 00:44:49,726 Apple doen steeds omdat hulle die kinders bou van die hardeware. 1001 00:44:49,726 --> 00:44:52,690 Maar dit is 'n mooi ding, as Ek is 'n sagteware ontwikkelaar, 1002 00:44:52,690 --> 00:44:54,520 om net te weet dat my iPhone is altyd iets 1003 00:44:54,520 --> 00:44:56,850 hierdie groot, want nie wat beteken dat ek altyd weet 1004 00:44:56,850 --> 00:44:58,847 hoeveel skerm Real Estate wat ek het. 1005 00:44:58,847 --> 00:45:01,180 So as ek wil 'n ikoon stel in die boonste linkerkantste hoek, 1006 00:45:01,180 --> 00:45:04,530 dit gaan wees in presies dieselfde plaas op die toestel elke kliënt se behoefte. 1007 00:45:04,530 --> 00:45:07,140 >> Maar in die wêreld van die iPhone 6s en iPhone 6 Plussen 1008 00:45:07,140 --> 00:45:10,570 en in die wêreld van Android selfone, dit is alles oor die kaart. 1009 00:45:10,570 --> 00:45:13,580 En so gaan dit maak dit moeiliker om program dinge, veral gebruikerkoppelvlakke, 1010 00:45:13,580 --> 00:45:18,270 want nou het jy om te begin reël jou gebruikerkoppelvlakke relatief, nie 1011 00:45:18,270 --> 00:45:19,730 absoluut. 1012 00:45:19,730 --> 00:45:23,524 En dieselfde is waar oor blaaier nie, en desktops en skootrekenaars vir jare 1013 00:45:23,524 --> 00:45:25,690 omdat jy, natuurlik, verskillende skerm groottes. 1014 00:45:25,690 --> 00:45:26,189 >> Wat nog? 1015 00:45:26,189 --> 00:45:30,170 Jy kan oppervlaktes het, soos Microsoft. 1016 00:45:30,170 --> 00:45:31,270 Jy kan have-- 1017 00:45:31,270 --> 00:45:32,270 Publiek: Windows selfoon. 1018 00:45:32,270 --> 00:45:32,816 David J. MALAN: Wat is dit? 1019 00:45:32,816 --> 00:45:33,570 Publiek: Windows selfoon. 1020 00:45:33,570 --> 00:45:34,403 David J. MALAN: Ja. 1021 00:45:34,403 --> 00:45:37,570 So vensters fone kan nog gevind word. 1022 00:45:37,570 --> 00:45:41,840 Soort soort Blackberrys, maar hulle hou probeer. 1023 00:45:41,840 --> 00:45:43,900 En dan trosse ander toestelle. 1024 00:45:43,900 --> 00:45:48,020 So vir die grootste deel, laat ons sê dit is hulle 1025 00:45:48,020 --> 00:45:49,520 om oor te sorg op die oomblik. 1026 00:45:49,520 --> 00:45:51,890 Sekerlik die Apple dinge, beslis die Android dinge, 1027 00:45:51,890 --> 00:45:55,640 en onder Windows, soos oppervlak tablette blyk te wees vang op baie goed. 1028 00:45:55,640 --> 00:45:58,030 >> En so onder die toestelle, As jy wil om uit te rol, 1029 00:45:58,030 --> 00:46:02,677 kom ons sê, 'n mobiele teenwoordigheid vir jou maatskappy, watter soort van ontwerp besluite 1030 00:46:02,677 --> 00:46:03,510 doen wat jy hoef te maak? 1031 00:46:03,510 --> 00:46:06,350 Wel, ons het reeds gesê in die Apple wêreld, 1032 00:46:06,350 --> 00:46:08,790 Daar is ten minste twee tale wat tipies gebruik word. 1033 00:46:08,790 --> 00:46:10,260 Een is wat genoem word? 1034 00:46:10,260 --> 00:46:11,260 >> Publiek: Objective-C. 1035 00:46:11,260 --> 00:46:11,560 >> David J. MALAN: Ja. 1036 00:46:11,560 --> 00:46:13,600 So Objective-C, wat is die ouer een. 1037 00:46:13,600 --> 00:46:17,720 Dit is ook die taal wat baie Mac aansoeke word nog in geskrewe. 1038 00:46:17,720 --> 00:46:18,964 Toe die ander nuwer een 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 dit is die soort twee weet te beïndruk mense. 1042 00:46:23,900 --> 00:46:28,238 Toe ek in die Android wêreld, Watter taal Android gebruik? 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 die taal van "du jour." 1046 00:46:34,230 --> 00:46:37,950 In die Windows wêreld, seker, ons sal sê C # in daardie geval. 1047 00:46:37,950 --> 00:46:40,590 So al hierdie is 'n soort van irriterende, want wat is 1048 00:46:40,590 --> 00:46:43,070 die afhaal vir 'n besigheid eienaar of iemand wat net 1049 00:46:43,070 --> 00:46:44,570 wil uitrol n mobiele teenwoordigheid? 1050 00:46:44,570 --> 00:46:45,220 Soos, damn dit? 1051 00:46:45,220 --> 00:46:48,590 Soos, as ek wil ondersteun 'n taamlike breë basis van gebruikers, 1052 00:46:48,590 --> 00:46:52,180 Ek het om te skryf, wil dit voorkom, drie afsonderlike programme. 1053 00:46:52,180 --> 00:46:55,630 Een in een van hierdie tale, een in Java, een in C #. 1054 00:46:55,630 --> 00:46:59,620 En selfs as ek wil die funksie identies te wees, beteken dit nie saak nie. 1055 00:46:59,620 --> 00:47:02,940 Ek moet nog steeds verskillende gebruik tale omdat Apple en Microsoft, 1056 00:47:02,940 --> 00:47:06,084 en Google al steun verskillende omgewings. 1057 00:47:06,084 --> 00:47:07,750 En dit het 'n uitdaging vir die jaar. 1058 00:47:07,750 --> 00:47:10,100 Terug in die dag, wanneer mense gebruik om sagteware te koop 1059 00:47:10,100 --> 00:47:12,230 op 'n rekenaar winkel in krimp toegedraai bokse, 1060 00:47:12,230 --> 00:47:14,470 sou jy het om bereik vir die Mac rak, 1061 00:47:14,470 --> 00:47:19,040 of for-- miskien hierdie baie klein Mac shelf-- of die groter Windows rak 1062 00:47:19,040 --> 00:47:19,980 en koop 'n paar sagteware. 1063 00:47:19,980 --> 00:47:22,813 En baie dikwels, was daar nie eens alles vir jou op die Mac rak. 1064 00:47:22,813 --> 00:47:23,430 Hoekom? 1065 00:47:23,430 --> 00:47:26,900 Wel, maatskappye het besluit as 90% van die wêreld, 95% van die wêreld 1066 00:47:26,900 --> 00:47:31,180 het rekenaars, waarom selfs die moeite implementering van die dinge wat op Mac OS? 1067 00:47:31,180 --> 00:47:34,370 >> As 'n aside-- n totale digression-- hoekom is dit 1068 00:47:34,370 --> 00:47:40,960 dat Mac lyk so dig om virusse, en wurms, en sekerheidsbedreigings? 1069 00:47:40,960 --> 00:47:44,040 Is Apple beter hieroor 1070 00:47:44,040 --> 00:47:45,934 Beter te hou rekenaars te beveilig? 1071 00:47:45,934 --> 00:47:47,750 >> Publiek: Kleiner gehoor? 1072 00:47:47,750 --> 00:47:50,720 >> David J. MALAN: Dis waarskynlik die groter bietjie om dit te. 1073 00:47:50,720 --> 00:47:54,740 So het die baie gebruikers van Mac het lank beweer, o, gebruik 'n Mac, 1074 00:47:54,740 --> 00:47:57,630 jy immuun teen virusse wees, en wurms, en al hierdie dinge 1075 00:47:57,630 --> 00:47:59,180 wat al lank geteister rekenaars. 1076 00:47:59,180 --> 00:48:02,050 Dit kan wees as gevolg van Apple het 'n beter programmeerders 1077 00:48:02,050 --> 00:48:05,250 en hulle skryf beter sagteware, of die bedryfstelsel is beter ontwerp. 1078 00:48:05,250 --> 00:48:06,870 Miskien, maar waarskynlik nie. 1079 00:48:06,870 --> 00:48:10,840 >> Dit is waarskynlik dat wanneer jy 'n 12-jarige, of 'n 30 iets 1080 00:48:10,840 --> 00:48:13,510 soort van by die huis sit skryfwerk kwaadwillige sagteware om oor te neem 1081 00:48:13,510 --> 00:48:17,480 die wêreld, jy gaan om te gaan na die veel groter teikengehoor. 1082 00:48:17,480 --> 00:48:20,590 Die 95% van die wêreld wat dalk word met Windows of 'n 1083 00:48:20,590 --> 00:48:21,740 variante daarvan. 1084 00:48:21,740 --> 00:48:23,800 Daar is dus 'n bietjie aan beide kante. 1085 00:48:23,800 --> 00:48:25,710 Maar om hul krediet, Apple, na my wete, 1086 00:48:25,710 --> 00:48:28,270 het nie regtig beskou hulself as meer veilig, 1087 00:48:28,270 --> 00:48:32,110 aangesien jy net nooi drama as julle wat aanspraak maak, sou ek dink. 1088 00:48:32,110 --> 00:48:32,610 >> Alles reg. 1089 00:48:32,610 --> 00:48:36,490 Sonder om te ver af dat, hoe doen ons dit op te los? 1090 00:48:36,490 --> 00:48:39,670 Doen wat jy hoef te koop of te doen wat jy hoef te betaal drie verskillende mense te ontwikkel 1091 00:48:39,670 --> 00:48:41,540 jou programme? 1092 00:48:41,540 --> 00:48:42,870 Het jy kies een oor die ander? 1093 00:48:42,870 --> 00:48:45,460 Wat moet jou te lei dink hier dink jy? 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 Nope. 1098 00:48:51,500 --> 00:48:54,190 Iemand anders. 1099 00:48:54,190 --> 00:48:56,885 >> Publiek: kom net met die hardeware. 1100 00:48:56,885 --> 00:48:58,510 David J. MALAN: Kom met die hardeware? 1101 00:48:58,510 --> 00:48:59,533 Wat bedoel jy? 1102 00:48:59,533 --> 00:49:01,282 >> Publiek: Vir die omgewing. [Onhoorbaar] 1103 00:49:01,282 --> 00:49:04,867 1104 00:49:04,867 --> 00:49:06,200 David J. MALAN: So dit is waar. 1105 00:49:06,200 --> 00:49:09,280 Maar jou kliënte, Intussen kan iPhones het, 1106 00:49:09,280 --> 00:49:13,530 hulle kan Android selfone het, het hulle dalk tablette gemaak deur Microsoft het. 1107 00:49:13,530 --> 00:49:19,040 So hoe kan jy 'n mobiele strategie vir al hierdie verskillende gebruikers? 1108 00:49:19,040 --> 00:49:23,320 Dit blyk dat indien dit kos, kom ons sê $ 1000 tot 'n iPhone maak 1109 00:49:23,320 --> 00:49:25,940 aansoek, gaan dit om kos jou $ 2000 te maak 1110 00:49:25,940 --> 00:49:29,250 'n iPhone aansoek en 'n Android aansoek, of $ 3,000 1111 00:49:29,250 --> 00:49:31,407 om ook te ondersteun Windows toestelle sowel. 1112 00:49:31,407 --> 00:49:33,990 Dit is waarskynlik nogal 'n understatement, en dit kan selfs nie 1113 00:49:33,990 --> 00:49:36,050 'n lineêre verwantskap soos dit. 1114 00:49:36,050 --> 00:49:41,065 >> Publiek: As jy 'n program wil hê of nie, kan jy reageer webwerf. 1115 00:49:41,065 --> 00:49:41,940 David J. MALAN: Goed. 1116 00:49:41,940 --> 00:49:46,255 Publiek: Of jy kan 'n inheemse app het. 1117 00:49:46,255 --> 00:49:47,130 David J. MALAN: Ja. 1118 00:49:47,130 --> 00:49:50,260 So in al hierdie konteks hier, Ons het gepraat oor wat 1119 00:49:50,260 --> 00:49:53,190 mense sou inheemse aansoeke noem. 1120 00:49:53,190 --> 00:49:58,040 Dit is programme wat geskryf is in die moedertaal van die toestel. 1121 00:49:58,040 --> 00:50:02,190 So moedertaal Objective-C of Swift kode, of in Java, of in C #. 1122 00:50:02,190 --> 00:50:06,900 Wat beteken wanneer jy dit aflaai, laat ons sê Snapchat, 'n gewilde program, 1123 00:50:06,900 --> 00:50:10,060 of wanneer jy dit aflaai Facebook vir 'n selfoon, 1124 00:50:10,060 --> 00:50:13,270 jy die aflaai van óf die weergawe geskryf vir jou iPhone, 1125 00:50:13,270 --> 00:50:16,830 of geskryf vir jou Android-selfoon, of geskryf vir jou oppervlak. 1126 00:50:16,830 --> 00:50:18,500 >> Maar daar is 'n alternatief. 1127 00:50:18,500 --> 00:50:26,020 Soos Olivier is met verwysing na, jy kan eintlik gebruik HTML 5 1128 00:50:26,020 --> 00:50:33,440 In plaas daarvan, die gebruik van wat is bekend as 'n web aansoek, waardeur jy net 1129 00:50:33,440 --> 00:50:35,940 implementeer jou selfoon teenwoordigheid en enige funksie. 1130 00:50:35,940 --> 00:50:37,030 Wat bedoel ek met mobiele teenwoordigheid? 1131 00:50:37,030 --> 00:50:39,800 Soos jou webwerf wat jou het kontakbesonderhede, 'n lys van al 1132 00:50:39,800 --> 00:50:43,049 jou produkte, miskien is dit 'n winkelsentrum wa dalk verkoop jy dinge daardeur. 1133 00:50:43,049 --> 00:50:46,850 Wat jou aansoek is, jy implementeer, nie in Objective-C, 1134 00:50:46,850 --> 00:50:51,200 of Swift, of Java, of C #, maar in HTML 5, wat die taal wat ons gekyk het 1135 00:50:51,200 --> 00:50:55,470 gister, met JavaScript en CSS. 1136 00:50:55,470 --> 00:50:58,700 >> En wat is lekker oor daardie drie is dat hulle hardloop, 1137 00:50:58,700 --> 00:51:01,981 jy net wat stuk sagteware nodig? 1138 00:51:01,981 --> 00:51:02,980 Publiek: 'n webblaaier. 1139 00:51:02,980 --> 00:51:04,229 David J. MALAN: 'n webblaaier. 1140 00:51:04,229 --> 00:51:07,610 En die beste wat ek weet, al hierdie toestelle kom met webblaaiers, 1141 00:51:07,610 --> 00:51:10,480 sodat die gebruiker het nie ' installeer iets spesiaals. 1142 00:51:10,480 --> 00:51:12,920 So jy kan net vertel jou gehoor, jou kliënte, 1143 00:51:12,920 --> 00:51:16,590 gaan na acme.com in jou leser en jy sal net 1144 00:51:16,590 --> 00:51:19,730 'n web-gebaseerde ervaring wat nog vul die skerm, 1145 00:51:19,730 --> 00:51:25,100 maar jy hoef nie te bekommerd wees oor al hierdie koste en al hierdie dinge kompleksiteit. 1146 00:51:25,100 --> 00:51:28,600 Maar seker daar gaan 'n vangs hier wees, reg? 1147 00:51:28,600 --> 00:51:31,740 Veral as ek daarop wys wat 'n paar jaar gelede, 1148 00:51:31,740 --> 00:51:35,700 die heel eerste weergawe van mobiele aansoek Facebook se 1149 00:51:35,700 --> 00:51:38,810 was meestal 'n HTML 5 aansoek. 1150 00:51:38,810 --> 00:51:42,490 En hulle het meer onlangs, reimplemented dit 1151 00:51:42,490 --> 00:51:44,700 in hul ander programme. 1152 00:51:44,700 --> 00:51:46,990 >> So hoekom sou jy nie onmiddellik wil sê, 1153 00:51:46,990 --> 00:51:49,190 Wel, natuurlik ons ​​gaan om dit te doen? 1154 00:51:49,190 --> 00:51:51,560 Wat kan die verborge koste wees? 1155 00:51:51,560 --> 00:51:52,477 >> Publiek: Prestasie. 1156 00:51:52,477 --> 00:51:53,643 David J. Malan Performance? 1157 00:51:53,643 --> 00:51:54,567 Hoe meen jy? 1158 00:51:54,567 --> 00:52:01,040 >> Gehoor: Die inheemse app meer prestasie. 1159 00:52:01,040 --> 00:52:03,850 >> David J. MALAN: So dit is ware, vir 'n paar redes. 1160 00:52:03,850 --> 00:52:05,270 Ons kan die antwoord eenvoudig vir. 1161 00:52:05,270 --> 00:52:08,061 En onthou ons bespreking van vertolk teenoor saamgestel tale. 1162 00:52:08,061 --> 00:52:12,030 Dit is HTML 5 en daarmee, net om te wees duidelike, JavaScript-- algemeen geskryf 1163 00:52:12,030 --> 00:52:15,880 JS-- en CSS is al geïnterpreteer tale, 1164 00:52:15,880 --> 00:52:21,020 selfs al is net JavaScript is 'n programmeertaal. 1165 00:52:21,020 --> 00:52:25,820 >> En so teenoor hierdie, wat sommige van hierdie saamgestel, ten minste hierdie three-- 1166 00:52:25,820 --> 00:52:29,990 Doel-C, Java en C # - hierdie, in teorie, moet net vinniger wees. 1167 00:52:29,990 --> 00:52:31,670 Maar daar is nog 'n werklikheid for-- 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 dit? 1170 00:52:32,830 --> 00:52:34,060 >> Publiek: funksies. 1171 00:52:34,060 --> 00:52:34,570 >> David J. MALAN: Funksionaliteit? 1172 00:52:34,570 --> 00:52:35,070 Hoe so? 1173 00:52:35,070 --> 00:52:37,305 Publiek: Gebruik die kamera af jou selfoon of iets. 1174 00:52:37,305 --> 00:52:41,471 Jy kan diegene met die leser te gebruik. 1175 00:52:41,471 --> 00:52:42,470 David J. MALAN: Presies. 1176 00:52:42,470 --> 00:52:43,011 Hulle is sec-- 1177 00:52:43,011 --> 00:52:45,034 Gehoor: [onhoorbaar] 1178 00:52:45,034 --> 00:52:46,700 David J. MALAN: Dis 'n goeie een. 1179 00:52:46,700 --> 00:52:49,230 Daar is eienskappe wat kom met selfone vandag 1180 00:52:49,230 --> 00:52:53,840 wat nie deur ontwerp, vir veiligheid redes, toeganklik vir webblaaiers. 1181 00:52:53,840 --> 00:52:56,410 Want dit soort sou wees 'n grillerige ding as net wanneer 1182 00:52:56,410 --> 00:53:00,710 jy besoek google.com, of cnn.com, of enige website.com, 1183 00:53:00,710 --> 00:53:04,490 dat die webwerf het die mag om te draai op jou kamera, neem 'n foto van jou, 1184 00:53:04,490 --> 00:53:06,010 en gebruik dit dan. 1185 00:53:06,010 --> 00:53:09,280 Maar jy wil nie 'n ewekansige webwerf wat jy besoek vir die heel eerste keer 1186 00:53:09,280 --> 00:53:10,690 daardie vermoë het. 1187 00:53:10,690 --> 00:53:13,460 >> En so what selfoon vervaardigers gewoonlik doen 1188 00:53:13,460 --> 00:53:17,230 is hulle toegang ontken net om daardie soort van inligting 1189 00:53:17,230 --> 00:53:20,650 om 'n leser, wat beteken dat jy kan die kamera nie te implementeer. 1190 00:53:20,650 --> 00:53:24,180 Jy kan nie implementeer deurstuurkennisgewings, die biep wat jy op jou skerm 1191 00:53:24,180 --> 00:53:26,120 met 'n kort boodskappe. 1192 00:53:26,120 --> 00:53:31,350 En in werklikheid, selfs GPS is slegs soort van soort beskikbaar vir webblaaiers. 1193 00:53:31,350 --> 00:53:34,140 As jy al ooit op 'n skootrekenaar of op 'n selfoon, 1194 00:53:34,140 --> 00:53:38,770 opgetrek iets soos miskien cnn.com, maar ook plaaslike nuus stasies 1195 00:53:38,770 --> 00:53:43,890 is geneig om dit te doen, jy gevra word dikwels met 'n message-- foxnews.com 1196 00:53:43,890 --> 00:53:45,170 wil jou plek te leer ken. 1197 00:53:45,170 --> 00:53:46,610 Goed te keur of te ontken. 1198 00:53:46,610 --> 00:53:52,070 >> Wel, die leser probeer om toegang te verkry jou GPS inligting van jou selfoon. 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 besluit wat voel soos dit is 'n nuttige situasie, 1201 00:53:57,330 --> 00:53:59,461 Ons wil Google Maps en ander gereedskap om te werk, 1202 00:53:59,461 --> 00:54:02,710 maar ons wil nie mense uit kruip deur net sodat 'n webwerf om dit te doen. 1203 00:54:02,710 --> 00:54:05,934 So laat ons soort ontmoet halfpad en gevra die gebruiker. 1204 00:54:05,934 --> 00:54:08,850 Maar dit is nie noodwendig die geval met alle hardeware, soos die kamera 1205 00:54:08,850 --> 00:54:10,680 en met druk kennisgewings en dies meer, 1206 00:54:10,680 --> 00:54:13,650 so jy mag hê om offer sekere funksies. 1207 00:54:13,650 --> 00:54:15,100 Maar ook prestasie. 1208 00:54:15,100 --> 00:54:18,020 Dit is besig om minder opvallend deesdae, miskien 1209 00:54:18,020 --> 00:54:22,400 soos LTE vang op en vinniger internet spoed op selfone, 1210 00:54:22,400 --> 00:54:24,110 maar jy kan soort van voel die verskil. 1211 00:54:24,110 --> 00:54:28,190 Soos 'n web-gebaseerde program voel net stadiger, tipies, 1212 00:54:28,190 --> 00:54:31,100 as 'n inheemse aansoek, deels omdat 'n web-gebaseerde program 1213 00:54:31,100 --> 00:54:32,680 per definisie is op die internet. 1214 00:54:32,680 --> 00:54:35,610 Dit is in gesprek met die bedieners op die web. 1215 00:54:35,610 --> 00:54:39,590 En as jou netwerkverbinding is stadig, selfs blaai stadig kan wees. 1216 00:54:39,590 --> 00:54:43,710 >> Maar 'n boorling aansoek, moet jy reeds pre-downloaded-- waarskynlik 1217 00:54:43,710 --> 00:54:45,680 toe jy by die huis uit die App Store, 1218 00:54:45,680 --> 00:54:47,900 of jy ten minste 'n pre-afgelaai dit in sy geheel 1219 00:54:47,900 --> 00:54:49,640 vroeër, ongeag jou verband speed-- 1220 00:54:49,640 --> 00:54:52,530 en so nou het jy al die stukkies wat jy oor die algemeen nodig. 1221 00:54:52,530 --> 00:54:55,090 Behalwe miskien 'n paar data wat afkomstig is van 'n bediener. 1222 00:54:55,090 --> 00:54:57,130 >> So dit is kompromieë hier. 1223 00:54:57,130 --> 00:54:59,980 Daar is soort van 'n middel kompromie, in werklikheid. 1224 00:54:59,980 --> 00:55:00,907 En ek dink you-- 1225 00:55:00,907 --> 00:55:02,895 >> Publiek: Gebruik die data op die regte pad. 1226 00:55:02,895 --> 00:55:06,355 In die inheemse apps, kan jy [onhoorbaar] 1227 00:55:06,355 --> 00:55:07,480 David J. MALAN: Absoluut. 1228 00:55:07,480 --> 00:55:09,730 Daar is dus die regte pad kwessie, Dit is regtig irriterende 1229 00:55:09,730 --> 00:55:13,120 As jy 'n paar spel of gebruik nie kan speel Sommige sagteware net omdat jy 1230 00:55:13,120 --> 00:55:15,110 in 'n kelder iewers of in 'n hysbak. 1231 00:55:15,110 --> 00:55:18,700 'N boorling aansoek is veerkragtig met 'n hoër waarskynlikheid teen daardie, 1232 00:55:18,700 --> 00:55:20,990 neem aan jy het al die data wat jy nodig het plaaslik. 1233 00:55:20,990 --> 00:55:22,900 >> Daar is dus 'n derde opsie hier. 1234 00:55:22,900 --> 00:55:30,270 En laat ons die spektrum te trek as inheemse app hier en web artikels hier. 1235 00:55:30,270 --> 00:55:32,460 En wat is in die middel is iets called-- 1236 00:55:32,460 --> 00:55:35,410 en ek dink jy mag hê gebruik die woord voor, miskien? 1237 00:55:35,410 --> 00:55:37,170 Hybrid aansoek. 1238 00:55:37,170 --> 00:55:40,980 En as die woord impliseer, dit is iets wat in die middel. 1239 00:55:40,980 --> 00:55:46,230 Dit is soort van 'n web-program en Dit is soort van 'n inheemse aansoek. 1240 00:55:46,230 --> 00:55:47,690 >> En wat beteken dit? 1241 00:55:47,690 --> 00:55:51,750 Dit blyk daar frameworks-- 'n term uit earlier-- sagteware te gebruik 1242 00:55:51,750 --> 00:55:55,860 wat ander mense geskryf het vir elkeen van hierdie platforms. 1243 00:55:55,860 --> 00:55:57,500 Hierdie en nog ander toestelle. 1244 00:55:57,500 --> 00:56:02,390 Trouens, dat ek kan gaan om PhoneGap, Dit is een so 'n raamwerk wat ek 1245 00:56:02,390 --> 00:56:04,520 glo Adobe besit nou. 1246 00:56:04,520 --> 00:56:07,830 Laat my gaan na die slag. 1247 00:56:07,830 --> 00:56:09,430 Kom ons sien. 1248 00:56:09,430 --> 00:56:12,450 Kyk of ek 'n lys van gereedskap kan sien. 1249 00:56:12,450 --> 00:56:13,150 Hardware. 1250 00:56:13,150 --> 00:56:15,845 Aan die gang kom. 1251 00:56:15,845 --> 00:56:17,570 PhoneGap hardeware. 1252 00:56:17,570 --> 00:56:18,672 >> Kom ons sien. 1253 00:56:18,672 --> 00:56:23,459 PhoneGap hardeware toegang. 1254 00:56:23,459 --> 00:56:26,125 Laat my sien of ons 'n bietjie kan vind kaart wat hulle gebruik het. 1255 00:56:26,125 --> 00:56:29,170 1256 00:56:29,170 --> 00:56:31,640 Dit is op 'n ander site. 1257 00:56:31,640 --> 00:56:32,525 Is dit nuttig? 1258 00:56:32,525 --> 00:56:33,030 Geen. 1259 00:56:33,030 --> 00:56:36,330 Dis nou mors ons tyd daar. 1260 00:56:36,330 --> 00:56:40,185 PhoneGap hardeware. 1261 00:56:40,185 --> 00:56:40,685 Toestelle. 1262 00:56:40,685 --> 00:56:45,190 1263 00:56:45,190 --> 00:56:48,030 Toestel API. 1264 00:56:48,030 --> 00:56:49,270 Nee, hulle het dit verskuif. 1265 00:56:49,270 --> 00:56:50,070 >> PhoneGap. 1266 00:56:50,070 --> 00:56:54,964 Kom ons gaan 'n laaste blik op hierdie en kyk of ek jou kan wys. 1267 00:56:54,964 --> 00:56:55,630 Aan die gang kom. 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 foon. 1272 00:57:03,270 --> 00:57:04,320 Kom. 1273 00:57:04,320 --> 00:57:07,220 1274 00:57:07,220 --> 00:57:08,580 Hulle het alles herorganiseer. 1275 00:57:08,580 --> 00:57:09,750 Alles reg. 1276 00:57:09,750 --> 00:57:11,370 Ag, alles reg. 1277 00:57:11,370 --> 00:57:12,550 Wel, hier gaan ons. 1278 00:57:12,550 --> 00:57:16,130 Dit is nie al wat insiggewend, maar dit is wat ek is soort van op soek na. 1279 00:57:16,130 --> 00:57:20,940 >> So PhoneGap is 'n raamwerk wat jou kan aflaai gratis wat gee jou 1280 00:57:20,940 --> 00:57:22,750 sommige voorgereg kode, in wese. 1281 00:57:22,750 --> 00:57:26,600 So 'n paar kode wat hulle geskryf het dit beteken nie veel van enigiets doen. 1282 00:57:26,600 --> 00:57:29,610 Maar wat dit gee jou in wese is die ekwivalent 1283 00:57:29,610 --> 00:57:34,910 van 'n program wat net sit 'n groot reghoek op die skerm van die gebruiker. 1284 00:57:34,910 --> 00:57:38,040 Dit maak nie 'n URL bar, soos 'n leser, nie 'n adres het. 1285 00:57:38,040 --> 00:57:39,650 Dit plaas net 'n groot reghoek. 1286 00:57:39,650 --> 00:57:43,230 En jy instel hierdie groot reghoek, onder die enjinkap, 1287 00:57:43,230 --> 00:57:50,780 om werklik te gaan na acme.com, of dalk m.acme.com, vir mobile.acme.com, 1288 00:57:50,780 --> 00:57:52,910 maar die gebruiker nie weet hulle is op daardie adres. 1289 00:57:52,910 --> 00:57:55,520 Al wat hulle sien, is die inhoud van die webblad. 1290 00:57:55,520 --> 00:57:59,822 >> Maar wat is lekker oor hierdie wese 'n hibriede inligting is dat dit wat PhoneGap 1291 00:57:59,822 --> 00:58:03,030 en ander maatskappye gee jou is hulle gee jou 'n bietjie van die kode 1292 00:58:03,030 --> 00:58:05,760 in Objective-C of Swift, of 'n bietjie van die kode in Java, 1293 00:58:05,760 --> 00:58:08,320 of 'n bietjie van die kode in C #, en in wese, 1294 00:58:08,320 --> 00:58:12,990 al wat jy hoef te voorsien is minimaal die adres van jou web-gebaseerde program. 1295 00:58:12,990 --> 00:58:15,750 En dan is dit bundel jy almal saam en jy 1296 00:58:15,750 --> 00:58:20,670 het dit óf toegang tot jou webwerf via die internet, 1297 00:58:20,670 --> 00:58:24,060 of jy selfs kas 'n plaaslike kopieer binne die aansoek, 1298 00:58:24,060 --> 00:58:28,690 en dan jou aansoek spaar jou in iPhone formaat, Android-selfoon 1299 00:58:28,690 --> 00:58:32,030 formaat, oppervlak-formaat, of enige aantal ander toestelle. 1300 00:58:32,030 --> 00:58:34,960 >> Jy laai elk van dié weergawes om die Google Play-winkel, 1301 00:58:34,960 --> 00:58:37,690 om die App Store, om die Windows Store, en dies meer. 1302 00:58:37,690 --> 00:58:41,570 En nou kan jy al jou gehore aflaai werklik 'n inheemse app, 1303 00:58:41,570 --> 00:58:44,250 hoewel die meeste van die kode was geskryf deur iemand anders, 1304 00:58:44,250 --> 00:58:49,090 maar die inhoud van daardie inheemse app al vandaan kom, tipies, jou eie webwerf. 1305 00:58:49,090 --> 00:58:53,950 So jy aanhou skryf jou webwerf in HTML, JavaScript, en CSS. 1306 00:58:53,950 --> 00:58:56,400 >> So hoekom hierdie lyne vervaag? 1307 00:58:56,400 --> 00:59:00,240 Hoekom het 'n baster aansoek dit is soort van inheemse, maar ook 1308 00:59:00,240 --> 00:59:02,569 soort web-gebaseerde? 1309 00:59:02,569 --> 00:59:04,610 Wat is die hele punt van die toevoeging van hierdie kompleksiteit? 1310 00:59:04,610 --> 00:59:07,180 Ek bedoel, selfs nog net uit skrams deur middel van hierdie bladsy, 1311 00:59:07,180 --> 00:59:11,790 die slag gids voel Dit het 'n hele klomp van die stappe vir my 1312 00:59:11,790 --> 00:59:13,514 om te doen voordat ek can-- 1313 00:59:13,514 --> 00:59:14,430 Publiek: Herbruikbaar Heid? 1314 00:59:14,430 --> 00:59:14,960 David J. Malan Herbruikbaar Heid? 1315 00:59:14,960 --> 00:59:15,618 Wat bedoel jy? 1316 00:59:15,618 --> 00:59:16,826 >> Publiek: Van die bronkode. 1317 00:59:16,826 --> 00:59:19,438 So dieselfde kode sal loop op al die verskillende platforms. 1318 00:59:19,438 --> 00:59:20,313 David J. MALAN: Ja. 1319 00:59:20,313 --> 00:59:21,188 Gehoor: [onhoorbaar] 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 As die tyd is styf en as jy nie dat baie developers-- 1323 00:59:26,930 --> 00:59:28,900 Miskien het jy 'n ontwikkelaar en hy of sy beslis 1324 00:59:28,900 --> 00:59:31,050 weet nie al hierdie environments-- beslis nie goed, 1325 00:59:31,050 --> 00:59:33,341 en beslis nie kan program in al drie gelyktydig 1326 00:59:33,341 --> 00:59:35,970 en die skip drie produkte in die tyd wat toegelaat word vir een, 1327 00:59:35,970 --> 00:59:40,360 jy kan hom of haar te bou alles in HTML en JavaScript en CSS, 1328 00:59:40,360 --> 00:59:43,260 en dan leer om 'n klein bietjie bietjie oor inheemse apps, 1329 00:59:43,260 --> 00:59:45,930 net genoeg om af te laai 'n raamwerk soos hierdie, 1330 00:59:45,930 --> 00:59:48,750 om dan laai jou produk te al die verskillende artikels winkels 1331 00:59:48,750 --> 00:59:51,700 sodat jy nou 'n boorling aansoek. 1332 00:59:51,700 --> 00:59:54,090 >> So dit lyk soos 'n wen-wen, maar weer, om duidelik te wees, 1333 00:59:54,090 --> 00:59:56,540 wat die potensiaal koste of die gotchas? 1334 00:59:56,540 --> 01:00:00,292 1335 01:00:00,292 --> 01:00:01,209 >> Publiek: Performance? 1336 01:00:01,209 --> 01:00:02,083 David J. MALAN: Ja. 1337 01:00:02,083 --> 01:00:02,959 Prestasie. 1338 01:00:02,959 --> 01:00:04,250 Dit is moeilik om mondelings te beskryf. 1339 01:00:04,250 --> 01:00:07,590 So as jy net op geloof 'n mobiele aansoek, 1340 01:00:07,590 --> 01:00:11,430 'n web-program sal tipies voer stadiger. 1341 01:00:11,430 --> 01:00:16,500 Dit mag dalk nie heeltemal korrek nie, want in iPhone, en in Android fone, 1342 01:00:16,500 --> 01:00:19,210 en Windows-toestelle, daar is altyd 'n soort van standaard blik 1343 01:00:19,210 --> 01:00:21,780 en voel al die knoppies en die spyskaarte. 1344 01:00:21,780 --> 01:00:25,160 >> En maatskappye in die web, kan jy probeer aan diegene estetika benader 1345 01:00:25,160 --> 01:00:28,329 met biblioteke soos Skoenlus, maar die user-- n slim user-- 1346 01:00:28,329 --> 01:00:30,620 gaan om te weet dat iets is nie heeltemal reg hier. 1347 01:00:30,620 --> 01:00:32,510 En dit is goed, miskien dit is nie 'n groot deal. 1348 01:00:32,510 --> 01:00:35,500 Maar die prestasie kwessie absoluut is 'n groot deal. 1349 01:00:35,500 --> 01:00:39,400 Inheemse aansoeke sal neig om net wees veel meer ontvanklik en dus 1350 01:00:39,400 --> 01:00:39,946 beter. 1351 01:00:39,946 --> 01:00:42,070 En so, wat dan dalk die beste van beide wêrelde? 1352 01:00:42,070 --> 01:00:44,584 As jy veral 'n klein maatskappy of 'n klein groepie, 1353 01:00:44,584 --> 01:00:47,000 jy nie die hulpbronne het om 'n app in parallel ontwikkel 1354 01:00:47,000 --> 01:00:50,480 op al drie platforms, en eerlik, voel soos dit is 'n slegte idee in elk geval 1355 01:00:50,480 --> 01:00:53,526 want as jy dit uitrol en op al drie gelyktydig besef, 1356 01:00:53,526 --> 01:00:56,400 Ons moet 'n paar kenmerke het bygevoeg of iets anders gedoen, nou 1357 01:00:56,400 --> 01:00:59,530 moet jy dit in te los drie plekke, nie een nie. 1358 01:00:59,530 --> 01:01:02,390 Wat is dalk die optimale strategie hier algehele, 1359 01:01:02,390 --> 01:01:04,130 As hulpbronne en tyd is styf? 1360 01:01:04,130 --> 01:01:06,420 >> Publiek: doen dit net op IOS. 1361 01:01:06,420 --> 01:01:08,390 >> David J. MALAN: Dit is nie onredelik nie. 1362 01:01:08,390 --> 01:01:10,670 iPhones, ten minste in die VSA, is super gewild. 1363 01:01:10,670 --> 01:01:13,820 Android lyk nog dominante hê markaandeel, wêreldwyd, algehele. 1364 01:01:13,820 --> 01:01:16,740 So jy is nie noodwendig verteenwoordigend 1365 01:01:16,740 --> 01:01:19,210 van die geheel van die wêreld hierdie week. 1366 01:01:19,210 --> 01:01:21,180 Maar dit is absoluut 'n besluit. 1367 01:01:21,180 --> 01:01:23,620 Ek bedoel, op die kampus hier ek dink 'n paar gruwelike nommer 1368 01:01:23,620 --> 01:01:26,600 of persentasie van voorgraadse het iPhones en nie Android fone. 1369 01:01:26,600 --> 01:01:28,490 Maar in die buiteland, dit is soort van die teenoorgestelde. 1370 01:01:28,490 --> 01:01:30,040 So jy besluit op grond van jou gehoor. 1371 01:01:30,040 --> 01:01:31,990 Hoe weet jy wat jou gehoor het? 1372 01:01:31,990 --> 01:01:34,080 >> Wel, het ons geleer 'n truuk gister. 1373 01:01:34,080 --> 01:01:35,060 Jy kan hulle vra. 1374 01:01:35,060 --> 01:01:37,910 As jy 'n gevange gehoor jy kan hulle 'n opname vorm stuur. 1375 01:01:37,910 --> 01:01:39,172 Of jy kan net 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 dit? 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 selfs meer soort van tegnies, net kyk na jou eie webbediener logs. 1382 01:01:46,970 --> 01:01:49,100 Want wat gebeur elke keer as 'n leser, 1383 01:01:49,100 --> 01:01:51,880 of laptop, lessenaar of telefoon besoek jou webwerf? 1384 01:01:51,880 --> 01:01:56,847 Hulle stuur wat HTTP-header wat wys jy wat die leser en OS wat hulle gebruik. 1385 01:01:56,847 --> 01:02:00,180 So jy kan aflei, met 'n hoë waarskynlikheid, wat jou demografiese gebruik op die manier 1386 01:02:00,180 --> 01:02:01,410 en dan aan te pas. 1387 01:02:01,410 --> 01:02:03,030 >> So dink dis onaanvaarbaar. 1388 01:02:03,030 --> 01:02:07,760 Dit is soort van sleg vir besigheid as Android gebruikers kan nie ons widgets te koop. 1389 01:02:07,760 --> 01:02:10,942 >> Publiek: Of jy nou gaan vra of nie? 1390 01:02:10,942 --> 01:02:12,900 David J. MALAN: Of jy gaan vra? 1391 01:02:12,900 --> 01:02:14,900 So OK, jy kry waarvoor jy betaal. 1392 01:02:14,900 --> 01:02:18,400 >> Publiek: of jou program gaan vry en of dit gonna-- 1393 01:02:18,400 --> 01:02:19,530 >> David J. MALAN: OK. 1394 01:02:19,530 --> 01:02:21,920 So miskien kan jy verhaal koste wat manier, or--? 1395 01:02:21,920 --> 01:02:26,195 >> Publiek: Ek lees 'n studie keer wat gesê meer Apple gebruikers betaal vir programme versus-- 1396 01:02:26,195 --> 01:02:28,320 David J. MALAN: Dis waar want hulle is reeds 1397 01:02:28,320 --> 01:02:29,640 meer betaal vir hul toestelle. 1398 01:02:29,640 --> 01:02:31,295 So nie onredelik 'n aanname. 1399 01:02:31,295 --> 01:02:32,170 >> Gehoor: [onhoorbaar] 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 So as hulle meer bereid is om te betaal, dan na die hel met die Android-gebruikers. 1403 01:02:38,667 --> 01:02:40,500 Hulle gaan nie betaal ons niks in elk geval. 1404 01:02:40,500 --> 01:02:43,499 Ons kan net so goed fokus ons prioriteite, ten minste vir die eerste paar maande 1405 01:02:43,499 --> 01:02:44,810 of 'n jaar, op IOS. 1406 01:02:44,810 --> 01:02:46,240 Heeltemal redelike. 1407 01:02:46,240 --> 01:02:48,558 Wat is 'n meer inklusiewe strategie as dit? 1408 01:02:48,558 --> 01:02:53,740 1409 01:02:53,740 --> 01:02:54,960 Maybe-- wat is dit? 1410 01:02:54,960 --> 01:02:57,040 >> Gehoor: [onhoorbaar] 1411 01:02:57,040 --> 01:03:00,142 >> David J. MALAN: 'n Meer expensive-- so miskien belê meer in-- voort te gaan. 1412 01:03:00,142 --> 01:03:00,767 Gehoor: Ja. 1413 01:03:00,767 --> 01:03:02,050 Net 'n mobiele webwerf. 1414 01:03:02,050 --> 01:03:03,966 >> David J. MALAN: Doen 'n mobiele webwerf en nie 1415 01:03:03,966 --> 01:03:05,440 selfs bekommerd wees oor hierdie kompleksiteit. 1416 01:03:05,440 --> 01:03:07,970 Of miskien 'n redelike strategie, wat selfs Facebook het, 1417 01:03:07,970 --> 01:03:10,890 is begin met 'n hibriede aansoek, want dit is nie 1418 01:03:10,890 --> 01:03:13,582 wat baie moeiliker om dit te doen as dit. 1419 01:03:13,582 --> 01:03:16,040 Jy moet net 'n paar te lees dokumentasie en uit te vind hoe 1420 01:03:16,040 --> 01:03:17,480 om dinge te laai na die App Store. 1421 01:03:17,480 --> 01:03:19,670 So miskien moet jy begin met hierdie, sodat op dag een, 1422 01:03:19,670 --> 01:03:21,112 jy kan al jou gebruikers te ondersteun. 1423 01:03:21,112 --> 01:03:23,570 En dan, net soos Facebook en ander maatskappye gedoen het, 1424 01:03:23,570 --> 01:03:25,330 wanneer jy die hulpbronne, jy het die mense, 1425 01:03:25,330 --> 01:03:27,660 hoekom doen jy nie weer te implementeer net die IOS aansoek. 1426 01:03:27,660 --> 01:03:31,460 Jy het nog iets vir almal, selfs al is dit 'n minderwaardige ervaring 1427 01:03:31,460 --> 01:03:33,330 miskien, met die baster aansoek. 1428 01:03:33,330 --> 01:03:36,770 Maar jy kan geleidelik uitrol en vervang jou korttermyn 1429 01:03:36,770 --> 01:03:40,280 maatreëls van die hibriede programme met jou meer inheemse aansoeke. 1430 01:03:40,280 --> 01:03:44,090 >> Publiek: Maar met 'n hibriede inligting wat jy sal toegang tot mobiele funksies het? 1431 01:03:44,090 --> 01:03:45,440 >> David J. MALAN: Nie noodwendig nie. 1432 01:03:45,440 --> 01:03:47,810 So miskien het jy 'n bewuste besluit vroeg op, 1433 01:03:47,810 --> 01:03:51,930 jy kan net foto's op die oplaai moedertaal iPhone aansoek vir Facebook, 1434 01:03:51,930 --> 01:03:56,060 maar nie op die Android-aansoek, aanvanklik, byvoorbeeld. 1435 01:03:56,060 --> 01:04:00,600 En dit is 'n bietjie van 'n wit leuen omdat web programme het meer beperkings 1436 01:04:00,600 --> 01:04:03,620 as hibriede aansoeke dit blyk uit, en as ons lees die dokumentasie 1437 01:04:03,620 --> 01:04:07,260 vir PhoneGap en dinge soos dit, mense kom met maniere 1438 01:04:07,260 --> 01:04:11,110 web-gebaseerde programme te gee toegang tot die kamera, 1439 01:04:11,110 --> 01:04:13,310 so lank as wat jy gebruik 'n hibriede aansoek. 1440 01:04:13,310 --> 01:04:14,214 >> Hoe werk dit? 1441 01:04:14,214 --> 01:04:16,130 Omdat die hibriede aansoek, per definisie, 1442 01:04:16,130 --> 01:04:19,600 het 'n bietjie van die kode in Objective-C, en Swift en Java, of in C #, 1443 01:04:19,600 --> 01:04:20,920 dit kan toegang tot die hardeware. 1444 01:04:20,920 --> 01:04:24,590 Nie noodwendig alles, maar dit kan baie goed 1445 01:04:24,590 --> 01:04:27,310 wees die geval dat jy genoeg toegang tot die kamera te kry, 1446 01:04:27,310 --> 01:04:32,960 selfs vir Android platforms, vir Byvoorbeeld, in die sin dat slinks voorbeeld. 1447 01:04:32,960 --> 01:04:35,515 >> Enige ander vrae? 1448 01:04:35,515 --> 01:04:36,279 Alles reg. 1449 01:04:36,279 --> 01:04:38,070 Hoekom het ons nie neem ons 15 minute breek hier. 1450 01:04:38,070 --> 01:04:44,060 Ons sal hervat op drie met 'n finale kyk na web ontwikkeling, databasisse, 1451 01:04:44,060 --> 01:04:45,910 en Javascript. 1452 01:04:45,910 --> 01:04:48,877