1 00:00:00,000 --> 00:00:01,291 >> DAVID J. MALAN: Así que estamos de vuelta. 2 00:00:01,291 --> 00:00:03,050 Por lo que el alto nivel tema en el momento ahora 3 00:00:03,050 --> 00:00:06,440 es pilas de tecnología, que no es un término técnico en especial, 4 00:00:06,440 --> 00:00:09,960 que es más de un cajón de sastre para cualquier número de combinaciones de tecnologías 5 00:00:09,960 --> 00:00:11,840 que se pudiera utilizar para resolver problemas. 6 00:00:11,840 --> 00:00:14,850 Y quizás el más forma adecuada de empezar 7 00:00:14,850 --> 00:00:18,110 sería mirar idiomas desde No dejo de recitar un montón 8 00:00:18,110 --> 00:00:21,000 y casi todo el mundo en la sala tiene probablemente oído hablar de al menos uno. 9 00:00:21,000 --> 00:00:25,730 >> Y ¿por qué no intentamos distinguir qué-- distinguir idiomas 10 00:00:25,730 --> 00:00:28,932 y hablar brevemente acerca de cuándo lo haría elegir uno sobre el otro, la forma en que están 11 00:00:28,932 --> 00:00:30,890 clase de, fundamentalmente, diferentes y especialmente 12 00:00:30,890 --> 00:00:34,830 cuando se está conversando con los ingenieros, o tratando de decidir a quién contratar, 13 00:00:34,830 --> 00:00:37,652 o lo que la implementación propuesta de Greenlight, 14 00:00:37,652 --> 00:00:39,860 cómo se haga realidad ese tipo de decisiones. 15 00:00:39,860 --> 00:00:41,890 >> Así que vamos a golpetee algunas cosas fuera. 16 00:00:41,890 --> 00:00:45,300 De las lenguas que tienen las personas oído hablar, lo que viene a la mente? 17 00:00:45,300 --> 00:00:48,030 C. OK. 18 00:00:48,030 --> 00:00:48,757 OK, C ++. 19 00:00:48,757 --> 00:00:51,400 20 00:00:51,400 --> 00:00:51,990 ¿Que es eso? 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 ¿Qué más? 25 00:00:57,000 --> 00:00:58,810 Visual Basic. 26 00:00:58,810 --> 00:01:01,100 Oí Java. 27 00:01:01,100 --> 00:01:02,610 Visual alias 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 es más de un cajón de sastre por lo general es C # como lenguaje 32 00:01:12,810 --> 00:01:13,770 en cuestión. 33 00:01:13,770 --> 00:01:14,770 Y permítanme mencionar eso. 34 00:01:14,770 --> 00:01:15,900 Así que vamos a volver a eso. 35 00:01:15,900 --> 00:01:17,560 ¿Lo siento? 36 00:01:17,560 --> 00:01:18,170 ¿Lo siento? 37 00:01:18,170 --> 00:01:19,877 >> AUDIENCIA: SQL. 38 00:01:19,877 --> 00:01:20,876 DAVID J. MALAN: El rasguño? 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 DE ACUERDO. 42 00:01:23,110 --> 00:01:23,750 SQL. 43 00:01:23,750 --> 00:01:29,510 Así que vamos a volver a que- realidad, es good-- tras el descanso también. 44 00:01:29,510 --> 00:01:30,572 ¿Qué más? 45 00:01:30,572 --> 00:01:32,530 >> AUDIENCIA: Oracle. 46 00:01:32,530 --> 00:01:34,670 >> DAVID J. MALAN: Así Oracle, no un idioma. 47 00:01:34,670 --> 00:01:36,560 En realidad usarían SQL también. 48 00:01:36,560 --> 00:01:38,360 Así que vamos a poner que después de el descanso también. 49 00:01:38,360 --> 00:01:39,744 Y lo siento, algo por 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 Claro. 53 00:01:42,303 --> 00:01:46,150 54 00:01:46,150 --> 00:01:49,180 Y MATLAB es una especie de allí a 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. Vamos a ir por 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 Por supuesto. 60 00:01:55,880 --> 00:01:57,910 vieja escuela. 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 Voy a 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 Alguna-- 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, adelantó. 70 00:02:12,248 --> 00:02:15,370 71 00:02:15,370 --> 00:02:15,870 ¿Cualquier cosa? 72 00:02:15,870 --> 00:02:18,700 No puedo pensar en un par de los demás. 73 00:02:18,700 --> 00:02:21,876 No puedo pensar en algunos otros. 74 00:02:21,876 --> 00:02:22,792 Y lo que fue la ú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 Sí. 78 00:02:26,100 --> 00:02:27,100 Active Server Pages. 79 00:02:27,100 --> 00:02:30,270 Que por lo general estaría incluida en otros idiomas, a veces, C # 80 00:02:30,270 --> 00:02:32,040 así que vamos a dejar que se fuera. 81 00:02:32,040 --> 00:02:35,510 Pero vamos a volver a ese para marcos y tal. 82 00:02:35,510 --> 00:02:36,290 ¿Algo más? 83 00:02:36,290 --> 00:02:39,020 PHP es muy popular. 84 00:02:39,020 --> 00:02:41,710 Ruby es otra. 85 00:02:41,710 --> 00:02:48,230 JavaScript, que no debe confundirse con Java, es otra. 86 00:02:48,230 --> 00:02:49,570 Eso es un poco mucho. 87 00:02:49,570 --> 00:02:53,590 >> Así que puede ser abrumadora, sin duda, como si la lista no está ya, 88 00:02:53,590 --> 00:02:55,650 sólo para comenzar a saber por dónde empezar. 89 00:02:55,650 --> 00:02:58,130 Y así, afortunadamente, vamos abordar esto desde unos pocos ángulos. 90 00:02:58,130 --> 00:03:03,520 En primer lugar, vamos a tratar de categorizar al menos algunas de estas lenguas 91 00:03:03,520 --> 00:03:06,790 en dos grandes cubos, que recuerda la conversación que tuvimos antes de las vacaciones, 92 00:03:06,790 --> 00:03:09,630 donde hablamos sobre la compilación, y el código fuente y el código máquina, 93 00:03:09,630 --> 00:03:11,440 porque eso no es cómo todos los idiomas de trabajo. 94 00:03:11,440 --> 00:03:15,640 Así que vamos a arrancamos algunos ejemplos de-- o contra-examples-- a ese modelo. 95 00:03:15,640 --> 00:03:18,490 >> Y entonces, ¿por qué no hablar de las aplicaciones 96 00:03:18,490 --> 00:03:20,390 que idiomas se utilizan generalmente para. 97 00:03:20,390 --> 00:03:22,840 Y, francamente, a pesar de que esta es una lista bastante larga, 98 00:03:22,840 --> 00:03:26,320 es sólo un subconjunto de esta lista que lo más habitual es extraer de estos días 99 00:03:26,320 --> 00:03:27,220 resolver problemas. 100 00:03:27,220 --> 00:03:29,150 Algunas lenguas son más recientes que otros. 101 00:03:29,150 --> 00:03:31,170 Ciertas lenguas son más populares que otros. 102 00:03:31,170 --> 00:03:34,370 Así no es como usted tiene tal una tarea abrumadora antes 103 00:03:34,370 --> 00:03:36,970 la hora de decidir entre estos diversos idiomas. 104 00:03:36,970 --> 00:03:40,110 >> Así que vamos a hacer esto. 105 00:03:40,110 --> 00:03:45,870 Teníamos antes, código fuente, y luego tuvimos código de máquina. 106 00:03:45,870 --> 00:03:48,590 107 00:03:48,590 --> 00:03:49,400 Los chillidos. 108 00:03:49,400 --> 00:03:50,910 Escribiendo la palabra equivocada. 109 00:03:50,910 --> 00:03:52,740 Codigo de maquina. 110 00:03:52,740 --> 00:03:57,549 Y hemos tenido algún proceso en el medio called-- sí, el compilador. 111 00:03:57,549 --> 00:03:58,215 Por lo que el compilador. 112 00:03:58,215 --> 00:04:00,760 113 00:04:00,760 --> 00:04:03,910 >> Y lo que el código de la máquina en realidad se ejecuta en el extremo 114 00:04:03,910 --> 00:04:05,680 va a ser la CPU real. 115 00:04:05,680 --> 00:04:09,660 En otras palabras, al código de máquina, I significa las instrucciones del nivel más bajo 116 00:04:09,660 --> 00:04:11,330 que una CPU en realidad entiende. 117 00:04:11,330 --> 00:04:15,100 Suma, resta, mover, guardar y operaciones por el estilo. 118 00:04:15,100 --> 00:04:19,700 Y por lo que este es el modelo de lo que es generalmente conocido como lenguajes compilados. 119 00:04:19,700 --> 00:04:21,000 Quizás no sea sorprendente. 120 00:04:21,000 --> 00:04:23,550 >> Así que este es el modelo para lenguajes compilados. 121 00:04:23,550 --> 00:04:25,970 Pero resulta que hay Otra clase de idiomas 122 00:04:25,970 --> 00:04:32,650 Las Lenguas llamada interpretado Las Lenguas interpretado 123 00:04:32,650 --> 00:04:34,030 que son ligeramente diferentes. 124 00:04:34,030 --> 00:04:41,660 Se escribe en el código fuente, ejecutar a través de un intérprete, 125 00:04:41,660 --> 00:04:45,440 y que es intérprete lo que se ejecuta en la CPU. 126 00:04:45,440 --> 00:04:50,120 En otras palabras, lo que no lo hace emiten es lo que, al parecer? 127 00:04:50,120 --> 00:04:50,980 Codigo de maquina. 128 00:04:50,980 --> 00:04:54,290 Los ceros y unos que la CPU en última instancia, en sí entiende. 129 00:04:54,290 --> 00:04:59,780 >> Así, en esta primera versión y lenguajes como C, como vimos, 130 00:04:59,780 --> 00:05:02,040 se escribe en el código fuente eso es un poco arcano, 131 00:05:02,040 --> 00:05:05,300 pero al menos es algo similar al Inglés y es al menos legibles 132 00:05:05,300 --> 00:05:06,780 Una vez que se acostumbre a ella. 133 00:05:06,780 --> 00:05:10,100 Que se ejecuta a través de un compilador y fuera que se obtiene, en última instancia, ceros y unos. 134 00:05:10,100 --> 00:05:11,340 >> Que una simplificación excesiva. 135 00:05:11,340 --> 00:05:12,839 Hay algunos otros pasos de allí. 136 00:05:12,839 --> 00:05:15,530 De hecho, si alguna vez has oído el término "lenguaje ensamblador," 137 00:05:15,530 --> 00:05:17,990 eso es un paso antes los ceros y unos. 138 00:05:17,990 --> 00:05:20,949 Que un poco más legible, pero sigue siendo bastante arcano. 139 00:05:20,949 --> 00:05:23,740 Así que hay pasos intermedios que son, de hecho, pasando aquí. 140 00:05:23,740 --> 00:05:26,360 Pero la salida, en última instancia, es estos ceros y unos. 141 00:05:26,360 --> 00:05:28,990 >> Pero en el interpretarse mundo, donde se tiene 142 00:05:28,990 --> 00:05:32,680 idiomas que se interpretan lenguas, en realidad se salte ese paso. 143 00:05:32,680 --> 00:05:36,010 En otras palabras, cuando se escribe una programa, que acaba de ejecutarla de inmediato. 144 00:05:36,010 --> 00:05:38,960 No compila y luego ejecutarlo, como lo hacía antes. 145 00:05:38,960 --> 00:05:41,132 Que acaba de escribir y ejecutarlo. 146 00:05:41,132 --> 00:05:44,340 Y si quieres hacer un cambio rápido, se realiza un cambio rápido y volver a ejecutarlo. 147 00:05:44,340 --> 00:05:46,640 Así que no hay paso intermedio aquí. 148 00:05:46,640 --> 00:05:50,840 >> Ahora, para el programa que he escrito anteriormente, el cual fue este programa "Hello World", 149 00:05:50,840 --> 00:05:53,660 usted puede ser razonablemente wonder-- o razonablemente podría 150 00:05:53,660 --> 00:05:58,570 Estado-- que no era ese momento consumir para compilar mi programa. 151 00:05:58,570 --> 00:06:00,337 Parece que lo han hecho así. 152 00:06:00,337 --> 00:06:02,170 Y hay gráfica versiones de compiladores. 153 00:06:02,170 --> 00:06:05,270 Estoy usando una versión muy arcano, pero usted podría golpear un botón de reproducción 154 00:06:05,270 --> 00:06:07,887 y eso sería hacer realidad la compilación para usted. 155 00:06:07,887 --> 00:06:10,720 He compilado el programa y luego de nuevo, para ejecutarlo, acabo de hacer esto. 156 00:06:10,720 --> 00:06:13,820 Y da salida a la izquierda allí, "Hola!" 157 00:06:13,820 --> 00:06:15,530 Eso no parece todo lo oneroso. 158 00:06:15,530 --> 00:06:19,920 Pero cuando sus programas son más de una, dos, tres, 159 00:06:19,920 --> 00:06:25,470 cuatro, cinco líneas de largo, que puede llevaría mucho más segundos para compilar. 160 00:06:25,470 --> 00:06:28,310 A veces incluso minutos o un poco de tiempo para compilar. 161 00:06:28,310 --> 00:06:30,480 Después de todo, algunas de las mayores productos del mundo 162 00:06:30,480 --> 00:06:35,040 son cosas como sistemas operativos, Microsoft Word, Microsoft Excel, 163 00:06:35,040 --> 00:06:39,070 que puede ser de cientos de miles o incluso millones de líneas de código largas, 164 00:06:39,070 --> 00:06:41,300 y los que no lo hacen solo inmediatamente ejecutar. 165 00:06:41,300 --> 00:06:44,560 >> Por otra parte, en la web, es puesto de moda utilizar 166 00:06:44,560 --> 00:06:47,600 lenguajes interpretados, simplemente en parte debido a que 167 00:06:47,600 --> 00:06:50,570 puede hacer un cambio como el desarrollador y luego simplemente cargar inmediatamente 168 00:06:50,570 --> 00:06:52,570 la página del navegador y ver inmediatamente el resultado. 169 00:06:52,570 --> 00:06:56,160 Y así HTML, aunque no un lenguaje de programación, 170 00:06:56,160 --> 00:06:58,860 es un lenguaje que se interpreta. 171 00:06:58,860 --> 00:07:00,770 Y vimos que ayer mismo efecto. 172 00:07:00,770 --> 00:07:04,070 Que acaba de cargar la página después de hacer un cambio en Cloud9 y- voila-- 173 00:07:04,070 --> 00:07:05,560 se ve un nuevo resultado. 174 00:07:05,560 --> 00:07:07,090 >> Entonces, ¿cuál es la diferencia aquí? 175 00:07:07,090 --> 00:07:13,190 En HTML, el recuerdo, tuvimos HTML abierto, cabeza abierta, título abrir, cerrar título, 176 00:07:13,190 --> 00:07:15,250 cerca de la cabeza, cuerpo abierto, y así sucesivamente. 177 00:07:15,250 --> 00:07:19,149 Tuvimos todas estas etiquetas que nos prácticamente mucho Dicho esto, decirle al navegador qué hacer. 178 00:07:19,149 --> 00:07:20,690 Hey navegador, aquí viene una página HTML. 179 00:07:20,690 --> 00:07:22,170 Hey navegador, aquí viene el título. 180 00:07:22,170 --> 00:07:24,429 Hey navegador, aquí viene un poco texto que debe ser audaz. 181 00:07:24,429 --> 00:07:25,720 Y luego le dice lo contrario. 182 00:07:25,720 --> 00:07:27,330 Hey navegador, eso es todo para el texto de negrita. 183 00:07:27,330 --> 00:07:28,830 Hey navegador, eso es todo por el cuerpo. 184 00:07:28,830 --> 00:07:29,740 Etcétera. 185 00:07:29,740 --> 00:07:31,130 >> Y así, lo que es un navegador? 186 00:07:31,130 --> 00:07:33,170 Un navegador es simplemente un intérprete. 187 00:07:33,170 --> 00:07:36,090 Es un programa que alguien como Microsoft o Google ha escrito, 188 00:07:36,090 --> 00:07:39,160 cuyo propósito en la vida es leer un idioma, conocido como HTML, 189 00:07:39,160 --> 00:07:39,890 e interpretarla. 190 00:07:39,890 --> 00:07:41,290 De arriba a abajo, de izquierda a derecha. 191 00:07:41,290 --> 00:07:46,880 Y cada vez que el navegador ve abierto soporte, el título, el corchete de cierre, 192 00:07:46,880 --> 00:07:48,960 se debe interpretar que en el sentido de, oh, que 193 00:07:48,960 --> 00:07:52,490 significa que debo poner estas palabras camino aquí en la parte superior del navegador. 194 00:07:52,490 --> 00:07:55,700 >> Por lo que sólo hace lo que dice el código HTML. 195 00:07:55,700 --> 00:07:57,240 Pero no hay ceros y unos. 196 00:07:57,240 --> 00:07:58,250 No hay compilación. 197 00:07:58,250 --> 00:07:58,890 Usted no lo hizo. 198 00:07:58,890 --> 00:07:59,931 El navegador no lo hizo. 199 00:07:59,931 --> 00:08:01,710 Simplemente no está involucrado. 200 00:08:01,710 --> 00:08:05,890 >> Así, en el espíritu de éstos en curso temas, de hoy y de ayer, 201 00:08:05,890 --> 00:08:08,400 que parece ser una característica maravillosa. 202 00:08:08,400 --> 00:08:11,410 Se guarda el código y luego sólo ejecutarlo o interpretarlo. 203 00:08:11,410 --> 00:08:13,790 No hay pasos intermedios. 204 00:08:13,790 --> 00:08:15,690 Sin duda, hay un costo? 205 00:08:15,690 --> 00:08:16,810 No todos pueden ser aspectos positivos. 206 00:08:16,810 --> 00:08:19,964 Entonces, ¿qué podría ser ese costo? 207 00:08:19,964 --> 00:08:20,940 >> AUDIENCIA: Espacio. 208 00:08:20,940 --> 00:08:22,370 >> DAVID J. MALAN: Espacio. 209 00:08:22,370 --> 00:08:23,370 Tan seguro. 210 00:08:23,370 --> 00:08:26,920 En el mundo compilado, usted tiene no sólo el código fuente original, 211 00:08:26,920 --> 00:08:29,657 También está creando y es de suponer el ahorro 212 00:08:29,657 --> 00:08:31,740 la máquina code-- la ceros y ones-- y eso es 213 00:08:31,740 --> 00:08:33,870 llegó a tomar hasta una cierta cantidad de espacio. 214 00:08:33,870 --> 00:08:34,429 Absolutamente. 215 00:08:34,429 --> 00:08:35,765 Así que le cuesta más espacio. 216 00:08:35,765 --> 00:08:39,289 217 00:08:39,289 --> 00:08:39,789 ¿Sí? 218 00:08:39,789 --> 00:08:43,280 >> Público: Los navegadores podría interpretar de manera diferente. 219 00:08:43,280 --> 00:08:46,770 >> DAVID J. Malan: Navegadores might interpretarlo de otro modo. 220 00:08:46,770 --> 00:08:48,622 Eso es verdad. 221 00:08:48,622 --> 00:08:50,330 Pero no estoy seguro de que soy reclamando cómoda 222 00:08:50,330 --> 00:08:51,840 eso es porque se interpreta. 223 00:08:51,840 --> 00:08:56,340 Eso es más justo porque es una implementación de un lenguaje 224 00:08:56,340 --> 00:08:58,050 que en sí tiene ambigüedades. 225 00:08:58,050 --> 00:09:01,570 Así que no es confirman que uno, pero un buen presentimiento. 226 00:09:01,570 --> 00:09:03,103 ¿Qué otra cosa podría ser el precio pagado? 227 00:09:03,103 --> 00:09:03,602 ¿Andrés? 228 00:09:03,602 --> 00:09:05,912 >> AUDIENCIA: Usted está combinando dos pasos, por lo que, por tanto, 229 00:09:05,912 --> 00:09:08,300 tienen cada vez mayor complejidad también. 230 00:09:08,300 --> 00:09:11,040 >> DAVID J. MALAN: El complex-- el aumento de la complejidad en donde? 231 00:09:11,040 --> 00:09:12,270 ¿Para quien? 232 00:09:12,270 --> 00:09:16,748 >> AUDIENCIA: Por lo tanto, en el intérprete etapa, que está combinando el intérprete 233 00:09:16,748 --> 00:09:19,120 y el compilador por sólo conduce a-- 234 00:09:19,120 --> 00:09:21,100 >> DAVID J. MALAN: Ah, OK. 235 00:09:21,100 --> 00:09:25,240 Irónicamente, es probable que sea un poco más sencillo de implementar el intérprete, 236 00:09:25,240 --> 00:09:29,530 a pesar de que parecería Upsides rendimiento de esta comodidad. 237 00:09:29,530 --> 00:09:30,550 Así que posiblemente cierto. 238 00:09:30,550 --> 00:09:32,716 Pero depende del tipo, me diría que, en el lenguaje 239 00:09:32,716 --> 00:09:35,720 y en la forma en que fueron sobre la implementación de la misma. 240 00:09:35,720 --> 00:09:38,535 No puede haber una complejidad mucho mayor, en realidad, en el compilador, 241 00:09:38,535 --> 00:09:41,410 sólo porque usted tiene que ir de algo tan alto nivel a algo 242 00:09:41,410 --> 00:09:42,560 de modo de bajo nivel. 243 00:09:42,560 --> 00:09:45,340 Sin embargo, un buen pensamiento. 244 00:09:45,340 --> 00:09:50,770 >> Así dicho de otra manera, un programa compilado, cuando se convierten en estos ceros y unos, 245 00:09:50,770 --> 00:09:54,470 termina en el idioma que la CPU habla, 246 00:09:54,470 --> 00:09:57,850 mientras que en este lado de la mundo, el programa que he escrito, 247 00:09:57,850 --> 00:10:02,527 el código que has escrito, en realidad nunca consigue convertido en el idioma real 248 00:10:02,527 --> 00:10:03,360 el equipo habla. 249 00:10:03,360 --> 00:10:04,190 Los ceros y unos. 250 00:10:04,190 --> 00:10:08,480 Se queda en el original, más humana , El lenguaje más legible de usar. 251 00:10:08,480 --> 00:10:11,720 Entonces, ¿cuál podría ser la implicación allí, si no lo hace realidad 252 00:10:11,720 --> 00:10:15,020 molestar a la conversión de su programa para el mismo lenguaje 253 00:10:15,020 --> 00:10:18,013 que el equipo subyacente habla? 254 00:10:18,013 --> 00:10:19,780 >> AUDIENCIA: ¿No podría entender algo? 255 00:10:19,780 --> 00:10:21,170 >> DAVID J. MALAN: Might No entender algo. 256 00:10:21,170 --> 00:10:23,297 Y eso puede claim-- si no entendía 257 00:10:23,297 --> 00:10:25,880 algo, que es un error o falta de figurar en el intérprete. 258 00:10:25,880 --> 00:10:28,544 Por lo que habría más de un error que un costo. 259 00:10:28,544 --> 00:10:30,419 >> AUDIENCIA: Usted tiene acceso El código fuente? 260 00:10:30,419 --> 00:10:31,877 DAVID J. MALAN: Hay una buena. 261 00:10:31,877 --> 00:10:34,140 Por lo que una desventaja aquí es que parecería tener acceso. 262 00:10:34,140 --> 00:10:37,006 Usted, el usuario final, que podría parecer tener acceso al código fuente. 263 00:10:37,006 --> 00:10:38,130 Y eso no siempre es cierto. 264 00:10:38,130 --> 00:10:39,660 Pero es cierto en el caso de JavaScript, 265 00:10:39,660 --> 00:10:41,660 lo que vamos a ver después de el descanso hoy, que 266 00:10:41,660 --> 00:10:45,720 es un lenguaje de programación interpretado que se escribe en el código fuente. 267 00:10:45,720 --> 00:10:48,890 >> Pero que el código fuente se transfiere desde el servidor al navegador 268 00:10:48,890 --> 00:10:51,392 y se ejecuta en el navegador del ser humano. 269 00:10:51,392 --> 00:10:54,350 Así que aquí sólo pudiera abrir la ventana, como lo he estado haciendo en Chrome, 270 00:10:54,350 --> 00:10:57,740 y mirarlo, como nosotros mismos mirado ayer con Google. 271 00:10:57,740 --> 00:11:00,420 Podría parecer un poco incomprensible pero está ahí. 272 00:11:00,420 --> 00:11:03,482 Así que eso es absolutamente uno precio pagado. 273 00:11:03,482 --> 00:11:04,565 AUDIENCIA: impacto en el rendimiento? 274 00:11:04,565 --> 00:11:05,020 DAVID J. MALAN: Sí. 275 00:11:05,020 --> 00:11:06,260 Y esa es la otra es problema. 276 00:11:06,260 --> 00:11:07,380 Hay un impacto en el rendimiento. 277 00:11:07,380 --> 00:11:10,100 Debido a que tiene este hombre medio, que a su vez 278 00:11:10,100 --> 00:11:13,740 es un programa, entre usted y la CPU, a diferencia 279 00:11:13,740 --> 00:11:17,880 que acaba de alimentar a estos mimbres ceros y unos en la CPU, 280 00:11:17,880 --> 00:11:21,060 hay un impacto en el rendimiento que se llevar con un lenguaje interpretado. 281 00:11:21,060 --> 00:11:24,240 De tal manera que, arbitrariamente, un programa de que podría suponemos un Segundo 282 00:11:24,240 --> 00:11:27,840 para ejecutarse en un ordenador o una minuto para ejecutar en un equipo aquí, 283 00:11:27,840 --> 00:11:32,059 podría tomar 10 segundos o 10 minutos para correr en un equipo aquí. 284 00:11:32,059 --> 00:11:35,100 Por lo general, no va a ser tan mucho de un factor de difference-- 10-- 285 00:11:35,100 --> 00:11:36,808 porque hay optimizaciones que se pueden hacer. 286 00:11:36,808 --> 00:11:38,680 Pero es casi siempre más lento. 287 00:11:38,680 --> 00:11:43,070 Ahora, la otra cara de esa preocupación es que, además ordenadores, cada 12 288 00:11:43,070 --> 00:11:45,970 a 18 meses-- según La ley de Moore, por lo que speak-- 289 00:11:45,970 --> 00:11:47,600 se acaba de conseguir más y más rápido. 290 00:11:47,600 --> 00:11:48,750 Tengo cada vez más espacio en disco. 291 00:11:48,750 --> 00:11:49,791 Tengo más y más memoria RAM. 292 00:11:49,791 --> 00:11:50,620 ¿A quien le importa? 293 00:11:50,620 --> 00:11:52,328 >> Y eso es una especie de argumento razonable. 294 00:11:52,328 --> 00:11:55,740 De hecho, una de las razones Por eso podemos tolerar más lenta 295 00:11:55,740 --> 00:11:58,480 lenguajes interpretados, porque se que los seres humanos no te das cuenta. 296 00:11:58,480 --> 00:12:00,690 Los equipos tienen conseguido tan rematadamente rápido. 297 00:12:00,690 --> 00:12:04,520 Mientras que en su día, en especial cuando el hardware fue mucho más limitado, 298 00:12:04,520 --> 00:12:06,860 que tenía menos de todo, que era mucho más caro 299 00:12:06,860 --> 00:12:10,570 así que todo cuesta más, bueno, entonces realmente quería exprimir 300 00:12:10,570 --> 00:12:12,590 tanto el rendimiento como pudiera. 301 00:12:12,590 --> 00:12:16,400 Pero la requerida por escrito en un nivel más bajo, si se quiere, 302 00:12:16,400 --> 00:12:18,090 con un lenguaje compilado. 303 00:12:18,090 --> 00:12:20,830 >> Así lo hace tomar este impacto en el rendimiento. 304 00:12:20,830 --> 00:12:24,780 Pero, en general, los aspectos positivos parecen valer la pena en estos días. 305 00:12:24,780 --> 00:12:26,850 Bueno, excepto por la tema de la propiedad intelectual. 306 00:12:26,850 --> 00:12:28,641 Ese tipo de legibilidad del código, vamos a 307 00:12:28,641 --> 00:12:30,640 volver a cuando nos fijamos en JavaScript. 308 00:12:30,640 --> 00:12:33,140 >> Así que vamos a tratar de categorizar al menos algunas de ellas. 309 00:12:33,140 --> 00:12:41,650 Así, entre los lenguajes compilados, nos tendría C, C ++, un poco, sorta, Java, 310 00:12:41,650 --> 00:12:48,120 aunque es un poco de una excepción, por razones por las que se va a aparecer en un momento. 311 00:12:48,120 --> 00:12:51,540 C # sería en esta lista. 312 00:12:51,540 --> 00:12:54,930 Vamos a ver más en solo los lenguajes más modernos. 313 00:12:54,930 --> 00:12:55,430 Todo bien. 314 00:12:55,430 --> 00:12:56,804 Y eso parece como un montón allí. 315 00:12:56,804 --> 00:13:03,500 Mientras que en este lado de la valla, podríamos tener Javascript y Python, 316 00:13:03,500 --> 00:13:08,040 y PHP y Ruby. 317 00:13:08,040 --> 00:13:13,640 Y es que basta los más recientes? 318 00:13:13,640 --> 00:13:15,410 Que se siente como un montón por ahora. 319 00:13:15,410 --> 00:13:16,330 DE ACUERDO. 320 00:13:16,330 --> 00:13:18,760 Y luego dot dot dot, ya que la lista es interminable. 321 00:13:18,760 --> 00:13:22,300 >> Y de hecho, si queremos simplemente tener una idea de esto- Wikipedia, 322 00:13:22,300 --> 00:13:24,130 lenguajes compilados. 323 00:13:24,130 --> 00:13:27,150 Supongo que podemos conseguir una lista mucho más exhaustiva. 324 00:13:27,150 --> 00:13:27,910 Así que, aquí vamos. 325 00:13:27,910 --> 00:13:30,620 Así que aquí está una lista mucho más exhaustiva. 326 00:13:30,620 --> 00:13:34,150 Y yo estaba esperando que alguien podría adivinar D como un lenguaje, porque eso también existe, 327 00:13:34,150 --> 00:13:37,747 pero se detuvieron en D parecería. 328 00:13:37,747 --> 00:13:39,330 A pesar de que podría ser en realidad una E. 329 00:13:39,330 --> 00:13:41,496 >> Oh, en realidad, esto debería estar en la lista en estos días. 330 00:13:41,496 --> 00:13:47,460 Swift es en realidad una idioma que Apple inventó 331 00:13:47,460 --> 00:13:50,302 que se utiliza ahora, cada vez Por lo tanto, en el desarrollo del iPhone. 332 00:13:50,302 --> 00:13:52,260 Pero vamos a volver a que con nuestra discusión 333 00:13:52,260 --> 00:13:54,090 de la telefonía móvil en tan sólo un poco también. 334 00:13:54,090 --> 00:13:55,260 Así Swift también. 335 00:13:55,260 --> 00:13:57,540 >> Y entonces si vamos a interpretado language-- 336 00:13:57,540 --> 00:14:05,010 language-- interpretado entonces aquí está una lista aún más larga también. 337 00:14:05,010 --> 00:14:07,260 Así que si usted acaba de Google y buscar en la Wikipedia para éstos, 338 00:14:07,260 --> 00:14:09,231 verá todo tipo de idiomas. 339 00:14:09,231 --> 00:14:10,980 Pero el objetivo es, para hoy en realidad, sólo 340 00:14:10,980 --> 00:14:13,680 se reduce a tal vez esto tema de la propiedad intelectual 341 00:14:13,680 --> 00:14:18,200 y la legibilidad por el usuario final y para rendimiento, es otro problema ya bien. 342 00:14:18,200 --> 00:14:21,080 >> Así, entre estos idiomas, vamos a ver si podemos darle 343 00:14:21,080 --> 00:14:24,487 sólo algunas muestras de las lenguas. 344 00:14:24,487 --> 00:14:26,820 No queremos pasar por todos los idiomas sin fin. 345 00:14:26,820 --> 00:14:29,720 ¿Se ha preguntado qué determinado idioma se parece? 346 00:14:29,720 --> 00:14:31,562 Sí que vimos hace un momento. 347 00:14:31,562 --> 00:14:33,520 ¿Por qué no tomamos un par de la función de las solicitudes. 348 00:14:33,520 --> 00:14:35,380 A quién le gustaría ver lo otro idioma se parece? 349 00:14:35,380 --> 00:14:35,620 Sí. 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 bien. 353 00:14:37,040 --> 00:14:38,504 Así que vamos a Java. 354 00:14:38,504 --> 00:14:42,300 355 00:14:42,300 --> 00:14:44,900 Y sólo para darle una muestra-- podríamos escribir todo esto a cabo, 356 00:14:44,900 --> 00:14:47,670 pero sería más rápido sólo para mira código de ejemplo de otra persona. 357 00:14:47,670 --> 00:14:48,170 Todo bien. 358 00:14:48,170 --> 00:14:50,330 Entonces esto es un buen ejemplo? 359 00:14:50,330 --> 00:14:52,040 Los chillidos. 360 00:14:52,040 --> 00:14:52,540 DE ACUERDO. 361 00:14:52,540 --> 00:14:58,810 Así que aquí es la versión Java de la programa que he escrito antes, "Hello World". 362 00:14:58,810 --> 00:15:01,900 >> Así Java, con frecuencia se le ver la "clase." palabra clave 363 00:15:01,900 --> 00:15:03,779 A continuación, aparecerá un nombre después de eso. 364 00:15:03,779 --> 00:15:05,570 Verás llaves como vimos antes, 365 00:15:05,570 --> 00:15:08,153 ya veces se van de la misma línea, a veces otras líneas, 366 00:15:08,153 --> 00:15:09,734 es una especie de una decisión personal. 367 00:15:09,734 --> 00:15:11,900 Verás como palabras clave "Público", "estática", "vacío". 368 00:15:11,900 --> 00:15:13,790 Pero vimos "principal". "Principal" es generalmente 369 00:15:13,790 --> 00:15:17,220 el nombre de la función por defecto o el trozo de código que por defecto 370 00:15:17,220 --> 00:15:18,760 se ejecute en un programa. 371 00:15:18,760 --> 00:15:19,330 >> "Cuerda." 372 00:15:19,330 --> 00:15:20,850 ¿Qué nos referimos con cuerdas antes? 373 00:15:20,850 --> 00:15:23,480 Lo utilicé especie de indiferencia. 374 00:15:23,480 --> 00:15:25,100 Una cadena es lo que? 375 00:15:25,100 --> 00:15:25,601 Una palabra. 376 00:15:25,601 --> 00:15:27,058 Es como una secuencia de caracteres. 377 00:15:27,058 --> 00:15:29,810 Los caracteres individuales, de nuevo a espalda con espalda, por lo general en una matriz, 378 00:15:29,810 --> 00:15:30,690 como hemos discutido. 379 00:15:30,690 --> 00:15:34,700 Y de hecho, ver esta sintaxis Aquí, los dos corchetes? 380 00:15:34,700 --> 00:15:39,210 Eso significa, eh equipo, aquí viene una matriz de cadenas. 381 00:15:39,210 --> 00:15:42,636 La notación de corchetes es comúnmente usado para denotar que. 382 00:15:42,636 --> 00:15:44,510 Y, entonces probablemente puede tomar un guess-- lo 383 00:15:44,510 --> 00:15:46,580 tiene esto pone de relieve trozo de código, probablemente hacer? 384 00:15:46,580 --> 00:15:49,737 385 00:15:49,737 --> 00:15:50,639 >> AUDIENCIA: La salida? 386 00:15:50,639 --> 00:15:51,090 >> DAVID J. MALAN: Sí. 387 00:15:51,090 --> 00:15:52,506 Se imprime algo a la pantalla. 388 00:15:52,506 --> 00:15:57,070 Por lo tanto "sistema" es una especie de referencia a su ordenador. 389 00:15:57,070 --> 00:15:59,620 "Hacia fuera" significa que su computadora de o salida de la pantalla. 390 00:15:59,620 --> 00:16:04,450 Así "En System.out.print" probablemente significa? 391 00:16:04,450 --> 00:16:05,570 "Ln". 392 00:16:05,570 --> 00:16:09,570 línea de impresión que como programadores al parecer deletrear algunas palabras a cabo 393 00:16:09,570 --> 00:16:11,820 en su totalidad y tomar accesos directos con otras palabras. 394 00:16:11,820 --> 00:16:13,260 Pero "ln" es la línea, por lo que la línea de impresión. 395 00:16:13,260 --> 00:16:17,370 Por lo tanto, imprime "Hola Mundial! ", Seguido de una nueva línea. 396 00:16:17,370 --> 00:16:18,300 >> Eso es todo. 397 00:16:18,300 --> 00:16:21,150 Pero Java es lo que van a llamada orientado a objetos. 398 00:16:21,150 --> 00:16:23,440 Y, de hecho, sólo para dar una par de otras definiciones 399 00:16:23,440 --> 00:16:26,420 hay que podría véase, en general, hay 400 00:16:26,420 --> 00:16:30,600 muchos tipos diferentes de idiomas, pero los más comunes 401 00:16:30,600 --> 00:16:37,830 son lenguas de procedimiento o imperativas. 402 00:16:37,830 --> 00:16:41,600 Hay funcional idiomas, lo cual NO 403 00:16:41,600 --> 00:16:43,790 significa que otros no son funcionales. 404 00:16:43,790 --> 00:16:47,740 Y luego está lenguajes orientados a objetos. 405 00:16:47,740 --> 00:16:51,170 Y esto es quizás el mejor categorización de la mayoría de los idiomas 406 00:16:51,170 --> 00:16:56,445 que alguna vez elegir por especie de un proyecto comercial típico. 407 00:16:56,445 --> 00:16:58,910 >> Esto sería demasiado, Creo que, por el agujero de una rata 408 00:16:58,910 --> 00:17:01,620 a bajar, para tratar de explicar las diversas diferencias. 409 00:17:01,620 --> 00:17:04,599 Pero los idiomas que hemos visto de este modo far-- C 410 00:17:04,599 --> 00:17:07,680 es un procedimiento o una lenguaje imperativo. 411 00:17:07,680 --> 00:17:11,200 Más recientemente inventado lenguas tienden a ser, lo siento, 412 00:17:11,200 --> 00:17:14,430 orientado a objetos, lo que significa que tienen otras características a ellos. 413 00:17:14,430 --> 00:17:18,130 414 00:17:18,130 --> 00:17:19,430 ¿Puedo explicarlo de esta manera? 415 00:17:19,430 --> 00:17:20,950 Vamos ni siquiera ir allí. 416 00:17:20,950 --> 00:17:25,200 >> medios orientados a objetos puede implement-- 417 00:17:25,200 --> 00:17:27,930 puede modelar el mundo real un poco más eficaz. 418 00:17:27,930 --> 00:17:29,722 La humanidad, con el tiempo, se ha dado cuenta, guau, 419 00:17:29,722 --> 00:17:32,430 sería bueno si mi lengua tenido esta función o esa característica. 420 00:17:32,430 --> 00:17:34,830 Y es por eso que tenemos hasta muchos idiomas que existen. 421 00:17:34,830 --> 00:17:37,670 La gente razonable, inteligente las personas, de acuerdo o no 422 00:17:37,670 --> 00:17:41,000 e invariablemente especie de venir juntos en el desarrollo de nuevos lenguajes todos juntos. 423 00:17:41,000 --> 00:17:41,660 >> Caso en punto. 424 00:17:41,660 --> 00:17:45,260 De Apple inventó Swift en la esperanza de bajar presumiblemente 425 00:17:45,260 --> 00:17:47,950 la barra para el desarrollo del iPhone, porque el language-- anterior 426 00:17:47,950 --> 00:17:51,080 llamado Objective-C, lo que podría También estará en nuestra lista aquí- 427 00:17:51,080 --> 00:17:54,190 era mucho más arcano y mucho más difícil para envolver alrededor de la mente de uno. 428 00:17:54,190 --> 00:17:57,690 Y a medida que la programación se está convirtiendo sin duda más accesible y más ampliamente 429 00:17:57,690 --> 00:18:00,580 adoptada por la gente incluso menos técnico, el goal-- 430 00:18:00,580 --> 00:18:04,160 que es un objetivo muy valiente para tratar de bajar la barrera de entrada al hacer 431 00:18:04,160 --> 00:18:07,400 los propios idiomas más fácil para empezar con, 432 00:18:07,400 --> 00:18:09,430 pero no menos poderosa necesariamente. 433 00:18:09,430 --> 00:18:10,560 >> Y otro idioma. 434 00:18:10,560 --> 00:18:14,110 ¿Por qué no echamos un vistazo en algo así como Python, 435 00:18:14,110 --> 00:18:18,090 lo cual es muy de moda en estos días. 436 00:18:18,090 --> 00:18:19,570 Pitón. 437 00:18:19,570 --> 00:18:20,464 Ejemplo de programa. 438 00:18:20,464 --> 00:18:24,600 439 00:18:24,600 --> 00:18:26,700 Veamos. 440 00:18:26,700 --> 00:18:28,790 lenguas "Hello World". 441 00:18:28,790 --> 00:18:30,180 Hagámoslo. 442 00:18:30,180 --> 00:18:33,625 "Hola Mundo." 443 00:18:33,625 --> 00:18:35,375 Vamos a ver si esto da somos un buen ejemplo. 444 00:18:35,375 --> 00:18:39,450 445 00:18:39,450 --> 00:18:39,950 DE ACUERDO. 446 00:18:39,950 --> 00:18:41,283 Así que esto es en realidad una especie de diversión. 447 00:18:41,283 --> 00:18:43,330 Así que si alguna vez google "Hola mundo", que 448 00:18:43,330 --> 00:18:47,000 pasa a ser uno de los primeros programas que se ha escrito en un lenguaje moderno, 449 00:18:47,000 --> 00:18:51,830 al igual que una prueba de concepto, se puede ver todo tipo de implementaciones de esta. 450 00:18:51,830 --> 00:18:54,240 >> Algunos de estos lenguajes Ni siquiera he oído hablar. 451 00:18:54,240 --> 00:18:59,770 Pero se puede ver-- vamos a Básica, la que yo aprendí hace años, en parte. 452 00:18:59,770 --> 00:19:02,720 Este era un lenguaje divertido porque se tenido que, como el programador, número de 453 00:19:02,720 --> 00:19:03,710 todas sus líneas. 454 00:19:03,710 --> 00:19:05,626 No muy diferente de lo que era haciendo cuando estaba escribiendo 455 00:19:05,626 --> 00:19:08,380 pseudocódigo en el documento amarillo anteriormente para la búsqueda binaria, 456 00:19:08,380 --> 00:19:09,580 para buscar en una guía telefónica. 457 00:19:09,580 --> 00:19:11,810 >> Y así, si querían para ir a otra línea, 458 00:19:11,810 --> 00:19:15,780 Literalmente, el tipo, ir a 10, o vaya a 20. 459 00:19:15,780 --> 00:19:19,110 Y si estás líneas, la escritura convención fue a hacer, esta es la línea 10, 460 00:19:19,110 --> 00:19:22,545 esta es la línea 20, se trata de la línea 30, 40, sin nada entre ellas, 461 00:19:22,545 --> 00:19:25,170 por lo tanto dando un poco de habitación si se decide, espera un minuto, 462 00:19:25,170 --> 00:19:27,230 Debería haber añadido algo más código en alguna parte. 463 00:19:27,230 --> 00:19:30,960 Que todavía tenía una especie de nueve posibilidades de apriete que en medio de su programa de 464 00:19:30,960 --> 00:19:33,020 antes de tener que manualmente renumerar todo. 465 00:19:33,020 --> 00:19:35,470 >> Así que esto es una especie de lo que quiero decir cuando digo que el mundo ha llegado 466 00:19:35,470 --> 00:19:36,303 con unas nuevas características. 467 00:19:36,303 --> 00:19:39,364 En algún momento alguien se dio cuenta, muchacho esto es una estupidez. 468 00:19:39,364 --> 00:19:41,280 Esto es sólo la creación de trabajar para el programador. 469 00:19:41,280 --> 00:19:44,200 Así que él o ella sólo tipo de construcción una nueva capa en la parte superior de esa 470 00:19:44,200 --> 00:19:46,910 de modo que usted no tiene que preocuparse acerca de lo que los números de línea de su código 471 00:19:46,910 --> 00:19:48,570 es en realidad en. 472 00:19:48,570 --> 00:19:54,940 >> Así que cuando usted puede elegir una u otra lengua? 473 00:19:54,940 --> 00:19:56,690 Así, cuál de estos ¿Tiende idiomas 474 00:19:56,690 --> 00:20:00,960 oír hablar de la mayor cantidad en su propio mundo en estos días? 475 00:20:00,960 --> 00:20:02,680 Vamos desplegable de Objective-C tambié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 Así que me deje de color. 480 00:20:10,310 --> 00:20:13,190 ¿Tenemos nuestro otro color en alguna parte? 481 00:20:13,190 --> 00:20:14,550 Así C #. 482 00:20:14,550 --> 00:20:16,390 Y qué sabe usted de C #? 483 00:20:16,390 --> 00:20:18,940 primavera nada a la mente? 484 00:20:18,940 --> 00:20:20,707 >> PÚBLICO: Es un lenguaje de programación. 485 00:20:20,707 --> 00:20:22,540 DAVID J. MALAN: Es una lenguaje de programación. 486 00:20:22,540 --> 00:20:23,200 DE ACUERDO. 487 00:20:23,200 --> 00:20:24,690 Eso es verdad. 488 00:20:24,690 --> 00:20:26,440 Así que estamos hablando de C #. 489 00:20:26,440 --> 00:20:29,230 C # tiende a ser utilizado en entornos Windows, 490 00:20:29,230 --> 00:20:33,550 así que si usted está escribiendo software de Microsoft para Windows, C # se utiliza con mucha frecuencia, 491 00:20:33,550 --> 00:20:38,560 ya sea por el software de escritorio, o incluso el software del teléfono en los teléfonos de Windows, 492 00:20:38,560 --> 00:20:41,820 si usted ha tenido los, o en la web, incluso demasiado. 493 00:20:41,820 --> 00:20:44,642 Y de hecho, tal vez Kareem ASP mencionado antes? 494 00:20:44,642 --> 00:20:46,600 Así que hay también estos cosas que se llaman marcos, 495 00:20:46,600 --> 00:20:51,040 el cual podemos introducir por extensión. 496 00:20:51,040 --> 00:20:53,280 Marcos, como ASP. 497 00:20:53,280 --> 00:20:55,740 Soportes para las páginas de servidor activo. 498 00:20:55,740 --> 00:20:59,880 Y esto es de código y un modo de programación 499 00:20:59,880 --> 00:21:03,490 que por lo general hace que sea más fácil para escribir aplicaciones basadas en web. 500 00:21:03,490 --> 00:21:07,530 En otras palabras, sería estupendo, súper molesto en escribir una página web 501 00:21:07,530 --> 00:21:09,469 en el lenguaje C que que hemos visto antes, 502 00:21:09,469 --> 00:21:12,510 porque tendría que usar de impresión + F, usted tendría que usar esa palabra clave 503 00:21:12,510 --> 00:21:13,940 "Principal" y las llaves. 504 00:21:13,940 --> 00:21:16,720 Una gran cantidad de sintaxis arcano y el enfoque para implementar 505 00:21:16,720 --> 00:21:19,195 algo que es bastante complejo. 506 00:21:19,195 --> 00:21:20,240 Una página web. 507 00:21:20,240 --> 00:21:23,800 >> Y así otras lenguas han evolucionado para hacer ese tipo de cosas más fácil. 508 00:21:23,800 --> 00:21:26,890 Y a su vez, la gente ha subido con marcos de trabajo, tipo de herramientas 509 00:21:26,890 --> 00:21:30,520 que puede utilizar que hacerlo aún más fácil de escribir páginas web. 510 00:21:30,520 --> 00:21:33,070 Así, por ejemplo, para hacer esto mucho más concreto, 511 00:21:33,070 --> 00:21:36,390 me deja abrir sólo una archivo de texto por un momento. 512 00:21:36,390 --> 00:21:39,380 >> Y se puede recordar ayer que nos dijo algo 513 00:21:39,380 --> 00:21:41,210 como, esto es una página web. 514 00:21:41,210 --> 00:21:42,300 HTML. 515 00:21:42,300 --> 00:21:45,340 Cerrar HTML. 516 00:21:45,340 --> 00:21:48,500 Déjame saltar la cabeza y acaba de hacer el cuerpo aquí. 517 00:21:48,500 --> 00:21:52,810 Supongamos que yo quería escribir no "Hello World" 518 00:21:52,810 --> 00:21:57,020 pero "Hola David," donde David es el nombre del usuario actualmente conectado. 519 00:21:57,020 --> 00:22:00,270 Algo así como lo ASP va a hacer, o JSP-- 520 00:22:00,270 --> 00:22:04,060 el cual es el servidor de Java o pages-- cualquier número de otros marcos 521 00:22:04,060 --> 00:22:05,435 es que no son lenguas, per se. 522 00:22:05,435 --> 00:22:07,351 Son como software adicional que se 523 00:22:07,351 --> 00:22:10,490 e instalarla en su entorno eso solo hace que sea más fácil de programar. 524 00:22:10,490 --> 00:22:15,670 >> Así, por ejemplo, en lugar de tener que hacer algo así como "hola, printf (" David ")" 525 00:22:15,670 --> 00:22:17,510 o algo que es tipo de co-mingling-- 526 00:22:17,510 --> 00:22:20,840 el tipo de código que hemos visto antes-- que haría algo mucho más simple, 527 00:22:20,840 --> 00:22:26,190 como "% name." 528 00:22:26,190 --> 00:22:28,660 Y por lo que estos marcos, como ASP-- y yo 529 00:22:28,660 --> 00:22:31,212 No recuerdo si me estoy haciendo la sintaxis correcta para ASP. 530 00:22:31,212 --> 00:22:33,100 JSP es un poco-- es esto correcto? 531 00:22:33,100 --> 00:22:36,500 >> Así que con ASP, esto es una especie de sintaxis especial 532 00:22:36,500 --> 00:22:39,830 que algunos desarrolladores han decidido esto podría ayudar a la gente. 533 00:22:39,830 --> 00:22:43,000 Y puedo expresar de forma más sucinta marcadores de posición, por ejemplo. 534 00:22:43,000 --> 00:22:47,187 Al igual que poner un valor aquí, donde este nombre valor no es N-A-H-E, 535 00:22:47,187 --> 00:22:48,520 que es algún valor almacenado en ese país. 536 00:22:48,520 --> 00:22:50,728 Así que "nombre", en este contexto, que llamaríamos una variable. 537 00:22:50,728 --> 00:22:52,760 Álgebra tiene variables al igual que x e y, y z. 538 00:22:52,760 --> 00:22:56,021 Los programadores usan variables que son más descriptivo que x, y, z, 539 00:22:56,021 --> 00:22:56,520 típicamente. 540 00:22:56,520 --> 00:23:01,020 Así que "nombre", literalmente, sería una especie del contenedor de la memoria para algo así como 541 00:23:01,020 --> 00:23:05,440 D-A-V-me-D, por mi nombre, o quien lo demás se registra en el sitio web. 542 00:23:05,440 --> 00:23:09,300 >> Y por lo que este es el tipo de conveniencia que se obtiene con ciertos ambientes. 543 00:23:09,300 --> 00:23:14,220 Así C # y ASP algo así como lo haría muy comúnmente ser utilizado en un mundo de Windows, 544 00:23:14,220 --> 00:23:16,460 ya sea para su escritorio software o servidor web, 545 00:23:16,460 --> 00:23:21,490 especialmente si los servidores son a su vez que ejecuta Microsoft Windows y Microsoft 546 00:23:21,490 --> 00:23:25,810 IIS-- o Internet Information Servidor, si consigo el acrónimo derecha- 547 00:23:25,810 --> 00:23:27,800 que es el servidor web de Microsoft. 548 00:23:27,800 --> 00:23:30,820 >> Entonces, ¿qué otros idiomas son personas familiarizadas con, 549 00:23:30,820 --> 00:23:35,228 o ha oído hablar de ¿más a menudo que no? 550 00:23:35,228 --> 00:23:38,262 >> AUDIENCIA: Sé que Python tipo de un popular [inaudible]. 551 00:23:38,262 --> 00:23:39,470 DAVID J. MALAN: Muy popular. 552 00:23:39,470 --> 00:23:45,490 Así Python aquí se utiliza muy a menudo en aplicaciones científicas o datos 553 00:23:45,490 --> 00:23:48,330 la ciencia, donde se tiene una gran cantidad de los datos que desea analizar 554 00:23:48,330 --> 00:23:50,413 y desea utilizar una lenguaje de programación para ello. 555 00:23:50,413 --> 00:23:53,640 R comúnmente podría ser utilizado para que así, en un contexto estadístico. 556 00:23:53,640 --> 00:23:56,400 Pero Python tiene tantos características incorporadas. 557 00:23:56,400 --> 00:23:58,850 Tantos adicional bibliotecas, como dicen las personas. 558 00:23:58,850 --> 00:24:01,260 >> Las bibliotecas son simplemente colecciones de código que otras personas 559 00:24:01,260 --> 00:24:04,218 escribió que se puede utilizar para que no tienen que reinventar esas ruedas. 560 00:24:04,218 --> 00:24:07,430 Y lo que Python es muy comúnmente utilizado en aplicaciones de las ciencias de datos. 561 00:24:07,430 --> 00:24:09,930 Pero también es muy frecuente utilizado en aplicaciones web. 562 00:24:09,930 --> 00:24:12,780 Puede implementar una dinámica sitio web utilizando Python. 563 00:24:12,780 --> 00:24:15,210 >> Y por el sitio web dinámico, me significa no sólo el contenido estático 564 00:24:15,210 --> 00:24:19,530 como hemos creado ayer, por simplemente es difícil de codificación en el texto latino 565 00:24:19,530 --> 00:24:21,820 y otras cosas, sino más bien la capacidad 566 00:24:21,820 --> 00:24:25,367 que entrar, la capacidad de comprar algo, la capacidad para ver 567 00:24:25,367 --> 00:24:26,950 con sus carritos de la compra, o similares. 568 00:24:26,950 --> 00:24:30,590 Todo eso requiere dinamismo y se necesitará algún lenguaje como uno de ellos. 569 00:24:30,590 --> 00:24:35,060 >> AUDIENCIA: Entonces, ¿Python tiene su propio extensión, de forma similar a como [inaudible] 570 00:24:35,060 --> 00:24:36,060 DAVID J. MALAN: Lo hace. 571 00:24:36,060 --> 00:24:42,250 Por lo que en el mundo de Python, Django es un marco muy popular para Python. 572 00:24:42,250 --> 00:24:46,520 WSGI es otro mecanismo que es tipo de diferente de esta 573 00:24:46,520 --> 00:24:47,640 pero similar en espíritu. 574 00:24:47,640 --> 00:24:52,200 Es un add-on que permite para ejecutar código Python en el servidor. 575 00:24:52,200 --> 00:24:53,950 Hay otro-- sí. 576 00:24:53,950 --> 00:24:57,250 Así que estos llamaremos marcos. 577 00:24:57,250 --> 00:24:58,870 Y es un poco de un abuso. 578 00:24:58,870 --> 00:25:00,920 Esto es más de una tecnología de servidor web. 579 00:25:00,920 --> 00:25:04,610 Pero hay que guardar el simple y ponemos en esta columna, no obstante. 580 00:25:04,610 --> 00:25:05,780 >> DE ACUERDO. 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 Otra cosa-- y, de hecho, mucho Me muevo que a su propia columna, 584 00:25:12,100 --> 00:25:17,000 porque me gustaría gritar a mí mismo por poniéndolos en el mismo cubo. 585 00:25:17,000 --> 00:25:24,910 Vamos a poner esto en el servidor características, digamos. 586 00:25:24,910 --> 00:25:26,710 Eso no es un término técnico. 587 00:25:26,710 --> 00:25:29,180 >> Así que aquí podríamos ser WSGI. 588 00:25:29,180 --> 00:25:32,580 Hay CGI, que es una más antigua técnica para que sirve idiomas 589 00:25:32,580 --> 00:25:35,890 como Perl o PHP, o algunos otros. 590 00:25:35,890 --> 00:25:39,000 Una vez más, he mencionado estos términos no tanto para arraigar tipo de ellos, 591 00:25:39,000 --> 00:25:40,749 pero por lo que si ves ellos se trata de algo 592 00:25:40,749 --> 00:25:42,130 simplemente Google para leer más. 593 00:25:42,130 --> 00:25:46,110 No hay verdadero jugo a algunas de estas cosas. 594 00:25:46,110 --> 00:25:47,850 >> Pero volvamos a los idiomas. 595 00:25:47,850 --> 00:25:50,499 Hablamos de C #, Python. 596 00:25:50,499 --> 00:25:52,790 ¿Qué otra cosa podría utilizar para programación de estos días web? 597 00:25:52,790 --> 00:25:54,302 Vamos a centrarnos en que todavía. 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 Y volvamos a esa pregunta. 601 00:25:57,413 --> 00:25:59,310 Así que PHP es muy usada. 602 00:25:59,310 --> 00:26:01,560 PHP tiende a tener una mala reputación. 603 00:26:01,560 --> 00:26:05,790 Empezó como un lenguaje implementado por personas que tal vez no eran necesariamente 604 00:26:05,790 --> 00:26:06,960 los mejores diseñadores del lenguaje. 605 00:26:06,960 --> 00:26:11,290 Y para que pueda leer todo tipo de artículos en línea de lo mal que PHP es. 606 00:26:11,290 --> 00:26:13,660 Y, por desgracia, esto es una manifestación, en parte, 607 00:26:13,660 --> 00:26:18,727 de sólo los debates religiosos que estallan entre los programadores. 608 00:26:18,727 --> 00:26:20,560 Y esto es algo vale la pena tener en cuenta, 609 00:26:20,560 --> 00:26:24,410 desde un punto de vista comercial, que que es muy fácil para los técnicos 610 00:26:24,410 --> 00:26:26,900 para obtener todos sus estados, con su opiniones sobre ciertas cosas. 611 00:26:26,900 --> 00:26:29,566 Y no significa necesariamente que el que grita más fuerte 612 00:26:29,566 --> 00:26:31,870 o con el más fuerte, opinión más enojado que es correcto. 613 00:26:31,870 --> 00:26:34,100 Muchas veces, lo que realmente simplemente no importa. 614 00:26:34,100 --> 00:26:37,970 >> Y así la gente está discutiendo lo sus propios prejuicios o zonas de confort son. 615 00:26:37,970 --> 00:26:40,760 Y por lo que debe mantener esto en mente al hacer 616 00:26:40,760 --> 00:26:42,622 una decisión, que se acaba porque alguien dice 617 00:26:42,622 --> 00:26:45,080 este es el lenguaje adecuado para el trabajo, que podría ser cierto, 618 00:26:45,080 --> 00:26:48,350 pero también sólo sea así es el idioma correcto dentro de su propia habilidad 619 00:26:48,350 --> 00:26:49,267 establecer o zona de confort. 620 00:26:49,267 --> 00:26:52,600 Lo cual no es malo, pero usted debe darse cuenta que podría haber algún contexto allí. 621 00:26:52,600 --> 00:26:54,440 Hay algunos objetivamente declaraciones equivocadas, 622 00:26:54,440 --> 00:26:59,080 como C es el lenguaje incorrecto utilizar en estos días para la implementación de sitios web 623 00:26:59,080 --> 00:27:00,520 casi siempre. 624 00:27:00,520 --> 00:27:03,370 Pero no es razonable decir que cualquiera de estos 625 00:27:03,370 --> 00:27:05,700 están equivocados que hemos guiaron hasta el momento. 626 00:27:05,700 --> 00:27:08,180 >> PHP ha pasado por muchas versiones. 627 00:27:08,180 --> 00:27:11,310 Así lenguas tienden a tener versión números asociados con ellos. 628 00:27:11,310 --> 00:27:15,390 PHP es hasta, creo, ahora la versión 7, así que ha sido de alrededor durante bastante tiempo. 629 00:27:15,390 --> 00:27:18,270 Y como lenguas consiguen más reciente, A menudo se ven nuevas características. 630 00:27:18,270 --> 00:27:22,510 Pero hay que ser conscientes de esta porque si su sitio web ha sido 631 00:27:22,510 --> 00:27:27,539 implementado en la versión 7 de PHP, pero usted está tratando de ejecutar su sitio web, 632 00:27:27,539 --> 00:27:29,830 o tal vez usted ha externalizado el desarrollo de su código 633 00:27:29,830 --> 00:27:31,960 a otra persona y que le envíen a usted o enviarlo a usted 634 00:27:31,960 --> 00:27:33,960 y dicen, aquí, puso esto en su servidor web, 635 00:27:33,960 --> 00:27:36,610 si su servidor web es de unos pocos outdated-- años si se trata de 636 00:27:36,610 --> 00:27:39,465 su propio servidor web o una host-- que en realidad no podría funcionar. 637 00:27:39,465 --> 00:27:41,340 Así que estos son los tipos de las cosas que alguien 638 00:27:41,340 --> 00:27:44,067 hay que tener en cuenta cuando se actualiza un sitio 639 00:27:44,067 --> 00:27:45,650 o su aplicación por primera vez. 640 00:27:45,650 --> 00:27:46,900 >> Oí JavaScript anterior. 641 00:27:46,900 --> 00:27:50,570 Así JavaScript es una interesante uno en que, en general 642 00:27:50,570 --> 00:27:53,030 lado del cliente, como veremos Tras el descanso, el cual 643 00:27:53,030 --> 00:27:55,000 significa que se ejecuta en el navegador del usuario. 644 00:27:55,000 --> 00:27:58,400 Pero también se puede ejecutar JavaScript estos días 645 00:27:58,400 --> 00:28:03,450 usando algo llamado Node.js Node.js, en su 646 00:28:03,450 --> 00:28:08,000 es un mecanismo para ejecutar código JavaScript del lado del servidor, 647 00:28:08,000 --> 00:28:12,430 en lugar de utilizar Python, o PHP, u otros idiomas. 648 00:28:12,430 --> 00:28:17,820 >> JavaScript está particularmente bien adaptado para aplicaciones de chat y en tiempo real 649 00:28:17,820 --> 00:28:22,050 aplicaciones, mientras que PHP no es un gran idioma para la aplicación de algo 650 00:28:22,050 --> 00:28:25,050 como un servidor de chat, donde los usuarios Permanezca conectado a él constantemente. 651 00:28:25,050 --> 00:28:28,760 PHP es más de una visita me una vez, volver consecuencia, 652 00:28:28,760 --> 00:28:31,790 y haga clic en otro enlace alguna segundos o minutos a partir de ahora. 653 00:28:31,790 --> 00:28:36,020 Mientras que Node.js y JavaScript puede haber utilizado más para las conexiones persistentes. 654 00:28:36,020 --> 00:28:40,840 Otros idiomas que sospecha se utilizan comúnmente para la materia de la web? 655 00:28:40,840 --> 00:28:42,800 >> AUDIENCIA: ¿Quieres ser un marco jQuery? 656 00:28:42,800 --> 00:28:44,050 >> DAVID J. MALAN: Buena pregunta. 657 00:28:44,050 --> 00:28:44,700 Ninguno. 658 00:28:44,700 --> 00:28:51,210 Yo llamaría jQuery una biblioteca, donde de nuevo una biblioteca es sólo un montón de código 659 00:28:51,210 --> 00:28:53,250 que alguien más tiene escrito que generalmente 660 00:28:53,250 --> 00:28:56,390 soluciona algunos problemas que lo hace, es de esperar, más fácil 661 00:28:56,390 --> 00:28:57,760 para que usted pueda hacer su trabajo. 662 00:28:57,760 --> 00:29:00,820 Y déjame hacer un ejemplo de esto en el contexto de la web. 663 00:29:00,820 --> 00:29:03,910 >> En el contexto de la web hay este lenguaje, JavaScript, 664 00:29:03,910 --> 00:29:06,690 que veremos más adelante, mediante el cual se podría decir algo como esto- 665 00:29:06,690 --> 00:29:10,060 "Document.getElementById." 666 00:29:10,060 --> 00:29:11,490 Y ¿qué me llamo ayer? 667 00:29:11,490 --> 00:29:16,800 En primer lugar, creo, fue el único de identificación que di a un elemento que se veía así. 668 00:29:16,800 --> 00:29:23,110 "P id =" primera ">" y luego tuvimos así como "lorem ipsum", etcétera. 669 00:29:23,110 --> 00:29:28,210 Así que si estuviera escribiendo un programa en JavaScript para manipular de alguna manera, 670 00:29:28,210 --> 00:29:30,830 cambiar las páginas web que nos estaban jugando con el ayer, 671 00:29:30,830 --> 00:29:33,010 Me gustaría utilizar esta la línea resaltada de código 672 00:29:33,010 --> 00:29:38,700 para conseguir ese fragmento particular de HTML de mi página, que nodo en particular, 673 00:29:38,700 --> 00:29:39,680 como lo llamaremos. 674 00:29:39,680 --> 00:29:44,540 >> Sin embargo, en jQuery, en lugar de escribir esto, que es code-- JavaScript prima 675 00:29:44,540 --> 00:29:48,870 justo fuera de la caja, así es como se escribir it-- debe en su lugar simplemente decir, 676 00:29:48,870 --> 00:29:50,260 "#primero." 677 00:29:50,260 --> 00:29:52,330 Eso es equivalente. 678 00:29:52,330 --> 00:29:56,040 Y así, basándose sólo en este preciso ejemplo arcano, lo que quizá 679 00:29:56,040 --> 00:29:57,870 es el argumento para el uso de jQuery? 680 00:29:57,870 --> 00:30:01,390 681 00:30:01,390 --> 00:30:05,111 ¿Por qué un desarrollador utilizar una biblioteca como jQuery, en base a este ejemplo aislado, 682 00:30:05,111 --> 00:30:05,610 ¿quizás? 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: Sí. 685 00:30:06,780 --> 00:30:07,530 Es menos código. 686 00:30:07,530 --> 00:30:09,070 Es sólo más rápido que escribir. 687 00:30:09,070 --> 00:30:11,690 El contrapunto es que se parece más aterrador. 688 00:30:11,690 --> 00:30:13,540 Realmente no se puede leer de izquierda a derecha. 689 00:30:13,540 --> 00:30:16,730 De hecho, debido a que es sobre todo de puntuación ahora en lugar de palabras reales, 690 00:30:16,730 --> 00:30:20,950 Puedo inferir que tipo de "Document.getElementById" recibe 691 00:30:20,950 --> 00:30:23,640 un elemento del documento por su ID. 692 00:30:23,640 --> 00:30:26,750 Realmente puedo utilizar tal mnemotécnicos de esta cosa aquí. 693 00:30:26,750 --> 00:30:27,680 >> Así que es una solución de compromiso. 694 00:30:27,680 --> 00:30:30,763 Hay una sofisticación que viene a menudo con el 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 la realidad es jQuery tiene una especie de convertirse en un estándar de facto, 697 00:30:34,700 --> 00:30:38,110 por lo que casi cualquier persona éstas días que escribe código JavaScript 698 00:30:38,110 --> 00:30:41,520 utiliza jQuery o algo gusta, y ya no escribe 699 00:30:41,520 --> 00:30:45,200 a expresiones tales como prolijas esto, porque una vez más, la humanidad 700 00:30:45,200 --> 00:30:47,850 ha aprendido, wow, eso fue una especie de oportunidad perdida 701 00:30:47,850 --> 00:30:49,030 para hacer nuestra vida más fácil. 702 00:30:49,030 --> 00:30:51,140 Así que los seres humanos hacen su vida más fácil. 703 00:30:51,140 --> 00:30:53,310 Buena pregunta. 704 00:30:53,310 --> 00:30:55,870 >> Otros idiomas a tener en cuenta. 705 00:30:55,870 --> 00:30:58,660 Yo diría que en medio de esta Lista de Ruby es bastante popular. 706 00:30:58,660 --> 00:31:01,310 Y así, en el mundo de la Ruby, hay un marco 707 00:31:01,310 --> 00:31:03,590 llamados carriles, que es muy popular. 708 00:31:03,590 --> 00:31:06,880 Así Ruby on Rails es una comúnmente utilizado expresión. 709 00:31:06,880 --> 00:31:10,330 También en este mundo, me dejó círculo de Java para la materia de la web, 710 00:31:10,330 --> 00:31:14,160 donde en el mundo de Java es posible que tenga JSP, o Java 711 00:31:14,160 --> 00:31:18,450 Servlets, que es una tecnología común. 712 00:31:18,450 --> 00:31:22,560 Y esto es sólo una vez más formas de utilizar que el lenguaje en un entorno de servidor. 713 00:31:22,560 --> 00:31:23,520 >> Entonces, ¿qué significa esto? 714 00:31:23,520 --> 00:31:25,770 Si usted tiene un físico servidor, que, literalmente, lo haría 715 00:31:25,770 --> 00:31:30,510 descargar el software de servidor web e instalarlo de forma tal 716 00:31:30,510 --> 00:31:33,510 que tiene el apoyo de uno de estos marcos, con el que se 717 00:31:33,510 --> 00:31:37,260 podría, a su vez, utilizar una o más de estos idiomas. 718 00:31:37,260 --> 00:31:40,260 Y en realidad, si se suscribe a como un proveedor de alojamiento web o parte de la nube 719 00:31:40,260 --> 00:31:41,968 los servicios que hablamos de ayer, a menudo 720 00:31:41,968 --> 00:31:44,885 la materia apenas viene con el la configuración de la máquina para usted. 721 00:31:44,885 --> 00:31:46,510 No es necesario instalar esto manualmente. 722 00:31:46,510 --> 00:31:51,040 Pero si lo hiciera, aquí es donde el papel del administrador del sistema, por así decirlo, 723 00:31:51,040 --> 00:31:51,860 entra en juego. 724 00:31:51,860 --> 00:31:54,151 Él o ella realmente haría este tipo de cosas para usted, 725 00:31:54,151 --> 00:31:58,510 o el llamado webmaster a menudo había de hacer esto para usted. 726 00:31:58,510 --> 00:31:59,010 Todo bien. 727 00:31:59,010 --> 00:32:03,300 ¿Tiene preguntas sobre algunos de estos aquí? 728 00:32:03,300 --> 00:32:06,690 O posibilidades de todos a preguntar acerca de idiomas? 729 00:32:06,690 --> 00:32:09,500 Marcos? 730 00:32:09,500 --> 00:32:11,530 A continuación voy a presentar sólo una otra biblioteca 731 00:32:11,530 --> 00:32:13,150 eso es también muy común en estos días. 732 00:32:13,150 --> 00:32:15,340 Esta lista podría seguir infinitamente. 733 00:32:15,340 --> 00:32:19,140 >> Y esta biblioteca es una especie de empezando a caer en desgracia. 734 00:32:19,140 --> 00:32:19,850 Que ha estado presente. 735 00:32:19,850 --> 00:32:22,040 Fue popularizado por Twitter desde hace algún tiempo. 736 00:32:22,040 --> 00:32:24,470 Y ahora un montón de sitios web, muchos desarrolladores utilizan. 737 00:32:24,470 --> 00:32:26,629 Pero las cosas están llegando nuevos y llegando a lo largo. 738 00:32:26,629 --> 00:32:29,420 Pero permítanme darles un sentido de lo que significa usar una biblioteca. 739 00:32:29,420 --> 00:32:32,250 Así que de nuevo, JavaScript es un lenguaje muy popular. 740 00:32:32,250 --> 00:32:35,340 CSS o Cascading Style Sheets, hablamos de ayer. 741 00:32:35,340 --> 00:32:36,600 Eso, también, es omnipresente. 742 00:32:36,600 --> 00:32:40,130 Nadie hace una página web hoy en día sin el uso de HTML y CSS mínimamente. 743 00:32:40,130 --> 00:32:42,510 Pero no siempre es fácil para hacer ciertas cosas. 744 00:32:42,510 --> 00:32:46,281 >> Y así me dejó ir a getbootstrap.com. 745 00:32:46,281 --> 00:32:46,780 Los chillidos. 746 00:32:46,780 --> 00:32:48,280 Eso no es cómo escribimos. 747 00:32:48,280 --> 00:32:52,410 Getbootstrap.com, que me va a llevar 748 00:32:52,410 --> 00:32:56,140 a la página de destino para esta biblioteca. 749 00:32:56,140 --> 00:32:59,720 Por lo que generosamente llaman a sí mismos un marco, que 750 00:32:59,720 --> 00:33:02,032 es una especie de especie de feria, pero me gustaría volver a llamarlo 751 00:33:02,032 --> 00:33:03,490 más de una biblioteca de un marco. 752 00:33:03,490 --> 00:33:05,760 Pero estos son simplemente semántica discutibles. 753 00:33:05,760 --> 00:33:12,360 Déjame ir a su ficha y CSS quiero ir a algo como esto. 754 00:33:12,360 --> 00:33:15,450 >> Así que recuerdan lo que veían nuestros formularios como ayer en Cloud9? 755 00:33:15,450 --> 00:33:16,370 Fue bastante feo. 756 00:33:16,370 --> 00:33:17,320 botones de la vieja escuela. 757 00:33:17,320 --> 00:33:20,420 Creo que el botón era gris por defecto. Y todo estaba muy 758 00:33:20,420 --> 00:33:22,420 formato muy desordenadamente. 759 00:33:22,420 --> 00:33:26,940 Así que si usted quiere que sus formularios web para buscar un poco nicer-- me dejó el zoom aquí. 760 00:33:26,940 --> 00:33:30,050 >> Y por más agradable que en realidad sólo significa una estética muy quisquillosa. 761 00:33:30,050 --> 00:33:35,390 Así notar cómo la casilla de correo electrónico no tiene unas esquinas redondeadas rectangulares a ella. 762 00:33:35,390 --> 00:33:37,010 Así que es un poco más limpio allí. 763 00:33:37,010 --> 00:33:40,770 Nótese que la palabra de correo electrónico es allí hasta que comience a escribir 764 00:33:40,770 --> 00:33:41,797 y luego se va. 765 00:33:41,797 --> 00:33:43,130 Así que esa es una característica poco agradable. 766 00:33:43,130 --> 00:33:46,046 Observe cómo la cosa es una especie de brillando muy bien, que algo de esto se 767 00:33:46,046 --> 00:33:49,069 obtener de forma gratuita desde su navegador, pero algo de esto es también bibliotecas, 768 00:33:49,069 --> 00:33:51,360 código que otras personas tienen escrito que le da esto. 769 00:33:51,360 --> 00:33:53,480 >> Algo como esto me da mi contraseña. 770 00:33:53,480 --> 00:33:58,480 Este botón es un poco más atractivo que el defecto. Muy en boga en este momento. 771 00:33:58,480 --> 00:34:03,570 Desde iOS 7 o menos, la mundo se ha vuelto muy plana, 772 00:34:03,570 --> 00:34:09,000 mientras que el mundo tenía antes un montón de sombras, un montón 773 00:34:09,000 --> 00:34:11,040 de reflexiones sobre los iconos. 774 00:34:11,040 --> 00:34:14,170 Al igual que en el mundo de la ropa, hay tendencias de la moda que van y vienen. 775 00:34:14,170 --> 00:34:16,190 Ahora todo es plano en su teléfono. 776 00:34:16,190 --> 00:34:19,159 >> De hecho, botones de su iPhone son ahora sólo enlaces azules. 777 00:34:19,159 --> 00:34:21,000 No hay a menudo incluso botones circulares. 778 00:34:21,000 --> 00:34:22,791 Así que estos son sólo cosas que entrar y salir 779 00:34:22,791 --> 00:34:26,659 de vestir de moda, por lo que esta es la forma en que podría hacer que un formulario web más moderno. 780 00:34:26,659 --> 00:34:27,159 Botones. 781 00:34:27,159 --> 00:34:29,190 Así Bootstrap tiene un montón de botones bonitos. 782 00:34:29,190 --> 00:34:33,639 Así que si quieres botones de color azul, botones de color verde, azul, naranja, rojo. 783 00:34:33,639 --> 00:34:35,840 Bootstrap hace que sea más fácil para hacer estas cosas. 784 00:34:35,840 --> 00:34:38,131 Estos son el tipo de cosas que a pesar de todo pudo 785 00:34:38,131 --> 00:34:41,840 han hecho ayer con CSS y con HTML, pero es sólo un dolor en el cuello. 786 00:34:41,840 --> 00:34:44,840 Y así, en cambio, lo que haría Bootstrap tienes que haces es algo como esto. 787 00:34:44,840 --> 00:34:48,960 >> Si quieres un button-- Resulta que este es una etiqueta HTML que no usamos yesterday-- 788 00:34:48,960 --> 00:34:53,070 y usted quiere que se vea como este botón verde, 789 00:34:53,070 --> 00:34:57,380 que, literalmente, sólo le dan una clase, lo cual nos hizo hablar ayer, 790 00:34:57,380 --> 00:34:59,710 de "btn btn-éxito". 791 00:34:59,710 --> 00:35:00,971 >> ¿Por qué esas palabras? 792 00:35:00,971 --> 00:35:03,470 Twitter, los autores de Bootstrap, llegó con esas palabras. 793 00:35:03,470 --> 00:35:05,428 Podrían haber llamado ellas lo que quieran. 794 00:35:05,428 --> 00:35:08,480 Pero lo que está recibiendo ahora es otra persona en Twitter, en este caso, 795 00:35:08,480 --> 00:35:12,360 ha descubierto cómo se hace un botón de un aspecto agradable y limpio y verde. 796 00:35:12,360 --> 00:35:15,580 Se envasan hasta que la funcionalidad en una clase CSS, llamado "Bot" 797 00:35:15,580 --> 00:35:19,790 y "btn-éxito", por lo que cualquiera de nosotros puede ahora la usan sin pensar 798 00:35:19,790 --> 00:35:20,290 eso. 799 00:35:20,290 --> 00:35:22,880 Por lo que han abstraído la noción de un botón verde 800 00:35:22,880 --> 00:35:25,320 así que no tenemos que preocuparse la aplicación de nosotros mismos. 801 00:35:25,320 --> 00:35:28,520 De hecho, podemos centrarse en la aplicación cosas de interés para nosotros. 802 00:35:28,520 --> 00:35:30,902 >> Si nos desplazamos hasta aquí. 803 00:35:30,902 --> 00:35:32,110 Mensajes de error en la pantalla. 804 00:35:32,110 --> 00:35:35,440 A veces quieres un pequeño mensaje a aparecer en la parte superior del navegador. 805 00:35:35,440 --> 00:35:39,729 Cualquiera de nosotros podría hacer esto con un poco de esfuerzo, después de la lección de ayer, 806 00:35:39,729 --> 00:35:40,770 pero ¿por qué molestarse? 807 00:35:40,770 --> 00:35:42,540 Eso es un poco interesante tales detalle estético. 808 00:35:42,540 --> 00:35:44,248 Pongámonos de pie en el hombros de Bootstrap 809 00:35:44,248 --> 00:35:49,440 y dejar que ellos nos dan cosas como esta, en el que, literalmente, para obtener un cuadro rojo, 810 00:35:49,440 --> 00:35:53,220 sólo hay que hacer un párrafo etiqueta con una clase de-- lo siento. 811 00:35:53,220 --> 00:35:57,307 "Bg-peligro" nos daría esta caja rojizo en su lugar. 812 00:35:57,307 --> 00:35:59,140 Ahora vamos a ir a la cosas más interesantes. 813 00:35:59,140 --> 00:36:02,950 Si vuelvo a ir a la parte superior de esta página y vaya a Componentes, 814 00:36:02,950 --> 00:36:05,380 Ahora el mundo se vuelve más interesante. 815 00:36:05,380 --> 00:36:08,826 Por ejemplo, es muy común menús desplegables como este. 816 00:36:08,826 --> 00:36:11,560 Esto sería un absoluto dolor de implementar. 817 00:36:11,560 --> 00:36:13,610 Y no fue tan largo hace que nosotros los programadores 818 00:36:13,610 --> 00:36:16,490 tendría que poner en práctica estos tipos de menús a partir de cero. 819 00:36:16,490 --> 00:36:20,800 >> Pero es un paradigma común que las bibliotecas como Bootstrap 820 00:36:20,800 --> 00:36:25,230 sólo le dará la posibilidad de hacer una del menú desplegable mucho, mucho más fácilmente. 821 00:36:25,230 --> 00:36:27,850 No hay una manera de hacerlo, pero si leo la documentación 822 00:36:27,850 --> 00:36:32,100 Me gustaría ver que, bien, yo debería utilizar este código HTML si quiero un menú desplegable 823 00:36:32,100 --> 00:36:34,030 que se comporta de esa manera. 824 00:36:34,030 --> 00:36:36,690 >> Del mismo modo, vamos a ir al botón desplegable. 825 00:36:36,690 --> 00:36:38,470 Así que esto es aún más elegante. 826 00:36:38,470 --> 00:36:41,800 Si yo quiero que esto parezca un botón pero significa que pequeño triángulo 827 00:36:41,800 --> 00:36:44,080 Debería hacer clic en él y obtener este menú, 828 00:36:44,080 --> 00:36:45,760 es el uso de un lenguaje llamado JavaScript. 829 00:36:45,760 --> 00:36:47,470 Y todo lo que podíamos poner en práctica esto en JavaScript. 830 00:36:47,470 --> 00:36:49,720 Pero, de nuevo, esto es una rueda usted no quiere que reinventar. 831 00:36:49,720 --> 00:36:52,700 Lo único que quiere quitárselo la biblioteca estante para esto. 832 00:36:52,700 --> 00:36:58,145 >> Vayamos a algo como barras de progreso. 833 00:36:58,145 --> 00:36:59,770 Así que algo como esto es una especie de fresco. 834 00:36:59,770 --> 00:37:02,910 Si alguna vez has visto un progreso moviéndose por la pantalla de barras, 835 00:37:02,910 --> 00:37:06,380 la aplicación de esa frecuencia es sólo un icono que gira. 836 00:37:06,380 --> 00:37:10,200 De hecho, al igual que un aparte, y mucho Me voy a la Ajax-- ¿qué es? 837 00:37:10,200 --> 00:37:10,710 Datos de Ajax? 838 00:37:10,710 --> 00:37:11,720 Los chillidos. 839 00:37:11,720 --> 00:37:13,035 Ajaxinfo. 840 00:37:13,035 --> 00:37:14,800 Que recuerde la dirección. 841 00:37:14,800 --> 00:37:15,820 Aquí vamos. 842 00:37:15,820 --> 00:37:19,850 >> Así que si alguna vez has visto algo de animación mientras que la página se carga, o pensando, 843 00:37:19,850 --> 00:37:25,410 o el ahorro, o la creación de algo, podría ver animaciones como éstas. 844 00:37:25,410 --> 00:37:28,800 Así que vamos a ver algo como éste aquí, 845 00:37:28,800 --> 00:37:33,550 y vamos a elegir un color de primer plano verde, que se siente tipo de ambiente. 846 00:37:33,550 --> 00:37:34,545 ¿Puedo hacer clic esto? 847 00:37:34,545 --> 00:37:35,500 Viene uno. 848 00:37:35,500 --> 00:37:36,000 DE ACUERDO. 849 00:37:36,000 --> 00:37:38,930 Sólo tendremos que ir con rojo porque eso es lo que estamos consiguiendo. 850 00:37:38,930 --> 00:37:40,250 Así que aquí lo tenemos. 851 00:37:40,250 --> 00:37:43,940 >> Así que si alguna vez has visto esto en una pantalla, por lo que de repente aparece y luego 852 00:37:43,940 --> 00:37:47,550 de repente desaparece, lo que es lo que es la aplicación de esa? 853 00:37:47,550 --> 00:37:48,970 Bueno, esto es sólo un GIF. 854 00:37:48,970 --> 00:37:52,850 G-I-F. Y esta es una animada presentar, que sólo significa 855 00:37:52,850 --> 00:37:54,327 es como un libro de historietas de la vieja escuela. 856 00:37:54,327 --> 00:37:57,160 Hay sólo un montón de diferentes tramas que se van [] El tartamudeo 857 00:37:57,160 --> 00:37:58,085 y repitiendo. 858 00:37:58,085 --> 00:38:00,090 Y está creando la ilusión de movimiento. 859 00:38:00,090 --> 00:38:03,070 >> Así que tan pronto como una página se realiza cargar o hacer algo, 860 00:38:03,070 --> 00:38:04,610 ¿Qué hace un programador? 861 00:38:04,610 --> 00:38:07,500 Bueno, él o ella simplemente esconde esta imagen. 862 00:38:07,500 --> 00:38:11,536 Así que todo es una barra de progreso es una especie de como una película que está viendo. 863 00:38:11,536 --> 00:38:14,660 Eres una especie de ajeno al hecho que no es realmente hacer nada, 864 00:38:14,660 --> 00:38:15,940 es sólo movimiento. 865 00:38:15,940 --> 00:38:19,150 >> Y luego, cuando se hace avanzar, simplemente ocultan o apagarlo. 866 00:38:19,150 --> 00:38:21,115 Y eso es toda la magia lo que está pasando allí. 867 00:38:21,115 --> 00:38:22,770 Bootstrap le da algo un poco más lujoso, 868 00:38:22,770 --> 00:38:25,030 por lo que en realidad se puede ver un porcentaje que va, 869 00:38:25,030 --> 00:38:27,840 pero también es sólo una especie de una animación simple. 870 00:38:27,840 --> 00:38:32,250 >> Veamos algunos definitiva ejemplos más complejos aquí. 871 00:38:32,250 --> 00:38:35,526 Algo así como un referente. 872 00:38:35,526 --> 00:38:36,900 ¿Alguien sabe lo que es un modal es? 873 00:38:36,900 --> 00:38:39,880 874 00:38:39,880 --> 00:38:42,550 Una ventana modal es generalmente uno que se supone 875 00:38:42,550 --> 00:38:46,880 para tomar el control del primer plano y le impide hacer cualquier otra cosa. 876 00:38:46,880 --> 00:38:50,290 De alguna manera obliga al usuario de atención a la mitad de la pantalla, 877 00:38:50,290 --> 00:38:52,290 privándoles, por lo general, de todo lo demás. 878 00:38:52,290 --> 00:38:55,830 >> Así que si pongo en marcha esta demostración, la la pantalla en general convertido en gris. 879 00:38:55,830 --> 00:38:57,060 Pues bien, ¿cómo podemos hacer que Gray? 880 00:38:57,060 --> 00:38:59,080 Bueno, es probable que simplemente cambiado el color de fondo 881 00:38:59,080 --> 00:39:01,060 como lo hicimos ayer o algo así. 882 00:39:01,060 --> 00:39:03,490 Tal vez sea una superposición que semi-transparente. 883 00:39:03,490 --> 00:39:06,320 Y ahora nota que puede hacer cosas de lujo como este. 884 00:39:06,320 --> 00:39:09,930 Así que si alguna vez se hace clic en un botón y quiere un poco de pop a cabo a aparecer, 885 00:39:09,930 --> 00:39:10,710 usted puede hacer eso. 886 00:39:10,710 --> 00:39:12,340 Y por lo que se preocupa por todo-- sí? 887 00:39:12,340 --> 00:39:15,791 >> AUDIENCIA: Así, con Bootstrap, para conseguir que incorpora, 888 00:39:15,791 --> 00:39:21,002 es tan simple como que fue ayer hicimos la página de estilos CSS? 889 00:39:21,002 --> 00:39:21,960 DAVID J. MALAN: En efecto. 890 00:39:21,960 --> 00:39:22,835 Muy buena pregunta. 891 00:39:22,835 --> 00:39:24,480 Déjame ir a Comienzo. 892 00:39:24,480 --> 00:39:26,090 Y si. 893 00:39:26,090 --> 00:39:30,920 Todo lo que tiene que ver con el fin de el uso de rutina de carga es esencialmente copia 894 00:39:30,920 --> 00:39:35,910 y pegar estos tres largas filas de código en la parte superior de su propia web page-- 895 00:39:35,910 --> 00:39:38,892 la cabecera de su page-- y ya está en marcha y funcionando. 896 00:39:38,892 --> 00:39:41,850 Y hay diferentes maneras de hacer , pero esto sería la más sencilla. 897 00:39:41,850 --> 00:39:45,190 >> Así que lo que es muy útil sobre todo esto? 898 00:39:45,190 --> 00:39:47,524 Bueno, si usted no es mucho el ejecutor de un sitio web 899 00:39:47,524 --> 00:39:50,106 sino que está tratando de diseñarlo, o si desea dar a alguien 900 00:39:50,106 --> 00:39:53,220 con los diagramas de estructura de alambre, por así decirlo, o simplemente entregas del artista de lo 901 00:39:53,220 --> 00:39:56,080 que quiere hacer, yo, a este día, a menudo va a ir a un sitio 902 00:39:56,080 --> 00:39:58,660 como Bootstrap, donde si desee implementar algo-- 903 00:39:58,660 --> 00:40:02,290 como recientemente en el campus queríamos poner en práctica 904 00:40:02,290 --> 00:40:06,170 una herramienta basada en la web para navegar catálogo de cursos de la Universidad de Harvard, 905 00:40:06,170 --> 00:40:08,770 por lo que es fácil para los estudiantes para navegar a través de cursos 906 00:40:08,770 --> 00:40:10,930 y añadir a cursos lista de la compra, por así decirlo, 907 00:40:10,930 --> 00:40:13,070 al tipo de decidir qué querían tomar. 908 00:40:13,070 --> 00:40:16,252 >> Yo estaba tratando de imaginar para a mí mismo, lo que haría ingredientes 909 00:40:16,252 --> 00:40:17,460 queremos utilizar para construir esto? 910 00:40:17,460 --> 00:40:19,050 ¿Cómo sería la interfaz de usuario será? 911 00:40:19,050 --> 00:40:22,800 Y con sólo mirar a través de un sitio como éste u otros sitios de bibliotecas, 912 00:40:22,800 --> 00:40:26,560 se puede obtener inspiración, porque wow, Puedo utilizar este widget, y este widget, 913 00:40:26,560 --> 00:40:27,330 y este widget. 914 00:40:27,330 --> 00:40:29,080 Y entonces realmente lo el programador comienza 915 00:40:29,080 --> 00:40:32,800 hacer, especialmente en estos días en esta más moderno mundo de la programación web, 916 00:40:32,800 --> 00:40:35,827 es la programación es cada vez sobre el cableado de las cosas juntas. 917 00:40:35,827 --> 00:40:38,910 Una especie de tomar este fuera de la plataforma, esta fuera de la plataforma, esta fuera de la plataforma, 918 00:40:38,910 --> 00:40:41,954 y siendo el inteligente para conectar todos esos puntos, 919 00:40:41,954 --> 00:40:45,120 pero en última instancia por construir algo nuevo de pie sobre los hombros de los demás, 920 00:40:45,120 --> 00:40:49,370 de modo que usted no gasta un mes la implementación de una caída estúpida menú desplegable, 921 00:40:49,370 --> 00:40:52,080 que en realidad es difícil de hacer si usted quiere que funcione en Chrome, 922 00:40:52,080 --> 00:40:55,220 y el IE y Firefox, y cualquier número de otros navegadores. 923 00:40:55,220 --> 00:40:59,060 Esto es por qué existe esta rica software de código abierto y comercial 924 00:40:59,060 --> 00:41:01,220 la industria también. 925 00:41:01,220 --> 00:41:06,810 >> AUDIENCIA: Entonces, ¿Bootstrap se actualiza y entonces usted tiene que actualizar sus enlaces? 926 00:41:06,810 --> 00:41:07,820 >> DAVID J. MALAN: Lo hace. 927 00:41:07,820 --> 00:41:09,090 Bueno, sí, lo hace. 928 00:41:09,090 --> 00:41:12,540 Bootstrap es actualmente en la versión 3.3.6. 929 00:41:12,540 --> 00:41:16,720 Y por lo general lo que se puede hacer-- esto es en realidad vale la pena mencionar. 930 00:41:16,720 --> 00:41:19,200 No es lo que es por lo general conocido como control de versiones semántica 931 00:41:19,200 --> 00:41:20,160 sistema en el mundo. 932 00:41:20,160 --> 00:41:21,320 No todo el mundo hace esto. 933 00:41:21,320 --> 00:41:26,410 >> Pero si usted ha visto los números de versión que son de la forma x.y.z-- 934 00:41:26,410 --> 00:41:30,240 Así, por ejemplo, la primera versión de un programa podría ser 1.0.0. 935 00:41:30,240 --> 00:41:34,970 O si es muy, muy beta, o incluso el estado alfa, lo que significa el uso 936 00:41:34,970 --> 00:41:37,620 a su propio riesgo, no es realmente listo para el prime time, 937 00:41:37,620 --> 00:41:42,080 que incluso podría empezar 0.0.1 o alguna otra designación. 938 00:41:42,080 --> 00:41:47,260 Pero si el software se inicia en la versión 1,0, o equivalentemente 1.0.0, 939 00:41:47,260 --> 00:41:50,530 por lo general, lo que es común en estos days-- aunque no es omnipresent-- 940 00:41:50,530 --> 00:41:53,520 si una empresa o un correcciones programador individual 941 00:41:53,520 --> 00:41:56,140 algún error en alguna pieza de software que realmente 942 00:41:56,140 --> 00:42:01,620 fue un error, cuya corrección no debería que impacto a todo-- no cambia 943 00:42:01,620 --> 00:42:03,940 el comportamiento del programa, sólo corrige algo 944 00:42:03,940 --> 00:42:06,580 que no estaba funcionando properly-- lo haría normalmente 945 00:42:06,580 --> 00:42:08,890 actualizar el valor de z allí. 946 00:42:08,890 --> 00:42:12,900 Lo que significa que alguien como Kareem simplemente podría entrar en su página web, 947 00:42:12,900 --> 00:42:19,470 ciegamente cambiar el número de versión a partir de 1.0.0 a 1.0.1, lo guarda, lo enviamos, 948 00:42:19,470 --> 00:42:21,880 y, en teoría, no tiene que preocuparse de que acaba de romper 949 00:42:21,880 --> 00:42:24,430 su página web debido cierta falta de funcionalidad, 950 00:42:24,430 --> 00:42:25,870 porque algo más se rompió. 951 00:42:25,870 --> 00:42:28,740 >> Mientras tanto, si la programador o un poco de compañía 952 00:42:28,740 --> 00:42:35,500 iban a hacer algo significativo cambio que aumenta la funcionalidad, 953 00:42:35,500 --> 00:42:40,320 Yo podría actualizar a nosotros 1.1.0 porque estoy realmente 954 00:42:40,320 --> 00:42:42,200 cambiar el comportamiento de la biblioteca. 955 00:42:42,200 --> 00:42:44,470 Te voy a dar tal vez más funcionalidad. 956 00:42:44,470 --> 00:42:48,490 Por último, si tuviera que realmente fundamentalmente cambiar el software para 957 00:42:48,490 --> 00:42:54,380 tanto que se romperá muchos usuarios en sitios web o aplicaciones, 958 00:42:54,380 --> 00:42:59,550 entonces yo estoy obligado, en este modelo, a actualizar el número de versión principal también, 959 00:42:59,550 --> 00:43:01,059 que es un cambio de última hora. 960 00:43:01,059 --> 00:43:03,725 En otras palabras, podría tener dejó de ofrecer soporte para aquellos gota 961 00:43:03,725 --> 00:43:04,350 en el menú desplegable. 962 00:43:04,350 --> 00:43:07,790 Así que si se actualiza a 2.0, la mitad su sitio web puede dejar de funcionar. 963 00:43:07,790 --> 00:43:10,950 Y esto es una especie de señal a la comunidad en cuanto a lo que es 964 00:43:10,950 --> 00:43:13,223 para presentar una actualización. 965 00:43:13,223 --> 00:43:16,710 966 00:43:16,710 --> 00:43:18,020 Una buena oportunidad para recaudar. 967 00:43:18,020 --> 00:43:18,718 ¿Otras preguntas? 968 00:43:18,718 --> 00:43:21,761 969 00:43:21,761 --> 00:43:22,260 Todo bien. 970 00:43:22,260 --> 00:43:26,945 Así que vamos a echar un vistazo a una última tema en este segmento de la programación 971 00:43:26,945 --> 00:43:30,640 de pilas de tecnología, es decir, en relación con el móvil. 972 00:43:30,640 --> 00:43:36,232 >> Por lo que en el mundo de los teléfonos celulares de hoy que tener-- y iPads, y las superficies, 973 00:43:36,232 --> 00:43:37,940 y todos esos tipos de devices-- usted tiene 974 00:43:37,940 --> 00:43:40,950 una gran cantidad de opciones a la hora se trata de implementar 975 00:43:40,950 --> 00:43:47,270 una aplicación o un sitio web para dispositivos móviles de sus clientes. 976 00:43:47,270 --> 00:43:51,570 Así que para indicar el obvias, tal vez en estos días, 977 00:43:51,570 --> 00:43:54,960 ¿cuáles son las plataformas a desarrollar en el espacio móvil? 978 00:43:54,960 --> 00:43:59,650 ¿Qué dispositivos puede que desee apoyar con su aplicación o 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 Por lo que los dispositivos de Apple. 982 00:44:01,820 --> 00:44:06,740 Por lo que significa iPhone, y que significa iPad, y tal vez incluso el iPod. 983 00:44:06,740 --> 00:44:07,627 ¿Qué más? 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 DE ACUERDO. 989 00:44:13,610 --> 00:44:17,335 Así que los teléfonos Android, Android comprimidos, el mercado Android 990 00:44:17,335 --> 00:44:21,240 es aún más desordenado y porque-- Incluso Apple se está convirtiendo desordenado. 991 00:44:21,240 --> 00:44:23,960 Mientras que en otro tiempo iPhone era un cierto tamaño, 992 00:44:23,960 --> 00:44:26,560 y el iPad era un cierto tamaño, y iPod era un cierto tamaño, ahora 993 00:44:26,560 --> 00:44:33,420 tenemos Minis iPad, y la delgada queridos, y el iPhone 6 y 6 Plus. 994 00:44:33,420 --> 00:44:34,407 Se está convirtiendo en un lío. 995 00:44:34,407 --> 00:44:35,740 Se está convirtiendo en el mundo Android. 996 00:44:35,740 --> 00:44:39,030 >> Y digo esto con una especie de balanceo mis ojos porque a partir de un desarrollador 997 00:44:39,030 --> 00:44:41,680 punto de vista, se trata de una dolor en el cuello cuando 998 00:44:41,680 --> 00:44:45,686 usted no tiene Steve Jobs visión de un control absoluto 999 00:44:45,686 --> 00:44:47,060 sobre la totalidad de estas especificaciones. 1000 00:44:47,060 --> 00:44:49,726 Apple todavía lo hace porque son los que construyen el hardware. 1001 00:44:49,726 --> 00:44:52,690 Pero es una cosa buena, si Soy un desarrollador de software, 1002 00:44:52,690 --> 00:44:54,520 que acaba de saber que mi iPhone siempre va 1003 00:44:54,520 --> 00:44:56,850 de ser así de grande, porque eso significa que siempre sé 1004 00:44:56,850 --> 00:44:58,847 la cantidad de espacio en pantalla que tengo. 1005 00:44:58,847 --> 00:45:01,180 Así que si quiero poner un icono en la esquina superior izquierda, 1006 00:45:01,180 --> 00:45:04,530 que va a estar en la misma exacta colocar en el dispositivo de cada cliente. 1007 00:45:04,530 --> 00:45:07,140 >> Pero en el mundo del iPhone 6s y iPhone 6 Ventajas 1008 00:45:07,140 --> 00:45:10,570 y en el mundo de Android Los teléfonos, que está por todo el mapa. 1009 00:45:10,570 --> 00:45:13,580 Y por lo que hace que sea más difícil de programa cosas, especialmente las interfaces de usuario, 1010 00:45:13,580 --> 00:45:18,270 porque ahora hay que empezar a distribuir sus interfaces de usuario relativamente, no 1011 00:45:18,270 --> 00:45:19,730 absolutamente. 1012 00:45:19,730 --> 00:45:23,524 Y lo mismo ha sido cierto en los navegadores, y equipos de sobremesa y portátiles de años 1013 00:45:23,524 --> 00:45:25,690 porque, por supuesto, tienen diferentes tamaños de pantalla. 1014 00:45:25,690 --> 00:45:26,189 >> ¿Qué más? 1015 00:45:26,189 --> 00:45:30,170 Es posible que tenga superficies, como el de Microsoft. 1016 00:45:30,170 --> 00:45:31,270 Es posible que usted tenga-- 1017 00:45:31,270 --> 00:45:32,270 AUDIENCIA: teléfono con Windows. 1018 00:45:32,270 --> 00:45:32,816 DAVID J. MALAN: ¿Qué es eso? 1019 00:45:32,816 --> 00:45:33,570 AUDIENCIA: teléfono con Windows. 1020 00:45:33,570 --> 00:45:34,403 DAVID J. MALAN: Sí. 1021 00:45:34,403 --> 00:45:37,570 Por lo que los teléfonos Windows todavía se pueden encontrar. 1022 00:45:37,570 --> 00:45:41,840 Tipo de especie de BlackBerrys, pero ellos siguen tratando. 1023 00:45:41,840 --> 00:45:43,900 Y luego racimos de otros dispositivos. 1024 00:45:43,900 --> 00:45:48,020 Así que en su mayor parte, vamos a dicen estos son los 1025 00:45:48,020 --> 00:45:49,520 que se preocupan por el momento. 1026 00:45:49,520 --> 00:45:51,890 Ciertamente las cosas de Apple, sin duda la materia Android, 1027 00:45:51,890 --> 00:45:55,640 y entre los de Windows, como tabletas de superficie parece estar calando bastante bien. 1028 00:45:55,640 --> 00:45:58,030 >> Y así entre esos dispositivos, si desea desplegar, 1029 00:45:58,030 --> 00:46:02,677 digamos, una presencia móvil para su compañía, que tipo de decisiones de diseño 1030 00:46:02,677 --> 00:46:03,510 Qué tienes que hacer? 1031 00:46:03,510 --> 00:46:06,350 Bueno, ya dijimos en el mundo Apple, 1032 00:46:06,350 --> 00:46:08,790 hay al menos dos lenguas que se utilizan normalmente. 1033 00:46:08,790 --> 00:46:10,260 Uno se llamaba qué? 1034 00:46:10,260 --> 00:46:11,260 >> AUDIENCIA: Objective-C. 1035 00:46:11,260 --> 00:46:11,560 >> DAVID J. MALAN: Sí. 1036 00:46:11,560 --> 00:46:13,600 Así Objective-C, que es la mayor. 1037 00:46:13,600 --> 00:46:17,720 Es también la lengua que muchos Mac aplicaciones aún están escritos en. 1038 00:46:17,720 --> 00:46:18,964 Luego fue el otro más reciente? 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 Y ese es el tipo de dos para saber para impresionar a la gente. 1042 00:46:23,900 --> 00:46:28,238 Luego, en el mundo Android, ¿Qué idioma usan Android? 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 es el lenguaje de "du jour". 1046 00:46:34,230 --> 00:46:37,950 En el mundo de Windows, seguro, diremos C # en ese caso. 1047 00:46:37,950 --> 00:46:40,590 Así que ya esto es una especie de molesto, porque lo que es 1048 00:46:40,590 --> 00:46:43,070 la comida para llevar para que una empresa propietario o alguien que acaba 1049 00:46:43,070 --> 00:46:44,570 quiere desplegar una presencia móvil? 1050 00:46:44,570 --> 00:46:45,220 Al igual que, maldita sea? 1051 00:46:45,220 --> 00:46:48,590 Al igual que, si quiero apoyar una bastante amplia base de usuarios, 1052 00:46:48,590 --> 00:46:52,180 Tengo que escribir, al parecer, tres aplicaciones separadas. 1053 00:46:52,180 --> 00:46:55,630 Uno de cada una de estas lenguas, uno en Java, uno en C #. 1054 00:46:55,630 --> 00:46:59,620 E incluso si quiero que la funcionalidad ser idéntico, no importa. 1055 00:46:59,620 --> 00:47:02,940 Todavía tengo que utilizar diferentes idiomas, ya que Apple y Microsoft, 1056 00:47:02,940 --> 00:47:06,084 Google y todo el apoyo diferentes ambientes. 1057 00:47:06,084 --> 00:47:07,750 Y esto ha sido un reto durante años. 1058 00:47:07,750 --> 00:47:10,100 De vuelta en el día, cuando la gente utiliza para comprar el software 1059 00:47:10,100 --> 00:47:12,230 en una tienda de informática en reducir cajas envueltas, 1060 00:47:12,230 --> 00:47:14,470 usted tendrá que o bien para llegar a la plataforma Mac, 1061 00:47:14,470 --> 00:47:19,040 o tal vez esto para-- muy pequeño Mac shelf-- o de la plataforma de Windows más grande 1062 00:47:19,040 --> 00:47:19,980 y comprar algún software. 1063 00:47:19,980 --> 00:47:22,813 Y muy a menudo, no había ni siquiera nada para usted en la plataforma Mac. 1064 00:47:22,813 --> 00:47:23,430 ¿Por qué? 1065 00:47:23,430 --> 00:47:26,900 Pues bien, las empresas deciden si el 90% del mundo, 95% del mundo 1066 00:47:26,900 --> 00:47:31,180 tiene PC, ¿por qué molestarse siquiera la implementación de las cosas en Mac OS? 1067 00:47:31,180 --> 00:47:34,370 >> A modo de un total aside-- ¿por qué es digression-- 1068 00:47:34,370 --> 00:47:40,960 que Mac parece tan impermeable a virus, y gusanos y amenazas a la seguridad? 1069 00:47:40,960 --> 00:47:44,040 Apple es mejor en esto? 1070 00:47:44,040 --> 00:47:45,934 Mejores para mantener los equipos seguros? 1071 00:47:45,934 --> 00:47:47,750 >> AUDIENCIA: audiencia más pequeña? 1072 00:47:47,750 --> 00:47:50,720 >> DAVID J. MALAN: Eso es probablemente el poco más grande a la misma. 1073 00:47:50,720 --> 00:47:54,740 Así que los numerosos usuarios de Mac tienen siempre afirmó, oh, usar un Mac, 1074 00:47:54,740 --> 00:47:57,630 podrás inmune a los virus, y gusanos, y todas estas cosas 1075 00:47:57,630 --> 00:47:59,180 que han azotado a los PC. 1076 00:47:59,180 --> 00:48:02,050 Esto podría ser debido a que Apple tiene mejores programadores 1077 00:48:02,050 --> 00:48:05,250 y escriben mejor software, o la sistema operativo fue diseñado mejor. 1078 00:48:05,250 --> 00:48:06,870 Tal vez, pero probablemente no. 1079 00:48:06,870 --> 00:48:10,840 >> Es probable que cuando estás un niño de 12 años de edad, o un 30 algo 1080 00:48:10,840 --> 00:48:13,510 especie de que se sienta en casa escribiendo software malicioso para hacerse cargo 1081 00:48:13,510 --> 00:48:17,480 el mundo, vas a ir tras el público objetivo mucho más grande. 1082 00:48:17,480 --> 00:48:20,590 El 95% del mundo que podía ejecutar Windows o algún 1083 00:48:20,590 --> 00:48:21,740 variantes de la misma. 1084 00:48:21,740 --> 00:48:23,800 Así que hay un poco de ambas partes. 1085 00:48:23,800 --> 00:48:25,710 Pero a su crédito, Apple, que yo sepa, 1086 00:48:25,710 --> 00:48:28,270 en realidad no ha promocionado a sí mismos como más seguro, 1087 00:48:28,270 --> 00:48:32,110 ya que sólo está invitando el drama si hacer esa afirmación, yo creo. 1088 00:48:32,110 --> 00:48:32,610 >> Todo bien. 1089 00:48:32,610 --> 00:48:36,490 Sin entrar demasiado lejos que, ¿cómo resolvemos esto? 1090 00:48:36,490 --> 00:48:39,670 ¿Tiene que comprar o hacer lo que tiene que pagar tres personas diferentes para desarrollar 1091 00:48:39,670 --> 00:48:41,540 sus aplicaciones? 1092 00:48:41,540 --> 00:48:42,870 Se pueden escoger uno sobre el otro? 1093 00:48:42,870 --> 00:48:45,460 Lo que debería guiar a su Estas reflexiones se cree usted? 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 Nop. 1098 00:48:51,500 --> 00:48:54,190 Alguien más. 1099 00:48:54,190 --> 00:48:56,885 >> AUDIENCIA: Solo tiene que venir con el hardware. 1100 00:48:56,885 --> 00:48:58,510 DAVID J. MALAN: Ven con el hardware? 1101 00:48:58,510 --> 00:48:59,533 ¿Qué quieres decir? 1102 00:48:59,533 --> 00:49:01,282 >> PÚBLICO: Para el ambiente. [INAUDIBLE] 1103 00:49:01,282 --> 00:49:04,867 1104 00:49:04,867 --> 00:49:06,200 DAVID J. MALAN: Así que es cierto. 1105 00:49:06,200 --> 00:49:09,280 Pero sus clientes, por su parte, podría tener iPhones, 1106 00:49:09,280 --> 00:49:13,530 que podrían tener los teléfonos Android, que podría tener tabletas hechas por Microsoft. 1107 00:49:13,530 --> 00:49:19,040 Entonces, ¿usted tiene una estrategia móvil para todos estos diferentes usuarios? 1108 00:49:19,040 --> 00:49:23,320 Parecería que si cuesta, digamos $ 1.000 a hacer un iPhone 1109 00:49:23,320 --> 00:49:25,940 aplicación, que va a costar $ 2.000 a hacer 1110 00:49:25,940 --> 00:49:29,250 una aplicación para iPhone y un aplicación de Android, o $ 3,000 1111 00:49:29,250 --> 00:49:31,407 para apoyar también los dispositivos Windows también. 1112 00:49:31,407 --> 00:49:33,990 Eso es probablemente toda una eufemismo, y no podría incluso 1113 00:49:33,990 --> 00:49:36,050 haber una relación lineal así. 1114 00:49:36,050 --> 00:49:41,065 >> AUDIENCIA: Si usted quiere tener una aplicación o No, puede hacer que el sitio web de respuesta. 1115 00:49:41,065 --> 00:49:41,940 DAVID J. MALAN: Bueno. 1116 00:49:41,940 --> 00:49:46,255 AUDIENCIA: O bien, puede tener una aplicación nativa. 1117 00:49:46,255 --> 00:49:47,130 DAVID J. MALAN: Sí. 1118 00:49:47,130 --> 00:49:50,260 Así que en todo este contexto aquí, hemos estado hablando acerca de lo 1119 00:49:50,260 --> 00:49:53,190 la gente llamaría aplicaciones nativas. 1120 00:49:53,190 --> 00:49:58,040 Es decir que aplicaciones escritas en el idioma nativo de ese dispositivo. 1121 00:49:58,040 --> 00:50:02,190 Así nativa de Objective-C o Swift código, o en Java o en C #. 1122 00:50:02,190 --> 00:50:06,900 Lo que significa que cuando se descarga, vamos a Snapchat decir, una popular aplicación, 1123 00:50:06,900 --> 00:50:10,060 o cuando se descarga Facebook como un teléfono, 1124 00:50:10,060 --> 00:50:13,270 que está descargando o bien el versión escrita para su iPhone, 1125 00:50:13,270 --> 00:50:16,830 o escrita para el teléfono Android, o escrita para su superficie. 1126 00:50:16,830 --> 00:50:18,500 >> Sin embargo, hay una alternativa. 1127 00:50:18,500 --> 00:50:26,020 Como Olivier estaba aludiendo, en realidad se puede usar HTML 5 1128 00:50:26,020 --> 00:50:33,440 en cambio, el uso de lo que se llama una web aplicación, por lo que simplemente 1129 00:50:33,440 --> 00:50:35,940 implementar su presencia móvil y ninguna funcionalidad. 1130 00:50:35,940 --> 00:50:37,030 ¿Qué quiero decir con presencia móvil? 1131 00:50:37,030 --> 00:50:39,800 Al igual que su sitio web que tiene su información de contacto, una lista de todos 1132 00:50:39,800 --> 00:50:43,049 sus productos, tal vez tiene un carrito carro, tal vez usted vende cosas a través de él. 1133 00:50:43,049 --> 00:50:46,850 Sea cual sea su aplicación es, usted ponerlo en práctica, no en Objective-C, 1134 00:50:46,850 --> 00:50:51,200 o Swift, o Java o C #, pero en HTML 5, que era la lengua que nos aguarda 1135 00:50:51,200 --> 00:50:55,470 en el día de ayer, con JavaScript y CSS. 1136 00:50:55,470 --> 00:50:58,700 >> Y lo que es bueno de los tres es que para ejecutar ellos, 1137 00:50:58,700 --> 00:51:01,981 que necesita sólo lo pieza de software? 1138 00:51:01,981 --> 00:51:02,980 PÚBLICO: 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 Y lo mejor que saben, todos estos dispositivos vienen con los navegadores web, 1141 00:51:07,610 --> 00:51:10,480 por lo que el usuario no ha de tener instalar algo especial. 1142 00:51:10,480 --> 00:51:12,920 Por lo que sólo puede decirle a su audiencia, sus clientes, 1143 00:51:12,920 --> 00:51:16,590 ir a acme.com en su navegador y usted acaba 1144 00:51:16,590 --> 00:51:19,730 tener una experiencia basada en la web que todavía ocupa toda la pantalla, 1145 00:51:19,730 --> 00:51:25,100 pero usted no tiene que preocuparse de todos estos costos y toda esta complejidad. 1146 00:51:25,100 --> 00:51:28,600 Pero seguramente no va para ser un retén aquí, ¿verdad? 1147 00:51:28,600 --> 00:51:31,740 Especialmente si señalo que hace un par de años, 1148 00:51:31,740 --> 00:51:35,700 la primera versión de la aplicación móvil de Facebook 1149 00:51:35,700 --> 00:51:38,810 era principalmente una aplicación HTML 5. 1150 00:51:38,810 --> 00:51:42,490 Y tienen, más Recientemente, se reimplementado 1151 00:51:42,490 --> 00:51:44,700 en sus otras aplicaciones. 1152 00:51:44,700 --> 00:51:46,990 >> Así que ¿por qué no te inmediatamente quiero decir, 1153 00:51:46,990 --> 00:51:49,190 así, obviamente, vamos a hacer esto? 1154 00:51:49,190 --> 00:51:51,560 ¿Cuáles podrían ser los costos ocultos? 1155 00:51:51,560 --> 00:51:52,477 >> AUDIENCIA: Rendimiento. 1156 00:51:52,477 --> 00:51:53,643 DAVID J. MALAN: Rendimiento? 1157 00:51:53,643 --> 00:51:54,567 ¿A qué te refieres? 1158 00:51:54,567 --> 00:52:01,040 >> AUDIENCIA: La aplicación nativa tiene un mayor rendimiento. 1159 00:52:01,040 --> 00:52:03,850 >> DAVID J. MALAN: Así que es cierto, por un par de razones. 1160 00:52:03,850 --> 00:52:05,270 Podemos simplificar la respuesta. 1161 00:52:05,270 --> 00:52:08,061 Y recordar nuestra discusión de interpretado en comparación con los lenguajes compilados. 1162 00:52:08,061 --> 00:52:12,030 Este es el HTML 5 y, con ella, sólo para estar claro, JavaScript-- comúnmente escrito 1163 00:52:12,030 --> 00:52:15,880 JS-- y CSS son todos lenguajes interpretados, 1164 00:52:15,880 --> 00:52:21,020 aunque sólo el JavaScript es un lenguaje de programación. 1165 00:52:21,020 --> 00:52:25,820 >> Y así frente a estos, que algunos de estos se compilan, al menos éstos tres-- 1166 00:52:25,820 --> 00:52:29,990 Objective-C, Java y C # - éstos, en teoría, debería ser sólo más rápido. 1167 00:52:29,990 --> 00:52:31,670 Pero hay otra realidad para-- 1168 00:52:31,670 --> 00:52:32,440 >> AUDIENCIA: Funcionalidades? 1169 00:52:32,440 --> 00:52:32,830 >> DAVID J. MALAN: ¿Qué es eso? 1170 00:52:32,830 --> 00:52:34,060 >> Público: funcionalidades. 1171 00:52:34,060 --> 00:52:34,570 >> DAVID J. MALAN: Funcionalidad? 1172 00:52:34,570 --> 00:52:35,070 ¿Cómo es eso? 1173 00:52:35,070 --> 00:52:37,305 AUDIENCIA: Utilice la cámara fuera de su teléfono o algo así. 1174 00:52:37,305 --> 00:52:41,471 Puede usar los que tienen el 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: [inaudible] 1178 00:52:45,034 --> 00:52:46,700 DAVID J. MALAN: Esa es otra buena. 1179 00:52:46,700 --> 00:52:49,230 Hay características que vienen con los teléfonos móviles de hoy 1180 00:52:49,230 --> 00:52:53,840 que no son, por diseño, para la seguridad razones, accesibles a los navegadores web. 1181 00:52:53,840 --> 00:52:56,410 Debido a que sería una especie de una cosa espeluznante si justo cuando 1182 00:52:56,410 --> 00:53:00,710 usted visita google.com, o cnn.com, o cualquier website.com, 1183 00:53:00,710 --> 00:53:04,490 que ese sitio tiene el poder de convertir en su cámara, tomar una foto de usted, 1184 00:53:04,490 --> 00:53:06,010 y luego usarlo. 1185 00:53:06,010 --> 00:53:09,280 Pero usted no quiere un sitio web al azar que visita por primera vez 1186 00:53:09,280 --> 00:53:10,690 tener esa capacidad. 1187 00:53:10,690 --> 00:53:13,460 >> Y así lo que el teléfono fabricantes suelen hacer 1188 00:53:13,460 --> 00:53:17,230 se les deniega el acceso a a ese tipo de información 1189 00:53:17,230 --> 00:53:20,650 a un navegador, lo que significa que no se puede aplicar la cámara. 1190 00:53:20,650 --> 00:53:24,180 No se puede poner en práctica las notificaciones push, los pitidos que se obtiene en la pantalla 1191 00:53:24,180 --> 00:53:26,120 con mensajes cortos. 1192 00:53:26,120 --> 00:53:31,350 Y de hecho, incluso GPS es única clase del tipo de disposición de los navegadores web. 1193 00:53:31,350 --> 00:53:34,140 Si alguna vez, en un ordenador portátil o en un dispositivo móvil, 1194 00:53:34,140 --> 00:53:38,770 levantado algo así como tal vez CNN.com, sino también a las estaciones de noticias locales 1195 00:53:38,770 --> 00:53:43,890 tienden a hacer esto, se le pedirá a menudo con un mensaje-foxnews.com 1196 00:53:43,890 --> 00:53:45,170 quiere saber su ubicación. 1197 00:53:45,170 --> 00:53:46,610 Aprobar o denegar. 1198 00:53:46,610 --> 00:53:52,070 >> Pues bien, el navegador intenta acceder su información GPS desde su teléfono. 1199 00:53:52,070 --> 00:53:54,740 Pero, por suerte Microsoft, y Apple, y Google 1200 00:53:54,740 --> 00:53:57,330 han decidido que se siente como que es una situación útil, 1201 00:53:57,330 --> 00:53:59,461 queremos Google Maps y otras herramientas para trabajar, 1202 00:53:59,461 --> 00:54:02,710 pero no queremos que la gente a arrastrarse hacia fuera con sólo permita a cualquier sitio web para hacer esto. 1203 00:54:02,710 --> 00:54:05,934 Así que vamos especie de meet a mitad de camino y pedir al usuario. 1204 00:54:05,934 --> 00:54:08,850 Pero eso no es necesariamente el caso con todo el hardware, como la cámara 1205 00:54:08,850 --> 00:54:10,680 y con push notificaciones y similares, 1206 00:54:10,680 --> 00:54:13,650 por lo que puede que tenga que sacrificar ciertas características. 1207 00:54:13,650 --> 00:54:15,100 Pero el rendimiento también. 1208 00:54:15,100 --> 00:54:18,020 Se está convirtiendo en menos notable hoy en día, tal vez 1209 00:54:18,020 --> 00:54:22,400 como se llama la LTE y más rápido en las velocidades de Internet en los teléfonos, 1210 00:54:22,400 --> 00:54:24,110 pero se puede tipo de sentir la diferencia. 1211 00:54:24,110 --> 00:54:28,190 Como una aplicación basada en web sólo se siente más lenta, por lo general, 1212 00:54:28,190 --> 00:54:31,100 que una aplicación nativa, en parte debido a que una aplicación basada en web 1213 00:54:31,100 --> 00:54:32,680 por definición está en el Internet. 1214 00:54:32,680 --> 00:54:35,610 Se está hablando con los servidores de la web. 1215 00:54:35,610 --> 00:54:39,590 Y si su conexión a la red es lento, incluso desplazamiento podría ser lento. 1216 00:54:39,590 --> 00:54:43,710 >> Sin embargo, una aplicación nativa, que tiene ya pre-downloaded-- probablemente 1217 00:54:43,710 --> 00:54:45,680 cuando estaba en casa desde la tienda de aplicaciones, 1218 00:54:45,680 --> 00:54:47,900 o al menos pre-descargado en su totalidad 1219 00:54:47,900 --> 00:54:49,640 anterior, sea cual sea su velocidad de conexión-- 1220 00:54:49,640 --> 00:54:52,530 y por lo que ahora tiene toda la bits que por lo general necesita. 1221 00:54:52,530 --> 00:54:55,090 Excepto tal vez algunos datos que proviene de un servidor. 1222 00:54:55,090 --> 00:54:57,130 >> Así que estas son las compensaciones aquí. 1223 00:54:57,130 --> 00:54:59,980 Hay una especie de media compromiso, de hecho. 1224 00:54:59,980 --> 00:55:00,907 Y creo que usted-- 1225 00:55:00,907 --> 00:55:02,895 >> AUDIENCIA: Utilice la conexión de datos. 1226 00:55:02,895 --> 00:55:06,355 En las aplicaciones nativas, que pueda [inaudible] 1227 00:55:06,355 --> 00:55:07,480 DAVID J. MALAN: Por supuesto. 1228 00:55:07,480 --> 00:55:09,730 Así está el tema fuera de línea, que es realmente molesto 1229 00:55:09,730 --> 00:55:13,120 si no se puede jugar algún juego o el uso algunos programas simplemente porque eres 1230 00:55:13,120 --> 00:55:15,110 en un sótano en algún lugar o en un ascensor. 1231 00:55:15,110 --> 00:55:18,700 Una aplicación nativa es resiliente con mayor probabilidad en contra de que, 1232 00:55:18,700 --> 00:55:20,990 suponiendo que tiene toda la datos que necesita a nivel local. 1233 00:55:20,990 --> 00:55:22,900 >> Así que hay una tercera opción aquí. 1234 00:55:22,900 --> 00:55:30,270 Y vamos a dibujar el espectro aplicación nativa aquí y aplicación web aquí. 1235 00:55:30,270 --> 00:55:32,460 Y lo que es en el medio es algo called-- 1236 00:55:32,460 --> 00:55:35,410 y creo que es posible que tenga se utiliza la palabra antes, tal vez? 1237 00:55:35,410 --> 00:55:37,170 aplicación híbrida. 1238 00:55:37,170 --> 00:55:40,980 Y como la palabra lo indica, es algo en el medio. 1239 00:55:40,980 --> 00:55:46,230 Es una especie de una aplicación web y es una especie de una aplicación nativa. 1240 00:55:46,230 --> 00:55:47,690 >> Y ¿qué significa esto? 1241 00:55:47,690 --> 00:55:51,750 Resulta que no son frameworks-- para usar un término por el software antes les hablé 1242 00:55:51,750 --> 00:55:55,860 que otras personas han escrito para cada una de estas plataformas. 1243 00:55:55,860 --> 00:55:57,500 Estos y aún otros dispositivos. 1244 00:55:57,500 --> 00:56:02,390 De hecho, me dejó ir a PhoneGap, que es uno de esos marcos que 1245 00:56:02,390 --> 00:56:04,520 Adobe cree que posee ahora. 1246 00:56:04,520 --> 00:56:07,830 Déjame ir a Comienzo. 1247 00:56:07,830 --> 00:56:09,430 Veamos. 1248 00:56:09,430 --> 00:56:12,450 A ver si puedo ver una lista de herramientas. 1249 00:56:12,450 --> 00:56:13,150 Hardware. 1250 00:56:13,150 --> 00:56:15,845 Empezando. 1251 00:56:15,845 --> 00:56:17,570 PhoneGap hardware. 1252 00:56:17,570 --> 00:56:18,672 >> Veamos. 1253 00:56:18,672 --> 00:56:23,459 PhoneGap acceso al hardware. 1254 00:56:23,459 --> 00:56:26,125 A ver si podemos encontrar un poco gráfico que solían tener. 1255 00:56:26,125 --> 00:56:29,170 1256 00:56:29,170 --> 00:56:31,640 Esto es en otro sitio. 1257 00:56:31,640 --> 00:56:32,525 ¿Es esto útil? 1258 00:56:32,525 --> 00:56:33,030 No. 1259 00:56:33,030 --> 00:56:36,330 Eso va a perder el tiempo allí. 1260 00:56:36,330 --> 00:56:40,185 PhoneGap hardware. 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 No, se han movido. 1265 00:56:49,270 --> 00:56:50,070 >> PhoneGap. 1266 00:56:50,070 --> 00:56:54,964 Vayamos un último vistazo a este y ver si te puedo mostrar. 1267 00:56:54,964 --> 00:56:55,630 Empezando. 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óvil. 1272 00:57:03,270 --> 00:57:04,320 Venga. 1273 00:57:04,320 --> 00:57:07,220 1274 00:57:07,220 --> 00:57:08,580 Han reorganizado todo. 1275 00:57:08,580 --> 00:57:09,750 Todo bien. 1276 00:57:09,750 --> 00:57:11,370 Oh, todo bien. 1277 00:57:11,370 --> 00:57:12,550 Pues bien, aquí vamos. 1278 00:57:12,550 --> 00:57:16,130 Esto no es todo lo que esclarecedor, pero esto es lo que yo estaba un poco buscando. 1279 00:57:16,130 --> 00:57:20,940 >> Así PhoneGap es un marco que se se puede descargar de forma gratuita que le brinda 1280 00:57:20,940 --> 00:57:22,750 un código de arranque, esencialmente. 1281 00:57:22,750 --> 00:57:26,600 Así que algo de código que han escrito eso no hace mucho de nada. 1282 00:57:26,600 --> 00:57:29,610 Pero lo que le da esencialmente es el equivalente 1283 00:57:29,610 --> 00:57:34,910 de una aplicación que sólo pone una gran rectángulo en la pantalla del usuario. 1284 00:57:34,910 --> 00:57:38,040 No pone una barra de URL, como una navegador, no pone una dirección. 1285 00:57:38,040 --> 00:57:39,650 Sólo pone un gran rectángulo. 1286 00:57:39,650 --> 00:57:43,230 Y configura así de grande rectángulo, debajo de la campana, 1287 00:57:43,230 --> 00:57:50,780 para ir realmente a acme.com, o tal vez m.acme.com, por mobile.acme.com, 1288 00:57:50,780 --> 00:57:52,910 pero el usuario no sabe que están en esa dirección. 1289 00:57:52,910 --> 00:57:55,520 Todo lo que ven es la contenido de la página web. 1290 00:57:55,520 --> 00:57:59,822 >> Pero lo bueno de este ser una aplicación híbrida es que lo que PhoneGap 1291 00:57:59,822 --> 00:58:03,030 y otras empresas están dando usted es que te están dando un poco de código 1292 00:58:03,030 --> 00:58:05,760 en Objective-C o Swift, o un poco de código en Java, 1293 00:58:05,760 --> 00:58:08,320 o un poco de código en C #, y esencialmente, 1294 00:58:08,320 --> 00:58:12,990 todo lo que tiene que ofrecer es mínimamente la dirección de su aplicación basada en web. 1295 00:58:12,990 --> 00:58:15,750 Y luego lo combinas esto todos juntos y se 1296 00:58:15,750 --> 00:58:20,670 tenerlo o bien acceder a su sitio a través de Internet, 1297 00:58:20,670 --> 00:58:24,060 o incluso almacenar en caché local copiar dentro de la aplicación, 1298 00:58:24,060 --> 00:58:28,690 a continuación, guardar su solicitud en formato iPhone, teléfono Android 1299 00:58:28,690 --> 00:58:32,030 formato, el formato de la superficie, o cualquier número de otros dispositivos. 1300 00:58:32,030 --> 00:58:34,960 >> Subes cada una de esas versiones a la tienda de Google Play, 1301 00:58:34,960 --> 00:58:37,690 a la App Store, a la Windows Store, y así sucesivamente. 1302 00:58:37,690 --> 00:58:41,570 Y ahora, usted puede tener la totalidad de su audiencias descarga realmente una aplicación nativa, 1303 00:58:41,570 --> 00:58:44,250 aunque la mayor parte del código fue escrito por otra persona, 1304 00:58:44,250 --> 00:58:49,090 pero el contenido de esa aplicación nativa de todo provenir de, por lo general, su propio sitio web. 1305 00:58:49,090 --> 00:58:53,950 Así continúa escribiendo su sitio web en HTML, JavaScript y CSS. 1306 00:58:53,950 --> 00:58:56,400 >> Entonces, ¿por difuminar estas líneas? 1307 00:58:56,400 --> 00:59:00,240 ¿Por qué tener una aplicación híbrida que es una especie de natural, sino también 1308 00:59:00,240 --> 00:59:02,569 tipo de tela basa? 1309 00:59:02,569 --> 00:59:04,610 ¿Qué es todo el punto de la adición de esta complejidad? 1310 00:59:04,610 --> 00:59:07,180 Es decir, aún así, sólo de mirando a través de esta página, 1311 00:59:07,180 --> 00:59:11,790 la Guía de introducción se siente como que tiene un montón de pasos para mí 1312 00:59:11,790 --> 00:59:13,514 hacer 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 ¿Qué quieres decir? 1316 00:59:15,618 --> 00:59:16,826 >> AUDIENCIA: del código fuente. 1317 00:59:16,826 --> 00:59:19,438 Así el mismo código se ejecutaría en todas las diferentes plataformas. 1318 00:59:19,438 --> 00:59:20,313 DAVID J. MALAN: Sí. 1319 00:59:20,313 --> 00:59:21,188 AUDIENCIA: [inaudible] 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 Si el tiempo es escaso y si no tienen esa cantidad de developers-- 1323 00:59:26,930 --> 00:59:28,900 tal vez usted tiene un desarrollador y él o ella sin duda 1324 00:59:28,900 --> 00:59:31,050 no conoce todos estos environments-- luego, no así, 1325 00:59:31,050 --> 00:59:33,341 y ciertamente no puede programar en las tres simultáneamente 1326 00:59:33,341 --> 00:59:35,970 y enviar los productos en tres El tiempo permitido para uno, 1327 00:59:35,970 --> 00:59:40,360 usted puede tener él o ella construir todo en HTML y JavaScript y CSS, 1328 00:59:40,360 --> 00:59:43,260 y luego aprender un poco pequeña poco acerca de las aplicaciones nativas, 1329 00:59:43,260 --> 00:59:45,930 sólo lo suficiente para descargar un marco de este tipo, 1330 00:59:45,930 --> 00:59:48,750 a continuación, cargar el producto a todas las diversas tiendas de aplicaciones 1331 00:59:48,750 --> 00:59:51,700 por lo que ahora tiene una aplicación nativa. 1332 00:59:51,700 --> 00:59:54,090 >> De manera que parece como un ganar-ganar, pero una vez más, para ser claros, 1333 00:59:54,090 --> 00:59:56,540 ¿cuáles son las posibilidades costos o las trampas? 1334 00:59:56,540 --> 01:00:00,292 1335 01:00:00,292 --> 01:00:01,209 >> AUDIENCIA: Rendimiento? 1336 01:00:01,209 --> 01:00:02,083 DAVID J. MALAN: Sí. 1337 01:00:02,083 --> 01:00:02,959 Actuación. 1338 01:00:02,959 --> 01:00:04,250 Es difícil de describir verbalmente. 1339 01:00:04,250 --> 01:00:07,590 Así que si sólo se toman en la fe de una aplicación móvil, 1340 01:00:07,590 --> 01:00:11,430 una aplicación web suelen llevar a cabo más lentamente. 1341 01:00:11,430 --> 01:00:16,500 Puede que no parece del todo bien, porque en el iPhone, y en los teléfonos Android, 1342 01:00:16,500 --> 01:00:19,210 y los dispositivos de Windows, hay siempre una especie de aspecto predeterminado 1343 01:00:19,210 --> 01:00:21,780 y sentir a todo el los botones y los menús. 1344 01:00:21,780 --> 01:00:25,160 >> Y empresas en la web, se pueden tratar para aproximarse a esas estéticas 1345 01:00:25,160 --> 01:00:28,329 con las bibliotecas como Manos a la Obra, pero el user-- un user-- astuto 1346 01:00:28,329 --> 01:00:30,620 se va a saber que algo que no está del todo bien aquí. 1347 01:00:30,620 --> 01:00:32,510 Y eso está bien, tal vez eso no es un gran problema. 1348 01:00:32,510 --> 01:00:35,500 Pero el problema de rendimiento absolutamente es un gran problema. 1349 01:00:35,500 --> 01:00:39,400 Las aplicaciones nativas tenderán a poco ser mucho más sensible y, por tanto, 1350 01:00:39,400 --> 01:00:39,946 mejor. 1351 01:00:39,946 --> 01:00:42,070 Y así, lo que entonces podría ser ¿lo mejor de ambos mundos? 1352 01:00:42,070 --> 01:00:44,584 Si usted es especialmente una pequeña empresa o un pequeño grupo, 1353 01:00:44,584 --> 01:00:47,000 usted no tiene los recursos para desarrollar una aplicación en paralelo 1354 01:00:47,000 --> 01:00:50,480 en las tres plataformas, y francamente, se siente como que es una mala idea de todos modos 1355 01:00:50,480 --> 01:00:53,526 porque si sale hacia fuera y en se dan cuenta de los tres al mismo tiempo, 1356 01:00:53,526 --> 01:00:56,400 deberíamos haber añadido algunas características o hecho algo diferente, ahora 1357 01:00:56,400 --> 01:00:59,530 usted tiene que fijar en tres lugares, no uno. 1358 01:00:59,530 --> 01:01:02,390 Lo que es tal vez el óptimo estrategia aquí en general, 1359 01:01:02,390 --> 01:01:04,130 si los recursos y el tiempo son muy ajustados? 1360 01:01:04,130 --> 01:01:06,420 >> PÚBLICO: Sólo hazlo en IOS. 1361 01:01:06,420 --> 01:01:08,390 >> DAVID J. MALAN: Eso no es irrazonable. 1362 01:01:08,390 --> 01:01:10,670 iPhones, al menos en el Estados Unidos, son muy populares. 1363 01:01:10,670 --> 01:01:13,820 Android todavía parece tener dominante cuota de mercado, a nivel mundial, en general. 1364 01:01:13,820 --> 01:01:16,740 Lo que no está necesariamente representativos 1365 01:01:16,740 --> 01:01:19,210 de la totalidad del globo esta semana. 1366 01:01:19,210 --> 01:01:21,180 Pero eso es absolutamente una decisión. 1367 01:01:21,180 --> 01:01:23,620 Es decir, en el campus aquí pensar en algún número atroz 1368 01:01:23,620 --> 01:01:26,600 o el porcentaje de estudiantes universitarios tienen iPhones y teléfonos Android no. 1369 01:01:26,600 --> 01:01:28,490 Sino en el extranjero, es una especie de lo contrario. 1370 01:01:28,490 --> 01:01:30,040 Así que decidir en base a su audiencia. 1371 01:01:30,040 --> 01:01:31,990 ¿Cómo sabe lo que tiene su público? 1372 01:01:31,990 --> 01:01:34,080 >> Bueno, hemos aprendido un truco de ayer. 1373 01:01:34,080 --> 01:01:35,060 Se les puede preguntar. 1374 01:01:35,060 --> 01:01:37,910 Si usted tiene un público cautivo usted puede enviar un formulario de encuesta. 1375 01:01:37,910 --> 01:01:39,172 O usted podría hacer qué? 1376 01:01:39,172 --> 01:01:40,076 >> AUDIENCIA: Google Analytics? 1377 01:01:40,076 --> 01:01:40,680 >> DAVID J. MALAN: ¿Qué es eso? 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 Sí. 1381 01:01:43,750 --> 01:01:46,970 O incluso más clase de vista técnico, simplemente mirar sus propios servidores web logs. 1382 01:01:46,970 --> 01:01:49,100 Porque lo que ocurre cada vez que un navegador, 1383 01:01:49,100 --> 01:01:51,880 ya sea portátil, de escritorio o teléfono visitar su sitio web? 1384 01:01:51,880 --> 01:01:56,847 Envían esa cabecera HTTP que espectáculos lo navegador y sistema operativo que esté utilizando. 1385 01:01:56,847 --> 01:02:00,180 Así que usted puede inferir, con alta probabilidad, lo que su demográfica está usando de esa manera 1386 01:02:00,180 --> 01:02:01,410 y luego ajustar. 1387 01:02:01,410 --> 01:02:03,030 >> Así que supongo que eso es inaceptable. 1388 01:02:03,030 --> 01:02:07,760 En cierto modo es malo para el negocio si Los usuarios de Android no pueden comprar nuestros widgets. 1389 01:02:07,760 --> 01:02:10,942 >> AUDIENCIA: Ya sea que esté va a cargar o no? 1390 01:02:10,942 --> 01:02:12,900 DAVID J. MALAN: Si vas a cobrar? 1391 01:02:12,900 --> 01:02:14,900 Así que bien, se obtiene lo que se paga. 1392 01:02:14,900 --> 01:02:18,400 >> AUDIENCIA: Ya sea que su aplicación va ser libre o si se trata de gonna-- 1393 01:02:18,400 --> 01:02:19,530 >> DAVID J. MALAN: OK. 1394 01:02:19,530 --> 01:02:21,920 Así que tal vez usted podría recuperar los costos de esa manera, o-? 1395 01:02:21,920 --> 01:02:26,195 >> AUDIENCIA: leí un estudio, una vez dicho esto más usuarios de Apple a pagar por aplicaciones versus-- 1396 01:02:26,195 --> 01:02:28,320 DAVID J. MALAN: Eso es cierto debido a que ya están 1397 01:02:28,320 --> 01:02:29,640 pagar más por sus dispositivos. 1398 01:02:29,640 --> 01:02:31,295 Por lo tanto, no es descabellado una suposición. 1399 01:02:31,295 --> 01:02:32,170 >> AUDIENCIA: [inaudible] 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 Así que si están más dispuestos a pagar, a continuación, al diablo con los usuarios de Android. 1403 01:02:38,667 --> 01:02:40,500 Ellos no van a pagarnos nada de todos modos. 1404 01:02:40,500 --> 01:02:43,499 También podríamos enfocar nuestras prioridades, al menos durante los primeros meses 1405 01:02:43,499 --> 01:02:44,810 o un año, en IOS. 1406 01:02:44,810 --> 01:02:46,240 Totalmente razonable. 1407 01:02:46,240 --> 01:02:48,558 ¿Qué es una más inclusiva estrategia que eso? 1408 01:02:48,558 --> 01:02:53,740 1409 01:02:53,740 --> 01:02:54,960 Maybe-- ¿qué es eso? 1410 01:02:54,960 --> 01:02:57,040 >> AUDIENCIA: [inaudible] 1411 01:02:57,040 --> 01:03:00,142 >> DAVID J. MALAN: Una más expensive-- así que tal vez invertir más en-- seguir adelante. 1412 01:03:00,142 --> 01:03:00,767 AUDIENCIA: Sí. 1413 01:03:00,767 --> 01:03:02,050 Sólo un sitio web para móviles. 1414 01:03:02,050 --> 01:03:03,966 >> DAVID J. MALAN: Así que hacer una sitio web para móviles y no 1415 01:03:03,966 --> 01:03:05,440 incluso preocuparse de esta complejidad. 1416 01:03:05,440 --> 01:03:07,970 O tal vez una estrategia razonable, Facebook, que incluso llevó, 1417 01:03:07,970 --> 01:03:10,890 es empezar con un híbrido aplicación, ya que no es 1418 01:03:10,890 --> 01:03:13,582 mucho más difícil de hacer esto que esto. 1419 01:03:13,582 --> 01:03:16,040 Sólo hay que leer algunos documentación y averiguar cómo 1420 01:03:16,040 --> 01:03:17,480 para subir cosas a la App Store. 1421 01:03:17,480 --> 01:03:19,670 Así que tal vez se empieza con esto, de modo que el primer día, 1422 01:03:19,670 --> 01:03:21,112 usted puede apoyar a todos sus usuarios. 1423 01:03:21,112 --> 01:03:23,570 Y entonces, al igual que Facebook y otras empresas han hecho, 1424 01:03:23,570 --> 01:03:25,330 cuando se tiene los recursos, usted tiene la gente, 1425 01:03:25,330 --> 01:03:27,660 ¿por qué no volver a implementar sólo la aplicación de iOS. 1426 01:03:27,660 --> 01:03:31,460 Usted todavía tiene algo para todos, a pesar de que es una experiencia inferior 1427 01:03:31,460 --> 01:03:33,330 tal vez, con la aplicación híbrido. 1428 01:03:33,330 --> 01:03:36,770 Pero se puede paulatina implantación de las y reemplazar el corto plazo 1429 01:03:36,770 --> 01:03:40,280 medidas de las aplicaciones híbridas con sus aplicaciones más nativos. 1430 01:03:40,280 --> 01:03:44,090 >> AUDIENCIA: Pero con una aplicación híbrida que tendrá acceso a las funciones móviles? 1431 01:03:44,090 --> 01:03:45,440 >> DAVID J. MALAN: No necesariamente. 1432 01:03:45,440 --> 01:03:47,810 Así que tal vez usted hace una consciente de decisiones desde el principio, 1433 01:03:47,810 --> 01:03:51,930 sólo se pueden cargar fotos en el aplicación nativa para el iPhone para Facebook, 1434 01:03:51,930 --> 01:03:56,060 pero no en la aplicación para Android, inicialmente, por ejemplo. 1435 01:03:56,060 --> 01:04:00,600 Y eso es un poco de una mentira blanca, porque aplicaciones web tienen más restricciones 1436 01:04:00,600 --> 01:04:03,620 de aplicaciones híbridas resulta a cabo, y si leemos la documentación 1437 01:04:03,620 --> 01:04:07,260 para PhoneGap y cosas como que, las personas han llegado con formas 1438 01:04:07,260 --> 01:04:11,110 para dar aplicaciones basadas en Web el acceso a la cámara, 1439 01:04:11,110 --> 01:04:13,310 siempre y cuando se está utilizando una aplicación de híbrido. 1440 01:04:13,310 --> 01:04:14,214 >> ¿Cómo funciona? 1441 01:04:14,214 --> 01:04:16,130 Debido a que el híbrido aplicación, por definición, 1442 01:04:16,130 --> 01:04:19,600 tiene un poco de código en Objective-C, y Swift, y Java o en C #, 1443 01:04:19,600 --> 01:04:20,920 se puede acceder al hardware. 1444 01:04:20,920 --> 01:04:24,590 No necesariamente todo, pero podría muy bien 1445 01:04:24,590 --> 01:04:27,310 darse el caso de que usted tiene suficiente para conseguir el acceso a la cámara, 1446 01:04:27,310 --> 01:04:32,960 incluso para las plataformas Android, por ejemplo, en ese ejemplo artificial. 1447 01:04:32,960 --> 01:04:35,515 >> ¿Alguna otra pregunta? 1448 01:04:35,515 --> 01:04:36,279 Todo bien. 1449 01:04:36,279 --> 01:04:38,070 ¿Por qué no tomamos nuestra 15 minutos de descanso aquí. 1450 01:04:38,070 --> 01:04:44,060 Reanudaremos a las tres con una final mirar a la programación web, bases de datos, 1451 01:04:44,060 --> 01:04:45,910 y Javascript. 1452 01:04:45,910 --> 01:04:48,877