1 00:00:00,000 --> 00:00:01,291 >> DAVID J. MALAN: Also sind wir zurück. 2 00:00:01,291 --> 00:00:03,050 So der High-Level Thema im Moment jetzt 3 00:00:03,050 --> 00:00:06,440 Stapeln ist die Technologie, die nicht ein besonders technischer Begriff, 4 00:00:06,440 --> 00:00:09,960 es ist eher ein Fang alles für jede Anzahl von Kombinationen von Technologien 5 00:00:09,960 --> 00:00:11,840 dass Sie vielleicht verwenden, um Probleme zu lösen. 6 00:00:11,840 --> 00:00:14,850 Und vielleicht die passende Weise zu starten 7 00:00:14,850 --> 00:00:18,110 wäre an Sprachen zu suchen, da Ich halte Rasseln eine ganze Reihe aus 8 00:00:18,110 --> 00:00:21,000 und die meisten jeder im Raum hat wahrscheinlich mindestens eine davon gehört. 9 00:00:21,000 --> 00:00:25,730 >> Und so, warum wir nicht versuchen, zu unterscheiden what-- diese Sprachen unterscheiden 10 00:00:25,730 --> 00:00:28,932 und sprechen kurz über, wenn Sie es Wählen Sie einen über den anderen, wie sie sind 11 00:00:28,932 --> 00:00:30,890 Art grundlegend verschieden, und insbesondere 12 00:00:30,890 --> 00:00:34,830 wenn Sie mit den Ingenieuren chatten, oder versuchen, wem zu entscheiden, zu mieten, 13 00:00:34,830 --> 00:00:37,652 oder welche Implementierung Vorschlag grünes Licht, 14 00:00:37,652 --> 00:00:39,860 wie würden Sie tatsächlich machen diese Art von Entscheidungen. 15 00:00:39,860 --> 00:00:41,890 >> Also lassen Sie uns einfach ein paar Dinge rattern. 16 00:00:41,890 --> 00:00:45,300 Von den Sprachen Menschen hörte, was in den Sinn kommt? 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 Was ist das? 21 00:00:51,990 --> 00:00:52,390 >> PUBLIKUM: Python. 22 00:00:52,390 --> 00:00:53,348 >> DAVID J. MALAN: Python. 23 00:00:53,348 --> 00:00:55,330 Ausgezeichnet. 24 00:00:55,330 --> 00:00:57,000 Was sonst? 25 00:00:57,000 --> 00:00:58,810 Visual Basic. 26 00:00:58,810 --> 00:01:01,100 Ich habe gehört, Java. 27 00:01:01,100 --> 00:01:02,610 Visuelle Basic-- auch bekannt als 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, Die eher ein Haken ist, alle für das, was in der Regel C # als Sprache 32 00:01:12,810 --> 00:01:13,770 fraglich. 33 00:01:13,770 --> 00:01:14,770 Und lassen Sie mich erwähnen, dass. 34 00:01:14,770 --> 00:01:15,900 Also werden wir darauf zurückkommen. 35 00:01:15,900 --> 00:01:17,560 Es tut mir Leid? 36 00:01:17,560 --> 00:01:18,170 Es tut uns leid? 37 00:01:18,170 --> 00:01:19,877 >> PUBLIKUM: SQL. 38 00:01:19,877 --> 00:01:20,876 DAVID J. MALAN: Scratch? 39 00:01:20,876 --> 00:01:21,610 PUBLIKUM: SQL. 40 00:01:21,610 --> 00:01:22,610 DAVID J. MALAN: Oh, SQL. 41 00:01:22,610 --> 00:01:23,110 OK. 42 00:01:23,110 --> 00:01:23,750 SQL. 43 00:01:23,750 --> 00:01:29,510 Also werden wir wieder kommen eigentlich zu dass--, es ist good-- nach der Pause auch. 44 00:01:29,510 --> 00:01:30,572 Was sonst? 45 00:01:30,572 --> 00:01:32,530 >> PUBLIKUM: Oracle. 46 00:01:32,530 --> 00:01:34,670 >> Also: DAVID J. MALAN Oracle, keine Sprache. 47 00:01:34,670 --> 00:01:36,560 Eigentlich hätte sie SQL als auch nutzen. 48 00:01:36,560 --> 00:01:38,360 Lassen Sie uns so setzen, dass nach der Bruch als auch. 49 00:01:38,360 --> 00:01:39,744 Und sorry, etwas hier? 50 00:01:39,744 --> 00:01:40,660 PUBLIKUM: Mathematica. 51 00:01:40,660 --> 00:01:41,390 DAVID J. MALAN: Mathematica? 52 00:01:41,390 --> 00:01:42,303 OK sicher. 53 00:01:42,303 --> 00:01:46,150 54 00:01:46,150 --> 00:01:49,180 Und MATLAB ist eine Art manchmal dort. 55 00:01:49,180 --> 00:01:50,060 >> PUBLIKUM: R. 56 00:01:50,060 --> 00:01:51,755 >> DAVID J. MALAN: R. Lass uns hier gehen. 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 Sicher. 60 00:01:55,880 --> 00:01:57,910 Ältere Schule. 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 Ich werde BASIC heraus werfen. 64 00:02:02,410 --> 00:02:05,990 65 00:02:05,990 --> 00:02:08,539 BASIC. 66 00:02:08,539 --> 00:02:09,390 Irgendein-- 67 00:02:09,390 --> 00:02:10,352 >> PUBLIKUM: MATLAB? 68 00:02:10,352 --> 00:02:11,310 DAVID J. MALAN: MATLAB. 69 00:02:11,310 --> 00:02:12,248 Oh, schlagen Sie zu. 70 00:02:12,248 --> 00:02:15,370 71 00:02:15,370 --> 00:02:15,870 Etwas? 72 00:02:15,870 --> 00:02:18,700 Ich kann von ein paar andere denken. 73 00:02:18,700 --> 00:02:21,876 Ich kann von ein paar andere denken. 74 00:02:21,876 --> 00:02:22,792 Und was war das letzte? 75 00:02:22,792 --> 00:02:23,970 >> PUBLIKUM: ASP. 76 00:02:23,970 --> 00:02:25,030 >> DAVID J. MALAN: ASP? 77 00:02:25,030 --> 00:02:26,100 Ja. 78 00:02:26,100 --> 00:02:27,100 Active Server Pages. 79 00:02:27,100 --> 00:02:30,270 Das würde im Allgemeinen fallen unter andere Sprachen, manchmal C #, 80 00:02:30,270 --> 00:02:32,040 so lassen wir das ab. 81 00:02:32,040 --> 00:02:35,510 Aber wir werden darauf zurückkommen für Gerüste und so. 82 00:02:35,510 --> 00:02:36,290 Noch etwas? 83 00:02:36,290 --> 00:02:39,020 PHP ist sehr beliebt. 84 00:02:39,020 --> 00:02:41,710 Ruby ist eine andere. 85 00:02:41,710 --> 00:02:48,230 JavaScript, um nicht zu verwechseln mit Java, ist eine andere. 86 00:02:48,230 --> 00:02:49,570 Das ist irgendwie eine Menge. 87 00:02:49,570 --> 00:02:53,590 >> So kann es sicherlich überwältigend sein, als ob die Liste nicht bereits geschehen ist, 88 00:02:53,590 --> 00:02:55,650 gerade beginnen zu wissen, wo Sie beginnen. 89 00:02:55,650 --> 00:02:58,130 Und so glücklich, lassen Sie uns Ansatz, um dies von einigen Winkeln. 90 00:02:58,130 --> 00:03:03,520 Lassen Sie uns zuerst versuchen zu kategorisieren zumindest einige dieser Sprachen 91 00:03:03,520 --> 00:03:06,790 in zwei große Eimer, erinnert an das Gespräch, das wir vor Pause hatte, 92 00:03:06,790 --> 00:03:09,630 wo wir sprachen über das Kompilieren, und der Quellcode und der Maschinencode, 93 00:03:09,630 --> 00:03:11,440 denn das ist es nicht, wie alle Sprachen arbeiten. 94 00:03:11,440 --> 00:03:15,640 Also werden wir ein paar Beispiele auszureißen von-- oder Gegen examples-- zu diesem Modell. 95 00:03:15,640 --> 00:03:18,490 >> Und dann tun, warum nicht wir reden über die Anwendungen 96 00:03:18,490 --> 00:03:20,390 dass diese Sprachen werden verwendet. 97 00:03:20,390 --> 00:03:22,840 Und ehrlich gesagt, auch wenn Dies ist eine ziemlich lange Liste, 98 00:03:22,840 --> 00:03:26,320 es ist nur eine Teilmenge dieser Liste, die Sie würde in der Regel aus diesen Tagen ziehen 99 00:03:26,320 --> 00:03:27,220 Probleme lösen. 100 00:03:27,220 --> 00:03:29,150 Bestimmte Sprachen neuer sind als andere. 101 00:03:29,150 --> 00:03:31,170 Bestimmte Sprachen sind beliebter als andere. 102 00:03:31,170 --> 00:03:34,370 So ist es nicht wie Sie solche haben eine überwältigende Aufgabe, bevor Sie 103 00:03:34,370 --> 00:03:36,970 bei der Entscheidung, unter diese verschiedenen Sprachen. 104 00:03:36,970 --> 00:03:40,110 >> Also lassen Sie uns dies tun. 105 00:03:40,110 --> 00:03:45,870 Wir hatten früher, Quellcode, und dann hatten wir Maschinencode. 106 00:03:45,870 --> 00:03:48,590 107 00:03:48,590 --> 00:03:49,400 Hoppla. 108 00:03:49,400 --> 00:03:50,910 Das Schreiben der falsche Wort. 109 00:03:50,910 --> 00:03:52,740 Maschinensprache. 110 00:03:52,740 --> 00:03:57,549 Und wir hatten einen Prozess in der Mitte called-- ja, den Compiler. 111 00:03:57,549 --> 00:03:58,215 So ist der Compiler. 112 00:03:58,215 --> 00:04:00,760 113 00:04:00,760 --> 00:04:03,910 >> Und was die Maschinencode tatsächlich läuft am Ende auf 114 00:04:03,910 --> 00:04:05,680 wird Ihre tatsächliche CPU sein. 115 00:04:05,680 --> 00:04:09,660 In anderen Worten, durch Maschinencode, I bedeuten den niedrigsten Niveau Anweisungen 116 00:04:09,660 --> 00:04:11,330 dass eine CPU tatsächlich versteht. 117 00:04:11,330 --> 00:04:15,100 Addition, Subtraktion, verschieben, speichern und Operationen wie die. 118 00:04:15,100 --> 00:04:19,700 Und so ist dies das Modell für das, was als kompilierte Sprachen allgemein bekannt. 119 00:04:19,700 --> 00:04:21,000 Vielleicht nicht überraschend. 120 00:04:21,000 --> 00:04:23,550 >> Das ist also das Modell für kompilierte Sprachen. 121 00:04:23,550 --> 00:04:25,970 Aber es stellt sich dort die aus eine andere Klasse von Sprachen 122 00:04:25,970 --> 00:04:32,650 genannt interpretiert languages-- interpretiert languages-- 123 00:04:32,650 --> 00:04:34,030 das sind etwas anders. 124 00:04:34,030 --> 00:04:41,660 Sie schreiben im Quellcode, laufen sie durch einen Dolmetscher, 125 00:04:41,660 --> 00:04:45,440 und dass Interpreter Was läuft auf der CPU. 126 00:04:45,440 --> 00:04:50,120 Mit anderen Worten: Was tun Sie nicht emit ist, was offenbar? 127 00:04:50,120 --> 00:04:50,980 Maschinensprache. 128 00:04:50,980 --> 00:04:54,290 Die Nullen und Einsen, die die CPU selbst versteht schließlich. 129 00:04:54,290 --> 00:04:59,780 >> Also in dieser ersten Version und Sprachen wie C, wie wir gesehen haben, 130 00:04:59,780 --> 00:05:02,040 schreiben Sie im Quellcode das ist ein wenig obskur, 131 00:05:02,040 --> 00:05:05,300 aber zumindest ist es ein bisschen Englisch-like und es ist zumindest lesbar 132 00:05:05,300 --> 00:05:06,780 sobald man sich daran gewöhnen. 133 00:05:06,780 --> 00:05:10,100 Sie führen es durch einen Compiler und aus Sie erhalten schließlich Nullen und Einsen. 134 00:05:10,100 --> 00:05:11,340 >> Dass eine zu starke Vereinfachung. 135 00:05:11,340 --> 00:05:12,839 Es gibt einige andere Schritte drin. 136 00:05:12,839 --> 00:05:15,530 In der Tat haben, wenn Sie jemals gehört, der Begriff "Assemblersprache" 137 00:05:15,530 --> 00:05:17,990 das ist ein Schritt vor die Nullen und Einsen. 138 00:05:17,990 --> 00:05:20,949 Das ist ein wenig mehr lesbar, aber immer noch ziemlich obskur. 139 00:05:20,949 --> 00:05:23,740 Und so gibt es Zwischenschritte Das sind in der Tat, denn hier los. 140 00:05:23,740 --> 00:05:26,360 Aber die Ausgabe letztendlich ist diese Nullen und Einsen. 141 00:05:26,360 --> 00:05:28,990 >> Aber in der interpretierten Welt, wo Sie 142 00:05:28,990 --> 00:05:32,680 Sprachen, die interpretiert werden Sprachen, überspringen Sie tatsächlich diesen Schritt. 143 00:05:32,680 --> 00:05:36,010 Mit anderen Worten, wenn Sie schreiben ein Programm, die Sie gerade sofort auszuführen. 144 00:05:36,010 --> 00:05:38,960 Sie kompilieren es nicht und führen Sie es dann, wie vorher. 145 00:05:38,960 --> 00:05:41,132 Sie schreiben es und führen Sie es. 146 00:05:41,132 --> 00:05:44,340 Und wenn Sie wollen einen schnellen Wechsel zu machen, Ihnen eine schnelle Änderung vornehmen und es erneut ausführen. 147 00:05:44,340 --> 00:05:46,640 So gibt es keine hier mittlere Stufe. 148 00:05:46,640 --> 00:05:50,840 >> Nun, für das Programm schrieb ich früher, das war das "Hallo Welt" Programm, 149 00:05:50,840 --> 00:05:53,660 Sie vernünftigerweise wonder-- oder vernünftigerweise 150 00:05:53,660 --> 00:05:58,570 state-- das war nicht, dass die Zeit raubend mein Programm zu kompilieren. 151 00:05:58,570 --> 00:06:00,337 Es scheint, es einfach so getan zu haben. 152 00:06:00,337 --> 00:06:02,170 Und es gibt graphische Versionen von Compilern. 153 00:06:02,170 --> 00:06:05,270 Ich verwende eine sehr obskure Version, aber man könnte eine Play-Taste getroffen 154 00:06:05,270 --> 00:06:07,887 und das wäre eigentlich tun die Zusammenstellung für Sie. 155 00:06:07,887 --> 00:06:10,720 Ich habe das Programm kompiliert und dann wieder, es laufen zu lassen, das tue ich dies nur. 156 00:06:10,720 --> 00:06:13,820 Und es gibt dort auf der linken Seite, "Hallo!" 157 00:06:13,820 --> 00:06:15,530 Das scheint nicht so belastend. 158 00:06:15,530 --> 00:06:19,920 Aber wenn Sie Ihre Programme sind mehr als nur eine, zwei, drei, 159 00:06:19,920 --> 00:06:25,470 vier, fünf Zeilen lang, kann es nehmen weit mehr Sekunden zu kompilieren. 160 00:06:25,470 --> 00:06:28,310 Manchmal sogar Minuten oder ziemlich viel Zeit zu kompilieren. 161 00:06:28,310 --> 00:06:30,480 Schließlich sind einige der weltgrößten Produkte 162 00:06:30,480 --> 00:06:35,040 sind Dinge wie Betriebssysteme, Microsoft Word, Microsoft Excel, 163 00:06:35,040 --> 00:06:39,070 was könnte Hunderttausende sein oder sogar Millionen von Codezeilen lang, 164 00:06:39,070 --> 00:06:41,300 und die nicht nur sofort auszuführen. 165 00:06:41,300 --> 00:06:44,560 >> Außerdem auf dem Netz, ist es Mode geworden zu verwenden 166 00:06:44,560 --> 00:06:47,600 einfach interpretierte Sprachen, zum Teil, weil Sie 167 00:06:47,600 --> 00:06:50,570 machen eine Änderung als Entwickler können und dann einfach sofort nachladen 168 00:06:50,570 --> 00:06:52,570 die Browser-Seite und sehen sofort das Ergebnis. 169 00:06:52,570 --> 00:06:56,160 Und so HTML, während nicht eine Programmiersprache, 170 00:06:56,160 --> 00:06:58,860 ist eine Sprache, die interpretiert wird. 171 00:06:58,860 --> 00:07:00,770 Und wir sahen, dass die gleiche Wirkung gestern. 172 00:07:00,770 --> 00:07:04,070 Sie laden Sie einfach die Seite nach der Herstellung eine Änderung in der Cloud9 und- voila-- 173 00:07:04,070 --> 00:07:05,560 sehen Sie ein neues Ergebnis. 174 00:07:05,560 --> 00:07:07,090 >> Also, was ist der Unterschied hier? 175 00:07:07,090 --> 00:07:13,190 In HTML, Rückruf, wir hatten offene HTML, offene Kopf, Open-Titel, in der Nähe Titel, 176 00:07:13,190 --> 00:07:15,250 nahe Kopf, offenen Körper, und so weiter. 177 00:07:15,250 --> 00:07:19,149 Wir hatten all diese Tags, die wir ziemlich viel gesagt, geben dem Browser zu tun, was. 178 00:07:19,149 --> 00:07:20,690 Hey Browser, hier kommt eine HTML-Seite. 179 00:07:20,690 --> 00:07:22,170 Hey-Browser, hier kommt der Titel. 180 00:07:22,170 --> 00:07:24,429 Hey Browser, hier kommt einige Text, der fett sein sollte. 181 00:07:24,429 --> 00:07:25,720 Und dann sagen Sie das Gegenteil. 182 00:07:25,720 --> 00:07:27,330 Hey-Browser, ist, dass es für die fett Text. 183 00:07:27,330 --> 00:07:28,830 Hey-Browser, das ist es für den Körper. 184 00:07:28,830 --> 00:07:29,740 Und so weiter. 185 00:07:29,740 --> 00:07:31,130 >> Und was ist ein Browser? 186 00:07:31,130 --> 00:07:33,170 Ein Browser ist nur ein Dolmetscher. 187 00:07:33,170 --> 00:07:36,090 Es ist ein Programm, dass jemand wie Microsoft oder Google hat geschrieben, 188 00:07:36,090 --> 00:07:39,160 deren Zweck im Leben ist, Lesen Sie die Sprache, bekannt als HTML, 189 00:07:39,160 --> 00:07:39,890 und interpretieren. 190 00:07:39,890 --> 00:07:41,290 Von oben nach unten, von links nach rechts. 191 00:07:41,290 --> 00:07:46,880 Und jedes Mal, sieht der Browser geöffnet Klammer, Titel, Klammer zu, 192 00:07:46,880 --> 00:07:48,960 es sollte, dass interpretieren dahin, oh, dass 193 00:07:48,960 --> 00:07:52,490 bedeutet, sollte ich diese Worte auszudrücken hier oben an der Spitze des Browsers. 194 00:07:52,490 --> 00:07:55,700 >> Also es tut genau das, was der HTML-Code sagt. 195 00:07:55,700 --> 00:07:57,240 Aber es gibt keine Nullen und Einsen. 196 00:07:57,240 --> 00:07:58,250 Es gibt keine Kompilierung. 197 00:07:58,250 --> 00:07:58,890 Sie tat es nicht. 198 00:07:58,890 --> 00:07:59,931 Der Browser hat es nicht getan. 199 00:07:59,931 --> 00:08:01,710 Es ist einfach nicht beteiligt. 200 00:08:01,710 --> 00:08:05,890 >> Also im Geiste dieser laufenden Themen, gestern und heute, 201 00:08:05,890 --> 00:08:08,400 das scheint ein wunderbares Merkmal zu sein. 202 00:08:08,400 --> 00:08:11,410 Sie Ihren Code speichern und dann führen Sie es einfach oder interpretieren. 203 00:08:11,410 --> 00:08:13,790 Es gibt keine Zwischenschritte. 204 00:08:13,790 --> 00:08:15,690 Sicherlich gibt es eine Kosten? 205 00:08:15,690 --> 00:08:16,810 Kann nicht alle upsides sein. 206 00:08:16,810 --> 00:08:19,964 So was könnte das kosten? 207 00:08:19,964 --> 00:08:20,940 >> PUBLIKUM: Space. 208 00:08:20,940 --> 00:08:22,370 >> DAVID J. MALAN: Space. 209 00:08:22,370 --> 00:08:23,370 So sicher. 210 00:08:23,370 --> 00:08:26,920 In der kompilierten Welt, haben Sie nicht nur die Original-Quellcode, 211 00:08:26,920 --> 00:08:29,657 Sie sind auch die Schaffung und dann vermutlich Speichern 212 00:08:29,657 --> 00:08:31,740 die Maschine code-- die Nullen und ones-- und das ist 213 00:08:31,740 --> 00:08:33,870 bekam eine gewisse Menge an Platz einnehmen. 214 00:08:33,870 --> 00:08:34,429 Absolut. 215 00:08:34,429 --> 00:08:35,765 So ist es kostet Sie mehr Platz. 216 00:08:35,765 --> 00:08:39,289 217 00:08:39,289 --> 00:08:39,789 Ja? 218 00:08:39,789 --> 00:08:43,280 >> PUBLIKUM: Browser könnte anders interpretieren. 219 00:08:43,280 --> 00:08:46,770 >> DAVID J. MALAN: Browser könnte interpretieren es anders. 220 00:08:46,770 --> 00:08:48,622 Das ist wahr. 221 00:08:48,622 --> 00:08:50,330 Aber ich bin nicht sicher, ich bin komfortabel behaupten 222 00:08:50,330 --> 00:08:51,840 das ist, weil es interpretiert wird. 223 00:08:51,840 --> 00:08:56,340 Das ist mehr, nur weil es eine Implementierung eines Sprach 224 00:08:56,340 --> 00:08:58,050 daß selbst hat Mehrdeutigkeiten. 225 00:08:58,050 --> 00:09:01,570 Lassen Sie uns also nicht ganz bestätigen dass man, aber gute Ahnung. 226 00:09:01,570 --> 00:09:03,103 Was sonst könnte der Preis zu zahlen? 227 00:09:03,103 --> 00:09:03,602 Andrew? 228 00:09:03,602 --> 00:09:05,912 >> PUBLIKUM: Sie kombinieren zwei Schritte, so dass Sie deshalb 229 00:09:05,912 --> 00:09:08,300 auch haben die Komplexität zu erhöhen. 230 00:09:08,300 --> 00:09:11,040 >> DAVID J. MALAN: Die complex-- die Zunahme der Komplexität, wo? 231 00:09:11,040 --> 00:09:12,270 Für wen? 232 00:09:12,270 --> 00:09:16,748 >> PUBLIKUM: Also, in dem Dolmetscher Schritt sind die Kombination Sie den Dolmetscher 233 00:09:16,748 --> 00:09:19,120 und Compiler für gerade im Vorfeld zu-- 234 00:09:19,120 --> 00:09:21,100 >> DAVID J. MALAN: Ah, OK. 235 00:09:21,100 --> 00:09:25,240 Ironischerweise ist es wahrscheinlich ein wenig einfacher, den Interpreter zu implementieren, 236 00:09:25,240 --> 00:09:29,530 obwohl es scheint, zu Ausbeute upsides dieser Bequemlichkeit. 237 00:09:29,530 --> 00:09:30,550 So möglicherweise wahr. 238 00:09:30,550 --> 00:09:32,716 Aber es hängt von Art, ich würde sagen, auf der Sprache 239 00:09:32,716 --> 00:09:35,720 und darüber, wie sie gingen über ihre Durchführung. 240 00:09:35,720 --> 00:09:38,535 Es kann viel mehr Komplexität sein, tatsächlich, in dem Compiler, 241 00:09:38,535 --> 00:09:41,410 nur weil man aus gehen müssen etwas so hohem Niveau zu etwas 242 00:09:41,410 --> 00:09:42,560 so niedrigem Niveau. 243 00:09:42,560 --> 00:09:45,340 Aber ein guter Gedanke. 244 00:09:45,340 --> 00:09:50,770 >> Also anders gesagt, ein übersetztes Programm, wenn in diese Nullen und Einsen verwandelt, 245 00:09:50,770 --> 00:09:54,470 endet in der Sprache nach oben dass die CPU spricht, 246 00:09:54,470 --> 00:09:57,850 wohingegen in dieser Seite der Welt, haben Sie das Programm geschrieben, 247 00:09:57,850 --> 00:10:02,527 der Code, den Sie haben, geschrieben eigentlich nie wird in die eigentliche Sprache umgewandelt 248 00:10:02,527 --> 00:10:03,360 der Computer spricht. 249 00:10:03,360 --> 00:10:04,190 Die Nullen und Einsen. 250 00:10:04,190 --> 00:10:08,480 Es bleibt in der ursprünglichen, menschlicher freundlich, lesbarer Sprache. 251 00:10:08,480 --> 00:10:11,720 Also, was könnte die Implikation sein da, wenn Sie nicht wirklich 252 00:10:11,720 --> 00:10:15,020 stört das Umwandeln Ihrer Programm der sehr Sprache 253 00:10:15,020 --> 00:10:18,013 dass die zugrunde liegende Computer spricht? 254 00:10:18,013 --> 00:10:19,780 >> PUBLIKUM: Might nicht etwas verstehen? 255 00:10:19,780 --> 00:10:21,170 >> DAVID J. MALAN: Might verstehen nicht etwas. 256 00:10:21,170 --> 00:10:23,297 Und das kann claim-- wenn es nicht verstanden 257 00:10:23,297 --> 00:10:25,880 etwas, das ist ein Fehler oder Mangel von Feature im Interpreter. 258 00:10:25,880 --> 00:10:28,544 Also das wäre mehr ein Fehler, als eine Kosten. 259 00:10:28,544 --> 00:10:30,419 >> PUBLIKUM: Sie haben Zugriff auf den Quellcode? 260 00:10:30,419 --> 00:10:31,877 DAVID J. MALAN: Es gibt eine gute. 261 00:10:31,877 --> 00:10:34,140 Also hier ein Nachteil ist, dass Sie scheint Zugriff haben. 262 00:10:34,140 --> 00:10:37,006 Sie, den Endverbraucher, könnte scheinen Zugriff auf den Quellcode. 263 00:10:37,006 --> 00:10:38,130 Und das ist nicht immer wahr. 264 00:10:38,130 --> 00:10:39,660 Aber es ist wahr in der Bei JavaScript, 265 00:10:39,660 --> 00:10:41,660 was wir schauen nach der Bruch heute, die 266 00:10:41,660 --> 00:10:45,720 ist eine Programmiersprache interpretiert dass Sie im Quellcode schreiben. 267 00:10:45,720 --> 00:10:48,890 >> Aber dass der Quellcode wird übertragen von Ihrem Server an den Browser 268 00:10:48,890 --> 00:10:51,392 und läuft in den Browser des Menschen. 269 00:10:51,392 --> 00:10:54,350 So, hier konnte sie öffnen Sie einfach die Fenster, wie ich habe in Chrome getan, 270 00:10:54,350 --> 00:10:57,740 und schauen Sie es, wie wir uns warf einen Blick auf gestern mit Google. 271 00:10:57,740 --> 00:11:00,420 Es könnte ein wenig aussehen unverständlich, aber es ist da. 272 00:11:00,420 --> 00:11:03,482 Also das ist absolut ein Preis bezahlt. 273 00:11:03,482 --> 00:11:04,565 PUBLIKUM: Performance-Hit? 274 00:11:04,565 --> 00:11:05,020 DAVID J. MALAN: Ja. 275 00:11:05,020 --> 00:11:06,260 Und das ist die andere Biggie. 276 00:11:06,260 --> 00:11:07,380 Es gibt ein Performance-Einbußen. 277 00:11:07,380 --> 00:11:10,100 Denn Sie haben diese Mitte des Menschen, der sich 278 00:11:10,100 --> 00:11:13,740 ist ein Programm, zwischen Ihnen und die CPU, im Gegensatz 279 00:11:13,740 --> 00:11:17,880 nur diese Roh-Fütterung Nullen und Einsen in die CPU, 280 00:11:17,880 --> 00:11:21,060 gibt es eine Performance-Einbußen, dass Sie nehmen mit einer interpretierten Sprache. 281 00:11:21,060 --> 00:11:24,240 So dass, willkürlich ein Programm das könnte dauern 1 Sekunde 282 00:11:24,240 --> 00:11:27,840 für die Ausführung auf einem Computer oder einem Minute auf einem Computer ausführen können hier, 283 00:11:27,840 --> 00:11:32,059 vielleicht nehmen 10 Sekunden oder 10 Minuten auf einem Computer laufen hier. 284 00:11:32,059 --> 00:11:35,100 Es ist im Allgemeinen nicht zu sein, dass viel eines difference-- Faktor 10-- 285 00:11:35,100 --> 00:11:36,808 weil es Optimierungen Sie tun können. 286 00:11:36,808 --> 00:11:38,680 Aber es ist fast immer langsamer. 287 00:11:38,680 --> 00:11:43,070 Nun ist die Kehrseite dieser Sorge auch Computer, ist, dass alle 12 288 00:11:43,070 --> 00:11:45,970 bis 18 months-- nach Moores Gesetz, so zu speak-- 289 00:11:45,970 --> 00:11:47,600 werden immer nur schneller und schneller. 290 00:11:47,600 --> 00:11:48,750 Ich habe mehr und mehr Speicherplatz. 291 00:11:48,750 --> 00:11:49,791 Ich habe mehr und mehr RAM. 292 00:11:49,791 --> 00:11:50,620 Wen interessiert das schon? 293 00:11:50,620 --> 00:11:52,328 >> Und das ist irgendwie ein vernünftiges Argument. 294 00:11:52,328 --> 00:11:55,740 Tatsächlich ist einer der Gründe, warum können wir langsamer tolerieren 295 00:11:55,740 --> 00:11:58,480 interpretierte Sprachen, weil wir Menschen bemerken nicht wirklich. 296 00:11:58,480 --> 00:12:00,690 Die Computer haben nur so verdammt schnell geworden. 297 00:12:00,690 --> 00:12:04,520 Während zurück in den Tag, vor allem wenn die Hardware war viel mehr eingeschränkt, 298 00:12:04,520 --> 00:12:06,860 Sie hatten weniger von allem, es war viel teurer 299 00:12:06,860 --> 00:12:10,570 so kostet alles mehr, auch dann Sie wollte wirklich Squeeze-out 300 00:12:10,570 --> 00:12:12,590 so viel Leistung wie Sie konnten. 301 00:12:12,590 --> 00:12:16,400 Aber das erforderliche Schreiben an ein niedrigerer Ebene, wenn man so will, 302 00:12:16,400 --> 00:12:18,090 mit einer kompilierten Sprache. 303 00:12:18,090 --> 00:12:20,830 >> So haben Sie diese Leistung Schlag nehmen. 304 00:12:20,830 --> 00:12:24,780 Aber in der Regel die upsides scheinen in diesen Tagen wert, es zu sein. 305 00:12:24,780 --> 00:12:26,850 Nun, mit Ausnahme der geistiges Eigentum Problem. 306 00:12:26,850 --> 00:12:28,641 Diese Art der Lesbarkeit des Codes, werden wir 307 00:12:28,641 --> 00:12:30,640 zurückkommen, wenn wir in JavaScript aussehen. 308 00:12:30,640 --> 00:12:33,140 >> So wollen wir versuchen, zu kategorisieren wenigstens einige von diesen. 309 00:12:33,140 --> 00:12:41,650 So unter den kompilierten Sprachen, wir hätte C, C ++, ein bisschen, sorta, Java, 310 00:12:41,650 --> 00:12:48,120 obwohl es ein bisschen eine Ausnahme, für Gründe, warum ich Sie nur einen Augenblick in zeigen. 311 00:12:48,120 --> 00:12:51,540 C # würde auf dieser Liste sein. 312 00:12:51,540 --> 00:12:54,930 Wir werden uns nur auf mehr sehen die moderneren Sprachen. 313 00:12:54,930 --> 00:12:55,430 Gut. 314 00:12:55,430 --> 00:12:56,804 Und das scheint viel da wie. 315 00:12:56,804 --> 00:13:03,500 Während auf dieser Seite des Zauns, wir könnten JavaScript und Python, 316 00:13:03,500 --> 00:13:08,040 und PHP und Ruby. 317 00:13:08,040 --> 00:13:13,640 Und das ist genug für die neueren? 318 00:13:13,640 --> 00:13:15,410 Das fühlt sich an wie viel für den Moment. 319 00:13:15,410 --> 00:13:16,330 OK. 320 00:13:16,330 --> 00:13:18,760 Und dann Punkt Punkt Punkt, da die Liste ist endlos. 321 00:13:18,760 --> 00:13:22,300 >> Und in der Tat, wenn wir wollen einfach nur bekommen ein Gefühl von this-- Wikipedia, 322 00:13:22,300 --> 00:13:24,130 kompilierten Sprachen. 323 00:13:24,130 --> 00:13:27,150 Ich schätze, dass wir eine bekommen weit mehr erschöpfende Liste. 324 00:13:27,150 --> 00:13:27,910 Auf geht's. 325 00:13:27,910 --> 00:13:30,620 Also hier ist eine viel erschöpfende Liste. 326 00:13:30,620 --> 00:13:34,150 Und ich hatte gehofft, jemand würde vermuten, D als eine Sprache zu, weil das vorhanden ist, 327 00:13:34,150 --> 00:13:37,747 aber sie hielten an D würde es scheinen. 328 00:13:37,747 --> 00:13:39,330 Obwohl es eigentlich könnte ein E. sein 329 00:13:39,330 --> 00:13:41,496 >> Oh, eigentlich sollte dies in diesen Tagen auf der Liste sein. 330 00:13:41,496 --> 00:13:47,460 Swift ist eigentlich ein Sprache, dass Apple erfunden 331 00:13:47,460 --> 00:13:50,302 Das ist jetzt verwendet wird, zunehmend so, in iPhone Entwicklung. 332 00:13:50,302 --> 00:13:52,260 Aber wir kommen wieder zu dass wir mit unserer Diskussion 333 00:13:52,260 --> 00:13:54,090 als auch in nur ein wenig mobil. 334 00:13:54,090 --> 00:13:55,260 So Swift als auch. 335 00:13:55,260 --> 00:13:57,540 >> Und dann, wenn wir gehen zu interpretiert language-- 336 00:13:57,540 --> 00:14:05,010 language-- dann ist hier interpretiert eine noch längere Liste als auch. 337 00:14:05,010 --> 00:14:07,260 Also, wenn Sie nur Google und Blick auf Wikipedia für diese, 338 00:14:07,260 --> 00:14:09,231 Sie werden alle möglichen Sprachen zu sehen. 339 00:14:09,231 --> 00:14:10,980 Aber der Zweck ist, für heute wirklich, nur 340 00:14:10,980 --> 00:14:13,680 läuft darauf hinaus, vielleicht diese nach unten Frage des geistigen Eigentums 341 00:14:13,680 --> 00:14:18,200 und Lesbarkeit durch den Endbenutzer und Leistung, ist eine andere als gut Biggie. 342 00:14:18,200 --> 00:14:21,080 >> So unter diesen Sprachen, lassen Sie mich sehen, ob wir Ihnen geben kann 343 00:14:21,080 --> 00:14:24,487 nur einige Beispiel von Sprachen. 344 00:14:24,487 --> 00:14:26,820 Wir wollen nicht durch zu gehen, alle Sprachen endlos. 345 00:14:26,820 --> 00:14:29,720 Haben Sie sich jemals gefragt, was für ein bestimmte Sprache aussieht? 346 00:14:29,720 --> 00:14:31,562 Wir haben vor einem Augenblick zu sehen. 347 00:14:31,562 --> 00:14:33,520 Warum nehmen wir nicht ein paar von Feature-Requests. 348 00:14:33,520 --> 00:14:35,380 Wer möchte, was zu sehen andere Sprache aussieht? 349 00:14:35,380 --> 00:14:35,620 Ja. 350 00:14:35,620 --> 00:14:36,150 >> PUBLIKUM: Java. 351 00:14:36,150 --> 00:14:36,540 >> DAVID J. MALAN: Java. 352 00:14:36,540 --> 00:14:37,040 Gut. 353 00:14:37,040 --> 00:14:38,504 Lassen Sie uns also auf Java gehen. 354 00:14:38,504 --> 00:14:42,300 355 00:14:42,300 --> 00:14:44,900 Und nur, um Ihnen eine Probe-- Wir könnten alle diese aus, schreiben 356 00:14:44,900 --> 00:14:47,670 aber es wäre nur schneller Blick auf Beispielcode jemand anderes. 357 00:14:47,670 --> 00:14:48,170 Gut. 358 00:14:48,170 --> 00:14:50,330 So ist dies ein gutes Beispiel? 359 00:14:50,330 --> 00:14:52,040 Hoppla. 360 00:14:52,040 --> 00:14:52,540 OK. 361 00:14:52,540 --> 00:14:58,810 So, hier ist die Java-Version von Programm, das ich schrieb früher, "Hallo Welt." 362 00:14:58,810 --> 00:15:01,900 >> So Java, werden Sie oft siehe das Stichwort "Klasse." 363 00:15:01,900 --> 00:15:03,779 Dann werden Sie einen Namen danach zu sehen. 364 00:15:03,779 --> 00:15:05,570 Sie werden geschweifte Klammern sehen wie wir sahen vor, 365 00:15:05,570 --> 00:15:08,153 und manchmal gehen sie auf die gleiche Linie, manchmal auch andere Linien, 366 00:15:08,153 --> 00:15:09,734 es ist irgendwie eine persönliche Entscheidung. 367 00:15:09,734 --> 00:15:11,900 Sie werden sehen, wie Schlüsselwörter "Public", "statisch", "Nichts." 368 00:15:11,900 --> 00:15:13,790 Aber wir haben sehen "main". "Main" ist in der Regel 369 00:15:13,790 --> 00:15:17,220 der Name der Standardfunktion oder der Standard-Stück Code, 370 00:15:17,220 --> 00:15:18,760 wird in einem Programm ausführen. 371 00:15:18,760 --> 00:15:19,330 >> "String". 372 00:15:19,330 --> 00:15:20,850 Was haben wir von String früher bedeuten? 373 00:15:20,850 --> 00:15:23,480 Früher habe ich es irgendwie beiläufig. 374 00:15:23,480 --> 00:15:25,100 Ein String ist, was? 375 00:15:25,100 --> 00:15:25,601 Ein Wort. 376 00:15:25,601 --> 00:15:27,058 Es ist wie eine Folge von Zeichen. 377 00:15:27,058 --> 00:15:29,810 Einzelne Zeichen, zurück zu Rücken an Rücken, in der Regel in einem Array, 378 00:15:29,810 --> 00:15:30,690 wie wir haben diskutiert. 379 00:15:30,690 --> 00:15:34,700 Und in der Tat sehen diese Syntax Hier sind die beiden in eckigen Klammern? 380 00:15:34,700 --> 00:15:39,210 Das heißt, hey Computer, hier kommt ein Array von Strings. 381 00:15:39,210 --> 00:15:42,636 Die eckige Klammer-Notation allgemein verwendet, dass zu bezeichnen. 382 00:15:42,636 --> 00:15:44,510 Und dann können Sie wahrscheinlich nehmen Sie ein guess-- was 383 00:15:44,510 --> 00:15:46,580 bedeutet dies hervorgehoben Stück Code wahrscheinlich tun? 384 00:15:46,580 --> 00:15:49,737 385 00:15:49,737 --> 00:15:50,639 >> PUBLIKUM: Der Ausgang? 386 00:15:50,639 --> 00:15:51,090 >> DAVID J. MALAN: Ja. 387 00:15:51,090 --> 00:15:52,506 Er druckt etwas auf den Bildschirm. 388 00:15:52,506 --> 00:15:57,070 So "System" ist eine Art von Bezug auf Ihren Computer. 389 00:15:57,070 --> 00:15:59,620 "Out" bedeutet, dass Ihr Computer Ausgang oder den Bildschirm. 390 00:15:59,620 --> 00:16:04,450 So "System.out.print ln" wohl bedeutet? 391 00:16:04,450 --> 00:16:05,570 "Ln". 392 00:16:05,570 --> 00:16:09,570 Druckleitung, die Programmierer wie scheinbar ein paar Worte buchstabieren 393 00:16:09,570 --> 00:16:11,820 in ihrer Gesamtheit und nehmen Verknüpfungen mit anderen Wörtern. 394 00:16:11,820 --> 00:16:13,260 Aber "ln" ist Linie, so Druckzeile. 395 00:16:13,260 --> 00:16:17,370 So ist es druckt "Hallo World! "Durch eine neue Linie gefolgt. 396 00:16:17,370 --> 00:16:18,300 >> So, das war es. 397 00:16:18,300 --> 00:16:21,150 Aber Java ist, was sie Anruf objektorientiert. 398 00:16:21,150 --> 00:16:23,440 Und in der Tat, nur zu geben, paar andere Definitionen 399 00:16:23,440 --> 00:16:26,420 dort, dass Sie vielleicht siehe im Allgemeinen dort 400 00:16:26,420 --> 00:16:30,600 gibt viele verschiedene Arten von Sprachen, aber die am häufigsten 401 00:16:30,600 --> 00:16:37,830 Sprachen sind verfahrens- oder zwingend notwendig. 402 00:16:37,830 --> 00:16:41,600 Es gibt funktionelle Sprachen, die nicht der Fall ist 403 00:16:41,600 --> 00:16:43,790 bedeuten, dass andere nicht funktionsfähig sind. 404 00:16:43,790 --> 00:16:47,740 Und dann ist da objektorientierten Sprachen. 405 00:16:47,740 --> 00:16:51,170 Und dies ist vielleicht der beste Kategorisierung der meisten Sprachen 406 00:16:51,170 --> 00:16:56,445 dass Sie jemals für Art wählen eines typischen kommerziellen Projekt. 407 00:16:56,445 --> 00:16:58,910 >> Das wäre zu viel, Ich denke, von einer Ratte Loch 408 00:16:58,910 --> 00:17:01,620 zu gehen, um zu versuchen, zu erklären, die verschiedenen Unterschiede. 409 00:17:01,620 --> 00:17:04,599 Aber die Sprachen wir haben also far-- C gesehen 410 00:17:04,599 --> 00:17:07,680 ist eine prozedurale oder ein imperative Sprache. 411 00:17:07,680 --> 00:17:11,200 In jüngster Zeit erfunden Sprachen neigen, sorry zu sein, 412 00:17:11,200 --> 00:17:14,430 objektorientiert, was bedeutet, sie haben andere Funktionen zu ihnen. 413 00:17:14,430 --> 00:17:18,130 414 00:17:18,130 --> 00:17:19,430 Kann ich es auf diese Weise zu erklären? 415 00:17:19,430 --> 00:17:20,950 Lassen Sie uns nicht einmal dort unten gehen. 416 00:17:20,950 --> 00:17:25,200 >> Objektorientierte Mittel Sie können implement-- 417 00:17:25,200 --> 00:17:27,930 Sie können die reale Welt modellieren ein wenig effektiv. 418 00:17:27,930 --> 00:17:29,722 Die Menschheit, im Laufe der Zeit, herausgefunden hat, wow, 419 00:17:29,722 --> 00:17:32,430 es wäre, wenn meine Sprache schön diese Funktion hatte oder diese Funktion. 420 00:17:32,430 --> 00:17:34,830 Und das ist, warum wir so haben viele Sprachen der Welt. 421 00:17:34,830 --> 00:17:37,670 Vernünftige Leute, smart Menschen, zustimmen oder nicht zustimmen 422 00:17:37,670 --> 00:17:41,000 und immer kommen Art zusammen auf Entwicklung alle zusammen, um neue Sprachen. 423 00:17:41,000 --> 00:17:41,660 >> Case in point. 424 00:17:41,660 --> 00:17:45,260 Apple-erfunden Swift in Hoffnungen vermutlich senken 425 00:17:45,260 --> 00:17:47,950 die Bar zu iPhone-Entwicklung, weil die vorherige language-- 426 00:17:47,950 --> 00:17:51,080 Objective-C genannt, was könnte auch auf unserer Liste sein hier-- 427 00:17:51,080 --> 00:17:54,190 war viel mehr obskure und viel härter um seinen Geist zu wickeln. 428 00:17:54,190 --> 00:17:57,690 Und wie die Programmierung immer wohl zugänglicher und im Großen und Ganzen 429 00:17:57,690 --> 00:18:00,580 von den Menschen angenommen sogar weniger technische, die goal-- 430 00:18:00,580 --> 00:18:04,160 es ist ein sehr tapferer Ziel zu versuchen, die Eintrittsbarriere senken, indem sie 431 00:18:04,160 --> 00:18:07,400 die Sprachen selbst einfacher, mit zu beginnen, 432 00:18:07,400 --> 00:18:09,430 aber nicht weniger mächtig unbedingt. 433 00:18:09,430 --> 00:18:10,560 >> Und noch eine andere Sprache. 434 00:18:10,560 --> 00:18:14,110 Warum nehmen wir nicht einen Blick an so etwas wie Python, 435 00:18:14,110 --> 00:18:18,090 die sehr in Mode ist in diesen Tagen. 436 00:18:18,090 --> 00:18:19,570 Python. 437 00:18:19,570 --> 00:18:20,464 Beispielprogramm. 438 00:18:20,464 --> 00:18:24,600 439 00:18:24,600 --> 00:18:26,700 Mal schauen. 440 00:18:26,700 --> 00:18:28,790 "Hallo Welt" Sprachen. 441 00:18:28,790 --> 00:18:30,180 Lass uns das machen. 442 00:18:30,180 --> 00:18:33,625 "Hallo Welt." 443 00:18:33,625 --> 00:18:35,375 Mal sehen, ob das gibt uns ein schönes Beispiel. 444 00:18:35,375 --> 00:18:39,450 445 00:18:39,450 --> 00:18:39,950 OK. 446 00:18:39,950 --> 00:18:41,283 Also das ist eigentlich ganz lustig. 447 00:18:41,283 --> 00:18:43,330 Also, wenn Sie jemals google "Hallo Welt", die 448 00:18:43,330 --> 00:18:47,000 passiert eine der ersten Programme zu sein jemals in einer modernen Sprache geschrieben, 449 00:18:47,000 --> 00:18:51,830 nur als Proof of Concept, können Sie sehen, alle möglichen Implementierungen davon. 450 00:18:51,830 --> 00:18:54,240 >> Einige dieser Sprachen Ich habe nicht einmal gehört. 451 00:18:54,240 --> 00:18:59,770 Aber man kann das auf Basis gehen see-- lassen, die, die ich vor Jahren gelernt, teilweise. 452 00:18:59,770 --> 00:19:02,720 Das war ein Spaß Sprache, weil Sie musste, wie der Programmierer, die Anzahl 453 00:19:02,720 --> 00:19:03,710 alle Ihre Leitungen. 454 00:19:03,710 --> 00:19:05,626 Nicht anders als was ich tun, wenn ich schrieb 455 00:19:05,626 --> 00:19:08,380 Pseudo-Code auf dem gelben Dokument früher für binäre Suche, 456 00:19:08,380 --> 00:19:09,580 für ein Telefonbuch zu suchen. 457 00:19:09,580 --> 00:19:11,810 >> Und so, wenn man wollte gehen auf eine andere Linie, 458 00:19:11,810 --> 00:19:15,780 Sie würden buchstäblich geben, gehen bis 10, oder gehen Sie zu 20. 459 00:19:15,780 --> 00:19:19,110 Und wenn Sie schreiben Linien, die Konvention war zu tun, das ist die Leitung 10, 460 00:19:19,110 --> 00:19:22,545 Diese Linie 20 ist, ist diese Linie 30, 40, dazwischen gibt es nichts, 461 00:19:22,545 --> 00:19:25,170 geben damit sich etwas Raum wenn Sie sich entscheiden, eine Minute warten, 462 00:19:25,170 --> 00:19:27,230 Ich sollte einige hinzugefügt haben mehr Code irgendwo. 463 00:19:27,230 --> 00:19:30,960 Sie hatte immer noch Art von neun Chancen quetschen, dass zwischen Ihrem Programm 464 00:19:30,960 --> 00:19:33,020 bevor Sie manuell musste nummerieren alles. 465 00:19:33,020 --> 00:19:35,470 >> Also das ist eine Art, was ich meine wenn ich die Welt sagen hat kommen 466 00:19:35,470 --> 00:19:36,303 mit neuen Funktionen. 467 00:19:36,303 --> 00:19:39,364 Irgendwo auf dem Weg jemand realisiert, Junge das ist dumm. 468 00:19:39,364 --> 00:19:41,280 Dies ist nur zu schaffen Arbeit für den Programmierer. 469 00:19:41,280 --> 00:19:44,200 So er oder sie nur eine Art gebaut eine neue Schicht oben auf, dass 470 00:19:44,200 --> 00:19:46,910 so dass Sie sich keine Sorgen zu machen über das, was Zeilennummern Code 471 00:19:46,910 --> 00:19:48,570 tatsächlich eingeschaltet ist. 472 00:19:48,570 --> 00:19:54,940 >> Also, wenn Sie sich dazu entscheiden könnten eine Sprache oder eine andere? 473 00:19:54,940 --> 00:19:56,690 Nun, welche davon Sprachen tun Sie neigen dazu, 474 00:19:56,690 --> 00:20:00,960 zu hören, über die am meisten Ihre eigene Welt in diesen Tagen? 475 00:20:00,960 --> 00:20:02,680 Lassen Sie uns zu Objective-C Dropdown. 476 00:20:02,680 --> 00:20:06,416 477 00:20:06,416 --> 00:20:07,739 >> PUBLIKUM: C #. 478 00:20:07,739 --> 00:20:08,530 DAVID J. MALAN: C #. 479 00:20:08,530 --> 00:20:10,310 Also lassen Sie mich Farbe. 480 00:20:10,310 --> 00:20:13,190 Haben wir unsere anderen Farbe irgendwo haben? 481 00:20:13,190 --> 00:20:14,550 So C #. 482 00:20:14,550 --> 00:20:16,390 Und was wissen Sie über C #? 483 00:20:16,390 --> 00:20:18,940 Alles, was in den Sinn? 484 00:20:18,940 --> 00:20:20,707 >> PUBLIKUM: Es ist eine Programmiersprache. 485 00:20:20,707 --> 00:20:22,540 DAVID J. MALAN: Es ist ein Programmiersprache. 486 00:20:22,540 --> 00:20:23,200 OK. 487 00:20:23,200 --> 00:20:24,690 Das ist wahr. 488 00:20:24,690 --> 00:20:26,440 Also reden wir über C #. 489 00:20:26,440 --> 00:20:29,230 C # neigt dazu verwendet werden, in Windows-Umgebungen 490 00:20:29,230 --> 00:20:33,550 also, wenn Sie das Schreiben von Microsoft-Software für Windows ist C # sehr häufig verwendet, 491 00:20:33,550 --> 00:20:38,560 ob es für Desktop-Software oder sogar Telefon-Software auf Windows-Handys, 492 00:20:38,560 --> 00:20:41,820 wenn Sie diejenigen gehabt haben, oder im Internet sogar zu. 493 00:20:41,820 --> 00:20:44,642 Und in der Tat, vielleicht Kareem genannten ASP früher? 494 00:20:44,642 --> 00:20:46,600 Also gibt es auch diese Dinge genannt Rahmen, 495 00:20:46,600 --> 00:20:51,040 die wir durch die Erweiterung vorstellen. 496 00:20:51,040 --> 00:20:53,280 Frameworks, wie ASP. 497 00:20:53,280 --> 00:20:55,740 Steht für Active Server Pages. 498 00:20:55,740 --> 00:20:59,880 Und das ist Code und eine Möglichkeit der Programmierung 499 00:20:59,880 --> 00:21:03,490 das macht es im Allgemeinen einfacher Web-basierte Anwendungen zu schreiben. 500 00:21:03,490 --> 00:21:07,530 Mit anderen Worten, es wäre super, Super ärgerlich, eine Website zu schreiben 501 00:21:07,530 --> 00:21:09,469 in der Sprache C, dass Wir haben gesehen, 502 00:21:09,469 --> 00:21:12,510 weil Sie würden print + F zu verwenden, Sie würden dieses Schlüsselwort verwenden müssen 503 00:21:12,510 --> 00:21:13,940 "Main" und die geschweiften Klammern. 504 00:21:13,940 --> 00:21:16,720 Viele obskure Syntax und Ansatz zu implementieren 505 00:21:16,720 --> 00:21:19,195 etwas, das ziemlich komplex ist. 506 00:21:19,195 --> 00:21:20,240 Eine Web-Seite. 507 00:21:20,240 --> 00:21:23,800 >> Und so anderen Sprachen haben sich weiterentwickelt so etwas leichter zu machen. 508 00:21:23,800 --> 00:21:26,890 Und wiederum haben die Menschen kommen mit Rahmen, eine Art von Werkzeugen 509 00:21:26,890 --> 00:21:30,520 dass Sie, dass es machen verwenden noch einfacher Web-Seiten zu schreiben. 510 00:21:30,520 --> 00:21:33,070 So zum Beispiel, zu machen dies viel konkreter, 511 00:21:33,070 --> 00:21:36,390 lassen Sie mich öffnen, nur ein Textdatei für einen Moment. 512 00:21:36,390 --> 00:21:39,380 >> Und Sie könnten gestern erinnern dass wir etwas gesagt 513 00:21:39,380 --> 00:21:41,210 wie, das ist eine Web-Seite. 514 00:21:41,210 --> 00:21:42,300 HTML. 515 00:21:42,300 --> 00:21:45,340 Schließen HTML. 516 00:21:45,340 --> 00:21:48,500 Lassen Sie mich den Kopf überspringen und nur tun, um den Körper hier. 517 00:21:48,500 --> 00:21:52,810 Nehmen wir an, ich wollte Schreiben Sie nicht "Hallo Welt" 518 00:21:52,810 --> 00:21:57,020 aber "Hallo David," wo David ist die Name des aktuell angemeldeten Benutzers. 519 00:21:57,020 --> 00:22:00,270 Was etwas wie ASP tun wird, oder JSP-- 520 00:22:00,270 --> 00:22:04,060 die Java-Server pages-- oder eine beliebige Anzahl von anderen Frameworks 521 00:22:04,060 --> 00:22:05,435 ist sie per se nicht Sprachen sind. 522 00:22:05,435 --> 00:22:07,351 Sie sind genau wie zusätzliche Software, die Sie 523 00:22:07,351 --> 00:22:10,490 würde installieren in Ihre Umgebung dass nur machen es einfacher zu programmieren. 524 00:22:10,490 --> 00:22:15,670 >> So zum Beispiel, anstatt zu tun haben, so etwas wie "Hallo, printf (" David ")" 525 00:22:15,670 --> 00:22:17,510 oder etwas, das ist Art von Co-mingling-- 526 00:22:17,510 --> 00:22:20,840 die Art von Code, den wir gesehen haben before-- Sie würde etwas viel einfacher machen, 527 00:22:20,840 --> 00:22:26,190 wie "name%." 528 00:22:26,190 --> 00:22:28,660 Und so sind diese Rahmenbedingungen, wie ASP-- und ich 529 00:22:28,660 --> 00:22:31,212 kann mich nicht erinnern, ob ich immer die Syntax genau das Richtige für ASP. 530 00:22:31,212 --> 00:22:33,100 JSP ist ein little-- dies richtig ist? 531 00:22:33,100 --> 00:22:36,500 >> Also mit ASP, das ist Art eine spezielle Syntax 532 00:22:36,500 --> 00:22:39,830 dass einige Entwickler haben sich entschieden, Dies könnte dazu beitragen, die Menschen aus. 533 00:22:39,830 --> 00:22:43,000 Und ich kann kurz und bündig auszudrücken Platzhalter, zum Beispiel. 534 00:22:43,000 --> 00:22:47,187 setzen wie hier einen Wert, wo dieser Wert Name ist nicht N-A-M-E, 535 00:22:47,187 --> 00:22:48,520 es ist etwas Wert in dort gespeichert. 536 00:22:48,520 --> 00:22:50,728 So "Name", in diesem Zusammenhang, wir würden eine Variable nennen. 537 00:22:50,728 --> 00:22:52,760 Algebra hat Variablen wie x und y, und z. 538 00:22:52,760 --> 00:22:56,021 Programmierer verwenden Variablen, die sind mehr beschreibend als x, y und z, 539 00:22:56,021 --> 00:22:56,520 typisch. 540 00:22:56,520 --> 00:23:01,020 So "name" würde buchstäblich eine Art sein Speicherbehälter für so etwas wie 541 00:23:01,020 --> 00:23:05,440 D-A-V-I-D, für meinen Namen, oder wer auch immer sonst wird in der Website angemeldet. 542 00:23:05,440 --> 00:23:09,300 >> Und so ist dies die Art von Komfort Sie bekommen mit bestimmten Umgebungen. 543 00:23:09,300 --> 00:23:14,220 So C # und so etwas wie ASP würde sehr üblicherweise in einer Windows-Welt verwendet werden, 544 00:23:14,220 --> 00:23:16,460 ob für seine Desktop Software oder Web-Server, 545 00:23:16,460 --> 00:23:21,490 vor allem, wenn Ihre Server sind wiederum Microsoft Windows und Microsoft 546 00:23:21,490 --> 00:23:25,810 IIS-- oder Internet Information Server, wenn ich das Akronym bekommen right-- 547 00:23:25,810 --> 00:23:27,800 Das ist Microsofts Web-Server. 548 00:23:27,800 --> 00:23:30,820 >> Also, was andere Sprachen sind Leute kennen, 549 00:23:30,820 --> 00:23:35,228 oder haben Sie schon gehört von mehr als oft nicht? 550 00:23:35,228 --> 00:23:38,262 >> PUBLIKUM: Ich weiß, dass Python Art eines beliebten [unverständlich]. 551 00:23:38,262 --> 00:23:39,470 DAVID J. MALAN: Sehr beliebt. 552 00:23:39,470 --> 00:23:45,490 So Python hier wird sehr häufig verwendet, in wissenschaftlichen Anwendungen oder Daten 553 00:23:45,490 --> 00:23:48,330 Wissenschaft, wo Sie eine Menge haben von Daten, die Sie analysieren möchten 554 00:23:48,330 --> 00:23:50,413 und Sie wollen ein zu verwenden Programmiersprache dafür. 555 00:23:50,413 --> 00:23:53,640 R könnte die üblicherweise für die verwendet werden Auch in einem statistischen Zusammenhang. 556 00:23:53,640 --> 00:23:56,400 Aber Python hat so viele Features eingebaut. 557 00:23:56,400 --> 00:23:58,850 So viele zusätzliche Bibliotheken, wie die Leute sagen. 558 00:23:58,850 --> 00:24:01,260 >> Bibliotheken sind nur Sammlungen von Code, dass andere Menschen 559 00:24:01,260 --> 00:24:04,218 schrieb, dass Sie so, dass Sie verwenden können, müssen nicht jene Räder neu erfinden. 560 00:24:04,218 --> 00:24:07,430 Und so ist Python sehr häufig in Daten-Science-Anwendungen eingesetzt. 561 00:24:07,430 --> 00:24:09,930 Aber es ist auch sehr häufig in Web-Anwendungen eingesetzt. 562 00:24:09,930 --> 00:24:12,780 Sie können ein dynamisches implementieren Website mit Python. 563 00:24:12,780 --> 00:24:15,210 >> Und durch dynamische Website, ich bedeutet nicht nur statische Inhalte 564 00:24:15,210 --> 00:24:19,530 wie wir erstellt gestern, von nur harte Kodierung im lateinischen Text 565 00:24:19,530 --> 00:24:21,820 und andere solche Dinge, sondern die Fähigkeit, 566 00:24:21,820 --> 00:24:25,367 anmelden, kaufen die Fähigkeit, etwas, die Fähigkeit zu überprüfen 567 00:24:25,367 --> 00:24:26,950 mit Ihrem Einkaufswagen, oder dergleichen. 568 00:24:26,950 --> 00:24:30,590 All das erfordert Dynamik und Sie müssen einige Sprache wie eine von ihnen. 569 00:24:30,590 --> 00:24:35,060 >> PUBLIKUM: So hat Python haben ihre eigenen Erweiterung ähnlich wie [unverständlich] 570 00:24:35,060 --> 00:24:36,060 DAVID J. MALAN: Es tut. 571 00:24:36,060 --> 00:24:42,250 So in der Welt der Python, Django ist ein sehr beliebter Rahmen für Python. 572 00:24:42,250 --> 00:24:46,520 WSGI ist ein weiterer Mechanismus, der ist Art verschieden ist 573 00:24:46,520 --> 00:24:47,640 aber im Geiste. 574 00:24:47,640 --> 00:24:52,200 Es ist ein Add-on, mit dem Sie Python-Code auf einem Server ausgeführt werden. 575 00:24:52,200 --> 00:24:53,950 Es gibt other-- ja. 576 00:24:53,950 --> 00:24:57,250 So werden diese wir Rahmenbedingungen nennen. 577 00:24:57,250 --> 00:24:58,870 Und es ist ein bisschen von einem Missbrauch. 578 00:24:58,870 --> 00:25:00,920 Dies ist eher ein Web-Server-Technologie. 579 00:25:00,920 --> 00:25:04,610 Aber wir werden es einfach zu halten und setzen es in dieser Spalte dennoch. 580 00:25:04,610 --> 00:25:05,780 >> OK. 581 00:25:05,780 --> 00:25:07,850 WSGI. 582 00:25:07,850 --> 00:25:09,020 WSGI. 583 00:25:09,020 --> 00:25:12,100 Ein weiterer thing-- und tatsächlich lassen mich zu bewegen, dass seine eigene Spalte, 584 00:25:12,100 --> 00:25:17,000 denn ich würde mich schreien für sie in der gleichen Eimer setzen. 585 00:25:17,000 --> 00:25:24,910 Setzen wir dies in Server Funktionen, lassen Sie uns sagen. 586 00:25:24,910 --> 00:25:26,710 Das ist kein technischer Begriff. 587 00:25:26,710 --> 00:25:29,180 >> So, hier könnten wir WSGI sein. 588 00:25:29,180 --> 00:25:32,580 Es gibt CGI, das ist ein älteres Technik für Sprachen serviert 589 00:25:32,580 --> 00:25:35,890 wie Perl oder PHP, oder einige andere. 590 00:25:35,890 --> 00:25:39,000 Auch hier habe ich diese Begriffe erwähnt nicht so sehr, sie Art von Raufaser zu, 591 00:25:39,000 --> 00:25:40,749 aber so, dass, wenn Sie sehen, sie ist es etwas 592 00:25:40,749 --> 00:25:42,130 Sie google einfach mehr lesen. 593 00:25:42,130 --> 00:25:46,110 Es gibt keinen wirklichen Saft um einige dieser Dinge. 594 00:25:46,110 --> 00:25:47,850 >> Aber lassen Sie uns auf die Sprachen zurückgehen. 595 00:25:47,850 --> 00:25:50,499 Wir sprachen über C #, Python. 596 00:25:50,499 --> 00:25:52,790 Was sonst könnten Sie verwenden für Web-Programmierung in diesen Tagen? 597 00:25:52,790 --> 00:25:54,302 Konzentrieren wir uns auf das immer noch. 598 00:25:54,302 --> 00:25:55,247 >> PUBLIKUM: PHP. 599 00:25:55,247 --> 00:25:56,080 DAVID J. MALAN: PHP. 600 00:25:56,080 --> 00:25:57,413 Und lassen Sie uns wieder auf, dass ein. 601 00:25:57,413 --> 00:25:59,310 So PHP ist sehr häufig verwendet. 602 00:25:59,310 --> 00:26:01,560 PHP neigt dazu, einen schlechten Ruf zu bekommen. 603 00:26:01,560 --> 00:26:05,790 Es begann als eine Sprache umgesetzt von Leuten, die vielleicht nicht unbedingt waren 604 00:26:05,790 --> 00:26:06,960 die besten Sprachdesigner. 605 00:26:06,960 --> 00:26:11,290 Und so können Sie alle Arten von lesen Artikel online darüber, wie schlecht PHP ist. 606 00:26:11,290 --> 00:26:13,660 Und das ist leider eine Manifestation, zum Teil, 607 00:26:13,660 --> 00:26:18,727 nur die religiösen Debatten dass unter Programmierern ausbrechen. 608 00:26:18,727 --> 00:26:20,560 Und das ist etwas, Wert im Auge behalten, 609 00:26:20,560 --> 00:26:24,410 aus betriebswirtschaftlicher Sicht, dass es ist sehr einfach für technische Menschen 610 00:26:24,410 --> 00:26:26,900 bekommen alle arbeiteten mit ihren Meinungen über bestimmte Dinge. 611 00:26:26,900 --> 00:26:29,566 Und es bedeutet nicht unbedingt, dass die eine schreien am lautesten 612 00:26:29,566 --> 00:26:31,870 oder mit dem stärksten, angriest Meinung ist richtig. 613 00:26:31,870 --> 00:26:34,100 Eine Menge Zeit, es ist wirklich nur keine Rolle spielt. 614 00:26:34,100 --> 00:26:37,970 >> Und so sind die Menschen nur streiten was auch immer ihre eigenen Vorurteile oder Komfortzonen sind. 615 00:26:37,970 --> 00:26:40,760 Und so sollten Sie halten dass im Sinn, als zu machen 616 00:26:40,760 --> 00:26:42,622 eine Entscheidung, dass nur weil jemand sagt, 617 00:26:42,622 --> 00:26:45,080 dies ist die richtige Sprache für die Aufgabe, das könnte wahr sein, 618 00:26:45,080 --> 00:26:48,350 aber es könnte auch einfach sein, es ist die richtige Sprache innerhalb ihrer eigenen Fähigkeiten 619 00:26:48,350 --> 00:26:49,267 gesetzt oder Komfortzone. 620 00:26:49,267 --> 00:26:52,600 Welche ist nicht schlecht, aber Sie sollten erkennen, dass es vielleicht einige Kontext da sein. 621 00:26:52,600 --> 00:26:54,440 Es gibt einige objektiv falsche Angaben, 622 00:26:54,440 --> 00:26:59,080 wie C die falsche Sprache zu bedienen in diesen Tagen für die Durchführung Websites 623 00:26:59,080 --> 00:27:00,520 fast immer. 624 00:27:00,520 --> 00:27:03,370 Aber es ist nicht unvernünftig zu sagen, dass diese alle 625 00:27:03,370 --> 00:27:05,700 falsch sind, dass wir so weit eingekreist haben. 626 00:27:05,700 --> 00:27:08,180 >> PHP hat viele Versionen gegangen. 627 00:27:08,180 --> 00:27:11,310 So neigen Sprachen Version zu haben Zahlen mit ihnen verbunden sind. 628 00:27:11,310 --> 00:27:15,390 PHP ist bis, glaube ich, Version 7 jetzt, so ist es schon seit geraumer Zeit. 629 00:27:15,390 --> 00:27:18,270 Und wie Sprachen erhalten neuere, sie bekommen oft neue Funktionen. 630 00:27:18,270 --> 00:27:22,510 Aber man muss darauf achten, diese denn wenn Ihre Website hat 631 00:27:22,510 --> 00:27:27,539 in der Version 7 von PHP implementiert, aber Sie versuchen, Ihre Website zu laufen, 632 00:27:27,539 --> 00:27:29,830 oder vielleicht ausgelagert haben Sie die Entwicklung des Codes 633 00:27:29,830 --> 00:27:31,960 an jemand anderen und sie versenden es Ihnen oder senden es Ihnen 634 00:27:31,960 --> 00:27:33,960 und sie sagen, hier, setzen diese auf Ihrem Webserver, 635 00:27:33,960 --> 00:27:36,610 wenn Ihr Web-Server ist ein paar Jahre outdated--, ob es 636 00:27:36,610 --> 00:27:39,465 Ihrem eigenen Server oder einen Web-host-- es könnte nicht wirklich laufen. 637 00:27:39,465 --> 00:27:41,340 Das sind also die Arten der Dinge, dass jemand 638 00:27:41,340 --> 00:27:44,067 muss darauf achten, bei der Aktualisierung einer Website 639 00:27:44,067 --> 00:27:45,650 oder es zum ersten Mal implementiert. 640 00:27:45,650 --> 00:27:46,900 >> Ich habe gehört, JavaScript früher. 641 00:27:46,900 --> 00:27:50,570 So ist JavaScript eine interessante dadurch, dass es im Allgemeinen 642 00:27:50,570 --> 00:27:53,030 Client-Seite, wie wir sehen werden nach der Pause, die 643 00:27:53,030 --> 00:27:55,000 bedeutet es, in den Browser des Benutzers ausgeführt wird. 644 00:27:55,000 --> 00:27:58,400 Sie können aber auch laufen JavaScript in diesen Tagen 645 00:27:58,400 --> 00:28:03,450 mit so etwas genannt Node.js, wo Node.js 646 00:28:03,450 --> 00:28:08,000 ist ein Mechanismus zur laufenden JavaScript-Code Server-Seite, 647 00:28:08,000 --> 00:28:12,430 anstelle der Verwendung von Python, oder PHP oder andere solche Sprachen. 648 00:28:12,430 --> 00:28:17,820 >> JavaScript ist besonders gut geeignet Chat-Anwendungen und Echtzeit 649 00:28:17,820 --> 00:28:22,050 Anwendungen, während PHP kein großer ist Sprache für etwas Umsetzung 650 00:28:22,050 --> 00:28:25,050 wie ein Chat-Server, wo die Nutzer bleiben ständig mit diesem verbunden. 651 00:28:25,050 --> 00:28:28,760 PHP ist eher ein Besuch mich einmal, erhalten ein Ergebnis zurück, 652 00:28:28,760 --> 00:28:31,790 und dann einen anderen Link klicken einige Sekunden oder Minuten ab jetzt. 653 00:28:31,790 --> 00:28:36,020 Während Node.js und JavaScript kann sein mehr für persistente Verbindungen verwendet. 654 00:28:36,020 --> 00:28:40,840 Andere Sprachen, die Sie vermuten, werden häufig für Web-Material verwendet? 655 00:28:40,840 --> 00:28:42,800 >> PUBLIKUM: Würde jQuery ein Rahmen sein? 656 00:28:42,800 --> 00:28:44,050 >> DAVID J. MALAN: Gute Frage. 657 00:28:44,050 --> 00:28:44,700 Weder. 658 00:28:44,700 --> 00:28:51,210 Ich würde nennen jQuery eine Bibliothek, wo eine Bibliothek wieder ist nur ein Haufen von Code 659 00:28:51,210 --> 00:28:53,250 dass jemand anderes hat geschrieben, dass im Allgemeinen 660 00:28:53,250 --> 00:28:56,390 löst einige Probleme, die hoffentlich erlaubt es, leichter 661 00:28:56,390 --> 00:28:57,760 für Sie, Ihre Arbeit zu tun. 662 00:28:57,760 --> 00:29:00,820 Und lassen Sie mich tun ein Beispiel Diese im Rahmen der Bahn. 663 00:29:00,820 --> 00:29:03,910 >> Im Rahmen der Bahn gibt es Diese Sprache, JavaScript, 664 00:29:03,910 --> 00:29:06,690 dass wir später sehen, wobei Sie könnte sagen, so etwas wie this-- 665 00:29:06,690 --> 00:29:10,060 "Document.getElementById." 666 00:29:10,060 --> 00:29:11,490 Und was nenne ich es gestern? 667 00:29:11,490 --> 00:29:16,800 Erstens glaube ich, war die eindeutige ID Ich habe zu einem Element, das so aussah. 668 00:29:16,800 --> 00:29:23,110 "P id =" first ">" und dann hatten wir wie "Lorem Ipsum", und so weiter. 669 00:29:23,110 --> 00:29:28,210 Also, wenn ich schrieben ein Programm in JavaScript, um irgendwie zu manipulieren, 670 00:29:28,210 --> 00:29:30,830 ändern die Webseiten, die wir mit gestern spielten, 671 00:29:30,830 --> 00:29:33,010 Ich würde verwenden diese markierte Codezeile 672 00:29:33,010 --> 00:29:38,700 dass bestimmte HTML-Snippet zu bekommen von meiner Seite, dass bestimmte Knoten, 673 00:29:38,700 --> 00:29:39,680 wie wir es nennen. 674 00:29:39,680 --> 00:29:44,540 >> Doch in jQuery, statt zu schreiben diese, die roh JavaScript code-- ist 675 00:29:44,540 --> 00:29:48,870 gerade aus der Box, das ist, wie Sie schreiben es-- Sie stattdessen einfach sagen würde, 676 00:29:48,870 --> 00:29:50,260 "#zuerst." 677 00:29:50,260 --> 00:29:52,330 Das entspricht. 678 00:29:52,330 --> 00:29:56,040 Und so basiert nur auf diesem arkanen Beispiel, was vielleicht 679 00:29:56,040 --> 00:29:57,870 ist das Argument jQuery für den Einsatz? 680 00:29:57,870 --> 00:30:01,390 681 00:30:01,390 --> 00:30:05,111 Warum verwenden würde ein Entwickler eine Bibliothek wie jQuery, basierend auf diesem Einzelbeispiel, 682 00:30:05,111 --> 00:30:05,610 vielleicht? 683 00:30:05,610 --> 00:30:06,335 >> PUBLIKUM: Weniger Code. 684 00:30:06,335 --> 00:30:06,780 >> DAVID J. MALAN: Ja. 685 00:30:06,780 --> 00:30:07,530 Es ist weniger Code. 686 00:30:07,530 --> 00:30:09,070 Es ist einfach schneller tippen. 687 00:30:09,070 --> 00:30:11,690 Der Kontrapunkt ist dass es aussieht erschreckender. 688 00:30:11,690 --> 00:30:13,540 Man kann nicht wirklich lesen Sie es links nach rechts. 689 00:30:13,540 --> 00:30:16,730 In der Tat, denn es ist vor allem Interpunktion jetzt anstelle der tatsächlichen Worte, 690 00:30:16,730 --> 00:30:20,950 Ich kann Art ableiten davon "Document.getElementById" bekommt 691 00:30:20,950 --> 00:30:23,640 ein Element, das aus dem Dokument durch seine ID. 692 00:30:23,640 --> 00:30:26,750 Ich kann wirklich nicht so verwenden Mnemotechnik von dieser Sache hier. 693 00:30:26,750 --> 00:30:27,680 >> So ist es ein Kompromiss. 694 00:30:27,680 --> 00:30:30,763 Es gibt eine Raffinesse, die kommt oft mit Bibliotheken, insbesondere 695 00:30:30,763 --> 00:30:31,440 wie jQuery. 696 00:30:31,440 --> 00:30:34,700 Aber die Realität ist jQuery hat Art von sich zu einem De-facto-Standard, 697 00:30:34,700 --> 00:30:38,110 so dass fast jeder diese Tage, die JavaScript-Code schreibt 698 00:30:38,110 --> 00:30:41,520 nutzt jQuery oder etwas wie sie, und nicht mehr schreibt 699 00:30:41,520 --> 00:30:45,200 eine solche ausführliche Ausdrücke wie dies, weil wieder die Menschheit 700 00:30:45,200 --> 00:30:47,850 hat gelernt, wow, das war Art eine verpasste Gelegenheit 701 00:30:47,850 --> 00:30:49,030 unser Leben einfacher zu machen. 702 00:30:49,030 --> 00:30:51,140 So Menschen machen ihr Leben einfacher. 703 00:30:51,140 --> 00:30:53,310 Gute Frage. 704 00:30:53,310 --> 00:30:55,870 >> Andere Sprachen zu berücksichtigen. 705 00:30:55,870 --> 00:30:58,660 Ich würde unter diesen sagen Liste Ruby ist sehr beliebt. 706 00:30:58,660 --> 00:31:01,310 Und so in der Welt der Rubin, gibt es einen Rahmen 707 00:31:01,310 --> 00:31:03,590 genannt Rails, die sehr beliebt ist. 708 00:31:03,590 --> 00:31:06,880 So Ruby on Rails ist ein häufig verwendete Ausdruck. 709 00:31:06,880 --> 00:31:10,330 Auch in dieser Welt, lassen Sie mich Kreis Java für Web-Zeug, 710 00:31:10,330 --> 00:31:14,160 wo in der Welt von Java Sie könnten JSP oder Java 711 00:31:14,160 --> 00:31:18,450 Servlets, die eine gemeinsame Technologie. 712 00:31:18,450 --> 00:31:22,560 Und das ist nur wieder Möglichkeiten der Verwendung von dass die Sprache in einer Server-Umgebung. 713 00:31:22,560 --> 00:31:23,520 >> Also, was bedeutet das? 714 00:31:23,520 --> 00:31:25,770 Wenn Sie eine physische haben Server, würden Sie buchstäblich 715 00:31:25,770 --> 00:31:30,510 Laden Sie die Web-Server-Software und installieren so 716 00:31:30,510 --> 00:31:33,510 dass Sie Unterstützung haben für eine der diese Frameworks, mit dem Sie 717 00:31:33,510 --> 00:31:37,260 wiederum ein verwenden könnte, oder mehrere dieser Sprachen. 718 00:31:37,260 --> 00:31:40,260 Und in Wirklichkeit, wenn Sie sich für wie ein Web-Host oder ein Teil der Wolke 719 00:31:40,260 --> 00:31:41,968 Dienstleistungen, die wir sprachen gestern, oft 720 00:31:41,968 --> 00:31:44,885 das Zeug kommt nur mit der Maschine Konfiguration für Sie. 721 00:31:44,885 --> 00:31:46,510 Sie müssen nicht manuell einzurichten. 722 00:31:46,510 --> 00:31:51,040 Aber wenn Sie getan haben, das ist, wo die Rolle von Systemadministrator, so zu sprechen, 723 00:31:51,040 --> 00:31:51,860 kommt ins Spiel. 724 00:31:51,860 --> 00:31:54,151 Er oder sie würde tatsächlich tun diese Art von Material für Sie, 725 00:31:54,151 --> 00:31:58,510 oder die sogenannte Webmaster würde für Sie oft tun. 726 00:31:58,510 --> 00:31:59,010 Gut. 727 00:31:59,010 --> 00:32:03,300 Irgendwelche Fragen zu einigen dieser hier? 728 00:32:03,300 --> 00:32:06,690 Oder irgendwelche Chancen auf alles um Sprachen zu fragen? 729 00:32:06,690 --> 00:32:09,500 Frameworks? 730 00:32:09,500 --> 00:32:11,530 Dann lassen Sie mich nur eine andere Bibliothek 731 00:32:11,530 --> 00:32:13,150 das ist auch in diesen Tagen sehr häufig. 732 00:32:13,150 --> 00:32:15,340 Diese Liste könnte unendlich weitergehen. 733 00:32:15,340 --> 00:32:19,140 >> Und diese Bibliothek ist eine Art Start in Ungnade zu fallen. 734 00:32:19,140 --> 00:32:19,850 Es ist herum gewesen. 735 00:32:19,850 --> 00:32:22,040 Es wurde populär durch Twittern für einige Zeit. 736 00:32:22,040 --> 00:32:24,470 Und jetzt viele Websites, viele Entwickler nutzen es. 737 00:32:24,470 --> 00:32:26,629 Aber neue Dinge kommen entlang und kommen. 738 00:32:26,629 --> 00:32:29,420 Aber lassen Sie mich nur einen Sinn geben was es bedeutet, eine Bibliothek zu verwenden. 739 00:32:29,420 --> 00:32:32,250 Also noch einmal, JavaScript ist eine sehr beliebte Sprache. 740 00:32:32,250 --> 00:32:35,340 CSS oder Cascading Style Sheets, wir sprachen über gestern. 741 00:32:35,340 --> 00:32:36,600 Auch das, ist allgegenwärtig. 742 00:32:36,600 --> 00:32:40,130 Niemand macht eine Webseite heute ohne Verwendung von HTML und CSS minimal. 743 00:32:40,130 --> 00:32:42,510 Aber es ist nicht immer einfach, zu tun, bestimmte Dinge. 744 00:32:42,510 --> 00:32:46,281 >> Und so lassen Sie mich zu getbootstrap.com gehen. 745 00:32:46,281 --> 00:32:46,780 Hoppla. 746 00:32:46,780 --> 00:32:48,280 Das ist nicht, wie wir buchstabieren. 747 00:32:48,280 --> 00:32:52,410 Getbootstrap.com, die wird mich führen 748 00:32:52,410 --> 00:32:56,140 auf die Zielseite für diese Bibliothek. 749 00:32:56,140 --> 00:32:59,720 So sie großzügig nennen selbst ein Rahmen, der 750 00:32:59,720 --> 00:33:02,032 ist eine Art Art Fair, aber ich würde es immer noch nennen 751 00:33:02,032 --> 00:33:03,490 mehr einer Bibliothek als ein Rahmen. 752 00:33:03,490 --> 00:33:05,760 Aber das sind nur diskutierbar Semantik. 753 00:33:05,760 --> 00:33:12,360 Lassen Sie mich auf ihre CSS Tab gehen und lassen Sie mich so zu etwas gehen. 754 00:33:12,360 --> 00:33:15,450 >> So erinnern, was unsere Formen sah wie gestern auf Cloud9? 755 00:33:15,450 --> 00:33:16,370 Es war ziemlich hässlich. 756 00:33:16,370 --> 00:33:17,320 Alte Schule Tasten. 757 00:33:17,320 --> 00:33:20,420 Ich denke, die Taste war grau von Standard. Und alles war wirklich 758 00:33:20,420 --> 00:33:22,420 ganz messily formatiert. 759 00:33:22,420 --> 00:33:26,940 Also, wenn Sie Ihre Web-Formulare aussehen soll ein wenig nicer-- lassen Sie mich hier zoomen. 760 00:33:26,940 --> 00:33:30,050 >> Und schöner ich wirklich nur bedeuten sehr pingelig Ästhetik. 761 00:33:30,050 --> 00:33:35,390 So bemerken, wie die E-Mail-Box dort hat eine abgerundete rechteckige Ecken zu. 762 00:33:35,390 --> 00:33:37,010 So ist es ein wenig sauberer da. 763 00:33:37,010 --> 00:33:40,770 Beachten Sie, dass das Wort E-Mail gibt es, bis ich die Eingabe beginnen 764 00:33:40,770 --> 00:33:41,797 und dann geht es weg. 765 00:33:41,797 --> 00:33:43,130 Also das ist ein nettes kleines Feature. 766 00:33:43,130 --> 00:33:46,046 Art Beachten Sie, wie die Sache ist, einige dieser hübsch leuchtenden, die 767 00:33:46,046 --> 00:33:49,069 erhalten kostenlos von Ihrem Browser, aber einige dieser ist auch Bibliotheken, 768 00:33:49,069 --> 00:33:51,360 Code, dass andere Leute haben geschrieben, die Ihnen diese. 769 00:33:51,360 --> 00:33:53,480 >> Etwas wie das gibt mir mein Passwort. 770 00:33:53,480 --> 00:33:58,480 Diese Schaltfläche ist ein wenig sexier als die Standard. Sehr viel im Moment im Trend. 771 00:33:58,480 --> 00:34:03,570 Seit iOS 7 oder so, die Welt hat sich sehr flach geworden, 772 00:34:03,570 --> 00:34:09,000 während die Welt zuvor viele Schlagschatten, viele 773 00:34:09,000 --> 00:34:11,040 von Reflexionen über Symbole. 774 00:34:11,040 --> 00:34:14,170 Ähnlich wie in der Kleidung Welt, gibt es Modetrends, die kommen und gehen. 775 00:34:14,170 --> 00:34:16,190 Jetzt ist alles flach auf Ihrem Handy. 776 00:34:16,190 --> 00:34:19,159 >> In der Tat, Tasten auf der iPhone sind jetzt nur noch blauen Links. 777 00:34:19,159 --> 00:34:21,000 Es kommt nicht oft sogar kreisförmige Tasten. 778 00:34:21,000 --> 00:34:22,791 So sind diese Dinge nur dass ein und aus gehen 779 00:34:22,791 --> 00:34:26,659 der Mode, und so ist dies, wie könnte man machen eine modernere aussehende Web-Formular. 780 00:34:26,659 --> 00:34:27,159 Buttons. 781 00:34:27,159 --> 00:34:29,190 So hat Bootstrap viele hübsche Knöpfe. 782 00:34:29,190 --> 00:34:33,639 Also, wenn Sie wollen, blauen Tasten, grüne Knöpfe, blau, orange, rot. 783 00:34:33,639 --> 00:34:35,840 Bootstrap erleichtert diese Dinge zu tun. 784 00:34:35,840 --> 00:34:38,131 Dies sind die Arten von Dingen dass man konnte absolut 785 00:34:38,131 --> 00:34:41,840 haben gestern mit CSS gemacht und mit HTML, aber es ist nur ein Schmerz im Nacken. 786 00:34:41,840 --> 00:34:44,840 Und so statt, was Bootstrap würde haben Sie tun, ist so etwas. 787 00:34:44,840 --> 00:34:48,960 >> Wenn Sie ein button-- wollen stellt sich heraus, diese ist ein HTML-Tag wir nicht yesterday-- nicht genutzt 788 00:34:48,960 --> 00:34:53,070 und Sie wollen es aussehen wie diese grüne Taste, 789 00:34:53,070 --> 00:34:57,380 Sie buchstäblich es nur eine Klasse geben, was wir auch taten gestern sprechen, 790 00:34:57,380 --> 00:34:59,710 von "btn btn-Erfolg." 791 00:34:59,710 --> 00:35:00,971 >> Warum diese Worte? 792 00:35:00,971 --> 00:35:03,470 Twitter, die Autoren von Bootstrap, kam mit diesen Worten auf. 793 00:35:03,470 --> 00:35:05,428 Sie hätten genannt ihnen, was sie wollen. 794 00:35:05,428 --> 00:35:08,480 Aber was Sie bekommen, jetzt ist jemand anderes auf Twitter, in diesem Fall, 795 00:35:08,480 --> 00:35:12,360 hat herausgefunden, wie man eine machen Sie Knopf schauen schön und sauber und grün. 796 00:35:12,360 --> 00:35:15,580 Sie verpackt auf diese Funktionalität in einer CSS-Klasse, genannt "BTN" 797 00:35:15,580 --> 00:35:19,790 und "BTN-Erfolg", so dass jeder von uns kann verwenden Sie es jetzt, ohne auch nur darüber nachzudenken, 798 00:35:19,790 --> 00:35:20,290 es. 799 00:35:20,290 --> 00:35:22,880 So haben sie abstrahiert die Vorstellung von einem grünen Knopf 800 00:35:22,880 --> 00:35:25,320 also müssen wir kümmern uns nicht um Umsetzung es uns. 801 00:35:25,320 --> 00:35:28,520 Wir können tatsächlich konzentrieren sich auf die Umsetzung Dinge für uns von Interesse. 802 00:35:28,520 --> 00:35:30,902 >> Wenn wir blättern hier unten. 803 00:35:30,902 --> 00:35:32,110 Fehlermeldungen auf dem Bildschirm. 804 00:35:32,110 --> 00:35:35,440 Manchmal möchte man eine kleine Nachricht auf dem oberen Rand des Browsers angezeigt wird. 805 00:35:35,440 --> 00:35:39,729 Jeder von uns könnte dies mit einigen Anstrengung, nach dem gestrigen Lektion, 806 00:35:39,729 --> 00:35:40,770 aber warum sollten Sie sich die Mühe? 807 00:35:40,770 --> 00:35:42,540 Das ist so ein uninteressantes ästhetisches Detail. 808 00:35:42,540 --> 00:35:44,248 Lassen Sie uns stehen auf der Schultern der Bootstrap 809 00:35:44,248 --> 00:35:49,440 und lassen Sie sie uns Dinge wie diese, wo wir buchstäblich ein rotes Feld zu bekommen, 810 00:35:49,440 --> 00:35:53,220 nur müssen einen Absatz tun Tag mit einer Klasse von-- sorry. 811 00:35:53,220 --> 00:35:57,307 "Bg-Gefahr" würde uns geben diese rötliche Box statt. 812 00:35:57,307 --> 00:35:59,140 Lassen Sie uns nun auf dem Sprung mehr interessante Dinge. 813 00:35:59,140 --> 00:36:02,950 Wenn ich wieder an die Spitze Diese Seite und gehen Sie auf Komponenten, 814 00:36:02,950 --> 00:36:05,380 jetzt wird die Welt noch interessanter. 815 00:36:05,380 --> 00:36:08,826 Zum Beispiel ist sehr häufig Drop-Down-Menüs wie diese. 816 00:36:08,826 --> 00:36:11,560 Dies wäre ein absolutes Schmerz zu implementieren. 817 00:36:11,560 --> 00:36:13,610 Und es war nicht so lange vor, dass wir Programmierer 818 00:36:13,610 --> 00:36:16,490 müssten diese zu implementieren Arten von Menüs von Grund auf neu. 819 00:36:16,490 --> 00:36:20,800 >> Aber es ist ein solches gemeinsames Paradigma dass Bibliotheken wie Bootstrap 820 00:36:20,800 --> 00:36:25,230 geben Sie nur die Möglichkeit, eine zu machen Drop-Down-Menü weit, weit leichter. 821 00:36:25,230 --> 00:36:27,850 Es gibt keine eine Möglichkeit, es zu tun, aber wenn ich lesen Sie die Dokumentation 822 00:36:27,850 --> 00:36:32,100 Ich würde sehen, dass, OK, sollte ich dies HTML, wenn ich ein Dropdown-Menü möchten 823 00:36:32,100 --> 00:36:34,030 dass verhält sich ähnlich. 824 00:36:34,030 --> 00:36:36,690 >> In ähnlicher Weise lassen Sie uns auf Taste nach unten gehen fallen. 825 00:36:36,690 --> 00:36:38,470 So ist dies auch ausgefallenere. 826 00:36:38,470 --> 00:36:41,800 Wenn ich dies wie ein Knopf aussehen wollen aber das kleine Dreieck bedeutet 827 00:36:41,800 --> 00:36:44,080 Ich sollte darauf klicken und nutzen Sie dieses Menü, das 828 00:36:44,080 --> 00:36:45,760 ist eine Sprache namens JavaScript verwenden. 829 00:36:45,760 --> 00:36:47,470 Und wir könnten alle implementieren dies in JavaScript. 830 00:36:47,470 --> 00:36:49,720 Aber noch einmal, das ist ein Rad Sie wollen nicht neu zu erfinden. 831 00:36:49,720 --> 00:36:52,700 Sie wollen einfach nur, sie nehmen ab die Regal-Bibliothek für diese. 832 00:36:52,700 --> 00:36:58,145 >> Lassen Sie uns gehen, um etwas wie Fortschrittsbalken. 833 00:36:58,145 --> 00:36:59,770 So etwas wie das ist irgendwie cool. 834 00:36:59,770 --> 00:37:02,910 Wenn Sie schon einmal einen Fortschritt gesehen Bar über den Bildschirm bewegen, 835 00:37:02,910 --> 00:37:06,380 Umsetzung dass oft ist nur ein sich drehendes Symbol. 836 00:37:06,380 --> 00:37:10,200 In der Tat, nur so nebenbei, lassen gehen mir zu Ajax-- was ist es? 837 00:37:10,200 --> 00:37:10,710 Ajax Informationen? 838 00:37:10,710 --> 00:37:11,720 Hoppla. 839 00:37:11,720 --> 00:37:13,035 Ajaxinfo. 840 00:37:13,035 --> 00:37:14,800 Lassen Sie mich die Adresse erinnern. 841 00:37:14,800 --> 00:37:15,820 Da gehen wir. 842 00:37:15,820 --> 00:37:19,850 >> Also, wenn Sie jemals einige Animation gesehen während die Seite geladen wird, oder denken, 843 00:37:19,850 --> 00:37:25,410 oder zu speichern, oder etwas zu schaffen, Sie sehen könnten solche Animationen wie diese. 844 00:37:25,410 --> 00:37:28,800 Lassen Sie uns also etwas betrachten wie diese hier, 845 00:37:28,800 --> 00:37:33,550 und lassen Sie uns wählen Sie eine Vordergrundfarbe grün, was irgendwie freundlich fühlt. 846 00:37:33,550 --> 00:37:34,545 Kann ich diese anklicke? 847 00:37:34,545 --> 00:37:35,500 Komm schon. 848 00:37:35,500 --> 00:37:36,000 OK. 849 00:37:36,000 --> 00:37:38,930 Wir werden einfach mit roten gehen, weil das ist, was wir bekommen. 850 00:37:38,930 --> 00:37:40,250 Also hier haben wir es. 851 00:37:40,250 --> 00:37:43,940 >> Also, wenn Sie dies jemals gesehen habe auf einem Bildschirm, wodurch plötzlich scheint es, und dann 852 00:37:43,940 --> 00:37:47,550 plötzlich verschwindet, was es das ist, die Umsetzung das? 853 00:37:47,550 --> 00:37:48,970 Nun, dies ist nur ein GIF. 854 00:37:48,970 --> 00:37:52,850 G-I-F. Und dies ist eine animierte Datei, die nur bedeutet, 855 00:37:52,850 --> 00:37:54,327 es ist wie ein alter Schule Comic. 856 00:37:54,327 --> 00:37:57,160 Es gibt nur eine Reihe von verschiedenen Frames, die gehen [STOTTER] 857 00:37:57,160 --> 00:37:58,085 und nur zu wiederholen. 858 00:37:58,085 --> 00:38:00,090 Und es ist die Schaffung der Illusion von Bewegung. 859 00:38:00,090 --> 00:38:03,070 >> So sobald eine Seite durchgeführt wird Laden oder etwas zu tun, 860 00:38:03,070 --> 00:38:04,610 Was macht ein Programmierer? 861 00:38:04,610 --> 00:38:07,500 Nun, er oder sie nur versteckt das Bild. 862 00:38:07,500 --> 00:38:11,536 Also alles, ein Fortschrittsbalken ist Art ist wie ein Film, den Sie sich gerade anschauen. 863 00:38:11,536 --> 00:38:14,660 Sie sind eine Art blind gegenüber der Tatsache, dass es nicht wirklich etwas zu tun, 864 00:38:14,660 --> 00:38:15,940 es bewegt sich nur. 865 00:38:15,940 --> 00:38:19,150 >> Und dann, wenn es fertig ist voran, sie verstecken es nur oder deaktivieren. 866 00:38:19,150 --> 00:38:21,115 Und das ist die ganze Magie das geht dort. 867 00:38:21,115 --> 00:38:22,770 Bootstrap gibt Ihnen etwas ein wenig schicker, 868 00:38:22,770 --> 00:38:25,030 wobei man kann tatsächlich sehen einen Prozentsatz wie es geht, 869 00:38:25,030 --> 00:38:27,840 aber es ist zu einfach irgendwie eine einfache Animation. 870 00:38:27,840 --> 00:38:32,250 >> Schauen wir uns einige letzte aussehen komplexere Beispiele hier. 871 00:38:32,250 --> 00:38:35,526 So etwas wie ein modal. 872 00:38:35,526 --> 00:38:36,900 Weiß jemand, was ein modal ist? 873 00:38:36,900 --> 00:38:39,880 874 00:38:39,880 --> 00:38:42,550 Ein modales Fenster ist in der Regel ein, die angeblich 875 00:38:42,550 --> 00:38:46,880 Steuerung des Vordergrunds zu nehmen und verhindern, dass Sie etwas anderes zu tun. 876 00:38:46,880 --> 00:38:50,290 Es zwingt Art des Benutzers Aufmerksamkeit auf die Mitte des Bildschirms, 877 00:38:50,290 --> 00:38:52,290 Verriegelungs sie aus, typischerweise von allem anderen. 878 00:38:52,290 --> 00:38:55,830 >> Also, wenn ich diese Demo zu starten, die Bildschirm wird in der Regel grau. 879 00:38:55,830 --> 00:38:57,060 Nun, wie machen wir es grau? 880 00:38:57,060 --> 00:38:59,080 Nun, wir wahrscheinlich nur die Hintergrundfarbe geändert 881 00:38:59,080 --> 00:39:01,060 wie wir gestern oder etwas ähnliches. 882 00:39:01,060 --> 00:39:03,490 Vielleicht ist es ein Overlay dass semi-transparent. 883 00:39:03,490 --> 00:39:06,320 Und bemerken Sie jetzt tun können Phantasie Dinge wie diese. 884 00:39:06,320 --> 00:39:09,930 Also, wenn Sie jemals auf eine Schaltfläche klicken und wollen ein wenig Pop heraus zu erscheinen, 885 00:39:09,930 --> 00:39:10,710 Das kannst du machen. 886 00:39:10,710 --> 00:39:12,340 Und so kümmert sich die über all-- ja? 887 00:39:12,340 --> 00:39:15,791 >> PUBLIKUM: Also mit Bootstrap, um es aufgenommen, 888 00:39:15,791 --> 00:39:21,002 so einfach ist es so wie gestern wir haben die CSS-Stile Seite? 889 00:39:21,002 --> 00:39:21,960 DAVID J. MALAN: In der Tat. 890 00:39:21,960 --> 00:39:22,835 Wirklich gute Frage. 891 00:39:22,835 --> 00:39:24,480 Lassen Sie mich gehen zu Erste Schritte. 892 00:39:24,480 --> 00:39:26,090 Und ja. 893 00:39:26,090 --> 00:39:30,920 Alles, was Sie haben zu tun, um zu Verwendung Bootstrap ist im Wesentlichen kopieren 894 00:39:30,920 --> 00:39:35,910 und fügen Sie diese drei langen Reihen Code in die Spitze der eigenen Web-page-- 895 00:39:35,910 --> 00:39:38,892 der Kopf Ihres page-- und du bist und läuft. 896 00:39:38,892 --> 00:39:41,850 Und es gibt verschiedene Möglichkeiten, zu tun , aber dies würde die einfachste sein. 897 00:39:41,850 --> 00:39:45,190 >> Also, was ist hilfreich, über all dies? 898 00:39:45,190 --> 00:39:47,524 Nun, wenn Sie nicht so viel das implementierende Objekt einer Webseite 899 00:39:47,524 --> 00:39:50,106 aber Sie versuchen, es zu entwerfen, oder Sie wollen, dass jemand zur Verfügung zu stellen 900 00:39:50,106 --> 00:39:53,220 mit Drahtrahmenpläne, so zu sprechen, oder einfach nur Künstler Interpretationen dessen, was 901 00:39:53,220 --> 00:39:56,080 Sie wollen zu tun, ich, um diese Tag, gehen oft auf eine Website 902 00:39:56,080 --> 00:39:58,660 wie Bootstrap, wo, wenn ich wollen something-- zu implementieren 903 00:39:58,660 --> 00:40:02,290 wie vor kurzem auf dem Campus Wir wollten zu implementieren 904 00:40:02,290 --> 00:40:06,170 ein Web-basiertes Tool für die Navigation Harvard Kurskatalog, 905 00:40:06,170 --> 00:40:08,770 wodurch es einfacher für Studenten durch Kurse zu durchsuchen 906 00:40:08,770 --> 00:40:10,930 und fügen Sie Kurse Einkaufsliste, so zu sprechen, 907 00:40:10,930 --> 00:40:13,070 Art zu entscheiden, was sie wollten zu nehmen. 908 00:40:13,070 --> 00:40:16,252 >> Ich habe versucht, für sich vorzustellen, selbst, welche Zutaten würde 909 00:40:16,252 --> 00:40:17,460 wir wollen, dass diese zu bauen, zu bedienen? 910 00:40:17,460 --> 00:40:19,050 Was wäre der Benutzeroberfläche wie? 911 00:40:19,050 --> 00:40:22,800 Und wenn man nur durch eine Seite wie diese oder andere solche Bibliothek Websites, 912 00:40:22,800 --> 00:40:26,560 Sie können sich inspirieren lassen, weil wow, Ich kann dieses Widget verwenden und dieses Widget, 913 00:40:26,560 --> 00:40:27,330 und Widget. 914 00:40:27,330 --> 00:40:29,080 Und dann wirklich, was der Programmierer beginnt 915 00:40:29,080 --> 00:40:32,800 in diesen Tagen zu tun, vor allem in dieser modernere Welt der Web-Programmierung, 916 00:40:32,800 --> 00:40:35,827 Programmierung ist zunehmend über Dinge zusammen Verdrahtung. 917 00:40:35,827 --> 00:40:38,910 Sortieren dies der Einnahme aus dem Regal, dies aus dem Regal, aus diesem das Regal, 918 00:40:38,910 --> 00:40:41,954 und da Sie der Schlaue alle diese Punkte zu verbinden, 919 00:40:41,954 --> 00:40:45,120 aber letztlich etwas zu bauen, indem wieder auf den Schultern der anderen stehen, 920 00:40:45,120 --> 00:40:49,370 so dass Sie nicht verbringen einen Monat eine dumme Drop-Down-Menü Umsetzung 921 00:40:49,370 --> 00:40:52,080 die tatsächlich schwer zu tun, wenn Sie wollen, dass es auf Chrome zu arbeiten, 922 00:40:52,080 --> 00:40:55,220 und IE und Firefox, und jede Reihe von anderen Browsern. 923 00:40:55,220 --> 00:40:59,060 Aus diesem Grund gibt es diese reich kommerzielle und Open-Source-Software 924 00:40:59,060 --> 00:41:01,220 Industrie als auch. 925 00:41:01,220 --> 00:41:06,810 >> PUBLIKUM: So erhalten hat Bootstrap aktualisiert und Sie müssen dann Ihre Links aktualisieren? 926 00:41:06,810 --> 00:41:07,820 >> DAVID J. MALAN: Es tut. 927 00:41:07,820 --> 00:41:09,090 Nun ja, es tut. 928 00:41:09,090 --> 00:41:12,540 Bootstrap ist derzeit in der Version 3.3.6. 929 00:41:12,540 --> 00:41:16,720 Und in der Regel, was man do-- das ist eigentlich erwähnenswert. 930 00:41:16,720 --> 00:41:19,200 Es ist das, was in der Regel als semantisches Versions bekannt 931 00:41:19,200 --> 00:41:20,160 System der Welt. 932 00:41:20,160 --> 00:41:21,320 Nicht jeder tut dies. 933 00:41:21,320 --> 00:41:26,410 >> Aber, wenn Sie Versionsnummern gesehen , die von der Form x.y.z-- 934 00:41:26,410 --> 00:41:30,240 so zum Beispiel die erste Version von einem Programm könnte 1.0.0 sein. 935 00:41:30,240 --> 00:41:34,970 Oder wenn es ist sehr, sehr Beta oder auch Alpha-Status, die Nutzung bedeutet, 936 00:41:34,970 --> 00:41:37,620 auf eigene Gefahr, ist es nicht wirklich bereit für die Prime Time, 937 00:41:37,620 --> 00:41:42,080 Sie vielleicht sogar 0.0.1 starten oder eine solche Bezeichnung. 938 00:41:42,080 --> 00:41:47,260 Aber wenn Software beginnt bei Version 1,0 oder äquivalent 1.0.0, 939 00:41:47,260 --> 00:41:50,530 typisch, was ist üblich, diese days-- wenn auch nicht omnipresent-- ist 940 00:41:50,530 --> 00:41:53,520 wenn ein Unternehmen oder eine einzelne Programmierer Fixes 941 00:41:53,520 --> 00:41:56,140 einige Fehler in irgendeinem Stück Software, die wirklich 942 00:41:56,140 --> 00:42:01,620 war ein Bug, Korrektur dessen sollte nicht Auswirkungen, die Sie bei all-- es nicht ändert 943 00:42:01,620 --> 00:42:03,940 das Verhalten des Programms, behebt es nur etwas, 944 00:42:03,940 --> 00:42:06,580 dass nicht funktioniert properly-- Sie würde in der Regel 945 00:42:06,580 --> 00:42:08,890 aktualisiert dort die z-Wert. 946 00:42:08,890 --> 00:42:12,900 Was bedeutet, jemanden wie Kareem einfach in seine Webseite gehen konnte, 947 00:42:12,900 --> 00:42:19,470 blindlings die Versionsnummer ändern von 1.0.0 bis 1.0.1, speichern, versenden es, 948 00:42:19,470 --> 00:42:21,880 und in der Theorie, nicht zu haben Sorge, dass er gerade kaputt ist 949 00:42:21,880 --> 00:42:24,430 seine Website wegen einige Mangel an Funktionalität, 950 00:42:24,430 --> 00:42:25,870 denn etwas anderes brach. 951 00:42:25,870 --> 00:42:28,740 >> Inzwischen, wenn ich die Programmierer oder einige Unternehmen 952 00:42:28,740 --> 00:42:35,500 waren einige bedeutende machen Änderung, die Funktionalität hinzufügt, 953 00:42:35,500 --> 00:42:40,320 Ich könnte aktualisieren uns tatsächlich 1.1.0, weil ich bin 954 00:42:40,320 --> 00:42:42,200 Ändern des Verhaltens der Bibliothek. 955 00:42:42,200 --> 00:42:44,470 Ich gebe Ihnen vielleicht mehr Funktionalität. 956 00:42:44,470 --> 00:42:48,490 Schließlich waren, wenn ich tatsächlich grundsätzlich die Software ändern, so 957 00:42:48,490 --> 00:42:54,380 viel, dass es viele brechen Benutzer-Websites oder Anwendungen, 958 00:42:54,380 --> 00:42:59,550 dann verpflichtet, ich bin in diesem Modell zu Upgrade die Hauptversionsnummer zu, 959 00:42:59,550 --> 00:43:01,059 die eine unterbrechende Änderung. 960 00:43:01,059 --> 00:43:03,725 Mit anderen Worten, könnte ich habe Auslauf Unterstützung für die Tropfen 961 00:43:03,725 --> 00:43:04,350 Down-Menü. 962 00:43:04,350 --> 00:43:07,790 Wenn Sie also auf 2,0 zu aktualisieren, die Hälfte könnte Ihre Website aufhören zu arbeiten. 963 00:43:07,790 --> 00:43:10,950 Und das ist eine Art von Signal an die Gemeinde als zu dem, was 964 00:43:10,950 --> 00:43:13,223 beteiligt ein Upgrade zu machen. 965 00:43:13,223 --> 00:43:16,710 966 00:43:16,710 --> 00:43:18,020 Eine gute Gelegenheit, zu erhöhen. 967 00:43:18,020 --> 00:43:18,718 Andere Fragen? 968 00:43:18,718 --> 00:43:21,761 969 00:43:21,761 --> 00:43:22,260 Gut. 970 00:43:22,260 --> 00:43:26,945 Nun lassen Sie uns einen Blick auf eine endgültige Thema in diesem Segment der Programmierung 971 00:43:26,945 --> 00:43:30,640 von Technologie-Stacks, nämlich auf mobile bezogen. 972 00:43:30,640 --> 00:43:36,232 >> So in der Welt der Mobiltelefone heute Sie have-- und iPads, und Oberflächen, 973 00:43:36,232 --> 00:43:37,940 und all diese Arten von devices-- Sie haben 974 00:43:37,940 --> 00:43:40,950 viele Möglichkeiten, wenn es kommt auf die Umsetzung 975 00:43:40,950 --> 00:43:47,270 eine Anwendung oder eine Website für Ihre Kunden mobile Geräte. 976 00:43:47,270 --> 00:43:51,570 Also nur zu erklären, die offensichtlich, vielleicht in diesen Tagen, 977 00:43:51,570 --> 00:43:54,960 was sind die Plattformen für im mobilen Bereich zu entwickeln? 978 00:43:54,960 --> 00:43:59,650 Welche Geräte können Sie wollen unterstützen mit Ihrer Anwendung oder Website? 979 00:43:59,650 --> 00:44:00,317 >> PUBLIKUM: Apfel. 980 00:44:00,317 --> 00:44:01,108 DAVID J. MALAN: OK. 981 00:44:01,108 --> 00:44:01,820 So Apple-Geräte. 982 00:44:01,820 --> 00:44:06,740 Das heißt also, dass das iPhone, und dass bedeutet, iPad, und vielleicht sogar iPod. 983 00:44:06,740 --> 00:44:07,627 Was sonst? 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 >> PUBLIKUM: Android. 987 00:44:11,970 --> 00:44:13,111 >> DAVID J. MALAN: Android. 988 00:44:13,111 --> 00:44:13,610 OK. 989 00:44:13,610 --> 00:44:17,335 So Android-Handys, Android Tabletten, die Android-Markt 990 00:44:17,335 --> 00:44:21,240 ist sogar messier because-- und auch von Apple wird immer chaotisch. 991 00:44:21,240 --> 00:44:23,960 Während es war einmal iPhone war eine gewisse Größe, 992 00:44:23,960 --> 00:44:26,560 und iPad war eine gewisse Größe, und iPod war eine gewisse Größe, jetzt 993 00:44:26,560 --> 00:44:33,420 wir haben iPad Minis, und die dünne diejenigen, und das iPhone 6 Plus und 6. 994 00:44:33,420 --> 00:44:34,407 Es ist immer ein Chaos. 995 00:44:34,407 --> 00:44:35,740 Es ist immer der Android Welt. 996 00:44:35,740 --> 00:44:39,030 >> Und das sage ich mit einer Art Roll meine Augen, weil von einem Entwickler 997 00:44:39,030 --> 00:44:41,680 Sicht ist es ein Schmerzen im Nacken, wenn 998 00:44:41,680 --> 00:44:45,686 Sie haben Steve Jobs nicht ' Vision der absoluten Kontrolle 999 00:44:45,686 --> 00:44:47,060 über all diese Spezifikationen. 1000 00:44:47,060 --> 00:44:49,726 Apple-tut immer noch, weil sie diejenigen, die Hardware zu bauen. 1001 00:44:49,726 --> 00:44:52,690 Aber es ist eine schöne Sache, wenn Ich bin ein Software-Entwickler, 1002 00:44:52,690 --> 00:44:54,520 nur wissen, dass mein iPhone ist immer was los 1003 00:44:54,520 --> 00:44:56,850 diese groß zu sein, weil das bedeutet, dass ich immer wissen, 1004 00:44:56,850 --> 00:44:58,847 wie viel Bildschirm Immobilien die ich habe. 1005 00:44:58,847 --> 00:45:01,180 Also, wenn ich will ein Symbol zu setzen in der oberen linken Ecke, 1006 00:45:01,180 --> 00:45:04,530 es wird in der exakt gleichen zu sein Platz auf jedem Gerät des einzelnen Kunden. 1007 00:45:04,530 --> 00:45:07,140 >> Aber in der Welt der iPhone 6s und iPhone 6 Pluses 1008 00:45:07,140 --> 00:45:10,570 und in der Welt der Android Telefone, es ist alles über die Karte. 1009 00:45:10,570 --> 00:45:13,580 Und so macht es zu Programm härter Dinge, vor allem Benutzerschnittstellen, 1010 00:45:13,580 --> 00:45:18,270 denn jetzt müssen Sie beginnen Arrangieren Ihre Benutzeroberflächen relativ, nicht 1011 00:45:18,270 --> 00:45:19,730 absolut. 1012 00:45:19,730 --> 00:45:23,524 Und das gleiche ist auf Browsern wahr gewesen, und Desktop-PCs und Laptops für Jahre 1013 00:45:23,524 --> 00:45:25,690 weil Sie, natürlich, haben unterschiedliche Bildschirmgrößen. 1014 00:45:25,690 --> 00:45:26,189 >> Was sonst? 1015 00:45:26,189 --> 00:45:30,170 Sie könnten Oberflächen haben, wie von Microsoft. 1016 00:45:30,170 --> 00:45:31,270 Vielleicht hast du-- 1017 00:45:31,270 --> 00:45:32,270 PUBLIKUM: Windows Phone. 1018 00:45:32,270 --> 00:45:32,816 DAVID J. MALAN: Was ist das? 1019 00:45:32,816 --> 00:45:33,570 PUBLIKUM: Windows Phone. 1020 00:45:33,570 --> 00:45:34,403 DAVID J. MALAN: Ja. 1021 00:45:34,403 --> 00:45:37,570 So Fenster Telefone können noch gefunden werden. 1022 00:45:37,570 --> 00:45:41,840 Art der Art von Blackberrys, aber sie immer wieder versuchen. 1023 00:45:41,840 --> 00:45:43,900 Und dann Trauben von anderen Geräten. 1024 00:45:43,900 --> 00:45:48,020 So zum größten Teil, lassen Sie uns sagen diese diejenigen sind, 1025 00:45:48,020 --> 00:45:49,520 Pflege im Moment über. 1026 00:45:49,520 --> 00:45:51,890 Gewiß ist die Apple-Zeug, sicherlich das Android-Zeug, 1027 00:45:51,890 --> 00:45:55,640 und unter Windows wie Oberfläche Tabletten scheinen ziemlich gut zu fangen auf. 1028 00:45:55,640 --> 00:45:58,030 >> Und so unter diesen Geräten, wenn Sie ausrollen wollen, 1029 00:45:58,030 --> 00:46:02,677 sagen wir mal, eine mobile Präsenz für Ihr Unternehmen, welche Arten von Design-Entscheidungen 1030 00:46:02,677 --> 00:46:03,510 müssen Sie machen? 1031 00:46:03,510 --> 00:46:06,350 Nun, wir schon gesagt, in der Apple-Welt, 1032 00:46:06,350 --> 00:46:08,790 es gibt mindestens zwei Sprachen Das sind typischerweise verwendet. 1033 00:46:08,790 --> 00:46:10,260 Einer war, was genannt wird? 1034 00:46:10,260 --> 00:46:11,260 >> PUBLIKUM: Objective-C. 1035 00:46:11,260 --> 00:46:11,560 >> DAVID J. MALAN: Ja. 1036 00:46:11,560 --> 00:46:13,600 So Objective-C, das ist die ältere. 1037 00:46:13,600 --> 00:46:17,720 Es ist auch die Sprache, dass viele Mac Anwendungen werden in noch geschrieben. 1038 00:46:17,720 --> 00:46:18,964 Dann wird die andere neuere war? 1039 00:46:18,964 --> 00:46:19,630 PUBLIKUM: Swift. 1040 00:46:19,630 --> 00:46:20,590 DAVID J. MALAN: Swift. 1041 00:46:20,590 --> 00:46:23,900 Und das sind die Art von zwei zu wissen, Leute zu beeindrucken. 1042 00:46:23,900 --> 00:46:28,238 Dann in der Android Welt, Welche Sprache ist Android verwenden? 1043 00:46:28,238 --> 00:46:30,618 >> PUBLIKUM: C #? 1044 00:46:30,618 --> 00:46:31,570 >> PUBLIKUM: Java. 1045 00:46:31,570 --> 00:46:34,230 >> DAVID J. MALAN: Java ist die Sprache von "du jour." 1046 00:46:34,230 --> 00:46:37,950 In der Windows-Welt, sicher, wir werden C # in diesem Fall sagen. 1047 00:46:37,950 --> 00:46:40,590 So ist bereits diese Art von ärgerlich, weil das, was ist 1048 00:46:40,590 --> 00:46:43,070 das Essen zum Mitnehmen für ein Geschäft Eigentümer oder jemand, der nur 1049 00:46:43,070 --> 00:46:44,570 will eine mobile Präsenz ausrollen? 1050 00:46:44,570 --> 00:46:45,220 Wie, verdammt noch mal? 1051 00:46:45,220 --> 00:46:48,590 Wie, wenn ich will, zu unterstützen eine ziemlich breite Benutzerbasis, 1052 00:46:48,590 --> 00:46:52,180 Ich habe zu schreiben, wie es scheint, drei separate Anwendungen. 1053 00:46:52,180 --> 00:46:55,630 Eine in einer dieser Sprachen, ein in Java, eine in C #. 1054 00:46:55,630 --> 00:46:59,620 Und selbst wenn ich will, um die Funktionalität identisch zu sein, ist es gleichgültig. 1055 00:46:59,620 --> 00:47:02,940 Ich muss immer noch anders zu verwenden, Sprachen, weil Apple und Microsoft, 1056 00:47:02,940 --> 00:47:06,084 und Google alle Unterstützung verschiedenen Umgebungen. 1057 00:47:06,084 --> 00:47:07,750 Und dies ist eine Herausforderung seit Jahren. 1058 00:47:07,750 --> 00:47:10,100 Zurück in den Tag, wenn Menschen verwendet Software kaufen 1059 00:47:10,100 --> 00:47:12,230 in einem Computergeschäft in eingeschrumpft Boxen, 1060 00:47:12,230 --> 00:47:14,470 Sie würden entweder zu erreichen für den Mac Regal, 1061 00:47:14,470 --> 00:47:19,040 oder for-- vielleicht diesen sehr kleinen Mac shelf-- oder die größeren Windows-Regal 1062 00:47:19,040 --> 00:47:19,980 und einige Software kaufen. 1063 00:47:19,980 --> 00:47:22,813 Und sehr oft, war es nicht einmal alles für Sie auf dem Mac Regal. 1064 00:47:22,813 --> 00:47:23,430 Warum? 1065 00:47:23,430 --> 00:47:26,900 Nun, Unternehmen beschlossen, wenn 90% der Welt, 95% der Welt 1066 00:47:26,900 --> 00:47:31,180 hat PCs, warum einmal die Mühe, Umsetzung Dinge auf Mac OS? 1067 00:47:31,180 --> 00:47:34,370 >> Als aside-- insgesamt digression--, warum es 1068 00:47:34,370 --> 00:47:40,960 dass Mac so unempfindlich gegen Viren scheint, und Würmer und Sicherheitsbedrohungen? 1069 00:47:40,960 --> 00:47:44,040 Ist Apple besser auf das? 1070 00:47:44,040 --> 00:47:45,934 Besser zu halten Computer sicher? 1071 00:47:45,934 --> 00:47:47,750 >> PUBLIKUM: Kleinere Publikum? 1072 00:47:47,750 --> 00:47:50,720 >> DAVID J. MALAN: Das ist wahrscheinlich das größere Bit zu. 1073 00:47:50,720 --> 00:47:54,740 So sind die vielen Nutzer von Macs lange behauptet, oh, einen Mac, 1074 00:47:54,740 --> 00:47:57,630 Sie werden auf Viren immun sein, und Würmer und all diese Dinge 1075 00:47:57,630 --> 00:47:59,180 das haben lange PCs geplagt. 1076 00:47:59,180 --> 00:48:02,050 Das könnte sein, weil Apple hat eine bessere Programmierer 1077 00:48:02,050 --> 00:48:05,250 und sie schreiben bessere Software, oder die Betriebssystem wurde besser entwickelt. 1078 00:48:05,250 --> 00:48:06,870 Vielleicht, aber wahrscheinlich nicht. 1079 00:48:06,870 --> 00:48:10,840 >> Es ist wahrscheinlich, dass, wenn du bist eine 12-jährige oder 30 etwas 1080 00:48:10,840 --> 00:48:13,510 Art von zu Hause schriftlich sitzen bösartiger Software zu übernehmen, 1081 00:48:13,510 --> 00:48:17,480 die Welt, wirst du gehen nach die viel größere Zielgruppe. 1082 00:48:17,480 --> 00:48:20,590 Die 95% der Welt, die Macht werden unter Windows oder einige 1083 00:48:20,590 --> 00:48:21,740 Varianten davon. 1084 00:48:21,740 --> 00:48:23,800 Also gibt es ein wenig auf beiden Seiten. 1085 00:48:23,800 --> 00:48:25,710 Aber um ihre Kredit, Apfel, meines Wissens, 1086 00:48:25,710 --> 00:48:28,270 hat sich nicht wirklich angekündigt als sicherer, 1087 00:48:28,270 --> 00:48:32,110 da Sie einladen nur Drama, wenn Sie das von sich behaupten, würde ich denken. 1088 00:48:32,110 --> 00:48:32,610 >> Gut. 1089 00:48:32,610 --> 00:48:36,490 Ohne zu weit nach unten bekommen dass, wie lösen wir das? 1090 00:48:36,490 --> 00:48:39,670 Müssen Sie Sie kaufen oder haben zahlen drei verschiedene Menschen zu entwickeln, 1091 00:48:39,670 --> 00:48:41,540 Ihre Anwendungen? 1092 00:48:41,540 --> 00:48:42,870 Haben Sie einen über den anderen wählen? 1093 00:48:42,870 --> 00:48:45,460 Was sollte führen Sie Ihre Denken hier denken Sie? 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 Nee. 1098 00:48:51,500 --> 00:48:54,190 Jemand anderes. 1099 00:48:54,190 --> 00:48:56,885 >> PUBLIKUM: Nur mit der Hardware kommen. 1100 00:48:56,885 --> 00:48:58,510 DAVID J. MALAN: mit der Hardware kommen? 1101 00:48:58,510 --> 00:48:59,533 Was meinen Sie? 1102 00:48:59,533 --> 00:49:01,282 >> PUBLIKUM: Für die Umwelt. [UNVERSTÄNDLICH] 1103 00:49:01,282 --> 00:49:04,867 1104 00:49:04,867 --> 00:49:06,200 DAVID J. MALAN: Also das ist wahr. 1105 00:49:06,200 --> 00:49:09,280 Aber Ihre Kunden, mittlerweile könnte iPhones haben, 1106 00:49:09,280 --> 00:49:13,530 sie könnten Android-Handys haben, sie Möglicherweise müssen von Microsoft gemacht Tabletten. 1107 00:49:13,530 --> 00:49:19,040 Also, wie haben Sie eine mobile Strategie für alle diese verschiedenen Benutzern? 1108 00:49:19,040 --> 00:49:23,320 Es scheint, dass, wenn es kostet, sagen wir mal $ 1.000, ein iPhone zu machen 1109 00:49:23,320 --> 00:49:25,940 Anwendung, es wird Kosten Sie $ 2.000 zu machen 1110 00:49:25,940 --> 00:49:29,250 eine iPhone-Anwendung und ein Android-Anwendung, oder $ 3000 1111 00:49:29,250 --> 00:49:31,407 auch als auch Windows-Geräte unterstützen. 1112 00:49:31,407 --> 00:49:33,990 Das ist wahrscheinlich ein ziemlich Untertreibung, und es könnte nicht einmal 1113 00:49:33,990 --> 00:49:36,050 eine lineare Beziehung so sein. 1114 00:49:36,050 --> 00:49:41,065 >> PUBLIKUM: Wenn Sie möchten, eine App zu haben oder nicht, können Sie ansprechende Website. 1115 00:49:41,065 --> 00:49:41,940 DAVID J. MALAN: Gut. 1116 00:49:41,940 --> 00:49:46,255 PUBLIKUM: Sie können auch eine native App haben. 1117 00:49:46,255 --> 00:49:47,130 DAVID J. MALAN: Ja. 1118 00:49:47,130 --> 00:49:50,260 Also in diesem Zusammenhang alle hier, Wir haben darüber gesprochen, was 1119 00:49:50,260 --> 00:49:53,190 Leute nennen würde native Anwendungen. 1120 00:49:53,190 --> 00:49:58,040 Dh Anwendungen, die geschrieben werden, in der Muttersprache des jeweiligen Geräts. 1121 00:49:58,040 --> 00:50:02,190 So nativen Objective-C oder Swift Code oder in Java oder in C #. 1122 00:50:02,190 --> 00:50:06,900 Was bedeutet das, wenn Sie den Download starten, lassen sagen Snapchat, eine beliebte Anwendung, 1123 00:50:06,900 --> 00:50:10,060 oder, wenn Sie den Download starten Facebook für ein Telefon, 1124 00:50:10,060 --> 00:50:13,270 Sie sind das Herunterladen entweder die Version für Ihr iPhone geschrieben, 1125 00:50:13,270 --> 00:50:16,830 oder für Ihr Android-Handy geschrieben, oder für Ihre Oberfläche geschrieben. 1126 00:50:16,830 --> 00:50:18,500 >> Jedoch gibt es eine Alternative. 1127 00:50:18,500 --> 00:50:26,020 Als Olivier spielte auf, Sie können tatsächlich HTML verwenden 5 1128 00:50:26,020 --> 00:50:33,440 stattdessen mit, was ein Web genannt Anwendung, wobei Sie einfach 1129 00:50:33,440 --> 00:50:35,940 implementieren Ihre mobile Präsenz und jede Funktionalität. 1130 00:50:35,940 --> 00:50:37,030 Was meine ich durch mobile Präsenz? 1131 00:50:37,030 --> 00:50:39,800 Wie Sie Ihre Website, hat Ihr Kontaktinformationen, eine Liste aller 1132 00:50:39,800 --> 00:50:43,049 vielleicht Ihre Produkte, hat es einen Einkaufs Wagen, vielleicht verkaufen Sie die Dinge durch. 1133 00:50:43,049 --> 00:50:46,850 Was auch immer Ihre Anwendung ist, können Sie umzusetzen, nicht in Objective-C, 1134 00:50:46,850 --> 00:50:51,200 oder Swift, oder Java oder C #, aber in HTML 5, die Sprache, die wir war aussah 1135 00:50:51,200 --> 00:50:55,470 gestern, mit JavaScript und CSS. 1136 00:50:55,470 --> 00:50:58,700 >> Und was ist schön, mit denen, drei, dass sie laufen soll, 1137 00:50:58,700 --> 00:51:01,981 Sie müssen genau das, was Stück Software? 1138 00:51:01,981 --> 00:51:02,980 PUBLIKUM: Ein Web-Browser. 1139 00:51:02,980 --> 00:51:04,229 DAVID J. MALAN: Ein Web-Browser. 1140 00:51:04,229 --> 00:51:07,610 Und das Beste weiß ich, alle diese Geräte mit Web-Browser, 1141 00:51:07,610 --> 00:51:10,480 so hat der Benutzer nicht zu haben installieren etwas Besonderes. 1142 00:51:10,480 --> 00:51:12,920 So kann man einfach sagen, Ihre Publikum, Ihre Kunden, 1143 00:51:12,920 --> 00:51:16,590 Geh zu acme.com in Ihrem Browser und Sie werden nur 1144 00:51:16,590 --> 00:51:19,730 haben eine Web-basierte Erfahrung dass nach wie vor den Bildschirm ausfüllt, 1145 00:51:19,730 --> 00:51:25,100 aber Sie müssen sich nicht um alle kümmern von Diese Kosten und all dieser Komplexität. 1146 00:51:25,100 --> 00:51:28,600 Aber sicher es geht werden hier einen Haken, nicht wahr? 1147 00:51:28,600 --> 00:51:31,740 Vor allem, wenn ich darauf hin, dass vor ein paar Jahren, 1148 00:51:31,740 --> 00:51:35,700 die erste Version von Facebook mobile Anwendung 1149 00:51:35,700 --> 00:51:38,810 war eine HTML-5-Anwendung meist. 1150 00:51:38,810 --> 00:51:42,490 Und sie haben, mehr vor kurzem neu implementiert es 1151 00:51:42,490 --> 00:51:44,700 in ihren anderen Anwendungen. 1152 00:51:44,700 --> 00:51:46,990 >> Also warum sollte man nicht sofort möchte sagen, 1153 00:51:46,990 --> 00:51:49,190 Nun, natürlich werden wir dies tun? 1154 00:51:49,190 --> 00:51:51,560 Was könnte sein, die versteckten Kosten? 1155 00:51:51,560 --> 00:51:52,477 >> PUBLIKUM: Leistung. 1156 00:51:52,477 --> 00:51:53,643 DAVID J. MALAN: Leistung? 1157 00:51:53,643 --> 00:51:54,567 Wie meinst Du das? 1158 00:51:54,567 --> 00:52:01,040 >> PUBLIKUM: Die native App hat mehr Leistung. 1159 00:52:01,040 --> 00:52:03,850 >> DAVID J. MALAN: Also das ist wahr ist, für eine Reihe von Gründen. 1160 00:52:03,850 --> 00:52:05,270 Wir können die Antwort vereinfachen. 1161 00:52:05,270 --> 00:52:08,061 Und erinnern an unsere Diskussion über im Vergleich zu kompilierten Sprachen interpretiert. 1162 00:52:08,061 --> 00:52:12,030 Dies ist HTML 5 und damit nur um klar, JavaScript-- häufig geschrieben 1163 00:52:12,030 --> 00:52:15,880 JS-- und CSS sind alle interpretierte Sprachen, 1164 00:52:15,880 --> 00:52:21,020 obwohl nur JavaScript ist eine Programmiersprache. 1165 00:52:21,020 --> 00:52:25,820 >> Und so im Vergleich zu diesen, die einige dieser mindestens zusammengestellt, diese three-- 1166 00:52:25,820 --> 00:52:29,990 Objective-C, Java und C # - diese, in der Theorie sollte nur schneller sein. 1167 00:52:29,990 --> 00:52:31,670 Aber es gibt noch eine andere Realität for-- 1168 00:52:31,670 --> 00:52:32,440 >> PUBLIKUM: Funktionalitäten? 1169 00:52:32,440 --> 00:52:32,830 >> DAVID J. MALAN: Was ist das? 1170 00:52:32,830 --> 00:52:34,060 >> PUBLIKUM: Funktionalitäten. 1171 00:52:34,060 --> 00:52:34,570 >> DAVID J. MALAN: Funktionalität? 1172 00:52:34,570 --> 00:52:35,070 Wie das? 1173 00:52:35,070 --> 00:52:37,305 PUBLIKUM: Verwenden Sie die Kamera Sie Ihr Telefon oder so etwas. 1174 00:52:37,305 --> 00:52:41,471 Sie können die mit dem Browser. 1175 00:52:41,471 --> 00:52:42,470 DAVID J. MALAN: Genau. 1176 00:52:42,470 --> 00:52:43,011 Sie sind sec-- 1177 00:52:43,011 --> 00:52:45,034 PUBLIKUM: [unverständlich] 1178 00:52:45,034 --> 00:52:46,700 DAVID J. MALAN: Das ist eine andere gute. 1179 00:52:46,700 --> 00:52:49,230 Es gibt Funktionen, die kommen mit Mobiltelefonen heute 1180 00:52:49,230 --> 00:52:53,840 , die nicht durch Design, für die Sicherheit Gründe, zugänglich zu Web-Browsern. 1181 00:52:53,840 --> 00:52:56,410 Da wäre es eine Art sein eine gruselige Sache, wenn gerade dann, wenn 1182 00:52:56,410 --> 00:53:00,710 Sie besuchen google.com oder cnn.com oder jede website.com, 1183 00:53:00,710 --> 00:53:04,490 dass die Website hat die Macht zu drehen auf der Kamera, ein Bild von dir nehmen, 1184 00:53:04,490 --> 00:53:06,010 und verwenden Sie es dann. 1185 00:53:06,010 --> 00:53:09,280 Aber Sie würden nicht eine zufällige Website wollen dass Sie zum ersten Mal besuchen 1186 00:53:09,280 --> 00:53:10,690 diese Fähigkeit haben. 1187 00:53:10,690 --> 00:53:13,460 >> Und was Telefon Hersteller typischerweise tun 1188 00:53:13,460 --> 00:53:17,230 wird sie leugnen nur Zugang auf diese Art von Informationen 1189 00:53:17,230 --> 00:53:20,650 zu einem Browser, bedeutet, die Sie kann die Kamera nicht implementieren. 1190 00:53:20,650 --> 00:53:24,180 Sie können keine Push-Benachrichtigungen zu implementieren, die Töne, die Sie auf Ihrem Bildschirm erhalten 1191 00:53:24,180 --> 00:53:26,120 mit kurzen Nachrichten. 1192 00:53:26,120 --> 00:53:31,350 Und in der Tat ist sogar nur GPS Art der Art von auf dem Web-Browser zur Verfügung. 1193 00:53:31,350 --> 00:53:34,140 Wenn Sie schon einmal auf einem Laptop oder auf einem mobilen Gerät, 1194 00:53:34,140 --> 00:53:38,770 zog etwas wie vielleicht cnn.com, sondern auch lokale Nachrichtensender 1195 00:53:38,770 --> 00:53:43,890 neigen dazu, dies zu tun, Sie werden aufgefordert, oft mit einem message-- foxnews.com 1196 00:53:43,890 --> 00:53:45,170 möchte Ihren Standort kennen. 1197 00:53:45,170 --> 00:53:46,610 Genehmigen oder zu verweigern. 1198 00:53:46,610 --> 00:53:52,070 >> Nun, der Browser versucht, den Zugriff auf Ihre GPS-Daten vom Telefon. 1199 00:53:52,070 --> 00:53:54,740 Aber zum Glück Microsoft, und Apple und Google 1200 00:53:54,740 --> 00:53:57,330 haben beschlossen, dass fühlt sich an wie es ist eine nützliche Situation, 1201 00:53:57,330 --> 00:53:59,461 wir wollen, Google Maps und andere Werkzeuge zu arbeiten, 1202 00:53:59,461 --> 00:54:02,710 aber wir wollen nicht, dass Menschen zu kriechen von nur einer Website ermöglicht, dies zu tun. 1203 00:54:02,710 --> 00:54:05,934 Lassen Sie uns also eine Art treffen auf halber Strecke und den Benutzer auffordern. 1204 00:54:05,934 --> 00:54:08,850 Aber das ist nicht unbedingt der Fall, mit allen Hardware, wie die Kamera 1205 00:54:08,850 --> 00:54:10,680 und mit Push Benachrichtigungen und dergleichen, 1206 00:54:10,680 --> 00:54:13,650 so müssen Sie möglicherweise opfern bestimmte Funktionen. 1207 00:54:13,650 --> 00:54:15,100 Aber die Leistung auch. 1208 00:54:15,100 --> 00:54:18,020 Es wird immer weniger heute spürbar, vielleicht 1209 00:54:18,020 --> 00:54:22,400 wie LTE fängt auf und schneller Internet-Geschwindigkeiten auf Handys, 1210 00:54:22,400 --> 00:54:24,110 Sie können jedoch Art den Unterschied spüren. 1211 00:54:24,110 --> 00:54:28,190 Wie eine Web-basierte Anwendung fühlt sich einfach langsamer, in der Regel, 1212 00:54:28,190 --> 00:54:31,100 als eine native Anwendung, zum Teil weil eine Web-basierte Anwendung 1213 00:54:31,100 --> 00:54:32,680 per Definition im Internet. 1214 00:54:32,680 --> 00:54:35,610 Es spricht zu den Servern im Internet. 1215 00:54:35,610 --> 00:54:39,590 Und wenn Ihre Netzwerkverbindung langsam, Scrollen sogar möglicherweise langsam. 1216 00:54:39,590 --> 00:54:43,710 >> Aber eine native Anwendung, haben Sie bereits vorge downloaded-- wahrscheinlich 1217 00:54:43,710 --> 00:54:45,680 wenn Sie zu Hause aus dem App Store, 1218 00:54:45,680 --> 00:54:47,900 oder Sie zumindest vorab heruntergeladen es in seiner Gesamtheit 1219 00:54:47,900 --> 00:54:49,640 früher, was auch immer Ihre Verbindungsgeschwindigkeit-- 1220 00:54:49,640 --> 00:54:52,530 und so, jetzt haben Sie alle die Bits, die Sie in der Regel benötigen. 1221 00:54:52,530 --> 00:54:55,090 Außer vielleicht einige Daten das kommt von einem Server. 1222 00:54:55,090 --> 00:54:57,130 >> Das sind also Kompromisse hier. 1223 00:54:57,130 --> 00:54:59,980 Es ist so eine Art Mittel Kompromiss, in der Tat. 1224 00:54:59,980 --> 00:55:00,907 Und ich denke, Sie-- 1225 00:55:00,907 --> 00:55:02,895 >> PUBLIKUM: Verwenden Sie die Daten offline. 1226 00:55:02,895 --> 00:55:06,355 In den nativen Anwendungen, können Sie [unverständlich] 1227 00:55:06,355 --> 00:55:07,480 DAVID J. MALAN: Auf jeden Fall. 1228 00:55:07,480 --> 00:55:09,730 So gibt es die Offline-Ausgabe, Das ist wirklich ärgerlich, 1229 00:55:09,730 --> 00:55:13,120 wenn Sie nicht irgendein Spiel oder Anwendung spielen einige Software, nur weil du bist 1230 00:55:13,120 --> 00:55:15,110 in einem Keller irgendwo oder in einem Aufzug. 1231 00:55:15,110 --> 00:55:18,700 Eine native Anwendung ist elastisch mit höherer Wahrscheinlichkeit dagegen, 1232 00:55:18,700 --> 00:55:20,990 vorausgesetzt, Sie haben alle die Daten müssen Sie vor Ort. 1233 00:55:20,990 --> 00:55:22,900 >> So gibt es eine dritte Option hier. 1234 00:55:22,900 --> 00:55:30,270 Und lassen Sie uns das Spektrum ziehen, wie native App hier und Web-App hier. 1235 00:55:30,270 --> 00:55:32,460 Und was ist in der Mitte etwas ist called-- 1236 00:55:32,460 --> 00:55:35,410 und ich denke, Sie haben könnten das Wort vor, vielleicht? 1237 00:55:35,410 --> 00:55:37,170 Hybrid-Anwendung. 1238 00:55:37,170 --> 00:55:40,980 Und wie das Wort sagt, es ist etwas in der Mitte. 1239 00:55:40,980 --> 00:55:46,230 Es ist eine Art von Web-Anwendung und es ist eine Art einer nativen Anwendung. 1240 00:55:46,230 --> 00:55:47,690 >> Und was bedeutet das? 1241 00:55:47,690 --> 00:55:51,750 Es stellt sich heraus gibt es frameworks-- einen Begriff aus earlier-- Software zu verwenden, 1242 00:55:51,750 --> 00:55:55,860 dass andere Leute geschrieben haben, für jede dieser Plattformen. 1243 00:55:55,860 --> 00:55:57,500 Diese und noch andere Geräte. 1244 00:55:57,500 --> 00:56:02,390 In der Tat, lassen Sie mich zu PhoneGap gehen, das ist ein solcher Rahmen, dass ich 1245 00:56:02,390 --> 00:56:04,520 glauben Adobe jetzt besitzt. 1246 00:56:04,520 --> 00:56:07,830 Lassen Sie mich gehen zu Erste Schritte. 1247 00:56:07,830 --> 00:56:09,430 Mal schauen. 1248 00:56:09,430 --> 00:56:12,450 Sehen Sie, wenn ich eine Liste von Tools zu sehen. 1249 00:56:12,450 --> 00:56:13,150 Hardware. 1250 00:56:13,150 --> 00:56:15,845 Anfangen. 1251 00:56:15,845 --> 00:56:17,570 PhoneGap-Hardware. 1252 00:56:17,570 --> 00:56:18,672 >> Mal schauen. 1253 00:56:18,672 --> 00:56:23,459 PhoneGap Zugriff auf die Hardware. 1254 00:56:23,459 --> 00:56:26,125 Lassen Sie mich sehen, ob wir etwas finden Diagramm, das sie haben, verwendet. 1255 00:56:26,125 --> 00:56:29,170 1256 00:56:29,170 --> 00:56:31,640 Dies ist auf einer anderen Website. 1257 00:56:31,640 --> 00:56:32,525 Ist das sinnvoll? 1258 00:56:32,525 --> 00:56:33,030 Nein. 1259 00:56:33,030 --> 00:56:36,330 Das wird es verschwenden unsere Zeit. 1260 00:56:36,330 --> 00:56:40,185 PhoneGap-Hardware. 1261 00:56:40,185 --> 00:56:40,685 Geräte. 1262 00:56:40,685 --> 00:56:45,190 1263 00:56:45,190 --> 00:56:48,030 Geräte-API. 1264 00:56:48,030 --> 00:56:49,270 Nein, sie haben es verschoben. 1265 00:56:49,270 --> 00:56:50,070 >> PhoneGap. 1266 00:56:50,070 --> 00:56:54,964 Lassen Sie uns einen letzten Blick auf diese gehen und sehen, ob ich Ihnen zeigen kann. 1267 00:56:54,964 --> 00:56:55,630 Anfangen. 1268 00:56:55,630 --> 00:56:58,160 1269 00:56:58,160 --> 00:56:59,020 Installieren Sie PhoneGap. 1270 00:56:59,020 --> 00:57:02,310 1271 00:57:02,310 --> 00:57:03,270 Installieren Sie Handy-App. 1272 00:57:03,270 --> 00:57:04,320 Komm schon. 1273 00:57:04,320 --> 00:57:07,220 1274 00:57:07,220 --> 00:57:08,580 Sie haben alles neu organisiert. 1275 00:57:08,580 --> 00:57:09,750 Gut. 1276 00:57:09,750 --> 00:57:11,370 Oh, alles klar. 1277 00:57:11,370 --> 00:57:12,550 Nun, hier gehen wir. 1278 00:57:12,550 --> 00:57:16,130 Das ist nicht alles, was aufschlussreich, aber das ist, was ich war irgendwie suchen. 1279 00:57:16,130 --> 00:57:20,940 >> So ist PhoneGap ein Framework, das Sie können kostenlos herunterladen, die Sie gibt 1280 00:57:20,940 --> 00:57:22,750 einige Starter-Code, im Wesentlichen. 1281 00:57:22,750 --> 00:57:26,600 So einige Code, die sie geschrieben haben, das macht nicht viel von allem. 1282 00:57:26,600 --> 00:57:29,610 Aber was gibt es Ihnen im wesentlichen das Äquivalent 1283 00:57:29,610 --> 00:57:34,910 einer Anwendung, die eine gerechte legt großes Rechteck auf dem Bildschirm des Benutzers. 1284 00:57:34,910 --> 00:57:38,040 Es muss nicht eine URL-Leiste setzen, wie ein Browser, stellen keine Adresse. 1285 00:57:38,040 --> 00:57:39,650 Es setzt nur ein großes Rechteck. 1286 00:57:39,650 --> 00:57:43,230 Und Sie konfigurieren, dass diese große Rechteck, unter der Haube, 1287 00:57:43,230 --> 00:57:50,780 zu gehen, tatsächlich zu acme.com, oder vielleicht m.acme.com, für mobile.acme.com, 1288 00:57:50,780 --> 00:57:52,910 aber der Benutzer nicht weiß, sie sind an dieser Adresse. 1289 00:57:52,910 --> 00:57:55,520 Alles, was sie sehen, ist die Inhalt der Webseite. 1290 00:57:55,520 --> 00:57:59,822 >> Aber was ist schön, diesen Wesen eine Hybrid-App ist das, was PhoneGap 1291 00:57:59,822 --> 00:58:03,030 und andere Unternehmen geben Ihnen ist sie geben Sie ein wenig Code 1292 00:58:03,030 --> 00:58:05,760 in Objective-C oder Swift, oder ein bisschen von Code in Java, 1293 00:58:05,760 --> 00:58:08,320 oder ein bisschen von Code in C # und im Wesentlichen, 1294 00:58:08,320 --> 00:58:12,990 alles, was Sie zu bieten haben, ist minimal die Adresse Ihrer Web-basierte Anwendung. 1295 00:58:12,990 --> 00:58:15,750 Und dann bündeln Sie diese alle zusammen und Sie 1296 00:58:15,750 --> 00:58:20,670 haben sie entweder Zugriff auf Ihre Website über das Internet, 1297 00:58:20,670 --> 00:58:24,060 oder Sie cachen sogar eine lokale Kopieren Sie in der Anwendung, 1298 00:58:24,060 --> 00:58:28,690 und dann speichern Sie Ihre Anwendung in iPhone Format, Android-Handy 1299 00:58:28,690 --> 00:58:32,030 Format, Oberflächenformat oder Eine beliebige Anzahl von anderen Geräten. 1300 00:58:32,030 --> 00:58:34,960 >> Sie laden jede dieser Versionen zum Google Play Store, 1301 00:58:34,960 --> 00:58:37,690 in den App Store, um die Windows Store, und so weiter. 1302 00:58:37,690 --> 00:58:41,570 Und jetzt können Sie alle haben Ihre Publikum herunterladen wirklich eine native App, 1303 00:58:41,570 --> 00:58:44,250 wenn auch die meisten der Code war geschrieben von jemand anderem, 1304 00:58:44,250 --> 00:58:49,090 aber der Inhalt dieser native App alle kommen aus, in der Regel, Ihre eigene Website. 1305 00:58:49,090 --> 00:58:53,950 So können Sie auch weiterhin Ihre Website zu schreiben in HTML, JavaScript und CSS. 1306 00:58:53,950 --> 00:58:56,400 >> Warum also diese Linien verwischen? 1307 00:58:56,400 --> 00:59:00,240 Warum ein Hybrid-Anwendung haben das ist irgendwie heimisch, sondern auch 1308 00:59:00,240 --> 00:59:02,569 Art von Web-basierten? 1309 00:59:02,569 --> 00:59:04,610 Was ist der Sinn von Hinzufügen dieser Komplexität? 1310 00:59:04,610 --> 00:59:07,180 Ich meine, sogar noch, gerade aus Blick über diese Seite, 1311 00:59:07,180 --> 00:59:11,790 die Erste Schritte fühlt sich an wie es ist für mich eine ganze Menge von Schritten bekam 1312 00:59:11,790 --> 00:59:13,514 zu tun, bevor ich can-- 1313 00:59:13,514 --> 00:59:14,430 PUBLIKUM: Reusability? 1314 00:59:14,430 --> 00:59:14,960 DAVID J. MALAN: Reusability? 1315 00:59:14,960 --> 00:59:15,618 Was meinen Sie? 1316 00:59:15,618 --> 00:59:16,826 >> PUBLIKUM: Von den Quellcode. 1317 00:59:16,826 --> 00:59:19,438 So würde der gleiche Code laufen auf all die verschiedenen Plattformen. 1318 00:59:19,438 --> 00:59:20,313 DAVID J. MALAN: Ja. 1319 00:59:20,313 --> 00:59:21,188 PUBLIKUM: [unverständlich] 1320 00:59:21,188 --> 00:59:23,200 1321 00:59:23,200 --> 00:59:24,200 DAVID J. MALAN: Perfect. 1322 00:59:24,200 --> 00:59:26,930 Wenn die Zeit knapp ist und wenn Sie nicht haben, dass viele developers-- 1323 00:59:26,930 --> 00:59:28,900 Vielleicht haben Sie ein Entwickler und er oder sie sicherlich 1324 00:59:28,900 --> 00:59:31,050 weiß nicht, alle diese environments-- sicherlich nicht gut, 1325 00:59:31,050 --> 00:59:33,341 und kann sicherlich nicht Programm in allen drei gleichzeitig 1326 00:59:33,341 --> 00:59:35,970 und Schiff drei Produkte in die Zeit für einen erlaubt, 1327 00:59:35,970 --> 00:59:40,360 Sie können ihn haben oder ihr alles bauen in HTML und JavaScript und CSS, 1328 00:59:40,360 --> 00:59:43,260 und lernen dann eine winzig kleine wenig über native Anwendungen, 1329 00:59:43,260 --> 00:59:45,930 gerade genug zum Download ein Rahmen wie diese, 1330 00:59:45,930 --> 00:59:48,750 laden, um dann Ihr Produkt alle die verschiedenen App-Stores 1331 00:59:48,750 --> 00:59:51,700 so dass Sie jetzt haben, eine native Anwendung. 1332 00:59:51,700 --> 00:59:54,090 >> Damit scheint wie eine Win-Win, aber auch hier klar zu sein, 1333 00:59:54,090 --> 00:59:56,540 Was sind die möglichen Kosten oder die gotchas? 1334 00:59:56,540 --> 01:00:00,292 1335 01:00:00,292 --> 01:00:01,209 >> PUBLIKUM: Leistung? 1336 01:00:01,209 --> 01:00:02,083 DAVID J. MALAN: Ja. 1337 01:00:02,083 --> 01:00:02,959 Performance. 1338 01:00:02,959 --> 01:00:04,250 Es ist schwer, verbal zu beschreiben. 1339 01:00:04,250 --> 01:00:07,590 Also, wenn Sie nur übernehmen Glaube ist eine mobile Anwendung, 1340 01:00:07,590 --> 01:00:11,430 eine Webanwendung typischerweise ausführen langsamer. 1341 01:00:11,430 --> 01:00:16,500 Es ist vielleicht nicht ganz richtig angezeigt werden, weil in iPhone und in Android-Handys, 1342 01:00:16,500 --> 01:00:19,210 und Windows-Geräte, gibt es immer eine Art Standard-Look 1343 01:00:19,210 --> 01:00:21,780 und fühlen sich an alle die Tasten und die Menüs. 1344 01:00:21,780 --> 01:00:25,160 >> Und Unternehmen im Web, können versuchen, jene Ästhetik anzunähern 1345 01:00:25,160 --> 01:00:28,329 mit Bibliotheken wie Bootstrap, aber die user-- eine kluge user-- 1346 01:00:28,329 --> 01:00:30,620 zu wissen, wird das etwas ist nicht ganz richtig hier. 1347 01:00:30,620 --> 01:00:32,510 Und das ist in Ordnung, vielleicht das ist keine große Sache. 1348 01:00:32,510 --> 01:00:35,500 Aber die Performance-Problem absolut ist eine große Sache. 1349 01:00:35,500 --> 01:00:39,400 Native Anwendungen sind in der Regel nur zu viel schneller reagieren und deshalb 1350 01:00:39,400 --> 01:00:39,946 besser. 1351 01:00:39,946 --> 01:00:42,070 Und ja, was dann sein könnte das Beste aus beiden Welten? 1352 01:00:42,070 --> 01:00:44,584 Wenn Sie vor allem eine kleine Unternehmen oder eine kleine Gruppe, 1353 01:00:44,584 --> 01:00:47,000 Sie haben nicht die Ressourcen, eine App parallel zu entwickeln, 1354 01:00:47,000 --> 01:00:50,480 auf allen drei Plattformen, und ehrlich gesagt, fühlt sich an wie das eine schlechte Idee ist sowieso 1355 01:00:50,480 --> 01:00:53,526 denn wenn man es ausrollen und auf alle drei gleichzeitig zu realisieren, 1356 01:00:53,526 --> 01:00:56,400 wir sollten einige Features hinzugefügt haben oder etwas anders gemacht, jetzt 1357 01:00:56,400 --> 01:00:59,530 Sie beheben müssen es in drei Plätze, nicht ein. 1358 01:00:59,530 --> 01:01:02,390 Was ist vielleicht die optimale Strategie hier insgesamt, 1359 01:01:02,390 --> 01:01:04,130 wenn Ressourcen und Zeit sind eng? 1360 01:01:04,130 --> 01:01:06,420 >> PUBLIKUM: Tun Sie es einfach auf iOS. 1361 01:01:06,420 --> 01:01:08,390 >> DAVID J. MALAN: Das ist nicht unvernünftig. 1362 01:01:08,390 --> 01:01:10,670 iPhones, zumindest in der USA, sind super beliebt. 1363 01:01:10,670 --> 01:01:13,820 Android scheint immer noch dominant zu haben Marktanteil, weltweit insgesamt. 1364 01:01:13,820 --> 01:01:16,740 Sie sind also nicht unbedingt repräsentativ 1365 01:01:16,740 --> 01:01:19,210 der Gesamtheit der in dieser Woche Globus. 1366 01:01:19,210 --> 01:01:21,180 Aber das ist absolut eine Entscheidung. 1367 01:01:21,180 --> 01:01:23,620 Ich meine, auf dem Campus hier I denken einige atrocious Zahl 1368 01:01:23,620 --> 01:01:26,600 oder der Prozentsatz der Studenten haben iPhones und Android-Handys nicht. 1369 01:01:26,600 --> 01:01:28,490 Aber im Ausland, ist es irgendwie das Gegenteil. 1370 01:01:28,490 --> 01:01:30,040 Deshalb entscheiden Sie sich auf Ihr Publikum basiert. 1371 01:01:30,040 --> 01:01:31,990 Woher wissen Sie, was Ihr Publikum hat? 1372 01:01:31,990 --> 01:01:34,080 >> Nun, wir gelernt, ein Trick gestern. 1373 01:01:34,080 --> 01:01:35,060 Man könnte sie fragen. 1374 01:01:35,060 --> 01:01:37,910 Wenn Sie ein aufmerksames Publikum Sie können sie eine Umfrage Form senden. 1375 01:01:37,910 --> 01:01:39,172 Oder Sie könnten nur das tun, was? 1376 01:01:39,172 --> 01:01:40,076 >> PUBLIKUM: Google Analytics? 1377 01:01:40,076 --> 01:01:40,680 >> DAVID J. MALAN: Was ist das? 1378 01:01:40,680 --> 01:01:41,876 >> PUBLIKUM: Google Analytics. 1379 01:01:41,876 --> 01:01:43,250 DAVID J. MALAN: Google Analytics. 1380 01:01:43,250 --> 01:01:43,750 Ja. 1381 01:01:43,750 --> 01:01:46,970 Oder noch Art von technisch, nur Blick auf Ihre eigenen Web-Server-Logs. 1382 01:01:46,970 --> 01:01:49,100 Denn das, was passiert, jedes Mal, wenn ein Browser, 1383 01:01:49,100 --> 01:01:51,880 ob Laptop, Desktop oder Telefon Ihre Website besuchen? 1384 01:01:51,880 --> 01:01:56,847 Sie senden, dass die HTTP-Header, die zeigt, Sie, was Browser und OS sie verwenden. 1385 01:01:56,847 --> 01:02:00,180 So kann man folgern, mit hoher Wahrscheinlichkeit, was Ihre demografischen nutzt auf diese Weise 1386 01:02:00,180 --> 01:02:01,410 und dann anpassen. 1387 01:02:01,410 --> 01:02:03,030 >> Also vermute, das ist nicht akzeptabel. 1388 01:02:03,030 --> 01:02:07,760 Das ist irgendwie schlecht für das Geschäft, wenn Android-Nutzer können unsere Widgets nicht kaufen. 1389 01:02:07,760 --> 01:02:10,942 >> PUBLIKUM: Egal, ob Sie Gonna aufladen oder nicht? 1390 01:02:10,942 --> 01:02:12,900 DAVID J. MALAN: Ob Sie gehen zu berechnen? 1391 01:02:12,900 --> 01:02:14,900 So OK, Sie bekommen, was Sie bezahlen. 1392 01:02:14,900 --> 01:02:18,400 >> PUBLIKUM: Ob Ihre Anwendung ist Gonna frei sein, oder ob es sich um gonna-- 1393 01:02:18,400 --> 01:02:19,530 >> DAVID J. MALAN: OK. 1394 01:02:19,530 --> 01:02:21,920 Vielleicht könnten Sie schöpfen Kosten, die Art und Weise, oder--? 1395 01:02:21,920 --> 01:02:26,195 >> PUBLIKUM: las ich eine Studie einmal, dass die mehr Apple-Nutzer zahlen für Apps versus-- 1396 01:02:26,195 --> 01:02:28,320 DAVID J. MALAN: Das stimmt weil sie bereits 1397 01:02:28,320 --> 01:02:29,640 zahlen mehr für ihre Geräte. 1398 01:02:29,640 --> 01:02:31,295 Also nicht unvernünftig eine Vermutung. 1399 01:02:31,295 --> 01:02:32,170 >> PUBLIKUM: [unverständlich] 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 Also, wenn sie sind eher bereit, zu zahlen, dann zur Hölle mit den Android-Nutzer. 1403 01:02:38,667 --> 01:02:40,500 Sie gehen nicht auf zahlen uns sowieso nichts. 1404 01:02:40,500 --> 01:02:43,499 Wir könnten auch unsere Prioritäten konzentrieren, zumindest in den ersten paar Monaten 1405 01:02:43,499 --> 01:02:44,810 oder ein Jahr, auf iOS. 1406 01:02:44,810 --> 01:02:46,240 Völlig in Ordnung. 1407 01:02:46,240 --> 01:02:48,558 Was ist ein integrativer Strategie als das? 1408 01:02:48,558 --> 01:02:53,740 1409 01:02:53,740 --> 01:02:54,960 Maybe-- was ist das? 1410 01:02:54,960 --> 01:02:57,040 >> PUBLIKUM: [unverständlich] 1411 01:02:57,040 --> 01:03:00,142 >> DAVID J. MALAN: Eine expensive-- so vielleicht mehr investieren voraus in-- gehen. 1412 01:03:00,142 --> 01:03:00,767 PUBLIKUM: Ja. 1413 01:03:00,767 --> 01:03:02,050 Nur eine mobile Website. 1414 01:03:02,050 --> 01:03:03,966 >> DAVID J. MALAN: a So tun mobile Website und nicht 1415 01:03:03,966 --> 01:03:05,440 sogar Sorgen um diese Komplexität. 1416 01:03:05,440 --> 01:03:07,970 Oder vielleicht eine vernünftige Strategie, die auch Facebook nahm, 1417 01:03:07,970 --> 01:03:10,890 ist mit einem Hybrid-Start Anwendung, weil es nicht ist 1418 01:03:10,890 --> 01:03:13,582 dass es sehr viel schwieriger als das, dies zu tun. 1419 01:03:13,582 --> 01:03:16,040 Sie müssen nur einige lesen Dokumentation und herauszufinden, wie 1420 01:03:16,040 --> 01:03:17,480 Dinge in den App Store zu laden. 1421 01:03:17,480 --> 01:03:19,670 Vielleicht beginnen Sie mit dies so, dass am ersten Tag, 1422 01:03:19,670 --> 01:03:21,112 Sie können alle Benutzer unterstützen. 1423 01:03:21,112 --> 01:03:23,570 Und dann, genau wie Facebook und andere Unternehmen getan haben, 1424 01:03:23,570 --> 01:03:25,330 wenn Sie haben die Ressourcen, Sie haben die Menschen, 1425 01:03:25,330 --> 01:03:27,660 warum gehst du nicht neu implementieren nur die iOS-Anwendung. 1426 01:03:27,660 --> 01:03:31,460 Sie haben noch etwas für jeden Geschmack, obwohl es eine minderwertige Erfahrung 1427 01:03:31,460 --> 01:03:33,330 vielleicht mit der Hybrid-Anwendung. 1428 01:03:33,330 --> 01:03:36,770 Aber Sie können nach und nach ausrollen und ersetzen Sie Ihre kurzfristigen 1429 01:03:36,770 --> 01:03:40,280 Maßnahmen der Hybrid-Anwendungen mit Ihre mehr native Anwendungen. 1430 01:03:40,280 --> 01:03:44,090 >> PUBLIKUM: Aber mit einem Hybrid-App, die Sie wird der Zugang zu mobilen Funktionen haben? 1431 01:03:44,090 --> 01:03:45,440 >> DAVID J. MALAN: Nicht unbedingt. 1432 01:03:45,440 --> 01:03:47,810 Vielleicht machen Sie eine früh bewusste Entscheidung, 1433 01:03:47,810 --> 01:03:51,930 Sie können nur Fotos auf den Upload native iPhone-Anwendung für Facebook, 1434 01:03:51,930 --> 01:03:56,060 aber nicht auf der Android-Anwendung, zunächst beispielsweise. 1435 01:03:56,060 --> 01:04:00,600 Und das ist ein bisschen eine Notlüge, weil Web-Anwendungen haben mehr Einschränkungen 1436 01:04:00,600 --> 01:04:03,620 als Hybridanwendungen stellt sich , und wenn wir lesen Sie die Dokumentation 1437 01:04:03,620 --> 01:04:07,260 für PhoneGap und Dinge wie sie, Menschen mit Möglichkeiten einfallen lassen 1438 01:04:07,260 --> 01:04:11,110 zu geben, Web-basierte Anwendungen Zugriff auf die Kamera, 1439 01:04:11,110 --> 01:04:13,310 so lange, wie Sie verwenden eine Hybrid-Anwendung. 1440 01:04:13,310 --> 01:04:14,214 >> Wie funktioniert das? 1441 01:04:14,214 --> 01:04:16,130 Da das Hybrid Anwendung per definitionem 1442 01:04:16,130 --> 01:04:19,600 hat ein Stück Code in Objective-C, und Swift, und Java oder in C #, 1443 01:04:19,600 --> 01:04:20,920 es kann auf die Hardware zugreifen. 1444 01:04:20,920 --> 01:04:24,590 Nicht unbedingt alles, aber es könnte sehr gut 1445 01:04:24,590 --> 01:04:27,310 der Fall sein, die Sie haben genug Zugang die Kamera zu bekommen, 1446 01:04:27,310 --> 01:04:32,960 auch für Android-Plattformen, für So in diesem erfundene Beispiel. 1447 01:04:32,960 --> 01:04:35,515 >> Weitere Fragen? 1448 01:04:35,515 --> 01:04:36,279 Gut. 1449 01:04:36,279 --> 01:04:38,070 Warum nehmen wir nicht unsere Pause von 15 Minuten hier. 1450 01:04:38,070 --> 01:04:44,060 Wir werden mit einem Finale in drei wieder aufnehmen Blick auf Web-Programmierung, Datenbanken, 1451 01:04:44,060 --> 01:04:45,910 und Javascript. 1452 01:04:45,910 --> 01:04:48,877