1 00:00:00,000 --> 00:00:01,291 >> DAVID J. Malan: Entón, estamos de volta. 2 00:00:01,291 --> 00:00:03,050 Así, o alto nivel tema no momento agora 3 00:00:03,050 --> 00:00:06,440 é pilas de tecnoloxía, o que non é un termo técnico especialmente, 4 00:00:06,440 --> 00:00:09,960 é máis de unha captura todo para calquera número de combinacións de tecnoloxías 5 00:00:09,960 --> 00:00:11,840 que pode usar para resolver problemas. 6 00:00:11,840 --> 00:00:14,850 E quizais o máis forma axeitada de comezar 7 00:00:14,850 --> 00:00:18,110 sería a ollar linguas desde Eu sigo despexado unha morea 8 00:00:18,110 --> 00:00:21,000 e máis todos na sala ten Probablemente xa escoitou falar de polo menos un. 9 00:00:21,000 --> 00:00:25,730 >> E así por que non tentar distinguir what-- distinguir linguas 10 00:00:25,730 --> 00:00:28,932 e falar brevemente sobre cando faría escoller un sobre o outro, como son 11 00:00:28,932 --> 00:00:30,890 tipo de fundamentalmente diferentes, e sobre todo 12 00:00:30,890 --> 00:00:34,830 cando está conversando cos enxeñeiros, ou tentando decidir quen contratar, 13 00:00:34,830 --> 00:00:37,652 ou o que a posta en marcha proposta de luz verde, 14 00:00:37,652 --> 00:00:39,860 como é que realmente facer estes tipos de decisións. 15 00:00:39,860 --> 00:00:41,890 >> Entón imos chacoalhar algunhas cousas fóra. 16 00:00:41,890 --> 00:00:45,300 Das linguas que as persoas teñen escoitou falar sobre o que vén á mente? 17 00:00:45,300 --> 00:00:48,030 C. Aceptar. 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 ¿Que é iso? 21 00:00:51,990 --> 00:00:52,390 >> Audiencia: Python. 22 00:00:52,390 --> 00:00:53,348 >> DAVID J. Malan: Python. 23 00:00:53,348 --> 00:00:55,330 Excelente. 24 00:00:55,330 --> 00:00:57,000 Que máis? 25 00:00:57,000 --> 00:00:58,810 Visual Basic. 26 00:00:58,810 --> 00:01:01,100 Oín 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, que é máis de unha captura todo para o que adoita C # como a linguaxe 32 00:01:12,810 --> 00:01:13,770 en cuestión. 33 00:01:13,770 --> 00:01:14,770 E déixeme falar diso. 34 00:01:14,770 --> 00:01:15,900 Entón, imos volver a iso. 35 00:01:15,900 --> 00:01:17,560 Síntoo? 36 00:01:17,560 --> 00:01:18,170 Sentímolo? 37 00:01:18,170 --> 00:01:19,877 >> Audiencia: SQL. 38 00:01:19,877 --> 00:01:20,876 DAVID J. Malan: Scratch? 39 00:01:20,876 --> 00:01:21,610 Audiencia: SQL. 40 00:01:21,610 --> 00:01:22,610 DAVID J. Malan: Oh, SQL. 41 00:01:22,610 --> 00:01:23,110 OK. 42 00:01:23,110 --> 00:01:23,750 SQL. 43 00:01:23,750 --> 00:01:29,510 Entón, imos volver isso-- en realidade, é boa-- tras o descanso tamén. 44 00:01:29,510 --> 00:01:30,572 Que máis? 45 00:01:30,572 --> 00:01:32,530 >> Audiencia: Oracle. 46 00:01:32,530 --> 00:01:34,670 >> DAVID J. Malan: Entón, Oracle, non unha lingua. 47 00:01:34,670 --> 00:01:36,560 En realidade, eles usarían SQL tamén. 48 00:01:36,560 --> 00:01:38,360 Entón, imos poñer que, tras a ruptura ben. 49 00:01:38,360 --> 00:01:39,744 E desculpe, algo aquí? 50 00:01:39,744 --> 00:01:40,660 Audiencia: Mathematica. 51 00:01:40,660 --> 00:01:41,390 DAVID J. Malan: Mathematica? 52 00:01:41,390 --> 00:01:42,303 OK, con certeza. 53 00:01:42,303 --> 00:01:46,150 54 00:01:46,150 --> 00:01:49,180 E MATLAB é unha especie de alí ás veces. 55 00:01:49,180 --> 00:01:50,060 >> Audiencia: R. 56 00:01:50,060 --> 00:01:51,755 >> DAVID J. Malan: R. Imos pasar por riba aquí. 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 Claro. 60 00:01:55,880 --> 00:01:57,910 escola máis vella. 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 Vou tirar BASIC. 64 00:02:02,410 --> 00:02:05,990 65 00:02:05,990 --> 00:02:08,539 BASIC. 66 00:02:08,539 --> 00:02:09,390 Any-- 67 00:02:09,390 --> 00:02:10,352 >> Audiencia: MATLAB? 68 00:02:10,352 --> 00:02:11,310 DAVID J. Malan: MATLAB. 69 00:02:11,310 --> 00:02:12,248 Oh, vencelo a el. 70 00:02:12,248 --> 00:02:15,370 71 00:02:15,370 --> 00:02:15,870 Algo? 72 00:02:15,870 --> 00:02:18,700 Non podo pensar en un par de outros. 73 00:02:18,700 --> 00:02:21,876 Podo pensar dalgúns outros. 74 00:02:21,876 --> 00:02:22,792 E cal foi a última? 75 00:02:22,792 --> 00:02:23,970 >> Audiencia: ASP. 76 00:02:23,970 --> 00:02:25,030 >> DAVID J. Malan: ASP? 77 00:02:25,030 --> 00:02:26,100 Si. 78 00:02:26,100 --> 00:02:27,100 Active Server Pages. 79 00:02:27,100 --> 00:02:30,270 Que, xeralmente, caería baixo outras linguas, por veces, C #, 80 00:02:30,270 --> 00:02:32,040 entón imos deixar isto fora. 81 00:02:32,040 --> 00:02:35,510 Pero imos voltar a iso para as estruturas e tal. 82 00:02:35,510 --> 00:02:36,290 Algo máis? 83 00:02:36,290 --> 00:02:39,020 PHP é popular. 84 00:02:39,020 --> 00:02:41,710 Ruby é outra. 85 00:02:41,710 --> 00:02:48,230 JavaScript, non debe ser confundida con Java, é outra. 86 00:02:48,230 --> 00:02:49,570 Este é un tipo de un lote. 87 00:02:49,570 --> 00:02:53,590 >> Así se pode certamente esmagadora, como se a lista non é xa, 88 00:02:53,590 --> 00:02:55,650 só para comezar a saber onde comezar. 89 00:02:55,650 --> 00:02:58,130 E así, por sorte, imos abordar isto dalgúns ángulos. 90 00:02:58,130 --> 00:03:03,520 En primeiro lugar, imos tratar categorizar polo menos algunhas das linguas 91 00:03:03,520 --> 00:03:06,790 en dúas grandes baldes, que relembram a conversa que tivemos antes das vacacións, 92 00:03:06,790 --> 00:03:09,630 onde falamos sobre a compilación, e código fonte e código de máquina, 93 00:03:09,630 --> 00:03:11,440 porque iso non como está todas as linguas traballar. 94 00:03:11,440 --> 00:03:15,640 Entón, imos arrincar algúns exemplos de-- ou anti-examples-- a este modelo. 95 00:03:15,640 --> 00:03:18,490 >> E entón, por que non nós falar sobre as aplicacións 96 00:03:18,490 --> 00:03:20,390 que linguas son xeralmente usados ​​para. 97 00:03:20,390 --> 00:03:22,840 E, francamente, aínda que Esta é unha lista moi longa, 98 00:03:22,840 --> 00:03:26,320 é só un subconxunto desta lista normalmente sacar estes días 99 00:03:26,320 --> 00:03:27,220 para resolver problemas. 100 00:03:27,220 --> 00:03:29,150 Certas linguas son máis novos do que outros. 101 00:03:29,150 --> 00:03:31,170 Certas linguas son máis popular do que outros. 102 00:03:31,170 --> 00:03:34,370 Non é como se ten esa unha tarefa exhaustiva antes de 103 00:03:34,370 --> 00:03:36,970 ao decidir entre estes varios idiomas. 104 00:03:36,970 --> 00:03:40,110 >> Entón, imos facelo. 105 00:03:40,110 --> 00:03:45,870 Tivemos anteriormente, o código fonte, e despois tivemos código de máquina. 106 00:03:45,870 --> 00:03:48,590 107 00:03:48,590 --> 00:03:49,400 Whoops. 108 00:03:49,400 --> 00:03:50,910 Escribir a palabra incorrecta. 109 00:03:50,910 --> 00:03:52,740 código de máquina. 110 00:03:52,740 --> 00:03:57,549 E tivemos algún proceso en medio called-- si, o compilador. 111 00:03:57,549 --> 00:03:58,215 Así, o compilador. 112 00:03:58,215 --> 00:04:00,760 113 00:04:00,760 --> 00:04:03,910 >> E o que o código de máquina en realidade é executado ao final 114 00:04:03,910 --> 00:04:05,680 será o seu CPU real. 115 00:04:05,680 --> 00:04:09,660 Noutras palabras, por código de máquina, eu significa o menor nivel instrucións 116 00:04:09,660 --> 00:04:11,330 que realmente entende unha CPU. 117 00:04:11,330 --> 00:04:15,100 Suma, resta, movemento, gardar, e as operacións deste tipo. 118 00:04:15,100 --> 00:04:19,700 E por iso este é o modelo para o que é xeralmente coñecidas como linguaxes compiladas. 119 00:04:19,700 --> 00:04:21,000 Quizais non sexa sorprendente. 120 00:04:21,000 --> 00:04:23,550 >> Polo tanto, este é o modelo para linguaxes compiladas. 121 00:04:23,550 --> 00:04:25,970 Pero resulta que hai outra clase de linguas 122 00:04:25,970 --> 00:04:32,650 chamado interpretado languages-- interpretados languages-- 123 00:04:32,650 --> 00:04:34,030 que son lixeiramente diferentes. 124 00:04:34,030 --> 00:04:41,660 Escribe o código fonte, executa Los través dun intérprete, 125 00:04:41,660 --> 00:04:45,440 e que intérprete é o que se executa na CPU. 126 00:04:45,440 --> 00:04:50,120 Noutras palabras, o que non Emit é o que, ao parecer? 127 00:04:50,120 --> 00:04:50,980 código de máquina. 128 00:04:50,980 --> 00:04:54,290 Os ceros e uns que a CPU -Se, en definitiva comprende. 129 00:04:54,290 --> 00:04:59,780 >> Polo tanto, nesta primeira versión e linguaxes como C, como vimos, 130 00:04:59,780 --> 00:05:02,040 escribe o código fonte que é un pouco escuro, 131 00:05:02,040 --> 00:05:05,300 pero polo menos é unha especie de inglés-like e é, polo menos lexible 132 00:05:05,300 --> 00:05:06,780 xa que se acostumar con iso. 133 00:05:06,780 --> 00:05:10,100 Executa-lo a través dun compilador e por fóra comeza, en última instancia, ceros e uns. 134 00:05:10,100 --> 00:05:11,340 >> Que unha simplificación esaxerada. 135 00:05:11,340 --> 00:05:12,839 Hai algúns outros pasos alí. 136 00:05:12,839 --> 00:05:15,530 En realidade, se xa escoitou falar o termo "linguaxe assembly" 137 00:05:15,530 --> 00:05:17,990 isto é un paso antes os ceros e uns. 138 00:05:17,990 --> 00:05:20,949 Que un pouco máis lexible, pero aínda moi misterioso. 139 00:05:20,949 --> 00:05:23,740 E non hai etapas intermedias que son, de feito, a ocorrer aquí. 140 00:05:23,740 --> 00:05:26,360 Pero a saída, en definitiva, Son eses ceros e uns. 141 00:05:26,360 --> 00:05:28,990 >> Pero en interpretada mundo, onde ten 142 00:05:28,990 --> 00:05:32,680 linguas que son interpretadas linguas, en realidade saltar este paso. 143 00:05:32,680 --> 00:05:36,010 Noutras palabras, cando escribe unha programa, basta executa-lo inmediatamente. 144 00:05:36,010 --> 00:05:38,960 Non recompila-lo e logo executalo, como eu fixen antes. 145 00:05:38,960 --> 00:05:41,132 Acaba de gravala-lo e executalo. 146 00:05:41,132 --> 00:05:44,340 E se queres facer un cambio rápido, facer un cambio rápido e executa-lo de novo. 147 00:05:44,340 --> 00:05:46,640 Polo tanto, non hai medio paso aquí. 148 00:05:46,640 --> 00:05:50,840 >> Agora, para o programa que escribín anteriormente, que foi este programa "Ola Mundo", 149 00:05:50,840 --> 00:05:53,660 podes razoablemente wonder-- ou poidan razoablemente 150 00:05:53,660 --> 00:05:58,570 state-- que non era que o tempo lento para compilar meu programa. 151 00:05:58,570 --> 00:06:00,337 Parece ter feito isto só como aquel. 152 00:06:00,337 --> 00:06:02,170 E non hai vídeo versións de compiladores. 153 00:06:02,170 --> 00:06:05,270 Eu estou usando unha versión moi misterioso, pero pode usar un botón xogo 154 00:06:05,270 --> 00:06:07,887 e que ía realmente facer a compilación para ti. 155 00:06:07,887 --> 00:06:10,720 Eu compilar o programa e, a continuación, unha vez máis, para executa-lo, só facelo. 156 00:06:10,720 --> 00:06:13,820 E xera na esquerda alí, "Ola!" 157 00:06:13,820 --> 00:06:15,530 Isto non parece tan oneroso. 158 00:06:15,530 --> 00:06:19,920 Pero cando os seus programas son máis que un, dous, tres, 159 00:06:19,920 --> 00:06:25,470 catro, cinco liñas de tempo, pode levar moito máis segundos para compilar. 160 00:06:25,470 --> 00:06:28,310 Ás veces incluso minutos ou un pouco de tempo para compilar. 161 00:06:28,310 --> 00:06:30,480 A pesar de todo, algúns dos maiores produtos do mundo 162 00:06:30,480 --> 00:06:35,040 son cousas como sistemas operativos, Microsoft Word, Microsoft Excel, 163 00:06:35,040 --> 00:06:39,070 que pode ser centos de miles ou mesmo millóns de liñas de código de lonxitude, 164 00:06:39,070 --> 00:06:41,300 e os que non facer só executar inmediatamente. 165 00:06:41,300 --> 00:06:44,560 >> Ademais, na web, é -Se moda para usar 166 00:06:44,560 --> 00:06:47,600 linguas interpretado simplemente, en parte porque 167 00:06:47,600 --> 00:06:50,570 pode facer un cambio como o creador e despois é só recargar inmediatamente 168 00:06:50,570 --> 00:06:52,570 a páxina do navegador e ver inmediatamente o resultado. 169 00:06:52,570 --> 00:06:56,160 E así HTML, aínda que non unha linguaxe de programación, 170 00:06:56,160 --> 00:06:58,860 é unha linguaxe que é interpretada. 171 00:06:58,860 --> 00:07:00,770 E vimos que mesmo efecto onte. 172 00:07:00,770 --> 00:07:04,070 Só actualizar a páxina despois de facer un cambio na Cloud9 e- voila-- 173 00:07:04,070 --> 00:07:05,560 ve un novo resultado. 174 00:07:05,560 --> 00:07:07,090 >> Entón, cal é a diferenza aquí? 175 00:07:07,090 --> 00:07:13,190 HTML, recall, tivemos HTML aberta, cabeza aberta, título aberta, preto do título, 176 00:07:13,190 --> 00:07:15,250 preto cabeza, corpo aberto, e así por diante. 177 00:07:15,250 --> 00:07:19,149 Tivemos todas esas marcas que moi moi dixo, dicir ao navegador que facer. 178 00:07:19,149 --> 00:07:20,690 Hey navegador, aquí vén unha páxina HTML. 179 00:07:20,690 --> 00:07:22,170 Hey navegador, aquí vén o título. 180 00:07:22,170 --> 00:07:24,429 Hey navegador, vén aquí algúns texto que debe ser ousado. 181 00:07:24,429 --> 00:07:25,720 E entón diga o contrario. 182 00:07:25,720 --> 00:07:27,330 Hey navegador, é iso ao texto negra. 183 00:07:27,330 --> 00:07:28,830 Hey navegador, é tanto para o corpo. 184 00:07:28,830 --> 00:07:29,740 E así por diante. 185 00:07:29,740 --> 00:07:31,130 >> E entón o que é un navegador? 186 00:07:31,130 --> 00:07:33,170 Un navegador é só un intérprete. 187 00:07:33,170 --> 00:07:36,090 É un programa que alguén como Microsoft ou Google escribiu, 188 00:07:36,090 --> 00:07:39,160 cuxo propósito na vida é ler unha linguaxe, coñecido como HTML, 189 00:07:39,160 --> 00:07:39,890 e interpretalo. 190 00:07:39,890 --> 00:07:41,290 De arriba abaixo, de esquerda a dereita. 191 00:07:41,290 --> 00:07:46,880 E cada vez que o navegador ve aberta soporte, título, fin do soporte, 192 00:07:46,880 --> 00:07:48,960 debe interpretar isto no sentido de, oh, que 193 00:07:48,960 --> 00:07:52,490 significa que eu debería poñer esas palabras xeito -se aquí na parte superior do seu navegador. 194 00:07:52,490 --> 00:07:55,700 >> Por iso, só fai o que o código HTML di. 195 00:07:55,700 --> 00:07:57,240 Pero non hai ceros e uns. 196 00:07:57,240 --> 00:07:58,250 Non hai ningunha compilación. 197 00:07:58,250 --> 00:07:58,890 Non facelo. 198 00:07:58,890 --> 00:07:59,931 O seu navegador non facelo. 199 00:07:59,931 --> 00:08:01,710 El só non está implicado. 200 00:08:01,710 --> 00:08:05,890 >> Así, no espírito destes en curso temas, hoxe e onte 201 00:08:05,890 --> 00:08:08,400 que parece ser unha característica marabillosa. 202 00:08:08,400 --> 00:08:11,410 Gardar o código e, a continuación, basta executa-lo ou interpretalo. 203 00:08:11,410 --> 00:08:13,790 Non hai etapas intermedias. 204 00:08:13,790 --> 00:08:15,690 Certamente hai un custo? 205 00:08:15,690 --> 00:08:16,810 Non todos poden ser Upside. 206 00:08:16,810 --> 00:08:19,964 Entón, o que pode ese custo ser? 207 00:08:19,964 --> 00:08:20,940 >> Audiencia: Space. 208 00:08:20,940 --> 00:08:22,370 >> DAVID J. Malan: Space. 209 00:08:22,370 --> 00:08:23,370 Entón, con certeza. 210 00:08:23,370 --> 00:08:26,920 No mundo compilado, ten non só o código fonte orixinal, 211 00:08:26,920 --> 00:08:29,657 tamén está creando e entón presuntamente aforro 212 00:08:29,657 --> 00:08:31,740 a máquina a code-- ceros e ones-- e iso é 213 00:08:31,740 --> 00:08:33,870 ten que tomar-se unha certa cantidade de espazo. 214 00:08:33,870 --> 00:08:34,429 Absolutamente. 215 00:08:34,429 --> 00:08:35,765 Entón, está custando-lle máis espazo. 216 00:08:35,765 --> 00:08:39,289 217 00:08:39,289 --> 00:08:39,789 Si? 218 00:08:39,789 --> 00:08:43,280 >> Audiencia: navegadores poden interpretar de forma diferente. 219 00:08:43,280 --> 00:08:46,770 >> DAVID J. Malan: navegadores poden interpretala lo de forma diferente. 220 00:08:46,770 --> 00:08:48,622 Iso é verdade. 221 00:08:48,622 --> 00:08:50,330 Pero eu non estou seguro de que estou cómodo reivindicando 222 00:08:50,330 --> 00:08:51,840 iso é porque é interpretado. 223 00:08:51,840 --> 00:08:56,340 Isto é máis só porque é unha aplicación dunha lingua 224 00:08:56,340 --> 00:08:58,050 que se ten ambigüidades. 225 00:08:58,050 --> 00:09:01,570 Entón non imos moi confirmar aquel, pero bo palpite. 226 00:09:01,570 --> 00:09:03,103 O que máis pode ser o prezo pagado? 227 00:09:03,103 --> 00:09:03,602 Andrew? 228 00:09:03,602 --> 00:09:05,912 >> Audiencia: Está quedando dúas etapas, para que, polo tanto, 229 00:09:05,912 --> 00:09:08,300 ten crecente complexidade tamén. 230 00:09:08,300 --> 00:09:11,040 >> David J. Malan: A complex-- o aumento da complexidade, onde? 231 00:09:11,040 --> 00:09:12,270 Para quen? 232 00:09:12,270 --> 00:09:16,748 >> Audiencia: Entón, o intérprete etapa, está combinando o intérprete 233 00:09:16,748 --> 00:09:19,120 e compilador para só de maneira que se a-- 234 00:09:19,120 --> 00:09:21,100 >> DAVID J. Malan: Ah, OK. 235 00:09:21,100 --> 00:09:25,240 Ironicamente, é probablemente un pouco máis simple de implementar do intérprete, 236 00:09:25,240 --> 00:09:29,530 aínda que parece Upside rendemento desta comodidade. 237 00:09:29,530 --> 00:09:30,550 Avatares verdadeira. 238 00:09:30,550 --> 00:09:32,716 Pero que tipo de depende, I diría que, na linguaxe 239 00:09:32,716 --> 00:09:35,720 e sobre a forma na que eles foron sobre a súa aplicación. 240 00:09:35,720 --> 00:09:38,535 Non pode ser moito máis complexidade, en realidade, o compilador, 241 00:09:38,535 --> 00:09:41,410 só porque ten que ir de algo tan de alto nivel para algo 242 00:09:41,410 --> 00:09:42,560 tan baixo nivel. 243 00:09:42,560 --> 00:09:45,340 Pero un bo pensamento. 244 00:09:45,340 --> 00:09:50,770 >> Entón, dito doutro xeito, un programa compilado, cando se converteu estes ceros e uns, 245 00:09:50,770 --> 00:09:54,470 remata-se na linguaxe que a CPU fala, 246 00:09:54,470 --> 00:09:57,850 Tendo en conta que, neste lado do mundo, o programa que escribiu, 247 00:09:57,850 --> 00:10:02,527 o código que escribiu, nunca realmente se converter ao idioma real 248 00:10:02,527 --> 00:10:03,360 o ordenador fala. 249 00:10:03,360 --> 00:10:04,190 Os ceros e uns. 250 00:10:04,190 --> 00:10:08,480 Permanece no orixinal máis humano, agradable linguaxe, máis lexible. 251 00:10:08,480 --> 00:10:11,720 Entón, o que pode ser a implicación alí, se realmente non 252 00:10:11,720 --> 00:10:15,020 molesta converter o seu programa para a propia linguaxe 253 00:10:15,020 --> 00:10:18,013 que o ordenador subxacente fala? 254 00:10:18,013 --> 00:10:19,780 >> Audiencia: Non podería entender algo? 255 00:10:19,780 --> 00:10:21,170 >> DAVID J. Malan: Poder non entender algo. 256 00:10:21,170 --> 00:10:23,297 E iso pode claim-- se non entendía 257 00:10:23,297 --> 00:10:25,880 algo, iso é un erro ou falta de recurso no intérprete. 258 00:10:25,880 --> 00:10:28,544 De xeito que sería máis un erro que un custo. 259 00:10:28,544 --> 00:10:30,419 >> Audiencia: Ten acceso ao código fonte? 260 00:10:30,419 --> 00:10:31,877 DAVID J. Malan: Hai unha boa. 261 00:10:31,877 --> 00:10:34,140 Así, unha desvantaxe é que parecería ter acceso. 262 00:10:34,140 --> 00:10:37,006 Vostede, o usuario final, pode parecer ter acceso ao código fonte. 263 00:10:37,006 --> 00:10:38,130 E iso non é certo. 264 00:10:38,130 --> 00:10:39,660 Pero iso é verdade na caso de JavaScript, 265 00:10:39,660 --> 00:10:41,660 que veremos despois a pausa hoxe, que 266 00:10:41,660 --> 00:10:45,720 é unha linguaxe de programación interpretada que escribir en código fonte. 267 00:10:45,720 --> 00:10:48,890 >> Pero que o código fonte é trasladado dende o servidor para o navegador 268 00:10:48,890 --> 00:10:51,392 e corre no navegador do humano. 269 00:10:51,392 --> 00:10:54,350 Entón, aquí só podería abrir o fiestra, como se eu estivese facendo en Chrome, 270 00:10:54,350 --> 00:10:57,740 e mirar para el, como nós mesmos mirou onte con Google. 271 00:10:57,740 --> 00:11:00,420 Pode parecer un pouco incomprensible, pero está aí. 272 00:11:00,420 --> 00:11:03,482 Entón, iso é absolutamente un prezo pagado. 273 00:11:03,482 --> 00:11:04,565 Audiencia: axuste de rendemento? 274 00:11:04,565 --> 00:11:05,020 DAVID J. Malan: Yeah. 275 00:11:05,020 --> 00:11:06,260 E esa é a outra persoa importante. 276 00:11:06,260 --> 00:11:07,380 Hai un axuste de rendemento. 277 00:11:07,380 --> 00:11:10,100 Porque ten ese home medio, que por si só 278 00:11:10,100 --> 00:11:13,740 é un programa, entre vostede ea CPU, en oposición 279 00:11:13,740 --> 00:11:17,880 só para alimentar destas materias ceros e uns na CPU, 280 00:11:17,880 --> 00:11:21,060 hai un axuste de rendemento que levar cunha linguaxe interpretada. 281 00:11:21,060 --> 00:11:24,240 De tal xeito que, arbitrariamente, un programa que pode levar un segundo 282 00:11:24,240 --> 00:11:27,840 para ser executado en un ordenador ou un minutos para ser executado en un ordenador aquí, 283 00:11:27,840 --> 00:11:32,059 pode levar 10 segundos ou 10 minutos para ser executado en un ordenador aquí. 284 00:11:32,059 --> 00:11:35,100 El xeralmente non vai ser que moi de un factor difference-- de 10-- 285 00:11:35,100 --> 00:11:36,808 porque non hai optimizacións que podes facer. 286 00:11:36,808 --> 00:11:38,680 Pero é case sempre máis lento. 287 00:11:38,680 --> 00:11:43,070 Agora, o outro lado para que a preocupación é que, así ordenadores, cada 12 288 00:11:43,070 --> 00:11:45,970 a 18 segundo months-- A lei de Moore, por así speak-- 289 00:11:45,970 --> 00:11:47,600 están só quedando máis rápido e máis rápido. 290 00:11:47,600 --> 00:11:48,750 Eu teño máis e máis espazo no disco. 291 00:11:48,750 --> 00:11:49,791 Eu teño máis e máis memoria RAM. 292 00:11:49,791 --> 00:11:50,620 Quen realmente importa? 293 00:11:50,620 --> 00:11:52,328 >> E iso é unha especie de argumento razoable. 294 00:11:52,328 --> 00:11:55,740 Efectivamente, unha das razóns por iso que podemos tolerar máis lento 295 00:11:55,740 --> 00:11:58,480 linguaxes interpretadas é porque nós, humanos, non se dá conta. 296 00:11:58,480 --> 00:12:00,690 Os ordenadores teñen chegado tan danado rápido. 297 00:12:00,690 --> 00:12:04,520 Considerando volta ao día, especialmente cando o hardware foi moito máis limitado, 298 00:12:04,520 --> 00:12:06,860 tiña menos de todo, foi moito máis caro 299 00:12:06,860 --> 00:12:10,570 por iso todo custa máis, así, entón realmente quería espremer 300 00:12:10,570 --> 00:12:12,590 tanto rendemento como podería. 301 00:12:12,590 --> 00:12:16,400 Pero iso é necesario escribir en un nivel máis baixo, se quixeren, 302 00:12:16,400 --> 00:12:18,090 cunha linguaxe compilada. 303 00:12:18,090 --> 00:12:20,830 >> Entón tomar este impacto no rendemento. 304 00:12:20,830 --> 00:12:24,780 Pero, xeralmente, os Upside parece valer a pena estes días. 305 00:12:24,780 --> 00:12:26,850 Ben, excepto para o cuestión da propiedade intelectual. 306 00:12:26,850 --> 00:12:28,641 Este tipo de lexibilidade do código, imos 307 00:12:28,641 --> 00:12:30,640 volver cando miramos para JavaScript. 308 00:12:30,640 --> 00:12:33,140 >> Entón, imos tratar categorizar polo menos algúns destes. 309 00:12:33,140 --> 00:12:41,650 Así, entre as linguaxes compiladas, nós tería C, C ++, tipo de, sorta, Java, 310 00:12:41,650 --> 00:12:48,120 aínda que sexa un pouco de unha excepción, por razóns que eu vou lle amosar en só un momento. 311 00:12:48,120 --> 00:12:51,540 C # sería nesta lista. 312 00:12:51,540 --> 00:12:54,930 Nós imos ollar para máis en só as linguaxes modernas. 313 00:12:54,930 --> 00:12:55,430 Todo ben. 314 00:12:55,430 --> 00:12:56,804 E parece ser moi alá. 315 00:12:56,804 --> 00:13:03,500 Considerando este lado da cerca, poderiamos Javascript e Python, 316 00:13:03,500 --> 00:13:08,040 e PHP e Ruby. 317 00:13:08,040 --> 00:13:13,640 E é que o suficiente para os últimos? 318 00:13:13,640 --> 00:13:15,410 Que se sente como unha abundancia de agora. 319 00:13:15,410 --> 00:13:16,330 OK. 320 00:13:16,330 --> 00:13:18,760 E entón dot dot dot, xa que a lista é interminable. 321 00:13:18,760 --> 00:13:22,300 >> E, de feito, se queremos só ter unha noción de isto-- Wikipedia, 322 00:13:22,300 --> 00:13:24,130 linguaxes compiladas. 323 00:13:24,130 --> 00:13:27,150 Estou supoñendo que podemos obter un lista máis exhaustiva. 324 00:13:27,150 --> 00:13:27,910 Entón, imos alí. 325 00:13:27,910 --> 00:13:30,620 Entón, aquí está a lista máis exhaustiva. 326 00:13:30,620 --> 00:13:34,150 E eu estaba esperando que alguén podería imaxinar D como lingua porque tamén existe, 327 00:13:34,150 --> 00:13:37,747 pero deixaron en D parecer. 328 00:13:37,747 --> 00:13:39,330 Aínda que non pode realmente ser unha E. 329 00:13:39,330 --> 00:13:41,496 >> Oh, en realidade, iso debe estar na lista estes días. 330 00:13:41,496 --> 00:13:47,460 Swift é, en realidade, unha linguaxe que Apple inventou 331 00:13:47,460 --> 00:13:50,302 que se usa agora, cada vez máis así, no desenvolvemento do iPhone. 332 00:13:50,302 --> 00:13:52,260 Pero imos voltar a que, coa nosa discusión 333 00:13:52,260 --> 00:13:54,090 de mobles en só un pouco tamén. 334 00:13:54,090 --> 00:13:55,260 Entón Swift tamén. 335 00:13:55,260 --> 00:13:57,540 >> E entón, se imos a interpretados language-- 336 00:13:57,540 --> 00:14:05,010 interpretados language-- entón é aquí unha lista aínda máis tamén. 337 00:14:05,010 --> 00:14:07,260 Entón, se só google e mirar na Wikipedia para estes, 338 00:14:07,260 --> 00:14:09,231 verás todo tipo de linguas. 339 00:14:09,231 --> 00:14:10,980 Pero o obxectivo é, para hoxe realmente, só 340 00:14:10,980 --> 00:14:13,680 resume-se cadra esta cuestión da propiedade intelectual 341 00:14:13,680 --> 00:14:18,200 e lexibilidade polo usuario final e rendemento, é outra persoa importante tamén. 342 00:14:18,200 --> 00:14:21,080 >> Así, entre linguas, déixeme ver se podemos darlle 343 00:14:21,080 --> 00:14:24,487 só algunhas mostras de idiomas. 344 00:14:24,487 --> 00:14:26,820 Non quero pasar por todas as linguas indefinidamente. 345 00:14:26,820 --> 00:14:29,720 Xa se preguntas o que é un determinada lingua parece? 346 00:14:29,720 --> 00:14:31,562 Fixemos ver un momento atrás. 347 00:14:31,562 --> 00:14:33,520 Por que non podemos ter un par das solicitudes de recursos. 348 00:14:33,520 --> 00:14:35,380 Quen quere ver o que outra lingua parece? 349 00:14:35,380 --> 00:14:35,620 Si. 350 00:14:35,620 --> 00:14:36,150 >> Audiencia: Java. 351 00:14:36,150 --> 00:14:36,540 >> DAVID J. Malan: Java. 352 00:14:36,540 --> 00:14:37,040 Todo ben. 353 00:14:37,040 --> 00:14:38,504 Entón imos para Java. 354 00:14:38,504 --> 00:14:42,300 355 00:14:42,300 --> 00:14:44,900 E só para lle dar unha sample-- poderiamos escribir todo isto para fóra, 356 00:14:44,900 --> 00:14:47,670 pero sería máis rápido só para mirar o código de exemplo doutra persoa. 357 00:14:47,670 --> 00:14:48,170 Todo ben. 358 00:14:48,170 --> 00:14:50,330 Polo tanto, este é un bo exemplo? 359 00:14:50,330 --> 00:14:52,040 Whoops. 360 00:14:52,040 --> 00:14:52,540 OK. 361 00:14:52,540 --> 00:14:58,810 Entón aquí está a versión Java do programa que escribín anteriormente, "Ola mundo". 362 00:14:58,810 --> 00:15:01,900 >> Entón, Java, moitas veces vai ver o seu contrasinal "class". 363 00:15:01,900 --> 00:15:03,779 Entón verás un nome despois diso. 364 00:15:03,779 --> 00:15:05,570 Verá claves como vimos antes, 365 00:15:05,570 --> 00:15:08,153 e ás veces van en mesma liña, por veces, outras liñas, 366 00:15:08,153 --> 00:15:09,734 é unha especie de unha decisión persoal. 367 00:15:09,734 --> 00:15:11,900 Verá palabras clave como "Público", "estático", "baleiro". 368 00:15:11,900 --> 00:15:13,790 Pero fixemos ver "principal". "Principal" adoita 369 00:15:13,790 --> 00:15:17,220 o nome da función predefinida ou o bloque estándar de código que 370 00:15:17,220 --> 00:15:18,760 é executado en un programa. 371 00:15:18,760 --> 00:15:19,330 >> "Cadea". 372 00:15:19,330 --> 00:15:20,850 O que queremos dicir con cadea máis cedo? 373 00:15:20,850 --> 00:15:23,480 Usei-o tipo de casualmente. 374 00:15:23,480 --> 00:15:25,100 Unha corda é o que? 375 00:15:25,100 --> 00:15:25,601 Unha palabra. 376 00:15:25,601 --> 00:15:27,058 É como unha secuencia de caracteres. 377 00:15:27,058 --> 00:15:29,810 caracteres individuais, de volta á de volta para atrás, xeralmente nunha matriz, 378 00:15:29,810 --> 00:15:30,690 como xa discutir. 379 00:15:30,690 --> 00:15:34,700 E, de feito, ver esta sintaxe aquí, os dous corchetes? 380 00:15:34,700 --> 00:15:39,210 Isto significa que, hey ordenador, aquí vén unha matriz de cadeas. 381 00:15:39,210 --> 00:15:42,636 A notación corchete é utilizada para indicar que. 382 00:15:42,636 --> 00:15:44,510 E entón pode ser tomar unha adiviñar o que 383 00:15:44,510 --> 00:15:46,580 fai este destaque pedazo de código, probablemente, facer? 384 00:15:46,580 --> 00:15:49,737 385 00:15:49,737 --> 00:15:50,639 >> Audiencia: A saída? 386 00:15:50,639 --> 00:15:51,090 >> DAVID J. Malan: Yeah. 387 00:15:51,090 --> 00:15:52,506 Ela imprime algo para a pantalla. 388 00:15:52,506 --> 00:15:57,070 Así, "sistema" é unha especie de referencia ao seu ordenador. 389 00:15:57,070 --> 00:15:59,620 "Out" significa que o ordenador de de saída ou da pantalla. 390 00:15:59,620 --> 00:16:04,450 Así, "ln System.out.print" probablemente significa? 391 00:16:04,450 --> 00:16:05,570 "LN". 392 00:16:05,570 --> 00:16:09,570 liña de impresión que programadores como deletrear algunhas palabras aparentemente fóra 393 00:16:09,570 --> 00:16:11,820 na súa totalidade e tomar atallos con outras palabras. 394 00:16:11,820 --> 00:16:13,260 Pero "ln" é a liña, polo tanto, liña de impresión. 395 00:16:13,260 --> 00:16:17,370 Entón, el imprime "Ola Mundo! ", Seguido por unha nova liña. 396 00:16:17,370 --> 00:16:18,300 >> Entón é iso. 397 00:16:18,300 --> 00:16:21,150 Pero Java é o que van chamada orientada a obxectos. 398 00:16:21,150 --> 00:16:23,440 E, de feito, só para dar un par de outras definicións 399 00:16:23,440 --> 00:16:26,420 alí que pode ver, en xeral, hai 400 00:16:26,420 --> 00:16:30,600 moitos tipos diferentes de linguas, pero o máis común 401 00:16:30,600 --> 00:16:37,830 son linguas de procedemento ou imperativas. 402 00:16:37,830 --> 00:16:41,600 existen funcional linguas, o cal non 403 00:16:41,600 --> 00:16:43,790 significa que os outros non son funcionais. 404 00:16:43,790 --> 00:16:47,740 E despois hai linguaxes orientadas a obxecto. 405 00:16:47,740 --> 00:16:51,170 E esta é quizais a mellor categorización da maioría das linguas 406 00:16:51,170 --> 00:16:56,445 que podería escoller para especie dun proxecto comercial típico. 407 00:16:56,445 --> 00:16:58,910 >> Iso sería máis, Coido que, de burato de rato 408 00:16:58,910 --> 00:17:01,620 para ir para abaixo, para tratar de explicar as varias diferenzas. 409 00:17:01,620 --> 00:17:04,599 Pero as linguas vimos así far-- C 410 00:17:04,599 --> 00:17:07,680 é un procedemento ou linguaxe imperativa. 411 00:17:07,680 --> 00:17:11,200 Máis recentemente inventado linguaxes tenden a ser, desculpe, 412 00:17:11,200 --> 00:17:14,430 orientada a obxectos, o que significa eles teñen outros recursos para eles. 413 00:17:14,430 --> 00:17:18,130 414 00:17:18,130 --> 00:17:19,430 Podo explicar isto deste xeito? 415 00:17:19,430 --> 00:17:20,950 Non imos nin ir ata alí. 416 00:17:20,950 --> 00:17:25,200 >> medios orientados a obxectos podes implement-- 417 00:17:25,200 --> 00:17:27,930 podes modelar o mundo real algo máis eficaz. 418 00:17:27,930 --> 00:17:29,722 A humanidade, ao longo do tempo, descubriu, uau, 419 00:17:29,722 --> 00:17:32,430 sería bo se a miña lingua tiña este recurso ou este recurso. 420 00:17:32,430 --> 00:17:34,830 E é por iso que temos ata moitas linguas do mundo. 421 00:17:34,830 --> 00:17:37,670 As persoas razoables, intelixente persoas, de acordo ou desacordo 422 00:17:37,670 --> 00:17:41,000 e, invariablemente, especie de vir xuntos desenvolvemento de novas linguaxes todos xuntos. 423 00:17:41,000 --> 00:17:41,660 >> Caso en cuestión. 424 00:17:41,660 --> 00:17:45,260 Apple inventou Swift en esperanzas de redución presuntamente 425 00:17:45,260 --> 00:17:47,950 a barra para o desenvolvemento do iPhone, porque a anterior language-- 426 00:17:47,950 --> 00:17:51,080 Obxectivo chamado-C, que podería estar na nosa lista aqui-- 427 00:17:51,080 --> 00:17:54,190 era moito máis misterioso e moi máis difícil para embrulhar a mente ao redor. 428 00:17:54,190 --> 00:17:57,690 E como a programación está facendo indiscutibelmente máis accesibles e máis amplamente 429 00:17:57,690 --> 00:18:00,580 adoptada por persoas mesmo menos técnica, o goal-- 430 00:18:00,580 --> 00:18:04,160 É un fito moi valente para tratar diminuír a barreira de entrada, facendo 431 00:18:04,160 --> 00:18:07,400 as linguas propias máis doado para comezar, 432 00:18:07,400 --> 00:18:09,430 pero non menos poderosa necesariamente. 433 00:18:09,430 --> 00:18:10,560 >> E outra lingua. 434 00:18:10,560 --> 00:18:14,110 Por que non imos dar un ollo en algo así como Python, 435 00:18:14,110 --> 00:18:18,090 que é moi en voga nos días de hoxe. 436 00:18:18,090 --> 00:18:19,570 Python. 437 00:18:19,570 --> 00:18:20,464 Exemplo de programa. 438 00:18:20,464 --> 00:18:24,600 439 00:18:24,600 --> 00:18:26,700 Vexamos. 440 00:18:26,700 --> 00:18:28,790 "Ola Mundo" linguas. 441 00:18:28,790 --> 00:18:30,180 Imos facelo. 442 00:18:30,180 --> 00:18:33,625 "Ola mundo". 443 00:18:33,625 --> 00:18:35,375 Imos ver se iso dá -Nos un bo exemplo. 444 00:18:35,375 --> 00:18:39,450 445 00:18:39,450 --> 00:18:39,950 OK. 446 00:18:39,950 --> 00:18:41,283 Polo tanto, esta é realmente divertido. 447 00:18:41,283 --> 00:18:43,330 Entón, se Google "Ola Mundo", que 448 00:18:43,330 --> 00:18:47,000 pasa a ser un dos primeiros programas xa escrito nunha linguaxe moderna, 449 00:18:47,000 --> 00:18:51,830 así como unha proba de concepto, verás todo tipo de implementacións deste. 450 00:18:51,830 --> 00:18:54,240 >> Algunhas destas linguas Non teño sequera oído falar. 451 00:18:54,240 --> 00:18:59,770 Pero pode see-- imos ao básico, o que eu aprendín anos, en parte. 452 00:18:59,770 --> 00:19:02,720 Esta era unha lingua divertido porque tiña que, como o programador, número 453 00:19:02,720 --> 00:19:03,710 todas as súas liñas. 454 00:19:03,710 --> 00:19:05,626 Non ao contrario do que eu estaba facendo cando estaba escribindo 455 00:19:05,626 --> 00:19:08,380 pseudocódigo no documento amarelo anteriormente para busca binaria, 456 00:19:08,380 --> 00:19:09,580 para buscar un libro de teléfono. 457 00:19:09,580 --> 00:19:11,810 >> E así, se quería para ir a outra liña, 458 00:19:11,810 --> 00:19:15,780 vostede literalmente escribir, ir a 10, ou ir a 20. 459 00:19:15,780 --> 00:19:19,110 E se está escribindo liñas, os convención era para facer, esta é a liña 10, 460 00:19:19,110 --> 00:19:22,545 Esta é a liña 20, esta é a liña 30, 40, con nada entre eles, 461 00:19:22,545 --> 00:19:25,170 dándose así un espazo se decide, agarde un minuto, 462 00:19:25,170 --> 00:19:27,230 Eu debería ter engadido algúns máis código nalgún sitio. 463 00:19:27,230 --> 00:19:30,960 Aínda tivo sorte de nove oportunidades de espremer isto entre o seu programa 464 00:19:30,960 --> 00:19:33,020 antes tiña que manualmente renumerar todo. 465 00:19:33,020 --> 00:19:35,470 >> Polo tanto, este é o tipo do que quero dicir cando digo que o mundo xurdiu 466 00:19:35,470 --> 00:19:36,303 con novas características. 467 00:19:36,303 --> 00:19:39,364 Nalgún lugar ao longo do camiño alguén entender, neno é dicir estúpido. 468 00:19:39,364 --> 00:19:41,280 Esta é só a creación de traballar para o programador. 469 00:19:41,280 --> 00:19:44,200 Así, el ou ela só tipo de construción unha nova capa enriba do que 470 00:19:44,200 --> 00:19:46,910 de xeito que non se preocupe sobre o que liña de números de código 471 00:19:46,910 --> 00:19:48,570 é, en realidade. 472 00:19:48,570 --> 00:19:54,940 >> Entón, cando se pode escoller unha lingua ou outra? 473 00:19:54,940 --> 00:19:56,690 Ben, cal destes linguas tende 474 00:19:56,690 --> 00:20:00,960 oír falar máis en o seu propio mundo hoxe en día? 475 00:20:00,960 --> 00:20:02,680 Imos caer Objective-C tamén. 476 00:20:02,680 --> 00:20:06,416 477 00:20:06,416 --> 00:20:07,739 >> Audiencia: C #. 478 00:20:07,739 --> 00:20:08,530 DAVID J. Malan: C #. 479 00:20:08,530 --> 00:20:10,310 Entón deixe-me cor. 480 00:20:10,310 --> 00:20:13,190 Nós temos a nosa outra cor en algún lugar? 481 00:20:13,190 --> 00:20:14,550 Entón C #. 482 00:20:14,550 --> 00:20:16,390 E o que vostede sabe sobre C #? 483 00:20:16,390 --> 00:20:18,940 Algo veñen á mente? 484 00:20:18,940 --> 00:20:20,707 >> Audiencia: É unha linguaxe de programación. 485 00:20:20,707 --> 00:20:22,540 DAVID J. Malan: É un linguaxe de programación. 486 00:20:22,540 --> 00:20:23,200 OK. 487 00:20:23,200 --> 00:20:24,690 Iso é verdade. 488 00:20:24,690 --> 00:20:26,440 Entón, estamos a falar de C #. 489 00:20:26,440 --> 00:20:29,230 C # tende a ser usado na ambientes Windows, 490 00:20:29,230 --> 00:20:33,550 por iso, se está escribindo software Microsoft para Windows, C # é moi comunmente usado, 491 00:20:33,550 --> 00:20:38,560 se é para o software de escritorio, ou mesmo software do teléfono en Windows Phone, 492 00:20:38,560 --> 00:20:41,820 Se xa tivo aqueles, ou na web, mesmo tamén. 493 00:20:41,820 --> 00:20:44,642 E, de feito, é posible Kareem ASP mencionado anteriormente? 494 00:20:44,642 --> 00:20:46,600 Entón hai tamén estes cousas chamadas estruturas, 495 00:20:46,600 --> 00:20:51,040 que podemos introducir, por extensión. 496 00:20:51,040 --> 00:20:53,280 Frameworks, como ASP. 497 00:20:53,280 --> 00:20:55,740 Soportes para Active Server Pages. 498 00:20:55,740 --> 00:20:59,880 E este é código e un modo de programación 499 00:20:59,880 --> 00:21:03,490 que, xeralmente, fai que sexa máis fácil para escribir aplicacións baseadas na web. 500 00:21:03,490 --> 00:21:07,530 Noutras palabras, sería super, Super chat para escribir un sitio 501 00:21:07,530 --> 00:21:09,469 en que a linguaxe C que xa vimos antes, 502 00:21:09,469 --> 00:21:12,510 porque tería que usar de impresión + F, que tería que usar esa contrasinal 503 00:21:12,510 --> 00:21:13,940 "Principal" e as claves. 504 00:21:13,940 --> 00:21:16,720 Unha morea de sintaxe arcano e visión para aplicar 505 00:21:16,720 --> 00:21:19,195 algo que é moi complexo. 506 00:21:19,195 --> 00:21:20,240 Unha páxina web. 507 00:21:20,240 --> 00:21:23,800 >> E así noutros idiomas evolucionaron para facer este tipo de cousas máis fácil. 508 00:21:23,800 --> 00:21:26,890 E, á súa vez, as persoas veñen-se cos cadros, unha especie de ferramentas 509 00:21:26,890 --> 00:21:30,520 que pode usar que o fan aínda máis doado para escribir páxinas web. 510 00:21:30,520 --> 00:21:33,070 Así, por exemplo, para facer isto moito máis concreto, 511 00:21:33,070 --> 00:21:36,390 déixeme abrir un arquivo de texto por un momento. 512 00:21:36,390 --> 00:21:39,380 >> E pode lembrar de onte que dixo algo 513 00:21:39,380 --> 00:21:41,210 como, isto é unha páxina web. 514 00:21:41,210 --> 00:21:42,300 HTML. 515 00:21:42,300 --> 00:21:45,340 Pechar HTML. 516 00:21:45,340 --> 00:21:48,500 Déixeme ir a cabeza e Só ten que facer o corpo aquí. 517 00:21:48,500 --> 00:21:52,810 Supoña que quería escribir non "Ola Mundo" 518 00:21:52,810 --> 00:21:57,020 pero "Ola David", onde David é o nome de usuario conectado neste momento. 519 00:21:57,020 --> 00:22:00,270 Que algo así como ASP vai facer, ou JSP-- 520 00:22:00,270 --> 00:22:04,060 que é servidor Java pages-- ou calquera número de outras estruturas 521 00:22:04,060 --> 00:22:05,435 é que non son linguas, per se. 522 00:22:05,435 --> 00:22:07,351 Son como software adicional que 523 00:22:07,351 --> 00:22:10,490 ía instalar no seu ambiente que facelo máis fácil de programar. 524 00:22:10,490 --> 00:22:15,670 >> Así, por exemplo, en vez de ter que facer algo así como "Ola, printf (" David ")" 525 00:22:15,670 --> 00:22:17,510 ou algo que se tipo de co-mingling-- 526 00:22:17,510 --> 00:22:20,840 o tipo de código que vimos antes-- faría algo moito máis simple, 527 00:22:20,840 --> 00:22:26,190 como "name%." 528 00:22:26,190 --> 00:22:28,660 E así por estas estruturas, como ASP-- e eu 529 00:22:28,660 --> 00:22:31,212 Non me lembro se eu estou quedando a sintaxe só á dereita para o ASP. 530 00:22:31,212 --> 00:22:33,100 JSP é un little-- é ese dereito? 531 00:22:33,100 --> 00:22:36,500 >> Así, con ASP, este é unha especie de sintaxe especial 532 00:22:36,500 --> 00:22:39,830 que algúns desenvolvedores decidiron isto pode axudar a xente. 533 00:22:39,830 --> 00:22:43,000 E podo expresar de forma máis sucinta espazos reservados, por exemplo. 534 00:22:43,000 --> 00:22:47,187 Como poñer un valor aquí, onde este nome valor non é N-A-M-E, 535 00:22:47,187 --> 00:22:48,520 é algún valor almacenado alí. 536 00:22:48,520 --> 00:22:50,728 Así, "nome", neste contexto, que chamariamos dunha variable. 537 00:22:50,728 --> 00:22:52,760 Álxebra ten variables como x e y, e z. 538 00:22:52,760 --> 00:22:56,021 Os programadores usan variables que son máis descritivo que x, y, e z, 539 00:22:56,021 --> 00:22:56,520 normalmente. 540 00:22:56,520 --> 00:23:01,020 Así, "nome" sería literalmente algún tipo de recipiente de memoria para algo así como 541 00:23:01,020 --> 00:23:05,440 D-A-V-I-D, para o meu nome, ou quen outra cousa é rexistrado na páxina web. 542 00:23:05,440 --> 00:23:09,300 >> E por iso este é o tipo de barrio comeza con certos ambientes. 543 00:23:09,300 --> 00:23:14,220 Entón, C # e algo ASP sería moi xeralmente pode usar nun mundo Windows 544 00:23:14,220 --> 00:23:16,460 independente da súa área de traballo software ou servidor web, 545 00:23:16,460 --> 00:23:21,490 especialmente se os seus servidores están á súa vez, Microsoft Windows e Microsoft 546 00:23:21,490 --> 00:23:25,810 IIS-- ou Internet Information Server, se eu comezar a sigla direita-- 547 00:23:25,810 --> 00:23:27,800 que é servidor web de Microsoft. 548 00:23:27,800 --> 00:23:30,820 >> Entón, o que outras linguas son persoas familiarizado con, 549 00:23:30,820 --> 00:23:35,228 ou xa escoitou falar máis veces que non? 550 00:23:35,228 --> 00:23:38,262 >> Audiencia: Eu sei que Python de tipo de un popular [inaudível]. 551 00:23:38,262 --> 00:23:39,470 DAVID J. Malan: Moi popular. 552 00:23:39,470 --> 00:23:45,490 Entón Python aquí emprégase a miúdo en aplicacións científicas ou datos 553 00:23:45,490 --> 00:23:48,330 ciencia, onde ten unha morea de datos que quere analizar 554 00:23:48,330 --> 00:23:50,413 e quere usar un linguaxe de programación para el. 555 00:23:50,413 --> 00:23:53,640 R pode xeralmente ser usada para ese así, nun contexto estatístico. 556 00:23:53,640 --> 00:23:56,400 Pero Python ten tantos características construído en. 557 00:23:56,400 --> 00:23:58,850 tantos adicional bibliotecas, como a xente di. 558 00:23:58,850 --> 00:24:01,260 >> As bibliotecas son só coleccións de código que outros 559 00:24:01,260 --> 00:24:04,218 escribiu que pode usar para que Non ten que reinventar as rodas. 560 00:24:04,218 --> 00:24:07,430 E así Python é moi comunmente usado en aplicacións de ciencia de datos. 561 00:24:07,430 --> 00:24:09,930 Pero tamén é moi comunmente usado en aplicacións web. 562 00:24:09,930 --> 00:24:12,780 Pode aplicar unha dinámica sitio usando Python. 563 00:24:12,780 --> 00:24:15,210 >> E polo sitio dinámico, I contido medio non só estática 564 00:24:15,210 --> 00:24:19,530 como se creou onte por só difícil de codificación no texto latino 565 00:24:19,530 --> 00:24:21,820 e outras cousas que tales, senón a capacidade 566 00:24:21,820 --> 00:24:25,367 facer o login, a capacidade de mercar algo, a capacidade de comprobar 567 00:24:25,367 --> 00:24:26,950 cos seus carrinhos da compra, ou similares. 568 00:24:26,950 --> 00:24:30,590 Todo iso esixe dinamismo e precisa de linguaxe como un deles. 569 00:24:30,590 --> 00:24:35,060 >> Audiencia: Entón non Python ten o seu propio extensión, similar a gustar [inaudível] 570 00:24:35,060 --> 00:24:36,060 DAVID J. Malan: fai. 571 00:24:36,060 --> 00:24:42,250 Así, no mundo de Python, Django é un cadro moi popular para Python. 572 00:24:42,250 --> 00:24:46,520 WSGI é outro mecanismo que é tipo de diferente desta 573 00:24:46,520 --> 00:24:47,640 pero semellante en espírito. 574 00:24:47,640 --> 00:24:52,200 É un add-on que permite que para executar código Python nun servidor. 575 00:24:52,200 --> 00:24:53,950 Hai outro-- si. 576 00:24:53,950 --> 00:24:57,250 Entón, eses que chamaremos de frameworks. 577 00:24:57,250 --> 00:24:58,870 E é un pouco de un abuso. 578 00:24:58,870 --> 00:25:00,920 Esta é unha tecnoloxía de servidor web. 579 00:25:00,920 --> 00:25:04,610 Pero nós imos mantelo simple e poñer que nesta columna, con todo. 580 00:25:04,610 --> 00:25:05,780 >> OK. 581 00:25:05,780 --> 00:25:07,850 WSGI. 582 00:25:07,850 --> 00:25:09,020 WSGI. 583 00:25:09,020 --> 00:25:12,100 Outra coisa-- e, en realidade, deixe mover-me que a súa propia columna, 584 00:25:12,100 --> 00:25:17,000 porque gritaba para min mesma por poñer-los no mesmo balde. 585 00:25:17,000 --> 00:25:24,910 Imos poñer isto en servidor características, digamos. 586 00:25:24,910 --> 00:25:26,710 Isto non é un termo técnico. 587 00:25:26,710 --> 00:25:29,180 >> Entón, aquí podemos estar WSGI. 588 00:25:29,180 --> 00:25:32,580 Hai CGI, que é un máis vello técnica para que serve idiomas 589 00:25:32,580 --> 00:25:35,890 como Perl ou PHP, ou algúns outros. 590 00:25:35,890 --> 00:25:39,000 Unha vez máis, eu mencionen estes termos non tanto a sorte de incutir-lles, 591 00:25:39,000 --> 00:25:40,749 pero para que se vexa Los algo 592 00:25:40,749 --> 00:25:42,130 simplemente google para ler máis. 593 00:25:42,130 --> 00:25:46,110 Non hai real zume para algunhas destas cousas. 594 00:25:46,110 --> 00:25:47,850 >> Pero imos voltar para as linguas. 595 00:25:47,850 --> 00:25:50,499 Falamos C #, Python. 596 00:25:50,499 --> 00:25:52,790 Que máis se pode usar para Programación web nos días de hoxe? 597 00:25:52,790 --> 00:25:54,302 Imos concentrar no que aínda. 598 00:25:54,302 --> 00:25:55,247 >> Audiencia: PHP. 599 00:25:55,247 --> 00:25:56,080 DAVID J. Malan: PHP. 600 00:25:56,080 --> 00:25:57,413 E imos voltar a este. 601 00:25:57,413 --> 00:25:59,310 Entón PHP é moi comunmente usado. 602 00:25:59,310 --> 00:26:01,560 PHP tende a obter un mal rap. 603 00:26:01,560 --> 00:26:05,790 Comezou como unha linguaxe aplicada por persoas que quizais non eran necesariamente 604 00:26:05,790 --> 00:26:06,960 os mellores deseñadores de linguaxe. 605 00:26:06,960 --> 00:26:11,290 E así pode ler todo tipo de artigos en liña sobre o quão malo PHP é. 606 00:26:11,290 --> 00:26:13,660 E, por desgraza, este é unha manifestación, en parte, 607 00:26:13,660 --> 00:26:18,727 de só os debates relixiosos que irrompen entre os programadores. 608 00:26:18,727 --> 00:26:20,560 E iso é algo paga a pena ter en conta, 609 00:26:20,560 --> 00:26:24,410 desde unha perspectiva de negocio, que é moi doado para as persoas técnicas 610 00:26:24,410 --> 00:26:26,900 para estar excitado coa súa opinións sobre certas cousas. 611 00:26:26,900 --> 00:26:29,566 E iso non significa necesariamente que o único gritando o máis alto 612 00:26:29,566 --> 00:26:31,870 ou cos máis fortes, opinión angriest é correcto. 613 00:26:31,870 --> 00:26:34,100 Moitas veces, realmente só non importa. 614 00:26:34,100 --> 00:26:37,970 >> E así a xente está só discutindo o que quere seus propios prexuízos ou zonas de confort son. 615 00:26:37,970 --> 00:26:40,760 E por iso ten que manter isto presente ao facer 616 00:26:40,760 --> 00:26:42,622 unha decisión, que só porque alguén di 617 00:26:42,622 --> 00:26:45,080 Esta é a linguaxe correcta para o traballo, isto pode ser verdade, 618 00:26:45,080 --> 00:26:48,350 pero tamén só podería ser é a Idioma da dereita dentro da súa propia capacidade 619 00:26:48,350 --> 00:26:49,267 definir ou zona de confort. 620 00:26:49,267 --> 00:26:52,600 Que non é malo, pero ten que entender que pode haber algún contexto alí. 621 00:26:52,600 --> 00:26:54,440 Hai algúns obxectivamente declaracións erróneas, 622 00:26:54,440 --> 00:26:59,080 como C é o idioma incorrecto usar estes días para aplicar sitios 623 00:26:59,080 --> 00:27:00,520 case sempre. 624 00:27:00,520 --> 00:27:03,370 Pero non é razoable quere dicir que calquera destes 625 00:27:03,370 --> 00:27:05,700 están errados que temos circulou ata agora. 626 00:27:05,700 --> 00:27:08,180 >> PHP pasou por moitas versións. 627 00:27:08,180 --> 00:27:11,310 Entón linguas tenden a ter versión números que lles están asociados. 628 00:27:11,310 --> 00:27:15,390 PHP é ata, penso eu, a versión 7 agora, entón ten sido en torno de moito tempo. 629 00:27:15,390 --> 00:27:18,270 E como linguas máis recente, eles moitas veces obter novas características. 630 00:27:18,270 --> 00:27:22,510 Pero tes que estar atento a iso porque se o seu sitio foi 631 00:27:22,510 --> 00:27:27,539 aplicados na versión 7 de PHP, pero estás a realizar o seu sitio web, 632 00:27:27,539 --> 00:27:29,830 ou que teña terceirizado o desenvolvemento do seu código 633 00:27:29,830 --> 00:27:31,960 a outra persoa e enviá Lo para ti ou enviá-lo para ti 634 00:27:31,960 --> 00:27:33,960 e din, aquí, poñer esta no seu servidor web, 635 00:27:33,960 --> 00:27:36,610 se o seu servidor web é un pouco anos outdated-- se é 636 00:27:36,610 --> 00:27:39,465 seu propio servidor ou un host-- web pode non funcionar. 637 00:27:39,465 --> 00:27:41,340 Entón, eses son os tipos de cousas que alguén 638 00:27:41,340 --> 00:27:44,067 que estar atento a ao actualizar un sitio 639 00:27:44,067 --> 00:27:45,650 ou implementar lo por primeira vez. 640 00:27:45,650 --> 00:27:46,900 >> Oín JavaScript anteriormente. 641 00:27:46,900 --> 00:27:50,570 Entón JavaScript é un interesante unha na que adoita 642 00:27:50,570 --> 00:27:53,030 do lado do cliente, como veremos tras o descanso, que 643 00:27:53,030 --> 00:27:55,000 significa que se executa no navegador do usuario. 644 00:27:55,000 --> 00:27:58,400 Pero tamén pode realizar JavaScript nos días de hoxe 645 00:27:58,400 --> 00:28:03,450 usando algo chamado Node.js cando Node.js 646 00:28:03,450 --> 00:28:08,000 é un mecanismo para execución código JavaScript no lado do servidor, 647 00:28:08,000 --> 00:28:12,430 en vez de usar Python, ou PHP, ou outras linguas. 648 00:28:12,430 --> 00:28:17,820 >> JavaScript é particularmente ben axeitado para aplicacións de chat e en tempo real 649 00:28:17,820 --> 00:28:22,050 aplicacións, mentres PHP non é un gran Idioma para aplicar algo 650 00:28:22,050 --> 00:28:25,050 como un servidor de chat, onde os usuarios estar conectado a el constantemente. 651 00:28:25,050 --> 00:28:28,760 PHP é máis dunha visita me Unha vez máis, volver resultado, 652 00:28:28,760 --> 00:28:31,790 e prema en outro enlace algúns segundos ou minutos a partir de agora. 653 00:28:31,790 --> 00:28:36,020 Considerando Node.js e JavaScript pode ser usado máis para conexións persistentes. 654 00:28:36,020 --> 00:28:40,840 Outros idiomas que sospeita son comunmente usados ​​para cousas web? 655 00:28:40,840 --> 00:28:42,800 >> Audiencia: Será que jQuery ser un cadro? 656 00:28:42,800 --> 00:28:44,050 >> DAVID J. Malan: Boa pregunta. 657 00:28:44,050 --> 00:28:44,700 Ningún dos dous. 658 00:28:44,700 --> 00:28:51,210 Eu chamaría jQuery biblioteca, onde novo unha biblioteca é só unha morea de código 659 00:28:51,210 --> 00:28:53,250 que alguén ten escrito que xeralmente 660 00:28:53,250 --> 00:28:56,390 resolve algúns problemas que fai, esperanza, máis fácil 661 00:28:56,390 --> 00:28:57,760 para que poida facer o seu traballo. 662 00:28:57,760 --> 00:29:00,820 E deixe-me facer un exemplo de isto no contexto da tea. 663 00:29:00,820 --> 00:29:03,910 >> No contexto da web non hai esta linguaxe, JavaScript, 664 00:29:03,910 --> 00:29:06,690 que veremos máis adiante, no que podería dicir algo así como isto-- 665 00:29:06,690 --> 00:29:10,060 "Document.getElementById." 666 00:29:10,060 --> 00:29:11,490 E o que eu chamalo onte? 667 00:29:11,490 --> 00:29:16,800 En primeiro lugar, penso eu, foi a identificación única que eu dei a un elemento que mirou como este. 668 00:29:16,800 --> 00:29:23,110 "P id =" primeira ">" e despois tivemos como "Lorem Ipsum", etcétera. 669 00:29:23,110 --> 00:29:28,210 Entón, se eu estivese escribindo un programa en JavaScript para manipular dalgunha forma, 670 00:29:28,210 --> 00:29:30,830 cambiar as páxinas web que nos estaban a xogar con onte 671 00:29:30,830 --> 00:29:33,010 Desexa usar este liña resaltada de código 672 00:29:33,010 --> 00:29:38,700 para este tramo particular HTML da miña páxina, ese nó particular, 673 00:29:38,700 --> 00:29:39,680 como imos chamalo. 674 00:29:39,680 --> 00:29:44,540 >> Con todo, en jQuery, en vez de escribir tanto, que é materia code-- JavaScript 675 00:29:44,540 --> 00:29:48,870 só fóra da caixa, que é como escribir ele-- vostede, en vez, só dicir, 676 00:29:48,870 --> 00:29:50,260 "#Primeiro." 677 00:29:50,260 --> 00:29:52,330 Isto é equivalente. 678 00:29:52,330 --> 00:29:56,040 E así con base só nesta mesma exemplo arcano, o que quizais 679 00:29:56,040 --> 00:29:57,870 é o argumento para usar jQuery? 680 00:29:57,870 --> 00:30:01,390 681 00:30:01,390 --> 00:30:05,111 Por que un creador usar unha biblioteca como jQuery, con base neste exemplo illado, 682 00:30:05,111 --> 00:30:05,610 quizais? 683 00:30:05,610 --> 00:30:06,335 >> Audiencia: Menos código. 684 00:30:06,335 --> 00:30:06,780 >> DAVID J. Malan: Yeah. 685 00:30:06,780 --> 00:30:07,530 É menos código. 686 00:30:07,530 --> 00:30:09,070 É só máis rápido escribir. 687 00:30:09,070 --> 00:30:11,690 O contrapunto é que se parece máis asustado. 688 00:30:11,690 --> 00:30:13,540 Realmente non pode le-lo esquerda a dereita. 689 00:30:13,540 --> 00:30:16,730 De feito, xa que é na maior parte puntuación agora en vez de reais palabras, 690 00:30:16,730 --> 00:30:20,950 Podo tipo de inferir que "Document.getElementById" queda 691 00:30:20,950 --> 00:30:23,640 un elemento do documento polo seu ID. 692 00:30:23,640 --> 00:30:26,750 Realmente pode usar tal mnemônicos desta cousa aquí. 693 00:30:26,750 --> 00:30:27,680 >> Polo tanto, é un trade off. 694 00:30:27,680 --> 00:30:30,763 Hai unha sofisticación que vén frecuentemente co uso de bibliotecas, especialmente 695 00:30:30,763 --> 00:30:31,440 como jQuery. 696 00:30:31,440 --> 00:30:34,700 Pero a realidade é jQuery ten unha especie de ser un estándar de feito, 697 00:30:34,700 --> 00:30:38,110 de xeito que case calquera destes días que escribe código JavaScript 698 00:30:38,110 --> 00:30:41,520 usa jQuery ou algo como el, e non escribe máis 699 00:30:41,520 --> 00:30:45,200 a expresións como verboso isto porque unha vez máis, a humanidade 700 00:30:45,200 --> 00:30:47,850 aprendeu, uau, que foi tipo de unha oportunidade perdida 701 00:30:47,850 --> 00:30:49,030 para facer a nosa vida máis fácil. 702 00:30:49,030 --> 00:30:51,140 Así, os seres humanos facilitar as súas vidas. 703 00:30:51,140 --> 00:30:53,310 Boa pregunta. 704 00:30:53,310 --> 00:30:55,870 >> Outras linguas a considerar. 705 00:30:55,870 --> 00:30:58,660 Eu diría que entre esta lista Ruby é moi popular. 706 00:30:58,660 --> 00:31:01,310 E así no mundo da Ruby, hai un cadro 707 00:31:01,310 --> 00:31:03,590 chamados Rails, que é moi popular. 708 00:31:03,590 --> 00:31:06,880 Entón Ruby on Rails é un utilizada a expresión. 709 00:31:06,880 --> 00:31:10,330 Tamén neste mundo, déixeme círculo Java para o material web, 710 00:31:10,330 --> 00:31:14,160 onde no mundo de Java pode que JSP, ou Java 711 00:31:14,160 --> 00:31:18,450 Servlets, que é unha tecnoloxía común. 712 00:31:18,450 --> 00:31:22,560 E esta é só unha vez formas de utilización que a linguaxe nun ambiente de servidor. 713 00:31:22,560 --> 00:31:23,520 >> Entón o que significa isto? 714 00:31:23,520 --> 00:31:25,770 Se vostede ten un físico servidor, literalmente 715 00:31:25,770 --> 00:31:30,510 facer a descarga do software de servidor web e instala-lo de tal forma 716 00:31:30,510 --> 00:31:33,510 que ten soporte para unha das estas estruturas, co que 717 00:31:33,510 --> 00:31:37,260 podería, á súa vez, utilizar unha ou máis destas linguas. 718 00:31:37,260 --> 00:31:40,260 E, en realidade, se se rexistrar para como un servidor ou algunha da nube 719 00:31:40,260 --> 00:31:41,968 servizos falamos sobre onte, moitas veces 720 00:31:41,968 --> 00:31:44,885 as cousas só ven co configuración da máquina para ti. 721 00:31:44,885 --> 00:31:46,510 Non precisa configurar-lo manualmente. 722 00:31:46,510 --> 00:31:51,040 Pero se fixo, que é o lugar onde o papel do administrador do sistema, por así dicir, 723 00:31:51,040 --> 00:31:51,860 entra en xogo. 724 00:31:51,860 --> 00:31:54,151 El ou ela ía realmente facer este tipo de cousas para ti, 725 00:31:54,151 --> 00:31:58,510 ou o chamado webmaster veces quixo facelo por vostede. 726 00:31:58,510 --> 00:31:59,010 Todo ben. 727 00:31:59,010 --> 00:32:03,300 Calquera preguntas sobre algúns destes aquí? 728 00:32:03,300 --> 00:32:06,690 Ou calquera oportunidades no todo para preguntar sobre linguas? 729 00:32:06,690 --> 00:32:09,500 Frameworks? 730 00:32:09,500 --> 00:32:11,530 Entón deixe-me presentar só outra biblioteca 731 00:32:11,530 --> 00:32:13,150 que tamén é moi común nos días de hoxe. 732 00:32:13,150 --> 00:32:15,340 A lista podería continuar infinitamente. 733 00:32:15,340 --> 00:32:19,140 >> E esta biblioteca é unha especie de empezando a caer en desuso. 734 00:32:19,140 --> 00:32:19,850 Foi en torno. 735 00:32:19,850 --> 00:32:22,040 Foi popularizada por Twitter por algún tempo. 736 00:32:22,040 --> 00:32:24,470 E agora moitos sitios, moitos desenvolvedores usalo. 737 00:32:24,470 --> 00:32:26,629 Pero as cousas novas están chegando fóra e ben benvida. 738 00:32:26,629 --> 00:32:29,420 Pero déixeme darlle un sentido que significa usar unha biblioteca. 739 00:32:29,420 --> 00:32:32,250 Entón, de novo, JavaScript unha linguaxe moi popular. 740 00:32:32,250 --> 00:32:35,340 CSS, ou CSS, falamos de onte. 741 00:32:35,340 --> 00:32:36,600 Isto, tamén, é omnipresente. 742 00:32:36,600 --> 00:32:40,130 Ninguén fai unha páxina web hoxe sen o uso de HTML e CSS minimamente. 743 00:32:40,130 --> 00:32:42,510 Pero non sempre é doado de facer certas cousas. 744 00:32:42,510 --> 00:32:46,281 >> E entón déixeme ir getbootstrap.com. 745 00:32:46,281 --> 00:32:46,780 Whoops. 746 00:32:46,780 --> 00:32:48,280 Isto non é así que deletrear. 747 00:32:48,280 --> 00:32:52,410 Getbootstrap.com, que me vai levar 748 00:32:52,410 --> 00:32:56,140 á páxina de destino para esta biblioteca. 749 00:32:56,140 --> 00:32:59,720 Entón, eles xenerosamente chamo -Se un cadro, que 750 00:32:59,720 --> 00:33:02,032 é unha especie de especie de feira, pero eu chamaría tanto 751 00:33:02,032 --> 00:33:03,490 máis dunha biblioteca dun cadro. 752 00:33:03,490 --> 00:33:05,760 Pero estes son só semántica discutibles. 753 00:33:05,760 --> 00:33:12,360 Deixe-me ir ao seu guía CSS e déixeme ir algo así. 754 00:33:12,360 --> 00:33:15,450 >> Entón recordar o que as nosas formas mirou como onte en Cloud9? 755 00:33:15,450 --> 00:33:16,370 Foi moi feo. 756 00:33:16,370 --> 00:33:17,320 botóns da vella escola. 757 00:33:17,320 --> 00:33:20,420 Eu creo que o botón foi gris por estándar. E todo foi realmente 758 00:33:20,420 --> 00:33:22,420 formato moi messily. 759 00:33:22,420 --> 00:33:26,940 Entón, se quere que os seus formularios web para ollar algo nicer-- déixeme facer zoom aquí. 760 00:33:26,940 --> 00:33:30,050 >> E por máis agradable que realmente só significa estética moi detallista. 761 00:33:30,050 --> 00:33:35,390 Entón, teña en conta como a caixa de correo non A redondeado cantos rectangulares para el. 762 00:33:35,390 --> 00:33:37,010 Polo tanto, é un pouco máis limpo alí. 763 00:33:37,010 --> 00:33:40,770 Teña en conta que a palabra e-mail é alí ata que eu comece a escribir 764 00:33:40,770 --> 00:33:41,797 e, a continuación, el vai. 765 00:33:41,797 --> 00:33:43,130 Entón, iso é un pouco de bo recurso. 766 00:33:43,130 --> 00:33:46,046 Observe como a cousa é unha especie de brillo moi ben, que algunhas destas vostede 767 00:33:46,046 --> 00:33:49,069 obter gratuitamente desde o seu navegador, pero algúns iso é tamén bibliotecas, 768 00:33:49,069 --> 00:33:51,360 código que outras persoas teñen escrito que lle dar iso. 769 00:33:51,360 --> 00:33:53,480 >> Algo coma isto dáme o meu contrasinal. 770 00:33:53,480 --> 00:33:58,480 Este botón é un pouco máis sexy do que a estándar. Moi en voga no momento. 771 00:33:58,480 --> 00:34:03,570 Desde iOS 7 ou así, o mundo quedou moi plana, 772 00:34:03,570 --> 00:34:09,000 Tendo en conta que o mundo antes tiña moitas sombras, lotes 773 00:34:09,000 --> 00:34:11,040 de reflexións sobre as iconas. 774 00:34:11,040 --> 00:34:14,170 Moi parecido no mundo do vestiario, hai tendencias da moda que veñen e van. 775 00:34:14,170 --> 00:34:16,190 Agora todo é liso no seu teléfono. 776 00:34:16,190 --> 00:34:19,159 >> De feito, botóns no seu iPhone agora só enlaces azuis. 777 00:34:19,159 --> 00:34:21,000 Non hai, moitas veces incluso botóns circulares. 778 00:34:21,000 --> 00:34:22,791 Polo tanto, estas son só cousas que entran e saen 779 00:34:22,791 --> 00:34:26,659 de moda, e por iso esta é a forma como pode facer un formulario web ollar máis moderno. 780 00:34:26,659 --> 00:34:27,159 Botóns. 781 00:34:27,159 --> 00:34:29,190 Entón Bootstrap ten moitos belos botóns. 782 00:34:29,190 --> 00:34:33,639 Entón se queres azuis botóns, botóns verde, azul, laranxa, vermello. 783 00:34:33,639 --> 00:34:35,840 Bootstrap fai máis doado para facer isto. 784 00:34:35,840 --> 00:34:38,131 Estes son os tipos de cousas que podería absolutamente 785 00:34:38,131 --> 00:34:41,840 ter feito onte con CSS e con HTML, pero é só unha dor no pescozo. 786 00:34:41,840 --> 00:34:44,840 E así en vez diso, o que faría Bootstrap ten que facer é algo así. 787 00:34:44,840 --> 00:34:48,960 >> Se queres unha button-- Acontece que este é unha etiqueta HTML, non utilizar yesterday-- 788 00:34:48,960 --> 00:34:53,070 e queres que busque como este botón verde, 789 00:34:53,070 --> 00:34:57,380 vostede literalmente só darlle unha clase, que fixemos falar onte 790 00:34:57,380 --> 00:34:59,710 de "BTN BTN-éxito". 791 00:34:59,710 --> 00:35:00,971 >> Por esas palabras? 792 00:35:00,971 --> 00:35:03,470 Twitter, os autores do Bootstrap, veu con esas palabras. 793 00:35:03,470 --> 00:35:05,428 Poderían chamado -lhes calquera cousa que eles queren. 794 00:35:05,428 --> 00:35:08,480 Pero o que está a recibir é agora alguén en Twitter, neste caso, 795 00:35:08,480 --> 00:35:12,360 descubriu como é que faga unha botón fermoso e limpo e verde. 796 00:35:12,360 --> 00:35:15,580 Eles embalados en que a función nunha clase CSS, chamado "BTN" 797 00:35:15,580 --> 00:35:19,790 e "BTN-éxito", de xeito que calquera de nós pode agora usalo sen sequera pensar 798 00:35:19,790 --> 00:35:20,290 Lo. 799 00:35:20,290 --> 00:35:22,880 Entón, eles teñen abstraída a noción dun botón verde 800 00:35:22,880 --> 00:35:25,320 polo que non se preocupe con implementar lo nós mesmos. 801 00:35:25,320 --> 00:35:28,520 Podemos realmente concentrarse na implantación cousas de interese para nós. 802 00:35:28,520 --> 00:35:30,902 >> Se rolar para abaixo aquí. 803 00:35:30,902 --> 00:35:32,110 Mensaxes de erro na pantalla. 804 00:35:32,110 --> 00:35:35,440 Ás veces quere unha pequena mensaxe aparecendo na parte superior do seu navegador. 805 00:35:35,440 --> 00:35:39,729 Calquera de nós podería facelo con algún esforzo, tras a lección de onte, 806 00:35:39,729 --> 00:35:40,770 pero por que ía se preocupar? 807 00:35:40,770 --> 00:35:42,540 Aquel é tal desinteressante detalle estético. 808 00:35:42,540 --> 00:35:44,248 Imos estar na ombreiros de Bootstrap 809 00:35:44,248 --> 00:35:49,440 e deixalos darnos cousas como esta, onde nós literalmente, para obter unha caixa vermella, 810 00:35:49,440 --> 00:35:53,220 Só ten que facer un parágrafo tag cunha clase de-- pena. 811 00:35:53,220 --> 00:35:57,307 "Bg-perigo" nos daría esta caixa vermella no seu lugar. 812 00:35:57,307 --> 00:35:59,140 Agora imos ao as cousas máis interesantes. 813 00:35:59,140 --> 00:36:02,950 Se eu volver a arriba esta páxina e ir Compoñentes, 814 00:36:02,950 --> 00:36:05,380 agora o mundo está máis interesante. 815 00:36:05,380 --> 00:36:08,826 Por exemplo, moi común é menús suspendidos como este. 816 00:36:08,826 --> 00:36:11,560 Este sería un absoluto dor de aplicar. 817 00:36:11,560 --> 00:36:13,610 E non foi por moito tempo atrás que programadores 818 00:36:13,610 --> 00:36:16,490 tería que aplicar estes tipos de menús a partir de cero. 819 00:36:16,490 --> 00:36:20,800 >> Pero é un paradigma tan común que as bibliotecas como Bootstrap 820 00:36:20,800 --> 00:36:25,230 só darlle a posibilidade de facer unha no menú desplegable lonxe, moito máis facilmente. 821 00:36:25,230 --> 00:36:27,850 Non hai unha forma de facelo, pero se eu ler a documentación 822 00:36:27,850 --> 00:36:32,100 Gustaríame ver iso, OK, eu teño que usar este HTML, se eu queira un menú suspendido 823 00:36:32,100 --> 00:36:34,030 que se comporta así. 824 00:36:34,030 --> 00:36:36,690 >> Do mesmo xeito, imos ao botón desplegable. 825 00:36:36,690 --> 00:36:38,470 Entón, iso é aínda máis extravagante. 826 00:36:38,470 --> 00:36:41,800 Se quero iso para parecerse a un botón pero ese pequeno triángulo significa 827 00:36:41,800 --> 00:36:44,080 I debe premer nel e obter este menú, este 828 00:36:44,080 --> 00:36:45,760 é usar unha linguaxe chamada JavaScript. 829 00:36:45,760 --> 00:36:47,470 E todos nós poderíamos aplicar isto JavaScript. 830 00:36:47,470 --> 00:36:49,720 Pero, de novo, iso é unha roda non quere reinventar. 831 00:36:49,720 --> 00:36:52,700 Só quere tiralo a biblioteca de andel para este. 832 00:36:52,700 --> 00:36:58,145 >> Imos a algo como barras de progreso. 833 00:36:58,145 --> 00:36:59,770 Entón, algo como isto é legal. 834 00:36:59,770 --> 00:37:02,910 Se xa viu un progreso bar movendo na pantalla, 835 00:37:02,910 --> 00:37:06,380 implantación que moitas veces é só unha icona de spinning. 836 00:37:06,380 --> 00:37:10,200 De feito, só como un aparte, deixe me ir Ajax-- o que é? 837 00:37:10,200 --> 00:37:10,710 Información Ajax? 838 00:37:10,710 --> 00:37:11,720 Whoops. 839 00:37:11,720 --> 00:37:13,035 Ajaxinfo. 840 00:37:13,035 --> 00:37:14,800 Déixeme lembrar a dirección. 841 00:37:14,800 --> 00:37:15,820 Alí imos nós. 842 00:37:15,820 --> 00:37:19,850 >> Entón, se xa viu algunha animación mentres que a páxina está cargando, ou pensar, 843 00:37:19,850 --> 00:37:25,410 ou aproveitamento, ou a creación de algo, Pode ver estas animacións como estes. 844 00:37:25,410 --> 00:37:28,800 Entón, imos ollar para algo como este aquí, 845 00:37:28,800 --> 00:37:33,550 e imos escoller unha cor de primeiro plano verde, que se sente tipo de agradable. 846 00:37:33,550 --> 00:37:34,545 Podo facer clic isto? 847 00:37:34,545 --> 00:37:35,500 Ven un. 848 00:37:35,500 --> 00:37:36,000 OK. 849 00:37:36,000 --> 00:37:38,930 Nós imos só ir con vermello porque iso é o que está a recibir. 850 00:37:38,930 --> 00:37:40,250 Entón, aquí temos. 851 00:37:40,250 --> 00:37:43,940 >> Entón, se xa viu iso nunha pantalla, en que de súpeto aparece e, a continuación, 852 00:37:43,940 --> 00:37:47,550 desaparece de súpeto, o que é que está aplicando iso? 853 00:37:47,550 --> 00:37:48,970 Ben, este é só un GIF. 854 00:37:48,970 --> 00:37:52,850 G-I-F. E esta é unha animación arquivo, o que significa só 855 00:37:52,850 --> 00:37:54,327 é como un cómic da vella escola. 856 00:37:54,327 --> 00:37:57,160 Hai só unha morea de diferentes cadros que van [gagueira] 857 00:37:57,160 --> 00:37:58,085 e só repetindo. 858 00:37:58,085 --> 00:38:00,090 E iso está creando o ilusión de movemento. 859 00:38:00,090 --> 00:38:03,070 >> Así, logo que unha páxina é feito cargar ou facer algo, 860 00:38:03,070 --> 00:38:04,610 o que un programador faría? 861 00:38:04,610 --> 00:38:07,500 Ben, el ou ela simplemente esconde esta imaxe. 862 00:38:07,500 --> 00:38:11,536 Entón todo unha barra de progreso é é tipo de gustar dunha película que está a asistir. 863 00:38:11,536 --> 00:38:14,660 Es tipo de alleo ao feito que non está realmente facendo algo, 864 00:38:14,660 --> 00:38:15,940 é só moverse. 865 00:38:15,940 --> 00:38:19,150 >> E entón, cando se fai progresando, eles só esconde-lo ou desactiva-lo. 866 00:38:19,150 --> 00:38:21,115 E iso é toda a maxia que está a suceder alí. 867 00:38:21,115 --> 00:38:22,770 Bootstrap dálle algo un pouco máis sofisticado, 868 00:38:22,770 --> 00:38:25,030 a través do cal pode realmente ver unha porcentaxe en que, 869 00:38:25,030 --> 00:38:27,840 pero iso tamén é só unha especie dunha animación simple. 870 00:38:27,840 --> 00:38:32,250 >> Vexamos algúns finais máis exemplos complexos aquí. 871 00:38:32,250 --> 00:38:35,526 Algo así como un modal. 872 00:38:35,526 --> 00:38:36,900 Alguén sabe o que é un modal é? 873 00:38:36,900 --> 00:38:39,880 874 00:38:39,880 --> 00:38:42,550 Unha fiestra modalidade adoita un que se quere 875 00:38:42,550 --> 00:38:46,880 para asumir o control dos novos coñecementos e impedilo de facer calquera outra cousa. 876 00:38:46,880 --> 00:38:50,290 É unha especie de forza o usuario do a atención sobre o centro da pantalla, 877 00:38:50,290 --> 00:38:52,290 prendelo los para fóra, normalmente, de todo o resto. 878 00:38:52,290 --> 00:38:55,830 >> Entón, se eu publicar esta demo, o pantalla xeralmente fan a cinza. 879 00:38:55,830 --> 00:38:57,060 Ben, como podemos facelo gris? 880 00:38:57,060 --> 00:38:59,080 Ben, nós probablemente só cambiou a cor de fondo 881 00:38:59,080 --> 00:39:01,060 como fixemos onte ou algo así. 882 00:39:01,060 --> 00:39:03,490 Quizais sexa unha superposición que semitransparente. 883 00:39:03,490 --> 00:39:06,320 E agora entende que podes facer cousas extravagantes como este. 884 00:39:06,320 --> 00:39:09,930 Entón, se fai clic no botón e quere un pouco de pop fóra a aparecer, 885 00:39:09,930 --> 00:39:10,710 pode facelo. 886 00:39:10,710 --> 00:39:12,340 E así que se preocupa tudo-- si? 887 00:39:12,340 --> 00:39:15,791 >> Audiencia: Así, con Bootstrap, para obtelo incorporado, 888 00:39:15,791 --> 00:39:21,002 é tan sinxelo que como onte fixemos a páxina de estilos CSS? 889 00:39:21,002 --> 00:39:21,960 DAVID J. Malan: Realmente. 890 00:39:21,960 --> 00:39:22,835 Pregunta moi boa. 891 00:39:22,835 --> 00:39:24,480 Déixeme ir á Introdución. 892 00:39:24,480 --> 00:39:26,090 E si. 893 00:39:26,090 --> 00:39:30,920 Todo o que tes que facer, a fin de uso Bootstrap é esencialmente copiar 894 00:39:30,920 --> 00:39:35,910 e pegar estes tres longas colas de código na parte superior do seu propio página-- web 895 00:39:35,910 --> 00:39:38,892 a cabeza do seu página-- e está instalado e funcionando. 896 00:39:38,892 --> 00:39:41,850 E hai diferentes formas de facer el, pero iso sería máis sinxelo. 897 00:39:41,850 --> 00:39:45,190 >> Entón, o que é útil sobre todo isto? 898 00:39:45,190 --> 00:39:47,524 Ben, se non é moi o implementador dun sitio web 899 00:39:47,524 --> 00:39:50,106 pero estás proxecto-lo, ou quere achegar alguén 900 00:39:50,106 --> 00:39:53,220 con diagramas de arame, por así dicir, ou interpretacións só do artista do que 901 00:39:53,220 --> 00:39:56,080 quere facer, eu, a este día, moitas veces vai a un sitio web 902 00:39:56,080 --> 00:39:58,660 como Bootstrap, onde se eu quere aplicar algo-- 903 00:39:58,660 --> 00:40:02,290 como recentemente no campus queriamos aplicar 904 00:40:02,290 --> 00:40:06,170 unha ferramenta baseada na web para navegar catálogo de cursos da Universidade de Harvard, 905 00:40:06,170 --> 00:40:08,770 facendo máis doado para os estudantes para navegar a través de cursos 906 00:40:08,770 --> 00:40:10,930 e engade cursos para lista da compra, por así dicir, 907 00:40:10,930 --> 00:40:13,070 a especie de decidir que querían tomar. 908 00:40:13,070 --> 00:40:16,252 >> Eu estaba tentando imaxinar para min, o que faría ingredientes 909 00:40:16,252 --> 00:40:17,460 queremos usar para construír este? 910 00:40:17,460 --> 00:40:19,050 Que a interface de usuario pode como? 911 00:40:19,050 --> 00:40:22,800 E só mirando a través dun sitio web como o este ou outros sitios de biblioteca, 912 00:40:22,800 --> 00:40:26,560 pode gañar inspiración porque wow, Podo usar este widget, e este widget, 913 00:40:26,560 --> 00:40:27,330 e este widget. 914 00:40:27,330 --> 00:40:29,080 E entón realmente o que o programador empeza 915 00:40:29,080 --> 00:40:32,800 para facer, especialmente nestes días neste máis moderno mundo da programación web, 916 00:40:32,800 --> 00:40:35,827 é a programación está cada vez máis sobre a fiação cousas xuntos. 917 00:40:35,827 --> 00:40:38,910 Especie de tomar este fóra da andel, esta fóra da andel, este fora da andel, 918 00:40:38,910 --> 00:40:41,954 e ser o intelixente para conectar todos eses puntos, 919 00:40:41,954 --> 00:40:45,120 pero, finalmente, construír algo novo de pé sobre os ombreiros doutros, 920 00:40:45,120 --> 00:40:49,370 para que non pasar un mes implantación dunha caída estúpida de menú para abaixo, 921 00:40:49,370 --> 00:40:52,080 que é realmente difícil de facer se queres que para traballar en Chrome, 922 00:40:52,080 --> 00:40:55,220 e IE e Firefox, e calquera número de outros navegadores. 923 00:40:55,220 --> 00:40:59,060 É por iso que hai esa rica software de fonte comercial e aberta 924 00:40:59,060 --> 00:41:01,220 industria tamén. 925 00:41:01,220 --> 00:41:06,810 >> Audiencia: Entón non Bootstrap estar actualizado e ten que, a continuación, actualizar os seus enlaces? 926 00:41:06,810 --> 00:41:07,820 >> DAVID J. Malan: fai. 927 00:41:07,820 --> 00:41:09,090 Ben, si, fai. 928 00:41:09,090 --> 00:41:12,540 Bootstrap está actualmente na versión 3.3.6. 929 00:41:12,540 --> 00:41:16,720 E normalmente o que fazer-- este é realmente paga a pena mencionar. 930 00:41:16,720 --> 00:41:19,200 Non é o que adoita coñecido como un control de versións semántica 931 00:41:19,200 --> 00:41:20,160 sistema en todo o mundo. 932 00:41:20,160 --> 00:41:21,320 Non todo o mundo fai iso. 933 00:41:21,320 --> 00:41:26,410 >> Pero se xa viu os números de versión que son de forma x.y.z-- 934 00:41:26,410 --> 00:41:30,240 Así, por exemplo, a primeira versión dun programa pode ser 1.0.0. 935 00:41:30,240 --> 00:41:34,970 Ou se é moi, moi beta, ou mesmo estado de alfa, o que significa que o uso 936 00:41:34,970 --> 00:41:37,620 pola súa conta e risco, non é realmente preparado para o horario nobre, 937 00:41:37,620 --> 00:41:42,080 pode ata comezar 0.0.1 ou algún tal designación. 938 00:41:42,080 --> 00:41:47,260 Pero se o software comeza en versión 1.0, 1.0.0 ou equivalentemente, 939 00:41:47,260 --> 00:41:50,530 Normalmente, o que é común estes dias-- aínda non é omnipresent-- 940 00:41:50,530 --> 00:41:53,520 se unha empresa é un correccións programador individuais 941 00:41:53,520 --> 00:41:56,140 algún erro nalgunha peza de software que realmente 942 00:41:56,140 --> 00:42:01,620 Foi un erro, cuxa corrección non debe impacto que a todos-- non cambia 943 00:42:01,620 --> 00:42:03,940 o comportamento do programa, el só corrixe algo 944 00:42:03,940 --> 00:42:06,580 que non estaba funcionando properly-- faría normalmente 945 00:42:06,580 --> 00:42:08,890 actualizar o valor z alí. 946 00:42:08,890 --> 00:42:12,900 O que significa que alguén como Kareem podería simplemente entrar no seu sitio web, 947 00:42:12,900 --> 00:42:19,470 cegamente cambiar o número de versión partir da versión 1.0.0 para 1.0.1, salvalo, envialo, 948 00:42:19,470 --> 00:42:21,880 e, en teoría, non teñen que preocúpanse que el está só roto 949 00:42:21,880 --> 00:42:24,430 seu sitio por mor certa falta de funcionalidade, 950 00:42:24,430 --> 00:42:25,870 porque algo rompe. 951 00:42:25,870 --> 00:42:28,740 >> Mentres tanto, si o programador ou algunha empresa 952 00:42:28,740 --> 00:42:35,500 estaban a facer un significativo cambio que engade funcionalidades, 953 00:42:35,500 --> 00:42:40,320 Eu podería actualizar 1.1.0 porque son realmente 954 00:42:40,320 --> 00:42:42,200 cambiar o comportamento da biblioteca. 955 00:42:42,200 --> 00:42:44,470 Estou dándolle quizais máis funcionalidade. 956 00:42:44,470 --> 00:42:48,490 Finalmente, se eu fose, en realidade, cambiar fundamentalmente o software para 957 00:42:48,490 --> 00:42:54,380 tanto que vai romper moitos sitios de usuarios ou aplicacións, 958 00:42:54,380 --> 00:42:59,550 entón eu son grazas, neste modelo, a actualizar o número de versión principal tamén, 959 00:42:59,550 --> 00:43:01,059 que é un cambio de rotura. 960 00:43:01,059 --> 00:43:03,725 Noutras palabras, eu podería ter deixou de prestar apoio a aqueles caída 961 00:43:03,725 --> 00:43:04,350 down menu. 962 00:43:04,350 --> 00:43:07,790 Entón, se actualizar a 2.0, a metade seu sitio pode deixar de funcionar. 963 00:43:07,790 --> 00:43:10,950 E esta é unha especie de sinal para a comunidade, como o que é 964 00:43:10,950 --> 00:43:13,223 envolto facer unha actualización. 965 00:43:13,223 --> 00:43:16,710 966 00:43:16,710 --> 00:43:18,020 Unha boa oportunidade para levantar. 967 00:43:18,020 --> 00:43:18,718 Outras preguntas? 968 00:43:18,718 --> 00:43:21,761 969 00:43:21,761 --> 00:43:22,260 Todo ben. 970 00:43:22,260 --> 00:43:26,945 Ben, imos dar un ollo a unha final, tema neste segmento da programación 971 00:43:26,945 --> 00:43:30,640 de pilas de tecnoloxía, nomeadamente relacionadas co móbil. 972 00:43:30,640 --> 00:43:36,232 >> Así, no mundo de teléfonos móbiles hoxe vostede have-- e iPads, e superficies, 973 00:43:36,232 --> 00:43:37,940 e todo tipo de devices-- ten 974 00:43:37,940 --> 00:43:40,950 unha morea de opcións cando trátase de aplicar 975 00:43:40,950 --> 00:43:47,270 unha aplicación ou un sitio para dispositivos móbiles do seu cliente. 976 00:43:47,270 --> 00:43:51,570 Entón, só para indicar o evidente, quizais nos días de hoxe, 977 00:43:51,570 --> 00:43:54,960 cales son as plataformas para desenvolver no espazo móbil? 978 00:43:54,960 --> 00:43:59,650 Que dispositivos podes querer apoiar coa súa aplicación ou sitio web? 979 00:43:59,650 --> 00:44:00,317 >> Audiencia: Apple. 980 00:44:00,317 --> 00:44:01,108 DAVID J. Malan: OK. 981 00:44:01,108 --> 00:44:01,820 Así, os dispositivos de Apple. 982 00:44:01,820 --> 00:44:06,740 Entón isto significa que o iPhone, e que significa iPad, e quizais mesmo iPod. 983 00:44:06,740 --> 00:44:07,627 Que máis? 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 >> Audiencia: Android. 987 00:44:11,970 --> 00:44:13,111 >> DAVID J. Malan: Android. 988 00:44:13,111 --> 00:44:13,610 OK. 989 00:44:13,610 --> 00:44:17,335 teléfonos para Android, Android comprimidos, o mercado Android 990 00:44:17,335 --> 00:44:21,240 é aínda máis confuso porque-- e incluso Apple está facendo confuso. 991 00:44:21,240 --> 00:44:23,960 Considerando Once Upon a Time iPhone era un determinado tamaño, 992 00:44:23,960 --> 00:44:26,560 e iPad era un determinado tamaño, e iPod foi un certo tamaño, agora 993 00:44:26,560 --> 00:44:33,420 temos Minis do iPad, eo fina queridos, e iPhone 6 Plus e 6. 994 00:44:33,420 --> 00:44:34,407 Está facendo unha desorde. 995 00:44:34,407 --> 00:44:35,740 Está facendo o mundo Android. 996 00:44:35,740 --> 00:44:39,030 >> E digo isto con tipo de rolamento os ollos, porque a partir dun creador 997 00:44:39,030 --> 00:44:41,680 perspectiva, é un dor no pescozo cando 998 00:44:41,680 --> 00:44:45,686 Non ten Steve Jobs ' visión de control absoluto 999 00:44:45,686 --> 00:44:47,060 sobre todas estas especificacións. 1000 00:44:47,060 --> 00:44:49,726 Apple aínda fai porque son os construíndo o hardware. 1001 00:44:49,726 --> 00:44:52,690 Pero é bo, se Eu son un programador de software, 1002 00:44:52,690 --> 00:44:54,520 só sei que o meu iPhone é sempre vai 1003 00:44:54,520 --> 00:44:56,850 para ser tan grande, porque isto significa que sempre saber 1004 00:44:56,850 --> 00:44:58,847 como espazo na pantalla que eu teño. 1005 00:44:58,847 --> 00:45:01,180 Entón, se eu queira poñer unha icona na esquina superior esquerda, 1006 00:45:01,180 --> 00:45:04,530 vai estar na mesma exacta poñer no dispositivo de cada cliente. 1007 00:45:04,530 --> 00:45:07,140 >> Pero no mundo do iPhone 6s e iPhone 6 Pluses 1008 00:45:07,140 --> 00:45:10,570 e no mundo de Android teléfonos, é todo sobre o mapa. 1009 00:45:10,570 --> 00:45:13,580 E así pasa a ser máis difícil de programa cousas, especialmente interfaces de usuario, 1010 00:45:13,580 --> 00:45:18,270 porque agora ten que comezar a organizar súas interfaces de usuario relativamente, non 1011 00:45:18,270 --> 00:45:19,730 absolutamente. 1012 00:45:19,730 --> 00:45:23,524 E o mesmo foi feito en navegadores, e escritorios e portátiles para os anos 1013 00:45:23,524 --> 00:45:25,690 porque, claro, teñen diferentes tamaños de pantalla. 1014 00:45:25,690 --> 00:45:26,189 >> Que máis? 1015 00:45:26,189 --> 00:45:30,170 Pode ter superficies, como de Microsoft. 1016 00:45:30,170 --> 00:45:31,270 Pode have-- 1017 00:45:31,270 --> 00:45:32,270 Audiencia: Windows Phone. 1018 00:45:32,270 --> 00:45:32,816 DAVID J. Malan: ¿Que é iso? 1019 00:45:32,816 --> 00:45:33,570 Audiencia: Windows Phone. 1020 00:45:33,570 --> 00:45:34,403 DAVID J. Malan: Si. 1021 00:45:34,403 --> 00:45:37,570 Así, os teléfonos con Windows aínda se pode atopar. 1022 00:45:37,570 --> 00:45:41,840 Tipo de tipo de BlackBerrys, pero eles seguen intentando. 1023 00:45:41,840 --> 00:45:43,900 E entón acios de outros dispositivos. 1024 00:45:43,900 --> 00:45:48,020 Así, para a maior parte, imos dicir que estes son os únicos 1025 00:45:48,020 --> 00:45:49,520 preocuparse no momento. 1026 00:45:49,520 --> 00:45:51,890 Certamente as cousas de Apple, certamente o material Android, 1027 00:45:51,890 --> 00:45:55,640 e entre Windows, como comprimidos de superficie parecen estar en recuperación moi ben. 1028 00:45:55,640 --> 00:45:58,030 >> E así entre os dispositivos, se quere rolar para fóra, 1029 00:45:58,030 --> 00:46:02,677 digamos, unha presenza móbil para a súa empresa, que tipo de decisións de deseño 1030 00:46:02,677 --> 00:46:03,510 ten que facer? 1031 00:46:03,510 --> 00:46:06,350 Ben, xa dixen no mundo de Apple, 1032 00:46:06,350 --> 00:46:08,790 hai polo menos dúas linguas que adoitan ser utilizados. 1033 00:46:08,790 --> 00:46:10,260 Un deles foi chamado de que? 1034 00:46:10,260 --> 00:46:11,260 >> Audiencia: Objective-C. 1035 00:46:11,260 --> 00:46:11,560 >> DAVID J. Malan: Yeah. 1036 00:46:11,560 --> 00:46:13,600 Entón, Objective-C, que é a máis antiga. 1037 00:46:13,600 --> 00:46:17,720 É tamén a lingua que moitos Mac aplicacións aínda están escritos en. 1038 00:46:17,720 --> 00:46:18,964 A continuación, o outro máis novo era? 1039 00:46:18,964 --> 00:46:19,630 Audiencia: Swift. 1040 00:46:19,630 --> 00:46:20,590 DAVID J. Malan: Swift. 1041 00:46:20,590 --> 00:46:23,900 E estes son o tipo de dous para saber para impresionar a xente. 1042 00:46:23,900 --> 00:46:28,238 A continuación, no mundo Android, que lingua Android usar? 1043 00:46:28,238 --> 00:46:30,618 >> Audiencia: C #? 1044 00:46:30,618 --> 00:46:31,570 >> Audiencia: Java. 1045 00:46:31,570 --> 00:46:34,230 >> DAVID J. Malan: Java é a linguaxe do "du jour". 1046 00:46:34,230 --> 00:46:37,950 No mundo Windows, con certeza, diremos C # nese caso. 1047 00:46:37,950 --> 00:46:40,590 Así, xa que é o tipo de irritante, porque o que é 1048 00:46:40,590 --> 00:46:43,070 o take-away para unha empresa propietario ou alguén que 1049 00:46:43,070 --> 00:46:44,570 tanto para a implantación dunha presenza móbil? 1050 00:46:44,570 --> 00:46:45,220 Como, caramba? 1051 00:46:45,220 --> 00:46:48,590 Como, se eu queira apoiar un moi ampla base de usuarios, 1052 00:46:48,590 --> 00:46:52,180 Teño que escribir, ao parecer, tres aplicacións separadas. 1053 00:46:52,180 --> 00:46:55,630 Un en cada unha destas linguas, un en Java, un en C #. 1054 00:46:55,630 --> 00:46:59,620 E aínda que eu quero a función ser idénticos, non importa. 1055 00:46:59,620 --> 00:47:02,940 Eu aínda teño que empregar diferentes linguas porque Apple e Microsoft, 1056 00:47:02,940 --> 00:47:06,084 e Google todo o apoio diferentes ambientes. 1057 00:47:06,084 --> 00:47:07,750 E iso foi todo un reto para os anos. 1058 00:47:07,750 --> 00:47:10,100 De volta ao día, cando a xente usadas para mercar software 1059 00:47:10,100 --> 00:47:12,230 nunha tenda de ordenador en encoller caixas trapalladas 1060 00:47:12,230 --> 00:47:14,470 que tería que alcanzar a andel Mac, 1061 00:47:14,470 --> 00:47:19,040 ou for-- quizais este moi pequeno Mac shelf-- ou andel maior Windows 1062 00:47:19,040 --> 00:47:19,980 e mercar algúns programas. 1063 00:47:19,980 --> 00:47:22,813 E moitas veces, non había nin algo para ti no andel Mac. 1064 00:47:22,813 --> 00:47:23,430 Por que? 1065 00:47:23,430 --> 00:47:26,900 Así, as empresas decidiron o 90% do mundo, o 95% da poboación mundial 1066 00:47:26,900 --> 00:47:31,180 ten PCs, por que se preocupar mesmo aplicar cousas en Mac OS? 1067 00:47:31,180 --> 00:47:34,370 >> Como un total aside-- digression-- por que é 1068 00:47:34,370 --> 00:47:40,960 Mac que parece tan impermeable aos virus, e gusanos e ameazas de seguridade? 1069 00:47:40,960 --> 00:47:44,040 Apple é mellor con iso? 1070 00:47:44,040 --> 00:47:45,934 Mellor en manter os ordenadores seguros? 1071 00:47:45,934 --> 00:47:47,750 >> Audiencia: audiencia menor? 1072 00:47:47,750 --> 00:47:50,720 >> DAVID J. Malan: Isto é Probablemente o máis grande de bits a el. 1073 00:47:50,720 --> 00:47:54,740 Así, os moitos usuarios de Mac teñen reivindicado por moito tempo, oh, usar un Mac, 1074 00:47:54,740 --> 00:47:57,630 estará inmune a virus, e gusanos e todas esas cousas 1075 00:47:57,630 --> 00:47:59,180 que hai moito atormentado PCs. 1076 00:47:59,180 --> 00:48:02,050 Isto pódese deber a que Apple ten mellores programadores 1077 00:48:02,050 --> 00:48:05,250 e escribir mellor software, ou o sistema operativo foi mellor deseñado. 1078 00:48:05,250 --> 00:48:06,870 Quizais, pero probablemente non. 1079 00:48:06,870 --> 00:48:10,840 >> Probablemente é que cando está un 12-year-old, ou 30 algo 1080 00:48:10,840 --> 00:48:13,510 tipo de sentado na casa escribindo software malicioso para asumir 1081 00:48:13,510 --> 00:48:17,480 o mundo, está indo a ir atrás o público-obxectivo moito máis grande. 1082 00:48:17,480 --> 00:48:20,590 O 95% do mundo que pode estar executando Windows ou algún 1083 00:48:20,590 --> 00:48:21,740 as súas variantes. 1084 00:48:21,740 --> 00:48:23,800 Polo tanto, hai un pouco de ambos os dous lados. 1085 00:48:23,800 --> 00:48:25,710 Pero, para o seu crédito, Apple, que eu saiba, 1086 00:48:25,710 --> 00:48:28,270 Non ten realmente elogiado a como máis seguro, 1087 00:48:28,270 --> 00:48:32,110 sempre que está só invitando o drama se facer esa reivindicación, eu creo. 1088 00:48:32,110 --> 00:48:32,610 >> Todo ben. 1089 00:48:32,610 --> 00:48:36,490 Sen estar moi lonxe abaixo que, como é que imos solucionar isto? 1090 00:48:36,490 --> 00:48:39,670 Ten que comprar ou ten que pagar tres persoas diferentes para desenvolver 1091 00:48:39,670 --> 00:48:41,540 súas aplicacións? 1092 00:48:41,540 --> 00:48:42,870 Escolle un sobre o outro? 1093 00:48:42,870 --> 00:48:45,460 O que debe orientar a súa aquí a pensar que pensas? 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 Non. 1098 00:48:51,500 --> 00:48:54,190 Alguén máis. 1099 00:48:54,190 --> 00:48:56,885 >> Audiencia: Basta chegar co hardware. 1100 00:48:56,885 --> 00:48:58,510 DAVID J. Malan: Benvida co hardware? 1101 00:48:58,510 --> 00:48:59,533 Que queres dicir? 1102 00:48:59,533 --> 00:49:01,282 >> Audiencia: Para o ambiente. [Inaudível] 1103 00:49:01,282 --> 00:49:04,867 1104 00:49:04,867 --> 00:49:06,200 DAVID J. Malan: Entón, iso é verdade. 1105 00:49:06,200 --> 00:49:09,280 Pero os seus clientes, Mentres tanto, pode ter iPhones, 1106 00:49:09,280 --> 00:49:13,530 poderían teléfonos Android, eles Pode ter comprimidos feitos por Microsoft. 1107 00:49:13,530 --> 00:49:19,040 Entón como é que ten unha estratexia móbil Por todas estas diferentes usuarios? 1108 00:49:19,040 --> 00:49:23,320 Parece que se conta, digamos $ 1.000 para facer un iPhone 1109 00:49:23,320 --> 00:49:25,940 aplicación, que vai a custa US $ 2.000 para facer 1110 00:49:25,940 --> 00:49:29,250 unha aplicación para iPhone e un aplicación Android, ou US $ 3.000 1111 00:49:29,250 --> 00:49:31,407 Tamén permite dispositivos de Windows tamén. 1112 00:49:31,407 --> 00:49:33,990 Isto pode ser un gran eufemismo, e pode ata non 1113 00:49:33,990 --> 00:49:36,050 ser unha relación lineal así. 1114 00:49:36,050 --> 00:49:41,065 >> Audiencia: Se queres ter unha aplicación ou non, pode que o sitio responsabilidade. 1115 00:49:41,065 --> 00:49:41,940 DAVID J. Malan: Good. 1116 00:49:41,940 --> 00:49:46,255 Audiencia: Ou pode ter unha aplicación nativa. 1117 00:49:46,255 --> 00:49:47,130 DAVID J. Malan: Yeah. 1118 00:49:47,130 --> 00:49:50,260 Así, en todo este contexto aquí, temos falado sobre o que 1119 00:49:50,260 --> 00:49:53,190 persoas chamaría de aplicacións nativos. 1120 00:49:53,190 --> 00:49:58,040 Isto é aplicacións que están escritas na lingua nativa deste dispositivo. 1121 00:49:58,040 --> 00:50:02,190 Entón nativa Objective-C é Swift código, ou en Java, ou C #. 1122 00:50:02,190 --> 00:50:06,900 O que significa que cando baixar, imos din Snapchat, unha aplicación popular, 1123 00:50:06,900 --> 00:50:10,060 ou cando baixar Facebook para un teléfono, 1124 00:50:10,060 --> 00:50:13,270 está baixo ou o versión escrita para o seu iPhone, 1125 00:50:13,270 --> 00:50:16,830 ou por escrito para o seu teléfono Android, ou por escrito para a súa superficie. 1126 00:50:16,830 --> 00:50:18,500 >> Pero hai unha alternativa. 1127 00:50:18,500 --> 00:50:26,020 Como Olivier estaba se referindo, realmente pode usar HTML 5 1128 00:50:26,020 --> 00:50:33,440 no seu lugar, utilizando o que se chama web aplicación, en que simplemente 1129 00:50:33,440 --> 00:50:35,940 aplicar a súa presenza móbil e calquera función. 1130 00:50:35,940 --> 00:50:37,030 O que quero dicir con presenza móbil? 1131 00:50:37,030 --> 00:50:39,800 Como o seu sitio web que ten o seu información de contacto, unha lista de todos 1132 00:50:39,800 --> 00:50:43,049 seus produtos, quizais teña un centro cesta, quizais venda a través del. 1133 00:50:43,049 --> 00:50:46,850 Sexa cal sexa a súa aplicación é, implementar lo, non en Objective-C, 1134 00:50:46,850 --> 00:50:51,200 ou Swift, ou Java ou C #, pero HTML 5, que era a lingua miramos 1135 00:50:51,200 --> 00:50:55,470 na onte con JavaScript e CSS. 1136 00:50:55,470 --> 00:50:58,700 >> E o que é agradable sobre os tres é que para executa-los, 1137 00:50:58,700 --> 00:51:01,981 ten que só o anaco de software? 1138 00:51:01,981 --> 00:51:02,980 Audiencia: Un navegador web. 1139 00:51:02,980 --> 00:51:04,229 DAVID J. Malan: Un navegador web. 1140 00:51:04,229 --> 00:51:07,610 E o mellor que sei, todos estes dispositivos veñen con navegadores web, 1141 00:51:07,610 --> 00:51:10,480 para que o usuario non ten que instalar algo especial. 1142 00:51:10,480 --> 00:51:12,920 Entón podes só o teu público, os seus clientes, 1143 00:51:12,920 --> 00:51:16,590 ir ACME.COM na súa navegador e só 1144 00:51:16,590 --> 00:51:19,730 ter unha experiencia baseada na web que aínda enche a pantalla, 1145 00:51:19,730 --> 00:51:25,100 pero non se preocupe todos estes custos e toda esa complexidade. 1146 00:51:25,100 --> 00:51:28,600 Pero certamente non vai ser un problema aquí, non? 1147 00:51:28,600 --> 00:51:31,740 Especialmente se eu apunto que hai uns anos, 1148 00:51:31,740 --> 00:51:35,700 a primeira versión do aplicación móbil de Facebook 1149 00:51:35,700 --> 00:51:38,810 foi principalmente unha aplicación HTML 5. 1150 00:51:38,810 --> 00:51:42,490 E eles teñen, máis recentemente, reimplemented lo 1151 00:51:42,490 --> 00:51:44,700 nas súas outras aplicacións. 1152 00:51:44,700 --> 00:51:46,990 >> Entón, por que non inmediatamente quere dicir, 1153 00:51:46,990 --> 00:51:49,190 Ben, obviamente imos facelo? 1154 00:51:49,190 --> 00:51:51,560 O que pode os custos ocultos ser? 1155 00:51:51,560 --> 00:51:52,477 >> Audiencia: Performance. 1156 00:51:52,477 --> 00:51:53,643 DAVID J. Malan: Performance? 1157 00:51:53,643 --> 00:51:54,567 Que queres dicir? 1158 00:51:54,567 --> 00:52:01,040 >> Audiencia: A aplicación nativa ten máis rendemento. 1159 00:52:01,040 --> 00:52:03,850 >> DAVID J. Malan: Para que se realidade, a un par de razóns. 1160 00:52:03,850 --> 00:52:05,270 Podemos simplificar a resposta. 1161 00:52:05,270 --> 00:52:08,061 E lembrar nosa discusión sobre interpretados en relación linguaxes compiladas. 1162 00:52:08,061 --> 00:52:12,030 Este é o HTML 5 e, con ela, só para ser claro, JavaScript-- comunmente escrito 1163 00:52:12,030 --> 00:52:15,880 JS-- e CSS son todos linguaxes interpretadas, 1164 00:52:15,880 --> 00:52:21,020 a pesar de só JavaScript é unha linguaxe de programación. 1165 00:52:21,020 --> 00:52:25,820 >> E así contra estes, que algúns destes son compilados polo menos estes three-- 1166 00:52:25,820 --> 00:52:29,990 Objective-C, Java e C # - estes, en teoría, debe só ser máis rápido. 1167 00:52:29,990 --> 00:52:31,670 Pero hai outra realidade for-- 1168 00:52:31,670 --> 00:52:32,440 >> Audiencia: Funcionalidades? 1169 00:52:32,440 --> 00:52:32,830 >> DAVID J. Malan: ¿Que é iso? 1170 00:52:32,830 --> 00:52:34,060 >> Audiencia: características. 1171 00:52:34,060 --> 00:52:34,570 >> DAVID J. Malan: Funcionalidade? 1172 00:52:34,570 --> 00:52:35,070 E logo? 1173 00:52:35,070 --> 00:52:37,305 Audiencia: Use a cámara o teléfono ou algo así. 1174 00:52:37,305 --> 00:52:41,471 Pode usalos co navegador. 1175 00:52:41,471 --> 00:52:42,470 DAVID J. Malan: Exactamente. 1176 00:52:42,470 --> 00:52:43,011 Están sec-- 1177 00:52:43,011 --> 00:52:45,034 Audiencia: [inaudível] 1178 00:52:45,034 --> 00:52:46,700 DAVID J. Malan: Esta é outra boa. 1179 00:52:46,700 --> 00:52:49,230 Hai recursos que veñen con teléfonos móbiles hoxe 1180 00:52:49,230 --> 00:52:53,840 que non son, por deseño, para a seguridade razóns, accesibles a navegadores web. 1181 00:52:53,840 --> 00:52:56,410 Porque sería tipo de algo asustado só cando 1182 00:52:56,410 --> 00:53:00,710 visitar google.com, ou cnn.com ou calquera website.com, 1183 00:53:00,710 --> 00:53:04,490 que ese sitio ten o poder de transformar na súa cámara, sacar unha foto de ti, 1184 00:53:04,490 --> 00:53:06,010 e logo, usalo. 1185 00:53:06,010 --> 00:53:09,280 Pero non vai querer un sitio ao chou que visita por primeira vez 1186 00:53:09,280 --> 00:53:10,690 ter esa capacidade. 1187 00:53:10,690 --> 00:53:13,460 >> E entón o que teléfono os fabricantes adoitan facer 1188 00:53:13,460 --> 00:53:17,230 é que simplemente negar o acceso para este tipo de información 1189 00:53:17,230 --> 00:53:20,650 para un navegador, o que significa que Non podes aplicar a cámara. 1190 00:53:20,650 --> 00:53:24,180 Non pode aplicar as notificacións push, os sinais sonoros que recibe na súa pantalla 1191 00:53:24,180 --> 00:53:26,120 con mensaxes curtas. 1192 00:53:26,120 --> 00:53:31,350 E, de feito, mesmo GPS único tipo do tipo de dispoñible para navegadores web. 1193 00:53:31,350 --> 00:53:34,140 Se xa, nun portátil ou nun dispositivo móbil, 1194 00:53:34,140 --> 00:53:38,770 tirou algo quizais CNN.com, pero tamén estacións de noticias locais 1195 00:53:38,770 --> 00:53:43,890 tenden a facelo, será solicitada moitas veces con un message-- foxnews.com 1196 00:53:43,890 --> 00:53:45,170 Quere saber a súa situación. 1197 00:53:45,170 --> 00:53:46,610 Aprobar ou denegar. 1198 00:53:46,610 --> 00:53:52,070 >> Ben, o navegador está intentando acceder súa información GPS do teléfono. 1199 00:53:52,070 --> 00:53:54,740 Pero, por sorte, Microsoft, e Apple e Google 1200 00:53:54,740 --> 00:53:57,330 decidiron que se sente como é unha situación útil, 1201 00:53:57,330 --> 00:53:59,461 queremos que Google Maps e outras ferramentas para o traballo, 1202 00:53:59,461 --> 00:54:02,710 pero nós non queremos a rastexaren a xente para fóra por só permite a calquera sitio web para facelo. 1203 00:54:02,710 --> 00:54:05,934 Entón, imos especie de encontro medio e solicitar ao usuario. 1204 00:54:05,934 --> 00:54:08,850 Pero iso non é necesariamente o caso con todo o hardware, como a cámara 1205 00:54:08,850 --> 00:54:10,680 e con push notificacións e similares, 1206 00:54:10,680 --> 00:54:13,650 así pode ter que sacrificar determinadas características. 1207 00:54:13,650 --> 00:54:15,100 Pero o rendemento tamén. 1208 00:54:15,100 --> 00:54:18,020 Cada vez menos perceptible nos días de hoxe, se cadra 1209 00:54:18,020 --> 00:54:22,400 como LTE sobre as capturas e máis rápido velocidades de internet en teléfonos, 1210 00:54:22,400 --> 00:54:24,110 pero pode tipo de sentir a diferenza. 1211 00:54:24,110 --> 00:54:28,190 Como unha aplicación baseado na web só se sente máis lento, normalmente, 1212 00:54:28,190 --> 00:54:31,100 que unha aplicación nativa, en parte porque unha aplicación baseado na web 1213 00:54:31,100 --> 00:54:32,680 por definición, está en internet. 1214 00:54:32,680 --> 00:54:35,610 Está falando cos servidores web. 1215 00:54:35,610 --> 00:54:39,590 E se a súa conexión de rede é lento, aínda a desprazamento pode ser lento. 1216 00:54:39,590 --> 00:54:43,710 >> Pero unha aplicación nativa, ten xa pre-downloaded-- probablemente 1217 00:54:43,710 --> 00:54:45,680 cando está na casa a partir da App Store, 1218 00:54:45,680 --> 00:54:47,900 ou polo menos pre- descargado Lo na súa totalidade 1219 00:54:47,900 --> 00:54:49,640 antes, calquera que sexa a súa speed-- conexión 1220 00:54:49,640 --> 00:54:52,530 e agora ten todo o bits que xeralmente necesita. 1221 00:54:52,530 --> 00:54:55,090 Excepto quizais algúns datos que vén a partir dun servidor. 1222 00:54:55,090 --> 00:54:57,130 >> Entón, eses son os trade-offs aquí. 1223 00:54:57,130 --> 00:54:59,980 Hai unha especie de medio compromiso, en realidade. 1224 00:54:59,980 --> 00:55:00,907 E eu creo que você-- 1225 00:55:00,907 --> 00:55:02,895 >> Audiencia: Use os datos fóra de liña. 1226 00:55:02,895 --> 00:55:06,355 Nos programas nativos, pode [inaudível] 1227 00:55:06,355 --> 00:55:07,480 DAVID J. Malan: Absolutamente. 1228 00:55:07,480 --> 00:55:09,730 Polo tanto, está a cuestión offline, que é realmente irritante 1229 00:55:09,730 --> 00:55:13,120 Se non pode xogar algún partido ou utilización algúns programas só porque está 1230 00:55:13,120 --> 00:55:15,110 nun soto nalgún lugar ou nun ascensor. 1231 00:55:15,110 --> 00:55:18,700 Unha aplicación nativa é resilientes con maior probabilidade de encontro que, 1232 00:55:18,700 --> 00:55:20,990 supoñendo que ten todo o datos que precisa local. 1233 00:55:20,990 --> 00:55:22,900 >> Polo tanto, hai unha terceira opción aquí. 1234 00:55:22,900 --> 00:55:30,270 E imos deseñar o espectro como aplicación nativa aquí e web app aquí. 1235 00:55:30,270 --> 00:55:32,460 E o que é o medio é algo called-- 1236 00:55:32,460 --> 00:55:35,410 e eu creo que pode ter usou a palabra antes, quizais? 1237 00:55:35,410 --> 00:55:37,170 aplicación híbrida. 1238 00:55:37,170 --> 00:55:40,980 E como a palabra indica, é algo no medio. 1239 00:55:40,980 --> 00:55:46,230 É unha especie de unha aplicación web e é unha especie de unha aplicación nativa. 1240 00:55:46,230 --> 00:55:47,690 >> E o que significa isto? 1241 00:55:47,690 --> 00:55:51,750 Acontece que hai frameworks-- para usar un termo de software earlier-- 1242 00:55:51,750 --> 00:55:55,860 que outras persoas teñen escrito para cada unha destas plataformas. 1243 00:55:55,860 --> 00:55:57,500 Estes e aínda outros dispositivos. 1244 00:55:57,500 --> 00:56:02,390 De feito, déixeme ir PhoneGap, que é un tal marco que 1245 00:56:02,390 --> 00:56:04,520 creo Adobe posúe agora. 1246 00:56:04,520 --> 00:56:07,830 Déixeme ir á Introdución. 1247 00:56:07,830 --> 00:56:09,430 Vexamos. 1248 00:56:09,430 --> 00:56:12,450 Vexa se podo ver unha lista de ferramentas. 1249 00:56:12,450 --> 00:56:13,150 Hardware. 1250 00:56:13,150 --> 00:56:15,845 Comezar. 1251 00:56:15,845 --> 00:56:17,570 hardware PhoneGap. 1252 00:56:17,570 --> 00:56:18,672 >> Vexamos. 1253 00:56:18,672 --> 00:56:23,459 PhoneGap acceso ao hardware. 1254 00:56:23,459 --> 00:56:26,125 Déixeme ver se podemos atopar algo gráfico que adoitaban ter. 1255 00:56:26,125 --> 00:56:29,170 1256 00:56:29,170 --> 00:56:31,640 Isto está noutro sitio. 1257 00:56:31,640 --> 00:56:32,525 Isto é útil? 1258 00:56:32,525 --> 00:56:33,030 Non. 1259 00:56:33,030 --> 00:56:36,330 Isto vai perder o noso tempo alí. 1260 00:56:36,330 --> 00:56:40,185 hardware PhoneGap. 1261 00:56:40,185 --> 00:56:40,685 Dispositivos. 1262 00:56:40,685 --> 00:56:45,190 1263 00:56:45,190 --> 00:56:48,030 API dispositivo. 1264 00:56:48,030 --> 00:56:49,270 Non, eles cambiaron-lo. 1265 00:56:49,270 --> 00:56:50,070 >> PhoneGap. 1266 00:56:50,070 --> 00:56:54,964 Imos dar unha última ollada neste e ver se eu te podo amosar. 1267 00:56:54,964 --> 00:56:55,630 Comezar. 1268 00:56:55,630 --> 00:56:58,160 1269 00:56:58,160 --> 00:56:59,020 Instalar PhoneGap. 1270 00:56:59,020 --> 00:57:02,310 1271 00:57:02,310 --> 00:57:03,270 Instalar aplicación móbil. 1272 00:57:03,270 --> 00:57:04,320 Imos. 1273 00:57:04,320 --> 00:57:07,220 1274 00:57:07,220 --> 00:57:08,580 Eles reorganizou todo. 1275 00:57:08,580 --> 00:57:09,750 Todo ben. 1276 00:57:09,750 --> 00:57:11,370 Ah, todo ben. 1277 00:57:11,370 --> 00:57:12,550 Ben, aquí imos nós. 1278 00:57:12,550 --> 00:57:16,130 Iso non é todo o que esclarecedor, pero este é o que eu estaba tipo de busca. 1279 00:57:16,130 --> 00:57:20,940 >> Entón PhoneGap é un cadro que Pode descargar de balde que lle dá 1280 00:57:20,940 --> 00:57:22,750 algún código de inicio, esencialmente. 1281 00:57:22,750 --> 00:57:26,600 Entón, algún código que teñen escrito que non fai moito. 1282 00:57:26,600 --> 00:57:29,610 Pero o que lle dá esencialmente é o equivalente 1283 00:57:29,610 --> 00:57:34,910 dunha aplicación que pon un rectángulo grande na pantalla do usuario. 1284 00:57:34,910 --> 00:57:38,040 Non poñer unha barra de URL, como un navegador, non pon un enderezo. 1285 00:57:38,040 --> 00:57:39,650 El só pon un gran rectángulo. 1286 00:57:39,650 --> 00:57:43,230 E configurar esta gran rectángulo, debaixo do capó, 1287 00:57:43,230 --> 00:57:50,780 para realmente ir acme.com, ou que m.acme.com, por mobile.acme.com, 1288 00:57:50,780 --> 00:57:52,910 pero o usuario non sabe están nese enderezo. 1289 00:57:52,910 --> 00:57:55,520 Todo o que vemos é a contido da páxina web. 1290 00:57:55,520 --> 00:57:59,822 >> Pero o que é agradable sobre este ser unha aplicación híbrido é que o que PhoneGap 1291 00:57:59,822 --> 00:58:03,030 e outras empresas están dando é están dándolle un pouco de código 1292 00:58:03,030 --> 00:58:05,760 en Objective-C é Swift, ou un pouco de código en Java, 1293 00:58:05,760 --> 00:58:08,320 ou un pouco de código en C #, e esencialmente, 1294 00:58:08,320 --> 00:58:12,990 todo o que ten para ofrecer é minimamente o dirección da súa aplicación baseado na web. 1295 00:58:12,990 --> 00:58:15,750 E entón unir este todos xuntos e 1296 00:58:15,750 --> 00:58:20,670 telo quere acceder ao seu sitio web a través de Internet, 1297 00:58:20,670 --> 00:58:24,060 ou mesmo caché nun lugar, copiar dentro da aplicación, 1298 00:58:24,060 --> 00:58:28,690 logo gardar a súa aplicación en formato iPhone, teléfono Android 1299 00:58:28,690 --> 00:58:32,030 formato, formato de superficie, ou calquera número de dispositivos. 1300 00:58:32,030 --> 00:58:34,960 >> Cargar cada unha destas versións ao Play Store Google 1301 00:58:34,960 --> 00:58:37,690 á App Store, ao Windows Store, e así por diante. 1302 00:58:37,690 --> 00:58:41,570 E agora, pode ter todos os seus público descargar verdadeiramente unha aplicación nativa, 1303 00:58:41,570 --> 00:58:44,250 se ben a maior parte do código estaba escrito por outra persoa, 1304 00:58:44,250 --> 00:58:49,090 pero o contido que aplicación nativa todo veñen, normalmente, o seu propio sitio web. 1305 00:58:49,090 --> 00:58:53,950 Entón continúa a escribir a súa web HTML, JavaScript e CSS. 1306 00:58:53,950 --> 00:58:56,400 >> Entón, por que confunden estas fronteiras? 1307 00:58:56,400 --> 00:59:00,240 Por que ter unha aplicación híbrida que é unha especie de nativo, senón tamén 1308 00:59:00,240 --> 00:59:02,569 tipo de web con base? 1309 00:59:02,569 --> 00:59:04,610 Que é o punto enteiro de engadindo esta complexidade? 1310 00:59:04,610 --> 00:59:07,180 É dicir, aínda así, só a partir de mirando a través desta páxina, 1311 00:59:07,180 --> 00:59:11,790 a Guía de Introdución sente como el ten unha morea de pasos para min 1312 00:59:11,790 --> 00:59:13,514 para facer antes de can-- 1313 00:59:13,514 --> 00:59:14,430 Audiencia: Reutilización? 1314 00:59:14,430 --> 00:59:14,960 DAVID J. Malan: Reutilización? 1315 00:59:14,960 --> 00:59:15,618 Que queres dicir? 1316 00:59:15,618 --> 00:59:16,826 >> Audiencia: do código fonte. 1317 00:59:16,826 --> 00:59:19,438 Así, o mesmo código sería executado todos os diferentes plataformas. 1318 00:59:19,438 --> 00:59:20,313 DAVID J. Malan: Yeah. 1319 00:59:20,313 --> 00:59:21,188 Audiencia: [inaudível] 1320 00:59:21,188 --> 00:59:23,200 1321 00:59:23,200 --> 00:59:24,200 DAVID J. Malan: Perfecto. 1322 00:59:24,200 --> 00:59:26,930 Se o tempo está axustado e se non teñen que moitas developers-- 1323 00:59:26,930 --> 00:59:28,900 quizais ten un creador e el ou ela certamente 1324 00:59:28,900 --> 00:59:31,050 non sabe todo isto environments-- certamente non moito, 1325 00:59:31,050 --> 00:59:33,341 e, por suposto, non é posible programar en todos os tres ao mesmo tempo 1326 00:59:33,341 --> 00:59:35,970 e enviar tres produtos en tempo permitido para un, 1327 00:59:35,970 --> 00:59:40,360 podes telo ou construír todo HTML e JavaScript e CSS, 1328 00:59:40,360 --> 00:59:43,260 e, a continuación, aprender algo pequena pouco aplicacións nativos, 1329 00:59:43,260 --> 00:59:45,930 só o suficiente para baixar un cadro como este, 1330 00:59:45,930 --> 00:59:48,750 para, a continuación, enviar o seu produto para todas as varias tendas de aplicacións 1331 00:59:48,750 --> 00:59:51,700 de xeito que agora ten unha aplicación nativa. 1332 00:59:51,700 --> 00:59:54,090 >> Así que parece ser unha Win-Win, pero, de novo, para ser claro, 1333 00:59:54,090 --> 00:59:56,540 Cales son os posibles custos ou as trampas? 1334 00:59:56,540 --> 01:00:00,292 1335 01:00:00,292 --> 01:00:01,209 >> Audiencia: Performance? 1336 01:00:01,209 --> 01:00:02,083 DAVID J. Malan: Yeah. 1337 01:00:02,083 --> 01:00:02,959 Rendemento. 1338 01:00:02,959 --> 01:00:04,250 É difícil de describir verbalmente. 1339 01:00:04,250 --> 01:00:07,590 Entón, se tomar só en fe unha aplicación móbil, 1340 01:00:07,590 --> 01:00:11,430 unha aplicación web será tipicamente realizar máis lentamente. 1341 01:00:11,430 --> 01:00:16,500 Pode non parecer moi seguro porque no iPhone e en móbiles Android, 1342 01:00:16,500 --> 01:00:19,210 e dispositivos Windows, hai sempre unha especie de aspecto estándar 1343 01:00:19,210 --> 01:00:21,780 ea sensación de todo o botóns e os menús. 1344 01:00:21,780 --> 01:00:25,160 >> E empresas no web, pode tentar achegar estas estética 1345 01:00:25,160 --> 01:00:28,329 con bibliotecas como Bootstrap, pero o user-- un user-- astuto 1346 01:00:28,329 --> 01:00:30,620 vai saber que algo non é certo aquí. 1347 01:00:30,620 --> 01:00:32,510 E iso é bo, quizais iso non é un gran negocio. 1348 01:00:32,510 --> 01:00:35,500 Pero o problema de rendemento absolutamente é un gran negocio. 1349 01:00:35,500 --> 01:00:39,400 As aplicacións nativos tenden a só ser moito máis sensible e, polo tanto, 1350 01:00:39,400 --> 01:00:39,946 mellor. 1351 01:00:39,946 --> 01:00:42,070 E así, o que entón se pode o mellor dos dous mundos? 1352 01:00:42,070 --> 01:00:44,584 Se é especialmente un pequeno empresa ou un pequeno grupo, 1353 01:00:44,584 --> 01:00:47,000 Non ten os recursos para desenvolver unha aplicación en paralelo 1354 01:00:47,000 --> 01:00:50,480 en todas as tres plataformas, e, francamente, Parece que isto é unha mala idea de ningún xeito 1355 01:00:50,480 --> 01:00:53,526 porque se estende-lo e sobre os tres realizar simultaneamente, 1356 01:00:53,526 --> 01:00:56,400 debemos ter engadido algunhas características ou feito algo diferente, agora 1357 01:00:56,400 --> 01:00:59,530 ten que reparalos lo tres partes, non un. 1358 01:00:59,530 --> 01:01:02,390 Que é quizais o mellor aquí estratexia global, 1359 01:01:02,390 --> 01:01:04,130 se recursos e tempo están axustado? 1360 01:01:04,130 --> 01:01:06,420 >> Audiencia: Basta facelo en iOS. 1361 01:01:06,420 --> 01:01:08,390 >> DAVID J. Malan: Isto non é razoable. 1362 01:01:08,390 --> 01:01:10,670 Portadas polo menos na EUA, son super popular. 1363 01:01:10,670 --> 01:01:13,820 Android aínda parece dominante cota de mercado, a nivel mundial, en xeral. 1364 01:01:13,820 --> 01:01:16,740 Entón non está necesariamente representativa 1365 01:01:16,740 --> 01:01:19,210 da totalidade do globo esta semana. 1366 01:01:19,210 --> 01:01:21,180 Pero iso é absolutamente un de decisións. 1367 01:01:21,180 --> 01:01:23,620 É dicir, no campus aquí creo que un número atroz 1368 01:01:23,620 --> 01:01:26,600 ou a porcentaxe de alumnos de graduación teñen iPhones e teléfonos non Android. 1369 01:01:26,600 --> 01:01:28,490 Pero no exterior, é unha especie de todo o contrario. 1370 01:01:28,490 --> 01:01:30,040 Entón decide en base a súa audiencia. 1371 01:01:30,040 --> 01:01:31,990 Como vostede sabe o que o seu público? 1372 01:01:31,990 --> 01:01:34,080 >> Ben, aprendemos un truco onte. 1373 01:01:34,080 --> 01:01:35,060 Podería preguntar-lles. 1374 01:01:35,060 --> 01:01:37,910 Se vostede ten un público cativo pode enviar-lles un formulario de procura. 1375 01:01:37,910 --> 01:01:39,172 Ou podería só facer o que? 1376 01:01:39,172 --> 01:01:40,076 >> Audiencia: Google Analytics? 1377 01:01:40,076 --> 01:01:40,680 >> DAVID J. Malan: ¿Que é iso? 1378 01:01:40,680 --> 01:01:41,876 >> Audiencia: 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 Si. 1381 01:01:43,750 --> 01:01:46,970 Ou aínda máis tipo de técnica, só ollar os seus propios web servidores rexistros. 1382 01:01:46,970 --> 01:01:49,100 Porque o que pasa Cada vez que un navegador, 1383 01:01:49,100 --> 01:01:51,880 se portátil, escritorio ou teléfono visitar o seu sitio? 1384 01:01:51,880 --> 01:01:56,847 Eles enviar a cabeceira HTTP que mostra o que navegador e sistema operativo que está a usar. 1385 01:01:56,847 --> 01:02:00,180 Así, pode inferir, con alta probabilidade, o demográfica está a usar ese camiño 1386 01:02:00,180 --> 01:02:01,410 e logo axustar. 1387 01:02:01,410 --> 01:02:03,030 >> Entón, creo que iso é inaceptable. 1388 01:02:03,030 --> 01:02:07,760 Isto é tipo de mal para o negocio se os usuarios de Android non pode mercar os nosos trebellos. 1389 01:02:07,760 --> 01:02:10,942 >> Audiencia: Se é vai cobrar ou non? 1390 01:02:10,942 --> 01:02:12,900 DAVID J. Malan: Si vai cobrar? 1391 01:02:12,900 --> 01:02:14,900 Entón, OK, que obtén o que paga. 1392 01:02:14,900 --> 01:02:18,400 >> Audiencia: Se o seu programa vai ser libre ou se é gonna-- 1393 01:02:18,400 --> 01:02:19,530 >> DAVID J. Malan: OK. 1394 01:02:19,530 --> 01:02:21,920 Entón, talvez podería recuperar custos desta maneira, ou-? 1395 01:02:21,920 --> 01:02:26,195 >> Audiencia: Lin un estudo, xa que dixo máis usuarios de Apple pagar por programas versus-- 1396 01:02:26,195 --> 01:02:28,320 DAVID J. Malan: Isto é verdade porque xa están 1397 01:02:28,320 --> 01:02:29,640 pagando máis para os seus dispositivos. 1398 01:02:29,640 --> 01:02:31,295 Así, non é razoable unha suposición. 1399 01:02:31,295 --> 01:02:32,170 >> Audiencia: [inaudível] 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 Entón, se eles están máis dispostos a pagar, a continuación, para o inferno cos usuarios de Android. 1403 01:02:38,667 --> 01:02:40,500 Eles non van pagar connosco calquera cousa de calquera maneira. 1404 01:02:40,500 --> 01:02:43,499 Tamén podemos centrar as nosas prioridades, polo menos para os primeiros poucos meses 1405 01:02:43,499 --> 01:02:44,810 ou un ano, en iOS. 1406 01:02:44,810 --> 01:02:46,240 Totalmente razoable. 1407 01:02:46,240 --> 01:02:48,558 ¿Que é un máis inclusivo estratexia que iso? 1408 01:02:48,558 --> 01:02:53,740 1409 01:02:53,740 --> 01:02:54,960 Maybe-- que é isto? 1410 01:02:54,960 --> 01:02:57,040 >> Audiencia: [inaudível] 1411 01:02:57,040 --> 01:03:00,142 >> DAVID J. Malan: A máis expensive-- quizais por iso investir máis em-- ir adiante. 1412 01:03:00,142 --> 01:03:00,767 Audiencia: É. 1413 01:03:00,767 --> 01:03:02,050 Só un sitio web móbil. 1414 01:03:02,050 --> 01:03:03,966 >> DAVID J. Malan: Entón, facer un web móbil e non 1415 01:03:03,966 --> 01:03:05,440 mesmo preocuparse esa complexidade. 1416 01:03:05,440 --> 01:03:07,970 Ou quizais unha estratexia razoable, que incluso Facebook levou, 1417 01:03:07,970 --> 01:03:10,890 é comezar con un híbrido aplicación porque non é 1418 01:03:10,890 --> 01:03:13,582 moito máis difícil de facelo que iso. 1419 01:03:13,582 --> 01:03:16,040 Vostede só ten que ler algúns documentación e descubrir como 1420 01:03:16,040 --> 01:03:17,480 para cargar as cousas á App Store. 1421 01:03:17,480 --> 01:03:19,670 Entón, talvez comece con este, de xeito que o primeiro día, 1422 01:03:19,670 --> 01:03:21,112 podes apoiar os seus usuarios. 1423 01:03:21,112 --> 01:03:23,570 E entón, só como Facebook e outras empresas teñen feito, 1424 01:03:23,570 --> 01:03:25,330 cando ten os recursos, ten a xente, 1425 01:03:25,330 --> 01:03:27,660 por que non reimplementar só a aplicación IOS. 1426 01:03:27,660 --> 01:03:31,460 Aínda ten algo para todos, aínda que sexa unha experiencia inferior 1427 01:03:31,460 --> 01:03:33,330 quizais, coa aplicación híbrido. 1428 01:03:33,330 --> 01:03:36,770 Pero pode gradualmente rolar para fóra e substituír o seu curto prazo 1429 01:03:36,770 --> 01:03:40,280 medidas das aplicacións híbridos con súas aplicacións máis nativas. 1430 01:03:40,280 --> 01:03:44,090 >> Audiencia: Pero con unha aplicación híbrido ten Terá acceso a recursos móbiles? 1431 01:03:44,090 --> 01:03:45,440 >> DAVID J. Malan: Non necesariamente. 1432 01:03:45,440 --> 01:03:47,810 Entón, quizais facer unha decisión consciente desde o inicio, 1433 01:03:47,810 --> 01:03:51,930 só se pode subir fotos no iPhone aplicación nativa para Facebook, 1434 01:03:51,930 --> 01:03:56,060 pero non sobre a aplicación Android, inicialmente, por exemplo. 1435 01:03:56,060 --> 01:04:00,600 E iso é un pouco de unha mentira, porque aplicacións web teñen máis restriccións 1436 01:04:00,600 --> 01:04:03,620 de aplicacións híbridas que se transforma a fóra, e se ler a documentación 1437 01:04:03,620 --> 01:04:07,260 para PhoneGap e as cousas como, as persoas veñen-se con formas 1438 01:04:07,260 --> 01:04:11,110 para dar aplicacións baseadas na web acceso á cámara, 1439 01:04:11,110 --> 01:04:13,310 desde que está a usar unha aplicación híbrida. 1440 01:04:13,310 --> 01:04:14,214 >> Como é que isto funciona? 1441 01:04:14,214 --> 01:04:16,130 Unha vez que o híbrido aplicación, por definición, 1442 01:04:16,130 --> 01:04:19,600 ten un pouco de código en Objective-C, e Swift, e Java, ou C #, 1443 01:04:19,600 --> 01:04:20,920 pode acceder ao hardware. 1444 01:04:20,920 --> 01:04:24,590 Non necesariamente todo, pero podería moi ben 1445 01:04:24,590 --> 01:04:27,310 ser o caso de que ten suficiente de acceso para a cámara, 1446 01:04:27,310 --> 01:04:32,960 mesmo para plataformas Android, por exemplo, en que o exemplo artificial. 1447 01:04:32,960 --> 01:04:35,515 >> Algunha pregunta? 1448 01:04:35,515 --> 01:04:36,279 Todo ben. 1449 01:04:36,279 --> 01:04:38,070 Por que non imos tomar a nosa 15 minutos de intervalo aquí. 1450 01:04:38,070 --> 01:04:44,060 Imos continuar a tres con unha final ollar para a programación web, bases de datos, 1451 01:04:44,060 --> 01:04:45,910 e Javascript. 1452 01:04:45,910 --> 01:04:48,877