1 00:00:00,000 --> 00:00:01,291 >> DAVID J. Malan: Donc, nous sommes de retour. 2 00:00:01,291 --> 00:00:03,050 Ainsi, le haut niveau sujet au moment présent 3 00:00:03,050 --> 00:00:06,440 est empilements de technologie, ce qui est un terme particulièrement technique, 4 00:00:06,440 --> 00:00:09,960 il est plus d'un fourre-tout pour tout nombre de combinaisons de technologies 5 00:00:09,960 --> 00:00:11,840 que vous pouvez utiliser pour résoudre des problèmes. 6 00:00:11,840 --> 00:00:14,850 Et peut-être le plus façon appropriée pour démarrer 7 00:00:14,850 --> 00:00:18,110 serait de regarder les langues depuis Je continue à débiter tout un tas 8 00:00:18,110 --> 00:00:21,000 et presque tout le monde dans la salle a probablement entendu parler d'au moins un. 9 00:00:21,000 --> 00:00:25,730 >> Et alors pourquoi ne pas essayer de faire la distinction what-- distinguer ces langues 10 00:00:25,730 --> 00:00:28,932 et parler brièvement lorsque vous feriez choisir l'un sur l'autre, la façon dont ils sont 11 00:00:28,932 --> 00:00:30,890 sorte de fond différentes, et en particulier 12 00:00:30,890 --> 00:00:34,830 quand vous discutez avec des ingénieurs, ou d'essayer de décider qui embaucher, 13 00:00:34,830 --> 00:00:37,652 ou que la mise en œuvre proposition de Greenlight, 14 00:00:37,652 --> 00:00:39,860 comment vous réellement faire ce genre de décisions. 15 00:00:39,860 --> 00:00:41,890 >> Donc, nous allons simplement Rattle certaines choses hors tension. 16 00:00:41,890 --> 00:00:45,300 Parmi les langues les gens ont entendu parler, ce qui vient à l'esprit? 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 Qu'est-ce que c'est? 21 00:00:51,990 --> 00:00:52,390 >> AUDIENCE: Python. 22 00:00:52,390 --> 00:00:53,348 >> DAVID J. Malan: Python. 23 00:00:53,348 --> 00:00:55,330 Excellent. 24 00:00:55,330 --> 00:00:57,000 Quoi d'autre? 25 00:00:57,000 --> 00:00:58,810 Visual Basic. 26 00:00:58,810 --> 00:01:01,100 J'ai entendu Java. 27 00:01:01,100 --> 00:01:02,610 a.k.a. visuel 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, Qui est plus d'un fourre-tout pour ce qui est généralement C # comme langue 32 00:01:12,810 --> 00:01:13,770 Dans la question. 33 00:01:13,770 --> 00:01:14,770 Et permettez-moi de mentionner que. 34 00:01:14,770 --> 00:01:15,900 Donc, nous allons revenir à cela. 35 00:01:15,900 --> 00:01:17,560 Je suis désolé? 36 00:01:17,560 --> 00:01:18,170 Pardon? 37 00:01:18,170 --> 00:01:19,877 >> AUDIENCE: SQL. 38 00:01:19,877 --> 00:01:20,876 DAVID J. Malan: Scratch? 39 00:01:20,876 --> 00:01:21,610 AUDIENCE: SQL. 40 00:01:21,610 --> 00:01:22,610 DAVID J. Malan: Oh, SQL. 41 00:01:22,610 --> 00:01:23,110 D'ACCORD. 42 00:01:23,110 --> 00:01:23,750 SQL. 43 00:01:23,750 --> 00:01:29,510 Donc, nous allons revenir à that-- effectivement, il est good-- après la pause aussi. 44 00:01:29,510 --> 00:01:30,572 Quoi d'autre? 45 00:01:30,572 --> 00:01:32,530 >> AUDIENCE: Oracle. 46 00:01:32,530 --> 00:01:34,670 >> DAVID J. Malan: Donc, Oracle, et non une langue. 47 00:01:34,670 --> 00:01:36,560 En fait, ils utilisent SQL ainsi. 48 00:01:36,560 --> 00:01:38,360 Mettons donc que, après la pause aussi. 49 00:01:38,360 --> 00:01:39,744 Et désolé, quelque chose ici? 50 00:01:39,744 --> 00:01:40,660 AUDIENCE: Mathematica. 51 00:01:40,660 --> 00:01:41,390 DAVID J. Malan: Mathematica? 52 00:01:41,390 --> 00:01:42,303 OK, bien sûr. 53 00:01:42,303 --> 00:01:46,150 54 00:01:46,150 --> 00:01:49,180 Et MATLAB est une sorte de là-bas parfois. 55 00:01:49,180 --> 00:01:50,060 >> AUDIENCE: R. 56 00:01:50,060 --> 00:01:51,755 >> DAVID J. Malan: R. Allons ici. 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 Sûr. 60 00:01:55,880 --> 00:01:57,910 ancienne école. 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 Je jette sur BASIC. 64 00:02:02,410 --> 00:02:05,990 65 00:02:05,990 --> 00:02:08,539 DE BASE. 66 00:02:08,539 --> 00:02:09,390 Tout-- 67 00:02:09,390 --> 00:02:10,352 >> AUDIENCE: MATLAB? 68 00:02:10,352 --> 00:02:11,310 DAVID J. Malan: MATLAB. 69 00:02:11,310 --> 00:02:12,248 Oh, vous battre pour elle. 70 00:02:12,248 --> 00:02:15,370 71 00:02:15,370 --> 00:02:15,870 N'importe quoi? 72 00:02:15,870 --> 00:02:18,700 Je peux penser à un couple des autres. 73 00:02:18,700 --> 00:02:21,876 Je peux penser à quelques autres. 74 00:02:21,876 --> 00:02:22,792 Et ce qui était le dernier? 75 00:02:22,792 --> 00:02:23,970 >> AUDIENCE: ASP. 76 00:02:23,970 --> 00:02:25,030 >> DAVID J. Malan: ASP? 77 00:02:25,030 --> 00:02:26,100 Ouais. 78 00:02:26,100 --> 00:02:27,100 Active server pages. 79 00:02:27,100 --> 00:02:30,270 Ce serait généralement tomber sous d'autres langues, parfois C #, 80 00:02:30,270 --> 00:02:32,040 alors laissons cela au large. 81 00:02:32,040 --> 00:02:35,510 Mais nous reviendrons à cette pour les cadres et autres. 82 00:02:35,510 --> 00:02:36,290 Rien d'autre? 83 00:02:36,290 --> 00:02:39,020 PHP est populaire. 84 00:02:39,020 --> 00:02:41,710 Ruby est une autre. 85 00:02:41,710 --> 00:02:48,230 JavaScript, à ne pas confondre avec Java, est une autre. 86 00:02:48,230 --> 00:02:49,570 C'est un peu beaucoup. 87 00:02:49,570 --> 00:02:53,590 >> Ainsi, il peut certainement être écrasante, comme si la liste est pas déjà, 88 00:02:53,590 --> 00:02:55,650 juste pour commencer à savoir où commencer. 89 00:02:55,650 --> 00:02:58,130 Et si heureusement, nous allons aborder la question sous quelques angles. 90 00:02:58,130 --> 00:03:03,520 Tout d'abord, nous allons essayer de classer au moins certaines de ces langues 91 00:03:03,520 --> 00:03:06,790 en deux grandes seaux, rappelant la conversation que nous avions avant la pause, 92 00:03:06,790 --> 00:03:09,630 où nous avons parlé de la compilation, et le code source et le code de la machine, 93 00:03:09,630 --> 00:03:11,440 parce que ce n'est pas comment toutes les langues de travail. 94 00:03:11,440 --> 00:03:15,640 Donc, nous allons arracher quelques exemples de-- ou contre-exemples-- à ce modèle. 95 00:03:15,640 --> 00:03:18,490 >> Et puis, pourquoi ne pas nous parler des applications 96 00:03:18,490 --> 00:03:20,390 que ces langues sont généralement utilisés. 97 00:03:20,390 --> 00:03:22,840 Et franchement, même si ceci est une liste assez longue, 98 00:03:22,840 --> 00:03:26,320 il est seulement un sous-ensemble de cette liste vous généralement tirer de ces jours 99 00:03:26,320 --> 00:03:27,220 Résoudre des problèmes. 100 00:03:27,220 --> 00:03:29,150 Certaines langues sont plus récents que d'autres. 101 00:03:29,150 --> 00:03:31,170 Certaines langues sont plus populaires que d'autres. 102 00:03:31,170 --> 00:03:34,370 Donc, il est pas comme vous avez un tel une tâche écrasante avant 103 00:03:34,370 --> 00:03:36,970 au moment de décider entre ces différentes langues. 104 00:03:36,970 --> 00:03:40,110 >> Donc, nous allons le faire. 105 00:03:40,110 --> 00:03:45,870 Nous avons eu plus tôt, le code source, et puis nous avons eu le code machine. 106 00:03:45,870 --> 00:03:48,590 107 00:03:48,590 --> 00:03:49,400 Whoops. 108 00:03:49,400 --> 00:03:50,910 Écrire le mauvais mot. 109 00:03:50,910 --> 00:03:52,740 Langage machine. 110 00:03:52,740 --> 00:03:57,549 Et nous avons eu un processus dans le milieu called-- ouais, le compilateur. 111 00:03:57,549 --> 00:03:58,215 Donc, le compilateur. 112 00:03:58,215 --> 00:04:00,760 113 00:04:00,760 --> 00:04:03,910 >> Et ce que le code de la machine fonctionne en fait sur la fin 114 00:04:03,910 --> 00:04:05,680 va être votre CPU réelle. 115 00:04:05,680 --> 00:04:09,660 En d'autres termes, par le code de la machine, je dire les instructions de plus bas niveau 116 00:04:09,660 --> 00:04:11,330 qu'une unité centrale de traitement comprend en réalité. 117 00:04:11,330 --> 00:04:15,100 Addition, soustraction, déplacer, enregistrer, et les opérations de ce genre. 118 00:04:15,100 --> 00:04:19,700 Et ceci est le modèle pour ce qui est généralement connu sous le nom des langages compilés. 119 00:04:19,700 --> 00:04:21,000 Peut-être pas surprenant. 120 00:04:21,000 --> 00:04:23,550 >> Donc, ceci est le modèle pour les langages compilés. 121 00:04:23,550 --> 00:04:25,970 Mais il se trouve qu'il y a une autre classe de langues 122 00:04:25,970 --> 00:04:32,650 appelé interprété languages-- interprété languages-- 123 00:04:32,650 --> 00:04:34,030 qui sont légèrement différents. 124 00:04:34,030 --> 00:04:41,660 Vous écrivez dans le code source, exécutez eux par un interprète, 125 00:04:41,660 --> 00:04:45,440 et interprète ce qui fonctionne sur le CPU. 126 00:04:45,440 --> 00:04:50,120 En d'autres termes, ce que vous ne emit est ce que, apparemment? 127 00:04:50,120 --> 00:04:50,980 Langage machine. 128 00:04:50,980 --> 00:04:54,290 Les zéros et les uns que la CPU se comprend finalement. 129 00:04:54,290 --> 00:04:59,780 >> Donc, dans cette première version et langages comme C, comme nous l'avons vu, 130 00:04:59,780 --> 00:05:02,040 vous écrivez dans le code source c'est un peu mystérieux, 131 00:05:02,040 --> 00:05:05,300 mais au moins il est un peu de l'anglais comme et il est au moins lisible 132 00:05:05,300 --> 00:05:06,780 une fois que vous y habituer. 133 00:05:06,780 --> 00:05:10,100 Vous exécutez par un compilateur et sur vous obtenez, en fin de compte, zéros et des uns. 134 00:05:10,100 --> 00:05:11,340 >> Qu'un simplisme. 135 00:05:11,340 --> 00:05:12,839 Il y a quelques autres étapes de là. 136 00:05:12,839 --> 00:05:15,530 En fait, si vous avez jamais entendu le terme «langage d'assemblage," 137 00:05:15,530 --> 00:05:17,990 qui est une étape avant les zéros et des uns. 138 00:05:17,990 --> 00:05:20,949 Qu'un peu plus lisible, mais encore assez mystérieux. 139 00:05:20,949 --> 00:05:23,740 Et donc il y a des étapes intermédiaires qui sont, en fait, va ici. 140 00:05:23,740 --> 00:05:26,360 Mais la sortie, en fin de compte, est ces zéros et des uns. 141 00:05:26,360 --> 00:05:28,990 >> Mais dans l'interpréter monde, où vous avez 142 00:05:28,990 --> 00:05:32,680 langues qui sont interprétés langues, vous fait sauter cette étape. 143 00:05:32,680 --> 00:05:36,010 En d'autres termes, lorsque vous écrivez un programme, vous suffit d'exécuter immédiatement. 144 00:05:36,010 --> 00:05:38,960 Vous ne compilez et puis l'exécuter, comme je le faisais avant. 145 00:05:38,960 --> 00:05:41,132 Vous venez d'écrire et exécuter. 146 00:05:41,132 --> 00:05:44,340 Et si vous voulez faire un changement rapide, vous faites un changement rapide et relancez-le. 147 00:05:44,340 --> 00:05:46,640 Donc, il n'y a pas d'étape intermédiaire ici. 148 00:05:46,640 --> 00:05:50,840 >> Maintenant, pour le programme que je l'ai déjà écrit, qui était ce programme "Bonjour tout le monde», 149 00:05:50,840 --> 00:05:53,660 vous pourriez raisonnablement wonder-- ou pourrait raisonnablement 150 00:05:53,660 --> 00:05:58,570 state-- cela n'a pas été que le temps longs à compiler mon programme. 151 00:05:58,570 --> 00:06:00,337 Il semble avoir fait juste comme ça. 152 00:06:00,337 --> 00:06:02,170 Et il y a graphique versions de compilateurs. 153 00:06:02,170 --> 00:06:05,270 J'utilise une version très obscur, mais vous pouvez appuyer sur un bouton de lecture 154 00:06:05,270 --> 00:06:07,887 et ce serait réellement faire la compilation pour vous. 155 00:06:07,887 --> 00:06:10,720 J'ai compilé le programme, puis à nouveau, pour l'exécuter, je viens de faire cela. 156 00:06:10,720 --> 00:06:13,820 Et il sort à gauche là-bas, "Bonjour!" 157 00:06:13,820 --> 00:06:15,530 Cela ne semble pas tout à fait onéreux. 158 00:06:15,530 --> 00:06:19,920 Mais quand vos programmes sont plus que seulement un, deux, trois, 159 00:06:19,920 --> 00:06:25,470 quatre, cinq lignes, il peut prendre beaucoup plus de secondes à compiler. 160 00:06:25,470 --> 00:06:28,310 Parfois, même minutes ou un peu de temps à compiler. 161 00:06:28,310 --> 00:06:30,480 Après tout, une partie de la plus grands produits du monde 162 00:06:30,480 --> 00:06:35,040 sont des choses comme les systèmes d'exploitation, Microsoft Word, Microsoft Excel, 163 00:06:35,040 --> 00:06:39,070 ce qui pourrait être des centaines de milliers ou même des millions de lignes de code long, 164 00:06:39,070 --> 00:06:41,300 et ceux qui ne le font pas juste exécuter immédiatement. 165 00:06:41,300 --> 00:06:44,560 >> En outre, sur la bande, il est devenu à la mode à utiliser 166 00:06:44,560 --> 00:06:47,600 langues simplement interprétées, en partie parce que vous 167 00:06:47,600 --> 00:06:50,570 peut faire un changement en tant que développeur et puis juste recharger immédiatement 168 00:06:50,570 --> 00:06:52,570 la page du navigateur et voir immédiatement le résultat. 169 00:06:52,570 --> 00:06:56,160 Et HTML, sans un langage de programmation, 170 00:06:56,160 --> 00:06:58,860 est une langue qui est interprété. 171 00:06:58,860 --> 00:07:00,770 Et nous avons vu que même effet hier. 172 00:07:00,770 --> 00:07:04,070 Vous rechargez simplement la page après avoir fait un changement dans Cloud9 et-- voila-- 173 00:07:04,070 --> 00:07:05,560 vous voyez un nouveau résultat. 174 00:07:05,560 --> 00:07:07,090 >> Alors, quelle est la différence ici? 175 00:07:07,090 --> 00:07:13,190 En HTML, le rappel, nous avions HTML ouvert, tête ouverte, titre ouvert, à proximité titre, 176 00:07:13,190 --> 00:07:15,250 proche de tête, corps ouvert, et ainsi de suite. 177 00:07:15,250 --> 00:07:19,149 Nous avons eu toutes ces balises que nous assez bien dit, dit le navigateur ce qu'il faut faire. 178 00:07:19,149 --> 00:07:20,690 Hey navigateur, voici une page HTML. 179 00:07:20,690 --> 00:07:22,170 Hey navigateur, voici le titre. 180 00:07:22,170 --> 00:07:24,429 Hey navigateur, voici quelques-uns le texte qui doit être audacieux. 181 00:07:24,429 --> 00:07:25,720 Et puis vous dire le contraire. 182 00:07:25,720 --> 00:07:27,330 Hey navigateur, voilà pour le texte de gras. 183 00:07:27,330 --> 00:07:28,830 Hey navigateur, qui est pour le corps. 184 00:07:28,830 --> 00:07:29,740 Et ainsi de suite. 185 00:07:29,740 --> 00:07:31,130 >> Et qu'est-ce qu'un navigateur? 186 00:07:31,130 --> 00:07:33,170 Un navigateur est juste un interprète. 187 00:07:33,170 --> 00:07:36,090 Il est un programme que quelqu'un comme Microsoft ou Google a écrit, 188 00:07:36,090 --> 00:07:39,160 dont le but dans la vie est de lire une langue, connue sous le nom HTML, 189 00:07:39,160 --> 00:07:39,890 et l'interpréter. 190 00:07:39,890 --> 00:07:41,290 De haut en bas, de gauche à droite. 191 00:07:41,290 --> 00:07:46,880 Et chaque fois que le navigateur voit ouvert support, titre, fermer la parenthèse, 192 00:07:46,880 --> 00:07:48,960 il devrait interpréter en ce sens, oh, que 193 00:07:48,960 --> 00:07:52,490 signifie que je devrais mettre ces mots chemin ici en haut du navigateur. 194 00:07:52,490 --> 00:07:55,700 >> Donc, il fait exactement ce que dit le code HTML. 195 00:07:55,700 --> 00:07:57,240 Mais il n'y a pas de zéros et de uns. 196 00:07:57,240 --> 00:07:58,250 Il n'y a pas de compilation. 197 00:07:58,250 --> 00:07:58,890 Vous ne l'avez pas. 198 00:07:58,890 --> 00:07:59,931 Le navigateur ne le faisait pas. 199 00:07:59,931 --> 00:08:01,710 Il est tout simplement pas impliqué. 200 00:08:01,710 --> 00:08:05,890 >> Donc, dans l'esprit de ces cours sujets, aujourd'hui et hier, 201 00:08:05,890 --> 00:08:08,400 qui semble être une caractéristique merveilleuse. 202 00:08:08,400 --> 00:08:11,410 Vous enregistrez votre code, puis il suffit d'exécuter ou interpréter. 203 00:08:11,410 --> 00:08:13,790 Il n'y a pas d'étapes intermédiaires. 204 00:08:13,790 --> 00:08:15,690 Certes, il y a un coût? 205 00:08:15,690 --> 00:08:16,810 Ne peut pas tous être upsides. 206 00:08:16,810 --> 00:08:19,964 Alors, que peut-être que le coût? 207 00:08:19,964 --> 00:08:20,940 >> AUDIENCE: Space. 208 00:08:20,940 --> 00:08:22,370 >> DAVID J. Malan: Space. 209 00:08:22,370 --> 00:08:23,370 Si sûr. 210 00:08:23,370 --> 00:08:26,920 Dans le monde compilé, vous avez non seulement le code source original, 211 00:08:26,920 --> 00:08:29,657 vous créez également et puis en enregistrant vraisemblablement 212 00:08:29,657 --> 00:08:31,740 la machine code-- la zéros et ones-- et c'est 213 00:08:31,740 --> 00:08:33,870 eu à prendre une certaine quantité d'espace. 214 00:08:33,870 --> 00:08:34,429 Absolument. 215 00:08:34,429 --> 00:08:35,765 Donc, il vous coûte plus d'espace. 216 00:08:35,765 --> 00:08:39,289 217 00:08:39,289 --> 00:08:39,789 Ouais? 218 00:08:39,789 --> 00:08:43,280 >> AUDIENCE: Browsers pourrait interpréter différemment. 219 00:08:43,280 --> 00:08:46,770 >> DAVID J. Malan: Browsers might interpréter différemment. 220 00:08:46,770 --> 00:08:48,622 C'est vrai. 221 00:08:48,622 --> 00:08:50,330 Mais je ne suis pas sûr que je suis confortable prétendant 222 00:08:50,330 --> 00:08:51,840 qui est parce qu'il est interprété. 223 00:08:51,840 --> 00:08:56,340 C'est plus juste parce qu'il est une mise en oeuvre d'une langue 224 00:08:56,340 --> 00:08:58,050 qui lui-même a des ambiguïtés. 225 00:08:58,050 --> 00:09:01,570 Donc, il ne faut pas tout à fait confirmer celui-là, mais bon pressentiment. 226 00:09:01,570 --> 00:09:03,103 Que pourrait être le prix payé? 227 00:09:03,103 --> 00:09:03,602 Andrew? 228 00:09:03,602 --> 00:09:05,912 >> AUDIENCE: Vous combinant deux étapes, de sorte que vous donc 229 00:09:05,912 --> 00:09:08,300 ont une complexité croissante aussi bien. 230 00:09:08,300 --> 00:09:11,040 >> DAVID J. Malan: Le complex-- l'augmentation de la complexité où? 231 00:09:11,040 --> 00:09:12,270 Pour qui? 232 00:09:12,270 --> 00:09:16,748 >> AUDIENCE: Donc, dans l'interpréteur étape, vous combinez l'interprète 233 00:09:16,748 --> 00:09:19,120 et le compilateur pour juste menant to-- 234 00:09:19,120 --> 00:09:21,100 >> DAVID J. Malan: Ah, OK. 235 00:09:21,100 --> 00:09:25,240 Ironie du sort, il est sans doute un peu plus simple à mettre en œuvre l'interprète, 236 00:09:25,240 --> 00:09:29,530 même si elle semble upsides de rendement de cette commodité. 237 00:09:29,530 --> 00:09:30,550 Donc, peut-être vrai. 238 00:09:30,550 --> 00:09:32,716 Mais ce genre de fonction, je dirait, sur la langue 239 00:09:32,716 --> 00:09:35,720 et sur la façon dont ils sont allés à propos de sa mise en œuvre. 240 00:09:35,720 --> 00:09:38,535 Il peut y avoir beaucoup plus de complexité, En fait, dans le compilateur, 241 00:09:38,535 --> 00:09:41,410 juste parce que vous devez aller de quelque chose de si haut niveau à quelque chose 242 00:09:41,410 --> 00:09:42,560 donc bas niveau. 243 00:09:42,560 --> 00:09:45,340 Mais une bonne pensée. 244 00:09:45,340 --> 00:09:50,770 >> Donc, en d'autres termes, un programme compilé, quand transformé en ces zéros et des uns, 245 00:09:50,770 --> 00:09:54,470 se retrouve dans la langue que le processeur prend la parole, 246 00:09:54,470 --> 00:09:57,850 alors que dans ce côté de la monde, le programme que vous avez écrit, 247 00:09:57,850 --> 00:10:02,527 le code que vous avez écrit, jamais réellement est converti dans la langue réelle 248 00:10:02,527 --> 00:10:03,360 l'ordinateur parle. 249 00:10:03,360 --> 00:10:04,190 Les zéros et des uns. 250 00:10:04,190 --> 00:10:08,480 Il reste dans l'original, plus humain friendly langue, plus lisible. 251 00:10:08,480 --> 00:10:11,720 Alors, quelle pourrait être l'implication là, si vous n'avez pas réellement 252 00:10:11,720 --> 00:10:15,020 la peine de convertir votre programme à la langue très 253 00:10:15,020 --> 00:10:18,013 que l'ordinateur sous-jacent parle? 254 00:10:18,013 --> 00:10:19,780 >> AUDIENCE: pourrait ne pas comprendre quelque chose? 255 00:10:19,780 --> 00:10:21,170 >> DAVID J. Malan: Pourrait ne pas comprendre quelque chose. 256 00:10:21,170 --> 00:10:23,297 Et cela peut claim-- si elle ne comprenait pas 257 00:10:23,297 --> 00:10:25,880 quelque chose, qui est un bug ou le manque de figurer dans l'interpréteur. 258 00:10:25,880 --> 00:10:28,544 Donc, ce serait plus de une erreur qu'un coût. 259 00:10:28,544 --> 00:10:30,419 >> AUDIENCE: Vous avez accès le code source? 260 00:10:30,419 --> 00:10:31,877 DAVID J. Malan: Il y a un bon. 261 00:10:31,877 --> 00:10:34,140 Ainsi, un inconvénient est que vous semblerait avoir accès. 262 00:10:34,140 --> 00:10:37,006 Vous, l'utilisateur final, peut sembler avoir accès au code source. 263 00:10:37,006 --> 00:10:38,130 Et ce n'est pas toujours vrai. 264 00:10:38,130 --> 00:10:39,660 Mais il est vrai dans le cas de JavaScript, 265 00:10:39,660 --> 00:10:41,660 que nous allons voir après pause aujourd'hui, le qui 266 00:10:41,660 --> 00:10:45,720 est un langage de programmation interprété que vous écrivez dans le code source. 267 00:10:45,720 --> 00:10:48,890 >> Mais que le code source est transféré à partir de votre serveur au navigateur 268 00:10:48,890 --> 00:10:51,392 et fonctionne dans le navigateur de l'être humain. 269 00:10:51,392 --> 00:10:54,350 Donc, ici, elle pourrait simplement ouvrir la fenêtre, comme je l'ai fait dans Chrome, 270 00:10:54,350 --> 00:10:57,740 et regarder, comme nous-mêmes regarda hier avec Google. 271 00:10:57,740 --> 00:11:00,420 Il peut sembler un peu incompréhensible mais il est là. 272 00:11:00,420 --> 00:11:03,482 Voilà donc absolument un prix payé. 273 00:11:03,482 --> 00:11:04,565 AUDIENCE: Performance hit? 274 00:11:04,565 --> 00:11:05,020 DAVID J. Malan: Oui. 275 00:11:05,020 --> 00:11:06,260 Et c'est l'autre biggie. 276 00:11:06,260 --> 00:11:07,380 Il y a une baisse de performance. 277 00:11:07,380 --> 00:11:10,100 Parce que vous avez cette homme du milieu, qui lui-même 278 00:11:10,100 --> 00:11:13,740 est un programme, entre vous et l'unité centrale, par opposition 279 00:11:13,740 --> 00:11:17,880 pour simplement nourrir ces premières zéros et de uns dans l'unité centrale de traitement, 280 00:11:17,880 --> 00:11:21,060 il y a une baisse de performance que vous prendre avec un langage interprété. 281 00:11:21,060 --> 00:11:24,240 De telle sorte que, de manière arbitraire, un programme cela pourrait prendre un seconde 282 00:11:24,240 --> 00:11:27,840 pour fonctionner sur un ordinateur ou un minute pour fonctionner sur un ordinateur ici, 283 00:11:27,840 --> 00:11:32,059 pourrait prendre 10 secondes ou 10 minutes pour fonctionner sur un ordinateur ici. 284 00:11:32,059 --> 00:11:35,100 Il est généralement ne va pas être que beaucoup d'un facteur de 10-- changé les choses 285 00:11:35,100 --> 00:11:36,808 parce qu'il ya optimisations que vous pouvez faire. 286 00:11:36,808 --> 00:11:38,680 Mais il est presque toujours plus lent. 287 00:11:38,680 --> 00:11:43,070 Maintenant, le revers de la médaille à cette préoccupation est que, bien des ordinateurs, tous les 12 288 00:11:43,070 --> 00:11:45,970 à 18 months-- selon la La loi de Moore, ainsi speak-- 289 00:11:45,970 --> 00:11:47,600 sont juste de plus en plus vite. 290 00:11:47,600 --> 00:11:48,750 J'ai de plus en plus d'espace disque. 291 00:11:48,750 --> 00:11:49,791 J'ai de plus en plus de RAM. 292 00:11:49,791 --> 00:11:50,620 Qui se soucie vraiment? 293 00:11:50,620 --> 00:11:52,328 >> Et que ce genre de argument raisonnable. 294 00:11:52,328 --> 00:11:55,740 En effet, une des raisons pourquoi nous ne pouvons tolérer plus lent 295 00:11:55,740 --> 00:11:58,480 langues interprétées est parce nous, les humains ne remarquerez pas vraiment. 296 00:11:58,480 --> 00:12:00,690 Les ordinateurs ont obtenu tellement sacrément rapide. 297 00:12:00,690 --> 00:12:04,520 Alors que dans la journée, en particulier lorsque le matériel a été beaucoup plus limitée, 298 00:12:04,520 --> 00:12:06,860 vous avez eu moins de tout, il était beaucoup plus cher 299 00:12:06,860 --> 00:12:10,570 donc tout coûte plus cher, eh bien vous avez vraiment voulu faire sortir 300 00:12:10,570 --> 00:12:12,590 autant les performances que vous pourriez. 301 00:12:12,590 --> 00:12:16,400 Mais celle requise par écrit à un niveau inférieur, si vous voulez, 302 00:12:16,400 --> 00:12:18,090 avec un langage compilé. 303 00:12:18,090 --> 00:12:20,830 >> Donc, vous ne prenez cette baisse de performance. 304 00:12:20,830 --> 00:12:24,780 Mais généralement, les upsides semblent être la peine ces jours-ci. 305 00:12:24,780 --> 00:12:26,850 De plus, à l'exception du question de la propriété intellectuelle. 306 00:12:26,850 --> 00:12:28,641 Ce genre de lisibilité du code, nous allons 307 00:12:28,641 --> 00:12:30,640 revenir quand on regarde JavaScript. 308 00:12:30,640 --> 00:12:33,140 >> Essayons donc de classer au moins quelques-uns de ceux-ci. 309 00:12:33,140 --> 00:12:41,650 Donc, parmi les langages compilés, nous aurait C, C ++, un peu, sorta, Java, 310 00:12:41,650 --> 00:12:48,120 même si elle est un peu une exception, pour raisons que je vais vous montrer dans un instant. 311 00:12:48,120 --> 00:12:51,540 C # serait sur cette liste. 312 00:12:51,540 --> 00:12:54,930 Nous allons examiner plus à seulement les langues les plus modernes. 313 00:12:54,930 --> 00:12:55,430 D'accord. 314 00:12:55,430 --> 00:12:56,804 Et cela semble être beaucoup là-bas. 315 00:12:56,804 --> 00:13:03,500 Considérant que, de ce côté de la clôture, nous pourrions avoir JavaScript et Python, 316 00:13:03,500 --> 00:13:08,040 et PHP et Ruby. 317 00:13:08,040 --> 00:13:13,640 Et est-ce suffisant pour les plus récents? 318 00:13:13,640 --> 00:13:15,410 Cela se sent comme beaucoup pour le moment. 319 00:13:15,410 --> 00:13:16,330 D'ACCORD. 320 00:13:16,330 --> 00:13:18,760 Et puis Dot Dot Dot, puisque la liste est sans fin. 321 00:13:18,760 --> 00:13:22,300 >> Et en effet, si nous voulons juste avoir une idée de this-- Wikipedia, 322 00:13:22,300 --> 00:13:24,130 langages compilés. 323 00:13:24,130 --> 00:13:27,150 Je devine que nous pouvons obtenir un liste beaucoup plus exhaustive. 324 00:13:27,150 --> 00:13:27,910 Alors allons-y. 325 00:13:27,910 --> 00:13:30,620 Voici donc une liste beaucoup plus exhaustive. 326 00:13:30,620 --> 00:13:34,150 Et j'espérais que quelqu'un deviner D comme langue parce que existe aussi, 327 00:13:34,150 --> 00:13:37,747 mais ils se sont arrêtés à D, il semblerait. 328 00:13:37,747 --> 00:13:39,330 Bien qu'il puisse effectivement être un E. 329 00:13:39,330 --> 00:13:41,496 >> Oh, en fait, cela devrait être sur la liste de ces jours. 330 00:13:41,496 --> 00:13:47,460 Swift est en fait un langue que Apple a inventé 331 00:13:47,460 --> 00:13:50,302 qui est maintenant utilisé, de plus en plus ainsi, dans le développement iPhone. 332 00:13:50,302 --> 00:13:52,260 Mais nous y reviendrons que notre discussion 333 00:13:52,260 --> 00:13:54,090 du mobile en un peu aussi. 334 00:13:54,090 --> 00:13:55,260 Alors Swift ainsi. 335 00:13:55,260 --> 00:13:57,540 >> Et puis si nous allons à interprété language-- 336 00:13:57,540 --> 00:14:05,010 interprété language-- alors voici une liste encore plus aussi bien. 337 00:14:05,010 --> 00:14:07,260 Donc, si vous venez de Google et regardez sur Wikipedia pour ceux-ci, 338 00:14:07,260 --> 00:14:09,231 vous verrez toutes sortes de langues. 339 00:14:09,231 --> 00:14:10,980 Mais le but est, pour aujourd'hui vraiment, juste 340 00:14:10,980 --> 00:14:13,680 se résume à peut-être cette question de la propriété intellectuelle 341 00:14:13,680 --> 00:14:18,200 et une lisibilité par l'utilisateur final, et performance, est un autre biggie aussi. 342 00:14:18,200 --> 00:14:21,080 >> Donc, parmi ces langues, permettez-moi de voir si nous pouvons vous donner 343 00:14:21,080 --> 00:14:24,487 quelques-uns échantillon de langues. 344 00:14:24,487 --> 00:14:26,820 Nous ne voulons pas passer par toutes les langues à l'infini. 345 00:14:26,820 --> 00:14:29,720 Avez-vous déjà demandé quel certaine langue ressemble? 346 00:14:29,720 --> 00:14:31,562 Nous avons vu il y a un instant. 347 00:14:31,562 --> 00:14:33,520 Pourquoi prenons-nous pas un couple des demandes de fonctionnalités. 348 00:14:33,520 --> 00:14:35,380 Qui aimerait voir ce que autre langue ressemble? 349 00:14:35,380 --> 00:14:35,620 Ouais. 350 00:14:35,620 --> 00:14:36,150 >> AUDIENCE: Java. 351 00:14:36,150 --> 00:14:36,540 >> DAVID J. Malan: Java. 352 00:14:36,540 --> 00:14:37,040 D'accord. 353 00:14:37,040 --> 00:14:38,504 Donc, nous allons aller à Java. 354 00:14:38,504 --> 00:14:42,300 355 00:14:42,300 --> 00:14:44,900 Et juste pour vous donner un sample-- nous pourrions écrire tout cela sur, 356 00:14:44,900 --> 00:14:47,670 mais il serait plus rapide juste regarder le code exemple de quelqu'un d'autre. 357 00:14:47,670 --> 00:14:48,170 D'accord. 358 00:14:48,170 --> 00:14:50,330 Alors est-ce un bon exemple? 359 00:14:50,330 --> 00:14:52,040 Whoops. 360 00:14:52,040 --> 00:14:52,540 D'ACCORD. 361 00:14:52,540 --> 00:14:58,810 Voici donc la version Java de la programme je l'ai écrit plus tôt, "Bonjour tout le monde." 362 00:14:58,810 --> 00:15:01,900 >> Donc, Java, vous aurez souvent voir la «classe». mot-clé 363 00:15:01,900 --> 00:15:03,779 Ensuite, vous verrez un nom après. 364 00:15:03,779 --> 00:15:05,570 Vous verrez accolades comme nous l'avons vu précédemment, 365 00:15:05,570 --> 00:15:08,153 et parfois ils vont sur le même ligne, parfois d'autres lignes, 366 00:15:08,153 --> 00:15:09,734 il est une sorte de décision personnelle. 367 00:15:09,734 --> 00:15:11,900 Vous verrez des mots clés comme "Public", "statique", "vide". 368 00:15:11,900 --> 00:15:13,790 Mais nous avons vu "principale." "Main" est généralement 369 00:15:13,790 --> 00:15:17,220 le nom de la fonction par défaut ou le morceau par défaut de code 370 00:15:17,220 --> 00:15:18,760 obtient exécuter dans un programme. 371 00:15:18,760 --> 00:15:19,330 >> "Chaîne." 372 00:15:19,330 --> 00:15:20,850 Qu'est-ce qu'on entend par chaîne plus tôt? 373 00:15:20,850 --> 00:15:23,480 Je l'ai utilisé sorte de désinvolture. 374 00:15:23,480 --> 00:15:25,100 Une chaîne est quoi? 375 00:15:25,100 --> 00:15:25,601 Un mot. 376 00:15:25,601 --> 00:15:27,058 Il est comme une séquence de caractères. 377 00:15:27,058 --> 00:15:29,810 Les caractères individuels, de nouveau à dos à dos, habituellement dans un tableau, 378 00:15:29,810 --> 00:15:30,690 comme nous en avons discuté. 379 00:15:30,690 --> 00:15:34,700 Et en fait, voir cette syntaxe ici, les deux crochets? 380 00:15:34,700 --> 00:15:39,210 Cela veut dire, hey ordinateur, ici vient un tableau de chaînes. 381 00:15:39,210 --> 00:15:42,636 La notation du support carré est communément utilisé pour indiquer que. 382 00:15:42,636 --> 00:15:44,510 Et puis vous pouvez probablement prendre un guess-- ce 383 00:15:44,510 --> 00:15:46,580 ce que cela a mis en évidence morceau de code probablement faire? 384 00:15:46,580 --> 00:15:49,737 385 00:15:49,737 --> 00:15:50,639 >> AUDIENCE: La sortie? 386 00:15:50,639 --> 00:15:51,090 >> DAVID J. Malan: Oui. 387 00:15:51,090 --> 00:15:52,506 Elle imprime quelque chose à l'écran. 388 00:15:52,506 --> 00:15:57,070 Donc, «système» est une sorte de référence à votre ordinateur. 389 00:15:57,070 --> 00:15:59,620 "Out" signifie que votre ordinateur de sortie ou l'écran. 390 00:15:59,620 --> 00:16:04,450 Donc "ln System.out.print" signifie probablement? 391 00:16:04,450 --> 00:16:05,570 "Ln". 392 00:16:05,570 --> 00:16:09,570 ligne d'impression qui programmeurs comme épeler apparemment quelques mots sur 393 00:16:09,570 --> 00:16:11,820 dans leur ensemble et prennent raccourcis avec d'autres mots. 394 00:16:11,820 --> 00:16:13,260 Mais "ln" est la ligne, de sorte que la ligne d'impression. 395 00:16:13,260 --> 00:16:17,370 Donc, il affiche "Bonjour World! "Suivi d'une nouvelle ligne. 396 00:16:17,370 --> 00:16:18,300 >> Alors c'est tout. 397 00:16:18,300 --> 00:16:21,150 Mais Java est ce qu'ils vont appel orienté objet. 398 00:16:21,150 --> 00:16:23,440 Et en effet, juste pour donner un deux autres définitions 399 00:16:23,440 --> 00:16:26,420 là que vous pourriez voir, en général, il 400 00:16:26,420 --> 00:16:30,600 de nombreux types différents de langues, mais le plus commun 401 00:16:30,600 --> 00:16:37,830 sont des langues de procédure ou impératives. 402 00:16:37,830 --> 00:16:41,600 Il existe fonctionnel langues, qui ne 403 00:16:41,600 --> 00:16:43,790 dire que les autres ne sont pas fonctionnels. 404 00:16:43,790 --> 00:16:47,740 Et puis il y a langages orientés objet. 405 00:16:47,740 --> 00:16:51,170 Et cela est peut-être le meilleur catégorisation de la plupart des langues 406 00:16:51,170 --> 00:16:56,445 que vous jamais choisir de tri d'un projet commercial typique. 407 00:16:56,445 --> 00:16:58,910 >> Ce serait trop, Je pense que, d'un trou de rat 408 00:16:58,910 --> 00:17:01,620 pour aller vers le bas, pour essayer d'expliquer les diverses différences. 409 00:17:01,620 --> 00:17:04,599 Mais les langues nous avons vu ainsi far-- C 410 00:17:04,599 --> 00:17:07,680 est une procédure ou un langage impératif. 411 00:17:07,680 --> 00:17:11,200 Plus récemment inventé langues ont tendance à être, désolé, 412 00:17:11,200 --> 00:17:14,430 orienté objet, ce qui signifie ils ont d'autres caractéristiques pour eux. 413 00:17:14,430 --> 00:17:18,130 414 00:17:18,130 --> 00:17:19,430 Puis-je l'expliquer de cette manière? 415 00:17:19,430 --> 00:17:20,950 Disons même pas aller là-bas. 416 00:17:20,950 --> 00:17:25,200 >> des moyens orientés objet vous pouvez implement-- 417 00:17:25,200 --> 00:17:27,930 vous pouvez modéliser le monde réel un peu plus efficace. 418 00:17:27,930 --> 00:17:29,722 L'humanité, au fil du temps, a compris, wow, 419 00:17:29,722 --> 00:17:32,430 ce serait bien si ma langue avait cette fonction ou cette fonctionnalité. 420 00:17:32,430 --> 00:17:34,830 Et voilà pourquoi nous avons tant de nombreuses langues dans le monde. 421 00:17:34,830 --> 00:17:37,670 Les gens raisonnables, intelligent les gens, d'accord ou non 422 00:17:37,670 --> 00:17:41,000 et invariablement sorte de se réunir sur le développement de nouvelles langues tous ensemble. 423 00:17:41,000 --> 00:17:41,660 >> Affaire au point. 424 00:17:41,660 --> 00:17:45,260 Apple a inventé Swift dans l'espoir d'abaisser vraisemblablement 425 00:17:45,260 --> 00:17:47,950 la barre pour le développement iPhone, parce que la language-- précédente 426 00:17:47,950 --> 00:17:51,080 appelé Objective-C, ce qui pourrait être aussi sur notre liste ici-- 427 00:17:51,080 --> 00:17:54,190 était beaucoup plus mystérieux et beaucoup plus difficile à envelopper son esprit autour. 428 00:17:54,190 --> 00:17:57,690 Et que la programmation devient sans doute plus accessible et plus largement 429 00:17:57,690 --> 00:18:00,580 adopté par les gens même moins technique, l'goal-- 430 00:18:00,580 --> 00:18:04,160 il est très vaillant objectif d'essayer de abaisser la barrière à l'entrée en faisant 431 00:18:04,160 --> 00:18:07,400 les langues elles-mêmes plus facile de démarrer avec, 432 00:18:07,400 --> 00:18:09,430 mais non moins puissant nécessairement. 433 00:18:09,430 --> 00:18:10,560 >> Et une autre langue. 434 00:18:10,560 --> 00:18:14,110 Pourquoi ne prenons pas un coup d'oeil à quelque chose comme Python, 435 00:18:14,110 --> 00:18:18,090 ce qui est très en vogue ces jours-ci. 436 00:18:18,090 --> 00:18:19,570 Python. 437 00:18:19,570 --> 00:18:20,464 Exemple de programme. 438 00:18:20,464 --> 00:18:24,600 439 00:18:24,600 --> 00:18:26,700 Voyons voir. 440 00:18:26,700 --> 00:18:28,790 langues "Bonjour tout le monde". 441 00:18:28,790 --> 00:18:30,180 Faisons cela. 442 00:18:30,180 --> 00:18:33,625 "Bonjour le monde." 443 00:18:33,625 --> 00:18:35,375 Voyons voir si cela donne nous un bel exemple. 444 00:18:35,375 --> 00:18:39,450 445 00:18:39,450 --> 00:18:39,950 D'ACCORD. 446 00:18:39,950 --> 00:18:41,283 Donc, c'est en fait une sorte de plaisir. 447 00:18:41,283 --> 00:18:43,330 Donc si jamais vous google "Bonjour tout le monde», qui 448 00:18:43,330 --> 00:18:47,000 se trouve être l'un des premiers programmes jamais écrit dans une langue moderne, 449 00:18:47,000 --> 00:18:51,830 tout comme une preuve de concept, vous pouvez voir toutes sortes de mises en œuvre de cette. 450 00:18:51,830 --> 00:18:54,240 >> Certaines de ces langues Je l'ai même pas entendu parler. 451 00:18:54,240 --> 00:18:59,770 Mais vous pouvez see-- allons à Basic, celui que j'appris il y a quelques années, en partie. 452 00:18:59,770 --> 00:19:02,720 Ce fut un langage amusant parce que vous a dû, en tant que programmeur, nombre 453 00:19:02,720 --> 00:19:03,710 toutes vos lignes. 454 00:19:03,710 --> 00:19:05,626 Pas contrairement à ce que je faire quand je rédigeais 455 00:19:05,626 --> 00:19:08,380 pseudocode sur le document jaune plus tôt pour la recherche binaire, 456 00:19:08,380 --> 00:19:09,580 pour la recherche d'un annuaire téléphonique. 457 00:19:09,580 --> 00:19:11,810 >> Et donc, si vous vouliez pour aller à une autre ligne, 458 00:19:11,810 --> 00:19:15,780 vous littéralement taper, aller à 10, ou aller à 20. 459 00:19:15,780 --> 00:19:19,110 Et si vous écrivez des lignes, les convention était de faire, cela est la ligne 10, 460 00:19:19,110 --> 00:19:22,545 ceci est la ligne 20, cette ligne est 30, 40, avec rien entre les deux, 461 00:19:22,545 --> 00:19:25,170 vous donnant ainsi une certaine marge si vous décidez, attendez une minute, 462 00:19:25,170 --> 00:19:27,230 J'aurais ajouté quelques plus de code quelque part. 463 00:19:27,230 --> 00:19:30,960 Vous aviez encore sorte de neuf chances de presser que entre votre programme 464 00:19:30,960 --> 00:19:33,020 avant que vous deviez manuellement renuméroter tout. 465 00:19:33,020 --> 00:19:35,470 >> Donc, cela est un peu ce que je veux dire quand je dis le monde est venu 466 00:19:35,470 --> 00:19:36,303 avec de nouvelles fonctionnalités. 467 00:19:36,303 --> 00:19:39,364 Quelque part le long de la façon dont une personne réalisé, garçon cela est stupide. 468 00:19:39,364 --> 00:19:41,280 Ceci est juste la création travailler pour le programmeur. 469 00:19:41,280 --> 00:19:44,200 Donc, il ou elle juste un peu construit une nouvelle couche au-dessus de cette 470 00:19:44,200 --> 00:19:46,910 de sorte que vous ne devez pas vous inquiéter sur ce nombre en ligne votre code 471 00:19:46,910 --> 00:19:48,570 est en fait sur. 472 00:19:48,570 --> 00:19:54,940 >> Alors, quand pourriez-vous choisir une langue ou d'une autre? 473 00:19:54,940 --> 00:19:56,690 Eh bien, ce qui de ces langues Avez-vous tendance 474 00:19:56,690 --> 00:20:00,960 d'entendre parler le plus dans votre propre monde ces jours-ci? 475 00:20:00,960 --> 00:20:02,680 Laissons tomber vers le bas Objective-C trop. 476 00:20:02,680 --> 00:20:06,416 477 00:20:06,416 --> 00:20:07,739 >> AUDIENCE: C #. 478 00:20:07,739 --> 00:20:08,530 DAVID J. Malan: C #. 479 00:20:08,530 --> 00:20:10,310 Permettez-moi donc la couleur. 480 00:20:10,310 --> 00:20:13,190 Avons-nous notre autre couleur quelque part? 481 00:20:13,190 --> 00:20:14,550 Donc, C #. 482 00:20:14,550 --> 00:20:16,390 Et que savez-vous sur C #? 483 00:20:16,390 --> 00:20:18,940 Tout printemps à l'esprit? 484 00:20:18,940 --> 00:20:20,707 >> AUDIENCE: Il est un langage de programmation. 485 00:20:20,707 --> 00:20:22,540 DAVID J. Malan: Il est un langage de programmation. 486 00:20:22,540 --> 00:20:23,200 D'ACCORD. 487 00:20:23,200 --> 00:20:24,690 C'est vrai. 488 00:20:24,690 --> 00:20:26,440 Nous parlons donc de C #. 489 00:20:26,440 --> 00:20:29,230 C # tend à être utilisé dans les environnements Windows, 490 00:20:29,230 --> 00:20:33,550 donc si vous écrivez des logiciels Microsoft pour Windows, C # est très couramment utilisé, 491 00:20:33,550 --> 00:20:38,560 que ce soit pour les logiciels de bureau, ou même un logiciel de téléphone sur les téléphones Windows, 492 00:20:38,560 --> 00:20:41,820 si vous avez eu ceux, ou sur le web même trop. 493 00:20:41,820 --> 00:20:44,642 Et en fait, peut-être Kareem susmentionné ASP plus tôt? 494 00:20:44,642 --> 00:20:46,600 Donc, il y a aussi ces choses appelées cadres, 495 00:20:46,600 --> 00:20:51,040 que nous pouvons introduire par extension. 496 00:20:51,040 --> 00:20:53,280 Cadres, comme ASP. 497 00:20:53,280 --> 00:20:55,740 Stands pour les pages de serveur actives. 498 00:20:55,740 --> 00:20:59,880 Et ceci est le code et un moyen de programmation 499 00:20:59,880 --> 00:21:03,490 qui rend généralement plus facile pour écrire des applications basées sur le Web. 500 00:21:03,490 --> 00:21:07,530 En d'autres termes, il serait super super-ennuyeux d'écrire un site Web 501 00:21:07,530 --> 00:21:09,469 dans le langage C qui nous avons vu auparavant, 502 00:21:09,469 --> 00:21:12,510 parce que vous auriez à utiliser print + F, vous auriez à utiliser ce mot-clé 503 00:21:12,510 --> 00:21:13,940 «Principal» et les accolades. 504 00:21:13,940 --> 00:21:16,720 Beaucoup de syntaxe arcane et l'approche de la mise en œuvre 505 00:21:16,720 --> 00:21:19,195 ce qui est assez complexe. 506 00:21:19,195 --> 00:21:20,240 Une page web. 507 00:21:20,240 --> 00:21:23,800 >> Et d'autres langues ont évolué de faire ce genre de chose plus facile. 508 00:21:23,800 --> 00:21:26,890 Et à son tour, les gens ont mis avec les cadres, sorte d'outils 509 00:21:26,890 --> 00:21:30,520 que vous pouvez utiliser que faire encore plus facile à écrire des pages web. 510 00:21:30,520 --> 00:21:33,070 Ainsi, par exemple, de faire ce beaucoup plus concret, 511 00:21:33,070 --> 00:21:36,390 laissez-moi ouvrir juste un fichier texte pour un moment. 512 00:21:36,390 --> 00:21:39,380 >> Et vous pourriez rappeler hier que nous avons dit quelque chose 513 00:21:39,380 --> 00:21:41,210 comme, ceci est une page web. 514 00:21:41,210 --> 00:21:42,300 HTML. 515 00:21:42,300 --> 00:21:45,340 Fermer HTML. 516 00:21:45,340 --> 00:21:48,500 Permettez-moi de sauter la tête et il suffit de faire le corps ici. 517 00:21:48,500 --> 00:21:52,810 Supposons que je voulais pas écrire "Bonjour tout le monde," 518 00:21:52,810 --> 00:21:57,020 mais «Bonjour David», où David est le nom de l'utilisateur actuellement connecté. 519 00:21:57,020 --> 00:22:00,270 Qu'est-ce que quelque chose comme ASP va faire, ou JSP-- 520 00:22:00,270 --> 00:22:04,060 qui est le serveur Java pages-- ou un certain nombre d'autres cadres 521 00:22:04,060 --> 00:22:05,435 est qu'ils ne sont pas des langues, en soi. 522 00:22:05,435 --> 00:22:07,351 Ils sont comme logiciel supplémentaire que vous 523 00:22:07,351 --> 00:22:10,490 installerait dans votre environnement qui vient de le rendre plus facile à programmer. 524 00:22:10,490 --> 00:22:15,670 >> Ainsi, par exemple, plutôt que d'avoir à faire quelque chose comme "bonjour, printf (" David ")" 525 00:22:15,670 --> 00:22:17,510 ou quelque chose qui est sorte de co-mingling-- 526 00:22:17,510 --> 00:22:20,840 le genre de code que nous avons vu before-- vous feriez quelque chose de beaucoup plus simple, 527 00:22:20,840 --> 00:22:26,190 comme "name%." 528 00:22:26,190 --> 00:22:28,660 Et donc ces cadres, comme ASP-- et je 529 00:22:28,660 --> 00:22:31,212 ne me souviens pas si je suis en train de la syntaxe juste pour ASP. 530 00:22:31,212 --> 00:22:33,100 JSP est un little-- est ce droit? 531 00:22:33,100 --> 00:22:36,500 >> Donc, avec ASP, cela est une sorte de syntaxe spéciale 532 00:22:36,500 --> 00:22:39,830 que certains développeurs ont décidé cela pourrait aider les gens. 533 00:22:39,830 --> 00:22:43,000 Et je peux exprimer plus succinctement placeholders, par exemple. 534 00:22:43,000 --> 00:22:47,187 Comme mettre une valeur ici, où ce nom de valeur est N-A-M-E, 535 00:22:47,187 --> 00:22:48,520 il est une valeur stockée là-dedans. 536 00:22:48,520 --> 00:22:50,728 Donc, «nom» dans ce contexte, nous pourrions appeler une variable. 537 00:22:50,728 --> 00:22:52,760 Algebra a des variables comme x et y, et z. 538 00:22:52,760 --> 00:22:56,021 Les programmeurs utilisent des variables qui sont plus descriptif que x, y et z, 539 00:22:56,021 --> 00:22:56,520 typiquement. 540 00:22:56,520 --> 00:23:01,020 Donc, "name" serait littéralement une sorte du conteneur de mémoire pour quelque chose comme 541 00:23:01,020 --> 00:23:05,440 D-A-V-I-D, pour mon nom, ou celui qui d'autre est connecté sur le site. 542 00:23:05,440 --> 00:23:09,300 >> Et ceci est le genre de commodité vous obtenez avec certains environnements. 543 00:23:09,300 --> 00:23:14,220 Donc, C # et quelque chose comme ASP serait très communément utilisé dans un monde Windows, 544 00:23:14,220 --> 00:23:16,460 que ce soit pour son bureau un logiciel ou d'un serveur web, 545 00:23:16,460 --> 00:23:21,490 surtout si vos serveurs sont à leur tour exécutant Microsoft Windows et Microsoft 546 00:23:21,490 --> 00:23:25,810 IIS-- ou Internet Information Server, si je reçois le sigle droite- 547 00:23:25,810 --> 00:23:27,800 qui est le serveur Web de Microsoft. 548 00:23:27,800 --> 00:23:30,820 >> Alors, que d'autres langues sont des gens familiers avec, 549 00:23:30,820 --> 00:23:35,228 ou avez-vous entendu parler de le plus souvent? 550 00:23:35,228 --> 00:23:38,262 >> AUDIENCE: Je sais que Python une sorte de populaire [Inaudible]. 551 00:23:38,262 --> 00:23:39,470 DAVID J. Malan: Très populaire. 552 00:23:39,470 --> 00:23:45,490 Donc Python ici est très souvent utilisé dans les applications ou données scientifiques 553 00:23:45,490 --> 00:23:48,330 la science, où vous avez beaucoup des données que vous souhaitez analyser 554 00:23:48,330 --> 00:23:50,413 et que vous voulez utiliser un langage de programmation pour elle. 555 00:23:50,413 --> 00:23:53,640 R peut souvent être utilisé pour que ainsi, dans un contexte statistique. 556 00:23:53,640 --> 00:23:56,400 Mais Python a tellement fonctionnalités intégrées. 557 00:23:56,400 --> 00:23:58,850 Donc, beaucoup plus bibliothèques, que les gens disent. 558 00:23:58,850 --> 00:24:01,260 >> Les bibliothèques ne sont que des collections de code d'autres personnes 559 00:24:01,260 --> 00:24:04,218 écrit que vous pouvez utiliser pour que vous ne pas avoir à réinventer ces roues. 560 00:24:04,218 --> 00:24:07,430 Et Python est très souvent utilisé dans les applications des sciences de données. 561 00:24:07,430 --> 00:24:09,930 Mais il est aussi très couramment utilisé dans des applications web. 562 00:24:09,930 --> 00:24:12,780 Vous pouvez mettre en œuvre une dynamique site web en utilisant Python. 563 00:24:12,780 --> 00:24:15,210 >> Et par site web dynamique, je teneur moyenne non seulement statique 564 00:24:15,210 --> 00:24:19,530 comme nous avons créé hier, par juste coder en dur dans le texte latin 565 00:24:19,530 --> 00:24:21,820 et autres choses semblables, mais plutôt la capacité 566 00:24:21,820 --> 00:24:25,367 connecter, la possibilité d'acheter quelque chose, la possibilité de consulter 567 00:24:25,367 --> 00:24:26,950 avec vos chariots, ou analogues. 568 00:24:26,950 --> 00:24:30,590 Tout cela exige le dynamisme et vous besoin d'une langue comme l'un de ceux-ci. 569 00:24:30,590 --> 00:24:35,060 >> AUDIENCE: Donc, ne Python son propre extension, semblable à aimer [Inaudible] 570 00:24:35,060 --> 00:24:36,060 DAVID J. Malan: Oui. 571 00:24:36,060 --> 00:24:42,250 Ainsi, dans le monde de Python, Django est un cadre très populaire pour Python. 572 00:24:42,250 --> 00:24:46,520 WSGI est un autre mécanisme qui est sorte de différent de ce 573 00:24:46,520 --> 00:24:47,640 mais dans le même esprit. 574 00:24:47,640 --> 00:24:52,200 Il est un add-on qui vous permet pour exécuter du code Python sur un serveur. 575 00:24:52,200 --> 00:24:53,950 Il y a other-- oui. 576 00:24:53,950 --> 00:24:57,250 ceux-ci, nous allons donc appeler des cadres. 577 00:24:57,250 --> 00:24:58,870 Et il est un peu d'un abus. 578 00:24:58,870 --> 00:25:00,920 Ceci est plus d'une technologie de serveur Web. 579 00:25:00,920 --> 00:25:04,610 Mais nous allons garder les choses simples et mettre dans cette colonne quand même. 580 00:25:04,610 --> 00:25:05,780 >> D'ACCORD. 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 Un autre chose-- et effectivement, laissez me propose que de sa propre colonne, 584 00:25:12,100 --> 00:25:17,000 parce que je voudrais crier à moi-même pour les mettre dans le même seau. 585 00:25:17,000 --> 00:25:24,910 Mettons cela en serveur caractéristiques, disons. 586 00:25:24,910 --> 00:25:26,710 Ce n'est pas un terme technique. 587 00:25:26,710 --> 00:25:29,180 >> Donc, ici, nous pourrions être WSGI. 588 00:25:29,180 --> 00:25:32,580 Il y a CGI, qui est un ancien technique pour servir des langues 589 00:25:32,580 --> 00:25:35,890 comme Perl ou PHP, ou quelques autres. 590 00:25:35,890 --> 00:25:39,000 Encore une fois, je l'ai mentionné ces termes non pas tant pour en quelque sorte les ingrain, 591 00:25:39,000 --> 00:25:40,749 mais de telle sorte que si vous voyez eux, il est quelque chose 592 00:25:40,749 --> 00:25:42,130 vous google simplement pour en savoir plus. 593 00:25:42,130 --> 00:25:46,110 Il n'y a pas de vrai jus à certaines de ces choses. 594 00:25:46,110 --> 00:25:47,850 >> Mais revenons aux langues. 595 00:25:47,850 --> 00:25:50,499 Nous avons parlé de C #, Python. 596 00:25:50,499 --> 00:25:52,790 Que pourriez-vous utiliser pour la programmation de ces jours web? 597 00:25:52,790 --> 00:25:54,302 Concentrons-nous sur ce toujours. 598 00:25:54,302 --> 00:25:55,247 >> AUDIENCE: PHP. 599 00:25:55,247 --> 00:25:56,080 DAVID J. Malan: PHP. 600 00:25:56,080 --> 00:25:57,413 Et revenons à cette question. 601 00:25:57,413 --> 00:25:59,310 Donc, PHP est très couramment utilisé. 602 00:25:59,310 --> 00:26:01,560 PHP a tendance à avoir une mauvaise réputation. 603 00:26:01,560 --> 00:26:05,790 Il a commencé comme une langue mise en œuvre par des gens qui peut-être ne sont pas nécessairement 604 00:26:05,790 --> 00:26:06,960 les meilleurs designers de langue. 605 00:26:06,960 --> 00:26:11,290 Et donc vous pouvez lire toutes sortes de articles en ligne sur la façon mauvaise PHP est. 606 00:26:11,290 --> 00:26:13,660 Et malheureusement, cela est une manifestation, en partie, 607 00:26:13,660 --> 00:26:18,727 de seulement les débats religieux qui éclatent parmi les programmeurs. 608 00:26:18,727 --> 00:26:20,560 Et ceci est quelque chose convient de garder à l'esprit, 609 00:26:20,560 --> 00:26:24,410 à partir d'un point de vue commercial, que il est très facile pour les personnes techniques 610 00:26:24,410 --> 00:26:26,900 pour obtenir tous travaillé avec leur avis sur certaines choses. 611 00:26:26,900 --> 00:26:29,566 Et cela ne signifie pas nécessairement que celui de crier le plus fort 612 00:26:29,566 --> 00:26:31,870 ou avec le plus fort, opinion Angriest est juste. 613 00:26:31,870 --> 00:26:34,100 Un grand nombre de fois, il a vraiment juste n'a pas d'importance. 614 00:26:34,100 --> 00:26:37,970 >> Et pour que les gens sont tout simplement en faisant valoir quelque leurs propres préjugés ou zones de confort sont. 615 00:26:37,970 --> 00:26:40,760 Et vous devez garder cela à l'esprit lors de la prise 616 00:26:40,760 --> 00:26:42,622 une décision, qui vient parce que quelqu'un dit 617 00:26:42,622 --> 00:26:45,080 c'est la bonne langue pour le travail, qui est peut-être vrai, 618 00:26:45,080 --> 00:26:48,350 mais aussi pourrait bien que ce soit est le langue de droite au sein de leur propre compétence 619 00:26:48,350 --> 00:26:49,267 définir ou zone de confort. 620 00:26:49,267 --> 00:26:52,600 Ce qui est pas mal, mais vous devez réaliser qu'il pourrait y avoir un certain contexte là. 621 00:26:52,600 --> 00:26:54,440 Il y en a objectivement mauvaises déclarations, 622 00:26:54,440 --> 00:26:59,080 comme C est la mauvaise langue à utiliser ces jours-ci pour la mise en œuvre des sites Web 623 00:26:59,080 --> 00:27:00,520 presque toujours. 624 00:27:00,520 --> 00:27:03,370 Mais il est pas déraisonnable de dire que l'un de ces 625 00:27:03,370 --> 00:27:05,700 ont tort que nous avons encerclé jusqu'à présent. 626 00:27:05,700 --> 00:27:08,180 >> PHP est passé par de nombreuses versions. 627 00:27:08,180 --> 00:27:11,310 Donc langues ont tendance à avoir la version les numéros qui leur sont associés. 628 00:27:11,310 --> 00:27:15,390 PHP est à, je pense, la version 7 maintenant, de sorte qu'il a été autour depuis un certain temps. 629 00:27:15,390 --> 00:27:18,270 Et comme langues deviennent plus récente, ils obtiennent souvent de nouvelles fonctionnalités. 630 00:27:18,270 --> 00:27:22,510 Mais vous devez être conscient de ce parce que si votre site a été 631 00:27:22,510 --> 00:27:27,539 mis en œuvre dans la version 7 de PHP, mais vous essayez de lancer votre site Web, 632 00:27:27,539 --> 00:27:29,830 ou peut-être que vous avez externalisé le développement de votre code 633 00:27:29,830 --> 00:27:31,960 à quelqu'un d'autre et ils courrier à vous ou vous l'envoyer 634 00:27:31,960 --> 00:27:33,960 et ils disent, ici, mis cela sur votre serveur web, 635 00:27:33,960 --> 00:27:36,610 si votre serveur web est à quelques années outdated-- que ce soit 636 00:27:36,610 --> 00:27:39,465 votre propre serveur ou un host-- web il pourrait ne pas réellement fonctionner. 637 00:27:39,465 --> 00:27:41,340 Donc, ce sont les types des choses que quelqu'un 638 00:27:41,340 --> 00:27:44,067 doit être conscient de lors de la mise d'un site 639 00:27:44,067 --> 00:27:45,650 ou mise en oeuvre pour la première fois. 640 00:27:45,650 --> 00:27:46,900 >> J'ai entendu JavaScript plus tôt. 641 00:27:46,900 --> 00:27:50,570 Donc, JavaScript est un intéressant en ce sens qu'elle est globalement 642 00:27:50,570 --> 00:27:53,030 côté client, comme nous le verrons après la pause, ce qui 643 00:27:53,030 --> 00:27:55,000 signifie qu'il fonctionne dans le navigateur de l'utilisateur. 644 00:27:55,000 --> 00:27:58,400 Mais vous pouvez également exécuter JavaScript ces jours 645 00:27:58,400 --> 00:28:03,450 en utilisant ce qu'on appelle Node.js, où Node.js 646 00:28:03,450 --> 00:28:08,000 est un mécanisme pour la course code JavaScript côté serveur, 647 00:28:08,000 --> 00:28:12,430 au lieu d'utiliser Python, ou PHP, ou d'autres langues. 648 00:28:12,430 --> 00:28:17,820 >> JavaScript est particulièrement bien adapté pour les applications de chat et en temps réel 649 00:28:17,820 --> 00:28:22,050 applications, alors que PHP est pas un grand langue pour mettre en oeuvre quelque chose 650 00:28:22,050 --> 00:28:25,050 comme un serveur de chat, où les utilisateurs rester connecté à constamment. 651 00:28:25,050 --> 00:28:28,760 PHP est plus d'une visite me une fois, revenir à la suite, 652 00:28:28,760 --> 00:28:31,790 puis cliquez sur un autre lien certains secondes ou minutes à partir de maintenant. 653 00:28:31,790 --> 00:28:36,020 Considérant que Node.js et JavaScript peut être utilisé plus pour les connexions persistantes. 654 00:28:36,020 --> 00:28:40,840 D'autres langues que vous soupçonnez sont couramment utilisés pour le web des trucs? 655 00:28:40,840 --> 00:28:42,800 >> AUDIENCE: Est-ce que jQuery un cadre? 656 00:28:42,800 --> 00:28:44,050 >> DAVID J. Malan: Bonne question. 657 00:28:44,050 --> 00:28:44,700 Ni. 658 00:28:44,700 --> 00:28:51,210 Je dirais jQuery une bibliothèque, où à nouveau une bibliothèque est juste un tas de code 659 00:28:51,210 --> 00:28:53,250 que quelqu'un d'autre a écrite globalement 660 00:28:53,250 --> 00:28:56,390 permet de résoudre certains problèmes en fait, nous l'espérons, plus facile 661 00:28:56,390 --> 00:28:57,760 pour vous de faire votre travail. 662 00:28:57,760 --> 00:29:00,820 Et laissez-moi faire un exemple de dans le contexte de la nappe. 663 00:29:00,820 --> 00:29:03,910 >> Dans le contexte de la bande, il y a cette langue, JavaScript, 664 00:29:03,910 --> 00:29:06,690 que nous le verrons plus loin, par lequel vous pourrait dire quelque chose comme this-- 665 00:29:06,690 --> 00:29:10,060 "Document.getElementById." 666 00:29:10,060 --> 00:29:11,490 Et qu'est-ce que je l'appelle hier? 667 00:29:11,490 --> 00:29:16,800 Premièrement, je pense, était l'ID unique j'ai donné à un élément qui ressemblait à ceci. 668 00:29:16,800 --> 00:29:23,110 "P id =" first ">" et puis nous avons eu comme "lorem ipsum," et cetera. 669 00:29:23,110 --> 00:29:28,210 Donc, si je devais écrire un programme JavaScript afin de manipuler en quelque sorte, 670 00:29:28,210 --> 00:29:30,830 modifier les pages Web que nous jouaient hier, 671 00:29:30,830 --> 00:29:33,010 Je voudrais utiliser cette ligne en surbrillance code 672 00:29:33,010 --> 00:29:38,700 pour obtenir cet extrait particulier de HTML de ma page, ce noeud particulier, 673 00:29:38,700 --> 00:29:39,680 comme nous allons l'appeler. 674 00:29:39,680 --> 00:29:44,540 >> Cependant, dans jQuery, au lieu d'écrire ce qui est cru code-- JavaScript 675 00:29:44,540 --> 00:29:48,870 juste hors de la boîte, voilà comment vous écrire it-- vous place juste dire, 676 00:29:48,870 --> 00:29:50,260 "#premier." 677 00:29:50,260 --> 00:29:52,330 C'est équivalent. 678 00:29:52,330 --> 00:29:56,040 Et donc basée uniquement sur ce même exemple arcane, ce qui peut-être 679 00:29:56,040 --> 00:29:57,870 est l'argument pour l'utilisation de jQuery? 680 00:29:57,870 --> 00:30:01,390 681 00:30:01,390 --> 00:30:05,111 Pourquoi un développeur utilisera une bibliothèque comme jQuery, sur la base de cet exemple isolé, 682 00:30:05,111 --> 00:30:05,610 peut-être? 683 00:30:05,610 --> 00:30:06,335 >> AUDIENCE: Moins de code. 684 00:30:06,335 --> 00:30:06,780 >> DAVID J. Malan: Oui. 685 00:30:06,780 --> 00:30:07,530 Il est moins de code. 686 00:30:07,530 --> 00:30:09,070 Il est juste plus rapide à taper. 687 00:30:09,070 --> 00:30:11,690 Le contrepoint est qu'il semble effrayant. 688 00:30:11,690 --> 00:30:13,540 Vous ne pouvez pas vraiment lire de gauche à droite. 689 00:30:13,540 --> 00:30:16,730 En fait, parce qu'il est surtout ponctuation maintenant au lieu de réels mots, 690 00:30:16,730 --> 00:30:20,950 Je peux sorte de déduire que "Document.getElementById" obtient 691 00:30:20,950 --> 00:30:23,640 un élément du document par son identifiant. 692 00:30:23,640 --> 00:30:26,750 Je ne peux vraiment pas utiliser de tels mnémoniques de cette chose ici. 693 00:30:26,750 --> 00:30:27,680 >> Il est donc un compromis. 694 00:30:27,680 --> 00:30:30,763 Il y a une sophistication qui vient souvent avec l'aide des bibliothèques, en particulier 695 00:30:30,763 --> 00:30:31,440 comme jQuery. 696 00:30:31,440 --> 00:30:34,700 Mais la réalité est jQuery a en quelque sorte de devenir un standard de facto, 697 00:30:34,700 --> 00:30:38,110 de telle sorte que presque tout le monde ces jours qui écrivent du code JavaScript 698 00:30:38,110 --> 00:30:41,520 utilise jQuery ou quelque chose comme elle, et écrit plus 699 00:30:41,520 --> 00:30:45,200 une telle expressions verbeuses que cela, car encore une fois, l'humanité 700 00:30:45,200 --> 00:30:47,850 a appris, wow, qui était sorte d'une occasion manquée 701 00:30:47,850 --> 00:30:49,030 pour rendre notre vie plus facile. 702 00:30:49,030 --> 00:30:51,140 Ainsi, les humains font leur vie plus facile. 703 00:30:51,140 --> 00:30:53,310 Bonne question. 704 00:30:53,310 --> 00:30:55,870 >> Autres langues à prendre en compte. 705 00:30:55,870 --> 00:30:58,660 Je dirais que parmi ce Liste Ruby est très populaire. 706 00:30:58,660 --> 00:31:01,310 Et dans le monde de Ruby, il y a un cadre 707 00:31:01,310 --> 00:31:03,590 appelés Rails, ce qui est très populaire. 708 00:31:03,590 --> 00:31:06,880 Donc, Ruby on Rails est un couramment utilisé expression. 709 00:31:06,880 --> 00:31:10,330 Aussi dans ce monde, laissez-moi cercle Java pour le web stuff, 710 00:31:10,330 --> 00:31:14,160 où dans le monde de Java vous pourriez avoir JSP, ou Java 711 00:31:14,160 --> 00:31:18,450 Servlets, qui est une technologie commune. 712 00:31:18,450 --> 00:31:22,560 Et ceci est seulement encore des façons d'utiliser cette langue dans un environnement de serveur. 713 00:31:22,560 --> 00:31:23,520 >> Qu'est-ce que cela signifie? 714 00:31:23,520 --> 00:31:25,770 Si vous avez un physique serveur, vous le feriez littéralement 715 00:31:25,770 --> 00:31:30,510 télécharger le logiciel de serveur Web et l'installer de manière 716 00:31:30,510 --> 00:31:33,510 que vous avez le soutien de l'un des ces cadres, avec lequel vous 717 00:31:33,510 --> 00:31:37,260 pourrait, à son tour, utiliser un ou plusieurs de ces langues. 718 00:31:37,260 --> 00:31:40,260 Et en réalité, si vous vous inscrivez comme un hébergeur ou une partie du nuage 719 00:31:40,260 --> 00:31:41,968 services dont nous avons parlé hier, souvent 720 00:31:41,968 --> 00:31:44,885 l'étoffe vient juste avec le la configuration de la machine pour vous. 721 00:31:44,885 --> 00:31:46,510 Vous n'êtes pas obligé de le mettre en place manuellement. 722 00:31:46,510 --> 00:31:51,040 Mais si vous avez fait, c'est là le rôle d'administrateur système, pour ainsi dire, 723 00:31:51,040 --> 00:31:51,860 entre en jeu. 724 00:31:51,860 --> 00:31:54,151 Il ou elle serait réellement faire ce genre de choses pour vous, 725 00:31:54,151 --> 00:31:58,510 ou le webmaster soi-disant serait souvent le faire pour vous. 726 00:31:58,510 --> 00:31:59,010 D'accord. 727 00:31:59,010 --> 00:32:03,300 Une question sur certains d'entre eux ici? 728 00:32:03,300 --> 00:32:06,690 Ou toutes les opportunités à tous poser des questions sur les langues? 729 00:32:06,690 --> 00:32:09,500 Cadres? 730 00:32:09,500 --> 00:32:11,530 Alors permettez-moi de vous présenter juste une autre bibliothèque 731 00:32:11,530 --> 00:32:13,150 qui est aussi très courante de nos jours. 732 00:32:13,150 --> 00:32:15,340 Cette liste pourrait continuer indéfiniment. 733 00:32:15,340 --> 00:32:19,140 >> Et cette bibliothèque est une sorte de en commençant à tomber en disgrâce. 734 00:32:19,140 --> 00:32:19,850 Il a été autour. 735 00:32:19,850 --> 00:32:22,040 Il a été popularisé par Twitter pendant un certain temps. 736 00:32:22,040 --> 00:32:24,470 Et maintenant beaucoup de sites Web, beaucoup de développeurs utilisent. 737 00:32:24,470 --> 00:32:26,629 Mais de nouvelles choses sont à venir sortir et venir le long. 738 00:32:26,629 --> 00:32:29,420 Mais permettez-moi de vous donner un sens de ce que cela signifie d'utiliser une bibliothèque. 739 00:32:29,420 --> 00:32:32,250 Donc, encore une fois, JavaScript est une langue très populaire. 740 00:32:32,250 --> 00:32:35,340 CSS ou Cascading Style Sheets, nous avons parlé hier. 741 00:32:35,340 --> 00:32:36,600 Cela aussi est omniprésent. 742 00:32:36,600 --> 00:32:40,130 Personne ne fait une page Web aujourd'hui sans utiliser HTML et CSS minimum. 743 00:32:40,130 --> 00:32:42,510 Mais il est pas toujours facile de faire certaines choses. 744 00:32:42,510 --> 00:32:46,281 >> Et laissez-moi aller à getbootstrap.com. 745 00:32:46,281 --> 00:32:46,780 Whoops. 746 00:32:46,780 --> 00:32:48,280 Cela ne veut pas comment nous épeler. 747 00:32:48,280 --> 00:32:52,410 Getbootstrap.com, qui va me conduire 748 00:32:52,410 --> 00:32:56,140 à la page de destination pour cette bibliothèque. 749 00:32:56,140 --> 00:32:59,720 Ils appellent généreusement eux-mêmes un cadre, qui 750 00:32:59,720 --> 00:33:02,032 est une sorte de genre de foire, mais je voudrais encore appeler 751 00:33:02,032 --> 00:33:03,490 plus d'une bibliothèque d'un cadre. 752 00:33:03,490 --> 00:33:05,760 Mais ce sont la sémantique juste défendable. 753 00:33:05,760 --> 00:33:12,360 Laissez-moi aller à leur onglet CSS et laissez-moi aller à quelque chose comme ça. 754 00:33:12,360 --> 00:33:15,450 >> Alors rappellent ce que nos formes avaient l'air comme hier sur Cloud9? 755 00:33:15,450 --> 00:33:16,370 Il était assez laid. 756 00:33:16,370 --> 00:33:17,320 Vieux boutons scolaires. 757 00:33:17,320 --> 00:33:20,420 Je pense que le bouton était gris par défaut. Et tout était vraiment 758 00:33:20,420 --> 00:33:22,420 formaté assez messily. 759 00:33:22,420 --> 00:33:26,940 Donc, si vous voulez que vos formulaires Web à regarder un petit nicer-- permettez-moi de zoom ici. 760 00:33:26,940 --> 00:33:30,050 >> Et plus agréable je vraiment juste signifie l'esthétique très nitpicky. 761 00:33:30,050 --> 00:33:35,390 Donc, remarquez comment la boîte de courrier électronique, il a un des coins rectangulaires arrondis à lui. 762 00:33:35,390 --> 00:33:37,010 Il est donc un peu plus propre là. 763 00:33:37,010 --> 00:33:40,770 Notez que le mot email est là jusqu'à ce que je commence à taper 764 00:33:40,770 --> 00:33:41,797 puis elle disparaît. 765 00:33:41,797 --> 00:33:43,130 Voilà donc une belle petite fonctionnalité. 766 00:33:43,130 --> 00:33:46,046 Remarquez comment la chose est une sorte de incandescent bien, que certains de ce que vous 767 00:33:46,046 --> 00:33:49,069 obtenir gratuitement à partir de votre navigateur, mais certains de cela est aussi des bibliothèques, 768 00:33:49,069 --> 00:33:51,360 Code que d'autres personnes ont écrit que vous cela donne. 769 00:33:51,360 --> 00:33:53,480 >> Quelque chose comme ça me donne mon mot de passe. 770 00:33:53,480 --> 00:33:58,480 Ce bouton est un peu plus sexy que la défaut. Très en vogue en ce moment. 771 00:33:58,480 --> 00:34:03,570 Depuis iOS 7 ou plus, la monde a obtenu très plat, 772 00:34:03,570 --> 00:34:09,000 alors que le monde avant avait beaucoup d'ombres portées, beaucoup 773 00:34:09,000 --> 00:34:11,040 des réflexions sur les icônes. 774 00:34:11,040 --> 00:34:14,170 Tout comme dans le monde de l'habillement, il y a des tendances de la mode qui vont et viennent. 775 00:34:14,170 --> 00:34:16,190 Maintenant, tout est à plat sur votre téléphone. 776 00:34:16,190 --> 00:34:19,159 >> En fait, les boutons sur votre iPhone sont maintenant simplement des liens bleus. 777 00:34:19,159 --> 00:34:21,000 Il n'y a pas souvent même des boutons circulaires. 778 00:34:21,000 --> 00:34:22,791 Donc, ce ne sont que des choses qui entrent et sortent 779 00:34:22,791 --> 00:34:26,659 de la mode, et donc voici comment vous pourriez faire une forme plus moderne de la recherche web. 780 00:34:26,659 --> 00:34:27,159 Boutons. 781 00:34:27,159 --> 00:34:29,190 Alors Bootstrap a beaucoup de jolis boutons. 782 00:34:29,190 --> 00:34:33,639 Donc, si vous voulez boutons bleus, boutons verts, bleu, orange, rouge. 783 00:34:33,639 --> 00:34:35,840 Bootstrap facilite de faire ces choses. 784 00:34:35,840 --> 00:34:38,131 Ce sont le genre de choses que vous pourriez absolument 785 00:34:38,131 --> 00:34:41,840 ont fait hier avec CSS et HTML, mais il est juste une douleur dans le cou. 786 00:34:41,840 --> 00:34:44,840 Et à la place, ce serait Bootstrap avez-vous est quelque chose comme ça. 787 00:34:44,840 --> 00:34:48,960 >> Si vous voulez un button-- tourne cette est une balise HTML que nous n'avons pas utilisé yesterday-- 788 00:34:48,960 --> 00:34:53,070 et vous voulez qu'il regarde comme ce bouton vert, 789 00:34:53,070 --> 00:34:57,380 vous littéralement juste lui donner une classe, dont nous avons parlé hier, 790 00:34:57,380 --> 00:34:59,710 des "btn btn-succès." 791 00:34:59,710 --> 00:35:00,971 >> Pourquoi ces mots? 792 00:35:00,971 --> 00:35:03,470 Twitter, les auteurs de Bootstrap, est venu avec ces mots. 793 00:35:03,470 --> 00:35:05,428 Ils auraient pu appelé leur tout ce qu'ils veulent. 794 00:35:05,428 --> 00:35:08,480 Mais ce que vous obtenez est maintenant quelqu'un d'autre sur Twitter, dans ce cas, 795 00:35:08,480 --> 00:35:12,360 a compris comment faites-vous une bouton air agréable et propre et vert. 796 00:35:12,360 --> 00:35:15,580 Ils emballés jusqu'à ce que la fonctionnalité dans une classe CSS, appelé "btn" 797 00:35:15,580 --> 00:35:19,790 et "btn-succès», de sorte que chacun de nous peut maintenant l'utiliser sans même y penser 798 00:35:19,790 --> 00:35:20,290 il. 799 00:35:20,290 --> 00:35:22,880 Donc, ils ont soustrait l'écart la notion d'un bouton vert 800 00:35:22,880 --> 00:35:25,320 de sorte que nous ne disposons pas de se soucier la mise en œuvre nous-mêmes. 801 00:35:25,320 --> 00:35:28,520 Nous pouvons effectivement mettre l'accent sur la mise en œuvre les choses qui nous intéressent. 802 00:35:28,520 --> 00:35:30,902 >> Si nous faisons défiler ici. 803 00:35:30,902 --> 00:35:32,110 Messages d'erreur à l'écran. 804 00:35:32,110 --> 00:35:35,440 Parfois, vous voulez un petit message à apparaître sur le haut du navigateur. 805 00:35:35,440 --> 00:35:39,729 Chacun d'entre nous peut le faire avec une certaine effort, après la leçon d'hier, 806 00:35:39,729 --> 00:35:40,770 mais pourquoi prendre la peine? 807 00:35:40,770 --> 00:35:42,540 Voilà une telle inintéressante détail esthétique. 808 00:35:42,540 --> 00:35:44,248 Levons-nous sur la épaules de Bootstrap 809 00:35:44,248 --> 00:35:49,440 et qu'on nous donne des choses comme ça, où nous avons littéralement, d'obtenir une boîte rouge, 810 00:35:49,440 --> 00:35:53,220 suffit de faire un paragraphe tag avec une classe de-- désolé. 811 00:35:53,220 --> 00:35:57,307 "Bg-danger» nous donnerait cette boîte de rouge à la place. 812 00:35:57,307 --> 00:35:59,140 Maintenant, nous allons aller à la des choses plus intéressantes. 813 00:35:59,140 --> 00:36:02,950 Si je devais revenir en haut de cette page et aller à des composants, 814 00:36:02,950 --> 00:36:05,380 maintenant le monde devient plus intéressant. 815 00:36:05,380 --> 00:36:08,826 Par exemple, est très commun menus déroulants comme celui-ci. 816 00:36:08,826 --> 00:36:11,560 Ce serait une absolue douleur à mettre en œuvre. 817 00:36:11,560 --> 00:36:13,610 Et il n'y a pas si longtemps Il y a que nous programmeurs 818 00:36:13,610 --> 00:36:16,490 aurait à mettre en œuvre ces sortes de menus à partir de zéro. 819 00:36:16,490 --> 00:36:20,800 >> Mais il est un paradigme commun que les bibliothèques comme Bootstrap 820 00:36:20,800 --> 00:36:25,230 vous donner la possibilité de faire un menu déroulant loin, beaucoup plus facilement. 821 00:36:25,230 --> 00:36:27,850 Il n'y a pas une façon de le faire, mais si je lis la documentation 822 00:36:27,850 --> 00:36:32,100 Je voyais que, OK, je devrais utiliser ce HTML si je veux un menu déroulant 823 00:36:32,100 --> 00:36:34,030 qui se comporte comme ça. 824 00:36:34,030 --> 00:36:36,690 >> De même, nous allons aller à bouton déroulant. 825 00:36:36,690 --> 00:36:38,470 Donc, ce qui est encore plus fantaisistes. 826 00:36:38,470 --> 00:36:41,800 Si je veux que cela ressemble à un bouton mais cela signifie que petit triangle 827 00:36:41,800 --> 00:36:44,080 Je clique dessus et obtenir ce menu, cette 828 00:36:44,080 --> 00:36:45,760 est en utilisant un langage appelé JavaScript. 829 00:36:45,760 --> 00:36:47,470 Et nous pourrions tous mettre en œuvre ceci en JavaScript. 830 00:36:47,470 --> 00:36:49,720 Mais encore une fois, ceci est une roue vous ne voulez pas à réinventer. 831 00:36:49,720 --> 00:36:52,700 Vous voulez juste de l'enlever la bibliothèque étagère pour cela. 832 00:36:52,700 --> 00:36:58,145 >> Allons à quelque chose comme les barres de progression. 833 00:36:58,145 --> 00:36:59,770 Donc, quelque chose comme ça est plutôt cool. 834 00:36:59,770 --> 00:37:02,910 Si vous avez déjà vu un progrès barre se déplaçant à travers l'écran, 835 00:37:02,910 --> 00:37:06,380 la mise en œuvre qui, souvent, est juste une icône de filature. 836 00:37:06,380 --> 00:37:10,200 En fait, tout comme un côté, laissez moi aller à Ajax-- quel est-il? 837 00:37:10,200 --> 00:37:10,710 Ajax infos? 838 00:37:10,710 --> 00:37:11,720 Whoops. 839 00:37:11,720 --> 00:37:13,035 Ajaxinfo. 840 00:37:13,035 --> 00:37:14,800 Permettez-moi de me souviens de l'adresse. 841 00:37:14,800 --> 00:37:15,820 Nous y voilà. 842 00:37:15,820 --> 00:37:19,850 >> Donc, si vous avez déjà vu une animation tandis que le chargement, ou de penser, 843 00:37:19,850 --> 00:37:25,410 ou de sauvegarder ou de créer quelque chose, vous pourraient voir ces animations que celles-ci. 844 00:37:25,410 --> 00:37:28,800 Alors regardons quelque chose comme celui-ci ici, 845 00:37:28,800 --> 00:37:33,550 et nous allons choisir une couleur de premier plan vert, qui se sent sorte de sympathique. 846 00:37:33,550 --> 00:37:34,545 Puis-je cliquer sur ce? 847 00:37:34,545 --> 00:37:35,500 Venez un. 848 00:37:35,500 --> 00:37:36,000 D'ACCORD. 849 00:37:36,000 --> 00:37:38,930 Nous allons simplement aller avec le rouge parce qui est ce que nous obtenons. 850 00:37:38,930 --> 00:37:40,250 Donc, ici, nous l'avons. 851 00:37:40,250 --> 00:37:43,940 >> Donc, si vous avez jamais vu cela sur un écran, de sorte que tout d'un coup, il apparaît alors 852 00:37:43,940 --> 00:37:47,550 disparaît tout à coup, ce qui est il est que la mise en œuvre qui? 853 00:37:47,550 --> 00:37:48,970 Eh bien, ceci est juste un GIF. 854 00:37:48,970 --> 00:37:52,850 G-I-F. Et cela est une animation déposer, ce qui signifie simplement 855 00:37:52,850 --> 00:37:54,327 il est comme une bande dessinée vieille école. 856 00:37:54,327 --> 00:37:57,160 Il y a juste un tas de différents cadres qui vont [BÉGAIEMENT] 857 00:37:57,160 --> 00:37:58,085 et juste répéter. 858 00:37:58,085 --> 00:38:00,090 Et cela crée la illusion du mouvement. 859 00:38:00,090 --> 00:38:03,070 >> Donc, dès qu'une page est faite chargement ou faire quelque chose, 860 00:38:03,070 --> 00:38:04,610 qu'est-ce qu'un programmeur faire? 861 00:38:04,610 --> 00:38:07,500 Eh bien, il ou elle se cache juste cette image. 862 00:38:07,500 --> 00:38:11,536 Donc une barre de progression est est une sorte d'aimer un film que vous regardez. 863 00:38:11,536 --> 00:38:14,660 Vous êtes en quelque sorte inconscients du fait que ça ne fait rien faire, 864 00:38:14,660 --> 00:38:15,940 il est juste en mouvement. 865 00:38:15,940 --> 00:38:19,150 >> Et puis, quand il a fait progresser, ils se cachent juste ou l'éteindre. 866 00:38:19,150 --> 00:38:21,115 Et voilà toute la magie ce qui se passe là-bas. 867 00:38:21,115 --> 00:38:22,770 Bootstrap vous donne quelque chose d'un peu plus fantaisistes, 868 00:38:22,770 --> 00:38:25,030 de sorte que vous pouvez réellement voir un pourcentage comme il va, 869 00:38:25,030 --> 00:38:27,840 mais il est aussi juste une sorte d'une animation simple. 870 00:38:27,840 --> 00:38:32,250 >> Regardons quelques-uns finale Des exemples plus complexes ici. 871 00:38:32,250 --> 00:38:35,526 Quelque chose comme un modal. 872 00:38:35,526 --> 00:38:36,900 Est-ce que quelqu'un sait ce qu'est un modal est? 873 00:38:36,900 --> 00:38:39,880 874 00:38:39,880 --> 00:38:42,550 Une fenêtre modale est généralement celui qui est censé 875 00:38:42,550 --> 00:38:46,880 de prendre le contrôle de premier plan et vous empêcher de faire quoi que ce soit d'autre. 876 00:38:46,880 --> 00:38:50,290 Ce genre de force l'utilisateur de attention au milieu de l'écran, 877 00:38:50,290 --> 00:38:52,290 les lock-out, en général, de tout le reste. 878 00:38:52,290 --> 00:38:55,830 >> Donc, si je lance cette démo, le écran deviendra généralement gris. 879 00:38:55,830 --> 00:38:57,060 Eh bien, comment pouvons-nous le faisons gris? 880 00:38:57,060 --> 00:38:59,080 Eh bien, nous avons probablement juste changer la couleur de fond 881 00:38:59,080 --> 00:39:01,060 comme nous l'avons fait hier ou quelque chose comme ça. 882 00:39:01,060 --> 00:39:03,490 Peut-être est une superposition que semi-transparent. 883 00:39:03,490 --> 00:39:06,320 Et maintenant, remarquez que vous pouvez faire choses de fantaisie aiment. 884 00:39:06,320 --> 00:39:09,930 Donc si jamais vous cliquez sur un bouton et que vous voulez un peu de pop out à apparaître, 885 00:39:09,930 --> 00:39:10,710 vous pouvez le faire. 886 00:39:10,710 --> 00:39:12,340 Et qui se soucie de tous-- ouais? 887 00:39:12,340 --> 00:39:15,791 >> AUDIENCE: Donc, avec Bootstrap, pour l'obtenir incorporé, 888 00:39:15,791 --> 00:39:21,002 est aussi simple que comme hier nous avons fait la page des styles CSS? 889 00:39:21,002 --> 00:39:21,960 DAVID J. Malan: En effet. 890 00:39:21,960 --> 00:39:22,835 Très bonne question. 891 00:39:22,835 --> 00:39:24,480 Laissez-moi aller Mise en route. 892 00:39:24,480 --> 00:39:26,090 Et oui. 893 00:39:26,090 --> 00:39:30,920 Tout ce que vous avez à faire pour utilisation Bootstrap est essentiellement copier 894 00:39:30,920 --> 00:39:35,910 et coller ces trois longues lignes de code dans le haut de votre propre page-- web 895 00:39:35,910 --> 00:39:38,892 la tête de votre page-- et vous êtes opérationnel. 896 00:39:38,892 --> 00:39:41,850 Et il y a différentes façons de faire , mais ce serait la plus simple. 897 00:39:41,850 --> 00:39:45,190 >> Donc, ce qui est utile à propos de tout cela? 898 00:39:45,190 --> 00:39:47,524 Eh bien, si vous n'êtes pas tellement l'implémenteur d'un site Web 899 00:39:47,524 --> 00:39:50,106 mais vous essayez de concevoir, ou si vous voulez fournir à quelqu'un 900 00:39:50,106 --> 00:39:53,220 avec des diagrammes de fil de fer, pour ainsi dire, ou de restitutions simplement artiste de ce 901 00:39:53,220 --> 00:39:56,080 vous voulez faire, je, à ce jour, sera souvent aller à un site 902 00:39:56,080 --> 00:39:58,660 comme Bootstrap, où, si je veulent mettre en œuvre quelque chose-- 903 00:39:58,660 --> 00:40:02,290 comme récemment sur le campus nous avons voulu mettre en œuvre 904 00:40:02,290 --> 00:40:06,170 un outil basé sur le Web pour la navigation Le catalogue de cours de Harvard, 905 00:40:06,170 --> 00:40:08,770 ce qui rend plus facile pour les étudiants pour parcourir les cours 906 00:40:08,770 --> 00:40:10,930 et ajouter des cours à liste d'achats, pour ainsi dire, 907 00:40:10,930 --> 00:40:13,070 au genre de décider ce ils voulaient prendre. 908 00:40:13,070 --> 00:40:16,252 >> Je cherchais à imaginer moi-même, ce qui serait des ingrédients 909 00:40:16,252 --> 00:40:17,460 nous voulons utiliser pour construire ce? 910 00:40:17,460 --> 00:40:19,050 Qu'est-ce que l'interface utilisateur serait comme? 911 00:40:19,050 --> 00:40:22,800 Et en regardant à travers un site comme ce ou d'autres sites de bibliothèques, 912 00:40:22,800 --> 00:40:26,560 vous pouvez gagner l'inspiration, parce que wow, Je peux utiliser ce widget, et ce widget, 913 00:40:26,560 --> 00:40:27,330 et ce widget. 914 00:40:27,330 --> 00:40:29,080 Et puis vraiment ce le programmateur commence 915 00:40:29,080 --> 00:40:32,800 à faire, surtout en ces jours dans cette monde plus moderne de la programmation web, 916 00:40:32,800 --> 00:40:35,827 ce que la programmation est de plus en plus sur le câblage des choses ensemble. 917 00:40:35,827 --> 00:40:38,910 Sorte de prendre ce sur l'étagère, cette large du plateau, ce large du plateau, 918 00:40:38,910 --> 00:40:41,954 et vous étant une puce pour connecter tous ces points, 919 00:40:41,954 --> 00:40:45,120 mais finalement construire quelque chose de nouveau debout sur les épaules des autres, 920 00:40:45,120 --> 00:40:49,370 de sorte que vous ne passez pas un mois la mise en œuvre d'une chute stupide menu déroulant, 921 00:40:49,370 --> 00:40:52,080 qui est en fait difficile à faire si vous voulez que cela fonctionne sur Chrome, 922 00:40:52,080 --> 00:40:55,220 et IE et Firefox, et tout nombre d'autres navigateurs. 923 00:40:55,220 --> 00:40:59,060 Ceci est la raison pour laquelle il est aussi riche logiciel commerciaux et open source 924 00:40:59,060 --> 00:41:01,220 industrie. 925 00:41:01,220 --> 00:41:06,810 >> AUDIENCE: Donc ne Bootstrap se mis à jour et vous devez mettre à jour alors vos liens? 926 00:41:06,810 --> 00:41:07,820 >> DAVID J. Malan: Oui. 927 00:41:07,820 --> 00:41:09,090 Eh bien, oui, il le fait. 928 00:41:09,090 --> 00:41:12,540 Bootstrap est actuellement à la version 3.3.6. 929 00:41:12,540 --> 00:41:16,720 Et généralement ce que vous do-- c'est en fait digne de mention. 930 00:41:16,720 --> 00:41:19,200 Il est ce qui est généralement connu comme un versioning sémantique 931 00:41:19,200 --> 00:41:20,160 système dans le monde. 932 00:41:20,160 --> 00:41:21,320 Pas tout le monde fait cela. 933 00:41:21,320 --> 00:41:26,410 >> Mais si vous avez vu les numéros de version qui sont de la forme x.y.z-- 934 00:41:26,410 --> 00:41:30,240 Ainsi, par exemple, la première version d'un programme pourrait être 1.0.0. 935 00:41:30,240 --> 00:41:34,970 Ou si elle est très, très bêta ou même statut alpha, ce qui signifie que l'utilisation 936 00:41:34,970 --> 00:41:37,620 à vos propres risques, ce n'est pas vraiment prêt pour prime time, 937 00:41:37,620 --> 00:41:42,080 vous pourriez même commencer 0.0.1 ou une telle désignation. 938 00:41:42,080 --> 00:41:47,260 Mais si le logiciel commence à la version 1,0, ou de façon équivalente 1.0.0, 939 00:41:47,260 --> 00:41:50,530 généralement, ce qui est commun ces days-- mais pas omnipresent-- est 940 00:41:50,530 --> 00:41:53,520 si une entreprise ou un corrections de programmeur individuels 941 00:41:53,520 --> 00:41:56,140 un bug dans certaines pièces des logiciels qui ont vraiment 942 00:41:56,140 --> 00:42:01,620 était un bug, dont la correction ne devrait pas vous impact au tous-- il ne change pas 943 00:42:01,620 --> 00:42:03,940 Le comportement du programme, elle fixe juste quelque chose 944 00:42:03,940 --> 00:42:06,580 qui ne fonctionnait pas properly-- vous le feriez normalement 945 00:42:06,580 --> 00:42:08,890 mettre à jour la valeur de z là. 946 00:42:08,890 --> 00:42:12,900 Ce qui signifie que quelqu'un comme Kareem pourrait tout simplement aller dans son site Web, 947 00:42:12,900 --> 00:42:19,470 aveuglément changer le numéro de version de 1.0.0 à 1.0.1, l'enregistrer, l'expédier, 948 00:42:19,470 --> 00:42:21,880 et, en théorie, sans avoir à vous inquiétez qu'il est juste cassé 949 00:42:21,880 --> 00:42:24,430 son site en raison de un certain manque de fonctionnalité, 950 00:42:24,430 --> 00:42:25,870 parce que quelque chose a cassé. 951 00:42:25,870 --> 00:42:28,740 >> Pendant ce temps, si je le programmeur ou d'une entreprise 952 00:42:28,740 --> 00:42:35,500 étaient de faire un peu significative changement qui ajoute des fonctionnalités, 953 00:42:35,500 --> 00:42:40,320 Je pourrais nous mettre à jour 1.1.0 parce que je suis en fait 954 00:42:40,320 --> 00:42:42,200 modifier le comportement de la bibliothèque. 955 00:42:42,200 --> 00:42:44,470 Je vous donne peut-être plus de fonctionnalités. 956 00:42:44,470 --> 00:42:48,490 Enfin, si je devais effectivement changer fondamentalement le logiciel afin 957 00:42:48,490 --> 00:42:54,380 bien qu'il va briser beaucoup sites Web ou applications utilisateurs, 958 00:42:54,380 --> 00:42:59,550 alors je suis obligé, dans ce modèle, à mettre à jour le numéro de version majeure aussi, 959 00:42:59,550 --> 00:43:01,059 ce qui est un changement de rupture. 960 00:43:01,059 --> 00:43:03,725 En d'autres termes, je pourrais avoir le support pour ceux qui baisse 961 00:43:03,725 --> 00:43:04,350 menu déroulant. 962 00:43:04,350 --> 00:43:07,790 Donc, si vous passez à 2.0, la moitié votre site Web peut cesser de fonctionner. 963 00:43:07,790 --> 00:43:10,950 Et cela est en quelque sorte un signal à la communauté pour ce qui est 964 00:43:10,950 --> 00:43:13,223 impliqué dans la fabrication d'une mise à niveau. 965 00:43:13,223 --> 00:43:16,710 966 00:43:16,710 --> 00:43:18,020 Une bonne occasion de soulever. 967 00:43:18,020 --> 00:43:18,718 D'autres questions? 968 00:43:18,718 --> 00:43:21,761 969 00:43:21,761 --> 00:43:22,260 D'accord. 970 00:43:22,260 --> 00:43:26,945 Eh bien, nous allons jeter un oeil à une dernière sujet dans ce segment de la programmation 971 00:43:26,945 --> 00:43:30,640 des piles de la technologie, à savoir concernant mobile. 972 00:43:30,640 --> 00:43:36,232 >> Ainsi, dans le monde des téléphones portables aujourd'hui vous have-- et iPads, et des surfaces, 973 00:43:36,232 --> 00:43:37,940 et toutes ces sortes de devices-- vous avez 974 00:43:37,940 --> 00:43:40,950 beaucoup de choix quand il vient à la mise en œuvre 975 00:43:40,950 --> 00:43:47,270 une application ou un site Web pour les appareils mobiles de vos clients. 976 00:43:47,270 --> 00:43:51,570 Il suffit donc d'indiquer le évidentes, peut-être ces jours-ci, 977 00:43:51,570 --> 00:43:54,960 quelles sont les plates-formes à développer dans l'espace mobile? 978 00:43:54,960 --> 00:43:59,650 Quels appareils peut-être vous voulez soutenir avec votre application ou site web? 979 00:43:59,650 --> 00:44:00,317 >> AUDIENCE: Apple. 980 00:44:00,317 --> 00:44:01,108 DAVID J. Malan: OK. 981 00:44:01,108 --> 00:44:01,820 Ainsi les appareils Apple. 982 00:44:01,820 --> 00:44:06,740 Cela signifie donc que l'iPhone, et que signifie iPad, et peut-être même iPod. 983 00:44:06,740 --> 00:44:07,627 Quoi d'autre? 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 >> AUDIENCE: Android. 987 00:44:11,970 --> 00:44:13,111 >> DAVID J. Malan: Android. 988 00:44:13,111 --> 00:44:13,610 D'ACCORD. 989 00:44:13,610 --> 00:44:17,335 téléphones Donc Android, Android comprimés, le marché Android 990 00:44:17,335 --> 00:44:21,240 est encore messier because-- et même Apple est de plus en désordre. 991 00:44:21,240 --> 00:44:23,960 Considérant que, une fois iPhone était une certaine taille, 992 00:44:23,960 --> 00:44:26,560 et iPad était une certaine taille, et l'iPod était une certaine taille, maintenant 993 00:44:26,560 --> 00:44:33,420 nous avons iPad Minis, et la mince ceux, et l'iPhone 6 Plus et 6. 994 00:44:33,420 --> 00:44:34,407 Il devient un gâchis. 995 00:44:34,407 --> 00:44:35,740 Il devient le monde Android. 996 00:44:35,740 --> 00:44:39,030 >> Et je le dis avec sorte de laminage mes yeux parce que de ce développeur 997 00:44:39,030 --> 00:44:41,680 point de vue, il est douleur dans le cou quand 998 00:44:41,680 --> 00:44:45,686 vous ne disposez pas de Steve Jobs ' vision du contrôle absolu 999 00:44:45,686 --> 00:44:47,060 sur l'ensemble de ces spécifications. 1000 00:44:47,060 --> 00:44:49,726 Apple fait encore parce qu'ils sont ceux de construction du matériel. 1001 00:44:49,726 --> 00:44:52,690 Mais il est une bonne chose, si Je suis un développeur de logiciels, 1002 00:44:52,690 --> 00:44:54,520 savoir juste que mon iPhone va toujours 1003 00:44:54,520 --> 00:44:56,850 être ce grand parce cela signifie que je sais toujours 1004 00:44:56,850 --> 00:44:58,847 combien écran de l'immobilier dont je dispose. 1005 00:44:58,847 --> 00:45:01,180 Donc, si je veux mettre une icône dans le coin supérieur gauche, 1006 00:45:01,180 --> 00:45:04,530 ça va être exactement la même placer sur l'appareil de chaque client. 1007 00:45:04,530 --> 00:45:07,140 >> Mais dans le monde de l'iPhone 6s et iPhone 6 Pluses 1008 00:45:07,140 --> 00:45:10,570 et dans le monde d'Android téléphones, il est partout sur la carte. 1009 00:45:10,570 --> 00:45:13,580 Et il est donc plus difficile à programmer les choses, en particulier des interfaces utilisateur, 1010 00:45:13,580 --> 00:45:18,270 parce que maintenant vous devez commencer à organiser vos interfaces relativement, pas l'utilisateur 1011 00:45:18,270 --> 00:45:19,730 absolument. 1012 00:45:19,730 --> 00:45:23,524 Et la même chose a été vrai sur les navigateurs, et les ordinateurs de bureau et ordinateurs portables pour les années 1013 00:45:23,524 --> 00:45:25,690 parce que vous, bien sûr, ont différentes tailles d'écran. 1014 00:45:25,690 --> 00:45:26,189 >> Quoi d'autre? 1015 00:45:26,189 --> 00:45:30,170 Vous pourriez avoir des surfaces, comme à partir de Microsoft. 1016 00:45:30,170 --> 00:45:31,270 Vous pourriez avoir-- 1017 00:45:31,270 --> 00:45:32,270 AUDIENCE: Windows phone. 1018 00:45:32,270 --> 00:45:32,816 DAVID J. Malan: Qu'est-ce que? 1019 00:45:32,816 --> 00:45:33,570 AUDIENCE: Windows phone. 1020 00:45:33,570 --> 00:45:34,403 DAVID J. Malan: Oui. 1021 00:45:34,403 --> 00:45:37,570 Donc, les téléphones Windows peuvent encore être trouvés. 1022 00:45:37,570 --> 00:45:41,840 Type de genre de BlackBerry, mais ils continuent à essayer. 1023 00:45:41,840 --> 00:45:43,900 Et puis grappes d'autres dispositifs. 1024 00:45:43,900 --> 00:45:48,020 Donc, pour la plupart, nous allons dire que ce sont ceux 1025 00:45:48,020 --> 00:45:49,520 de se soucier pour le moment. 1026 00:45:49,520 --> 00:45:51,890 Certes, les choses Apple, certainement l'étoffe Android, 1027 00:45:51,890 --> 00:45:55,640 et parmi Windows, comme des comprimés de surface semble être sur la capture assez bien. 1028 00:45:55,640 --> 00:45:58,030 >> Et parmi ces dispositifs, si vous voulez déployer, 1029 00:45:58,030 --> 00:46:02,677 disons, une présence mobile pour votre entreprise, quels types de décisions de conception 1030 00:46:02,677 --> 00:46:03,510 avez-vous à faire? 1031 00:46:03,510 --> 00:46:06,350 Eh bien, nous avons déjà dit dans le monde Apple, 1032 00:46:06,350 --> 00:46:08,790 il y a au moins deux langues qui sont généralement utilisés. 1033 00:46:08,790 --> 00:46:10,260 On a été appelé quoi? 1034 00:46:10,260 --> 00:46:11,260 >> AUDIENCE: Objective-C. 1035 00:46:11,260 --> 00:46:11,560 >> DAVID J. Malan: Oui. 1036 00:46:11,560 --> 00:46:13,600 Donc, Objective-C, ce qui est le plus ancien. 1037 00:46:13,600 --> 00:46:17,720 Il est aussi la langue que beaucoup Mac applications sont toujours écrites dans. 1038 00:46:17,720 --> 00:46:18,964 Ensuite, l'autre plus récente était? 1039 00:46:18,964 --> 00:46:19,630 AUDIENCE: Swift. 1040 00:46:19,630 --> 00:46:20,590 DAVID J. Malan: Swift. 1041 00:46:20,590 --> 00:46:23,900 Et ce sont le genre de deux à savoir pour impressionner les gens. 1042 00:46:23,900 --> 00:46:28,238 Ensuite, dans le monde Android, quelle langue utiliser Android? 1043 00:46:28,238 --> 00:46:30,618 >> AUDIENCE: C #? 1044 00:46:30,618 --> 00:46:31,570 >> AUDIENCE: Java. 1045 00:46:31,570 --> 00:46:34,230 >> DAVID J. Malan: Java est la langue de "du jour." 1046 00:46:34,230 --> 00:46:37,950 Dans le monde Windows, bien sûr, nous dirons C # dans ce cas. 1047 00:46:37,950 --> 00:46:40,590 Donc, déjà présent est une sorte de ennuyeux, parce que ce qui est 1048 00:46:40,590 --> 00:46:43,070 les plats à emporter pour une entreprise propriétaire ou quelqu'un qui vient 1049 00:46:43,070 --> 00:46:44,570 veut déployer une présence mobile? 1050 00:46:44,570 --> 00:46:45,220 Comme, bon sang? 1051 00:46:45,220 --> 00:46:48,590 Comme, si je veux soutenir une base d'utilisateurs assez large, 1052 00:46:48,590 --> 00:46:52,180 Je dois écrire, il semblerait, trois demandes distinctes. 1053 00:46:52,180 --> 00:46:55,630 Un dans une de ces langues, un en Java, un en C #. 1054 00:46:55,630 --> 00:46:59,620 Et même si je veux la fonctionnalité être identiques, il n'a pas d'importance. 1055 00:46:59,620 --> 00:47:02,940 Je dois encore utiliser différents langues parce que Apple et Microsoft, 1056 00:47:02,940 --> 00:47:06,084 et Google tout le soutien environnements différents. 1057 00:47:06,084 --> 00:47:07,750 Et cela a été un défi pour les années. 1058 00:47:07,750 --> 00:47:10,100 Retour dans la journée, lorsque les gens utilisés pour acheter des logiciels 1059 00:47:10,100 --> 00:47:12,230 dans un magasin informatique rétractable boîtes enveloppées, 1060 00:47:12,230 --> 00:47:14,470 vous devez soit atteindre le plateau Mac, 1061 00:47:14,470 --> 00:47:19,040 ou pour-- peut-être ce très petit Mac shelf-- ou de la plus grande cote de Windows 1062 00:47:19,040 --> 00:47:19,980 et acheter certains logiciels. 1063 00:47:19,980 --> 00:47:22,813 Et très souvent, il n'y avait même pas quoi que ce soit pour vous sur le plateau Mac. 1064 00:47:22,813 --> 00:47:23,430 Pourquoi? 1065 00:47:23,430 --> 00:47:26,900 Eh bien, les entreprises ont décidé si 90% du monde, 95% du monde 1066 00:47:26,900 --> 00:47:31,180 a PC, pourquoi tracassent même la mise en œuvre des choses sur Mac OS? 1067 00:47:31,180 --> 00:47:34,370 >> Comme aside-- un total digression-- pourquoi est-il 1068 00:47:34,370 --> 00:47:40,960 que Mac semble donc imperméable aux virus, et les vers, et les menaces de sécurité? 1069 00:47:40,960 --> 00:47:44,040 Apple est mieux à ce? 1070 00:47:44,040 --> 00:47:45,934 Mieux à garder les ordinateurs sécurisés? 1071 00:47:45,934 --> 00:47:47,750 >> AUDIENCE: Smaller public? 1072 00:47:47,750 --> 00:47:50,720 >> DAVID J. Malan: C'est probablement le plus grand peu à elle. 1073 00:47:50,720 --> 00:47:54,740 Ainsi, les nombreux utilisateurs de Mac ont longtemps réclamé, oh, utilisez un Mac, 1074 00:47:54,740 --> 00:47:57,630 vous serez immunisé contre les virus, et les vers et toutes ces choses 1075 00:47:57,630 --> 00:47:59,180 qui ont longtemps souffert des PC. 1076 00:47:59,180 --> 00:48:02,050 Cela pourrait être parce que Apple a de meilleurs programmeurs 1077 00:48:02,050 --> 00:48:05,250 et ils écrivent de meilleurs logiciels, ou système d'exploitation a été mieux conçu. 1078 00:48:05,250 --> 00:48:06,870 Peut-être, mais probablement pas. 1079 00:48:06,870 --> 00:48:10,840 >> Il est probablement que lorsque vous êtes 12 ans, ou 30 quelque chose 1080 00:48:10,840 --> 00:48:13,510 sorte d'assise à l'écriture de la maison logiciels malveillants de prendre en charge 1081 00:48:13,510 --> 00:48:17,480 le monde, vous allez aller après beaucoup plus grand public cible. 1082 00:48:17,480 --> 00:48:20,590 Les 95% du monde qui pourrait exécuter Windows ou d'un 1083 00:48:20,590 --> 00:48:21,740 des variants de ceux-ci. 1084 00:48:21,740 --> 00:48:23,800 Donc, il y a un peu des deux côtés. 1085 00:48:23,800 --> 00:48:25,710 Mais à leur crédit, Apple, à ma connaissance, 1086 00:48:25,710 --> 00:48:28,270 n'a pas vraiment se vanté comme étant plus sûr, 1087 00:48:28,270 --> 00:48:32,110 puisque vous êtes juste en invitant le drame si vous faites cette demande, je pense. 1088 00:48:32,110 --> 00:48:32,610 >> D'accord. 1089 00:48:32,610 --> 00:48:36,490 Sans aller trop loin vers le bas que, comment pouvons-nous résoudre ce problème? 1090 00:48:36,490 --> 00:48:39,670 Avez-vous d'acheter ou vous devez payer trois personnes différentes pour développer 1091 00:48:39,670 --> 00:48:41,540 vos applications? 1092 00:48:41,540 --> 00:48:42,870 Êtes-vous en choisir un sur l'autre? 1093 00:48:42,870 --> 00:48:45,460 Ce qui devrait guider votre pense ici pensez-vous? 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 Nan. 1098 00:48:51,500 --> 00:48:54,190 Quelqu'un d'autre. 1099 00:48:54,190 --> 00:48:56,885 >> AUDIENCE: Il suffit de venir avec le matériel. 1100 00:48:56,885 --> 00:48:58,510 DAVID J. Malan: Venez avec le matériel? 1101 00:48:58,510 --> 00:48:59,533 Que voulez-vous dire? 1102 00:48:59,533 --> 00:49:01,282 >> AUDIENCE: Pour la Environnement. [INAUDIBLE] 1103 00:49:01,282 --> 00:49:04,867 1104 00:49:04,867 --> 00:49:06,200 DAVID J. Malan: Donc, ce qui est vrai. 1105 00:49:06,200 --> 00:49:09,280 Mais vos clients, quant à lui, pourrait avoir iPhones, 1106 00:49:09,280 --> 00:49:13,530 ils pourraient avoir des téléphones Android, ils pourrait avoir des comprimés pris par Microsoft. 1107 00:49:13,530 --> 00:49:19,040 Alors, comment avez-vous une stratégie mobile pour l'ensemble de ces différents utilisateurs? 1108 00:49:19,040 --> 00:49:23,320 Il semblerait que si cela coûte, disons 1000 $ pour faire un iPhone 1109 00:49:23,320 --> 00:49:25,940 application, il va vous coûter 2000 $ pour faire 1110 00:49:25,940 --> 00:49:29,250 une application iPhone et une application Android, ou 3000 $ 1111 00:49:29,250 --> 00:49:31,407 pour soutenir également les périphériques Windows ainsi. 1112 00:49:31,407 --> 00:49:33,990 C'est probablement tout à fait une euphémisme, et il pourrait même pas 1113 00:49:33,990 --> 00:49:36,050 être une relation linéaire comme ça. 1114 00:49:36,050 --> 00:49:41,065 >> AUDIENCE: Si vous voulez avoir une application ou pas, vous pouvez avoir le site réactif. 1115 00:49:41,065 --> 00:49:41,940 DAVID J. Malan: Good. 1116 00:49:41,940 --> 00:49:46,255 AUDIENCE: Ou vous pouvez avoir une application native. 1117 00:49:46,255 --> 00:49:47,130 DAVID J. Malan: Oui. 1118 00:49:47,130 --> 00:49:50,260 Donc, dans l'ensemble ce contexte ici, nous avons parlé de ce que 1119 00:49:50,260 --> 00:49:53,190 les gens appellent des applications natives. 1120 00:49:53,190 --> 00:49:58,040 Voilà les applications qui sont écrites dans la langue maternelle de ce dispositif. 1121 00:49:58,040 --> 00:50:02,190 Donc, natif Objective-C ou Swift code, ou en Java ou en C #. 1122 00:50:02,190 --> 00:50:06,900 Ce qui signifie que lorsque vous téléchargez, nous allons dire Snapchat, une application populaire, 1123 00:50:06,900 --> 00:50:10,060 ou lorsque vous téléchargez Facebook pour un téléphone, 1124 00:50:10,060 --> 00:50:13,270 vous téléchargez soit le version écrite pour votre iPhone, 1125 00:50:13,270 --> 00:50:16,830 ou écrit pour votre téléphone Android, ou par écrit pour votre surface. 1126 00:50:16,830 --> 00:50:18,500 >> Mais il existe une alternative. 1127 00:50:18,500 --> 00:50:26,020 Comme Olivier faisait allusion, vous pouvez réellement utiliser HTML 5 1128 00:50:26,020 --> 00:50:33,440 à la place, en utilisant ce qu'on appelle un web l'application, de sorte que vous avez simplement 1129 00:50:33,440 --> 00:50:35,940 mettre en œuvre votre présence mobile et aucune fonctionnalité. 1130 00:50:35,940 --> 00:50:37,030 Qu'est-ce que je veux dire par la présence mobile? 1131 00:50:37,030 --> 00:50:39,800 Comme votre site Web qui a votre informations de contact, une liste de tous 1132 00:50:39,800 --> 00:50:43,049 vos produits, peut-être qu'il a un centre commercial panier, peut-être que vous vendez des choses à travers elle. 1133 00:50:43,049 --> 00:50:46,850 Quelle que soit votre application est, vous mettre en œuvre, et non pas en Objective-C, 1134 00:50:46,850 --> 00:50:51,200 ou Swift, ou Java ou C #, mais en HTML 5, qui était la langue, nous avons examiné 1135 00:50:51,200 --> 00:50:55,470 à hier, avec JavaScript et CSS. 1136 00:50:55,470 --> 00:50:58,700 >> Et ce qui est agréable au sujet de ceux trois est que pour les faire fonctionner, 1137 00:50:58,700 --> 00:51:01,981 vous devez juste ce morceau de logiciel? 1138 00:51:01,981 --> 00:51:02,980 AUDIENCE: Un navigateur web. 1139 00:51:02,980 --> 00:51:04,229 DAVID J. Malan: Un navigateur web. 1140 00:51:04,229 --> 00:51:07,610 Et le meilleur, je sais, tous ces appareils sont livrés avec des navigateurs Web, 1141 00:51:07,610 --> 00:51:10,480 si l'utilisateur n'a pas à installer quelque chose de spécial. 1142 00:51:10,480 --> 00:51:12,920 Ainsi, vous pouvez simplement dire à votre public, vos clients, 1143 00:51:12,920 --> 00:51:16,590 aller à acme.com dans votre navigateur et vous aurez juste 1144 00:51:16,590 --> 00:51:19,730 avoir une expérience basée sur le Web qui remplit encore l'écran, 1145 00:51:19,730 --> 00:51:25,100 mais vous ne devez pas vous soucier de tous ces coûts et toute cette complexité. 1146 00:51:25,100 --> 00:51:28,600 Mais sûrement il va être un hic ici, non? 1147 00:51:28,600 --> 00:51:31,740 Surtout si je signale qu'il ya quelques années, 1148 00:51:31,740 --> 00:51:35,700 la première version de application mobile de Facebook 1149 00:51:35,700 --> 00:51:38,810 était la plupart du temps une application HTML 5. 1150 00:51:38,810 --> 00:51:42,490 Et ils ont, plus récemment, il réimplémenté 1151 00:51:42,490 --> 00:51:44,700 dans les autres applications. 1152 00:51:44,700 --> 00:51:46,990 >> Alors, pourquoi voulez-vous pas immédiatement envie de dire, 1153 00:51:46,990 --> 00:51:49,190 bien, évidemment, nous allons faire cela? 1154 00:51:49,190 --> 00:51:51,560 Quelles pourraient être les coûts cachés? 1155 00:51:51,560 --> 00:51:52,477 >> AUDIENCE: Performance. 1156 00:51:52,477 --> 00:51:53,643 DAVID J. Malan: Performance? 1157 00:51:53,643 --> 00:51:54,567 Qu'est-ce que vous voulez dire? 1158 00:51:54,567 --> 00:52:01,040 >> AUDIENCE: L'application native a plus de performance. 1159 00:52:01,040 --> 00:52:03,850 >> DAVID J. Malan: Alors qui est vrai, pour un couple de raisons. 1160 00:52:03,850 --> 00:52:05,270 Nous pouvons schématiser la réponse. 1161 00:52:05,270 --> 00:52:08,061 Et rappeler notre discussion sur interprété par rapport à des langages compilés. 1162 00:52:08,061 --> 00:52:12,030 Ceci est HTML 5 et avec elle, juste pour être clair, JavaScript-- couramment écrit 1163 00:52:12,030 --> 00:52:15,880 JS-- et CSS sont tous langages interprétés, 1164 00:52:15,880 --> 00:52:21,020 même si seulement JavaScript est un langage de programmation. 1165 00:52:21,020 --> 00:52:25,820 >> Et par rapport à ceux-ci, que certains d'entre eux sont compilées, au moins ces three-- 1166 00:52:25,820 --> 00:52:29,990 Objective-C, Java et C # - ceux-ci, en théorie, devrait juste être plus rapide. 1167 00:52:29,990 --> 00:52:31,670 Mais il y a une autre réalité pour-- 1168 00:52:31,670 --> 00:52:32,440 >> AUDIENCE: Fonctionnalités? 1169 00:52:32,440 --> 00:52:32,830 >> DAVID J. Malan: Qu'est-ce que? 1170 00:52:32,830 --> 00:52:34,060 >> AUDIENCE: Fonctionnalités. 1171 00:52:34,060 --> 00:52:34,570 >> DAVID J. Malan: Fonctionnalité? 1172 00:52:34,570 --> 00:52:35,070 Comment? 1173 00:52:35,070 --> 00:52:37,305 AUDIENCE: Utilisez l'appareil photo votre téléphone ou quelque chose. 1174 00:52:37,305 --> 00:52:41,471 Vous pouvez les utiliser avec le navigateur. 1175 00:52:41,471 --> 00:52:42,470 DAVID J. Malan: Exactement. 1176 00:52:42,470 --> 00:52:43,011 Ils sec-- 1177 00:52:43,011 --> 00:52:45,034 AUDIENCE: [Inaudible] 1178 00:52:45,034 --> 00:52:46,700 DAVID J. Malan: C'est un autre bon. 1179 00:52:46,700 --> 00:52:49,230 Il y a des fonctionnalités qui viennent avec les téléphones mobiles d'aujourd'hui 1180 00:52:49,230 --> 00:52:53,840 qui ne sont pas, par la conception, de la sécurité raisons, accessibles aux navigateurs Web. 1181 00:52:53,840 --> 00:52:56,410 Parce que ce serait un peu une chose si effrayant juste au moment où 1182 00:52:56,410 --> 00:53:00,710 vous visitez google.com, ou cnn.com, ou tout website.com, 1183 00:53:00,710 --> 00:53:04,490 que ce site a le pouvoir de transformer sur votre appareil photo, prendre une photo de vous, 1184 00:53:04,490 --> 00:53:06,010 et ensuite l'utiliser. 1185 00:53:06,010 --> 00:53:09,280 Mais vous ne voulez pas un site aléatoire que vous visitez pour la première fois 1186 00:53:09,280 --> 00:53:10,690 d'avoir cette capacité. 1187 00:53:10,690 --> 00:53:13,460 >> Et donc ce téléphone les fabricants font généralement 1188 00:53:13,460 --> 00:53:17,230 est qu'ils viennent de refuser l'accès à ce genre d'information 1189 00:53:17,230 --> 00:53:20,650 à un navigateur, ce qui veut dire que vous ne peut pas mettre en œuvre la caméra. 1190 00:53:20,650 --> 00:53:24,180 Vous ne pouvez pas implémenter les notifications push, les bips que vous obtenez sur votre écran 1191 00:53:24,180 --> 00:53:26,120 avec des messages courts. 1192 00:53:26,120 --> 00:53:31,350 Et en fait, même GPS est seul type de sorte à la disposition des navigateurs Web. 1193 00:53:31,350 --> 00:53:34,140 Si vous avez déjà, sur un ordinateur portable ou sur un appareil mobile, 1194 00:53:34,140 --> 00:53:38,770 tiré vers le haut quelque chose comme peut-être CNN.com, mais aussi de nouvelles stations locales 1195 00:53:38,770 --> 00:53:43,890 ont tendance à le faire, vous êtes invité souvent avec un Message-- foxnews.com 1196 00:53:43,890 --> 00:53:45,170 veut connaître votre position. 1197 00:53:45,170 --> 00:53:46,610 Approuver ou refuser. 1198 00:53:46,610 --> 00:53:52,070 >> Eh bien, le navigateur tente d'accéder vos informations GPS de votre téléphone. 1199 00:53:52,070 --> 00:53:54,740 Mais heureusement, Microsoft, et Apple et Google 1200 00:53:54,740 --> 00:53:57,330 ont décidé que se sent comme il est une situation utile, 1201 00:53:57,330 --> 00:53:59,461 nous voulons Google Maps et d'autres outils pour travailler, 1202 00:53:59,461 --> 00:54:02,710 mais nous ne voulons pas ramper gens simplement en permettant à tout site Web pour ce faire. 1203 00:54:02,710 --> 00:54:05,934 Le genre de So let de rencontre à mi-chemin et invite l'utilisateur. 1204 00:54:05,934 --> 00:54:08,850 Mais ce n'est pas nécessairement le cas avec tout le matériel, comme la caméra 1205 00:54:08,850 --> 00:54:10,680 et avec push notifications et autres, 1206 00:54:10,680 --> 00:54:13,650 de sorte que vous pourriez avoir à sacrifier certaines fonctionnalités. 1207 00:54:13,650 --> 00:54:15,100 Mais la performance aussi. 1208 00:54:15,100 --> 00:54:18,020 Il devient moins perceptible de nos jours, peut-être 1209 00:54:18,020 --> 00:54:22,400 LTE et plus rapide sur les captures la vitesse d'Internet sur les téléphones, 1210 00:54:22,400 --> 00:54:24,110 mais vous pouvez sorte de sentir la différence. 1211 00:54:24,110 --> 00:54:28,190 Comme une application basée sur le Web se sent juste plus lent, généralement, 1212 00:54:28,190 --> 00:54:31,100 d'une application native, en partie car une application basée sur le Web 1213 00:54:31,100 --> 00:54:32,680 est, par définition, sur l'Internet. 1214 00:54:32,680 --> 00:54:35,610 Il parle aux serveurs sur le web. 1215 00:54:35,610 --> 00:54:39,590 Et si votre connexion réseau est lent, même le défilement peut être lente. 1216 00:54:39,590 --> 00:54:43,710 >> Mais une application native, vous avez déjà pré-downloaded-- probablement 1217 00:54:43,710 --> 00:54:45,680 quand vous étiez à la maison à partir de l'App Store, 1218 00:54:45,680 --> 00:54:47,900 ou vous au moins pré-téléchargé dans son intégralité 1219 00:54:47,900 --> 00:54:49,640 plus tôt, quel que soit votre vitesse de connexion-- 1220 00:54:49,640 --> 00:54:52,530 et maintenant vous avez toutes les les bits que vous avez besoin en général. 1221 00:54:52,530 --> 00:54:55,090 Sauf peut-être quelques données qui vient d'un serveur. 1222 00:54:55,090 --> 00:54:57,130 >> Donc, ce sont des compromis ici. 1223 00:54:57,130 --> 00:54:59,980 Il y a une sorte de milieu compromis, en fait. 1224 00:54:59,980 --> 00:55:00,907 Et je pense que vous-- 1225 00:55:00,907 --> 00:55:02,895 >> AUDIENCE: Utilisez les données hors ligne. 1226 00:55:02,895 --> 00:55:06,355 Dans les applications natives, vous pouvez [Inaudible] 1227 00:55:06,355 --> 00:55:07,480 DAVID J. Malan: Absolument. 1228 00:55:07,480 --> 00:55:09,730 Donc, il y a la question de ligne, qui est vraiment ennuyeux 1229 00:55:09,730 --> 00:55:13,120 si vous ne pouvez pas jouer à un jeu ou à l'utilisation certains logiciels juste parce que vous êtes 1230 00:55:13,120 --> 00:55:15,110 dans un sous-sol quelque part ou dans un ascenseur. 1231 00:55:15,110 --> 00:55:18,700 Une application native est élastique avec une probabilité plus élevée contre cela, 1232 00:55:18,700 --> 00:55:20,990 en supposant que vous avez toutes les les données dont vous avez besoin localement. 1233 00:55:20,990 --> 00:55:22,900 >> Donc, il y a une troisième option ici. 1234 00:55:22,900 --> 00:55:30,270 Et nous allons dessiner le spectre application native ici et application web ici. 1235 00:55:30,270 --> 00:55:32,460 Et ce qui est dans le milieu est quelque chose called-- 1236 00:55:32,460 --> 00:55:35,410 et je pense que vous pourriez avoir utilisé le mot avant, peut-être? 1237 00:55:35,410 --> 00:55:37,170 l'application hybride. 1238 00:55:37,170 --> 00:55:40,980 Et comme le mot l'indique, il est quelque chose au milieu. 1239 00:55:40,980 --> 00:55:46,230 Il est en quelque sorte une application web et il est en quelque sorte une application native. 1240 00:55:46,230 --> 00:55:47,690 >> Et qu'est-ce que cela signifie? 1241 00:55:47,690 --> 00:55:51,750 Il se trouve il y a frameworks-- pour utiliser un terme de logiciel heure, à savoir 1242 00:55:51,750 --> 00:55:55,860 que d'autres personnes ont écrit pour chacun de ces plates-formes. 1243 00:55:55,860 --> 00:55:57,500 Ces encore et d'autres dispositifs. 1244 00:55:57,500 --> 00:56:02,390 En fait, laissez-moi aller à PhoneGap, qui est l'un tel cadre que je 1245 00:56:02,390 --> 00:56:04,520 croire Adobe est maintenant propriétaire. 1246 00:56:04,520 --> 00:56:07,830 Laissez-moi aller Mise en route. 1247 00:56:07,830 --> 00:56:09,430 Voyons voir. 1248 00:56:09,430 --> 00:56:12,450 Voir si je peux voir une liste d'outils. 1249 00:56:12,450 --> 00:56:13,150 Matériel. 1250 00:56:13,150 --> 00:56:15,845 Commencer. 1251 00:56:15,845 --> 00:56:17,570 matériel PhoneGap. 1252 00:56:17,570 --> 00:56:18,672 >> Voyons voir. 1253 00:56:18,672 --> 00:56:23,459 l'accès au matériel PhoneGap. 1254 00:56:23,459 --> 00:56:26,125 Permettez-moi de voir si nous pouvons trouver un peu chart qu'ils l'habitude d'avoir. 1255 00:56:26,125 --> 00:56:29,170 1256 00:56:29,170 --> 00:56:31,640 Ceci est sur un autre site. 1257 00:56:31,640 --> 00:56:32,525 Est-ce utile? 1258 00:56:32,525 --> 00:56:33,030 Non. 1259 00:56:33,030 --> 00:56:36,330 Ça va perdre notre temps là-bas. 1260 00:56:36,330 --> 00:56:40,185 matériel PhoneGap. 1261 00:56:40,185 --> 00:56:40,685 Dispositifs. 1262 00:56:40,685 --> 00:56:45,190 1263 00:56:45,190 --> 00:56:48,030 API de périphérique. 1264 00:56:48,030 --> 00:56:49,270 Non, ils ont déménagé il. 1265 00:56:49,270 --> 00:56:50,070 >> PhoneGap. 1266 00:56:50,070 --> 00:56:54,964 Allons un dernier regard sur cette et voir si je peux vous montrer. 1267 00:56:54,964 --> 00:56:55,630 Commencer. 1268 00:56:55,630 --> 00:56:58,160 1269 00:56:58,160 --> 00:56:59,020 Installez PhoneGap. 1270 00:56:59,020 --> 00:57:02,310 1271 00:57:02,310 --> 00:57:03,270 Installez l'application mobile. 1272 00:57:03,270 --> 00:57:04,320 Allons. 1273 00:57:04,320 --> 00:57:07,220 1274 00:57:07,220 --> 00:57:08,580 Ils ont tout réorganisés. 1275 00:57:08,580 --> 00:57:09,750 D'accord. 1276 00:57:09,750 --> 00:57:11,370 Ah très bien. 1277 00:57:11,370 --> 00:57:12,550 Eh bien, nous y voilà. 1278 00:57:12,550 --> 00:57:16,130 Ce ne sont pas tout ce qui instructif, mais ceci est ce que je sorte de recherche. 1279 00:57:16,130 --> 00:57:20,940 >> Alors PhoneGap est un cadre que vous peuvent télécharger gratuitement qui vous donne 1280 00:57:20,940 --> 00:57:22,750 un code de démarrage, essentiellement. 1281 00:57:22,750 --> 00:57:26,600 Donc un peu de code qu'ils ont écrit qui ne fait pas grand-chose. 1282 00:57:26,600 --> 00:57:29,610 Mais qu'est-ce qu'il vous donne est essentiellement l'équivalent 1283 00:57:29,610 --> 00:57:34,910 d'une application qui met juste un grand rectangle sur l'écran de l'utilisateur. 1284 00:57:34,910 --> 00:57:38,040 Il ne met pas une barre d'URL, comme un navigateur, ne met pas une adresse. 1285 00:57:38,040 --> 00:57:39,650 Il met juste un grand rectangle. 1286 00:57:39,650 --> 00:57:43,230 Et vous configurez ce grand rectangle, sous le capot, 1287 00:57:43,230 --> 00:57:50,780 d'aller effectivement à acme.com, ou peut-être m.acme.com, pour mobile.acme.com, 1288 00:57:50,780 --> 00:57:52,910 mais l'utilisateur ne sait pas ils sont à cette adresse. 1289 00:57:52,910 --> 00:57:55,520 Tout ce qu'ils voient est le contenu de la page Web. 1290 00:57:55,520 --> 00:57:59,822 >> Mais ce qui est bien sur cet être une application hybride est que ce que PhoneGap 1291 00:57:59,822 --> 00:58:03,030 et d'autres sociétés donnent vous est ils sont en vous donnant un peu de code de 1292 00:58:03,030 --> 00:58:05,760 en Objective-C ou Swift, ou un peu de code Java, 1293 00:58:05,760 --> 00:58:08,320 ou un peu de Code en C #, et essentiellement, 1294 00:58:08,320 --> 00:58:12,990 tout ce que vous devez fournir est minimale à la adresse de votre application web. 1295 00:58:12,990 --> 00:58:15,750 Et puis vous regroupez ce tous ensemble et vous 1296 00:58:15,750 --> 00:58:20,670 avoir non plus accéder à votre site via Internet, 1297 00:58:20,670 --> 00:58:24,060 ou même de mettre en cache local copier dans l'application, 1298 00:58:24,060 --> 00:58:28,690 et puis vous enregistrez votre application au format iPhone, téléphone Android 1299 00:58:28,690 --> 00:58:32,030 le format, le format de surface, ou un nombre quelconque d'autres appareils. 1300 00:58:32,030 --> 00:58:34,960 >> Vous téléchargez chacune de ces versions le Play Store de Google, 1301 00:58:34,960 --> 00:58:37,690 à l'App Store, à la De Windows Store, et ainsi de suite. 1302 00:58:37,690 --> 00:58:41,570 Et maintenant, vous pouvez avoir tous vos publics télécharger vraiment une application native, 1303 00:58:41,570 --> 00:58:44,250 mais la plupart du code était écrit par quelqu'un d'autre, 1304 00:58:44,250 --> 00:58:49,090 mais le contenu de cette application native tous viennent, généralement, votre propre site. 1305 00:58:49,090 --> 00:58:53,950 Donc, vous continuez à écrire votre site Web en HTML, JavaScript et CSS. 1306 00:58:53,950 --> 00:58:56,400 >> Alors pourquoi brouiller ces lignes? 1307 00:58:56,400 --> 00:59:00,240 Pourquoi avoir une application hybride que ce genre d'origine, mais aussi 1308 00:59:00,240 --> 00:59:02,569 sorte de web basé? 1309 00:59:02,569 --> 00:59:04,610 Quel est le point entier de l'ajout de cette complexité? 1310 00:59:04,610 --> 00:59:07,180 Je veux dire, même encore, seulement à partir en regardant à travers cette page, 1311 00:59:07,180 --> 00:59:11,790 le Guide de démarrage se sent comme il a un tas d'étapes pour moi 1312 00:59:11,790 --> 00:59:13,514 à faire avant que je can-- 1313 00:59:13,514 --> 00:59:14,430 AUDIENCE: Réutilisation? 1314 00:59:14,430 --> 00:59:14,960 DAVID J. Malan: Réutilisation? 1315 00:59:14,960 --> 00:59:15,618 Que voulez-vous dire? 1316 00:59:15,618 --> 00:59:16,826 >> AUDIENCE: Du code source. 1317 00:59:16,826 --> 00:59:19,438 Donc, le même code serait exécuté sur toutes les différentes plates-formes. 1318 00:59:19,438 --> 00:59:20,313 DAVID J. Malan: Oui. 1319 00:59:20,313 --> 00:59:21,188 AUDIENCE: [Inaudible] 1320 00:59:21,188 --> 00:59:23,200 1321 00:59:23,200 --> 00:59:24,200 DAVID J. Malan: Parfait. 1322 00:59:24,200 --> 00:59:26,930 Si le temps est serré et si vous ne pas avoir que de nombreux developers-- 1323 00:59:26,930 --> 00:59:28,900 peut-être vous avez un développeur et il ou elle a certainement 1324 00:59:28,900 --> 00:59:31,050 ne connaît pas tous ces environments-- certainement pas bien, 1325 00:59:31,050 --> 00:59:33,341 et peut certainement pas le programme dans les trois simultanément 1326 00:59:33,341 --> 00:59:35,970 et expédier trois produits le délai imparti pour un, 1327 00:59:35,970 --> 00:59:40,360 vous pouvez l'avoir ou elle tout construire en HTML et JavaScript et CSS, 1328 00:59:40,360 --> 00:59:43,260 puis apprendre un peu minuscule peu sur les applications natives, 1329 00:59:43,260 --> 00:59:45,930 juste assez pour télécharger un cadre comme celui-ci, 1330 00:59:45,930 --> 00:59:48,750 pour ensuite télécharger votre produit à tous les différents magasins d'applications 1331 00:59:48,750 --> 00:59:51,700 de sorte que vous avez maintenant une application native. 1332 00:59:51,700 --> 00:59:54,090 >> Donc, cela semble être un gagnant-gagnant, mais encore une fois, pour être clair, 1333 00:59:54,090 --> 00:59:56,540 quelles sont les possibilités les coûts ou les pièges? 1334 00:59:56,540 --> 01:00:00,292 1335 01:00:00,292 --> 01:00:01,209 >> AUDIENCE: Performance? 1336 01:00:01,209 --> 01:00:02,083 DAVID J. Malan: Oui. 1337 01:00:02,083 --> 01:00:02,959 Performance. 1338 01:00:02,959 --> 01:00:04,250 Il est difficile de décrire verbalement. 1339 01:00:04,250 --> 01:00:07,590 Donc, si vous venez de prendre sur foi une application mobile, 1340 01:00:07,590 --> 01:00:11,430 une application web sera effectuer généralement plus lentement. 1341 01:00:11,430 --> 01:00:16,500 Il peut ne pas sembler tout à fait raison, parce que dans l'iPhone, et dans les téléphones Android, 1342 01:00:16,500 --> 01:00:19,210 et les périphériques Windows, il y a toujours une sorte de regard par défaut 1343 01:00:19,210 --> 01:00:21,780 et se sentir à tous les les boutons et les menus. 1344 01:00:21,780 --> 01:00:25,160 >> Et les entreprises du web, peuvent essayer de rapprocher ces esthétique 1345 01:00:25,160 --> 01:00:28,329 avec les bibliothèques comme Bootstrap, mais le user-- un user-- astucieux 1346 01:00:28,329 --> 01:00:30,620 va savoir que quelque chose est pas tout à fait ici. 1347 01:00:30,620 --> 01:00:32,510 Et c'est bien, peut-être ce n'est pas une grosse affaire. 1348 01:00:32,510 --> 01:00:35,500 Mais le problème de performances absolument est une grosse affaire. 1349 01:00:35,500 --> 01:00:39,400 Les applications natives ont tendance à juste être beaucoup plus réactif et donc 1350 01:00:39,400 --> 01:00:39,946 mieux. 1351 01:00:39,946 --> 01:00:42,070 Et donc, qu'est-ce donc peut-être le meilleur des deux mondes? 1352 01:00:42,070 --> 01:00:44,584 Si vous êtes particulièrement une petite entreprise ou un petit groupe, 1353 01:00:44,584 --> 01:00:47,000 vous ne disposez pas des ressources de développer une application en parallèle 1354 01:00:47,000 --> 01:00:50,480 sur les trois plates-formes, et franchement, se sent comme c'est une mauvaise idée de toute façon 1355 01:00:50,480 --> 01:00:53,526 parce que si vous roulez sur et sur réaliser tous les trois en même temps, 1356 01:00:53,526 --> 01:00:56,400 nous aurions ajouté quelques fonctionnalités ou fait quelque chose différemment, maintenant 1357 01:00:56,400 --> 01:00:59,530 vous devez fixer dans trois places, pas un seul. 1358 01:00:59,530 --> 01:01:02,390 Quel est peut-être optimal stratégie globale ici, 1359 01:01:02,390 --> 01:01:04,130 si les ressources et le temps sont serrés? 1360 01:01:04,130 --> 01:01:06,420 >> AUDIENCE: Just do it sur iOS. 1361 01:01:06,420 --> 01:01:08,390 >> DAVID J. Malan: Ce n'est pas déraisonnable. 1362 01:01:08,390 --> 01:01:10,670 iPhones, au moins dans la États-Unis, sommes super populaire. 1363 01:01:10,670 --> 01:01:13,820 Android semble avoir encore dominante part de marché, à l'échelle mondiale, dans l'ensemble. 1364 01:01:13,820 --> 01:01:16,740 Donc, vous n'êtes pas nécessairement représentatifs 1365 01:01:16,740 --> 01:01:19,210 de la totalité du globe cette semaine. 1366 01:01:19,210 --> 01:01:21,180 Mais c'est absolument une décision. 1367 01:01:21,180 --> 01:01:23,620 Je veux dire, sur le campus ici, je penser un nombre atroce 1368 01:01:23,620 --> 01:01:26,600 ou le pourcentage de premier cycle ont iPhones et les téléphones Android pas. 1369 01:01:26,600 --> 01:01:28,490 Mais à l'étranger, il est un peu le contraire. 1370 01:01:28,490 --> 01:01:30,040 Vous décidez donc basé sur votre auditoire. 1371 01:01:30,040 --> 01:01:31,990 Comment savez-vous ce que votre public a? 1372 01:01:31,990 --> 01:01:34,080 >> Eh bien, nous avons appris un truc hier. 1373 01:01:34,080 --> 01:01:35,060 Vous pourriez leur demander. 1374 01:01:35,060 --> 01:01:37,910 Si vous avez un auditoire captif vous pouvez leur envoyer un formulaire d'enquête. 1375 01:01:37,910 --> 01:01:39,172 Ou vous pouvez simplement faire quoi? 1376 01:01:39,172 --> 01:01:40,076 >> AUDIENCE: Google Analytics? 1377 01:01:40,076 --> 01:01:40,680 >> DAVID J. Malan: Qu'est-ce que? 1378 01:01:40,680 --> 01:01:41,876 >> AUDIENCE: 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 Ouais. 1381 01:01:43,750 --> 01:01:46,970 Ou encore plus genre de technique, juste regarder vos propres serveurs web logs. 1382 01:01:46,970 --> 01:01:49,100 Parce que ce qui se passe à chaque fois qu'un navigateur, 1383 01:01:49,100 --> 01:01:51,880 si un ordinateur portable, ordinateur de bureau ou téléphone visiter votre site Web? 1384 01:01:51,880 --> 01:01:56,847 Ils envoient cet en-tête HTTP qui montre vous ce navigateur et OS qu'ils utilisent. 1385 01:01:56,847 --> 01:02:00,180 Ainsi, vous pouvez déduire, avec une forte probabilité, ce que votre démographique utilise de cette façon 1386 01:02:00,180 --> 01:02:01,410 puis ajuster. 1387 01:02:01,410 --> 01:02:03,030 >> Donc, supposons que est inacceptable. 1388 01:02:03,030 --> 01:02:07,760 C'est un peu mauvais pour les affaires, si Les utilisateurs d'Android ne peuvent pas acheter nos widgets. 1389 01:02:07,760 --> 01:02:10,942 >> AUDIENCE: Que vous soyez va charger ou non? 1390 01:02:10,942 --> 01:02:12,900 DAVID J. Malan: Que vous allez faire payer? 1391 01:02:12,900 --> 01:02:14,900 Alors OK, vous obtenez ce que vous payez. 1392 01:02:14,900 --> 01:02:18,400 >> AUDIENCE: Que votre application est va être libre ou si elle est gonna-- 1393 01:02:18,400 --> 01:02:19,530 >> DAVID J. Malan: OK. 1394 01:02:19,530 --> 01:02:21,920 Alors peut-être que vous pourriez récupérer les coûts de cette façon, ou--? 1395 01:02:21,920 --> 01:02:26,195 >> AUDIENCE: Je lis une étude, une fois que ladite plus les utilisateurs d'Apple paient pour les applications versus-- 1396 01:02:26,195 --> 01:02:28,320 DAVID J. Malan: Cela est vrai parce qu'ils sont déjà 1397 01:02:28,320 --> 01:02:29,640 payer plus pour leurs appareils. 1398 01:02:29,640 --> 01:02:31,295 Donc pas déraisonnable une hypothèse. 1399 01:02:31,295 --> 01:02:32,170 >> AUDIENCE: [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 Donc, s'ils sont plus disposés à payer, puis à l'enfer avec les utilisateurs d'Android. 1403 01:02:38,667 --> 01:02:40,500 Ils ne vont pas nous payer quoi que ce soit de toute façon. 1404 01:02:40,500 --> 01:02:43,499 Nous pourrions aussi bien concentrer nos priorités, au moins pour les premiers mois 1405 01:02:43,499 --> 01:02:44,810 ou un an, sur iOS. 1406 01:02:44,810 --> 01:02:46,240 Totalement raisonnable. 1407 01:02:46,240 --> 01:02:48,558 Qu'est-ce qu'un plus inclusif stratégie que cela? 1408 01:02:48,558 --> 01:02:53,740 1409 01:02:53,740 --> 01:02:54,960 Maybe-- ce qui est qui? 1410 01:02:54,960 --> 01:02:57,040 >> AUDIENCE: [Inaudible] 1411 01:02:57,040 --> 01:03:00,142 >> DAVID J. Malan: A plus expensive-- alors peut-être investir davantage in-- aller de l'avant. 1412 01:03:00,142 --> 01:03:00,767 AUDIENCE: Ouais. 1413 01:03:00,767 --> 01:03:02,050 Juste un site Web mobile. 1414 01:03:02,050 --> 01:03:03,966 >> DAVID J. Malan: Donc, faire un site Web mobile et non 1415 01:03:03,966 --> 01:03:05,440 même vous soucier de cette complexité. 1416 01:03:05,440 --> 01:03:07,970 Ou peut-être une stratégie raisonnable, qui, même Facebook a pris, 1417 01:03:07,970 --> 01:03:10,890 est de commencer avec un hybride application, car il est pas 1418 01:03:10,890 --> 01:03:13,582 que beaucoup plus difficile à faire que cela. 1419 01:03:13,582 --> 01:03:16,040 Il suffit de lire certains documentation et comprendre comment 1420 01:03:16,040 --> 01:03:17,480 pour télécharger des choses à l'App Store. 1421 01:03:17,480 --> 01:03:19,670 Alors peut-être vous commencez avec ce, de sorte que le premier jour, 1422 01:03:19,670 --> 01:03:21,112 vous pouvez soutenir tous vos utilisateurs. 1423 01:03:21,112 --> 01:03:23,570 Et puis, tout comme Facebook et d'autres entreprises ont fait, 1424 01:03:23,570 --> 01:03:25,330 lorsque vous avez les ressources, vous avez les gens, 1425 01:03:25,330 --> 01:03:27,660 pourquoi ne pas ré-implémenter juste l'application iOS. 1426 01:03:27,660 --> 01:03:31,460 Vous avez encore quelque chose pour tout le monde, même si elle est une expérience inférieure 1427 01:03:31,460 --> 01:03:33,330 peut-être avec l'application hybride. 1428 01:03:33,330 --> 01:03:36,770 Mais vous pouvez progressivement déployer et remplacer votre court terme 1429 01:03:36,770 --> 01:03:40,280 mesures des applications hybrides avec vos applications natives. 1430 01:03:40,280 --> 01:03:44,090 >> AUDIENCE: Mais avec une application hybride vous auront accès aux fonctionnalités mobiles? 1431 01:03:44,090 --> 01:03:45,440 >> DAVID J. Malan: Pas nécessairement. 1432 01:03:45,440 --> 01:03:47,810 Alors peut-être vous faites une consciente décision dès le début, 1433 01:03:47,810 --> 01:03:51,930 vous ne pouvez télécharger des photos sur le application iPhone native de Facebook, 1434 01:03:51,930 --> 01:03:56,060 mais pas sur l'application applications, initialement, par exemple. 1435 01:03:56,060 --> 01:04:00,600 Et c'est un peu un mensonge parce que applications web ont plus de restrictions 1436 01:04:00,600 --> 01:04:03,620 que les applications hybrides il se , et si on lit la documentation 1437 01:04:03,620 --> 01:04:07,260 pour PhoneGap et des choses comme ça, les gens ont trouvé des moyens 1438 01:04:07,260 --> 01:04:11,110 pour donner des applications web l'accès à la caméra, 1439 01:04:11,110 --> 01:04:13,310 aussi longtemps que vous utilisez une application hybride. 1440 01:04:13,310 --> 01:04:14,214 >> Comment ça marche? 1441 01:04:14,214 --> 01:04:16,130 Étant donné que l'hybride l'application, par définition, 1442 01:04:16,130 --> 01:04:19,600 a un peu de code en Objective-C, et Swift, et Java ou en C #, 1443 01:04:19,600 --> 01:04:20,920 il peut accéder au matériel. 1444 01:04:20,920 --> 01:04:24,590 Pas nécessairement tout, mais il pourrait très bien 1445 01:04:24,590 --> 01:04:27,310 être le cas que vous avez un accès suffisant pour obtenir l'appareil photo, 1446 01:04:27,310 --> 01:04:32,960 même pour les plates-formes Android, pour Ainsi, dans cet exemple artificiel. 1447 01:04:32,960 --> 01:04:35,515 >> D'autres questions? 1448 01:04:35,515 --> 01:04:36,279 D'accord. 1449 01:04:36,279 --> 01:04:38,070 Pourquoi ne prenons pas notre 15 minutes de pause ici. 1450 01:04:38,070 --> 01:04:44,060 Nous reprendrons à trois avec une finale regarder la programmation web, bases de données, 1451 01:04:44,060 --> 01:04:45,910 et Javascript. 1452 01:04:45,910 --> 01:04:48,877