1 00:00:00,000 --> 00:00:01,291 >> David J. MALAN: Deci, ne-am întors. 2 00:00:01,291 --> 00:00:03,050 Astfel încât nivelul înalt subiect în acest moment acum 3 00:00:03,050 --> 00:00:06,440 este stive de tehnologie, care nu este un termen deosebit de tehnic, 4 00:00:06,440 --> 00:00:09,960 este mai mult de o captura toate pentru orice Numărul de combinații de tehnologii 5 00:00:09,960 --> 00:00:11,840 că s-ar putea folosi pentru a rezolva probleme. 6 00:00:11,840 --> 00:00:14,850 Și, probabil, cel mai mult modalitate de montare pentru a începe 7 00:00:14,850 --> 00:00:18,110 ar fi să se uite la limbi, deoarece Tot zăngănit de pe un întreg buchet 8 00:00:18,110 --> 00:00:21,000 și mai toată lumea din cameră are probabil auzit de cel puțin unul. 9 00:00:21,000 --> 00:00:25,730 >> Și, așa că de ce nu încercăm să distingem what-- distinge aceste limbi 10 00:00:25,730 --> 00:00:28,932 și vorbesc pe scurt despre momentele când ar fi alege una peste alta, modul în care acestea sunt 11 00:00:28,932 --> 00:00:30,890 un fel de fundamental diferite, și mai ales 12 00:00:30,890 --> 00:00:34,830 atunci când sunteți pe chat cu ingineri, sau încercarea de a decide cine să angajeze, 13 00:00:34,830 --> 00:00:37,652 sau ce punerea în aplicare propunere Greenlight 14 00:00:37,652 --> 00:00:39,860 cum v-ar face de fapt aceste tipuri de decizii. 15 00:00:39,860 --> 00:00:41,890 >> Așa că hai să zornăie doar câteva lucruri off. 16 00:00:41,890 --> 00:00:45,300 Dintre limbile au oamenii auzit, ce vine în minte? 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 Ce e aia? 21 00:00:51,990 --> 00:00:52,390 >> AUDIENTA: Python. 22 00:00:52,390 --> 00:00:53,348 >> David J. MALAN: Python. 23 00:00:53,348 --> 00:00:55,330 Excelent. 24 00:00:55,330 --> 00:00:57,000 Ce altceva? 25 00:00:57,000 --> 00:00:58,810 Visual Basic. 26 00:00:58,810 --> 00:01:01,100 Am auzit Java. 27 00:01:01,100 --> 00:01:02,610 Visual a.k.a. Basic-- 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, care este mai mult de o captura toate pentru ceea ce este, de obicei, C # ca limbă 32 00:01:12,810 --> 00:01:13,770 în cauză. 33 00:01:13,770 --> 00:01:14,770 Și lasă-mă să menționez asta. 34 00:01:14,770 --> 00:01:15,900 Așa că vom reveni la asta. 35 00:01:15,900 --> 00:01:17,560 Imi pare rau? 36 00:01:17,560 --> 00:01:18,170 Ne pare rău? 37 00:01:18,170 --> 00:01:19,877 >> AUDIENTA: SQL. 38 00:01:19,877 --> 00:01:20,876 David J. MALAN: Scratch? 39 00:01:20,876 --> 00:01:21,610 AUDIENTA: SQL. 40 00:01:21,610 --> 00:01:22,610 David J. MALAN: Oh, SQL. 41 00:01:22,610 --> 00:01:23,110 O.K. 42 00:01:23,110 --> 00:01:23,750 SQL. 43 00:01:23,750 --> 00:01:29,510 Așa că vom reveni la that-- de fapt, este good-- după pauză, de asemenea. 44 00:01:29,510 --> 00:01:30,572 Ce altceva? 45 00:01:30,572 --> 00:01:32,530 >> AUDIENTA: Oracle. 46 00:01:32,530 --> 00:01:34,670 >> David J. MALAN: Deci Oracle, nu o limbă. 47 00:01:34,670 --> 00:01:36,560 De fapt, s-ar folosi SQL, de asemenea. 48 00:01:36,560 --> 00:01:38,360 Deci să punem asta după pauză, de asemenea. 49 00:01:38,360 --> 00:01:39,744 Și îmi pare rău, ceva aici? 50 00:01:39,744 --> 00:01:40,660 AUDIENTA: Mathematica. 51 00:01:40,660 --> 00:01:41,390 David J. MALAN: Mathematica? 52 00:01:41,390 --> 00:01:42,303 OK sigur. 53 00:01:42,303 --> 00:01:46,150 54 00:01:46,150 --> 00:01:49,180 Și MATLAB este un fel de pe acolo, uneori. 55 00:01:49,180 --> 00:01:50,060 >> AUDIENTA: R. 56 00:01:50,060 --> 00:01:51,755 >> David J. MALAN: R. Să mergem aici. 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 Sigur. 60 00:01:55,880 --> 00:01:57,910 școală mai în vârstă. 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 O să arunc afară de bază. 64 00:02:02,410 --> 00:02:05,990 65 00:02:05,990 --> 00:02:08,539 DE BAZĂ. 66 00:02:08,539 --> 00:02:09,390 Orice-- 67 00:02:09,390 --> 00:02:10,352 >> AUDIENTA: MATLAB? 68 00:02:10,352 --> 00:02:11,310 David J. MALAN: MATLAB. 69 00:02:11,310 --> 00:02:12,248 Oh, te-a bătut să-l. 70 00:02:12,248 --> 00:02:15,370 71 00:02:15,370 --> 00:02:15,870 Orice? 72 00:02:15,870 --> 00:02:18,700 Mă pot gândi la un cuplu de alții. 73 00:02:18,700 --> 00:02:21,876 Mă pot gândi la alte câteva. 74 00:02:21,876 --> 00:02:22,792 Și ce a fost ultimul? 75 00:02:22,792 --> 00:02:23,970 >> AUDIENTA: ASP. 76 00:02:23,970 --> 00:02:25,030 >> David J. MALAN: ASP? 77 00:02:25,030 --> 00:02:26,100 Da. 78 00:02:26,100 --> 00:02:27,100 Paginile de server active. 79 00:02:27,100 --> 00:02:30,270 Că, în general, s-ar cădea sub alte limbi, uneori C #, 80 00:02:30,270 --> 00:02:32,040 așa că hai să lăsăm asta off. 81 00:02:32,040 --> 00:02:35,510 Dar ne vom întoarce la asta pentru cadre și astfel. 82 00:02:35,510 --> 00:02:36,290 Altceva? 83 00:02:36,290 --> 00:02:39,020 PHP este popular. 84 00:02:39,020 --> 00:02:41,710 Ruby este o alta. 85 00:02:41,710 --> 00:02:48,230 JavaScript, care nu trebuie confundat Java, este o alta. 86 00:02:48,230 --> 00:02:49,570 E cam mult. 87 00:02:49,570 --> 00:02:53,590 >> Astfel că poate fi cu siguranță copleșitoare, ca și în cazul în care lista nu este deja, 88 00:02:53,590 --> 00:02:55,650 doar pentru a începe să știe de unde începe. 89 00:02:55,650 --> 00:02:58,130 Și așa din fericire, să acest lucru se apropie de la câteva unghiuri. 90 00:02:58,130 --> 00:03:03,520 În primul rând, să încercăm să clasifice cel puțin unele dintre aceste limbi 91 00:03:03,520 --> 00:03:06,790 în două găleți largi, amintind de conversația am avut înainte de pauză, 92 00:03:06,790 --> 00:03:09,630 în cazul în care am vorbit despre compilarea, și codul sursă, și cod mașină, 93 00:03:09,630 --> 00:03:11,440 pentru că nu e cum toate limbile funcționează. 94 00:03:11,440 --> 00:03:15,640 Deci, vom smulge câteva exemple de-- sau contra-examples-- acelui model. 95 00:03:15,640 --> 00:03:18,490 >> Și apoi, de ce nu ne vorbesc despre aplicațiile 96 00:03:18,490 --> 00:03:20,390 că aceste limbi sunt utilizate în general pentru. 97 00:03:20,390 --> 00:03:22,840 Și, sincer, chiar dacă aceasta este o listă destul de lungă, 98 00:03:22,840 --> 00:03:26,320 este doar un subset al acestei liste, care v-ar trage în mod obișnuit de la aceste zile 99 00:03:26,320 --> 00:03:27,220 pentru a rezolva problemele. 100 00:03:27,220 --> 00:03:29,150 Anumite limbi sunt mai noi decât altele. 101 00:03:29,150 --> 00:03:31,170 Anumite limbi sunt mai popular decât altele. 102 00:03:31,170 --> 00:03:34,370 Așa că nu e ca și cum ai o astfel o sarcină copleșitoare înainte de a 103 00:03:34,370 --> 00:03:36,970 atunci când se decide între aceste diferite limbi. 104 00:03:36,970 --> 00:03:40,110 >> Așa că hai să facem acest lucru. 105 00:03:40,110 --> 00:03:45,870 Am avut mai devreme, codul sursă, și apoi am avut cod mașină. 106 00:03:45,870 --> 00:03:48,590 107 00:03:48,590 --> 00:03:49,400 Hopa. 108 00:03:49,400 --> 00:03:50,910 Scris cuvântul greșit. 109 00:03:50,910 --> 00:03:52,740 cod mașină. 110 00:03:52,740 --> 00:03:57,549 Si am avut ceva de proces, în mijloc called-- da, compilator. 111 00:03:57,549 --> 00:03:58,215 Așa că compilator. 112 00:03:58,215 --> 00:04:00,760 113 00:04:00,760 --> 00:04:03,910 >> Și ce codul mașină de fapt, ruleaza pe, în cele din urmă 114 00:04:03,910 --> 00:04:05,680 va fi procesorul real. 115 00:04:05,680 --> 00:04:09,660 Cu alte cuvinte, prin cod mașină, am înseamnă cele mai mici instrucțiuni de nivel 116 00:04:09,660 --> 00:04:11,330 că un procesor de fapt o înțelege. 117 00:04:11,330 --> 00:04:15,100 Adunare, scădere, mișcare, salvați și operații de genul asta. 118 00:04:15,100 --> 00:04:19,700 Și, astfel încât acesta este modelul pentru ceea ce este în general, cunoscut sub numele de limbi compilate. 119 00:04:19,700 --> 00:04:21,000 Poate că nu este surprinzător. 120 00:04:21,000 --> 00:04:23,550 >> Deci, acesta este modelul pentru limbajele compilate. 121 00:04:23,550 --> 00:04:25,970 Dar se pare că nu există o altă clasă de limbi 122 00:04:25,970 --> 00:04:32,650 numita interpretat languages-- interpretat în languages-- 123 00:04:32,650 --> 00:04:34,030 care sunt ușor diferite. 124 00:04:34,030 --> 00:04:41,660 Vă scrie în codul sursă, executați -le prin intermediul unui interpret, 125 00:04:41,660 --> 00:04:45,440 și că este interpret ce ruleaza pe CPU. 126 00:04:45,440 --> 00:04:50,120 Cu alte cuvinte, ceea ce nu EMIT este ceea ce, aparent? 127 00:04:50,120 --> 00:04:50,980 cod mașină. 128 00:04:50,980 --> 00:04:54,290 Zerouri și cele pe care CPU se înțelege în cele din urmă. 129 00:04:54,290 --> 00:04:59,780 >> Deci, în această primă versiune și limbaje cum ar fi C, așa cum am văzut, 130 00:04:59,780 --> 00:05:02,040 scrieți în codul sursă asta e un pic Arcane, 131 00:05:02,040 --> 00:05:05,300 dar cel puțin este un fel de englez-like și este cel puțin ușor de citit 132 00:05:05,300 --> 00:05:06,780 odată ce te obișnuiești cu el. 133 00:05:06,780 --> 00:05:10,100 Ai alerga printr-un compilator și afară veți obține, în cele din urmă, zero-uri si altele. 134 00:05:10,100 --> 00:05:11,340 >> Că o suprasimplificare. 135 00:05:11,340 --> 00:05:12,839 Există unele alte etape acolo. 136 00:05:12,839 --> 00:05:15,530 De fapt, dacă ai auzit vreodată termenul "limbaj de asamblare" 137 00:05:15,530 --> 00:05:17,990 Acesta este un pas inainte zerouri și cele. 138 00:05:17,990 --> 00:05:20,949 Că un pic mai ușor de citit, dar încă destul de obscură. 139 00:05:20,949 --> 00:05:23,740 Și așa există pași intermediari care sunt, de fapt, se întâmplă aici. 140 00:05:23,740 --> 00:05:26,360 Dar de ieșire, în cele din urmă, este aceste zerouri și cele. 141 00:05:26,360 --> 00:05:28,990 >> Dar în interpretat mondială, în cazul în care aveți 142 00:05:28,990 --> 00:05:32,680 limbi care sunt interpretate limbi, de fapt, tu sari peste acest pas. 143 00:05:32,680 --> 00:05:36,010 Cu alte cuvinte, atunci când scrie program, pur și simplu rulați-l imediat. 144 00:05:36,010 --> 00:05:38,960 Tu nu-l compila și apoi rulați-l, așa cum am făcut-o mai înainte. 145 00:05:38,960 --> 00:05:41,132 Trebuie doar sa-l scrie și rulați-l. 146 00:05:41,132 --> 00:05:44,340 Iar dacă vrei să faci o schimbare rapidă, a face o schimbare rapidă și rulați din nou l. 147 00:05:44,340 --> 00:05:46,640 Deci, nu există nici un pas de mijloc aici. 148 00:05:46,640 --> 00:05:50,840 >> Acum, pentru programul am scris mai devreme, care a fost acest "Hello World", program, 149 00:05:50,840 --> 00:05:53,660 s-ar putea în mod rezonabil wonder-- sau s-ar putea în mod rezonabil 150 00:05:53,660 --> 00:05:58,570 state-- care nu a fost acel moment consumatoare de a compila programul meu. 151 00:05:58,570 --> 00:06:00,337 Se pare să-l fi făcut la fel ca asta. 152 00:06:00,337 --> 00:06:02,170 Și nu există grafic versiuni de compilatoare. 153 00:06:02,170 --> 00:06:05,270 Sunt folosind o versiune foarte Arcane, dar ai putea lovi un buton de redare 154 00:06:05,270 --> 00:06:07,887 și că s-ar face de fapt compilarea pentru tine. 155 00:06:07,887 --> 00:06:10,720 Am compilat programul și apoi din nou, să-l rula, eu fac doar asta. 156 00:06:10,720 --> 00:06:13,820 Și se emite la stânga acolo, "Buna ziua!" 157 00:06:13,820 --> 00:06:15,530 Asta nu pare tot oneroase. 158 00:06:15,530 --> 00:06:19,920 Dar, atunci când programele sunt mai mult decât unul, doi, trei, 159 00:06:19,920 --> 00:06:25,470 patru, cinci linii lungi, se poate ia mult mai multe secunde pentru a compila. 160 00:06:25,470 --> 00:06:28,310 Uneori, chiar minute sau destul de un pic de timp pentru a compila. 161 00:06:28,310 --> 00:06:30,480 La urma urmei, unele Cele mai mari produse din lume 162 00:06:30,480 --> 00:06:35,040 sunt lucruri cum ar fi sistemele de operare, Microsoft Word, Microsoft Excel, 163 00:06:35,040 --> 00:06:39,070 care ar putea fi sute de mii sau chiar milioane de linii de cod lung, 164 00:06:39,070 --> 00:06:41,300 și cei care nu fac doar executa imediat. 165 00:06:41,300 --> 00:06:44,560 >> Mai mult decât atât, pe web, este devenit la modă pentru a utiliza 166 00:06:44,560 --> 00:06:47,600 limbi pur și simplu interpretate, în parte pentru că tu 167 00:06:47,600 --> 00:06:50,570 poate face o schimbare ca dezvoltator și apoi pur și simplu reîncărcați imediat 168 00:06:50,570 --> 00:06:52,570 pagina de browser și a se vedea imediat rezultatul. 169 00:06:52,570 --> 00:06:56,160 Și așa HTML, în timp ce nu un limbaj de programare, 170 00:06:56,160 --> 00:06:58,860 este un limbaj care este interpretat. 171 00:06:58,860 --> 00:07:00,770 Și am văzut că același efect ieri. 172 00:07:00,770 --> 00:07:04,070 Pur si simplu reîncărcați pagina după efectuarea o schimbare în Cloud9 si-- voila-- 173 00:07:04,070 --> 00:07:05,560 vedeți un nou rezultat. 174 00:07:05,560 --> 00:07:07,090 >> Deci, ce este diferența aici? 175 00:07:07,090 --> 00:07:13,190 In HTML, amintesc, am avut HTML deschis, cap deschis, din titlu deschis, aproape din titlu, 176 00:07:13,190 --> 00:07:15,250 cap de închidere, caroserie deschisă, și așa mai departe. 177 00:07:15,250 --> 00:07:19,149 Am avut toate aceste tag-uri pe care le destul mult mai spus, spune browser-ul ce să facă. 178 00:07:19,149 --> 00:07:20,690 Hei browser-ul, aici vine o pagina HTML. 179 00:07:20,690 --> 00:07:22,170 Hei browser-ul, aici vine titlul. 180 00:07:22,170 --> 00:07:24,429 Hei browser-ul, aici vine unele text care ar trebui să fie îndrăzneț. 181 00:07:24,429 --> 00:07:25,720 Și apoi îți spun contrariul. 182 00:07:25,720 --> 00:07:27,330 Hei browser-ul, asta-i pentru textul bold. 183 00:07:27,330 --> 00:07:28,830 Hei browser-ul, asta este pentru corp. 184 00:07:28,830 --> 00:07:29,740 Si asa mai departe. 185 00:07:29,740 --> 00:07:31,130 >> Și ce este un browser? 186 00:07:31,130 --> 00:07:33,170 Un browser este doar un interpret. 187 00:07:33,170 --> 00:07:36,090 Este un program pe care cineva ca Microsoft sau Google a scris, 188 00:07:36,090 --> 00:07:39,160 al cărui scop în viață este acela de a citește o limbă, cunoscut sub numele de HTML, 189 00:07:39,160 --> 00:07:39,890 și interpreta. 190 00:07:39,890 --> 00:07:41,290 Sus în jos, la stânga la dreapta. 191 00:07:41,290 --> 00:07:46,880 Și, în orice moment browser-ul vede deschis paranteză, din titlu, aproape placuta, 192 00:07:46,880 --> 00:07:48,960 ar trebui să interpreteze în sensul, oh, că 193 00:07:48,960 --> 00:07:52,490 înseamnă ar trebui să pun aceste cuvinte mod până aici, în partea de sus a browser-ului. 194 00:07:52,490 --> 00:07:55,700 >> Așa că pur și simplu face ceea ce spune codul HTML. 195 00:07:55,700 --> 00:07:57,240 Dar nu există zerouri și cele. 196 00:07:57,240 --> 00:07:58,250 Nu există nici o compilare. 197 00:07:58,250 --> 00:07:58,890 Nu l-ai făcut. 198 00:07:58,890 --> 00:07:59,931 Browser-ul nu a făcut-o. 199 00:07:59,931 --> 00:08:01,710 Doar că nu e implicat. 200 00:08:01,710 --> 00:08:05,890 >> Deci, în spiritul acestor în curs de desfășurare subiecte, azi si ieri, 201 00:08:05,890 --> 00:08:08,400 care pare a fi o caracteristică minunat. 202 00:08:08,400 --> 00:08:11,410 Vă salvați codul și apoi pur și simplu rulați-l sau interpreta-l. 203 00:08:11,410 --> 00:08:13,790 Nu sunt pași intermediari. 204 00:08:13,790 --> 00:08:15,690 Cu siguranță există un cost? 205 00:08:15,690 --> 00:08:16,810 Nu pot fi toate upsides. 206 00:08:16,810 --> 00:08:19,964 Deci, ce ar putea fi acel cost cu o schimbare? 207 00:08:19,964 --> 00:08:20,940 >> AUDIENTA: Spațiu. 208 00:08:20,940 --> 00:08:22,370 >> David J. MALAN: Spațiu. 209 00:08:22,370 --> 00:08:23,370 Atât de sigur. 210 00:08:23,370 --> 00:08:26,920 În lumea compilate, aveți nu numai codul sursă original, 211 00:08:26,920 --> 00:08:29,657 sunteți, de asemenea, crearea și apoi, probabil, de economisire 212 00:08:29,657 --> 00:08:31,740 aparatul code-- zero-uri și ones-- și asta 213 00:08:31,740 --> 00:08:33,870 trebuie să ia o anumită cantitate de spațiu. 214 00:08:33,870 --> 00:08:34,429 Absolut. 215 00:08:34,429 --> 00:08:35,765 Așa că te-a costa mai mult spațiu. 216 00:08:35,765 --> 00:08:39,289 217 00:08:39,289 --> 00:08:39,789 Da? 218 00:08:39,789 --> 00:08:43,280 >> Audiența: browsere să poată fi interpreta în mod diferit. 219 00:08:43,280 --> 00:08:46,770 >> David J. Malan: browsere să poată fi o interpretează în mod diferit. 220 00:08:46,770 --> 00:08:48,622 Asta e adevarat. 221 00:08:48,622 --> 00:08:50,330 Dar eu nu sunt sigur că sunt susținând confortabil 222 00:08:50,330 --> 00:08:51,840 asta pentru ca e interpretat. 223 00:08:51,840 --> 00:08:56,340 Asta e mai mult doar pentru că este o punere în aplicare a unei limbi 224 00:08:56,340 --> 00:08:58,050 că ea însăși are ambiguități. 225 00:08:58,050 --> 00:09:01,570 Așa că hai să nu destul confirma că unul, dar bănuială bună. 226 00:09:01,570 --> 00:09:03,103 Ce altceva ar putea fi prețul plătit? 227 00:09:03,103 --> 00:09:03,602 Andrew? 228 00:09:03,602 --> 00:09:05,912 >> AUDIENTA: Tu Combinăm doi pași, așa că, prin urmare, 229 00:09:05,912 --> 00:09:08,300 au complexitate tot mai mare, de asemenea. 230 00:09:08,300 --> 00:09:11,040 >> David J. MALAN: a complex-- creșterea complexității în cazul în care? 231 00:09:11,040 --> 00:09:12,270 Pentru cine? 232 00:09:12,270 --> 00:09:16,748 >> Audiența: Deci, în interpret pas, sunteți care combină interpretul 233 00:09:16,748 --> 00:09:19,120 și compilator doar pentru a condus sa-- 234 00:09:19,120 --> 00:09:21,100 >> David J. MALAN: Ah, OK. 235 00:09:21,100 --> 00:09:25,240 În mod ironic, este, probabil, un pic mai simplu să pună în aplicare interpretul, 236 00:09:25,240 --> 00:09:29,530 chiar dacă s-ar părea upsides randament de acest confort. 237 00:09:29,530 --> 00:09:30,550 Așa că, eventual, adevărat. 238 00:09:30,550 --> 00:09:32,716 Dar este un fel de depinde, eu s-ar spune, în limba 239 00:09:32,716 --> 00:09:35,720 precum și modul în care s-au dus cu privire la punerea în aplicare a acestuia. 240 00:09:35,720 --> 00:09:38,535 Nu poate fi mult mai mare complexitate, de fapt, în compilator, 241 00:09:38,535 --> 00:09:41,410 doar pentru că trebuie să mergi la ceva atât de mare nivel la ceva 242 00:09:41,410 --> 00:09:42,560 așa nivel scăzut. 243 00:09:42,560 --> 00:09:45,340 Dar un gând bun. 244 00:09:45,340 --> 00:09:50,770 >> Așa că a pus un alt mod, un program compilat, când sa transformat în aceste zero-uri și altele, 245 00:09:50,770 --> 00:09:54,470 se termină în limba că procesorul vorbește, 246 00:09:54,470 --> 00:09:57,850 întrucât, în această parte a mondială, programul care le-ați scris, 247 00:09:57,850 --> 00:10:02,527 codul care le-ați scris, de fapt, niciodată se transformă în limba actuală 248 00:10:02,527 --> 00:10:03,360 calculatorul vorbește. 249 00:10:03,360 --> 00:10:04,190 Zerouri și cele. 250 00:10:04,190 --> 00:10:08,480 Rămâne în original, mai uman , Limbaj mai ușor de citit prietenos. 251 00:10:08,480 --> 00:10:11,720 Deci, ce ar putea fi implicațiile acolo, nu și dacă faci de fapt 252 00:10:11,720 --> 00:10:15,020 deranja conversia ta program de foarte limba 253 00:10:15,020 --> 00:10:18,013 că computerul de bază vorbește? 254 00:10:18,013 --> 00:10:19,780 >> AUDIENTA: nu Might înțelege ceva? 255 00:10:19,780 --> 00:10:21,170 >> David J. MALAN: Might nu înțelege ceva. 256 00:10:21,170 --> 00:10:23,297 Și asta poate claim-- în cazul în care nu au înțeles 257 00:10:23,297 --> 00:10:25,880 ceva, e un bug sau lipsa de caracteristică în interpret. 258 00:10:25,880 --> 00:10:28,544 Așa că ar fi mai mult o greșeală decât un cost. 259 00:10:28,544 --> 00:10:30,419 >> AUDIENTA: Aveți acces la codul sursă? 260 00:10:30,419 --> 00:10:31,877 David J. MALAN: E una bună. 261 00:10:31,877 --> 00:10:34,140 Deci, un dezavantaj aici este de tine S-ar părea să aibă acces. 262 00:10:34,140 --> 00:10:37,006 Tu, utilizatorul final ar putea părea au acces la codul sursă. 263 00:10:37,006 --> 00:10:38,130 Și asta nu e întotdeauna adevărat. 264 00:10:38,130 --> 00:10:39,660 Dar, este adevărat în caz JavaScript, 265 00:10:39,660 --> 00:10:41,660 care ne vom uita la după ruptura de astăzi, care 266 00:10:41,660 --> 00:10:45,720 este un limbaj de programare interpretat pe care scrie în codul sursă. 267 00:10:45,720 --> 00:10:48,890 >> Dar că codul sursă este transferat de la serverul la browser 268 00:10:48,890 --> 00:10:51,392 și se execută în browser-ul al omului. 269 00:10:51,392 --> 00:10:54,350 Deci, aici ar putea deschide doar fereastră, așa cum am făcut în Chrome, 270 00:10:54,350 --> 00:10:57,740 si uita-te la ea, așa cum ne se uită la ieri cu Google. 271 00:10:57,740 --> 00:11:00,420 S-ar putea să arate un pic de neînțeles, dar este acolo. 272 00:11:00,420 --> 00:11:03,482 Deci asta este absolut un preț plătit. 273 00:11:03,482 --> 00:11:04,565 Audiența: lovit de performanță? 274 00:11:04,565 --> 00:11:05,020 David J. MALAN: Da. 275 00:11:05,020 --> 00:11:06,260 Și asta e celălalt Biggie. 276 00:11:06,260 --> 00:11:07,380 E o performanță lovit. 277 00:11:07,380 --> 00:11:10,100 Pentru că aveți această om de mijloc, care se 278 00:11:10,100 --> 00:11:13,740 este un program, între tine și CPU, spre deosebire 279 00:11:13,740 --> 00:11:17,880 la doar hrănire aceste prime zero-uri și cele în CPU, 280 00:11:17,880 --> 00:11:21,060 există un hit de performanță care se să ia cu un limbaj interpretat. 281 00:11:21,060 --> 00:11:24,240 Astfel încât, în mod arbitrar, un program care ar putea dura o secundă 282 00:11:24,240 --> 00:11:27,840 pentru a rula pe un computer sau unul minut pentru a rula pe un calculator aici, 283 00:11:27,840 --> 00:11:32,059 s-ar putea dura 10 secunde sau 10 minute pentru a rula pe un calculator aici. 284 00:11:32,059 --> 00:11:35,100 În general nu va fi că o mare parte a unui factor difference-- de 10-- 285 00:11:35,100 --> 00:11:36,808 pentru că există optimizări poți face. 286 00:11:36,808 --> 00:11:38,680 Dar este aproape întotdeauna mai lent. 287 00:11:38,680 --> 00:11:43,070 Acum, flip parte la care se referă este că, bine calculatoare, fiecare 12 288 00:11:43,070 --> 00:11:45,970 la 18 months-- în conformitate cu Legea lui Moore, astfel încât să speak-- 289 00:11:45,970 --> 00:11:47,600 sunt doar obtinerea mai repede și mai repede. 290 00:11:47,600 --> 00:11:48,750 Am mai mult și mai mult spațiu pe disc. 291 00:11:48,750 --> 00:11:49,791 Am mai mult și mai mult RAM. 292 00:11:49,791 --> 00:11:50,620 Care într-adevăr îi pasă? 293 00:11:50,620 --> 00:11:52,328 >> Și asta e un fel de argument rezonabil. 294 00:11:52,328 --> 00:11:55,740 Într-adevăr, unul dintre motivele de ce putem tolera mai lent 295 00:11:55,740 --> 00:11:58,480 limbi interpretată se datorează faptului că noi, oamenii nu observa cu adevărat. 296 00:11:58,480 --> 00:12:00,690 Calculatoarele au ajuns atât de repede darn. 297 00:12:00,690 --> 00:12:04,520 Întrucât, din nou în a doua zi, mai ales atunci când hardware-ul a fost mult mai constrânsă, 298 00:12:04,520 --> 00:12:06,860 ai avut mai puțin de tot, a fost mult mai scump 299 00:12:06,860 --> 00:12:10,570 astfel încât totul costa mai mult, bine atunci ai vrut într-adevăr să stoarce 300 00:12:10,570 --> 00:12:12,590 la fel de mult ca și performanță ai putea. 301 00:12:12,590 --> 00:12:16,400 Dar acest lucru este necesar, la scris, un nivel inferior, dacă va fi, 302 00:12:16,400 --> 00:12:18,090 cu un limbaj compilat. 303 00:12:18,090 --> 00:12:20,830 >> Astfel încât să nu luați această performanță lovit. 304 00:12:20,830 --> 00:12:24,780 Dar, în general, a upsides par a fi în valoare de ea in aceste zile. 305 00:12:24,780 --> 00:12:26,850 Ei bine, cu excepția problemă de proprietate intelectuală. 306 00:12:26,850 --> 00:12:28,641 La fel de citire din cod, noi vom 307 00:12:28,641 --> 00:12:30,640 vin înapoi atunci când ne uităm la JavaScript. 308 00:12:30,640 --> 00:12:33,140 >> Așa că hai să încercăm să clasifice cel puțin câteva dintre acestea. 309 00:12:33,140 --> 00:12:41,650 Așa că printre limbile compilate, noi ar fi C, C ++, cam, sorta, Java, 310 00:12:41,650 --> 00:12:48,120 deși este un pic de excepție, Din motive vă voi arăta într-un moment. 311 00:12:48,120 --> 00:12:51,540 C # ar fi pe această listă. 312 00:12:51,540 --> 00:12:54,930 Ne vom uita la mai multe la doar limbile mai moderne. 313 00:12:54,930 --> 00:12:55,430 In regula. 314 00:12:55,430 --> 00:12:56,804 Si care pare ca o multime acolo. 315 00:12:56,804 --> 00:13:03,500 Întrucât, în această parte a gardului, am putea avea JavaScript și Python, 316 00:13:03,500 --> 00:13:08,040 și PHP, și Ruby. 317 00:13:08,040 --> 00:13:13,640 Și este de ajuns pentru cele mai recente? 318 00:13:13,640 --> 00:13:15,410 Care se simte ca o multime de acum. 319 00:13:15,410 --> 00:13:16,330 O.K. 320 00:13:16,330 --> 00:13:18,760 Și apoi dot dot dot, din moment ce lista este fără sfârșit. 321 00:13:18,760 --> 00:13:22,300 >> Și, de fapt, dacă vrem să doar obține un sentiment de astea-- Wikipedia, 322 00:13:22,300 --> 00:13:24,130 limbajele compilate. 323 00:13:24,130 --> 00:13:27,150 Cred că putem obține un listă mult mai exhaustivă. 324 00:13:27,150 --> 00:13:27,910 Deci, aici vom merge. 325 00:13:27,910 --> 00:13:30,620 Deci, aici este o listă mult mai exhaustivă. 326 00:13:30,620 --> 00:13:34,150 Și am fost în speranța că cineva ar ghici D ca o limbă, pentru că prea există, 327 00:13:34,150 --> 00:13:37,747 dar s-au oprit la D s-ar părea. 328 00:13:37,747 --> 00:13:39,330 Cu toate că s-ar putea fi de fapt un E. 329 00:13:39,330 --> 00:13:41,496 >> Oh, de fapt, acest lucru ar trebui să fie pe lista de aceste zile. 330 00:13:41,496 --> 00:13:47,460 Swift este de fapt un limba pe care Apple a inventat 331 00:13:47,460 --> 00:13:50,302 care este folosit acum, din ce în ce astfel încât, în dezvoltarea iPhone. 332 00:13:50,302 --> 00:13:52,260 Dar ne vom întoarce la că, odată cu discuția noastră 333 00:13:52,260 --> 00:13:54,090 de telefonie mobilă în doar un pic la fel de bine. 334 00:13:54,090 --> 00:13:55,260 Asa ca Swift, de asemenea. 335 00:13:55,260 --> 00:13:57,540 >> Și apoi, dacă vom merge la interpretat în language-- 336 00:13:57,540 --> 00:14:05,010 a interpretat language-- atunci e aici o listă chiar mai mult, de asemenea. 337 00:14:05,010 --> 00:14:07,260 Deci, dacă tu google și uita-te pe Wikipedia pentru acestea, 338 00:14:07,260 --> 00:14:09,231 veți vedea tot felul de limbi. 339 00:14:09,231 --> 00:14:10,980 Dar scopul este, pentru ziua de azi într-adevăr, doar 340 00:14:10,980 --> 00:14:13,680 se reduce la acest lucru, poate, eliberarea de proprietate intelectuală 341 00:14:13,680 --> 00:14:18,200 și lizibilitatea de către utilizatorul final și performanță, este un alt Biggie, de asemenea. 342 00:14:18,200 --> 00:14:21,080 >> Așa că printre aceste limbi, lasă-mă să văd dacă putem da 343 00:14:21,080 --> 00:14:24,487 doar câteva eșantion de limbi. 344 00:14:24,487 --> 00:14:26,820 Noi nu vrem să treacă prin toate limbile. nesfârșit 345 00:14:26,820 --> 00:14:29,720 V-ați întrebat vreodată ce anumită limbă arată? 346 00:14:29,720 --> 00:14:31,562 Am făcut vedem acum un moment. 347 00:14:31,562 --> 00:14:33,520 De ce nu avem un cuplu caracteristicii de cereri. 348 00:14:33,520 --> 00:14:35,380 Cine ar dori să vadă ce altă limbă arată? 349 00:14:35,380 --> 00:14:35,620 Da. 350 00:14:35,620 --> 00:14:36,150 >> AUDIENTA: Java. 351 00:14:36,150 --> 00:14:36,540 >> David J. MALAN: Java. 352 00:14:36,540 --> 00:14:37,040 In regula. 353 00:14:37,040 --> 00:14:38,504 Așa că hai să mergem la Java. 354 00:14:38,504 --> 00:14:42,300 355 00:14:42,300 --> 00:14:44,900 Și ca să-ți dau un sample-- am putea scrie toate astea, 356 00:14:44,900 --> 00:14:47,670 dar ar fi mai rapid doar pentru a uita-te la codul de probă altcuiva. 357 00:14:47,670 --> 00:14:48,170 In regula. 358 00:14:48,170 --> 00:14:50,330 Deci asta un exemplu bun? 359 00:14:50,330 --> 00:14:52,040 Hopa. 360 00:14:52,040 --> 00:14:52,540 O.K. 361 00:14:52,540 --> 00:14:58,810 Deci, aici este versiunea Java Programul am scris mai devreme, "Hello World". 362 00:14:58,810 --> 00:15:01,900 >> Așa că Java, de multe ori te vei a se vedea "clasa." cuvinte cheie 363 00:15:01,900 --> 00:15:03,779 Apoi, veți vedea unele nume după asta. 364 00:15:03,779 --> 00:15:05,570 O să vezi acolade așa cum am văzut mai înainte, 365 00:15:05,570 --> 00:15:08,153 și, uneori, ei merg pe aceeași linie, uneori, alte linii, 366 00:15:08,153 --> 00:15:09,734 este un fel de o decizie personală. 367 00:15:09,734 --> 00:15:11,900 Vei vedea cuvinte cheie, cum ar fi "Public", "static", "vid". 368 00:15:11,900 --> 00:15:13,790 Dar noi am văzut pe "principal". "Principal" este, în general 369 00:15:13,790 --> 00:15:17,220 numele funcției implicite sau bucată implicit de cod care 370 00:15:17,220 --> 00:15:18,760 se execută într-un program de. 371 00:15:18,760 --> 00:15:19,330 >> "Şir." 372 00:15:19,330 --> 00:15:20,850 Ce-înțelegem prin șir mai devreme? 373 00:15:20,850 --> 00:15:23,480 Am folosit-un fel de întâmplare. 374 00:15:23,480 --> 00:15:25,100 Un șir de caractere este ceea ce? 375 00:15:25,100 --> 00:15:25,601 Un cuvant. 376 00:15:25,601 --> 00:15:27,058 Este ca o secvență de caractere. 377 00:15:27,058 --> 00:15:29,810 caractere individuale, înapoi la spate în spate, de obicei, într-o matrice, 378 00:15:29,810 --> 00:15:30,690 așa cum am discutat. 379 00:15:30,690 --> 00:15:34,700 Și, de fapt, a se vedea această sintaxă aici, cele două paranteze pătrate? 380 00:15:34,700 --> 00:15:39,210 Asta înseamnă că, hei calculator, aici vine o serie de siruri de caractere. 381 00:15:39,210 --> 00:15:42,636 Notația colțarul pătrat este utilizate în mod obișnuit pentru a indica acest lucru. 382 00:15:42,636 --> 00:15:44,510 Și, atunci puteți, probabil, să ia o ce ghicesc 383 00:15:44,510 --> 00:15:46,580 face acest lucru evidențiat bucată de cod, probabil, nu? 384 00:15:46,580 --> 00:15:49,737 385 00:15:49,737 --> 00:15:50,639 >> AUDIENTA: Ieșirea? 386 00:15:50,639 --> 00:15:51,090 >> David J. MALAN: Da. 387 00:15:51,090 --> 00:15:52,506 Se imprimă ceva pe ecran. 388 00:15:52,506 --> 00:15:57,070 Deci, "sistem" este un fel de trimitere la computer. 389 00:15:57,070 --> 00:15:59,620 "Out" înseamnă calculatorul dumneavoastră ieșire sau ecranul. 390 00:15:59,620 --> 00:16:04,450 Deci, "ln System.out.print" înseamnă, probabil? 391 00:16:04,450 --> 00:16:05,570 "Ln". 392 00:16:05,570 --> 00:16:09,570 linie de imprimare care programatori cum ar fi să scrie câteva cuvinte aparent afară 393 00:16:09,570 --> 00:16:11,820 în integralitatea lor și să ia acceleratori cu alte cuvinte. 394 00:16:11,820 --> 00:16:13,260 Dar, "ln" este linia, astfel încât linia de imprimare. 395 00:16:13,260 --> 00:16:17,370 Deci, se imprimă "Bună ziua World! ", Urmată de o nouă linie. 396 00:16:17,370 --> 00:16:18,300 >> Deci asta este. 397 00:16:18,300 --> 00:16:21,150 Dar, Java este ceea ce ei vor apel orientat pe obiect. 398 00:16:21,150 --> 00:16:23,440 Și într-adevăr, doar pentru a da un alte câteva definiții 399 00:16:23,440 --> 00:16:26,420 acolo pe care le-ar putea a se vedea, în general, acolo 400 00:16:26,420 --> 00:16:30,600 Sunt multe tipuri diferite de limbi, dar cele mai frecvente 401 00:16:30,600 --> 00:16:37,830 sunt limbaje procedurale sau imperative. 402 00:16:37,830 --> 00:16:41,600 Există, sunt funcționale limbi, care nu 403 00:16:41,600 --> 00:16:43,790 înseamnă că alții sunt nefunctional. 404 00:16:43,790 --> 00:16:47,740 Și apoi există limbaje orientate obiect. 405 00:16:47,740 --> 00:16:51,170 Și acest lucru este, probabil, cel mai bun clasificarea cele mai multe limbi 406 00:16:51,170 --> 00:16:56,445 pe care le-ar alege vreodată pentru sortare a unui proiect comercial tipic. 407 00:16:56,445 --> 00:16:58,910 >> Acest lucru ar fi prea mult, Cred că, din gaura unui sobolan 408 00:16:58,910 --> 00:17:01,620 pentru a merge în jos, pentru a încerca să explice diversele diferențe. 409 00:17:01,620 --> 00:17:04,599 Dar limbile am văzut, astfel, far-- C 410 00:17:04,599 --> 00:17:07,680 este o procedură sau o limbaj imperativ. 411 00:17:07,680 --> 00:17:11,200 Mai recent inventat limbi tind să fie, îmi pare rău, 412 00:17:11,200 --> 00:17:14,430 orientate-obiect, ceea ce înseamnă ei au alte caracteristici pentru a le. 413 00:17:14,430 --> 00:17:18,130 414 00:17:18,130 --> 00:17:19,430 Pot să-l explic în acest fel? 415 00:17:19,430 --> 00:17:20,950 Să nu merge chiar acolo jos. 416 00:17:20,950 --> 00:17:25,200 >> mijloace orientate obiect aveți posibilitatea să implement-- 417 00:17:25,200 --> 00:17:27,930 puteți modela lumea reală un pic mai eficient. 418 00:17:27,930 --> 00:17:29,722 Omenirea, în timp, a dat seama, wow, 419 00:17:29,722 --> 00:17:32,430 ar fi frumos dacă limba mea a avut această caracteristică sau acea caracteristică. 420 00:17:32,430 --> 00:17:34,830 Și de aceea avem atât de multe limbi din lume. 421 00:17:34,830 --> 00:17:37,670 persoane rezonabile, inteligente oameni, sunt de acord sau nu sunt de acord 422 00:17:37,670 --> 00:17:41,000 și invariabil, un fel de vin împreună dezvoltarea de noi limbi toate împreună. 423 00:17:41,000 --> 00:17:41,660 >> Caz elocvent. 424 00:17:41,660 --> 00:17:45,260 Apple a inventat Swift speranța de scădere probabil 425 00:17:45,260 --> 00:17:47,950 bara pentru dezvoltarea iPhone, deoarece language-- precedent 426 00:17:47,950 --> 00:17:51,080 numita Objective-C, ceea ce ar putea fi, de asemenea, pe lista noastră de aici-- 427 00:17:51,080 --> 00:17:54,190 a fost mult mai obscură și mult mai mai greu să-și încheie mintea cuiva în jurul valorii. 428 00:17:54,190 --> 00:17:57,690 Și, ca și programarea devine, fără îndoială, mai accesibile și mai pe larg 429 00:17:57,690 --> 00:18:00,580 adoptată de oameni chiar mai puțin tehnic, goal-- 430 00:18:00,580 --> 00:18:04,160 este un obiectiv foarte curajos pentru a încerca să coborâți bariera la intrarea pe piață prin 431 00:18:04,160 --> 00:18:07,400 limbile în sine mai ușor pentru a începe cu, 432 00:18:07,400 --> 00:18:09,430 dar nu mai puțin puternic, în mod necesar. 433 00:18:09,430 --> 00:18:10,560 >> Și într-o altă limbă. 434 00:18:10,560 --> 00:18:14,110 De ce nu ne aruncăm o privire la ceva de genul Python, 435 00:18:14,110 --> 00:18:18,090 care este foarte mult în vogă în aceste zile. 436 00:18:18,090 --> 00:18:19,570 Piton. 437 00:18:19,570 --> 00:18:20,464 Programul de probă. 438 00:18:20,464 --> 00:18:24,600 439 00:18:24,600 --> 00:18:26,700 Sa vedem. 440 00:18:26,700 --> 00:18:28,790 "Hello World" limbi. 441 00:18:28,790 --> 00:18:30,180 Sa o facem. 442 00:18:30,180 --> 00:18:33,625 "Salut Lume." 443 00:18:33,625 --> 00:18:35,375 Hai să vedem dacă acest lucru dă ne un exemplu frumos. 444 00:18:35,375 --> 00:18:39,450 445 00:18:39,450 --> 00:18:39,950 O.K. 446 00:18:39,950 --> 00:18:41,283 Deci, acest lucru este de fapt un fel de distractiv. 447 00:18:41,283 --> 00:18:43,330 Așa că, dacă ai Google vreodată "Hello World", care 448 00:18:43,330 --> 00:18:47,000 se întâmplă să fie una dintre primele programe scris vreodată într-o limbă modernă, 449 00:18:47,000 --> 00:18:51,830 la fel ca și o dovadă a conceptului, puteți vedea tot felul de implementari ale acestui. 450 00:18:51,830 --> 00:18:54,240 >> Unele dintre aceste limbi Nici nu am auzit. 451 00:18:54,240 --> 00:18:59,770 Dar vă puteți see-- să mergem la bază, cel care am învățat cu ani în urmă, în parte. 452 00:18:59,770 --> 00:19:02,720 Aceasta a fost o limbă distractiv, deoarece vă a trebuit să, în calitate de programator, numărul 453 00:19:02,720 --> 00:19:03,710 toate liniile. 454 00:19:03,710 --> 00:19:05,626 Nu spre deosebire de ceea ce am fost când am făcut a fost scris 455 00:19:05,626 --> 00:19:08,380 pseudocod pe documentul galben mai devreme pentru căutare binară, 456 00:19:08,380 --> 00:19:09,580 pentru căutarea unei cărți de telefon. 457 00:19:09,580 --> 00:19:11,810 >> Și așa, dacă ai vrut pentru a merge la o altă linie, 458 00:19:11,810 --> 00:19:15,780 trebuie să tastați literalmente, du-te la 10, sau du-te la 20. 459 00:19:15,780 --> 00:19:19,110 Iar dacă ne scrieți linii pentru convenție a fost de a face, acest lucru este linia 10, 460 00:19:19,110 --> 00:19:22,545 aceasta este linia de 20, aceasta este linia 30, 40, cu nimic între ele, 461 00:19:22,545 --> 00:19:25,170 astfel oferindu-vă unele cameră dacă vă decideți, așteptați un minut, 462 00:19:25,170 --> 00:19:27,230 Ar fi trebuit adăugat unele mai mult cod undeva. 463 00:19:27,230 --> 00:19:30,960 Încă mai avut un fel de nouă șanse de a stoarce că între programul 464 00:19:30,960 --> 00:19:33,020 înainte de a trebuit să manual renumerota totul. 465 00:19:33,020 --> 00:19:35,470 >> Deci, acest lucru este un fel de ceea ce vreau să spun când eu spun că lumea a venit 466 00:19:35,470 --> 00:19:36,303 cu o caracteristici noi. 467 00:19:36,303 --> 00:19:39,364 Undeva de-a lungul drum cineva a realizat, băiatul e prost. 468 00:19:39,364 --> 00:19:41,280 Acest lucru este doar crearea lucra pentru programator. 469 00:19:41,280 --> 00:19:44,200 Deci, el sau ea doar un fel de construit un nou strat pe partea de sus a acestei 470 00:19:44,200 --> 00:19:46,910 astfel încât nu trebuie să vă faceți griji despre ce numere linia cod 471 00:19:46,910 --> 00:19:48,570 este, de fapt. 472 00:19:48,570 --> 00:19:54,940 >> Deci, atunci când s-ar putea să alegeți o limbă sau alta? 473 00:19:54,940 --> 00:19:56,690 Ei bine, care dintre acestea limbi străine aveți tendința 474 00:19:56,690 --> 00:20:00,960 să aud despre cel mai mult în propria lume în aceste zile? 475 00:20:00,960 --> 00:20:02,680 Hai să lăsăm jos Obiectiv-C, de asemenea. 476 00:20:02,680 --> 00:20:06,416 477 00:20:06,416 --> 00:20:07,739 >> AUDIENTA: C #. 478 00:20:07,739 --> 00:20:08,530 David J. MALAN: C #. 479 00:20:08,530 --> 00:20:10,310 Așa că lasă-mă de culoare. 480 00:20:10,310 --> 00:20:13,190 Avem altă culoare noastră undeva? 481 00:20:13,190 --> 00:20:14,550 Așa că C #. 482 00:20:14,550 --> 00:20:16,390 Și ce știi despre C #? 483 00:20:16,390 --> 00:20:18,940 Orice primăvară în minte? 484 00:20:18,940 --> 00:20:20,707 >> AUDIENTA: Este un limbaj de programare. 485 00:20:20,707 --> 00:20:22,540 David J. MALAN: Este un limbaj de programare. 486 00:20:22,540 --> 00:20:23,200 O.K. 487 00:20:23,200 --> 00:20:24,690 Asta e adevarat. 488 00:20:24,690 --> 00:20:26,440 Așa că vorbim despre C #. 489 00:20:26,440 --> 00:20:29,230 C # tinde să fie utilizate în mediile Windows, 490 00:20:29,230 --> 00:20:33,550 așa că, dacă sunteți scris software-ul Microsoft pentru Windows, C # este utilizat foarte frecvent, 491 00:20:33,550 --> 00:20:38,560 indiferent dacă este vorba de software-ul desktop, sau chiar și software-ul de telefon de pe telefoanele Windows, 492 00:20:38,560 --> 00:20:41,820 dacă ați avut cele, sau pe web, chiar prea. 493 00:20:41,820 --> 00:20:44,642 Și, de fapt, poate Kareem ASP menționat mai devreme? 494 00:20:44,642 --> 00:20:46,600 Deci, există, de asemenea, aceste lucruri numite cadre, 495 00:20:46,600 --> 00:20:51,040 pe care o putem introduce prin extensie. 496 00:20:51,040 --> 00:20:53,280 Cadrele, cum ar fi ASP. 497 00:20:53,280 --> 00:20:55,740 Standuri pentru pagini de server activ. 498 00:20:55,740 --> 00:20:59,880 Și acest lucru este cod și o modalitate de programare 499 00:20:59,880 --> 00:21:03,490 că, în general, face mai ușor pentru a scrie aplicatii bazate pe web. 500 00:21:03,490 --> 00:21:07,530 Cu alte cuvinte, ar fi super, super-enervant pentru a scrie un site 501 00:21:07,530 --> 00:21:09,469 în limba C, care le-am văzut înainte, 502 00:21:09,469 --> 00:21:12,510 pentru că v-ar trebui să utilizați de imprimare + F, v-ar trebui să utilizați acel cuvânt cheie 503 00:21:12,510 --> 00:21:13,940 "Principal" și acolade. 504 00:21:13,940 --> 00:21:16,720 O mulțime de sintaxă arcan și să pună în aplicare abordarea 505 00:21:16,720 --> 00:21:19,195 ceva care este destul de complex. 506 00:21:19,195 --> 00:21:20,240 O pagină web. 507 00:21:20,240 --> 00:21:23,800 >> Și, astfel încât alte limbi au evoluat pentru a face acest tip de lucru mai ușor. 508 00:21:23,800 --> 00:21:26,890 Și, la rândul său, oamenii au venit cu cadre, un fel de instrumente 509 00:21:26,890 --> 00:21:30,520 pe care le puteți utiliza care fac chiar mai ușor de a scrie pagini web. 510 00:21:30,520 --> 00:21:33,070 Deci, de exemplu, pentru a face acest beton mult mai mult, 511 00:21:33,070 --> 00:21:36,390 lasă-mă să deschid doar un fișier text pentru un moment. 512 00:21:36,390 --> 00:21:39,380 >> Si s-ar putea aminti ieri că am spus ceva 513 00:21:39,380 --> 00:21:41,210 cum ar fi, aceasta este o pagină web. 514 00:21:41,210 --> 00:21:42,300 HTML. 515 00:21:42,300 --> 00:21:45,340 Închide HTML. 516 00:21:45,340 --> 00:21:48,500 Lasă-mă să săriți peste cap și fac doar corpul aici. 517 00:21:48,500 --> 00:21:52,810 Să presupunem că am vrut să a scrie nu "Hello World", 518 00:21:52,810 --> 00:21:57,020 dar "Bună ziua David", unde David este numele celui conectat în prezent utilizator. 519 00:21:57,020 --> 00:22:00,270 Ce ceva de genul ASP va face, sau JSP-- 520 00:22:00,270 --> 00:22:04,060 care este serverul Java pages-- sau orice număr de alte cadre 521 00:22:04,060 --> 00:22:05,435 este că nu sunt limbi, per se. 522 00:22:05,435 --> 00:22:07,351 Sunt la fel ca software-ul suplimentar pe care 523 00:22:07,351 --> 00:22:10,490 ar instala în mediul pe care tocmai l face mai ușor de programat. 524 00:22:10,490 --> 00:22:15,670 >> Deci, de exemplu, mai degrabă decât trebuie să facă ceva de genul "Bună ziua, printf (" David ")" 525 00:22:15,670 --> 00:22:17,510 sau ceva de genul asta un fel de co-mingling-- 526 00:22:17,510 --> 00:22:20,840 tipul de cod care le-am văzut before-- v-ar face ceva mult mai simplu, 527 00:22:20,840 --> 00:22:26,190 cum ar fi "numele%." 528 00:22:26,190 --> 00:22:28,660 Și, astfel încât aceste cadre, cum ar fi ASP-- și eu 529 00:22:28,660 --> 00:22:31,212 Nu-mi amintesc dacă am obține sintaxa doar dreptul pentru ASP. 530 00:22:31,212 --> 00:22:33,100 JSP este un little-- este acest drept? 531 00:22:33,100 --> 00:22:36,500 >> Deci, cu ASP, acest lucru este un fel de sintaxă specială 532 00:22:36,500 --> 00:22:39,830 că unii dezvoltatori au decis acest lucru ar putea ajuta oamenii. 533 00:22:39,830 --> 00:22:43,000 Si eu pot exprima mai succint Substituenți, de exemplu. 534 00:22:43,000 --> 00:22:47,187 Ca si pune o valoare aici, în cazul în care acest nume de valoare nu este N-A-M-E, 535 00:22:47,187 --> 00:22:48,520 este o anumită valoare stocată acolo. 536 00:22:48,520 --> 00:22:50,728 Deci, "nume", în acest context, am putea numi o variabilă. 537 00:22:50,728 --> 00:22:52,760 Algebră are variabile cum ar fi x și y, și z. 538 00:22:52,760 --> 00:22:56,021 Programatorii folosesc variabile care sunt mai descriptiv decât x, y și z, 539 00:22:56,021 --> 00:22:56,520 în mod tipic. 540 00:22:56,520 --> 00:23:01,020 Deci, "nume" ar fi literalmente un fel de containere de memorie pentru ceva de genul 541 00:23:01,020 --> 00:23:05,440 D-A-V-I-D, pentru numele meu, sau oricine altfel este conectat la site-ul web. 542 00:23:05,440 --> 00:23:09,300 >> Și, astfel încât acesta este un fel de comoditate te cu anumite medii. 543 00:23:09,300 --> 00:23:14,220 Așa că C # și ceva de genul ASP ar fi foarte în mod obișnuit să fie utilizate într-o lume pentru Windows, 544 00:23:14,220 --> 00:23:16,460 fie pentru desktop-ul său software-ul sau un server de web, 545 00:23:16,460 --> 00:23:21,490 mai ales în cazul în care serverele sunt la rândul lor, care rulează Microsoft Windows și Microsoft 546 00:23:21,490 --> 00:23:25,810 IIS-- sau Internet Information Server, dacă am obține acronimul right-- 547 00:23:25,810 --> 00:23:27,800 care este serverul de web al Microsoft. 548 00:23:27,800 --> 00:23:30,820 >> Deci, ce alte limbi sunt oameni familiarizați cu, 549 00:23:30,820 --> 00:23:35,228 sau ați auzit mai des decât nu? 550 00:23:35,228 --> 00:23:38,262 >> AUDIENTA: Știu că lui Python un fel de populare [inaudibil]. 551 00:23:38,262 --> 00:23:39,470 David J. MALAN: Foarte popular. 552 00:23:39,470 --> 00:23:45,490 Așa că Python aici este folosit foarte des în aplicații științifice sau date 553 00:23:45,490 --> 00:23:48,330 știință, în cazul în care aveți o mulțime de date pe care doriți să le analizați 554 00:23:48,330 --> 00:23:50,413 și doriți să utilizați un limbaj de programare pentru ea. 555 00:23:50,413 --> 00:23:53,640 R ar putea fi utilizate în mod obișnuit pentru această precum și, într-un context statistic. 556 00:23:53,640 --> 00:23:56,400 Dar, Python are asa de multe Caracteristici construite în. 557 00:23:56,400 --> 00:23:58,850 Deci, de multe suplimentare biblioteci, după cum spun oamenii. 558 00:23:58,850 --> 00:24:01,260 >> Bibliotecile sunt doar colecții de cod pe care alte persoane 559 00:24:01,260 --> 00:24:04,218 a scris că puteți utiliza, astfel încât să nu trebuie să reinventeze aceste roți. 560 00:24:04,218 --> 00:24:07,430 Și așa Python este foarte frecvent utilizate în aplicații de știință de date. 561 00:24:07,430 --> 00:24:09,930 Dar este, de asemenea, foarte frecvent utilizate în aplicații web. 562 00:24:09,930 --> 00:24:12,780 Puteți implementa o dinamică site-ul folosind Python. 563 00:24:12,780 --> 00:24:15,210 >> Și, prin site-ul dinamic, am înseamnă conținut nu doar static 564 00:24:15,210 --> 00:24:19,530 cum am creat ieri, de doar greu de codificare în textul latin 565 00:24:19,530 --> 00:24:21,820 și alte astfel de lucruri, ci mai degrabă capacitatea 566 00:24:21,820 --> 00:24:25,367 pentru a vă conecta, capacitatea de a cumpăra ceva, capacitatea de a verifica 567 00:24:25,367 --> 00:24:26,950 cărucioare de cumpărături, sau altele asemenea. 568 00:24:26,950 --> 00:24:30,590 Toate acestea necesită dinamism și vă au nevoie de o anumită limbă ca unul dintre acestea. 569 00:24:30,590 --> 00:24:35,060 >> AUDIENTA: Deci, are propria sa Python extensie, similar ca in [inaudibil] 570 00:24:35,060 --> 00:24:36,060 David J. MALAN: Face. 571 00:24:36,060 --> 00:24:42,250 Deci, în lumea Python, Django este un cadru foarte popular pentru Python. 572 00:24:42,250 --> 00:24:46,520 WSGI este un alt mecanism care este un fel de diferit de acesta 573 00:24:46,520 --> 00:24:47,640 dar similare în spirit. 574 00:24:47,640 --> 00:24:52,200 Este un add-on care vă permite pentru a rula cod Python pe un server. 575 00:24:52,200 --> 00:24:53,950 Nu e other-- da. 576 00:24:53,950 --> 00:24:57,250 Deci, acestea vom numi cadre. 577 00:24:57,250 --> 00:24:58,870 Și este un pic de un abuz. 578 00:24:58,870 --> 00:25:00,920 Aceasta este mai mult de o tehnologie de server web. 579 00:25:00,920 --> 00:25:04,610 Dar vom păstra simplu și a pus ea în această coloană, totuși. 580 00:25:04,610 --> 00:25:05,780 >> O.K. 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 O altă thing-- și de fapt, să mă muta că la coloana proprie, 584 00:25:12,100 --> 00:25:17,000 pentru că aș țipa la mine pentru punându-le în aceeași găleată. 585 00:25:17,000 --> 00:25:24,910 Să punem acest lucru într-un server caracteristici, să zicem. 586 00:25:24,910 --> 00:25:26,710 Asta nu e un termen tehnic. 587 00:25:26,710 --> 00:25:29,180 >> Deci, aici am putea fi WSGI. 588 00:25:29,180 --> 00:25:32,580 Există CGI, care este o mai veche Tehnica de servire limbaje 589 00:25:32,580 --> 00:25:35,890 cum ar fi Perl sau PHP, sau altele. 590 00:25:35,890 --> 00:25:39,000 Din nou, am menționat acești termeni nu atât de mult pentru un fel de ei înnăscut, 591 00:25:39,000 --> 00:25:40,749 dar, astfel încât, dacă vedeți le este ceva 592 00:25:40,749 --> 00:25:42,130 tu google pur și simplu pentru a citi mai mult. 593 00:25:42,130 --> 00:25:46,110 Nu există nici un suc de real, la unele dintre aceste lucruri. 594 00:25:46,110 --> 00:25:47,850 >> Dar să ne întoarcem la limbile. 595 00:25:47,850 --> 00:25:50,499 Am vorbit despre C #, Python. 596 00:25:50,499 --> 00:25:52,790 Ce altceva s-ar putea să utilizați pentru programare web aceste zile? 597 00:25:52,790 --> 00:25:54,302 Să ne concentrăm pe asta încă. 598 00:25:54,302 --> 00:25:55,247 >> AUDIENTA: PHP. 599 00:25:55,247 --> 00:25:56,080 David J. MALAN: PHP. 600 00:25:56,080 --> 00:25:57,413 Și să se întoarcă la asta. 601 00:25:57,413 --> 00:25:59,310 Asa ca PHP este utilizat foarte frecvent. 602 00:25:59,310 --> 00:26:01,560 PHP are tendința de a obține un rap rău. 603 00:26:01,560 --> 00:26:05,790 Totul a început ca o limbă pusă în aplicare de oameni care poate nu au fost neapărat 604 00:26:05,790 --> 00:26:06,960 cei mai buni designeri de limbă. 605 00:26:06,960 --> 00:26:11,290 Și, astfel încât să puteți citi tot felul de articole online despre cât de rău este PHP. 606 00:26:11,290 --> 00:26:13,660 Și, din păcate, acest lucru este o manifestare, în parte, 607 00:26:13,660 --> 00:26:18,727 de doar dezbateri religioase care erupe printre programatori. 608 00:26:18,727 --> 00:26:20,560 Și acest lucru este ceva merită păstrate în minte, 609 00:26:20,560 --> 00:26:24,410 dintr-o perspectivă de afaceri, care este foarte ușor pentru oameni tehnice 610 00:26:24,410 --> 00:26:26,900 pentru a obține toate au lucrat cu lor opinii cu privire la anumite lucruri. 611 00:26:26,900 --> 00:26:29,566 Si asta nu înseamnă neapărat că cel care țipa cel mai tare 612 00:26:29,566 --> 00:26:31,870 sau cu cel mai puternic, Avizul manios are dreptate. 613 00:26:31,870 --> 00:26:34,100 O mulțime de ori, într-adevăr pur și simplu nu contează. 614 00:26:34,100 --> 00:26:37,970 >> Și astfel oamenii sunt pur și simplu argumentând orice propriile lor prejudecăți sau zone de confort sunt. 615 00:26:37,970 --> 00:26:40,760 Și așa ar trebui să păstreze că, în minte atunci când se face 616 00:26:40,760 --> 00:26:42,622 o decizie, care tocmai pentru că cineva spune 617 00:26:42,622 --> 00:26:45,080 aceasta este limba potrivita pentru de locuri de muncă, care ar putea fi adevărat, 618 00:26:45,080 --> 00:26:48,350 dar, de asemenea, ar putea fi doar ea este cea limba drept în propria lor de calificare 619 00:26:48,350 --> 00:26:49,267 set sau zona de confort. 620 00:26:49,267 --> 00:26:52,600 Ceea ce nu este rău, dar ar trebui să realizezi că ar putea exista unele context. 621 00:26:52,600 --> 00:26:54,440 Există unele obiectiv declarații greșite, 622 00:26:54,440 --> 00:26:59,080 cum ar fi C este limba greșită de a utiliza aceste zile, pentru punerea în aplicare a site-uri web 623 00:26:59,080 --> 00:27:00,520 aproape intotdeauna. 624 00:27:00,520 --> 00:27:03,370 Dar nu este rezonabil să spunem că oricare dintre aceste 625 00:27:03,370 --> 00:27:05,700 sunt greșite pe care le-am încercuit până acum. 626 00:27:05,700 --> 00:27:08,180 >> PHP a trecut prin mai multe versiuni. 627 00:27:08,180 --> 00:27:11,310 Astfel încât limbile tind să aibă versiunea Numerele asociate cu acestea. 628 00:27:11,310 --> 00:27:15,390 PHP este de până la, cred, versiunea 7 acum, asa ca a fost în jur de ceva timp. 629 00:27:15,390 --> 00:27:18,270 Și, ca limbi obține mai noi, ei de multe ori caracteristici noi. 630 00:27:18,270 --> 00:27:22,510 Dar, trebuie să fie conștient de acest lucru pentru că în cazul în care site-ul dvs. a fost 631 00:27:22,510 --> 00:27:27,539 implementat în versiunea 7 a PHP, dar încercați să rulați site-ul dvs., 632 00:27:27,539 --> 00:27:29,830 sau poate ai externalizat dezvoltarea codului 633 00:27:29,830 --> 00:27:31,960 la altcineva si e-mail să vă sau trimite-l la tine 634 00:27:31,960 --> 00:27:33,960 și spun ei, aici, a pus acest lucru pe serverul web, 635 00:27:33,960 --> 00:27:36,610 în cazul în care serverul web este câteva ani outdated-- fie că este vorba 636 00:27:36,610 --> 00:27:39,465 propriul server sau un host-- web aceasta s-ar putea să nu ruleze de fapt. 637 00:27:39,465 --> 00:27:41,340 Deci, acestea sunt tipurile de lucruri pe care cineva 638 00:27:41,340 --> 00:27:44,067 trebuie să fie conștient de atunci când modernizarea unui site 639 00:27:44,067 --> 00:27:45,650 sau de punere în aplicare pentru prima dată. 640 00:27:45,650 --> 00:27:46,900 >> Am auzit JavaScript mai devreme. 641 00:27:46,900 --> 00:27:50,570 Așa că JavaScript este un interesant una în care ea este în general 642 00:27:50,570 --> 00:27:53,030 partea de client, după cum vom vedea după pauză, care 643 00:27:53,030 --> 00:27:55,000 înseamnă că se execută în browser-ul utilizatorului. 644 00:27:55,000 --> 00:27:58,400 Dar, de asemenea, puteți rula JavaScript aceste zile 645 00:27:58,400 --> 00:28:03,450 folosind ceva numit Node.js, în cazul în care Node.js 646 00:28:03,450 --> 00:28:08,000 este un mecanism de rulare cod JavaScript pe partea de server, 647 00:28:08,000 --> 00:28:12,430 în loc de a folosi Python, sau PHP, sau alte astfel de limbi. 648 00:28:12,430 --> 00:28:17,820 >> JavaScript este deosebit de bine adaptate pentru aplicații de chat și în timp real 649 00:28:17,820 --> 00:28:22,050 aplicații, în timp ce PHP nu este o mare limbaj pentru punerea în aplicare a ceva 650 00:28:22,050 --> 00:28:25,050 ca un server de chat, în cazul în care utilizatorii rămâne conectat la ea în mod constant. 651 00:28:25,050 --> 00:28:28,760 PHP este mai mult de o vizită pe mine o dată, pentru a primi înapoi un rezultat, 652 00:28:28,760 --> 00:28:31,790 și apoi faceți clic pe un alt link unele secunde sau minute de acum. 653 00:28:31,790 --> 00:28:36,020 Întrucât Node.js și JavaScript poate fi folosit mai mult pentru conexiuni persistente. 654 00:28:36,020 --> 00:28:40,840 Alte limbi pe care le suspecta sunt frecvent utilizate pentru lucruri de web? 655 00:28:40,840 --> 00:28:42,800 >> AUDIENTA: Ar jQuery fi un cadru? 656 00:28:42,800 --> 00:28:44,050 >> David J. MALAN: Bună întrebare. 657 00:28:44,050 --> 00:28:44,700 Nici. 658 00:28:44,700 --> 00:28:51,210 Aș numi jQuery o bibliotecă, în cazul în care din nou, o bibliotecă este doar o adunatura de cod 659 00:28:51,210 --> 00:28:53,250 că cineva are altcineva în scris că, în general, 660 00:28:53,250 --> 00:28:56,390 rezolvă unele probleme pe care o face, sperăm, mai ușor 661 00:28:56,390 --> 00:28:57,760 pentru tine să-ți faci treaba. 662 00:28:57,760 --> 00:29:00,820 Și să-mi fac un exemplu de acest lucru în contextul web. 663 00:29:00,820 --> 00:29:03,910 >> În contextul web există această limbă, JavaScript, 664 00:29:03,910 --> 00:29:06,690 că vom vedea mai târziu, prin care s-ar putea spune ceva de genul astea-- 665 00:29:06,690 --> 00:29:10,060 "Document.getElementById." 666 00:29:10,060 --> 00:29:11,490 Si ce eu numesc asta ieri? 667 00:29:11,490 --> 00:29:16,800 În primul rând, cred că, a fost ID-ul unic am dat la un element care arata ca acest lucru. 668 00:29:16,800 --> 00:29:23,110 "P id =" primul ">" și apoi am avut cum ar fi "lorem ipsum", et cetera. 669 00:29:23,110 --> 00:29:28,210 Așa că, dacă aș fi scris un program în JavaScript pentru a manipula într-un fel, 670 00:29:28,210 --> 00:29:30,830 schimba paginile web pe care le au jucat cu ieri, 671 00:29:30,830 --> 00:29:33,010 Mi-ar folosi acest linie de cod evidențiată 672 00:29:33,010 --> 00:29:38,700 pentru a obține acel fragment special de HTML de la pagina mea, acel nod special, 673 00:29:38,700 --> 00:29:39,680 așa cum o vom numi acum. 674 00:29:39,680 --> 00:29:44,540 >> Cu toate acestea, în jQuery, în loc de a scrie acest lucru, care este code-- JavaScript crud 675 00:29:44,540 --> 00:29:48,870 doar din cutie, asta e modul în care scrie it-- v-ar spune în schimb doar, 676 00:29:48,870 --> 00:29:50,260 "#primul." 677 00:29:50,260 --> 00:29:52,330 Asta e echivalent. 678 00:29:52,330 --> 00:29:56,040 Și așa bazat numai pe acest lucru foarte exemplu Arcane, ce poate 679 00:29:56,040 --> 00:29:57,870 este argumentul pentru utilizarea jQuery? 680 00:29:57,870 --> 00:30:01,390 681 00:30:01,390 --> 00:30:05,111 De ce s-ar folosi un dezvoltator de o bibliotecă cum ar fi jQuery, pe baza acestui exemplu izolat, 682 00:30:05,111 --> 00:30:05,610 poate? 683 00:30:05,610 --> 00:30:06,335 >> AUDIENTA: Codul de mai puțin. 684 00:30:06,335 --> 00:30:06,780 >> David J. MALAN: Da. 685 00:30:06,780 --> 00:30:07,530 Este mai puțin cod. 686 00:30:07,530 --> 00:30:09,070 Este pur și simplu mai rapid de tip. 687 00:30:09,070 --> 00:30:11,690 Contrapunctul este că se pare mai înspăimântător. 688 00:30:11,690 --> 00:30:13,540 Nu puteți citi într-adevăr la stânga la dreapta. 689 00:30:13,540 --> 00:30:16,730 De fapt, pentru că cea mai mare parte punctuație acum, în loc de cuvinte reale, 690 00:30:16,730 --> 00:30:20,950 Pot cam deduce că "Document.getElementById" devine 691 00:30:20,950 --> 00:30:23,640 un element din documentul prin ID-ul său. 692 00:30:23,640 --> 00:30:26,750 Eu chiar nu pot folosi nici un astfel de mnemonice din chestia asta aici. 693 00:30:26,750 --> 00:30:27,680 >> Deci, e un compromis. 694 00:30:27,680 --> 00:30:30,763 E o sofisticare care vine de multe ori cu utilizarea bibliotecilor, în special 695 00:30:30,763 --> 00:30:31,440 cum ar fi jQuery. 696 00:30:31,440 --> 00:30:34,700 Dar realitatea este jQuery are un fel a devenit un standard de facto, 697 00:30:34,700 --> 00:30:38,110 astfel încât aproape oricine acestea zile care scrie cod JavaScript 698 00:30:38,110 --> 00:30:41,520 foloseste jQuery sau ceva cum ar fi ea, și nu mai scrie 699 00:30:41,520 --> 00:30:45,200 o astfel de expresii verbose ca acest lucru, pentru că, din nou, omenirea 700 00:30:45,200 --> 00:30:47,850 a învățat, wow, asta a fost un fel de oportunitate ratată 701 00:30:47,850 --> 00:30:49,030 pentru a face viața mai ușoară. 702 00:30:49,030 --> 00:30:51,140 Așa că oamenii fac viața mai ușoară. 703 00:30:51,140 --> 00:30:53,310 Buna intrebare. 704 00:30:53,310 --> 00:30:55,870 >> Alte limbi să ia în considerare. 705 00:30:55,870 --> 00:30:58,660 Aș spune că printre acest Lista Ruby este destul de popular. 706 00:30:58,660 --> 00:31:01,310 Și astfel, în lumea Ruby, există un cadru 707 00:31:01,310 --> 00:31:03,590 numitele sine, care este foarte popular. 708 00:31:03,590 --> 00:31:06,880 Așa că Ruby pe șine este o utilizate în mod obișnuit de exprimare. 709 00:31:06,880 --> 00:31:10,330 De asemenea, în această lume, lasă-mă cerc Java pentru lucruri de web, 710 00:31:10,330 --> 00:31:14,160 în cazul în care, în lumea de Java s-ar putea avea JSP, sau Java 711 00:31:14,160 --> 00:31:18,450 Servleturile, care este o tehnologie comună. 712 00:31:18,450 --> 00:31:22,560 Și acesta este doar din nou modalități de utilizare această limbă într-un mediu de server. 713 00:31:22,560 --> 00:31:23,520 >> Deci, ce înseamnă asta? 714 00:31:23,520 --> 00:31:25,770 Dacă ai un fizic server, ar fi pur și simplu 715 00:31:25,770 --> 00:31:30,510 descărcați software-ul de server web și se instalează în așa fel 716 00:31:30,510 --> 00:31:33,510 că aveți suport pentru unul dintre aceste cadre, cu care 717 00:31:33,510 --> 00:31:37,260 ar putea, la rândul său, utilizați una sau mai multe dintre aceste limbi. 718 00:31:37,260 --> 00:31:40,260 Și, în realitate, dacă vă înscrieți pentru ca un web gazdă sau o parte din nor 719 00:31:40,260 --> 00:31:41,968 servicii am vorbit ieri, de multe ori 720 00:31:41,968 --> 00:31:44,885 lucrurile pur și simplu, vine cu configurația mașinii pentru tine. 721 00:31:44,885 --> 00:31:46,510 Nu aveți nevoie pentru a seta asta manual. 722 00:31:46,510 --> 00:31:51,040 Dar dacă ai făcut-o, acest lucru este în cazul în care rolul de administrator de sistem, ca să spunem așa, 723 00:31:51,040 --> 00:31:51,860 intră în joc. 724 00:31:51,860 --> 00:31:54,151 El sau ea ar face de fapt acest tip de lucruri pentru tine, 725 00:31:54,151 --> 00:31:58,510 sau așa-numitul webmasterul ar face de multe ori acest lucru pentru tine. 726 00:31:58,510 --> 00:31:59,010 In regula. 727 00:31:59,010 --> 00:32:03,300 Orice întrebări cu privire la unele dintre acestea aici? 728 00:32:03,300 --> 00:32:06,690 Sau orice oportunitate la toate pentru a întreba despre limbi? 729 00:32:06,690 --> 00:32:09,500 Cadrele? 730 00:32:09,500 --> 00:32:11,530 Atunci lasă-mă să introducă doar o altă bibliotecă 731 00:32:11,530 --> 00:32:13,150 care este, de asemenea, foarte frecvente in aceste zile. 732 00:32:13,150 --> 00:32:15,340 Lista ar putea continua la infinit. 733 00:32:15,340 --> 00:32:19,140 >> Iar această bibliotecă este un fel de începe să cadă din favoare. 734 00:32:19,140 --> 00:32:19,850 A fost în jur. 735 00:32:19,850 --> 00:32:22,040 Acesta a fost popularizat de Twitter pentru ceva timp. 736 00:32:22,040 --> 00:32:24,470 Și acum o mulțime de site-uri web, o mulțime de dezvoltatori l folosesc. 737 00:32:24,470 --> 00:32:26,629 Dar, lucruri noi vin afară și vine de-a lungul. 738 00:32:26,629 --> 00:32:29,420 Dar, permiteți-mi să vă dau un sens din ceea ce înseamnă să utilizeze o bibliotecă. 739 00:32:29,420 --> 00:32:32,250 Deci, din nou, JavaScript este un limbaj foarte popular. 740 00:32:32,250 --> 00:32:35,340 CSS, sau Cascading Style Sheets, am vorbit despre ieri. 741 00:32:35,340 --> 00:32:36,600 Că, de asemenea, este omniprezent. 742 00:32:36,600 --> 00:32:40,130 Nimeni nu face o pagină web astăzi fără a utiliza HTML si CSS minim. 743 00:32:40,130 --> 00:32:42,510 Dar nu este întotdeauna ușor pentru a face anumite lucruri. 744 00:32:42,510 --> 00:32:46,281 >> Și așa lasă-mă să merg la getbootstrap.com. 745 00:32:46,281 --> 00:32:46,780 Hopa. 746 00:32:46,780 --> 00:32:48,280 Nu așa ne scrie. 747 00:32:48,280 --> 00:32:52,410 Getbootstrap.com, care este de gând să mă conducă 748 00:32:52,410 --> 00:32:56,140 la pagina de destinație pentru această bibliotecă. 749 00:32:56,140 --> 00:32:59,720 Deci, ei numesc generozitate ele însele un cadru, care 750 00:32:59,720 --> 00:33:02,032 este un fel de fel de echitabil, dar aș numi în continuare 751 00:33:02,032 --> 00:33:03,490 mai mult de o bibliotecă decât un cadru. 752 00:33:03,490 --> 00:33:05,760 Dar acestea sunt doar semantica discutabile. 753 00:33:05,760 --> 00:33:12,360 Lasă-mă să merg la tab-ul lor CSS și lasă-mă să merg la ceva de genul asta. 754 00:33:12,360 --> 00:33:15,450 >> Așa că amintesc ce sa uitat formele noastre ca ieri pe Cloud9? 755 00:33:15,450 --> 00:33:16,370 A fost destul de urât. 756 00:33:16,370 --> 00:33:17,320 butoane vechi de școală. 757 00:33:17,320 --> 00:33:20,420 Cred că butonul a fost gri de Mod implicit. Și totul a fost într-adevăr 758 00:33:20,420 --> 00:33:22,420 formatate destul de messily. 759 00:33:22,420 --> 00:33:26,940 Așa că, dacă doriți formularele web să se uite un pic nicer-- lasă-mă mări aici. 760 00:33:26,940 --> 00:33:30,050 >> Si eu mai plăcut cu adevărat doar înseamnă estetica foarte nitpicky. 761 00:33:30,050 --> 00:33:35,390 Așa că observați cum se are cutia de e-mail rotunjit colțuri dreptunghiulare ea. 762 00:33:35,390 --> 00:33:37,010 Deci, e un pic mai curat acolo. 763 00:33:37,010 --> 00:33:40,770 Observați că e-mailul de cuvânt este acolo până când am început să tastați 764 00:33:40,770 --> 00:33:41,797 și apoi dispare. 765 00:33:41,797 --> 00:33:43,130 Deci asta este o caracteristică frumos pic. 766 00:33:43,130 --> 00:33:46,046 Observați cum lucru este un fel de stralucitoare frumos, pe care o parte din acest lucru 767 00:33:46,046 --> 00:33:49,069 obține gratuit de browser-ul dvs., dar o parte din aceasta este, de asemenea, biblioteci, 768 00:33:49,069 --> 00:33:51,360 cod care alte persoane au în scris că da asta. 769 00:33:51,360 --> 00:33:53,480 >> Ceva de genul dă-mi parola. 770 00:33:53,480 --> 00:33:58,480 Acest buton este un pic mai sexy decât cea Mod implicit. Foarte mult în vogă chiar acum. 771 00:33:58,480 --> 00:34:03,570 Încă de când iOS 7 sau cam asa ceva, lumii a devenit foarte plat, 772 00:34:03,570 --> 00:34:09,000 întrucât lumea înainte de a avea o mulțime de umbre picătură, o mulțime 773 00:34:09,000 --> 00:34:11,040 de reflecții asupra icoanelor. 774 00:34:11,040 --> 00:34:14,170 La fel ca în lumea de îmbrăcăminte, exista tendinte de moda, care vin și se duc. 775 00:34:14,170 --> 00:34:16,190 Acum totul este plat pe telefon. 776 00:34:16,190 --> 00:34:19,159 >> De fapt, butoanele de pe dvs. de iPhone sunt acum link-uri doar albastru. 777 00:34:19,159 --> 00:34:21,000 Nu e de multe ori chiar butoane circulare. 778 00:34:21,000 --> 00:34:22,791 Deci, acestea sunt doar lucruri care intră și ies 779 00:34:22,791 --> 00:34:26,659 de modă, și astfel încât acesta este modul în care s-ar putea face o formă mai modernă web în căutarea. 780 00:34:26,659 --> 00:34:27,159 Butoane. 781 00:34:27,159 --> 00:34:29,190 Așa că Bootstrap are o mulțime de butoane destul. 782 00:34:29,190 --> 00:34:33,639 Așa că, dacă doriți butoane albastre, butoane verde, albastru, portocaliu, roșu. 783 00:34:33,639 --> 00:34:35,840 Bootstrap face mai ușor pentru a face aceste lucruri. 784 00:34:35,840 --> 00:34:38,131 Acestea sunt tipurile de lucruri că ai putea absolut 785 00:34:38,131 --> 00:34:41,840 s-au făcut, ieri, cu CSS și cu HTML, dar este doar o durere în gât. 786 00:34:41,840 --> 00:34:44,840 Și așa în schimb, ceea ce ar fi Bootstrap Trebuie să faci este ceva de genul asta. 787 00:34:44,840 --> 00:34:48,960 >> Dacă doriți ca un button-- se dovedește acest lucru este o etichetă HTML nu am folosit yesterday-- 788 00:34:48,960 --> 00:34:53,070 și doriți să se uite cum ar fi acest buton verde, 789 00:34:53,070 --> 00:34:57,380 literalmente da doar o clasă, pe care am făcut-o vorbim despre ieri, 790 00:34:57,380 --> 00:34:59,710 din "BTN BTN-succes." 791 00:34:59,710 --> 00:35:00,971 >> De ce aceste cuvinte? 792 00:35:00,971 --> 00:35:03,470 Twitter, autorii Bootstrap, a venit cu aceste cuvinte. 793 00:35:03,470 --> 00:35:05,428 Ele ar putea fi numit le tot ce vor. 794 00:35:05,428 --> 00:35:08,480 Dar, ceea ce primesc acum este pe altcineva la Twitter, în acest caz, 795 00:35:08,480 --> 00:35:12,360 a dat seama cum se face buton arata frumos și curat și verde. 796 00:35:12,360 --> 00:35:15,580 Ei au ambalate în sus că funcționalitatea într-o clasă CSS, numită "BTN" 797 00:35:15,580 --> 00:35:19,790 și "BTN-succes", astfel încât oricare dintre noi poate acum folosesc fără măcar să ne gândim 798 00:35:19,790 --> 00:35:20,290 aceasta. 799 00:35:20,290 --> 00:35:22,880 Deci, ei au abstras departe noțiunea de un buton verde 800 00:35:22,880 --> 00:35:25,320 așa că nu trebuie să-i pese pune în aplicare noi înșine. 801 00:35:25,320 --> 00:35:28,520 Ne putem concentra de fapt, pe punerea în aplicare lucruri de interes pentru noi. 802 00:35:28,520 --> 00:35:30,902 >> Dacă ne defilați în jos aici. 803 00:35:30,902 --> 00:35:32,110 Mesaje de eroare de pe ecran. 804 00:35:32,110 --> 00:35:35,440 Uneori doriți un mesaj scurt să apară pe partea de sus a browser-ului. 805 00:35:35,440 --> 00:35:39,729 Oricare dintre noi ar putea face acest lucru cu unele efort, după lecția de ieri, 806 00:35:39,729 --> 00:35:40,770 dar de ce te deranjează? 807 00:35:40,770 --> 00:35:42,540 Asta e un astfel de neinteresantă detaliu estetic. 808 00:35:42,540 --> 00:35:44,248 Hai să Stând pe umerii de Bootstrap 809 00:35:44,248 --> 00:35:49,440 și ei să ne dea lucruri de genul asta, în cazul în care ne-am literalmente, pentru a obține o cutie roșie, 810 00:35:49,440 --> 00:35:53,220 trebuie doar să facă un paragraf tag-ul cu o clasă de-- pare rău. 811 00:35:53,220 --> 00:35:57,307 "Bg-pericol", ne-ar da această casetă roșiatică în loc. 812 00:35:57,307 --> 00:35:59,140 Acum, să mergem la mai multe lucruri interesante. 813 00:35:59,140 --> 00:36:02,950 Dacă mă duc înapoi la partea de sus această pagină și du-te la componente, 814 00:36:02,950 --> 00:36:05,380 acum lumea devine mai interesantă. 815 00:36:05,380 --> 00:36:08,826 De exemplu, foarte frecvente este drop jos meniuri de genul asta. 816 00:36:08,826 --> 00:36:11,560 Acest lucru ar fi absolut durerea de a pune în aplicare. 817 00:36:11,560 --> 00:36:13,610 Și nu a fost atât de mult timp în urmă că noi programatori 818 00:36:13,610 --> 00:36:16,490 ar trebui să pună în aplicare aceste tipuri de meniuri de la zero. 819 00:36:16,490 --> 00:36:20,800 >> Dar este o astfel de paradigmă comună că bibliotecile ca Bootstrap 820 00:36:20,800 --> 00:36:25,230 doar vă oferă posibilitatea de a face o drop jos meniu de departe, mult mai ușor. 821 00:36:25,230 --> 00:36:27,850 Nu există nici o modalitate de a face acest lucru, dar dacă am citit documentația 822 00:36:27,850 --> 00:36:32,100 Mi-ar vedea că, OK, eu ar trebui să utilizeze acest HTML, dacă vreau un meniu derulant 823 00:36:32,100 --> 00:36:34,030 care se comporta ca asta. 824 00:36:34,030 --> 00:36:36,690 >> În mod similar, să mergem la butonul drop jos. 825 00:36:36,690 --> 00:36:38,470 Deci, acest lucru este chiar columbofil. 826 00:36:38,470 --> 00:36:41,800 Dacă vreau ca acest lucru să arate ca un buton dar acel triunghi mic înseamnă 827 00:36:41,800 --> 00:36:44,080 Ar trebui să faceți clic pe ea și a obține acest meniu, acest lucru 828 00:36:44,080 --> 00:36:45,760 este folosind un limbaj numit JavaScript. 829 00:36:45,760 --> 00:36:47,470 Și, tot ce ne-am putea pune în aplicare acest lucru în JavaScript. 830 00:36:47,470 --> 00:36:49,720 Dar, din nou, acest lucru este o roată nu doriți să reinventeze. 831 00:36:49,720 --> 00:36:52,700 Vrei doar să-l scoată biblioteca raft pentru acest lucru. 832 00:36:52,700 --> 00:36:58,145 >> Hai să mergem la ceva cum ar fi bare de progres. 833 00:36:58,145 --> 00:36:59,770 Așa că ceva de genul acesta este un fel de rece. 834 00:36:59,770 --> 00:37:02,910 Dacă ați văzut vreodată un progres bare se deplasează pe ecran, 835 00:37:02,910 --> 00:37:06,380 de punere în aplicare care de multe ori este doar o pictogramă de filare. 836 00:37:06,380 --> 00:37:10,200 De fapt, la fel ca și o parte, să mă să merg la Ajax-- ce este? 837 00:37:10,200 --> 00:37:10,710 Ajax info? 838 00:37:10,710 --> 00:37:11,720 Hopa. 839 00:37:11,720 --> 00:37:13,035 Ajaxinfo. 840 00:37:13,035 --> 00:37:14,800 Permiteți-mi să amintesc adresa. 841 00:37:14,800 --> 00:37:15,820 Acolo mergem. 842 00:37:15,820 --> 00:37:19,850 >> Așadar, dacă ai văzut vreodată unele animație în timp ce pagina se încarcă, sau de gândire, 843 00:37:19,850 --> 00:37:25,410 sau de economisire, sau crearea de ceva, ar putea vedea animații, cum ar fi acestea. 844 00:37:25,410 --> 00:37:28,800 Deci, să ne uităm la ceva ca aceasta de aici, 845 00:37:28,800 --> 00:37:33,550 și să aleagă o culoare de prim-plan de verde, care se simte un fel de prietenos. 846 00:37:33,550 --> 00:37:34,545 Pot să faceți clic pe acest? 847 00:37:34,545 --> 00:37:35,500 Haide. 848 00:37:35,500 --> 00:37:36,000 O.K. 849 00:37:36,000 --> 00:37:38,930 Vom merge doar cu roșu, deoarece asta e ceea ce ne apropiem. 850 00:37:38,930 --> 00:37:40,250 Deci, aici îl avem. 851 00:37:40,250 --> 00:37:43,940 >> Așa că, dacă v-ați văzut vreodată acest lucru pe un ecran, prin care brusc apare și apoi 852 00:37:43,940 --> 00:37:47,550 brusc dispare, ceea ce este care este punerea în aplicare ea asta? 853 00:37:47,550 --> 00:37:48,970 Ei bine, acest lucru este doar un GIF. 854 00:37:48,970 --> 00:37:52,850 G-I-F. Și acest lucru este un animat fișier, care înseamnă doar 855 00:37:52,850 --> 00:37:54,327 este ca o carte de benzi desenate vechi școală. 856 00:37:54,327 --> 00:37:57,160 Există doar o grămadă de diferite cadre care vor [balbismul] 857 00:37:57,160 --> 00:37:58,085 și doar repetarea. 858 00:37:58,085 --> 00:38:00,090 Și se dau naștere iluzia mișcării. 859 00:38:00,090 --> 00:38:03,070 >> Așa că, de îndată ce o pagină este făcută de încărcare sau de a face ceva, 860 00:38:03,070 --> 00:38:04,610 ce face un programator? 861 00:38:04,610 --> 00:38:07,500 Ei bine, el sau ea doar ascunde această imagine. 862 00:38:07,500 --> 00:38:11,536 Deci, toate o bară de progres este este un fel de ca un film pe care îl urmăriți. 863 00:38:11,536 --> 00:38:14,660 Tu ești un fel de orb la faptul că nu face de fapt nimic, 864 00:38:14,660 --> 00:38:15,940 este doar în mișcare. 865 00:38:15,940 --> 00:38:19,150 >> Și apoi, când se face progresează, ei doar ascunde sau opriți-l. 866 00:38:19,150 --> 00:38:21,115 Și asta e tot magia care se întâmplă acolo. 867 00:38:21,115 --> 00:38:22,770 Bootstrap vă oferă ceva un pic mai arătos 868 00:38:22,770 --> 00:38:25,030 prin care puteți de fapt a se vedea un procent ca merge, 869 00:38:25,030 --> 00:38:27,840 dar prea este doar un fel o animație simplă. 870 00:38:27,840 --> 00:38:32,250 >> Să ne uităm la un final mai multe exemple complexe aici. 871 00:38:32,250 --> 00:38:35,526 Ceva de genul modal. 872 00:38:35,526 --> 00:38:36,900 Stie cineva ce modal este? 873 00:38:36,900 --> 00:38:39,880 874 00:38:39,880 --> 00:38:42,550 O fereastră modal este, în general una care se presupune 875 00:38:42,550 --> 00:38:46,880 să preia controlul asupra informațiilor generate și te împiedică să faci nimic altceva. 876 00:38:46,880 --> 00:38:50,290 Într-un fel forțează-ul utilizatorului atenție la mijlocul ecranului, 877 00:38:50,290 --> 00:38:52,290 blocare-le, în mod tipic, de orice altceva. 878 00:38:52,290 --> 00:38:55,830 >> Deci, dacă am lansa acest demo, The Ecranul va deveni, în general, de culoare gri. 879 00:38:55,830 --> 00:38:57,060 Ei bine, cum o facem gri? 880 00:38:57,060 --> 00:38:59,080 Ei bine, noi, probabil, doar a schimbat culoarea de fundal 881 00:38:59,080 --> 00:39:01,060 așa cum am făcut-o ieri sau asa ceva. 882 00:39:01,060 --> 00:39:03,490 Poate că este o suprapunere că semi-transparent. 883 00:39:03,490 --> 00:39:06,320 Și acum observați poți face lucruri fanteziste de genul asta. 884 00:39:06,320 --> 00:39:09,930 Așa că, dacă faceți clic vreodată pe un buton și doresc un pic pop-out să apară, 885 00:39:09,930 --> 00:39:10,710 Poti sa faci asta. 886 00:39:10,710 --> 00:39:12,340 Și așa cui îi pasă de all-- da? 887 00:39:12,340 --> 00:39:15,791 >> AUDIENTA: Deci, cu Bootstrap, să-l încorporat, 888 00:39:15,791 --> 00:39:21,002 este la fel de simplu ca și cum ar fi ieri am făcut-o pagina de stiluri CSS? 889 00:39:21,002 --> 00:39:21,960 David J. MALAN: Intr-adevar. 890 00:39:21,960 --> 00:39:22,835 Într-adevăr bine întrebare. 891 00:39:22,835 --> 00:39:24,480 Lasă-mă să merg la Noțiuni de bază. 892 00:39:24,480 --> 00:39:26,090 Si da. 893 00:39:26,090 --> 00:39:30,920 Tot ce trebuie să faceți pentru a utilizarea Bootstrap este, în esență, să copiați 894 00:39:30,920 --> 00:39:35,910 și lipiți aceste trei linii lungi de cod în partea de sus a propriei page-- web 895 00:39:35,910 --> 00:39:38,892 șeful tău page-- și tu ești sus și să fie difuzate. 896 00:39:38,892 --> 00:39:41,850 Și, există diferite moduri de a face ea, dar acest lucru ar fi mai simplu. 897 00:39:41,850 --> 00:39:45,190 >> Deci, ce este util despre toate astea? 898 00:39:45,190 --> 00:39:47,524 Ei bine, dacă nu ești atât de mult practicantul unui site 899 00:39:47,524 --> 00:39:50,106 dar tu încerci să-l proiecteze, sau doriți să oferiți cuiva 900 00:39:50,106 --> 00:39:53,220 cu diagrame cadru de sârmă, ca să spunem așa, sau predări doar artist a ceea ce 901 00:39:53,220 --> 00:39:56,080 vrei să faci, eu, la această zi, va merge de multe ori la un site 902 00:39:56,080 --> 00:39:58,660 cum ar fi Bootstrap, în cazul în care, dacă am doresc să pună în aplicare something-- 903 00:39:58,660 --> 00:40:02,290 cum ar fi recent în campus am dorit să pună în aplicare 904 00:40:02,290 --> 00:40:06,170 un instrument bazat pe web pentru a naviga Catalog de curs de la Harvard, 905 00:40:06,170 --> 00:40:08,770 ceea ce face mai ușor pentru studenți pentru a naviga prin cursuri 906 00:40:08,770 --> 00:40:10,930 și se adaugă cursuri de la listă de cumpărături, ca să spunem așa, 907 00:40:10,930 --> 00:40:13,070 pentru a decide ce fel de au vrut să le ia. 908 00:40:13,070 --> 00:40:16,252 >> Am încercat să ne imaginăm pentru mine, ce ingrediente ar 909 00:40:16,252 --> 00:40:17,460 dorim să folosim pentru a construi acest lucru? 910 00:40:17,460 --> 00:40:19,050 Care ar fi interfața cu utilizatorul cum ar fi? 911 00:40:19,050 --> 00:40:22,800 Și doar în căutarea printr-un site ca acest lucru sau alte astfel de site-uri de bibliotecă, 912 00:40:22,800 --> 00:40:26,560 puteți obține inspirație, pentru că wow, Pot folosi acest widget, și acest widget, 913 00:40:26,560 --> 00:40:27,330 și acest widget. 914 00:40:27,330 --> 00:40:29,080 Și apoi într-adevăr ce programator începe 915 00:40:29,080 --> 00:40:32,800 de a face, mai ales în aceste zile, în această lume mai moderne de programare web, 916 00:40:32,800 --> 00:40:35,827 este de programare este din ce în ce despre cabluri lucruri împreună. 917 00:40:35,827 --> 00:40:38,910 Un fel de a lua acest de pe raft, acest lucru de pe raft, acest lucru de pe raft, 918 00:40:38,910 --> 00:40:41,954 și tu fiind cel deștept pentru a conecta toate aceste puncte, 919 00:40:41,954 --> 00:40:45,120 dar, în cele din urmă construi ceva de nou în picioare pe umerii altora, 920 00:40:45,120 --> 00:40:49,370 astfel încât să nu petreacă o lună de punere în aplicare o picătură prost meniu în jos, 921 00:40:49,370 --> 00:40:52,080 care este de fapt greu de făcut dacă pe care doriți să lucrați în Chrome, 922 00:40:52,080 --> 00:40:55,220 și IE, și Firefox, precum și orice număr de alte browsere. 923 00:40:55,220 --> 00:40:59,060 Acesta este motivul pentru care există acest bogat software-ul sursă comercială și deschisă 924 00:40:59,060 --> 00:41:01,220 industrie, de asemenea. 925 00:41:01,220 --> 00:41:06,810 >> AUDIENTA: Deci, nu Bootstrap obține actualizat și trebuie să actualizați apoi link-urile dvs.? 926 00:41:06,810 --> 00:41:07,820 >> David J. MALAN: Face. 927 00:41:07,820 --> 00:41:09,090 Ei bine, da, o face. 928 00:41:09,090 --> 00:41:12,540 Bootstrap este în prezent la versiunea 3.3.6. 929 00:41:12,540 --> 00:41:16,720 Și, în general, ceea ce s-ar do-- acest lucru este de fapt demn de menționat. 930 00:41:16,720 --> 00:41:19,200 Nu e ceea ce este în general cunoscut ca un versionare semantic 931 00:41:19,200 --> 00:41:20,160 Sistemul din lume. 932 00:41:20,160 --> 00:41:21,320 Nu toată lumea face acest lucru. 933 00:41:21,320 --> 00:41:26,410 >> Dar, dacă ați văzut numere de versiune care sunt de forma x.y.z-- 934 00:41:26,410 --> 00:41:30,240 astfel încât, de exemplu, prima versiune unui program poate fi 1.0.0. 935 00:41:30,240 --> 00:41:34,970 Sau, în cazul în care este foarte, foarte beta, sau chiar starea alfa, ceea ce înseamnă că utilizarea 936 00:41:34,970 --> 00:41:37,620 pe propriul risc, nu-i într-adevăr gata pentru prime time, 937 00:41:37,620 --> 00:41:42,080 s-ar putea începe chiar 0.0.1 sau a unor astfel de desemnare. 938 00:41:42,080 --> 00:41:47,260 Dar, în cazul în care software-ul începe la versiunea 1.0 sau echivalent 1.0.0, 939 00:41:47,260 --> 00:41:50,530 de obicei, ceea ce este comun cu acestea days-- deși nu este omnipresent-- 940 00:41:50,530 --> 00:41:53,520 în cazul în care o companie sau o remedieri programator individuale 941 00:41:53,520 --> 00:41:56,140 unele bug în unele bucata de software care într-adevăr 942 00:41:56,140 --> 00:42:01,620 a fost un bug, a cărui corecție nu ar trebui să te impactul la all-- nu se schimba 943 00:42:01,620 --> 00:42:03,940 Comportamentul programului, acesta fixează doar ceva 944 00:42:03,940 --> 00:42:06,580 care nu a fost de lucru properly-- v-ar tipic 945 00:42:06,580 --> 00:42:08,890 actualizarea valorii z acolo. 946 00:42:08,890 --> 00:42:12,900 Ceea ce înseamnă că cineva ca Kareem ar putea pur și simplu du-te în site-ul său, 947 00:42:12,900 --> 00:42:19,470 schimbați orbește numărul versiunii de la 1.0.0 la 1.0.1, salvați-l, nava, 948 00:42:19,470 --> 00:42:21,880 și în teorie, nu trebuie să vă faceți griji că el doar rupt 949 00:42:21,880 --> 00:42:24,430 site-ul său, din cauza o oarecare lipsă de funcționalitate, 950 00:42:24,430 --> 00:42:25,870 pentru că a rupt ceva. 951 00:42:25,870 --> 00:42:28,740 >> Între timp, dacă eu programator sau o companie 952 00:42:28,740 --> 00:42:35,500 au fost de a face unele semnificative schimbare care adaugă funcționalitate, 953 00:42:35,500 --> 00:42:40,320 S-ar putea să ne actualiza la 1.1.0 pentru că sunt de fapt 954 00:42:40,320 --> 00:42:42,200 schimbarea comportamentului bibliotecii. 955 00:42:42,200 --> 00:42:44,470 Îți dau mai multă funcționalitate poate. 956 00:42:44,470 --> 00:42:48,490 În cele din urmă, dacă aș fi fost de fapt la schimba fundamental software-ul asa 957 00:42:48,490 --> 00:42:54,380 de mult că se va rupe multe utilizatorii site-uri web sau aplicații, 958 00:42:54,380 --> 00:42:59,550 atunci eu sunt obligat, în acest model, pentru a upgrade la numărul versiunii majore prea, 959 00:42:59,550 --> 00:43:01,059 care este o schimbare de rupere. 960 00:43:01,059 --> 00:43:03,725 Cu alte cuvinte, am putea avea sprijin pentru cei care au întrerupt meniurile 961 00:43:03,725 --> 00:43:04,350 meniu în jos. 962 00:43:04,350 --> 00:43:07,790 Așa că, dacă faci upgrade la 2.0, jumătate site-ul dvs. ar putea să nu mai funcționeze. 963 00:43:07,790 --> 00:43:10,950 Și acest lucru este un fel de semnal la comunitate ca la ceea ce este 964 00:43:10,950 --> 00:43:13,223 implicat în a face un upgrade. 965 00:43:13,223 --> 00:43:16,710 966 00:43:16,710 --> 00:43:18,020 O bună ocazie de a ridica. 967 00:43:18,020 --> 00:43:18,718 Alte întrebări? 968 00:43:18,718 --> 00:43:21,761 969 00:43:21,761 --> 00:43:22,260 In regula. 970 00:43:22,260 --> 00:43:26,945 Ei bine, să aruncăm o privire la una finală subiect în acest segment de programare 971 00:43:26,945 --> 00:43:30,640 de stive de tehnologie, și anume legate de telefonie mobilă. 972 00:43:30,640 --> 00:43:36,232 >> Deci, în lumea telefoanelor mobile de astăzi tu have-- și iPad-uri, și suprafețe, 973 00:43:36,232 --> 00:43:37,940 și toate aceste tipuri de devices-- aveți 974 00:43:37,940 --> 00:43:40,950 o mulțime de opțiuni atunci când este vorba de punere în aplicare 975 00:43:40,950 --> 00:43:47,270 o aplicație sau un site web pentru dispozitivele mobile clientului. 976 00:43:47,270 --> 00:43:51,570 Deci, doar să se indice evident, poate ca aceste zile, 977 00:43:51,570 --> 00:43:54,960 care sunt platforme pentru a pentru a dezvolta în spațiul mobil? 978 00:43:54,960 --> 00:43:59,650 Ce dispozitive ar putea să vă doriți să sprijini cu aplicația dvs. sau site-ul? 979 00:43:59,650 --> 00:44:00,317 >> AUDIENTA: Apple. 980 00:44:00,317 --> 00:44:01,108 David J. MALAN: OK. 981 00:44:01,108 --> 00:44:01,820 Astfel încât dispozitivele Apple. 982 00:44:01,820 --> 00:44:06,740 Deci asta înseamnă iPhone, și că înseamnă iPad, și poate chiar iPod. 983 00:44:06,740 --> 00:44:07,627 Ce altceva? 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 >> AUDIENTA: Android. 987 00:44:11,970 --> 00:44:13,111 >> David J. MALAN: Android. 988 00:44:13,111 --> 00:44:13,610 O.K. 989 00:44:13,610 --> 00:44:17,335 telefoane Android Așa că, Android tablete, Android Market 990 00:44:17,335 --> 00:44:21,240 este chiar Messier because-- și chiar Apple devine murdar. 991 00:44:21,240 --> 00:44:23,960 Întrucât o dată la un moment dat iPhone-ul a fost o anumită dimensiune, 992 00:44:23,960 --> 00:44:26,560 și iPad a fost o anumită dimensiune, și iPod a fost o anumită dimensiune, acum 993 00:44:26,560 --> 00:44:33,420 avem iPad Minis, și subțire cele, și iPhone 6 Plus și 6. 994 00:44:33,420 --> 00:44:34,407 Devine o mizerie. 995 00:44:34,407 --> 00:44:35,740 Devine lumea Android. 996 00:44:35,740 --> 00:44:39,030 >> Si eu spun acest lucru cu un fel de rulare ochii mei, pentru că de la un dezvoltator 997 00:44:39,030 --> 00:44:41,680 perspectivă, este o dureri în gât atunci când 998 00:44:41,680 --> 00:44:45,686 nu ai lui Steve Jobs viziune de control absolut 999 00:44:45,686 --> 00:44:47,060 peste toate aceste specificații. 1000 00:44:47,060 --> 00:44:49,726 Apple a face în continuare, deoarece acestea sunt cele construirea hardware-ul. 1001 00:44:49,726 --> 00:44:52,690 Dar este un lucru frumos, dacă Sunt un dezvoltator de software, 1002 00:44:52,690 --> 00:44:54,520 să știe că-mi iPhone-ul este întotdeauna merge 1003 00:44:54,520 --> 00:44:56,850 să fie atât de mare, deoarece asta înseamnă că știu întotdeauna 1004 00:44:56,850 --> 00:44:58,847 cât de mult ecran imobiliar am. 1005 00:44:58,847 --> 00:45:01,180 Așa că, dacă vreau să pun o pictogramă în colțul din stânga sus, 1006 00:45:01,180 --> 00:45:04,530 ea va fi în exact aceeași așezați pe dispozitiv fiecare client. 1007 00:45:04,530 --> 00:45:07,140 >> Dar, în lumea iPhone 6s și iPhone 6 Plusuri 1008 00:45:07,140 --> 00:45:10,570 și în lumea Android telefoane, este peste tot pe hartă. 1009 00:45:10,570 --> 00:45:13,580 Și, așa că face mai greu de program de lucruri, în special interfețe pentru utilizator, 1010 00:45:13,580 --> 00:45:18,270 pentru că acum trebuie să înceapă aranjarea interfețele de utilizator relativ, nu 1011 00:45:18,270 --> 00:45:19,730 absolut. 1012 00:45:19,730 --> 00:45:23,524 Și același lucru a fost adevărat în browsere, și desktop-uri și laptop-uri pentru anii 1013 00:45:23,524 --> 00:45:25,690 pentru că tu, desigur, au diferite dimensiuni de ecran. 1014 00:45:25,690 --> 00:45:26,189 >> Ce altceva? 1015 00:45:26,189 --> 00:45:30,170 S-ar putea avea suprafețe, cum ar fi de la Microsoft. 1016 00:45:30,170 --> 00:45:31,270 Ai putea avea-- 1017 00:45:31,270 --> 00:45:32,270 Audiența: telefon Windows. 1018 00:45:32,270 --> 00:45:32,816 David J. MALAN: Ce-i asta? 1019 00:45:32,816 --> 00:45:33,570 Audiența: telefon Windows. 1020 00:45:33,570 --> 00:45:34,403 David J. MALAN: Da. 1021 00:45:34,403 --> 00:45:37,570 Astfel încât telefoanele Windows pot fi găsite încă. 1022 00:45:37,570 --> 00:45:41,840 Un fel de fel de BlackBerrys, dar ei încearcă. 1023 00:45:41,840 --> 00:45:43,900 Și apoi ciorchini de alte dispozitive. 1024 00:45:43,900 --> 00:45:48,020 Deci, pentru cea mai mare parte, să spun acestea sunt cele 1025 00:45:48,020 --> 00:45:49,520 să aibă grijă în acest moment. 1026 00:45:49,520 --> 00:45:51,890 Cu siguranță lucrurile Apple, cu siguranță, lucrurile Android, 1027 00:45:51,890 --> 00:45:55,640 și printre pentru Windows, cum ar fi tablete de suprafață par să fie prinderea pe destul de bine. 1028 00:45:55,640 --> 00:45:58,030 >> Și așa printre aceste dispozitive, dacă doriți să rola afară, 1029 00:45:58,030 --> 00:46:02,677 să zicem, o prezență mobil dvs. companie, ce tipuri de decizii de proiectare 1030 00:46:02,677 --> 00:46:03,510 nu trebuie să faci? 1031 00:46:03,510 --> 00:46:06,350 Ei bine, am spus deja în lume Apple, 1032 00:46:06,350 --> 00:46:08,790 există cel puțin două limbi care sunt utilizate în mod obișnuit. 1033 00:46:08,790 --> 00:46:10,260 Unul a fost numit ce? 1034 00:46:10,260 --> 00:46:11,260 >> AUDIENTA: Obiectiv-C. 1035 00:46:11,260 --> 00:46:11,560 >> David J. MALAN: Da. 1036 00:46:11,560 --> 00:46:13,600 Deci, Objective-C, care este cea mai veche. 1037 00:46:13,600 --> 00:46:17,720 Este, de asemenea, limba pe care mulți Mac cererile sunt încă scrise în. 1038 00:46:17,720 --> 00:46:18,964 Apoi cealaltă noua era? 1039 00:46:18,964 --> 00:46:19,630 AUDIENTA: Swift. 1040 00:46:19,630 --> 00:46:20,590 David J. MALAN: Swift. 1041 00:46:20,590 --> 00:46:23,900 Iar acestea sunt genul de doi să știu pentru a impresiona oameni. 1042 00:46:23,900 --> 00:46:28,238 Apoi, în lumea Android, ce limbă folosește Android? 1043 00:46:28,238 --> 00:46:30,618 >> AUDIENTA: C #? 1044 00:46:30,618 --> 00:46:31,570 >> AUDIENTA: Java. 1045 00:46:31,570 --> 00:46:34,230 >> David J. MALAN: Java este limba de "du jour". 1046 00:46:34,230 --> 00:46:37,950 În lume pentru Windows, sigur, vom spune C # în acest caz. 1047 00:46:37,950 --> 00:46:40,590 Așa că deja acest lucru este un fel de enervant, pentru că ceea ce este 1048 00:46:40,590 --> 00:46:43,070 MENIUL pentru o afacere proprietar sau de cineva care tocmai 1049 00:46:43,070 --> 00:46:44,570 vrea să lanseze o prezență mobil? 1050 00:46:44,570 --> 00:46:45,220 Cum ar fi, la naiba? 1051 00:46:45,220 --> 00:46:48,590 Ca și, dacă doresc să sprijine o bază de utilizatori destul de larg, 1052 00:46:48,590 --> 00:46:52,180 Trebuie să scrie, s-ar părea, trei aplicații separate. 1053 00:46:52,180 --> 00:46:55,630 Una într-una dintre aceste limbi, unul în Java, unul în C #. 1054 00:46:55,630 --> 00:46:59,620 Și chiar dacă vreau funcționalitatea să fie identice, nu contează. 1055 00:46:59,620 --> 00:47:02,940 Mai trebuie să folosesc metode diferite limbi pentru că Apple și Microsoft, 1056 00:47:02,940 --> 00:47:06,084 Google și tot sprijinul medii diferite. 1057 00:47:06,084 --> 00:47:07,750 Și acest lucru a fost o provocare de ani de zile. 1058 00:47:07,750 --> 00:47:10,100 Înapoi în ziua, când oamenii folosit pentru a cumpăra software-ul 1059 00:47:10,100 --> 00:47:12,230 la un magazin de calculatoare în psihiatru cutii împachetate, 1060 00:47:12,230 --> 00:47:14,470 v-ar trebui să fie ajunge pentru raft Mac, 1061 00:47:14,470 --> 00:47:19,040 sau for-- poate acest lucru foarte mic Mac shelf-- sau mai mare raft pentru Windows 1062 00:47:19,040 --> 00:47:19,980 și să cumpere unele software-ul. 1063 00:47:19,980 --> 00:47:22,813 Și, de foarte multe ori, nu exista nici măcar orice pentru tine pe raft Mac. 1064 00:47:22,813 --> 00:47:23,430 De ce? 1065 00:47:23,430 --> 00:47:26,900 Ei bine, companiile au decis dacă 90% din lume, 95% din lume 1066 00:47:26,900 --> 00:47:31,180 are PC-uri, de ce bate capul punerea în aplicare a lucrurilor pe Mac OS? 1067 00:47:31,180 --> 00:47:34,370 >> Ca un aside-- total digression-- de ce este 1068 00:47:34,370 --> 00:47:40,960 că Mac pare atât impermeabil la viruși, și viermi, și amenințărilor de securitate? 1069 00:47:40,960 --> 00:47:44,040 Apple este mai bun la asta? 1070 00:47:44,040 --> 00:47:45,934 O mai bună la păstrarea calculatoarelor sigure? 1071 00:47:45,934 --> 00:47:47,750 >> AUDIENCE mai mici? 1072 00:47:47,750 --> 00:47:50,720 >> David J. MALAN: Asta probabil pic mai mare pentru el. 1073 00:47:50,720 --> 00:47:54,740 Astfel încât mulți utilizatori de Mac-uri au lung a susținut, oh, utilizați un Mac, 1074 00:47:54,740 --> 00:47:57,630 vei fi imun la viruși și viermi, și toate aceste lucruri 1075 00:47:57,630 --> 00:47:59,180 care au afectat mult timp PC-uri. 1076 00:47:59,180 --> 00:48:02,050 Asta ar putea fi pentru că Apple are programatori mai bune 1077 00:48:02,050 --> 00:48:05,250 și scrie mai bine software-ul sau Sistemul de operare a fost mai bine proiectat. 1078 00:48:05,250 --> 00:48:06,870 Poate, dar probabil că nu. 1079 00:48:06,870 --> 00:48:10,840 >> Este probabil ca atunci cand esti un copil de 12 de ani, sau un 30 ceva 1080 00:48:10,840 --> 00:48:13,510 un fel de a sta la scris acasă software rău intenționat să preia 1081 00:48:13,510 --> 00:48:17,480 lumea, vei merge după publicul țintă mult mai mare. 1082 00:48:17,480 --> 00:48:20,590 95% din lume care ar putea să se execute Windows sau unele 1083 00:48:20,590 --> 00:48:21,740 variante ale acestora. 1084 00:48:21,740 --> 00:48:23,800 Deci, există un pic pe ambele părți. 1085 00:48:23,800 --> 00:48:25,710 Dar, pentru a lor de credit, Apple, la cunoștințele mele, 1086 00:48:25,710 --> 00:48:28,270 nu are într-adevăr ei înșiși touted ca fiind mai sigure, 1087 00:48:28,270 --> 00:48:32,110 din moment ce esti invitat doar dramă dacă face această afirmație, aș crede. 1088 00:48:32,110 --> 00:48:32,610 >> In regula. 1089 00:48:32,610 --> 00:48:36,490 Fara a intra prea mult în jos că, cum putem rezolva acest lucru? 1090 00:48:36,490 --> 00:48:39,670 Nu trebuie să cumpere sau nu trebuie să să plătească trei persoane diferite pentru a dezvolta 1091 00:48:39,670 --> 00:48:41,540 aplicațiile dvs.? 1092 00:48:41,540 --> 00:48:42,870 Te iei una peste alta? 1093 00:48:42,870 --> 00:48:45,460 Ce ar trebui să ghideze gândire aici crezi? 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 Nu. 1098 00:48:51,500 --> 00:48:54,190 Altcineva. 1099 00:48:54,190 --> 00:48:56,885 >> AUDIENTA: Vino cu hardware-ul. 1100 00:48:56,885 --> 00:48:58,510 David J. MALAN: Vino cu hardware-ul? 1101 00:48:58,510 --> 00:48:59,533 Ce vrei sa spui? 1102 00:48:59,533 --> 00:49:01,282 >> AUDIENTA: Pentru mediu inconjurator. [Inaudibil] 1103 00:49:01,282 --> 00:49:04,867 1104 00:49:04,867 --> 00:49:06,200 David J. MALAN: Deci este adevărat. 1105 00:49:06,200 --> 00:49:09,280 Dar, clienții, între timp, s-ar putea avea iPhone, 1106 00:49:09,280 --> 00:49:13,530 acestea ar putea avea telefoane Android, ei s-ar putea avea tablete realizate de Microsoft. 1107 00:49:13,530 --> 00:49:19,040 Deci, cum ai o strategie de telefonie mobilă pentru toți acești utilizatori diferiți? 1108 00:49:19,040 --> 00:49:23,320 S-ar părea că, dacă acesta costă, să zicem 1.000 $ pentru a face un iPhone 1109 00:49:23,320 --> 00:49:25,940 cerere, va pentru a te costa $ 2.000 face 1110 00:49:25,940 --> 00:49:29,250 o aplicație pentru iPhone și un aplicație Android sau $ 3.000 1111 00:49:29,250 --> 00:49:31,407 pentru a sprijini, de asemenea, dispozitivele Windows, de asemenea. 1112 00:49:31,407 --> 00:49:33,990 Asta e, probabil, destul de subestimare, și nu s-ar putea chiar 1113 00:49:33,990 --> 00:49:36,050 să fie o relație liniară de genul asta. 1114 00:49:36,050 --> 00:49:41,065 >> AUDIENTA: Dacă doriți să aveți o aplicație sau nu, puteți avea site-ul receptiv. 1115 00:49:41,065 --> 00:49:41,940 David J. MALAN: Bine. 1116 00:49:41,940 --> 00:49:46,255 Audiența: Sau puteți avea o aplicație nativă. 1117 00:49:46,255 --> 00:49:47,130 David J. MALAN: Da. 1118 00:49:47,130 --> 00:49:50,260 Deci, în acest context toate aici, am vorbit despre ce 1119 00:49:50,260 --> 00:49:53,190 oamenii ar numi aplicații native. 1120 00:49:53,190 --> 00:49:58,040 Aceasta este aplicațiile care sunt scrise în limba nativă a acestui dispozitiv. 1121 00:49:58,040 --> 00:50:02,190 Asa ca nativ Obiectiv-C sau Swift cod, sau în Java, sau în C #. 1122 00:50:02,190 --> 00:50:06,900 Ceea ce înseamnă că atunci când descărcați, să spune Snapchat, o aplicație populară, 1123 00:50:06,900 --> 00:50:10,060 sau atunci când descărcați Facebook pentru un telefon, 1124 00:50:10,060 --> 00:50:13,270 sunteți descărcarea fie versiune scrisă pentru iPhone, 1125 00:50:13,270 --> 00:50:16,830 sau scrise pentru telefonul Android, sau scrise pentru suprafața dumneavoastră. 1126 00:50:16,830 --> 00:50:18,500 >> Dar, există o alternativă. 1127 00:50:18,500 --> 00:50:26,020 După cum Olivier a fost aluzie la, puteți folosi de fapt HTML 5 1128 00:50:26,020 --> 00:50:33,440 în schimb, folosind ceea ce se numește un web cerere, prin care pur și simplu 1129 00:50:33,440 --> 00:50:35,940 pune în aplicare prezenta mobil și orice funcționalitate. 1130 00:50:35,940 --> 00:50:37,030 Ce vreau să spun prin prezența mobil? 1131 00:50:37,030 --> 00:50:39,800 La fel ca site-ul dvs., care are dumneavoastra informații de contact, o listă a tuturor 1132 00:50:39,800 --> 00:50:43,049 produsele, poate are un centru comercial coș, poate vinde lucruri prin ea. 1133 00:50:43,049 --> 00:50:46,850 Indiferent de aplicație este, tu punerea în aplicare a acesteia, nu în Obiectiv-C, 1134 00:50:46,850 --> 00:50:51,200 sau Swift, sau Java sau C #, dar în HTML 5, care a fost limba ne-am uitat 1135 00:50:51,200 --> 00:50:55,470 la ieri, cu JavaScript și CSS. 1136 00:50:55,470 --> 00:50:58,700 >> Și ce e frumos despre acele trei este că, pentru a le rula, 1137 00:50:58,700 --> 00:51:01,981 ai nevoie doar de ce bucată de software-ul? 1138 00:51:01,981 --> 00:51:02,980 AUDIENTA: Un browser web. 1139 00:51:02,980 --> 00:51:04,229 David J. MALAN: Un browser web. 1140 00:51:04,229 --> 00:51:07,610 Și, cel mai bun știu, toate acestea dispozitive vin cu browsere web, 1141 00:51:07,610 --> 00:51:10,480 astfel încât utilizatorul nu a trebuie să instalați ceva special. 1142 00:51:10,480 --> 00:51:12,920 Deci, vă puteți spune-ta publicul, clienții, 1143 00:51:12,920 --> 00:51:16,590 du-te la acme.com în Site browser-ul și doar te vei 1144 00:51:16,590 --> 00:51:19,730 au o experiență bazată pe web care încă umple ecranul, 1145 00:51:19,730 --> 00:51:25,100 dar nu trebuie să vă faceți griji cu privire la toate aceste costuri și toate această complexitate. 1146 00:51:25,100 --> 00:51:28,600 Dar, cu siguranță se întâmplă pentru a fi o captură aici, nu? 1147 00:51:28,600 --> 00:51:31,740 Mai ales dacă subliniez că în urmă cu câțiva ani, 1148 00:51:31,740 --> 00:51:35,700 prima versiune a aplicații mobile Facebook 1149 00:51:35,700 --> 00:51:38,810 a fost cea mai mare parte o aplicație HTML 5. 1150 00:51:38,810 --> 00:51:42,490 Și ei au, mai mult de curând, reimplemented 1151 00:51:42,490 --> 00:51:44,700 în alte aplicații lor. 1152 00:51:44,700 --> 00:51:46,990 >> Deci, de ce nu ar fi doresc imediat să spun, 1153 00:51:46,990 --> 00:51:49,190 Evident că vom face asta? 1154 00:51:49,190 --> 00:51:51,560 Care ar putea fi costurile ascunse? 1155 00:51:51,560 --> 00:51:52,477 >> AUDIENTA: Performance. 1156 00:51:52,477 --> 00:51:53,643 David J. MALAN: Performance? 1157 00:51:53,643 --> 00:51:54,567 Cum vrei să spui? 1158 00:51:54,567 --> 00:52:01,040 >> AUDIENTA: aplicația nativă are mai multă performanță. 1159 00:52:01,040 --> 00:52:03,850 >> David J. MALAN: Deci, care este adevărat, pentru un cuplu de motive. 1160 00:52:03,850 --> 00:52:05,270 Noi putem suprasimplificăm răspunsul. 1161 00:52:05,270 --> 00:52:08,061 Și amintesc discuția noastră interpretat comparativ cu limbajele compilate. 1162 00:52:08,061 --> 00:52:12,030 Acest lucru este HTML 5 și cu ea, doar pentru a fi clare, JavaScript-- scrise in mod comun 1163 00:52:12,030 --> 00:52:15,880 JS-- și CSS sunt toate limbi interpretate, 1164 00:52:15,880 --> 00:52:21,020 chiar dacă numai JavaScript este un limbaj de programare. 1165 00:52:21,020 --> 00:52:25,820 >> Și așa, față de acestea, pe care unele dintre acestea sunt compilate, cel puțin aceste three-- 1166 00:52:25,820 --> 00:52:29,990 Obiectiv-C, Java și C # - acestea, în teorie, ar trebui să fie pur și simplu mai rapid. 1167 00:52:29,990 --> 00:52:31,670 Dar există o altă realitate for-- 1168 00:52:31,670 --> 00:52:32,440 >> AUDIENTA: Funcționalități? 1169 00:52:32,440 --> 00:52:32,830 >> David J. MALAN: Ce-i asta? 1170 00:52:32,830 --> 00:52:34,060 >> AUDIENCE: Funcționalități. 1171 00:52:34,060 --> 00:52:34,570 >> David J. MALAN: Funcționalitate? 1172 00:52:34,570 --> 00:52:35,070 Cum așa? 1173 00:52:35,070 --> 00:52:37,305 AUDIENTA: Utilizați camera închideți telefonul sau ceva. 1174 00:52:37,305 --> 00:52:41,471 Aveți posibilitatea să utilizați cele cu browser-ul. 1175 00:52:41,471 --> 00:52:42,470 David J. MALAN: Exact. 1176 00:52:42,470 --> 00:52:43,011 Sunt sec-- 1177 00:52:43,011 --> 00:52:45,034 AUDIENTA: [inaudibil] 1178 00:52:45,034 --> 00:52:46,700 David J. MALAN: Acesta este un alt unul bun. 1179 00:52:46,700 --> 00:52:49,230 Există caracteristici care vin cu telefoanele mobile de azi 1180 00:52:49,230 --> 00:52:53,840 care nu sunt, prin proiectare, pentru securitate motive, accesibile pentru browsere web. 1181 00:52:53,840 --> 00:52:56,410 Pentru că ar fi un fel de un lucru înfiorător în cazul în care pur și simplu atunci când 1182 00:52:56,410 --> 00:53:00,710 accesați google.com, sau cnn.com, sau orice website.com, 1183 00:53:00,710 --> 00:53:04,490 că site-ul are puterea de a transforma pe camera foto, să ia o imagine de tine, 1184 00:53:04,490 --> 00:53:06,010 și apoi l utilizați. 1185 00:53:06,010 --> 00:53:09,280 Dar tu nu ar dori un site web aleator pe care le vizitați pentru prima dată 1186 00:53:09,280 --> 00:53:10,690 pentru a avea acea capacitate. 1187 00:53:10,690 --> 00:53:13,460 >> Și ce telefon Producătorii fac de obicei 1188 00:53:13,460 --> 00:53:17,230 este pur și simplu neagă accesul la acest tip de informații 1189 00:53:17,230 --> 00:53:20,650 la un browser, care înseamnă nu se poate pune în aplicare camera. 1190 00:53:20,650 --> 00:53:24,180 Nu puteți implementa notificări push, emite un sunet pe care le obține pe ecran 1191 00:53:24,180 --> 00:53:26,120 cu mesaje scurte. 1192 00:53:26,120 --> 00:53:31,350 Și, de fapt, chiar și GPS-ul este doar un fel de tip disponibile pentru browsere web. 1193 00:53:31,350 --> 00:53:34,140 Dacă ați vreodată, pe un laptop sau pe un dispozitiv mobil, 1194 00:53:34,140 --> 00:53:38,770 tras în sus ceva de genul, poate, CNN.com, dar, de asemenea, stații de știri locale 1195 00:53:38,770 --> 00:53:43,890 au tendința de a face acest lucru, vi se solicită de multe ori cu un message-- foxnews.com 1196 00:53:43,890 --> 00:53:45,170 vrea să știe locația. 1197 00:53:45,170 --> 00:53:46,610 Aproba sau refuza. 1198 00:53:46,610 --> 00:53:52,070 >> Ei bine, browser-ul încearcă să acceseze informații GPS de la telefon. 1199 00:53:52,070 --> 00:53:54,740 Dar, din fericire Microsoft, și Apple și Google 1200 00:53:54,740 --> 00:53:57,330 au decis că se simte ca este o situație utilă, 1201 00:53:57,330 --> 00:53:59,461 dorim Hărți Google și alte instrumente pentru a lucra, 1202 00:53:59,461 --> 00:54:02,710 dar noi nu vrem să se strecoare oameni prin care sa permita doar orice site web pentru a face acest lucru. 1203 00:54:02,710 --> 00:54:05,934 Așa că hai să îndeplinească un fel de la jumătatea drumului și prompt de utilizator. 1204 00:54:05,934 --> 00:54:08,850 Dar asta nu e neapărat cazul cu toate componentele hardware, cum ar fi camera 1205 00:54:08,850 --> 00:54:10,680 și cu împingere notificări și altele asemenea, 1206 00:54:10,680 --> 00:54:13,650 astfel încât s-ar putea să sacrifice anumite caracteristici. 1207 00:54:13,650 --> 00:54:15,100 Dar performanța prea. 1208 00:54:15,100 --> 00:54:18,020 Devine mai puțin de remarcat în zilele noastre, probabil 1209 00:54:18,020 --> 00:54:22,400 ca LTE se prinde și mai rapid viteze de internet pe telefoane, 1210 00:54:22,400 --> 00:54:24,110 dar poti un fel de simt diferenta. 1211 00:54:24,110 --> 00:54:28,190 Ca o aplicație bazată pe web doar se simte mai lent, de obicei, 1212 00:54:28,190 --> 00:54:31,100 decât o aplicație nativă, în parte deoarece o aplicație bazată pe web 1213 00:54:31,100 --> 00:54:32,680 prin definiție este pe internet. 1214 00:54:32,680 --> 00:54:35,610 Se vorbește cu serverele de pe web. 1215 00:54:35,610 --> 00:54:39,590 Și, în cazul în care conexiunea la rețea este lent, chiar și defilare ar putea fi lent. 1216 00:54:39,590 --> 00:54:43,710 >> Dar, o aplicație nativă, aveți deja pre-downloaded-- probabil 1217 00:54:43,710 --> 00:54:45,680 când ai fost acasă din magazinul de aplicații, 1218 00:54:45,680 --> 00:54:47,900 sau cel puțin pre-descărcat ea în întregime 1219 00:54:47,900 --> 00:54:49,640 mai devreme, oricare ar fi dvs. de speed-- conexiune 1220 00:54:49,640 --> 00:54:52,530 și astfel încât acum aveți toate biți care, în general, aveți nevoie. 1221 00:54:52,530 --> 00:54:55,090 Cu excepția, poate, unele date care vine de la un server. 1222 00:54:55,090 --> 00:54:57,130 >> Deci, acestea sunt compromisuri aici. 1223 00:54:57,130 --> 00:54:59,980 Nu există un fel de mijloc compromis, de fapt. 1224 00:54:59,980 --> 00:55:00,907 Și cred că Tu-- 1225 00:55:00,907 --> 00:55:02,895 >> Audiența: Utilizați date offline. 1226 00:55:02,895 --> 00:55:06,355 În aplicațiile native, puteți [inaudibil] 1227 00:55:06,355 --> 00:55:07,480 David J. MALAN: Absolut. 1228 00:55:07,480 --> 00:55:09,730 Deci, nu există problema offline care este foarte enervant 1229 00:55:09,730 --> 00:55:13,120 dacă nu poți juca un joc sau de a folosi unele software-ul doar pentru că tu ești 1230 00:55:13,120 --> 00:55:15,110 într-un subsol undeva sau într-un lift. 1231 00:55:15,110 --> 00:55:18,700 O aplicație nativă este elastică cu o probabilitate mai mare față de faptul că, 1232 00:55:18,700 --> 00:55:20,990 presupunând că aveți toate aveți nevoie de date la nivel local. 1233 00:55:20,990 --> 00:55:22,900 >> Deci, există oa treia opțiune aici. 1234 00:55:22,900 --> 00:55:30,270 Și să atragă spectrul ca aplicație nativă aici și aplicație web aici. 1235 00:55:30,270 --> 00:55:32,460 Și ce e în mijloc este ceva called-- 1236 00:55:32,460 --> 00:55:35,410 și cred că s-ar putea avea a folosit cuvântul înainte, poate? 1237 00:55:35,410 --> 00:55:37,170 aplicație hibridă. 1238 00:55:37,170 --> 00:55:40,980 Și, după cum sugerează cuvântul, este ceva la mijloc. 1239 00:55:40,980 --> 00:55:46,230 Este un fel de aplicatii web si este un fel de aplicație nativă. 1240 00:55:46,230 --> 00:55:47,690 >> Și ce înseamnă asta? 1241 00:55:47,690 --> 00:55:51,750 Se pare ca sunt frameworks-- de a folosi un termen de la software-ul earlier-- 1242 00:55:51,750 --> 00:55:55,860 că alte persoane au scris pentru fiecare dintre aceste platforme. 1243 00:55:55,860 --> 00:55:57,500 Acestea și încă alte dispozitive. 1244 00:55:57,500 --> 00:56:02,390 De fapt, lasă-mă să merg la PhoneGap, care este un astfel de cadru pe care am 1245 00:56:02,390 --> 00:56:04,520 cred că Adobe deține acum. 1246 00:56:04,520 --> 00:56:07,830 Lasă-mă să merg la Noțiuni de bază. 1247 00:56:07,830 --> 00:56:09,430 Sa vedem. 1248 00:56:09,430 --> 00:56:12,450 A se vedea dacă pot vedea o listă de instrumente. 1249 00:56:12,450 --> 00:56:13,150 Hardware. 1250 00:56:13,150 --> 00:56:15,845 Noțiuni de bază. 1251 00:56:15,845 --> 00:56:17,570 hardware PhoneGap. 1252 00:56:17,570 --> 00:56:18,672 >> Sa vedem. 1253 00:56:18,672 --> 00:56:23,459 PhoneGap acces hardware. 1254 00:56:23,459 --> 00:56:26,125 Lasă-mă să văd dacă putem găsi un pic diagramă care au folosit pentru a avea. 1255 00:56:26,125 --> 00:56:29,170 1256 00:56:29,170 --> 00:56:31,640 Acest lucru este pe un alt site. 1257 00:56:31,640 --> 00:56:32,525 Este acest lucru util? 1258 00:56:32,525 --> 00:56:33,030 Nu. 1259 00:56:33,030 --> 00:56:36,330 Asta va pierde timpul nostru acolo. 1260 00:56:36,330 --> 00:56:40,185 hardware PhoneGap. 1261 00:56:40,185 --> 00:56:40,685 Dispozitive. 1262 00:56:40,685 --> 00:56:45,190 1263 00:56:45,190 --> 00:56:48,030 Dispozitiv API. 1264 00:56:48,030 --> 00:56:49,270 Nu, le-am mutat. 1265 00:56:49,270 --> 00:56:50,070 >> PhoneGap. 1266 00:56:50,070 --> 00:56:54,964 Hai să mergem să o ultima privire la acest și a vedea dacă pot să-ți arăt. 1267 00:56:54,964 --> 00:56:55,630 Noțiuni de bază. 1268 00:56:55,630 --> 00:56:58,160 1269 00:56:58,160 --> 00:56:59,020 PhoneGap instala. 1270 00:56:59,020 --> 00:57:02,310 1271 00:57:02,310 --> 00:57:03,270 Instalați aplicația mobilă. 1272 00:57:03,270 --> 00:57:04,320 Haide. 1273 00:57:04,320 --> 00:57:07,220 1274 00:57:07,220 --> 00:57:08,580 S-au reorganizat totul. 1275 00:57:08,580 --> 00:57:09,750 In regula. 1276 00:57:09,750 --> 00:57:11,370 Oh, bine. 1277 00:57:11,370 --> 00:57:12,550 Ei bine, aici vom merge. 1278 00:57:12,550 --> 00:57:16,130 Acest lucru nu este tot ceea ce edificator, dar acest lucru este ceea ce am fost un fel de a căuta. 1279 00:57:16,130 --> 00:57:20,940 >> Așa că PhoneGap este un cadru pe care se poate descărca gratuit care vă oferă 1280 00:57:20,940 --> 00:57:22,750 unele cod starter, în esență. 1281 00:57:22,750 --> 00:57:26,600 Așa că un cod pe care le-au scris care nu face mult de nimic. 1282 00:57:26,600 --> 00:57:29,610 Dar, ce îți dă în esență, este echivalentul 1283 00:57:29,610 --> 00:57:34,910 unei aplicații care pune doar dreptunghi mare pe ecranul utilizatorului. 1284 00:57:34,910 --> 00:57:38,040 Ea nu pune o bara de adrese URL, cum ar fi un browser-ul, nu pune o adresă. 1285 00:57:38,040 --> 00:57:39,650 Pur și simplu pune un dreptunghi mare. 1286 00:57:39,650 --> 00:57:43,230 Și configurați acest mare dreptunghi, sub capota, 1287 00:57:43,230 --> 00:57:50,780 pentru a merge de fapt, la acme.com, sau poate m.acme.com, pentru mobile.acme.com, 1288 00:57:50,780 --> 00:57:52,910 dar utilizatorul nu știe acestea sunt la acea adresă. 1289 00:57:52,910 --> 00:57:55,520 Tot ceea ce văd este conținutul paginii web. 1290 00:57:55,520 --> 00:57:59,822 >> Dar ceea ce este frumos despre această ființă o aplicație hibrid este că ceea ce PhoneGap 1291 00:57:59,822 --> 00:58:03,030 și alte companii sunt oferindu-vă este ei oferindu-vă un pic de cod 1292 00:58:03,030 --> 00:58:05,760 în Obiectiv-C sau Swift, sau un pic de cod în Java, 1293 00:58:05,760 --> 00:58:08,320 sau un pic de cod în C #, și în mod esențial, 1294 00:58:08,320 --> 00:58:12,990 tot ce trebuie să furnizeze este minimal adresa aplicației bazate pe web. 1295 00:58:12,990 --> 00:58:15,750 Si apoi acest pachet toate împreună și tu 1296 00:58:15,750 --> 00:58:20,670 au aceasta fie a accesa site-ul prin intermediul internetului, 1297 00:58:20,670 --> 00:58:24,060 sau chiar tu cache un localnic copiați în cadrul aplicației, 1298 00:58:24,060 --> 00:58:28,690 și apoi salvați aplicația în format iPhone, telefon Android 1299 00:58:28,690 --> 00:58:32,030 formatul, formatul de suprafață, sau orice număr de alte dispozitive. 1300 00:58:32,030 --> 00:58:34,960 >> Vă încărcați fiecare dintre aceste versiuni Magazin Play Google, 1301 00:58:34,960 --> 00:58:37,690 la App Store, la Windows Store, și așa mai departe. 1302 00:58:37,690 --> 00:58:41,570 Și acum, puteți avea toate dvs. publicul descarcă într-adevăr o aplicație nativă, 1303 00:58:41,570 --> 00:58:44,250 deși cea mai mare parte a codului scris de altcineva, 1304 00:58:44,250 --> 00:58:49,090 dar conținutul acestei aplicații nativ toate provin de la, de obicei, site-ul tau. 1305 00:58:49,090 --> 00:58:53,950 Deci, va continua scrierea site-ul dvs. în HTML, JavaScript și CSS. 1306 00:58:53,950 --> 00:58:56,400 >> Deci, de ce estompa aceste linii? 1307 00:58:56,400 --> 00:59:00,240 De ce o aplicație hibridă asta e un fel de nativ, dar, de asemenea, 1308 00:59:00,240 --> 00:59:02,569 un fel de web bazat? 1309 00:59:02,569 --> 00:59:04,610 Care este punctul întreaga adăugând această complexitate? 1310 00:59:04,610 --> 00:59:07,180 Vreau să spun, chiar și încă, doar de la uitându-se prin această pagină, 1311 00:59:07,180 --> 00:59:11,790 A început ghidul Noțiuni de bază se simte ca ea are o mulțime de pași pentru mine 1312 00:59:11,790 --> 00:59:13,514 pentru a face înainte de can-- 1313 00:59:13,514 --> 00:59:14,430 AUDIENTA: Reutilizabilitate? 1314 00:59:14,430 --> 00:59:14,960 David J. MALAN: Reutilizabilitate? 1315 00:59:14,960 --> 00:59:15,618 Ce vrei sa spui? 1316 00:59:15,618 --> 00:59:16,826 >> AUDIENTA: Din codul sursă. 1317 00:59:16,826 --> 00:59:19,438 Deci același cod va rula pe toate diferite platforme. 1318 00:59:19,438 --> 00:59:20,313 David J. MALAN: Da. 1319 00:59:20,313 --> 00:59:21,188 AUDIENTA: [inaudibil] 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 În cazul în care timpul este strâns și, dacă nu au că multe developers-- 1323 00:59:26,930 --> 00:59:28,900 poate aveți un singur dezvoltator și el sau ea cu siguranță 1324 00:59:28,900 --> 00:59:31,050 nu știe toate acestea environments-- cu siguranță nu este bine, 1325 00:59:31,050 --> 00:59:33,341 și cu siguranță nu poate program în toate cele trei simultan 1326 00:59:33,341 --> 00:59:35,970 și nava-trei produse în timpul alocat pentru unul, 1327 00:59:35,970 --> 00:59:40,360 l poți avea sau ei construi totul în HTML și JavaScript și CSS, 1328 00:59:40,360 --> 00:59:43,260 și apoi să învețe un pic mai mica bit despre aplicațiile native, 1329 00:59:43,260 --> 00:59:45,930 suficient doar pentru a descărca un cadru ca aceasta, 1330 00:59:45,930 --> 00:59:48,750 pentru a încărca apoi produsul dvs. toate magazinele de aplicații diferite 1331 00:59:48,750 --> 00:59:51,700 astfel încât să aveți acum o aplicație nativă. 1332 00:59:51,700 --> 00:59:54,090 >> Astfel că pare a fi un câștig-câștig, dar, din nou, să fie clar, 1333 00:59:54,090 --> 00:59:56,540 Care sunt potentialele costuri sau gotchas? 1334 00:59:56,540 --> 01:00:00,292 1335 01:00:00,292 --> 01:00:01,209 >> AUDIENTA: Performanța? 1336 01:00:01,209 --> 01:00:02,083 David J. MALAN: Da. 1337 01:00:02,083 --> 01:00:02,959 Performanţă. 1338 01:00:02,959 --> 01:00:04,250 Este greu de descris verbal. 1339 01:00:04,250 --> 01:00:07,590 Așa că, dacă pur și simplu te iau pe credință, o aplicație mobilă, 1340 01:00:07,590 --> 01:00:11,430 o aplicatie web va de obicei efectua mai lent. 1341 01:00:11,430 --> 01:00:16,500 S-ar putea să nu arata destul de bine, pentru că în iPhone, și în telefoanele Android, 1342 01:00:16,500 --> 01:00:19,210 și dispozitivele Windows, există întotdeauna un fel de aspect implicit 1343 01:00:19,210 --> 01:00:21,780 și se simt la cele de mai butoane și meniuri. 1344 01:00:21,780 --> 01:00:25,160 >> Și companiile din web, poate încerca de apropiere estetica 1345 01:00:25,160 --> 01:00:28,329 cu biblioteci, cum ar fi Bootstrap, dar user-- o user-- pătrunzător 1346 01:00:28,329 --> 01:00:30,620 va ști că ceva nu e destul de bine aici. 1347 01:00:30,620 --> 01:00:32,510 Și asta e bine, poate că nu e mare lucru. 1348 01:00:32,510 --> 01:00:35,500 Dar problema de performanță absolut este o afacere mare. 1349 01:00:35,500 --> 01:00:39,400 aplicatii native vor avea tendința de doar să fie mult mai receptiv și, prin urmare, 1350 01:00:39,400 --> 01:00:39,946 mai bine. 1351 01:00:39,946 --> 01:00:42,070 Și așa, atunci ce s-ar putea să fie cel mai bun din ambele lumi? 1352 01:00:42,070 --> 01:00:44,584 Dacă ești în special o mică companie sau un grup mic, 1353 01:00:44,584 --> 01:00:47,000 nu au resursele necesare pentru a dezvolta o aplicație în paralel 1354 01:00:47,000 --> 01:00:50,480 pe toate cele trei platforme, și sincer, se simte ca asta eo idee proastă, oricum 1355 01:00:50,480 --> 01:00:53,526 pentru că dacă o rola și toate cele trei realizeze simultan, 1356 01:00:53,526 --> 01:00:56,400 ar fi trebuit adăugat câteva caracteristici sau făcut ceva diferit, acum 1357 01:00:56,400 --> 01:00:59,530 trebuie să-l fixeze în trei locuri, nu unul singur. 1358 01:00:59,530 --> 01:01:02,390 Ce-i poate optim strategie aici de ansamblu, 1359 01:01:02,390 --> 01:01:04,130 în cazul în care resursele și timpul sunt strânse? 1360 01:01:04,130 --> 01:01:06,420 >> AUDIENTA: Doar fă-o pe iOS. 1361 01:01:06,420 --> 01:01:08,390 >> David J. MALAN: Nu este rezonabil. 1362 01:01:08,390 --> 01:01:10,670 iPhone, cel puțin în SUA, sunt super populare. 1363 01:01:10,670 --> 01:01:13,820 Android încă pare să aibă poziție dominantă cota de piață, la nivel global, în ansamblu. 1364 01:01:13,820 --> 01:01:16,740 Deci tu nu în mod necesar reprezentativ 1365 01:01:16,740 --> 01:01:19,210 a întregului glob în această săptămână. 1366 01:01:19,210 --> 01:01:21,180 Dar asta e absolut o decizie. 1367 01:01:21,180 --> 01:01:23,620 Vreau să spun, în campus aici am cred că unele număr atroce 1368 01:01:23,620 --> 01:01:26,600 sau un procent de studenți au iPhone și telefoanele Android nu. 1369 01:01:26,600 --> 01:01:28,490 Dar, în străinătate, e cam opusul. 1370 01:01:28,490 --> 01:01:30,040 Deci tu decizi bazat pe publicul. 1371 01:01:30,040 --> 01:01:31,990 De unde știi ce are publicul? 1372 01:01:31,990 --> 01:01:34,080 >> Ei bine, am învățat un truc ieri. 1373 01:01:34,080 --> 01:01:35,060 Ai putea să-i întrebi. 1374 01:01:35,060 --> 01:01:37,910 Dacă aveți un public captiv le puteți trimite un formular de sondaj. 1375 01:01:37,910 --> 01:01:39,172 Sau ai putea să faci doar ce? 1376 01:01:39,172 --> 01:01:40,076 >> Audiența: Google Analytics? 1377 01:01:40,076 --> 01:01:40,680 >> David J. MALAN: Ce-i asta? 1378 01:01:40,680 --> 01:01:41,876 >> Audiența: 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 Da. 1381 01:01:43,750 --> 01:01:46,970 Sau chiar mai mult un fel de punct de vedere tehnic, doar uita-te la serverele proprii jurnalele web. 1382 01:01:46,970 --> 01:01:49,100 Pentru că ceea ce se întâmplă de fiecare dată când un browser, 1383 01:01:49,100 --> 01:01:51,880 dacă laptop, desktop sau telefon vizitati site-ul tau? 1384 01:01:51,880 --> 01:01:56,847 Ei trimit acel antet HTTP care arată tu ce browser și sistem de operare pe care îl utilizează. 1385 01:01:56,847 --> 01:02:00,180 Astfel încât să puteți deduce, cu mare probabilitate, ceea ce demografice dvs. utilizează în acest fel 1386 01:02:00,180 --> 01:02:01,410 și apoi ajustați. 1387 01:02:01,410 --> 01:02:03,030 >> Așa că presupun că e inacceptabil. 1388 01:02:03,030 --> 01:02:07,760 Asta e un fel de rău pentru afaceri, dacă Utilizatorii Android nu pot cumpăra widget-uri noastre. 1389 01:02:07,760 --> 01:02:10,942 >> AUDIENTA: Fie că ești O să încărcați sau nu? 1390 01:02:10,942 --> 01:02:12,900 David J. MALAN: Fie vei încărca? 1391 01:02:12,900 --> 01:02:14,900 Așa că OK, veți obține ceea ce plătiți pentru. 1392 01:02:14,900 --> 01:02:18,400 >> AUDIENTA: Fie că aplicația este să să fie liber sau dacă este gonna-- 1393 01:02:18,400 --> 01:02:19,530 >> David J. MALAN: OK. 1394 01:02:19,530 --> 01:02:21,920 Poate ai putea recupera costuri în acest fel, sau--? 1395 01:02:21,920 --> 01:02:26,195 >> AUDIENTA: Am citit un studiu care a spus odată mai mulți utilizatori de Apple să plătească pentru aplicații versus-- 1396 01:02:26,195 --> 01:02:28,320 David J. MALAN: E adevărat deoarece acestea sunt deja 1397 01:02:28,320 --> 01:02:29,640 plătind mai mult pentru dispozitivele lor. 1398 01:02:29,640 --> 01:02:31,295 Deci, nu nerezonabile o presupunere. 1399 01:02:31,295 --> 01:02:32,170 >> AUDIENTA: [inaudibil] 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 Așa că, dacă acestea sunt mai dispuși să plătească, apoi în iad cu utilizatorii Android. 1403 01:02:38,667 --> 01:02:40,500 Ei nu vor să ne plătească nimic, oricum. 1404 01:02:40,500 --> 01:02:43,499 Ne-am putea concentra eforturile pentru prioritățile noastre, cel puțin în primele câteva luni 1405 01:02:43,499 --> 01:02:44,810 sau un an, pe iOS. 1406 01:02:44,810 --> 01:02:46,240 Un lucru total rezonabil. 1407 01:02:46,240 --> 01:02:48,558 Ce este mai cuprinzătoare strategie decât asta? 1408 01:02:48,558 --> 01:02:53,740 1409 01:02:53,740 --> 01:02:54,960 Maybe-- ce-i asta? 1410 01:02:54,960 --> 01:02:57,040 >> AUDIENTA: [inaudibil] 1411 01:02:57,040 --> 01:03:00,142 >> David J. MALAN: O mai expensive-- deci poate investi mai mult in-- merge mai departe. 1412 01:03:00,142 --> 01:03:00,767 AUDIENTA: Da. 1413 01:03:00,767 --> 01:03:02,050 Doar un site mobil. 1414 01:03:02,050 --> 01:03:03,966 >> David J. MALAN: Deci un site-ul mobil și nu 1415 01:03:03,966 --> 01:03:05,440 chiar vă faceți griji cu privire la această complexitate. 1416 01:03:05,440 --> 01:03:07,970 Sau poate o strategie rezonabilă, care, chiar și pe Facebook a luat, 1417 01:03:07,970 --> 01:03:10,890 este începe cu un hibrid aplicație, deoarece nu este 1418 01:03:10,890 --> 01:03:13,582 mult mai greu de făcut acest lucru decât acest lucru. 1419 01:03:13,582 --> 01:03:16,040 Trebuie doar să citiți câteva documentare și dau seama cum 1420 01:03:16,040 --> 01:03:17,480 pentru a încărca lucrurile în App Store. 1421 01:03:17,480 --> 01:03:19,670 Deci, poate începe cu acest lucru, astfel încât în ​​prima zi, 1422 01:03:19,670 --> 01:03:21,112 vă poate sprijini toți utilizatorii. 1423 01:03:21,112 --> 01:03:23,570 Și apoi, la fel ca și pe Facebook și alte companii s-au făcut, 1424 01:03:23,570 --> 01:03:25,330 atunci când aveți resursele, aveți oameni, 1425 01:03:25,330 --> 01:03:27,660 de ce nu te reimplementați doar aplicația iOS. 1426 01:03:27,660 --> 01:03:31,460 Încă mai ai ceva pentru toată lumea, chiar dacă este o experiență inferioară 1427 01:03:31,460 --> 01:03:33,330 probabil, cu aplicația hibrid. 1428 01:03:33,330 --> 01:03:36,770 Dar vă puteți rula treptat și înlocuiți pe termen scurt dvs. de 1429 01:03:36,770 --> 01:03:40,280 măsuri ale aplicațiilor hibride cu aplicațiile mai native. 1430 01:03:40,280 --> 01:03:44,090 >> AUDIENTA: Dar, cu o aplicatie hibrid tine va avea acces la funcții mobile? 1431 01:03:44,090 --> 01:03:45,440 >> David J. MALAN: Nu neapărat. 1432 01:03:45,440 --> 01:03:47,810 Deci, poate că ai face conștient decizia de timpuriu, 1433 01:03:47,810 --> 01:03:51,930 puteți încărca numai fotografiile de pe iPhone cerere nativ pentru Facebook, 1434 01:03:51,930 --> 01:03:56,060 dar nu și pe aplicația Android, inițial, de exemplu. 1435 01:03:56,060 --> 01:04:00,600 Și asta e un pic de o minciună albă, deoarece aplicatii web au mai multe restricții 1436 01:04:00,600 --> 01:04:03,620 decât aplicațiile hibride se transformă afară, și dacă am citit documentația 1437 01:04:03,620 --> 01:04:07,260 pentru PhoneGap și lucruri de genul acesta, oamenii au venit cu moduri 1438 01:04:07,260 --> 01:04:11,110 pentru a se obține aplicații bazate pe web acces la camera foto, 1439 01:04:11,110 --> 01:04:13,310 atâta timp cât folosești o aplicație hibridă. 1440 01:04:13,310 --> 01:04:14,214 >> Cum funcționează? 1441 01:04:14,214 --> 01:04:16,130 Deoarece hibridul cerere, prin definiție, 1442 01:04:16,130 --> 01:04:19,600 are un pic de cod în Obiectiv-C, și Swift, și Java, sau în C #, 1443 01:04:19,600 --> 01:04:20,920 ea poate avea acces la hardware-ul. 1444 01:04:20,920 --> 01:04:24,590 Nu neapărat totul, dar s-ar putea foarte bine 1445 01:04:24,590 --> 01:04:27,310 fi cazul în care aveți suficient de acces pentru a obține aparatul de fotografiat, 1446 01:04:27,310 --> 01:04:32,960 chiar și pentru platformele Android, pentru de exemplu, în acest exemplu contrived. 1447 01:04:32,960 --> 01:04:35,515 >> Orice alte întrebări? 1448 01:04:35,515 --> 01:04:36,279 In regula. 1449 01:04:36,279 --> 01:04:38,070 De ce nu luăm nostru 15 minute pauza de aici. 1450 01:04:38,070 --> 01:04:44,060 Ne vom relua la trei, cu o finală uita-te la programare web, baze de date, 1451 01:04:44,060 --> 01:04:45,910 și Javascript. 1452 01:04:45,910 --> 01:04:48,877