1 00:00:00,000 --> 00:00:01,291 >> David J. MALAN: quindi siamo indietro. 2 00:00:01,291 --> 00:00:03,050 Così ad alto livello argomento al momento ora 3 00:00:03,050 --> 00:00:06,440 è stack tecnologici, che non è un termine particolarmente tecnica, 4 00:00:06,440 --> 00:00:09,960 è più di una cattura tutti per qualsiasi numero di combinazioni di tecnologie 5 00:00:09,960 --> 00:00:11,840 che è possibile utilizzare per risolvere i problemi. 6 00:00:11,840 --> 00:00:14,850 E forse il più modo appropriato per iniziare 7 00:00:14,850 --> 00:00:18,110 sarebbe da guardare lingue dal Continuo a snocciolare un intero gruppo 8 00:00:18,110 --> 00:00:21,000 e la maggior parte tutti nella stanza ha probabilmente sentito di almeno uno. 9 00:00:21,000 --> 00:00:25,730 >> E allora perché non proviamo a distinguere Cosa-- distinguere queste lingue 10 00:00:25,730 --> 00:00:28,932 e parlare brevemente quando si farebbe scegliere uno sopra l'altro, come sono 11 00:00:28,932 --> 00:00:30,890 sorta di fondamentalmente diverso, e in particolare 12 00:00:30,890 --> 00:00:34,830 quando si sta chattando con gli ingegneri, o cercando di decidere chi assumere, 13 00:00:34,830 --> 00:00:37,652 o cosa implementazione proposta di GreenLight, 14 00:00:37,652 --> 00:00:39,860 come si dovrebbe effettivamente fare questo tipo di decisioni. 15 00:00:39,860 --> 00:00:41,890 >> Così facciamo solo Rattle alcune cose fuori. 16 00:00:41,890 --> 00:00:45,300 Tra le lingue le persone hanno sentito parlare, che cosa viene in mente? 17 00:00:45,300 --> 00:00:48,030 C. OK. 18 00:00:48,030 --> 00:00:48,757 OK, C ++. 19 00:00:48,757 --> 00:00:51,400 20 00:00:51,400 --> 00:00:51,990 Cos'è quello? 21 00:00:51,990 --> 00:00:52,390 >> PUBBLICO: Python. 22 00:00:52,390 --> 00:00:53,348 >> David J. MALAN: Python. 23 00:00:53,348 --> 00:00:55,330 Eccellente. 24 00:00:55,330 --> 00:00:57,000 Cos'altro? 25 00:00:57,000 --> 00:00:58,810 Visual Basic. 26 00:00:58,810 --> 00:01:01,100 Ho sentito Java. 27 00:01:01,100 --> 00:01:02,610 Visiva Basic-- pseudonimo 28 00:01:02,610 --> 00:01:03,150 VB. 29 00:01:03,150 --> 00:01:03,650 Giava. 30 00:01:03,650 --> 00:01:07,294 31 00:01:07,294 --> 00:01:12,810 NET, che è più di una cattura tutto per ciò che è di solito C # come linguaggio 32 00:01:12,810 --> 00:01:13,770 in questione. 33 00:01:13,770 --> 00:01:14,770 E lasciatemi dire che. 34 00:01:14,770 --> 00:01:15,900 Quindi ci torneremo a questo. 35 00:01:15,900 --> 00:01:17,560 Mi dispiace? 36 00:01:17,560 --> 00:01:18,170 Scusate? 37 00:01:18,170 --> 00:01:19,877 >> PUBBLICO: SQL. 38 00:01:19,877 --> 00:01:20,876 David J. MALAN: Scratch? 39 00:01:20,876 --> 00:01:21,610 PUBBLICO: 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 Quindi torneremo a che-- in realtà, è buono-- dopo la pausa pure. 44 00:01:29,510 --> 00:01:30,572 Cos'altro? 45 00:01:30,572 --> 00:01:32,530 >> PUBBLICO: Oracle. 46 00:01:32,530 --> 00:01:34,670 >> David J. MALAN: Così Oracle, non è una lingua. 47 00:01:34,670 --> 00:01:36,560 In realtà avrebbero utilizzare SQL pure. 48 00:01:36,560 --> 00:01:38,360 Quindi cerchiamo di mettere che dopo la rottura pure. 49 00:01:38,360 --> 00:01:39,744 E mi dispiace, qualcosa qui? 50 00:01:39,744 --> 00:01:40,660 PUBBLICO: Mathematica. 51 00:01:40,660 --> 00:01:41,390 David J. MALAN: Mathematica? 52 00:01:41,390 --> 00:01:42,303 Ok sicuro. 53 00:01:42,303 --> 00:01:46,150 54 00:01:46,150 --> 00:01:49,180 E MATLAB è un po ' lì a volte. 55 00:01:49,180 --> 00:01:50,060 >> AUDIENCE: R. 56 00:01:50,060 --> 00:01:51,755 >> David J. MALAN: R. Andiamo qui. 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 Sicuro. 60 00:01:55,880 --> 00:01:57,910 vecchia scuola. 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 Io buttare fuori BASIC. 64 00:02:02,410 --> 00:02:05,990 65 00:02:05,990 --> 00:02:08,539 DI BASE. 66 00:02:08,539 --> 00:02:09,390 Qualsiasi-- 67 00:02:09,390 --> 00:02:10,352 >> PUBBLICO: MATLAB? 68 00:02:10,352 --> 00:02:11,310 David J. MALAN: MATLAB. 69 00:02:11,310 --> 00:02:12,248 Oh, si batte per essa. 70 00:02:12,248 --> 00:02:15,370 71 00:02:15,370 --> 00:02:15,870 Qualsiasi cosa? 72 00:02:15,870 --> 00:02:18,700 Mi vengono in mente un paio di altri. 73 00:02:18,700 --> 00:02:21,876 Mi vengono in mente pochi altri. 74 00:02:21,876 --> 00:02:22,792 E quello che è stata l'ultima? 75 00:02:22,792 --> 00:02:23,970 >> PUBBLICO: ASP. 76 00:02:23,970 --> 00:02:25,030 >> David J. MALAN: ASP? 77 00:02:25,030 --> 00:02:26,100 Sì. 78 00:02:26,100 --> 00:02:27,100 pagine server attivo. 79 00:02:27,100 --> 00:02:30,270 Che in genere cadrebbe sotto altre lingue, a volte C #, 80 00:02:30,270 --> 00:02:32,040 quindi lasciamo che fuori. 81 00:02:32,040 --> 00:02:35,510 Ma torneremo a quella per le strutture e così via. 82 00:02:35,510 --> 00:02:36,290 Qualunque altra cosa? 83 00:02:36,290 --> 00:02:39,020 PHP è molto popolare. 84 00:02:39,020 --> 00:02:41,710 Ruby è un'altra. 85 00:02:41,710 --> 00:02:48,230 JavaScript, non confondere con Java, è un altro. 86 00:02:48,230 --> 00:02:49,570 Questo è il tipo di molto. 87 00:02:49,570 --> 00:02:53,590 >> Così può essere certamente schiacciante, come se l'elenco non è già, 88 00:02:53,590 --> 00:02:55,650 solo per cominciare a sapere dove iniziare. 89 00:02:55,650 --> 00:02:58,130 E così per fortuna, cerchiamo di avvicinarsi a questo da alcuni angoli. 90 00:02:58,130 --> 00:03:03,520 In primo luogo, cerchiamo di categorizzare almeno alcuni di questi linguaggi 91 00:03:03,520 --> 00:03:06,790 in due secchi larghe, che ricordano la conversazione che abbiamo avuto prima della pausa, 92 00:03:06,790 --> 00:03:09,630 dove abbiamo parlato di compilazione, e il codice sorgente, e codice macchina, 93 00:03:09,630 --> 00:03:11,440 perché non è come tutte le lingue di lavoro. 94 00:03:11,440 --> 00:03:15,640 Quindi dovremo strappare alcuni esempi di-- o contro-examples-- a quel modello. 95 00:03:15,640 --> 00:03:18,490 >> E allora, perché non parlare delle applicazioni 96 00:03:18,490 --> 00:03:20,390 che nelle lingue sono generalmente utilizzati per. 97 00:03:20,390 --> 00:03:22,840 E, francamente, anche se questa è una lista piuttosto lunga, 98 00:03:22,840 --> 00:03:26,320 è solo un sottoinsieme di questo elenco che è in genere trarre da questi giorni 99 00:03:26,320 --> 00:03:27,220 per risolvere i problemi. 100 00:03:27,220 --> 00:03:29,150 Alcune lingue sono più recenti rispetto ad altri. 101 00:03:29,150 --> 00:03:31,170 Alcune lingue sono più popolari di altri. 102 00:03:31,170 --> 00:03:34,370 Quindi non è come si dispone di tale un compito enorme prima di 103 00:03:34,370 --> 00:03:36,970 al momento di decidere tra queste varie lingue. 104 00:03:36,970 --> 00:03:40,110 >> Quindi cerchiamo di fare questo. 105 00:03:40,110 --> 00:03:45,870 Abbiamo avuto in precedenza, il codice sorgente, e poi abbiamo avuto codice macchina. 106 00:03:45,870 --> 00:03:48,590 107 00:03:48,590 --> 00:03:49,400 Ops. 108 00:03:49,400 --> 00:03:50,910 Scrivendo la parola sbagliata. 109 00:03:50,910 --> 00:03:52,740 codice macchina. 110 00:03:52,740 --> 00:03:57,549 E abbiamo avuto qualche processo in Medio called-- sì, il compilatore. 111 00:03:57,549 --> 00:03:58,215 Quindi il compilatore. 112 00:03:58,215 --> 00:04:00,760 113 00:04:00,760 --> 00:04:03,910 >> E che il codice macchina in realtà viene eseguito su alla fine 114 00:04:03,910 --> 00:04:05,680 sta per essere la CPU reale. 115 00:04:05,680 --> 00:04:09,660 In altre parole, per codice macchina, I intendono le istruzioni di livello più basso 116 00:04:09,660 --> 00:04:11,330 che una CPU in realtà capisce. 117 00:04:11,330 --> 00:04:15,100 Addizione, sottrazione, spostare, salvare e operazioni del genere. 118 00:04:15,100 --> 00:04:19,700 E così questo è il modello per ciò che è generalmente noto come linguaggi compilati. 119 00:04:19,700 --> 00:04:21,000 Forse non a caso. 120 00:04:21,000 --> 00:04:23,550 >> Quindi questo è il modello per linguaggi compilati. 121 00:04:23,550 --> 00:04:25,970 Ma si scopre c'è un'altra classe di lingue 122 00:04:25,970 --> 00:04:32,650 chiamato interpretato languages-- interpretato languages-- 123 00:04:32,650 --> 00:04:34,030 che sono leggermente diversi. 124 00:04:34,030 --> 00:04:41,660 Si scrive nel codice sorgente, eseguire loro attraverso un interprete, 125 00:04:41,660 --> 00:04:45,440 e che è interprete ciò che viene eseguito sulla CPU. 126 00:04:45,440 --> 00:04:50,120 In altre parole, ciò che non lo fai Emit è quello che, a quanto pare? 127 00:04:50,120 --> 00:04:50,980 codice macchina. 128 00:04:50,980 --> 00:04:54,290 Gli zeri e quelli che la CPU si capisce alla fine. 129 00:04:54,290 --> 00:04:59,780 >> Quindi, in questa prima versione e linguaggi come C, come abbiamo visto, 130 00:04:59,780 --> 00:05:02,040 si scrive nel codice sorgente che è un po 'arcano, 131 00:05:02,040 --> 00:05:05,300 ma almeno è una specie di inglese-like ed è almeno leggibile 132 00:05:05,300 --> 00:05:06,780 una volta che ci si abitua ad esso. 133 00:05:06,780 --> 00:05:10,100 Si esegue attraverso un compilatore e fuori si ottiene, in ultima analisi, zero e uno. 134 00:05:10,100 --> 00:05:11,340 >> Che una semplificazione eccessiva. 135 00:05:11,340 --> 00:05:12,839 Ci sono alcuni altri passi in là. 136 00:05:12,839 --> 00:05:15,530 In realtà, se hai mai sentito parlare il termine "linguaggio assembly," 137 00:05:15,530 --> 00:05:17,990 questo è un passo prima le zero e uno. 138 00:05:17,990 --> 00:05:20,949 Che un po 'più leggibile, ma ancora piuttosto arcano. 139 00:05:20,949 --> 00:05:23,740 E così non c'è passaggi intermedi che sono, in realtà, sta succedendo qui. 140 00:05:23,740 --> 00:05:26,360 Ma l'uscita, infine, è queste zero e uno. 141 00:05:26,360 --> 00:05:28,990 >> Ma nella interpretato mondo, dove si ha 142 00:05:28,990 --> 00:05:32,680 lingue che vengono interpretati lingue, è in realtà saltare questo passo. 143 00:05:32,680 --> 00:05:36,010 In altre parole, quando si scrive un il programma, basta eseguirlo immediatamente. 144 00:05:36,010 --> 00:05:38,960 Non si compila e quindi eseguirlo, come ho fatto prima. 145 00:05:38,960 --> 00:05:41,132 Basta scrivere ed eseguirlo. 146 00:05:41,132 --> 00:05:44,340 E se si vuole fare un cambiamento rapido, si apporta una modifica rapida ed esegue nuovamente esso. 147 00:05:44,340 --> 00:05:46,640 Quindi non c'è nessun punto di mezzo qui. 148 00:05:46,640 --> 00:05:50,840 >> Ora, per il programma che ho scritto in precedenza, che era il programma "Ciao Mondo", 149 00:05:50,840 --> 00:05:53,660 si potrebbe ragionevolmente wonder-- o ragionevolmente potrebbe 150 00:05:53,660 --> 00:05:58,570 state-- che non era che il tempo consumare per compilare il mio programma. 151 00:05:58,570 --> 00:06:00,337 E sembra aver fatto proprio così. 152 00:06:00,337 --> 00:06:02,170 E c'è grafica versioni di compilatori. 153 00:06:02,170 --> 00:06:05,270 Sto utilizzando una versione molto arcana, ma si potrebbe colpire un pulsante di riproduzione 154 00:06:05,270 --> 00:06:07,887 e che sarebbe effettivamente fare la compilazione per voi. 155 00:06:07,887 --> 00:06:10,720 Ho compilato il programma e poi ancora una volta, per eseguirlo, faccio solo questo. 156 00:06:10,720 --> 00:06:13,820 E si trasmette a sinistra, "Ciao!" 157 00:06:13,820 --> 00:06:15,530 Non mi sembra tutto ciò che oneroso. 158 00:06:15,530 --> 00:06:19,920 Ma quando i programmi sono più di uno, due, tre, 159 00:06:19,920 --> 00:06:25,470 lungo quattro, cinque linee, si può prendere molto più secondi per la compilazione. 160 00:06:25,470 --> 00:06:28,310 A volte anche minuti o un po 'di tempo per la compilazione. 161 00:06:28,310 --> 00:06:30,480 Dopo tutto, alcuni dei più grandi prodotti del mondo 162 00:06:30,480 --> 00:06:35,040 sono cose come sistemi operativi, Microsoft Word, Microsoft Excel, 163 00:06:35,040 --> 00:06:39,070 che potrebbe essere centinaia di migliaia o addirittura milioni di righe di codice lunghe, 164 00:06:39,070 --> 00:06:41,300 e quelli che non si limitano immediatamente eseguire. 165 00:06:41,300 --> 00:06:44,560 >> Inoltre, sul web, è diventato di moda da usare 166 00:06:44,560 --> 00:06:47,600 lingue semplicemente interpretati, in parte perché si 167 00:06:47,600 --> 00:06:50,570 può fare un cambiamento come lo sviluppatore e poi basta ricaricare subito 168 00:06:50,570 --> 00:06:52,570 la pagina del browser e vedere immediatamente il risultato. 169 00:06:52,570 --> 00:06:56,160 E così HTML, pur non un linguaggio di programmazione, 170 00:06:56,160 --> 00:06:58,860 è un linguaggio che è interpretato. 171 00:06:58,860 --> 00:07:00,770 E abbiamo visto che lo stesso effetto ieri. 172 00:07:00,770 --> 00:07:04,070 È appena stata ricaricata la pagina dopo aver effettuato un cambiamento di Cloud9 e- voila-- 173 00:07:04,070 --> 00:07:05,560 si vede un nuovo risultato. 174 00:07:05,560 --> 00:07:07,090 >> Allora, qual è la differenza qui? 175 00:07:07,090 --> 00:07:13,190 In HTML, richiamo, avevamo aperto HTML, testa aperta, titolo aperto, vicino titolo, 176 00:07:13,190 --> 00:07:15,250 vicino testa, corpo aperto, e così via. 177 00:07:15,250 --> 00:07:19,149 Abbiamo avuto tutti questi tag che abbiamo abbastanza molto Detto questo, dire al browser che cosa fare. 178 00:07:19,149 --> 00:07:20,690 Ehi del browser, ecco che arriva una pagina HTML. 179 00:07:20,690 --> 00:07:22,170 Ehi del browser, ecco che arriva il titolo. 180 00:07:22,170 --> 00:07:24,429 Ehi del browser, ecco che arriva un po ' testo che deve essere in grassetto. 181 00:07:24,429 --> 00:07:25,720 E poi si dice il contrario. 182 00:07:25,720 --> 00:07:27,330 Ehi del browser, il gioco è fatto per il testo grassetto. 183 00:07:27,330 --> 00:07:28,830 Ehi del browser, questo è tutto per il corpo. 184 00:07:28,830 --> 00:07:29,740 E così via. 185 00:07:29,740 --> 00:07:31,130 >> E così quello che è un browser? 186 00:07:31,130 --> 00:07:33,170 Un browser è solo un interprete. 187 00:07:33,170 --> 00:07:36,090 Si tratta di un programma che qualcuno come Microsoft o Google ha scritto, 188 00:07:36,090 --> 00:07:39,160 il cui scopo nella vita è quello di leggere una lingua, noto come HTML, 189 00:07:39,160 --> 00:07:39,890 e interpretarlo. 190 00:07:39,890 --> 00:07:41,290 Dall'alto in basso, da sinistra a destra. 191 00:07:41,290 --> 00:07:46,880 E ogni volta che il browser vede aperto staffa, titolo, chiudere la staffa, 192 00:07:46,880 --> 00:07:48,960 si deve interpretare tale nel senso, oh, che 193 00:07:48,960 --> 00:07:52,490 Mezzi devo mettere queste parole modo qui nella parte superiore del browser. 194 00:07:52,490 --> 00:07:55,700 >> Così fa solo quello che dice il codice HTML. 195 00:07:55,700 --> 00:07:57,240 Ma non ci sono zero e uno. 196 00:07:57,240 --> 00:07:58,250 Non c'è compilazione. 197 00:07:58,250 --> 00:07:58,890 Non l'avete fatto. 198 00:07:58,890 --> 00:07:59,931 Il browser non lo ha fatto. 199 00:07:59,931 --> 00:08:01,710 Non è solo coinvolto. 200 00:08:01,710 --> 00:08:05,890 >> Quindi, nello spirito di questi continua argomenti, oggi e di ieri, 201 00:08:05,890 --> 00:08:08,400 che sembra essere una caratteristica meravigliosa. 202 00:08:08,400 --> 00:08:11,410 Si salva il codice e poi basta eseguirlo o interpretarlo. 203 00:08:11,410 --> 00:08:13,790 C'è senza passaggi intermedi. 204 00:08:13,790 --> 00:08:15,690 Sicuramente c'è un costo? 205 00:08:15,690 --> 00:08:16,810 Non può essere tutti aspetti positivi. 206 00:08:16,810 --> 00:08:19,964 Così che cosa potrebbe che essere il costo? 207 00:08:19,964 --> 00:08:20,940 >> PUBBLICO: Spazio. 208 00:08:20,940 --> 00:08:22,370 >> David J. MALAN: Spazio. 209 00:08:22,370 --> 00:08:23,370 Così sicuro. 210 00:08:23,370 --> 00:08:26,920 Nel mondo compilata, avete non solo il codice sorgente originale, 211 00:08:26,920 --> 00:08:29,657 si sta creando anche e quindi presumibilmente risparmio 212 00:08:29,657 --> 00:08:31,740 la macchina code-- la zeri e ones-- e questo è 213 00:08:31,740 --> 00:08:33,870 ottenuto di prendere una certa quantità di spazio. 214 00:08:33,870 --> 00:08:34,429 Assolutamente. 215 00:08:34,429 --> 00:08:35,765 Così si sta costando più spazio. 216 00:08:35,765 --> 00:08:39,289 217 00:08:39,289 --> 00:08:39,789 Sì? 218 00:08:39,789 --> 00:08:43,280 >> Pubblico: browser potrebbero interpretare in modo diverso. 219 00:08:43,280 --> 00:08:46,770 >> David J. Malan: browser potrebbero interpretare in modo diverso. 220 00:08:46,770 --> 00:08:48,622 Questo è vero. 221 00:08:48,622 --> 00:08:50,330 Ma io non sono sicuro di essere confortevole sostenendo 222 00:08:50,330 --> 00:08:51,840 che è perché è interpretato. 223 00:08:51,840 --> 00:08:56,340 Questo è più solo perché è una implementazione di una lingua 224 00:08:56,340 --> 00:08:58,050 che si è ambiguità. 225 00:08:58,050 --> 00:09:01,570 Quindi cerchiamo di non del tutto confermare che uno, ma buona impressione. 226 00:09:01,570 --> 00:09:03,103 Che altro potrebbe essere il prezzo pagato? 227 00:09:03,103 --> 00:09:03,602 Andrea? 228 00:09:03,602 --> 00:09:05,912 >> PUBBLICO: Si sta combinando due fasi, in modo da quindi, 229 00:09:05,912 --> 00:09:08,300 avere crescente complessità pure. 230 00:09:08,300 --> 00:09:11,040 >> David J. MALAN: Il complex-- l'aumento della complessità dove? 231 00:09:11,040 --> 00:09:12,270 Per chi? 232 00:09:12,270 --> 00:09:16,748 >> PUBBLICO: Quindi, l'interprete passo, si sta unendo l'interprete 233 00:09:16,748 --> 00:09:19,120 e compilatore per appena portano a-- 234 00:09:19,120 --> 00:09:21,100 >> David J. MALAN: Ah, ok. 235 00:09:21,100 --> 00:09:25,240 Ironia della sorte, è probabilmente un po ' semplice da implementare l'interprete, 236 00:09:25,240 --> 00:09:29,530 anche se sembrerebbe aspetti positivi di rendimento di questa convenienza. 237 00:09:29,530 --> 00:09:30,550 Così forse vero. 238 00:09:30,550 --> 00:09:32,716 Ma che tipo di dipende, io direbbe, sulla lingua 239 00:09:32,716 --> 00:09:35,720 e su come sono andati sull'implementazione di esso. 240 00:09:35,720 --> 00:09:38,535 Non ci può essere molto di più di complessità, in realtà, nel compilatore, 241 00:09:38,535 --> 00:09:41,410 solo perché si deve andare da qualcosa di così alto livello a qualcosa 242 00:09:41,410 --> 00:09:42,560 così basso livello. 243 00:09:42,560 --> 00:09:45,340 Ma un buon pensiero. 244 00:09:45,340 --> 00:09:50,770 >> Quindi, in altre parole, un programma compilato, quando si gira in questi zero e uno, 245 00:09:50,770 --> 00:09:54,470 finisce nella lingua che la CPU parla, 246 00:09:54,470 --> 00:09:57,850 che in questa parte del mondo, il programma che hai scritto, 247 00:09:57,850 --> 00:10:02,527 il codice che hai scritto, in realtà mai viene convertito in linguaggio attuale 248 00:10:02,527 --> 00:10:03,360 il computer parla. 249 00:10:03,360 --> 00:10:04,190 Gli zero e uno. 250 00:10:04,190 --> 00:10:08,480 Rimane in originale, più umano amichevole, il linguaggio più leggibile. 251 00:10:08,480 --> 00:10:11,720 Quindi, quale potrebbe essere l'implicazione lì, se non in realtà 252 00:10:11,720 --> 00:10:15,020 disturbare la conversione programma per il linguaggio molto 253 00:10:15,020 --> 00:10:18,013 che il computer sottostante parla? 254 00:10:18,013 --> 00:10:19,780 >> PUBBLICO: potrebbe non capire qualcosa? 255 00:10:19,780 --> 00:10:21,170 >> David J. MALAN: Might Non capire qualcosa. 256 00:10:21,170 --> 00:10:23,297 E che può claim-- se non ha capito 257 00:10:23,297 --> 00:10:25,880 qualcosa, che sia un bug o mancanza della caratteristica nell'interprete. 258 00:10:25,880 --> 00:10:28,544 Quindi sarebbe più un errore che un costo. 259 00:10:28,544 --> 00:10:30,419 >> PUBBLICO: Si ha accesso al codice sorgente? 260 00:10:30,419 --> 00:10:31,877 David J. MALAN: C'è una buona. 261 00:10:31,877 --> 00:10:34,140 Quindi, un rovescio della medaglia qui si è sembrerebbe avere accesso. 262 00:10:34,140 --> 00:10:37,006 Si, l'utente finale, potrebbe sembrare avere accesso al codice sorgente. 263 00:10:37,006 --> 00:10:38,130 E questo non è sempre vero. 264 00:10:38,130 --> 00:10:39,660 Ma è vero nel caso di JavaScript, 265 00:10:39,660 --> 00:10:41,660 che vedremo dopo la pausa di oggi, che 266 00:10:41,660 --> 00:10:45,720 è un linguaggio di programmazione interpretato che si scrive nel codice sorgente. 267 00:10:45,720 --> 00:10:48,890 >> Ma che il codice sorgente viene trasferito dal server al browser 268 00:10:48,890 --> 00:10:51,392 e corre nel browser del umano. 269 00:10:51,392 --> 00:10:54,350 Così qui si potrebbe semplicemente aprire la finestra, come ho fatto in Chrome, 270 00:10:54,350 --> 00:10:57,740 e guardare, come noi stessi guardò ieri con Google. 271 00:10:57,740 --> 00:11:00,420 Potrebbe sembrare un po ' incomprensibile ma è lì. 272 00:11:00,420 --> 00:11:03,482 Ecco, questo è assolutamente uno prezzo pagato. 273 00:11:03,482 --> 00:11:04,565 PUBBLICO: calo di prestazioni? 274 00:11:04,565 --> 00:11:05,020 David J. MALAN: Sì. 275 00:11:05,020 --> 00:11:06,260 E questo è l'altro grosso. 276 00:11:06,260 --> 00:11:07,380 C'è un calo di prestazioni. 277 00:11:07,380 --> 00:11:10,100 Perché hai questo uomo di mezza, che si 278 00:11:10,100 --> 00:11:13,740 è un programma, tra l'utente e la CPU, in contrapposizione 279 00:11:13,740 --> 00:11:17,880 a solo alimentando queste prime zero e uno nella CPU, 280 00:11:17,880 --> 00:11:21,060 c'è un calo di prestazioni che si portare con un linguaggio interpretato. 281 00:11:21,060 --> 00:11:24,240 Tale che, arbitrariamente, un programma che potrebbe prendere uno secondo 282 00:11:24,240 --> 00:11:27,840 per l'esecuzione su un computer o uno minuto per girare su un elaboratore qui, 283 00:11:27,840 --> 00:11:32,059 potrebbe richiedere 10 secondi o 10 minuti per funzionare su un computer qui. 284 00:11:32,059 --> 00:11:35,100 Non è in genere sta per essere tale tanto di un fattore di difference-- 10-- 285 00:11:35,100 --> 00:11:36,808 perché non c'è ottimizzazioni si può fare. 286 00:11:36,808 --> 00:11:38,680 Ma è quasi sempre più lento. 287 00:11:38,680 --> 00:11:43,070 Ora, il rovescio della medaglia di questa preoccupazione è che, ben computers, ogni 12 288 00:11:43,070 --> 00:11:45,970 a 18 months-- secondo le la legge di Moore, per così speak-- 289 00:11:45,970 --> 00:11:47,600 sono solo sempre più veloce. 290 00:11:47,600 --> 00:11:48,750 Ho più e più spazio su disco. 291 00:11:48,750 --> 00:11:49,791 Ho più e più RAM. 292 00:11:49,791 --> 00:11:50,620 A chi importa veramente? 293 00:11:50,620 --> 00:11:52,328 >> E questo è una specie di argomento ragionevole. 294 00:11:52,328 --> 00:11:55,740 Infatti, uno dei motivi il motivo per cui siamo in grado di tollerare più lento 295 00:11:55,740 --> 00:11:58,480 interpretati lingue è perché noi esseri umani non si nota. 296 00:11:58,480 --> 00:12:00,690 I computer hanno ottenuto solo così maledettamente veloce. 297 00:12:00,690 --> 00:12:04,520 Mentre di nuovo nel corso della giornata, in particolare quando l'hardware è stato molto più limitato, 298 00:12:04,520 --> 00:12:06,860 si aveva meno di tutto, era molto più costoso 299 00:12:06,860 --> 00:12:10,570 quindi tutto costa di più, beh, allora si voleva davvero per spremere 300 00:12:10,570 --> 00:12:12,590 tanto le prestazioni quanto si poteva. 301 00:12:12,590 --> 00:12:16,400 Ma quella richiesta scrivendo a un livello inferiore, se si vuole, 302 00:12:16,400 --> 00:12:18,090 con un linguaggio compilato. 303 00:12:18,090 --> 00:12:20,830 >> Così si prende questo calo di prestazioni. 304 00:12:20,830 --> 00:12:24,780 Ma in generale, i pregi sembrano essere la pena in questi giorni. 305 00:12:24,780 --> 00:12:26,850 Ebbene, tranne per il questione della proprietà intellettuale. 306 00:12:26,850 --> 00:12:28,641 Questo tipo di leggibilità del codice, ci 307 00:12:28,641 --> 00:12:30,640 tornare a quando guardiamo JavaScript. 308 00:12:30,640 --> 00:12:33,140 >> Quindi cerchiamo di categorizzare almeno alcuni di questi. 309 00:12:33,140 --> 00:12:41,650 Così tra i linguaggi compilati, abbiamo avrebbe C, C ++, un po ', sorta, Java, 310 00:12:41,650 --> 00:12:48,120 anche se è un po 'di un'eccezione, per ragioni che vi mostrerò in un attimo. 311 00:12:48,120 --> 00:12:51,540 C # sarebbe in questa lista. 312 00:12:51,540 --> 00:12:54,930 Vedremo più da soli i linguaggi più moderni. 313 00:12:54,930 --> 00:12:55,430 Tutto ok. 314 00:12:55,430 --> 00:12:56,804 E questo sembra un sacco lì. 315 00:12:56,804 --> 00:13:03,500 Mentre su questo lato della barricata, potremmo avere JavaScript e Python, 316 00:13:03,500 --> 00:13:08,040 e PHP e Ruby. 317 00:13:08,040 --> 00:13:13,640 Ed è che sufficiente per quelli più recenti? 318 00:13:13,640 --> 00:13:15,410 Che si sente come un sacco per ora. 319 00:13:15,410 --> 00:13:16,330 OK. 320 00:13:16,330 --> 00:13:18,760 E poi puntini puntini, dal momento che la lista è infinita. 321 00:13:18,760 --> 00:13:22,300 >> Ed infatti, se vogliamo solo ottenere un senso di questo-- Wikipedia, 322 00:13:22,300 --> 00:13:24,130 linguaggi compilati. 323 00:13:24,130 --> 00:13:27,150 Sto cercando di indovinare che possiamo ottenere un Lista di gran lunga più esaustivo. 324 00:13:27,150 --> 00:13:27,910 Quindi qui si va. 325 00:13:27,910 --> 00:13:30,620 Quindi, ecco un elenco molto più esaustivo. 326 00:13:30,620 --> 00:13:34,150 E speravo che qualcuno avrebbe indovinare D come un linguaggio, perché ciò che esiste anche, 327 00:13:34,150 --> 00:13:37,747 ma si fermarono a D sembrerebbe. 328 00:13:37,747 --> 00:13:39,330 Anche se ci potrebbe in realtà essere un E. 329 00:13:39,330 --> 00:13:41,496 >> Oh, in realtà, questo dovrebbe essere sulla lista di questi giorni. 330 00:13:41,496 --> 00:13:47,460 Swift è in realtà un lingua che Apple ha inventato 331 00:13:47,460 --> 00:13:50,302 che è ora utilizzato, sempre più così, in fase di sviluppo iPhone. 332 00:13:50,302 --> 00:13:52,260 Ma torneremo a che con la nostra discussione 333 00:13:52,260 --> 00:13:54,090 di mobili in appena un po 'pure. 334 00:13:54,090 --> 00:13:55,260 Così Swift pure. 335 00:13:55,260 --> 00:13:57,540 >> E poi se andiamo a interpretato Language, 336 00:13:57,540 --> 00:14:05,010 interpretato Language, allora ecco un elenco ancora più lungo pure. 337 00:14:05,010 --> 00:14:07,260 Quindi, se solo Google e cercare su Wikipedia per questi, 338 00:14:07,260 --> 00:14:09,231 vedrete tutti i tipi di lingue. 339 00:14:09,231 --> 00:14:10,980 Ma lo scopo è, per oggi in realtà, solo 340 00:14:10,980 --> 00:14:13,680 si riduce a forse questo questione della proprietà intellettuale 341 00:14:13,680 --> 00:14:18,200 e leggibilità da parte dell'utente finale e prestazioni, è un altro disperatevi pure. 342 00:14:18,200 --> 00:14:21,080 >> Così fra queste lingue, fammi vedere se siamo in grado di darvi 343 00:14:21,080 --> 00:14:24,487 solo qualche esempio delle lingue. 344 00:14:24,487 --> 00:14:26,820 Non vogliamo passare per tutte le lingue all'infinito. 345 00:14:26,820 --> 00:14:29,720 Vi siete mai chiesti che cosa un certa lingua assomiglia? 346 00:14:29,720 --> 00:14:31,562 Abbiamo visto un momento fa. 347 00:14:31,562 --> 00:14:33,520 Perché non prendiamo una coppia di richieste di funzionalità. 348 00:14:33,520 --> 00:14:35,380 Chi vorrebbe vedere cosa altra lingua assomiglia? 349 00:14:35,380 --> 00:14:35,620 Sì. 350 00:14:35,620 --> 00:14:36,150 >> PUBBLICO: Java. 351 00:14:36,150 --> 00:14:36,540 >> David J. MALAN: Java. 352 00:14:36,540 --> 00:14:37,040 Tutto ok. 353 00:14:37,040 --> 00:14:38,504 Quindi andiamo a Java. 354 00:14:38,504 --> 00:14:42,300 355 00:14:42,300 --> 00:14:44,900 E proprio per darvi un campione-- potremmo scrivere tutti questi fuori, 356 00:14:44,900 --> 00:14:47,670 ma sarebbe più veloce solo guardare il codice di esempio di qualcun altro. 357 00:14:47,670 --> 00:14:48,170 Tutto ok. 358 00:14:48,170 --> 00:14:50,330 Quindi questo è un buon esempio? 359 00:14:50,330 --> 00:14:52,040 Ops. 360 00:14:52,040 --> 00:14:52,540 OK. 361 00:14:52,540 --> 00:14:58,810 Così qui è la versione Java del programma che ho scritto in precedenza, "Ciao Mondo". 362 00:14:58,810 --> 00:15:01,900 >> Così Java, spesso si vedere la parola chiave "classe". 363 00:15:01,900 --> 00:15:03,779 Poi si vedrà qualche nome dopo. 364 00:15:03,779 --> 00:15:05,570 Vedrete parentesi graffe come abbiamo visto prima, 365 00:15:05,570 --> 00:15:08,153 e talvolta vanno in stessa linea, a volte altre linee, 366 00:15:08,153 --> 00:15:09,734 è una specie di una decisione personale. 367 00:15:09,734 --> 00:15:11,900 Vedrete parole chiave come "Pubblico", "statico", "vuoto". 368 00:15:11,900 --> 00:15:13,790 Ma abbiamo fatto vedere "principale". "Main" è generalmente 369 00:15:13,790 --> 00:15:17,220 il nome della funzione di default o il pezzo di codice che di default 370 00:15:17,220 --> 00:15:18,760 viene eseguito in un programma. 371 00:15:18,760 --> 00:15:19,330 >> "Corda." 372 00:15:19,330 --> 00:15:20,850 Cosa abbiamo intendiamo per stringa di prima? 373 00:15:20,850 --> 00:15:23,480 L'ho usato sorta di indifferenza. 374 00:15:23,480 --> 00:15:25,100 Una stringa è che cosa? 375 00:15:25,100 --> 00:15:25,601 Una parola. 376 00:15:25,601 --> 00:15:27,058 È come una sequenza di caratteri. 377 00:15:27,058 --> 00:15:29,810 caratteri individuali, torna a back to back, di solito in un array, 378 00:15:29,810 --> 00:15:30,690 come abbiamo discusso. 379 00:15:30,690 --> 00:15:34,700 E in effetti, vedere questa sintassi Qui, i due parentesi quadre? 380 00:15:34,700 --> 00:15:39,210 Ciò significa che, ehi di computer, qui arriva un array di stringhe. 381 00:15:39,210 --> 00:15:42,636 La notazione parentesi quadra è comunemente usato per denotare che. 382 00:15:42,636 --> 00:15:44,510 E allora si può probabilmente prendere un guess-- cosa 383 00:15:44,510 --> 00:15:46,580 fa questo evidenziato pezzo di codice probabilmente fare? 384 00:15:46,580 --> 00:15:49,737 385 00:15:49,737 --> 00:15:50,639 >> PUBBLICO: L'uscita? 386 00:15:50,639 --> 00:15:51,090 >> David J. MALAN: Sì. 387 00:15:51,090 --> 00:15:52,506 Esso stampa qualcosa sullo schermo. 388 00:15:52,506 --> 00:15:57,070 Così "sistema" è una sorta di un riferimento al computer. 389 00:15:57,070 --> 00:15:59,620 "Out" significa che il computer di uscita o lo schermo. 390 00:15:59,620 --> 00:16:04,450 Così "System.out.print ln" probabilmente significa? 391 00:16:04,450 --> 00:16:05,570 "Ln". 392 00:16:05,570 --> 00:16:09,570 linea di stampa che i programmatori, come di precisare a quanto pare alcune parole fuori 393 00:16:09,570 --> 00:16:11,820 nella loro interezza e prendere i collegamenti con le altre parole. 394 00:16:11,820 --> 00:16:13,260 Ma "ln" è la linea, così la linea di stampa. 395 00:16:13,260 --> 00:16:17,370 Quindi esso stampa "Ciao Mondiale! ", Seguito da una nuova linea. 396 00:16:17,370 --> 00:16:18,300 >> Così il gioco è fatto. 397 00:16:18,300 --> 00:16:21,150 Ma Java è ciò che faranno chiamata object-oriented. 398 00:16:21,150 --> 00:16:23,440 E infatti, proprio per dare un paio di altre definizioni 399 00:16:23,440 --> 00:16:26,420 lì che si potrebbe vedere, in generale, ci 400 00:16:26,420 --> 00:16:30,600 sono molti diversi tipi di lingue, ma i più comuni 401 00:16:30,600 --> 00:16:37,830 sono linguaggi procedurali o imperativi. 402 00:16:37,830 --> 00:16:41,600 Ci sono funzionali lingue, che non 403 00:16:41,600 --> 00:16:43,790 significa che gli altri sono non funzionali. 404 00:16:43,790 --> 00:16:47,740 E poi c'è orientati agli oggetti lingue. 405 00:16:47,740 --> 00:16:51,170 E questo è forse il migliore categorizzazione della maggior parte delle lingue 406 00:16:51,170 --> 00:16:56,445 che si sarebbe mai scegliere per l'ordinamento di un progetto commerciale tipico. 407 00:16:56,445 --> 00:16:58,910 >> Questo sarebbe troppo, Penso, foro di un topo 408 00:16:58,910 --> 00:17:01,620 a scendere, per cercare di spiegare le varie differenze. 409 00:17:01,620 --> 00:17:04,599 Ma le lingue abbiamo visto così far-- C 410 00:17:04,599 --> 00:17:07,680 è una procedura o un linguaggio imperativo. 411 00:17:07,680 --> 00:17:11,200 Più di recente inventato lingue tendono ad essere, mi dispiace, 412 00:17:11,200 --> 00:17:14,430 object-oriented, il che significa essi hanno altre caratteristiche a loro. 413 00:17:14,430 --> 00:17:18,130 414 00:17:18,130 --> 00:17:19,430 Posso spiegare in questo modo? 415 00:17:19,430 --> 00:17:20,950 Cerchiamo di non addirittura andare laggiù. 416 00:17:20,950 --> 00:17:25,200 >> mezzi orientata agli oggetti è possibile implement-- 417 00:17:25,200 --> 00:17:27,930 è possibile modellare il mondo reale un po 'più efficace. 418 00:17:27,930 --> 00:17:29,722 L'umanità, nel corso del tempo, ha capito, wow, 419 00:17:29,722 --> 00:17:32,430 sarebbe bello se la mia lingua ha avuto questa funzione o quella caratteristica. 420 00:17:32,430 --> 00:17:34,830 Ed è per questo che abbiamo così molte lingue del mondo. 421 00:17:34,830 --> 00:17:37,670 Le persone ragionevoli, intelligente persone, d'accordo o meno 422 00:17:37,670 --> 00:17:41,000 e invariabilmente sorta di venire insieme su lo sviluppo di nuovi linguaggi tutti insieme. 423 00:17:41,000 --> 00:17:41,660 >> Caso in questione. 424 00:17:41,660 --> 00:17:45,260 Apple ha inventato Swift in speranza di abbassamento presumibilmente 425 00:17:45,260 --> 00:17:47,950 la barra per lo sviluppo iPhone, perché il Language, precedente 426 00:17:47,950 --> 00:17:51,080 chiamato Objective-C, che potrebbe essere anche sulla nostra lista qui-- 427 00:17:51,080 --> 00:17:54,190 era molto più arcana e molto più difficile per avvolgere la mente intorno. 428 00:17:54,190 --> 00:17:57,690 E come la programmazione sta diventando probabilmente più accessibile e più in generale 429 00:17:57,690 --> 00:18:00,580 adottato da persone anche meno tecnico, il goal-- 430 00:18:00,580 --> 00:18:04,160 si tratta di un obiettivo molto coraggioso per cercare di abbassare la barriera all'ingresso rendendo 431 00:18:04,160 --> 00:18:07,400 le lingue stessi più facile per iniziare con, 432 00:18:07,400 --> 00:18:09,430 ma non per questo meno potente necessariamente. 433 00:18:09,430 --> 00:18:10,560 >> E un'altra lingua. 434 00:18:10,560 --> 00:18:14,110 Perché non diamo uno sguardo a qualcosa come Python, 435 00:18:14,110 --> 00:18:18,090 che è molto in voga in questi giorni. 436 00:18:18,090 --> 00:18:19,570 Pitone. 437 00:18:19,570 --> 00:18:20,464 Esempio di programma. 438 00:18:20,464 --> 00:18:24,600 439 00:18:24,600 --> 00:18:26,700 Vediamo. 440 00:18:26,700 --> 00:18:28,790 lingue "Ciao Mondo". 441 00:18:28,790 --> 00:18:30,180 Facciamolo. 442 00:18:30,180 --> 00:18:33,625 "Ciao mondo." 443 00:18:33,625 --> 00:18:35,375 Vediamo se questo dà noi un bell'esempio. 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 Quindi, questo è in realtà tipo di divertimento. 447 00:18:41,283 --> 00:18:43,330 Quindi, se mai google "Ciao Mondo", che 448 00:18:43,330 --> 00:18:47,000 sembra essere uno dei primi programmi mai scritto in un linguaggio moderno, 449 00:18:47,000 --> 00:18:51,830 proprio come una prova di concetto, si può vedere tutti i tipi di implementazioni di questo. 450 00:18:51,830 --> 00:18:54,240 >> Alcune di queste lingue Non ho nemmeno sentito parlare. 451 00:18:54,240 --> 00:18:59,770 Ma si può see-- andiamo a base, quello che ho imparato anni fa, in parte. 452 00:18:59,770 --> 00:19:02,720 Questo è stato un linguaggio divertente perché si dovuto, come programmatore, numero di 453 00:19:02,720 --> 00:19:03,710 tutte le linee. 454 00:19:03,710 --> 00:19:05,626 Non diversamente da quello che ero facendo quando stavo scrivendo 455 00:19:05,626 --> 00:19:08,380 pseudocodice sul documento gialla in precedenza per la ricerca binaria, 456 00:19:08,380 --> 00:19:09,580 per la ricerca di una rubrica telefonica. 457 00:19:09,580 --> 00:19:11,810 >> E così, se si voleva per andare in un'altra linea, 458 00:19:11,810 --> 00:19:15,780 si sarebbe letteralmente digitare, andare a 10, o andare a 20. 459 00:19:15,780 --> 00:19:19,110 E se si sta scrivendo le linee, i convenzione era da fare, questa è la linea 10, 460 00:19:19,110 --> 00:19:22,545 questa è la linea 20, questa è la riga 30, 40, con niente in mezzo, 461 00:19:22,545 --> 00:19:25,170 dando così un bel po 'camera se si decide, aspetta un minuto, 462 00:19:25,170 --> 00:19:27,230 Ho dovuto aggiungere un po ' più codice da qualche parte. 463 00:19:27,230 --> 00:19:30,960 Si aveva ancora una sorta di nove possibilità di spremere che nel tra il programma 464 00:19:30,960 --> 00:19:33,020 prima si doveva manualmente rinumerare tutto. 465 00:19:33,020 --> 00:19:35,470 >> Quindi questo è una specie di ciò che intendo quando dico il mondo ha messo a punto 466 00:19:35,470 --> 00:19:36,303 con nuove funzionalità. 467 00:19:36,303 --> 00:19:39,364 Da qualche parte lungo la strada qualcuno realizzato, ragazzo questo è stupido. 468 00:19:39,364 --> 00:19:41,280 Questa è solo la creazione di lavorare per il programmatore. 469 00:19:41,280 --> 00:19:44,200 Così lui o lei solo tipo di costruzione un nuovo livello in cima a quello 470 00:19:44,200 --> 00:19:46,910 in modo che non ci si deve preoccupare su quale linea numeri il codice 471 00:19:46,910 --> 00:19:48,570 è in realtà su. 472 00:19:48,570 --> 00:19:54,940 >> Così, quando potreste scegliere una lingua o di un altro? 473 00:19:54,940 --> 00:19:56,690 Ebbene, quale di questi lingue Tendi 474 00:19:56,690 --> 00:20:00,960 a sentir parlare di più in il proprio mondo in questi giorni? 475 00:20:00,960 --> 00:20:02,680 Facciamo discesa Objective-C troppo. 476 00:20:02,680 --> 00:20:06,416 477 00:20:06,416 --> 00:20:07,739 >> PUBBLICO: C #. 478 00:20:07,739 --> 00:20:08,530 David J. MALAN: C #. 479 00:20:08,530 --> 00:20:10,310 Quindi, mi permetta di colore. 480 00:20:10,310 --> 00:20:13,190 Dobbiamo il nostro altro colore da qualche parte? 481 00:20:13,190 --> 00:20:14,550 Così C #. 482 00:20:14,550 --> 00:20:16,390 E che ne sai di C #? 483 00:20:16,390 --> 00:20:18,940 Tutto ciò che la primavera in mente? 484 00:20:18,940 --> 00:20:20,707 >> PUBBLICO: E 'un linguaggio di programmazione. 485 00:20:20,707 --> 00:20:22,540 David J. MALAN: Si tratta di una linguaggio di programmazione. 486 00:20:22,540 --> 00:20:23,200 OK. 487 00:20:23,200 --> 00:20:24,690 Questo è vero. 488 00:20:24,690 --> 00:20:26,440 Quindi stiamo parlando di C #. 489 00:20:26,440 --> 00:20:29,230 C # tende ad essere utilizzato in ambienti Windows, 490 00:20:29,230 --> 00:20:33,550 quindi se si sta scrivendo il software Microsoft per Windows, C # è molto comunemente usato, 491 00:20:33,550 --> 00:20:38,560 se è per software desktop, o anche software del telefono su telefoni Windows, 492 00:20:38,560 --> 00:20:41,820 se hai avuto quelli, o sul web, anche troppo. 493 00:20:41,820 --> 00:20:44,642 E infatti, forse Kareem menzionata ASP in precedenza? 494 00:20:44,642 --> 00:20:46,600 Quindi c'è anche questi cose chiamate quadri, 495 00:20:46,600 --> 00:20:51,040 che possiamo introdurre per estensione. 496 00:20:51,040 --> 00:20:53,280 Quadri, come ASP. 497 00:20:53,280 --> 00:20:55,740 I montanti per le pagine di server attivo. 498 00:20:55,740 --> 00:20:59,880 E questo è codice e un modo di programmazione 499 00:20:59,880 --> 00:21:03,490 che generalmente rende più facile per scrivere applicazioni web based. 500 00:21:03,490 --> 00:21:07,530 In altre parole, sarebbe super, super-fastidioso per scrivere un sito web 501 00:21:07,530 --> 00:21:09,469 nel linguaggio C che abbiamo visto prima, 502 00:21:09,469 --> 00:21:12,510 perché si dovrebbe utilizzare la stampa + F, si dovrà usare quella parola chiave 503 00:21:12,510 --> 00:21:13,940 "Principale" e le parentesi graffe. 504 00:21:13,940 --> 00:21:16,720 Un sacco di sintassi arcana e l'approccio per implementare 505 00:21:16,720 --> 00:21:19,195 qualcosa che è piuttosto complesso. 506 00:21:19,195 --> 00:21:20,240 Una pagina web. 507 00:21:20,240 --> 00:21:23,800 >> E così altre lingue si sono evoluti per fare questo genere di cose più facili. 508 00:21:23,800 --> 00:21:26,890 E a sua volta, le persone hanno escogitato con quadri, una sorta di strumenti 509 00:21:26,890 --> 00:21:30,520 che è possibile utilizzare tale renderlo ancora più facile da scrivere pagine web. 510 00:21:30,520 --> 00:21:33,070 Così, per esempio, per rendere questo molto più concreto, 511 00:21:33,070 --> 00:21:36,390 mi permetta di aprire solo un file di testo per un momento. 512 00:21:36,390 --> 00:21:39,380 >> E si potrebbe ricordare ieri che abbiamo detto qualcosa 513 00:21:39,380 --> 00:21:41,210 come, questa è una pagina web. 514 00:21:41,210 --> 00:21:42,300 HTML. 515 00:21:42,300 --> 00:21:45,340 Chiudi HTML. 516 00:21:45,340 --> 00:21:48,500 Mi permetta di saltare la testa e basta fare il corpo qui. 517 00:21:48,500 --> 00:21:52,810 Supponiamo che volevo scrivere non "Ciao Mondo" 518 00:21:52,810 --> 00:21:57,020 ma "Ciao David", dove David è il nome dell'utente attualmente connesso utente. 519 00:21:57,020 --> 00:22:00,270 Che qualcosa di simile ASP farà, o JSP-- 520 00:22:00,270 --> 00:22:04,060 che è il server Java pages-- o un numero qualsiasi di altri framework 521 00:22:04,060 --> 00:22:05,435 è che non sono lingue, di per sé. 522 00:22:05,435 --> 00:22:07,351 Sono proprio come software aggiuntivo che si 523 00:22:07,351 --> 00:22:10,490 sarebbe installare nel vostro ambiente che appena rendono più facile da programmare. 524 00:22:10,490 --> 00:22:15,670 >> Così, per esempio, invece di avere a che fare qualcosa come "ciao, printf (" David ")" 525 00:22:15,670 --> 00:22:17,510 o qualcosa che è tipo di co-mingling-- 526 00:22:17,510 --> 00:22:20,840 il tipo di codice che abbiamo visto before-- si potrebbe fare qualcosa di molto più semplice, 527 00:22:20,840 --> 00:22:26,190 come "nome%." 528 00:22:26,190 --> 00:22:28,660 E così questi quadri, come ASP-- e io 529 00:22:28,660 --> 00:22:31,212 Non ricordo se mi sto la sintassi giusto per ASP. 530 00:22:31,212 --> 00:22:33,100 JSP è un little-- è questo diritto? 531 00:22:33,100 --> 00:22:36,500 >> Quindi, con ASP, è una sorta di sintassi speciale 532 00:22:36,500 --> 00:22:39,830 che alcuni sviluppatori hanno deciso questo potrebbe aiutare le persone. 533 00:22:39,830 --> 00:22:43,000 E posso esprimere più succintamente segnaposto, per esempio. 534 00:22:43,000 --> 00:22:47,187 Come mettere un valore qui, dove questo nome valore non è N-A-M-E, 535 00:22:47,187 --> 00:22:48,520 si tratta di un certo valore memorizzato in là. 536 00:22:48,520 --> 00:22:50,728 Quindi, "nome", in questo contesto, noi chiameremmo una variabile. 537 00:22:50,728 --> 00:22:52,760 Algebra ha variabili come x e y, z. 538 00:22:52,760 --> 00:22:56,021 I programmatori usano variabili che sono più descrittivo di x, y, z, 539 00:22:56,021 --> 00:22:56,520 tipicamente. 540 00:22:56,520 --> 00:23:01,020 Quindi, "nome" sarebbe letteralmente essere un qualche tipo di contenitori di memoria per qualcosa di simile 541 00:23:01,020 --> 00:23:05,440 D-A-V-I-D, per il mio nome, o chiunque il resto è effettuato l'accesso al sito web. 542 00:23:05,440 --> 00:23:09,300 >> E così questo è il tipo di convenienza si ottiene con certi ambienti. 543 00:23:09,300 --> 00:23:14,220 Quindi, C # e qualcosa come ASP sarebbe molto comunemente essere utilizzato in un mondo di Windows, 544 00:23:14,220 --> 00:23:16,460 sia per la sua scrivania software o web server, 545 00:23:16,460 --> 00:23:21,490 soprattutto se i server sono a loro volta esegue Microsoft Windows e Microsoft 546 00:23:21,490 --> 00:23:25,810 IIS-- o Internet Information Server, se ottengo l'acronimo destra- 547 00:23:25,810 --> 00:23:27,800 che è web server di Microsoft. 548 00:23:27,800 --> 00:23:30,820 >> Così che cosa altre lingue sono persone che hanno familiarità con, 549 00:23:30,820 --> 00:23:35,228 o avete sentito parlare di più spesso che non? 550 00:23:35,228 --> 00:23:38,262 >> PUBBLICO: So che Python tipo di un popolare [INCOMPRENSIBILE]. 551 00:23:38,262 --> 00:23:39,470 David J. MALAN: Molto popolare. 552 00:23:39,470 --> 00:23:45,490 Quindi, Python qui viene utilizzato molto spesso in applicazioni scientifiche o dati 553 00:23:45,490 --> 00:23:48,330 scienza, dove si ha un sacco di dati che si desidera analizzare 554 00:23:48,330 --> 00:23:50,413 e si desidera utilizzare un linguaggio di programmazione per esso. 555 00:23:50,413 --> 00:23:53,640 R può comunemente essere usato per questo così, in un contesto statistico. 556 00:23:53,640 --> 00:23:56,400 Ma Python ha così tanti caratteristiche costruito in. 557 00:23:56,400 --> 00:23:58,850 Tanti aggiuntivo biblioteche, come si dice. 558 00:23:58,850 --> 00:24:01,260 >> Le biblioteche sono solo raccolte di codice che altre persone 559 00:24:01,260 --> 00:24:04,218 ha scritto che è possibile utilizzare in modo che non c'è bisogno di reinventare quelle ruote. 560 00:24:04,218 --> 00:24:07,430 E così Python è molto comunemente utilizzati in applicazioni scientifiche dati. 561 00:24:07,430 --> 00:24:09,930 Ma è anche molto comunemente utilizzato in applicazioni web. 562 00:24:09,930 --> 00:24:12,780 È possibile implementare una dinamica sito web utilizzando Python. 563 00:24:12,780 --> 00:24:15,210 >> E dal sito web dinamico, I contenuto medio non solo statica 564 00:24:15,210 --> 00:24:19,530 come abbiamo creato ieri, da solo difficile codifica nel testo latino 565 00:24:19,530 --> 00:24:21,820 e altre cose del genere, ma piuttosto la capacità 566 00:24:21,820 --> 00:24:25,367 effettuare il login, la possibilità di acquistare qualcosa, la capacità di approfittare 567 00:24:25,367 --> 00:24:26,950 con i vostri carrelli della spesa, o simili. 568 00:24:26,950 --> 00:24:30,590 Tutto questo richiede dinamismo e si bisogno di un certo linguaggio come uno di loro. 569 00:24:30,590 --> 00:24:35,060 >> PUBBLICO: Così fa Python dispone di un proprio estensione, simile a come [INAUDIBLE] 570 00:24:35,060 --> 00:24:36,060 David J. MALAN: lo fa. 571 00:24:36,060 --> 00:24:42,250 Così nel mondo di Python, Django è un quadro molto popolare per Python. 572 00:24:42,250 --> 00:24:46,520 WSGI è un altro meccanismo che è sorta di diverso da questo 573 00:24:46,520 --> 00:24:47,640 ma simili nello spirito. 574 00:24:47,640 --> 00:24:52,200 Si tratta di un add-on che permette per eseguire codice Python su un server. 575 00:24:52,200 --> 00:24:53,950 C'è other-- sì. 576 00:24:53,950 --> 00:24:57,250 Quindi questi chiameremo quadri. 577 00:24:57,250 --> 00:24:58,870 Ed è un po 'di un abuso. 578 00:24:58,870 --> 00:25:00,920 Questo è più di una tecnologia server web. 579 00:25:00,920 --> 00:25:04,610 Ma noi terremo semplice e mettere in questa colonna comunque. 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 Un altro cosa-- e in realtà, lascia Mi sposto che, per la propria colonna, 584 00:25:12,100 --> 00:25:17,000 perché vorrei urlare a me stesso per mettendoli nello stesso bucket. 585 00:25:17,000 --> 00:25:24,910 Mettiamo questo al server caratteristiche, diciamo. 586 00:25:24,910 --> 00:25:26,710 Questo non è un termine tecnico. 587 00:25:26,710 --> 00:25:29,180 >> Così qui potremmo essere WSGI. 588 00:25:29,180 --> 00:25:32,580 C'è CGI, che è un vecchio tecnica per servire fino lingue 589 00:25:32,580 --> 00:25:35,890 come Perl o PHP, o alcuni altri. 590 00:25:35,890 --> 00:25:39,000 Anche in questo caso, ho già detto questi termini non tanto per una sorta di loro ingrain, 591 00:25:39,000 --> 00:25:40,749 ma in modo che se si vede loro è qualcosa 592 00:25:40,749 --> 00:25:42,130 semplicemente google per leggere di più. 593 00:25:42,130 --> 00:25:46,110 Non c'è vero succo per alcune di queste cose. 594 00:25:46,110 --> 00:25:47,850 >> Ma torniamo alle lingue. 595 00:25:47,850 --> 00:25:50,499 Abbiamo parlato di C #, Python. 596 00:25:50,499 --> 00:25:52,790 Che altro potreste usare per Programmazione Web in questi giorni? 597 00:25:52,790 --> 00:25:54,302 Concentriamoci su quello ancora. 598 00:25:54,302 --> 00:25:55,247 >> PUBBLICO: PHP. 599 00:25:55,247 --> 00:25:56,080 David J. MALAN: PHP. 600 00:25:56,080 --> 00:25:57,413 E torniamo a quello. 601 00:25:57,413 --> 00:25:59,310 Così PHP è molto comunemente usato. 602 00:25:59,310 --> 00:26:01,560 PHP tende ad ottenere una cattiva reputazione. 603 00:26:01,560 --> 00:26:05,790 E 'iniziato come un linguaggio implementato da persone che forse non erano necessariamente 604 00:26:05,790 --> 00:26:06,960 i migliori progettisti di linguaggi. 605 00:26:06,960 --> 00:26:11,290 E così si può leggere tutti i tipi di articoli online su quanto male PHP è. 606 00:26:11,290 --> 00:26:13,660 E purtroppo, questo è una manifestazione, in parte, 607 00:26:13,660 --> 00:26:18,727 di appena dibattiti religiosi che scoppiano tra i programmatori. 608 00:26:18,727 --> 00:26:20,560 E questo è qualcosa vale la pena tenere a mente, 609 00:26:20,560 --> 00:26:24,410 da una prospettiva di business, che è molto facile per i tecnici 610 00:26:24,410 --> 00:26:26,900 per ottenere tutti lavorato con loro opinioni su certe cose. 611 00:26:26,900 --> 00:26:29,566 E non significa necessariamente che quello urlare più forte 612 00:26:29,566 --> 00:26:31,870 o con la più forte, opinione angriest è giusto. 613 00:26:31,870 --> 00:26:34,100 Un sacco di volte, in realtà semplicemente non importa. 614 00:26:34,100 --> 00:26:37,970 >> E così le persone sono solo discutendo qualunque loro pregiudizi o zone di comfort sono. 615 00:26:37,970 --> 00:26:40,760 E così si dovrebbe tenere questo in mente quando si effettua 616 00:26:40,760 --> 00:26:42,622 una decisione, che proprio perché qualcuno dice 617 00:26:42,622 --> 00:26:45,080 questo è il linguaggio giusto per il lavoro, che potrebbe essere vero, 618 00:26:45,080 --> 00:26:48,350 ma anche appena potrebbe essere che è il lingua giusta all'interno della propria abilità 619 00:26:48,350 --> 00:26:49,267 impostare o zona di comfort. 620 00:26:49,267 --> 00:26:52,600 Che non è male, ma si dovrebbe capire che ci potrebbe essere qualche contesto lì. 621 00:26:52,600 --> 00:26:54,440 Ci sono alcuni oggettivamente dichiarazioni errate, 622 00:26:54,440 --> 00:26:59,080 come C è il linguaggio sbagliato usare in questi giorni per i siti web attuazione 623 00:26:59,080 --> 00:27:00,520 quasi sempre. 624 00:27:00,520 --> 00:27:03,370 Ma non è irragionevole dire che uno di questi 625 00:27:03,370 --> 00:27:05,700 sono sbagliato che abbiamo cerchiato finora. 626 00:27:05,700 --> 00:27:08,180 >> PHP è passato attraverso molte versioni. 627 00:27:08,180 --> 00:27:11,310 Così lingue tendono ad avere la versione numeri ad essi associati. 628 00:27:11,310 --> 00:27:15,390 PHP è fino a, credo, la versione 7 ora, così è stato in giro per un bel po 'di tempo. 629 00:27:15,390 --> 00:27:18,270 E come lingue diventano più recente, spesso ottengono nuove funzionalità. 630 00:27:18,270 --> 00:27:22,510 Ma bisogna essere consapevoli di questo perché se il vostro sito è stato 631 00:27:22,510 --> 00:27:27,539 implementato in versione 7 di PHP, ma si sta cercando di eseguire il vostro sito web, 632 00:27:27,539 --> 00:27:29,830 o forse hai in outsourcing lo sviluppo del codice 633 00:27:29,830 --> 00:27:31,960 a qualcun altro e posta a voi o inviare a voi 634 00:27:31,960 --> 00:27:33,960 e dicono, qui, mettere questo sul vostro server web, 635 00:27:33,960 --> 00:27:36,610 se il server web si trova a pochi anni outdated-- che si tratti di 636 00:27:36,610 --> 00:27:39,465 proprio server o un host-- web non potrebbe effettivamente eseguito. 637 00:27:39,465 --> 00:27:41,340 Quindi questi sono i tipi di cose che qualcuno 638 00:27:41,340 --> 00:27:44,067 ha bisogno di essere consapevoli di durante l'aggiornamento di un sito 639 00:27:44,067 --> 00:27:45,650 o attuazione per la prima volta. 640 00:27:45,650 --> 00:27:46,900 >> Ho sentito JavaScript in precedenza. 641 00:27:46,900 --> 00:27:50,570 Così JavaScript è un interessante uno in quanto è generalmente 642 00:27:50,570 --> 00:27:53,030 lato client, come vedremo dopo la pausa, che 643 00:27:53,030 --> 00:27:55,000 significa che viene eseguito nel browser dell'utente. 644 00:27:55,000 --> 00:27:58,400 Ma si può anche eseguire JavaScript in questi giorni 645 00:27:58,400 --> 00:28:03,450 usando una cosa chiamata Node.js, dove Node.js 646 00:28:03,450 --> 00:28:08,000 è un meccanismo di funzionamento codice JavaScript lato server, 647 00:28:08,000 --> 00:28:12,430 invece di usare Python, o PHP, o altre lingue. 648 00:28:12,430 --> 00:28:17,820 >> JavaScript è particolarmente adatto per le applicazioni di chat e in tempo reale 649 00:28:17,820 --> 00:28:22,050 applicazioni, considerando che PHP non è un grande lingua per attuare qualcosa 650 00:28:22,050 --> 00:28:25,050 come un server di chat, dove gli utenti rimanere in contatto con esso costantemente. 651 00:28:25,050 --> 00:28:28,760 PHP è più di una visita di me una volta, tornare un risultato, 652 00:28:28,760 --> 00:28:31,790 e quindi fare clic su un altro collegamento un po ' secondi o minuti da ora. 653 00:28:31,790 --> 00:28:36,020 Mentre Node.js e JavaScript può essere usato più per le connessioni persistenti. 654 00:28:36,020 --> 00:28:40,840 Altre lingue che si sospetta sono comunemente usati per le cose web? 655 00:28:40,840 --> 00:28:42,800 >> PUBBLICO: Sarebbe jQuery essere un quadro? 656 00:28:42,800 --> 00:28:44,050 >> David J. MALAN: Buona domanda. 657 00:28:44,050 --> 00:28:44,700 Nessuno dei due. 658 00:28:44,700 --> 00:28:51,210 Chiamerei jQuery una biblioteca, dove ancora una volta una libreria è solo un mucchio di codice 659 00:28:51,210 --> 00:28:53,250 che qualcun altro ha scritto che in genere 660 00:28:53,250 --> 00:28:56,390 risolve alcuni problemi che rende, si spera, più facile 661 00:28:56,390 --> 00:28:57,760 per voi per fare il vostro lavoro. 662 00:28:57,760 --> 00:29:00,820 E mi permetta di fare un esempio di ciò nel contesto del web. 663 00:29:00,820 --> 00:29:03,910 >> Nel contesto del web c'è questo linguaggio, JavaScript, 664 00:29:03,910 --> 00:29:06,690 che vedremo in seguito, per cui si potrebbe dire qualcosa di simile questo-- 665 00:29:06,690 --> 00:29:10,060 "Document.getElementById." 666 00:29:10,060 --> 00:29:11,490 E che cosa ho chiamo ieri? 667 00:29:11,490 --> 00:29:16,800 In primo luogo, credo, è stato l'ID univoco ho dato ad un elemento che si presentava così. 668 00:29:16,800 --> 00:29:23,110 "P id =" prima ">" e poi abbiamo avuto come "ipsum lorem", eccetera. 669 00:29:23,110 --> 00:29:28,210 Quindi, se dovessi scrivere un programma in JavaScript per manipolare in qualche modo, 670 00:29:28,210 --> 00:29:30,830 modificare le pagine web che abbiamo stavano giocando con ieri, 671 00:29:30,830 --> 00:29:33,010 Vorrei usare questo riga evidenziata di codice 672 00:29:33,010 --> 00:29:38,700 per ottenere quel particolare frammento di codice HTML dalla mia pagina, quel particolare nodo, 673 00:29:38,700 --> 00:29:39,680 come noi chiameremo. 674 00:29:39,680 --> 00:29:44,540 >> Tuttavia, in jQuery, invece di scrivere questo, che è crudo code-- JavaScript 675 00:29:44,540 --> 00:29:48,870 appena fuori dalla scatola, è così che si scrivere it-- si sarebbe invece solo dire, 676 00:29:48,870 --> 00:29:50,260 "#primo." 677 00:29:50,260 --> 00:29:52,330 Questo è equivalente. 678 00:29:52,330 --> 00:29:56,040 E così basati esclusivamente su tale molto Esempio arcano, cosa forse 679 00:29:56,040 --> 00:29:57,870 è l'argomento per l'utilizzo di jQuery? 680 00:29:57,870 --> 00:30:01,390 681 00:30:01,390 --> 00:30:05,111 Perché uno sviluppatore avrebbe usato una libreria come jQuery, sulla base di questo esempio isolato, 682 00:30:05,111 --> 00:30:05,610 forse? 683 00:30:05,610 --> 00:30:06,335 >> PUBBLICO: meno codice. 684 00:30:06,335 --> 00:30:06,780 >> David J. MALAN: Sì. 685 00:30:06,780 --> 00:30:07,530 E 'meno codice. 686 00:30:07,530 --> 00:30:09,070 E 'solo più veloce da digitare. 687 00:30:09,070 --> 00:30:11,690 Il contrappunto è che sembra più paura. 688 00:30:11,690 --> 00:30:13,540 Non si può davvero leggere da sinistra a destra. 689 00:30:13,540 --> 00:30:16,730 Infatti, perché è principalmente punteggiatura ora invece di effettive parole, 690 00:30:16,730 --> 00:30:20,950 Posso tipo di dedurre che "Document.getElementById" ottiene 691 00:30:20,950 --> 00:30:23,640 un elemento dal documento dal suo ID. 692 00:30:23,640 --> 00:30:26,750 Sono davvero in grado di utilizzare tale mnemonica di questa cosa qui. 693 00:30:26,750 --> 00:30:27,680 >> Quindi è un compromesso. 694 00:30:27,680 --> 00:30:30,763 C'è una sofisticazione che deriva spesso con l'utilizzo di librerie, in particolare 695 00:30:30,763 --> 00:30:31,440 come jQuery. 696 00:30:31,440 --> 00:30:34,700 Ma la realtà è jQuery è tipo di diventare un standard de facto, 697 00:30:34,700 --> 00:30:38,110 in modo che quasi tutti questi giorni che scrive codice JavaScript 698 00:30:38,110 --> 00:30:41,520 utilizza jQuery o qualcosa simile, e scrive non è più 699 00:30:41,520 --> 00:30:45,200 un verbose espressioni come questo, perché ancora una volta, l'umanità 700 00:30:45,200 --> 00:30:47,850 ha imparato, wow, che era sorta di un'occasione persa 701 00:30:47,850 --> 00:30:49,030 per rendere la vita più facile. 702 00:30:49,030 --> 00:30:51,140 Così gli esseri umani fanno la vita più facile. 703 00:30:51,140 --> 00:30:53,310 Buona domanda. 704 00:30:53,310 --> 00:30:55,870 >> Altre lingue da considerare. 705 00:30:55,870 --> 00:30:58,660 Direi che tra questa lista Ruby è molto popolare. 706 00:30:58,660 --> 00:31:01,310 E così nel mondo della Ruby, c'è un quadro 707 00:31:01,310 --> 00:31:03,590 chiamati Rails, che è molto popolare. 708 00:31:03,590 --> 00:31:06,880 Quindi, Ruby on Rails è un comunemente usato espressione. 709 00:31:06,880 --> 00:31:10,330 Anche in questo mondo, mi permetta cerchio Java per roba web, 710 00:31:10,330 --> 00:31:14,160 dove nel mondo di Java si potrebbe avere JSP o Java 711 00:31:14,160 --> 00:31:18,450 Servlet, che è una tecnologia comune. 712 00:31:18,450 --> 00:31:22,560 E questo è solo ancora modi di utilizzo che il linguaggio in un ambiente server. 713 00:31:22,560 --> 00:31:23,520 >> Che cosa significa? 714 00:31:23,520 --> 00:31:25,770 Se hai un fisico Server, si farebbe letteralmente 715 00:31:25,770 --> 00:31:30,510 scaricare il software del server Web e installarlo in modo tale 716 00:31:30,510 --> 00:31:33,510 di avere il supporto per uno dei questi framework, con il quale si 717 00:31:33,510 --> 00:31:37,260 potrebbe, a sua volta, utilizzare uno o più di queste lingue. 718 00:31:37,260 --> 00:31:40,260 E in realtà, se ti iscrivi per come un host web o di alcuni dei cloud 719 00:31:40,260 --> 00:31:41,968 servizi abbiamo parlato ieri, spesso 720 00:31:41,968 --> 00:31:44,885 la roba appena viene fornito con il la configurazione della macchina per voi. 721 00:31:44,885 --> 00:31:46,510 Non è necessario impostare questa funzione manualmente. 722 00:31:46,510 --> 00:31:51,040 Ma se avete fatto, questo è dove il ruolo di amministratore di sistema, per così dire, 723 00:31:51,040 --> 00:31:51,860 entra in gioco. 724 00:31:51,860 --> 00:31:54,151 Lui o lei sarebbe in realtà fare questo genere di cose per voi, 725 00:31:54,151 --> 00:31:58,510 o il cosiddetto webmaster Spesso sarebbe fare questo per voi. 726 00:31:58,510 --> 00:31:59,010 Tutto ok. 727 00:31:59,010 --> 00:32:03,300 Tutte le domande su alcuni di questi qui? 728 00:32:03,300 --> 00:32:06,690 O qualsiasi opportunità a tutto per chiedere di lingue? 729 00:32:06,690 --> 00:32:09,500 Quadri? 730 00:32:09,500 --> 00:32:11,530 Allora mi permetta di introdurre solo un altra libreria 731 00:32:11,530 --> 00:32:13,150 questo è anche molto comune in questi giorni. 732 00:32:13,150 --> 00:32:15,340 Questo elenco potrebbe continuare all'infinito. 733 00:32:15,340 --> 00:32:19,140 >> E questo è una specie di biblioteca cominciando a cadere in disgrazia. 734 00:32:19,140 --> 00:32:19,850 E 'stato in giro. 735 00:32:19,850 --> 00:32:22,040 E 'stato reso popolare da Twitter per qualche tempo. 736 00:32:22,040 --> 00:32:24,470 E ora un sacco di siti web, un sacco di sviluppatori lo usano. 737 00:32:24,470 --> 00:32:26,629 Ma le cose nuove sono in arrivo fuori e venendo. 738 00:32:26,629 --> 00:32:29,420 Ma lasciate che vi dia un senso di che cosa significa utilizzare una libreria. 739 00:32:29,420 --> 00:32:32,250 Quindi, di nuovo, JavaScript è un linguaggio molto popolare. 740 00:32:32,250 --> 00:32:35,340 CSS o Cascading Style Sheets, abbiamo parlato ieri. 741 00:32:35,340 --> 00:32:36,600 Anche questo è onnipresente. 742 00:32:36,600 --> 00:32:40,130 Nessuno fa una pagina web di oggi senza l'utilizzo di HTML e CSS in minima parte. 743 00:32:40,130 --> 00:32:42,510 Ma non è sempre facile di fare certe cose. 744 00:32:42,510 --> 00:32:46,281 >> E così mi permetta di andare a getbootstrap.com. 745 00:32:46,281 --> 00:32:46,780 Ops. 746 00:32:46,780 --> 00:32:48,280 Questo non è il modo in cui incantesimo. 747 00:32:48,280 --> 00:32:52,410 Getbootstrap.com, che sta per portare me 748 00:32:52,410 --> 00:32:56,140 alla pagina di destinazione per questa libreria. 749 00:32:56,140 --> 00:32:59,720 Così hanno generosamente chiamano essi stessi un quadro, che 750 00:32:59,720 --> 00:33:02,032 è una specie di specie di fiera, ma vorrei ancora chiamarla 751 00:33:02,032 --> 00:33:03,490 più di una libreria di un quadro. 752 00:33:03,490 --> 00:33:05,760 Ma questi sono solo semantica discutibili. 753 00:33:05,760 --> 00:33:12,360 Lasciatemi andare alla loro scheda CSS e lasciami andare a qualcosa di simile. 754 00:33:12,360 --> 00:33:15,450 >> Quindi, ricordare ciò che i nostri moduli guardarono come ieri su Cloud9? 755 00:33:15,450 --> 00:33:16,370 E 'stato abbastanza brutto. 756 00:33:16,370 --> 00:33:17,320 pulsanti vecchia scuola. 757 00:33:17,320 --> 00:33:20,420 Credo che il pulsante era grigio da predefinito. E tutto era davvero 758 00:33:20,420 --> 00:33:22,420 formattato piuttosto disordinatamente. 759 00:33:22,420 --> 00:33:26,940 Quindi, se si desidera che i moduli web a guardare un po 'nicer-- let me lo zoom in qui. 760 00:33:26,940 --> 00:33:30,050 >> E da più bello io davvero solo significa estetica molto nitpicky. 761 00:33:30,050 --> 00:33:35,390 Così notare come la casella di posta elettronica ci ha arrotondato angoli rettangolari ad esso. 762 00:33:35,390 --> 00:33:37,010 Quindi è un po 'più pulito lì. 763 00:33:37,010 --> 00:33:40,770 Si noti che la parola e-mail è lì fino a quando mi metto a digitare 764 00:33:40,770 --> 00:33:41,797 e poi va via. 765 00:33:41,797 --> 00:33:43,130 Ecco, questo è un po 'bella caratteristica. 766 00:33:43,130 --> 00:33:46,046 Si noti come la cosa è un po ' incandescente bene, che alcuni di voi questo 767 00:33:46,046 --> 00:33:49,069 ottenere gratuitamente dal tuo browser, ma alcune di queste è anche librerie, 768 00:33:49,069 --> 00:33:51,360 codice che altre persone hanno scritto che questo danno. 769 00:33:51,360 --> 00:33:53,480 >> Qualcosa come questo mi dà la mia password. 770 00:33:53,480 --> 00:33:58,480 Questo pulsante è un po 'più sexy rispetto alla predefinito. Molto in voga in questo momento. 771 00:33:58,480 --> 00:34:03,570 Da quando iOS 7 o giù di lì, la mondo ha ottenuto molto piatto, 772 00:34:03,570 --> 00:34:09,000 mentre il mondo prima di allora un sacco di ombre, un sacco 773 00:34:09,000 --> 00:34:11,040 di riflessioni sulle icone. 774 00:34:11,040 --> 00:34:14,170 Proprio come nel mondo dell'abbigliamento, c'è tendenze della moda che vanno e vengono. 775 00:34:14,170 --> 00:34:16,190 Ora tutto è piatta sul telefono. 776 00:34:16,190 --> 00:34:19,159 >> In realtà, i pulsanti sul tuo iPhone ora sono solo link blu. 777 00:34:19,159 --> 00:34:21,000 Non c'è spesso anche pulsanti circolari. 778 00:34:21,000 --> 00:34:22,791 Quindi, queste sono solo le cose che andare dentro e fuori 779 00:34:22,791 --> 00:34:26,659 di Vogue, e quindi questo è come si potrebbe fare una più moderna forma di web alla ricerca. 780 00:34:26,659 --> 00:34:27,159 Pulsanti. 781 00:34:27,159 --> 00:34:29,190 Così Bootstrap ha un sacco di belle pulsanti. 782 00:34:29,190 --> 00:34:33,639 Quindi, se volete pulsanti blu, bottoni verdi, blu, arancio, rosso. 783 00:34:33,639 --> 00:34:35,840 Bootstrap facilita di fare queste cose. 784 00:34:35,840 --> 00:34:38,131 Questi sono i tipi di cose che si poteva assolutamente 785 00:34:38,131 --> 00:34:41,840 hanno fatto ieri con i CSS e con HTML, ma è solo un dolore al collo. 786 00:34:41,840 --> 00:34:44,840 E così, invece, che cosa sarebbe Bootstrap dispone che fai è qualcosa di simile. 787 00:34:44,840 --> 00:34:48,960 >> Se si desidera un button-- scopre questo è un tag HTML non abbiamo usato yesterday-- 788 00:34:48,960 --> 00:34:53,070 e si desidera guardare in questo modo tasto verde, 789 00:34:53,070 --> 00:34:57,380 letteralmente solo dargli una lezione, cosa che abbiamo fatto parlare di ieri, 790 00:34:57,380 --> 00:34:59,710 di "btn BTN-successo". 791 00:34:59,710 --> 00:35:00,971 >> Perché quelle parole? 792 00:35:00,971 --> 00:35:03,470 Twitter, di Bootstrap gli autori, si avvicinò con queste parole. 793 00:35:03,470 --> 00:35:05,428 Avrebbero potuto chiamato loro tutto quello che vogliono. 794 00:35:05,428 --> 00:35:08,480 Ma che cosa stai ricevendo ora è qualcun altro a Twitter, in questo caso, 795 00:35:08,480 --> 00:35:12,360 ha capito come si fa a fare un pulsante di aspetto gradevole e pulita e verde. 796 00:35:12,360 --> 00:35:15,580 Hanno confezionato up che la funzionalità in una classe CSS, denominata "btn" 797 00:35:15,580 --> 00:35:19,790 e "BTN-successo", in modo che nessuno di noi può ora usarlo senza nemmeno pensarci 798 00:35:19,790 --> 00:35:20,290 esso. 799 00:35:20,290 --> 00:35:22,880 Così hanno estratta via la nozione di un pulsante verde 800 00:35:22,880 --> 00:35:25,320 quindi non abbiamo a cuore attuazione noi stessi. 801 00:35:25,320 --> 00:35:28,520 Possiamo in realtà concentrarsi sull'attuazione cose di interesse per noi. 802 00:35:28,520 --> 00:35:30,902 >> Se scorriamo qui. 803 00:35:30,902 --> 00:35:32,110 Messaggi di errore sullo schermo. 804 00:35:32,110 --> 00:35:35,440 A volte si vuole un po messaggio a comparire sulla parte superiore del browser. 805 00:35:35,440 --> 00:35:39,729 Chiunque di noi potrebbe fare questo con un po ' sforzo, dopo la lezione di ieri, 806 00:35:39,729 --> 00:35:40,770 ma perché si preoccuparsi? 807 00:35:40,770 --> 00:35:42,540 Questo è un tale poco interessante dettaglio estetico. 808 00:35:42,540 --> 00:35:44,248 Alziamoci in spalle di Bootstrap 809 00:35:44,248 --> 00:35:49,440 e far loro ci danno le cose come questo, dove abbiamo letteralmente, per ottenere una scatola rossa, 810 00:35:49,440 --> 00:35:53,220 solo fare un paragrafo tag con una classe di-- dispiace. 811 00:35:53,220 --> 00:35:57,307 "Bg-pericolo" darebbe noi la casella rossastro, invece. 812 00:35:57,307 --> 00:35:59,140 Ora andiamo al le cose più interessanti. 813 00:35:59,140 --> 00:36:02,950 Se torno in cima questa pagina e andare a Componenti, 814 00:36:02,950 --> 00:36:05,380 ora il mondo si fa più interessante. 815 00:36:05,380 --> 00:36:08,826 Per esempio, molto comune è menu a discesa come questo. 816 00:36:08,826 --> 00:36:11,560 Questo sarebbe un assoluto il dolore da implementare. 817 00:36:11,560 --> 00:36:13,610 E non è stato così a lungo fa che abbiamo programmatori 818 00:36:13,610 --> 00:36:16,490 avrebbe dovuto attuare tali tipi di menu da zero. 819 00:36:16,490 --> 00:36:20,800 >> Ma è un paradigma così comune che le biblioteche come Bootstrap 820 00:36:20,800 --> 00:36:25,230 solo vi darà la possibilità di fare una menu a discesa molto, molto più facilmente. 821 00:36:25,230 --> 00:36:27,850 Non c'è un modo per farlo, ma se ho letto la documentazione 822 00:36:27,850 --> 00:36:32,100 Vorrei vedere che, OK, devo usare questo HTML se voglio un menu a discesa 823 00:36:32,100 --> 00:36:34,030 che si comporta come tale. 824 00:36:34,030 --> 00:36:36,690 >> Allo stesso modo, andiamo a pulsante a discesa. 825 00:36:36,690 --> 00:36:38,470 Quindi, questo è ancora più elaborato. 826 00:36:38,470 --> 00:36:41,800 Se io voglio che questo aspetto di un tasto ma quel piccolo triangolo significa 827 00:36:41,800 --> 00:36:44,080 Dovrei cliccare su di esso e ottenere questo menu, questa 828 00:36:44,080 --> 00:36:45,760 è usando un linguaggio chiamato JavaScript. 829 00:36:45,760 --> 00:36:47,470 E tutti potremmo implementare questo in JavaScript. 830 00:36:47,470 --> 00:36:49,720 Ma di nuovo, questa è una ruota non si vuole reinventare. 831 00:36:49,720 --> 00:36:52,700 Hai voglia di toglierlo biblioteca scaffale per questo. 832 00:36:52,700 --> 00:36:58,145 >> Andiamo a qualcosa come barre di avanzamento. 833 00:36:58,145 --> 00:36:59,770 Quindi, qualcosa di simile a questo è una specie di fresco. 834 00:36:59,770 --> 00:37:02,910 Se hai mai visto un progresso barra in movimento attraverso lo schermo, 835 00:37:02,910 --> 00:37:06,380 attuazione che spesso è solo un'icona di filatura. 836 00:37:06,380 --> 00:37:10,200 Infatti, proprio come un a parte, lasciare andare a Ajax-- cosa si tratta? 837 00:37:10,200 --> 00:37:10,710 Ajax informazioni? 838 00:37:10,710 --> 00:37:11,720 Ops. 839 00:37:11,720 --> 00:37:13,035 Ajaxinfo. 840 00:37:13,035 --> 00:37:14,800 Permettetemi di ricordare l'indirizzo. 841 00:37:14,800 --> 00:37:15,820 Ecco quà. 842 00:37:15,820 --> 00:37:19,850 >> Quindi, se avete mai visto qualche animazione mentre il caricamento della pagina, o pensare, 843 00:37:19,850 --> 00:37:25,410 o il salvataggio, o la creazione di qualcosa, potrebbe vedere tali animazioni come queste. 844 00:37:25,410 --> 00:37:28,800 Quindi diamo un'occhiata a qualcosa come questo qui, 845 00:37:28,800 --> 00:37:33,550 e cerchiamo di scegliere un colore di primo piano verde, che si sente tipo di amichevole. 846 00:37:33,550 --> 00:37:34,545 Posso fare clic su questo? 847 00:37:34,545 --> 00:37:35,500 Vieni uno. 848 00:37:35,500 --> 00:37:36,000 OK. 849 00:37:36,000 --> 00:37:38,930 Ci basta andare con rosso perché questo è quello che stiamo ottenendo. 850 00:37:38,930 --> 00:37:40,250 Quindi qui abbiamo. 851 00:37:40,250 --> 00:37:43,940 >> Quindi, se avete mai visto questo su uno schermo, per cui improvvisamente appare e poi 852 00:37:43,940 --> 00:37:47,550 improvvisamente scompare, ciò che è esso che è applicazione di tale? 853 00:37:47,550 --> 00:37:48,970 Beh, questo è solo un GIF. 854 00:37:48,970 --> 00:37:52,850 G-I-F. E questo è un animato file, che significa semplicemente 855 00:37:52,850 --> 00:37:54,327 è come una vecchia scuola di fumetti. 856 00:37:54,327 --> 00:37:57,160 C'è solo un mucchio di diverso frame che sono in corso [balbuzie] 857 00:37:57,160 --> 00:37:58,085 e solo ripetendo. 858 00:37:58,085 --> 00:38:00,090 Ed è la creazione del illusione del movimento. 859 00:38:00,090 --> 00:38:03,070 >> Quindi, non appena una pagina è fatta caricare o fare qualcosa, 860 00:38:03,070 --> 00:38:04,610 cosa fa un programmatore fare? 861 00:38:04,610 --> 00:38:07,500 Beh, lui o lei appena nasconde questa immagine. 862 00:38:07,500 --> 00:38:11,536 Quindi tutto una barra di avanzamento è è una specie di come un film che si sta guardando. 863 00:38:11,536 --> 00:38:14,660 Sei una sorta di ignari del fatto che non è in realtà fare nulla, 864 00:38:14,660 --> 00:38:15,940 è solo in movimento. 865 00:38:15,940 --> 00:38:19,150 >> E poi, quando è fatto progredire, hanno appena nascondono o spegnerla. 866 00:38:19,150 --> 00:38:21,115 E questo è tutta la magia che sta succedendo lì. 867 00:38:21,115 --> 00:38:22,770 Bootstrap vi dà qualcosa di un po 'di fantasia, 868 00:38:22,770 --> 00:38:25,030 per cui si può effettivamente vedere una percentuale come va, 869 00:38:25,030 --> 00:38:27,840 ma troppo è appena sorta di una semplice animazione. 870 00:38:27,840 --> 00:38:32,250 >> Diamo un'occhiata ad alcune finale altri esempi complessi qui. 871 00:38:32,250 --> 00:38:35,526 Qualcosa di simile a un modale. 872 00:38:35,526 --> 00:38:36,900 Qualcuno sa che cosa un modale è? 873 00:38:36,900 --> 00:38:39,880 874 00:38:39,880 --> 00:38:42,550 Una finestra modale è generalmente uno che si suppone 875 00:38:42,550 --> 00:38:46,880 di prendere il controllo del primo piano e impedire di fare qualsiasi altra cosa. 876 00:38:46,880 --> 00:38:50,290 E 'sorta di forza per l'utente attenzione al centro dello schermo, 877 00:38:50,290 --> 00:38:52,290 bloccandoli out, tipicamente, di tutto il resto. 878 00:38:52,290 --> 00:38:55,830 >> Quindi, se io lancio questa demo, il schermo generalmente diventerà grigio. 879 00:38:55,830 --> 00:38:57,060 Beh, come facciamo è grigio? 880 00:38:57,060 --> 00:38:59,080 Ebbene, noi probabilmente solo cambiato il colore di sfondo 881 00:38:59,080 --> 00:39:01,060 come abbiamo fatto ieri o qualcosa di simile. 882 00:39:01,060 --> 00:39:03,490 Forse è un overlay che semi-trasparente. 883 00:39:03,490 --> 00:39:06,320 E ora notate che si può fare cose di fantasia come questo. 884 00:39:06,320 --> 00:39:09,930 Quindi, se mai cliccare su un pulsante e vogliono un po 'di pop fuori a comparire, 885 00:39:09,930 --> 00:39:10,710 ce la puoi fare. 886 00:39:10,710 --> 00:39:12,340 E così che si preoccupa per tutto-- sì? 887 00:39:12,340 --> 00:39:15,791 >> PUBBLICO: Quindi, con Bootstrap, per farlo incorporato, 888 00:39:15,791 --> 00:39:21,002 è il più semplice come ieri abbiamo fatto la pagina di stili CSS? 889 00:39:21,002 --> 00:39:21,960 David J. MALAN: Infatti. 890 00:39:21,960 --> 00:39:22,835 Davvero buona domanda. 891 00:39:22,835 --> 00:39:24,480 Lasciatemi andare alla Guida introduttiva. 892 00:39:24,480 --> 00:39:26,090 E sì. 893 00:39:26,090 --> 00:39:30,920 Tutto quello che dovete fare per uso Bootstrap è essenzialmente copiare 894 00:39:30,920 --> 00:39:35,910 e incollare queste tre lunghe file di codice nella parte superiore del proprio web page-- 895 00:39:35,910 --> 00:39:38,892 la testa del vostro page-- e sei attivo e funzionante. 896 00:39:38,892 --> 00:39:41,850 E ci sono diversi modi di fare , ma questa sarebbe la più semplice. 897 00:39:41,850 --> 00:39:45,190 >> Così che cosa è utile di tutto questo? 898 00:39:45,190 --> 00:39:47,524 Beh, se non sei tanto il realizzatore di un sito web 899 00:39:47,524 --> 00:39:50,106 ma si sta cercando di progettare, o se si vuole fornire a qualcuno 900 00:39:50,106 --> 00:39:53,220 con diagrammi wire frame, per così dire, o consegne solo dell'artista di ciò che 901 00:39:53,220 --> 00:39:56,080 si vuole fare, io, a questo giorno, spesso andare in un sito 902 00:39:56,080 --> 00:39:58,660 come Bootstrap, dove se io desidera implementare something-- 903 00:39:58,660 --> 00:40:02,290 come di recente nel campus abbiamo voluto implementare 904 00:40:02,290 --> 00:40:06,170 uno strumento web based per la navigazione catalogo dei corsi di Harvard, 905 00:40:06,170 --> 00:40:08,770 rendendo più facile per gli studenti per navigare attraverso corsi 906 00:40:08,770 --> 00:40:10,930 e aggiungere i corsi di lista della spesa, per così dire, 907 00:40:10,930 --> 00:40:13,070 al tipo di decidere che cosa volevano prendere. 908 00:40:13,070 --> 00:40:16,252 >> Stavo cercando di immaginare per me stesso, quali ingredienti sarebbe 909 00:40:16,252 --> 00:40:17,460 vogliamo usare per costruire questo? 910 00:40:17,460 --> 00:40:19,050 Quale sarebbe l'interfaccia utente come? 911 00:40:19,050 --> 00:40:22,800 E proprio guardando attraverso un sito come questo o altri tali siti biblioteche, 912 00:40:22,800 --> 00:40:26,560 si può trarre ispirazione, perché wow, Posso usare questo widget, e questo widget, 913 00:40:26,560 --> 00:40:27,330 e questo widget. 914 00:40:27,330 --> 00:40:29,080 E poi davvero quello il programmatore avvia 915 00:40:29,080 --> 00:40:32,800 da fare, soprattutto in questi giorni in questo altro mondo moderno di programmazione web, 916 00:40:32,800 --> 00:40:35,827 è la programmazione è sempre più A proposito di cablaggio cose insieme. 917 00:40:35,827 --> 00:40:38,910 Una specie di prendere questo al largo della piattaforma, questo al largo della piattaforma, questo al largo della piattaforma, 918 00:40:38,910 --> 00:40:41,954 e voi di essere quello intelligente per collegare tutti quei puntini, 919 00:40:41,954 --> 00:40:45,120 ma alla fine costruire qualcosa di nuovo da in piedi sulle spalle di altri, 920 00:40:45,120 --> 00:40:49,370 in modo da non spendere un mese attuazione di una goccia stupido menù a tendina, 921 00:40:49,370 --> 00:40:52,080 che è in realtà difficile da fare se si vuole farlo funzionare su Chrome, 922 00:40:52,080 --> 00:40:55,220 e IE e Firefox, ed eventuali numero di altri browser. 923 00:40:55,220 --> 00:40:59,060 Questo è il motivo per cui non vi è questo ricco software commerciale e open source 924 00:40:59,060 --> 00:41:01,220 industria così. 925 00:41:01,220 --> 00:41:06,810 >> PUBBLICO: Così fa Bootstrap si aggiorna e si deve quindi aggiornare i link? 926 00:41:06,810 --> 00:41:07,820 >> David J. MALAN: lo fa. 927 00:41:07,820 --> 00:41:09,090 Beh, sì, lo fa. 928 00:41:09,090 --> 00:41:12,540 Bootstrap è attualmente alla versione 3.3.6. 929 00:41:12,540 --> 00:41:16,720 E in generale quello che si fare-- questo è in realtà degno di nota. 930 00:41:16,720 --> 00:41:19,200 C'è ciò che è generalmente conosciuto come un controllo delle versioni semantica 931 00:41:19,200 --> 00:41:20,160 sistema al mondo. 932 00:41:20,160 --> 00:41:21,320 Non tutti fa questo. 933 00:41:21,320 --> 00:41:26,410 >> Ma se avete visto i numeri di versione che sono di forma x.y.z-- 934 00:41:26,410 --> 00:41:30,240 così, per esempio, la prima versione di un programma potrebbe essere 1.0.0. 935 00:41:30,240 --> 00:41:34,970 O se è molto, molto beta o anche lo stato alpha, il che significa che l'uso 936 00:41:34,970 --> 00:41:37,620 a proprio rischio, non è davvero pronto per il debutto, 937 00:41:37,620 --> 00:41:42,080 si potrebbe anche iniziare 0.0.1 o qualche tale designazione. 938 00:41:42,080 --> 00:41:47,260 Ma se il software si avvia alla versione 1.0, 1.0.0 o equivalentemente, 939 00:41:47,260 --> 00:41:50,530 In genere, ciò che è comune questi days-- anche se non è omnipresent-- 940 00:41:50,530 --> 00:41:53,520 se una società o di un correzioni programmatore singoli 941 00:41:53,520 --> 00:41:56,140 alcuni bug in qualche pezzo di software che realmente 942 00:41:56,140 --> 00:42:01,620 è stato un errore, la cui correzione non dovrebbe si impatto a tutto-- non cambia 943 00:42:01,620 --> 00:42:03,940 comportamento del programma, solo risolve qualcosa 944 00:42:03,940 --> 00:42:06,580 che non funzionava properly-- si farebbe in genere 945 00:42:06,580 --> 00:42:08,890 aggiornare il valore z lì. 946 00:42:08,890 --> 00:42:12,900 Il che significa una persona come Kareem potrebbe semplicemente andare nel suo sito web, 947 00:42:12,900 --> 00:42:19,470 cambiare alla cieca il numero di versione da 1.0.0 a 1.0.1, salvarlo, nave esso, 948 00:42:19,470 --> 00:42:21,880 e in teoria, non devono temono che ha appena rotto 949 00:42:21,880 --> 00:42:24,430 il suo sito web a causa di una certa mancanza di funzionalità, 950 00:42:24,430 --> 00:42:25,870 perché qualcos'altro si è rotto. 951 00:42:25,870 --> 00:42:28,740 >> Nel frattempo, se il programmatore o qualche azienda 952 00:42:28,740 --> 00:42:35,500 dovevano fare qualche significativo cambiamento che aggiunge funzionalità, 953 00:42:35,500 --> 00:42:40,320 Io ci potrei aggiornare 1.1.0 perché sono in realtà 954 00:42:40,320 --> 00:42:42,200 modificare il comportamento della biblioteca. 955 00:42:42,200 --> 00:42:44,470 Ti sto dando forse più funzionalità. 956 00:42:44,470 --> 00:42:48,490 Infine, se dovessi davvero radicalmente il software in modo 957 00:42:48,490 --> 00:42:54,380 tanto che si romperà molti utenti siti web o applicazioni, 958 00:42:54,380 --> 00:42:59,550 allora io sono obbligato, in questo modello, per aggiornare il numero di versione principale troppo, 959 00:42:59,550 --> 00:43:01,059 che è una modifica sostanziale. 960 00:43:01,059 --> 00:43:03,725 In altre parole, potrei avere alcun supporto per coloro goccia 961 00:43:03,725 --> 00:43:04,350 menu a discesa. 962 00:43:04,350 --> 00:43:07,790 Quindi, se si esegue l'aggiornamento a 2.0, la metà il vostro sito potrebbe smettere di funzionare. 963 00:43:07,790 --> 00:43:10,950 E questa è una sorta di un segnale per la comunità come a ciò che è 964 00:43:10,950 --> 00:43:13,223 coinvolti nel fare un aggiornamento. 965 00:43:13,223 --> 00:43:16,710 966 00:43:16,710 --> 00:43:18,020 Una buona occasione per rilanciare. 967 00:43:18,020 --> 00:43:18,718 Altre domande? 968 00:43:18,718 --> 00:43:21,761 969 00:43:21,761 --> 00:43:22,260 Tutto ok. 970 00:43:22,260 --> 00:43:26,945 Bene diamo uno sguardo a quello finale argomento in questo segmento di programmazione 971 00:43:26,945 --> 00:43:30,640 di stack tecnologici, cioè legati al mobile. 972 00:43:30,640 --> 00:43:36,232 >> Così nel mondo dei telefoni cellulari di oggi si have-- e iPad, e le superfici, 973 00:43:36,232 --> 00:43:37,940 e tutti quei generi di devices-- avete 974 00:43:37,940 --> 00:43:40,950 un sacco di scelte quando si tratta di attuare 975 00:43:40,950 --> 00:43:47,270 un'applicazione o un sito web per i dispositivi mobili del cliente. 976 00:43:47,270 --> 00:43:51,570 Quindi, solo per indicare il evidenti, forse in questi giorni, 977 00:43:51,570 --> 00:43:54,960 quali sono le piattaforme a sviluppare per nello spazio mobile? 978 00:43:54,960 --> 00:43:59,650 Quali dispositivi si potrebbe desiderare di sostenere con la vostra applicazione o sito web? 979 00:43:59,650 --> 00:44:00,317 >> PUBBLICO: Apple. 980 00:44:00,317 --> 00:44:01,108 David J. MALAN: OK. 981 00:44:01,108 --> 00:44:01,820 Così dispositivi Apple. 982 00:44:01,820 --> 00:44:06,740 Quindi questo significa che iPhone, e che significa iPad, e forse anche iPod. 983 00:44:06,740 --> 00:44:07,627 Cos'altro? 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 >> PUBBLICO: 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 Così i telefoni Android, Android compresse, l'Android Market 990 00:44:17,335 --> 00:44:21,240 è anche messier perchè-- e anche Apple sta diventando disordinato. 991 00:44:21,240 --> 00:44:23,960 Mentre c'era una volta iPhone era una certa dimensione, 992 00:44:23,960 --> 00:44:26,560 e iPad era una certa dimensione, e iPod era una certa dimensione, ora 993 00:44:26,560 --> 00:44:33,420 abbiamo iPad Mini, e la sottile quelli, e l'iPhone 6 Plus e 6. 994 00:44:33,420 --> 00:44:34,407 Sta diventando un disastro. 995 00:44:34,407 --> 00:44:35,740 Sta diventando il mondo Android. 996 00:44:35,740 --> 00:44:39,030 >> E lo dico con una sorta di laminazione i miei occhi perché dal di uno sviluppatore 997 00:44:39,030 --> 00:44:41,680 prospettiva, è un dolore al collo quando 998 00:44:41,680 --> 00:44:45,686 non si dispone di Steve Jobs ' visione del controllo assoluto 999 00:44:45,686 --> 00:44:47,060 su tutte queste specifiche. 1000 00:44:47,060 --> 00:44:49,726 Apple fa ancora perché sono quelli costruire l'hardware. 1001 00:44:49,726 --> 00:44:52,690 Ma è una bella cosa, se Sono uno sviluppatore di software, 1002 00:44:52,690 --> 00:44:54,520 a poco sapere che il mio iPhone sta andando sempre 1003 00:44:54,520 --> 00:44:56,850 per essere così grande perché questo significa che so sempre 1004 00:44:56,850 --> 00:44:58,847 quanto bene immobile dello schermo che ho. 1005 00:44:58,847 --> 00:45:01,180 Quindi, se voglio mettere un'icona nell'angolo in alto a sinistra, 1006 00:45:01,180 --> 00:45:04,530 che sta per essere nella stessa identica immettere sul dispositivo di ogni singolo cliente. 1007 00:45:04,530 --> 00:45:07,140 >> Ma nel mondo di iPhone 6s e iPhone 6 Pluses 1008 00:45:07,140 --> 00:45:10,570 e nel mondo di Android telefoni, è tutta la mappa. 1009 00:45:10,570 --> 00:45:13,580 E così rende più difficile da programmare le cose, soprattutto le interfacce utente, 1010 00:45:13,580 --> 00:45:18,270 perché ora si deve iniziare a sistemare le interfacce utente relativamente, non 1011 00:45:18,270 --> 00:45:19,730 assolutamente. 1012 00:45:19,730 --> 00:45:23,524 E lo stesso è stato vero su browser, e desktop e laptop per anni 1013 00:45:23,524 --> 00:45:25,690 perché, naturalmente, avere diverse dimensioni dello schermo. 1014 00:45:25,690 --> 00:45:26,189 >> Cos'altro? 1015 00:45:26,189 --> 00:45:30,170 Si potrebbe avere superfici, come da Microsoft. 1016 00:45:30,170 --> 00:45:31,270 Potresti avere-- 1017 00:45:31,270 --> 00:45:32,270 PUBBLICO: Windows phone. 1018 00:45:32,270 --> 00:45:32,816 David J. MALAN: Che cos'è? 1019 00:45:32,816 --> 00:45:33,570 PUBBLICO: Windows phone. 1020 00:45:33,570 --> 00:45:34,403 David J. MALAN: Sì. 1021 00:45:34,403 --> 00:45:37,570 Così telefoni Windows può ancora essere trovato. 1022 00:45:37,570 --> 00:45:41,840 Tipo di sorta di BlackBerry, ma continuare a provare. 1023 00:45:41,840 --> 00:45:43,900 E poi mazzi di altri dispositivi. 1024 00:45:43,900 --> 00:45:48,020 Così, per la maggior parte, facciamo dicono che questi sono quelli 1025 00:45:48,020 --> 00:45:49,520 a cura di in questo momento. 1026 00:45:49,520 --> 00:45:51,890 Certamente la roba Apple, certamente la roba Android, 1027 00:45:51,890 --> 00:45:55,640 e tra di Windows, come compresse di superficie sembrano essere prendendo piede abbastanza bene. 1028 00:45:55,640 --> 00:45:58,030 >> E così tra quei dispositivi, se si vuole stendere, 1029 00:45:58,030 --> 00:46:02,677 diciamo, una presenza mobile per il tuo società, che tipo di decisioni di progettazione 1030 00:46:02,677 --> 00:46:03,510 Non si deve fare? 1031 00:46:03,510 --> 00:46:06,350 Beh, abbiamo già detto nel mondo di Apple, 1032 00:46:06,350 --> 00:46:08,790 vi è almeno due lingue che sono tipicamente utilizzati. 1033 00:46:08,790 --> 00:46:10,260 Uno era chiamato cosa? 1034 00:46:10,260 --> 00:46:11,260 >> PUBBLICO: Objective-C. 1035 00:46:11,260 --> 00:46:11,560 >> David J. MALAN: Sì. 1036 00:46:11,560 --> 00:46:13,600 Così Objective-C, che è il più vecchio. 1037 00:46:13,600 --> 00:46:17,720 E 'anche la lingua che molti Mac le applicazioni sono ancora scritte in. 1038 00:46:17,720 --> 00:46:18,964 Poi l'altra nuova era? 1039 00:46:18,964 --> 00:46:19,630 PUBBLICO: Swift. 1040 00:46:19,630 --> 00:46:20,590 David J. MALAN: Swift. 1041 00:46:20,590 --> 00:46:23,900 E queste sono il tipo di due per capire per impressionare la gente. 1042 00:46:23,900 --> 00:46:28,238 Poi, nel mondo Android, Che lingua fa uso di Android? 1043 00:46:28,238 --> 00:46:30,618 >> PUBBLICO: C #? 1044 00:46:30,618 --> 00:46:31,570 >> PUBBLICO: Java. 1045 00:46:31,570 --> 00:46:34,230 >> David J. MALAN: Java è il linguaggio di "du jour". 1046 00:46:34,230 --> 00:46:37,950 Nel mondo di Windows, certo, diremo C # in questo caso. 1047 00:46:37,950 --> 00:46:40,590 Quindi già questo è una specie di fastidioso, perché ciò che è 1048 00:46:40,590 --> 00:46:43,070 l'asporto per un business proprietario o qualcuno che ha appena 1049 00:46:43,070 --> 00:46:44,570 vuole stendere una presenza mobile? 1050 00:46:44,570 --> 00:46:45,220 Come, dannazione? 1051 00:46:45,220 --> 00:46:48,590 Come, se voglio sostenere una base di utenti piuttosto ampio, 1052 00:46:48,590 --> 00:46:52,180 Devo scrivere, sembrerebbe, tre applicazioni separate. 1053 00:46:52,180 --> 00:46:55,630 Uno in una di queste lingue, uno in Java, uno in C #. 1054 00:46:55,630 --> 00:46:59,620 E anche se voglio la funzionalità identici, non importa. 1055 00:46:59,620 --> 00:47:02,940 Ho ancora bisogno di utilizzare diversi lingue perché Apple e Microsoft, 1056 00:47:02,940 --> 00:47:06,084 e Google tutto il supporto diversi ambienti. 1057 00:47:06,084 --> 00:47:07,750 E questa è stata una sfida per anni. 1058 00:47:07,750 --> 00:47:10,100 Indietro nel giorno, in cui chi è abituato a comprare software 1059 00:47:10,100 --> 00:47:12,230 in un negozio di computer in shrink scatole avvolti, 1060 00:47:12,230 --> 00:47:14,470 si dovrebbe attuare una politica raggiungere per il ripiano Mac, 1061 00:47:14,470 --> 00:47:19,040 o for-- forse questo piccolo Mac shelf-- o la più grande piattaforma di Windows 1062 00:47:19,040 --> 00:47:19,980 e acquistare alcuni software. 1063 00:47:19,980 --> 00:47:22,813 E molto spesso, non c'era nemmeno qualsiasi cosa per te sullo scaffale Mac. 1064 00:47:22,813 --> 00:47:23,430 Perché? 1065 00:47:23,430 --> 00:47:26,900 Ebbene, le aziende hanno deciso se il 90% del mondo, 95% del mondo 1066 00:47:26,900 --> 00:47:31,180 ha PC, perché preoccuparsi anche attuazione di cose su Mac OS? 1067 00:47:31,180 --> 00:47:34,370 >> Come un totale aside-- digression-- perché è 1068 00:47:34,370 --> 00:47:40,960 che Mac sembra così impermeabile ai virus, e worm e minacce alla sicurezza? 1069 00:47:40,960 --> 00:47:44,040 Apple è meglio a questo? 1070 00:47:44,040 --> 00:47:45,934 Meglio a mantenere computer protetti? 1071 00:47:45,934 --> 00:47:47,750 >> PUBBLICO: pubblico più piccolo? 1072 00:47:47,750 --> 00:47:50,720 >> David J. MALAN: Ecco probabilmente il più grande bit ad esso. 1073 00:47:50,720 --> 00:47:54,740 Così i molti utenti di Mac hanno a lungo sostenuto, oh, usare un Mac, 1074 00:47:54,740 --> 00:47:57,630 sarete immuni ai virus, e worm e tutte queste cose 1075 00:47:57,630 --> 00:47:59,180 che hanno a lungo afflitto PC. 1076 00:47:59,180 --> 00:48:02,050 Questo potrebbe essere perché Apple ha programmatori migliori 1077 00:48:02,050 --> 00:48:05,250 e scrivono software migliore, o il sistema operativo è stato progettato meglio. 1078 00:48:05,250 --> 00:48:06,870 Forse, ma probabilmente non. 1079 00:48:06,870 --> 00:48:10,840 >> E 'probabilmente che quando sei un 12-year-old, o 30 qualcosa 1080 00:48:10,840 --> 00:48:13,510 sorta di seduta a scrivere a casa software dannoso di prendere in consegna 1081 00:48:13,510 --> 00:48:17,480 il mondo, si sta andando ad andare dopo il target di riferimento molto più grande. 1082 00:48:17,480 --> 00:48:20,590 Il 95% del mondo che potrebbe essere in esecuzione Windows o qualche 1083 00:48:20,590 --> 00:48:21,740 sue varianti. 1084 00:48:21,740 --> 00:48:23,800 Quindi c'è un po 'su entrambi i lati. 1085 00:48:23,800 --> 00:48:25,710 Ma a loro credito, Apple, a mia conoscenza, 1086 00:48:25,710 --> 00:48:28,270 non si è veramente se stessi propagandato come più sicura, 1087 00:48:28,270 --> 00:48:32,110 dal momento che si sta solo invitando dramma se si effettua tale affermazione, penserei. 1088 00:48:32,110 --> 00:48:32,610 >> Tutto ok. 1089 00:48:32,610 --> 00:48:36,490 Senza entrare troppo in basso che, come possiamo risolvere questo problema? 1090 00:48:36,490 --> 00:48:39,670 Avete acquistare o avete a pagare tre persone diverse per sviluppare 1091 00:48:39,670 --> 00:48:41,540 le tue applicazioni? 1092 00:48:41,540 --> 00:48:42,870 Si fa a scegliere uno sopra l'altro? 1093 00:48:42,870 --> 00:48:45,460 Quello che dovrebbe guidare il vostro pensando qui ne pensi? 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 No. 1098 00:48:51,500 --> 00:48:54,190 Qualcun altro. 1099 00:48:54,190 --> 00:48:56,885 >> PUBBLICO: Basta venire con l'hardware. 1100 00:48:56,885 --> 00:48:58,510 David J. MALAN: Vieni con l'hardware? 1101 00:48:58,510 --> 00:48:59,533 Cosa intendi? 1102 00:48:59,533 --> 00:49:01,282 >> PUBBLICO: Per la ambiente. [INAUDIBLE] 1103 00:49:01,282 --> 00:49:04,867 1104 00:49:04,867 --> 00:49:06,200 David J. MALAN: In modo che è vero. 1105 00:49:06,200 --> 00:49:09,280 Ma i clienti, Nel frattempo, potrebbe avere iPhone, 1106 00:49:09,280 --> 00:49:13,530 che potrebbero avere i telefoni Android, che potrebbe avere compresse fatte da Microsoft. 1107 00:49:13,530 --> 00:49:19,040 Così come si dispone di una strategia mobile per tutti questi diversi utenti? 1108 00:49:19,040 --> 00:49:23,320 Sembrerebbe che se costa, diciamo $ 1.000 a fare un iPhone 1109 00:49:23,320 --> 00:49:25,940 applicazione, sta andando a costare $ 2.000 a rendere 1110 00:49:25,940 --> 00:49:29,250 un'applicazione per iPhone e un applicazione Android, o $ 3000 1111 00:49:29,250 --> 00:49:31,407 per supportare anche i dispositivi Windows pure. 1112 00:49:31,407 --> 00:49:33,990 Questo è probabilmente piuttosto un eufemismo, e non potrebbe anche 1113 00:49:33,990 --> 00:49:36,050 essere una relazione lineare del genere. 1114 00:49:36,050 --> 00:49:41,065 >> PUBBLICO: Se si desidera avere un app o Non, si può avere il sito reattivo. 1115 00:49:41,065 --> 00:49:41,940 David J. MALAN: Good. 1116 00:49:41,940 --> 00:49:46,255 PUBBLICO: Oppure si può avere una applicazione nativa. 1117 00:49:46,255 --> 00:49:47,130 David J. MALAN: Sì. 1118 00:49:47,130 --> 00:49:50,260 Quindi, in tutto questo contesto qui, abbiamo parlato di quello che 1119 00:49:50,260 --> 00:49:53,190 chiamerebbero applicazioni native. 1120 00:49:53,190 --> 00:49:58,040 Cioè le applicazioni che sono scritte nella lingua nativa di quel dispositivo. 1121 00:49:58,040 --> 00:50:02,190 Così nativo Objective-C o Swift codice o in Java, o in C #. 1122 00:50:02,190 --> 00:50:06,900 Il che significa che quando si scarica, diamo dire Snapchat, una popolare applicazione, 1123 00:50:06,900 --> 00:50:10,060 o quando si scarica Facebook per un telefono, 1124 00:50:10,060 --> 00:50:13,270 si sta scaricando sia il versione scritta per il vostro iPhone, 1125 00:50:13,270 --> 00:50:16,830 o scritta per il vostro telefono Android, o scritta per la superficie. 1126 00:50:16,830 --> 00:50:18,500 >> Ma c'è un'alternativa. 1127 00:50:18,500 --> 00:50:26,020 Come Olivier alludeva, si può effettivamente utilizzare HTML 5 1128 00:50:26,020 --> 00:50:33,440 invece, utilizzando quello che viene chiamato un web applicazione, per cui è sufficiente 1129 00:50:33,440 --> 00:50:35,940 implementare la presenza mobile e qualsiasi funzionalità. 1130 00:50:35,940 --> 00:50:37,030 Quello che voglio dire con presenza mobile? 1131 00:50:37,030 --> 00:50:39,800 Come il vostro sito web che ha la tua informazioni di contatto, un elenco di tutti 1132 00:50:39,800 --> 00:50:43,049 i vostri prodotti, forse ha un carrello carrello, forse si vendono le cose attraverso di essa. 1133 00:50:43,049 --> 00:50:46,850 Qualunque sia la vostra applicazione è, attuarlo, non in Objective-C, 1134 00:50:46,850 --> 00:50:51,200 o Swift, o Java o C #, ma in HTML 5, che era la lingua abbiamo guardato 1135 00:50:51,200 --> 00:50:55,470 a ieri, con JavaScript e CSS. 1136 00:50:55,470 --> 00:50:58,700 >> E ciò che è bello di quelli tre è che per eseguirli, 1137 00:50:58,700 --> 00:51:01,981 è necessario solo ciò che pezzo di software? 1138 00:51:01,981 --> 00:51:02,980 PUBBLICO: Un browser web. 1139 00:51:02,980 --> 00:51:04,229 David J. MALAN: un browser web. 1140 00:51:04,229 --> 00:51:07,610 E il migliore che conosco, tutti questi dispositivi sono dotati di browser web, 1141 00:51:07,610 --> 00:51:10,480 quindi l'utente non ha dovuto installare qualcosa di speciale. 1142 00:51:10,480 --> 00:51:12,920 Così si può semplicemente dire al vostro pubblico, i clienti, 1143 00:51:12,920 --> 00:51:16,590 andare a acme.com nel vostro browser e ti basta 1144 00:51:16,590 --> 00:51:19,730 avere una esperienza web based che riempie ancora lo schermo, 1145 00:51:19,730 --> 00:51:25,100 ma non si deve preoccupare tutti questi costi e tutta questa complessità. 1146 00:51:25,100 --> 00:51:28,600 Ma sicuramente ci sta per essere un fermo qui, giusto? 1147 00:51:28,600 --> 00:51:31,740 Soprattutto se faccio notare che un paio di anni fa, 1148 00:51:31,740 --> 00:51:35,700 la prima versione di applicazione mobile di Facebook 1149 00:51:35,700 --> 00:51:38,810 era soprattutto un'applicazione HTML 5. 1150 00:51:38,810 --> 00:51:42,490 E hanno, più Di recente, è reimplementato 1151 00:51:42,490 --> 00:51:44,700 nelle altre applicazioni. 1152 00:51:44,700 --> 00:51:46,990 >> Allora, perché non è vero subito voglio dire, 1153 00:51:46,990 --> 00:51:49,190 Beh, ovviamente stiamo andando a fare questo? 1154 00:51:49,190 --> 00:51:51,560 Quali potrebbero essere i costi nascosti essere? 1155 00:51:51,560 --> 00:51:52,477 >> PUBBLICO: Performance. 1156 00:51:52,477 --> 00:51:53,643 David J. MALAN: prestazioni? 1157 00:51:53,643 --> 00:51:54,567 In che modo vuoi dire? 1158 00:51:54,567 --> 00:52:01,040 >> PUBBLICO: L'applicazione nativa ha più prestazioni. 1159 00:52:01,040 --> 00:52:03,850 >> David J. MALAN: In modo che è vero, per un paio di motivi. 1160 00:52:03,850 --> 00:52:05,270 Siamo in grado di semplificare eccessivamente la risposta. 1161 00:52:05,270 --> 00:52:08,061 E richiamare la nostra discussione interpretato contro linguaggi compilati. 1162 00:52:08,061 --> 00:52:12,030 Questo è HTML 5 e con essa, solo per essere chiaro, Javascript-- comunemente scritto 1163 00:52:12,030 --> 00:52:15,880 JS-- e CSS sono tutti linguaggi interpretati, 1164 00:52:15,880 --> 00:52:21,020 anche se solo JavaScript è un linguaggio di programmazione. 1165 00:52:21,020 --> 00:52:25,820 >> E così contro questi, che alcuni di questi sono compilati, almeno questi sulle tre ruote 1166 00:52:25,820 --> 00:52:29,990 Objective-C, Java e C # - questi, in teoria, deve solo essere più veloce. 1167 00:52:29,990 --> 00:52:31,670 Ma c'è un'altra realtà for-- 1168 00:52:31,670 --> 00:52:32,440 >> PUBBLICO: Funzionalità? 1169 00:52:32,440 --> 00:52:32,830 >> David J. MALAN: Che cos'è? 1170 00:52:32,830 --> 00:52:34,060 >> Pubblico: funzionalità. 1171 00:52:34,060 --> 00:52:34,570 >> David J. MALAN: Funzionalità? 1172 00:52:34,570 --> 00:52:35,070 Come mai? 1173 00:52:35,070 --> 00:52:37,305 AUDIENCE: Utilizzare la fotocamera il vostro telefono o qualcosa del genere. 1174 00:52:37,305 --> 00:52:41,471 È possibile utilizzare quelli con il browser. 1175 00:52:41,471 --> 00:52:42,470 David J. MALAN: Esattamente. 1176 00:52:42,470 --> 00:52:43,011 Stanno sec-- 1177 00:52:43,011 --> 00:52:45,034 PUBBLICO: [INAUDIBLE] 1178 00:52:45,034 --> 00:52:46,700 David J. MALAN: Questo è un altro buono. 1179 00:52:46,700 --> 00:52:49,230 C'è caratteristiche che vengono con i telefoni cellulari di oggi 1180 00:52:49,230 --> 00:52:53,840 che non sono, di progettazione, di sicurezza motivi, accessibili ai browser web. 1181 00:52:53,840 --> 00:52:56,410 Perché sarebbe sorta di una cosa raccapricciante, se proprio quando 1182 00:52:56,410 --> 00:53:00,710 si visita google.com, o cnn.com, o qualsiasi website.com, 1183 00:53:00,710 --> 00:53:04,490 che quel sito ha il potere di trasformare sulla fotocamera, scattare una foto di te, 1184 00:53:04,490 --> 00:53:06,010 e quindi utilizzarlo. 1185 00:53:06,010 --> 00:53:09,280 Ma non si vuole un sito web casuale che si visita per la prima volta 1186 00:53:09,280 --> 00:53:10,690 di avere questa capacità. 1187 00:53:10,690 --> 00:53:13,460 >> E così quello che il telefono produttori in genere fare 1188 00:53:13,460 --> 00:53:17,230 è semplicemente negare l'accesso a questo tipo di informazioni 1189 00:53:17,230 --> 00:53:20,650 a un browser, il che significa non può attuare la telecamera. 1190 00:53:20,650 --> 00:53:24,180 Non si può implementare le notifiche push, i segnali acustici che si ottiene sullo schermo 1191 00:53:24,180 --> 00:53:26,120 con brevi messaggi. 1192 00:53:26,120 --> 00:53:31,350 E infatti, anche il GPS è unico tipo di una sorta di disposizione dei browser web. 1193 00:53:31,350 --> 00:53:34,140 Se hai mai, su un computer portatile o su un dispositivo mobile, 1194 00:53:34,140 --> 00:53:38,770 tirato su qualcosa come forse CNN.com, ma anche stazioni di notizie locali 1195 00:53:38,770 --> 00:53:43,890 tendono a fare questo, viene richiesto spesso con un message-- foxnews.com 1196 00:53:43,890 --> 00:53:45,170 vuole sapere la vostra posizione. 1197 00:53:45,170 --> 00:53:46,610 Approvare o rifiutare. 1198 00:53:46,610 --> 00:53:52,070 >> Ebbene, il browser sta tentando di accedere le informazioni GPS dal telefono. 1199 00:53:52,070 --> 00:53:54,740 Ma per fortuna Microsoft, e Apple e Google 1200 00:53:54,740 --> 00:53:57,330 hanno deciso che si sente come si tratta di una situazione utile, 1201 00:53:57,330 --> 00:53:59,461 vogliamo Google Maps e altri strumenti per lavorare, 1202 00:53:59,461 --> 00:54:02,710 ma non vogliamo che a strisciare la gente fuori semplicemente consentendo a qualsiasi sito web per fare questo. 1203 00:54:02,710 --> 00:54:05,934 Quindi cerchiamo di specie di raduno a metà strada e richiedere all'utente. 1204 00:54:05,934 --> 00:54:08,850 Ma questo non è necessariamente il caso con tutto l'hardware, come la fotocamera 1205 00:54:08,850 --> 00:54:10,680 e con la spinta notifiche e simili, 1206 00:54:10,680 --> 00:54:13,650 quindi potrebbe essere necessario sacrificare alcune caratteristiche. 1207 00:54:13,650 --> 00:54:15,100 Ma le prestazioni anche. 1208 00:54:15,100 --> 00:54:18,020 Sta diventando meno evidente al giorno d'oggi, forse 1209 00:54:18,020 --> 00:54:22,400 come LTE catture e veloce velocità di internet sui telefoni, 1210 00:54:22,400 --> 00:54:24,110 ma è possibile tipo di sentire la differenza. 1211 00:54:24,110 --> 00:54:28,190 Come una applicazione web based appena si sente più lento, in genere, 1212 00:54:28,190 --> 00:54:31,100 di una applicazione nativa, in parte perché una applicazione web based 1213 00:54:31,100 --> 00:54:32,680 per definizione su internet. 1214 00:54:32,680 --> 00:54:35,610 E 'parlando ai server sul web. 1215 00:54:35,610 --> 00:54:39,590 E se la connessione di rete è lento, anche lo scorrimento potrebbe essere lenta. 1216 00:54:39,590 --> 00:54:43,710 >> Ma un'applicazione nativa, avete già pre-downloaded-- probabilmente 1217 00:54:43,710 --> 00:54:45,680 quando eri a casa da App Store, 1218 00:54:45,680 --> 00:54:47,900 o almeno pre-scaricato nella sua interezza 1219 00:54:47,900 --> 00:54:49,640 in precedenza, qualunque sia la vostra speed-- collegamento 1220 00:54:49,640 --> 00:54:52,530 e così ora avete tutto il bit che in genere si ha bisogno. 1221 00:54:52,530 --> 00:54:55,090 Tranne forse alcuni dati che viene da un server. 1222 00:54:55,090 --> 00:54:57,130 >> Quindi questi sono compromessi qui. 1223 00:54:57,130 --> 00:54:59,980 C'è una specie di mezzo compromesso, infatti. 1224 00:54:59,980 --> 00:55:00,907 E penso che you-- 1225 00:55:00,907 --> 00:55:02,895 >> AUDIENCE: Utilizzare la linea dati. 1226 00:55:02,895 --> 00:55:06,355 Nelle applicazioni native, è possibile [INAUDIBLE] 1227 00:55:06,355 --> 00:55:07,480 David J. MALAN: Assolutamente. 1228 00:55:07,480 --> 00:55:09,730 Quindi c'è il problema non in linea, che è davvero fastidioso 1229 00:55:09,730 --> 00:55:13,120 se non si può giocare a qualche gioco o l'uso alcuni software solo perché sei 1230 00:55:13,120 --> 00:55:15,110 in una cantina da qualche parte o in un ascensore. 1231 00:55:15,110 --> 00:55:18,700 Una applicazione nativa è resiliente con una maggiore probabilità contro che, 1232 00:55:18,700 --> 00:55:20,990 supponendo di avere tutte le dati necessari a livello locale. 1233 00:55:20,990 --> 00:55:22,900 >> Quindi non vi è una terza opzione qui. 1234 00:55:22,900 --> 00:55:30,270 E cerchiamo di disegnare lo spettro come app nativa qui e web app qui. 1235 00:55:30,270 --> 00:55:32,460 E cosa c'è nel mezzo è qualcosa called-- 1236 00:55:32,460 --> 00:55:35,410 e penso che si potrebbe avere usato la parola prima, forse? 1237 00:55:35,410 --> 00:55:37,170 applicazione ibrida. 1238 00:55:37,170 --> 00:55:40,980 E come suggerisce la parola, è qualcosa nel mezzo. 1239 00:55:40,980 --> 00:55:46,230 E 'una specie di un'applicazione web e è una specie di un'applicazione nativa. 1240 00:55:46,230 --> 00:55:47,690 >> E che cosa significa? 1241 00:55:47,690 --> 00:55:51,750 Si scopre ci sono frameworks-- per usare un termine da software earlier-- 1242 00:55:51,750 --> 00:55:55,860 che altre persone hanno scritto per ognuna di queste piattaforme. 1243 00:55:55,860 --> 00:55:57,500 Questi ed altri dispositivi ancora. 1244 00:55:57,500 --> 00:56:02,390 In realtà, lasciami andare a PhoneGap, che è uno tale quadro che 1245 00:56:02,390 --> 00:56:04,520 crede Adobe possiede ora. 1246 00:56:04,520 --> 00:56:07,830 Lasciatemi andare alla Guida introduttiva. 1247 00:56:07,830 --> 00:56:09,430 Vediamo. 1248 00:56:09,430 --> 00:56:12,450 Vedere se riesco a vedere un elenco di strumenti. 1249 00:56:12,450 --> 00:56:13,150 Hardware. 1250 00:56:13,150 --> 00:56:15,845 Iniziare. 1251 00:56:15,845 --> 00:56:17,570 hardware PhoneGap. 1252 00:56:17,570 --> 00:56:18,672 >> Vediamo. 1253 00:56:18,672 --> 00:56:23,459 accesso all'hardware PhoneGap. 1254 00:56:23,459 --> 00:56:26,125 Fammi vedere se possiamo trovare un po ' grafico che hanno usato per avere. 1255 00:56:26,125 --> 00:56:29,170 1256 00:56:29,170 --> 00:56:31,640 Questo è un altro sito. 1257 00:56:31,640 --> 00:56:32,525 È utile? 1258 00:56:32,525 --> 00:56:33,030 No. 1259 00:56:33,030 --> 00:56:36,330 Ecco andando sprecare il nostro tempo. 1260 00:56:36,330 --> 00:56:40,185 hardware PhoneGap. 1261 00:56:40,185 --> 00:56:40,685 Dispositivi. 1262 00:56:40,685 --> 00:56:45,190 1263 00:56:45,190 --> 00:56:48,030 API dispositivo. 1264 00:56:48,030 --> 00:56:49,270 No, hanno spostato esso. 1265 00:56:49,270 --> 00:56:50,070 >> PhoneGap. 1266 00:56:50,070 --> 00:56:54,964 Andiamo un ultimo sguardo a questo e vedere se posso mostrarvi. 1267 00:56:54,964 --> 00:56:55,630 Iniziare. 1268 00:56:55,630 --> 00:56:58,160 1269 00:56:58,160 --> 00:56:59,020 Installare PhoneGap. 1270 00:56:59,020 --> 00:57:02,310 1271 00:57:02,310 --> 00:57:03,270 Installare app mobile. 1272 00:57:03,270 --> 00:57:04,320 Dai. 1273 00:57:04,320 --> 00:57:07,220 1274 00:57:07,220 --> 00:57:08,580 Hanno riorganizzato tutto. 1275 00:57:08,580 --> 00:57:09,750 Tutto ok. 1276 00:57:09,750 --> 00:57:11,370 Oh, va bene. 1277 00:57:11,370 --> 00:57:12,550 Bene, qui andiamo. 1278 00:57:12,550 --> 00:57:16,130 Questo non è così illuminante, ma questo è quello che era una sorta di cercando. 1279 00:57:16,130 --> 00:57:20,940 >> Così PhoneGap è un framework che si possibile scaricare gratuitamente che ti dà 1280 00:57:20,940 --> 00:57:22,750 del codice di avviamento, in sostanza. 1281 00:57:22,750 --> 00:57:26,600 Così alcuni codice che hanno scritto che non fa molto di niente. 1282 00:57:26,600 --> 00:57:29,610 Ma che cosa gli dà in sostanza è l'equivalente 1283 00:57:29,610 --> 00:57:34,910 di un'applicazione che mette solo grande rettangolo sullo schermo dell'utente. 1284 00:57:34,910 --> 00:57:38,040 Non mettere una barra degli indirizzi, come un del browser, non mette un indirizzo. 1285 00:57:38,040 --> 00:57:39,650 E 'appena mette un grande rettangolo. 1286 00:57:39,650 --> 00:57:43,230 E si configura questa grande rettangolo, sotto la cappa, 1287 00:57:43,230 --> 00:57:50,780 di andare effettivamente a acme.com, o forse m.acme.com, per mobile.acme.com, 1288 00:57:50,780 --> 00:57:52,910 ma l'utente non conosce sono a quell'indirizzo. 1289 00:57:52,910 --> 00:57:55,520 Tutto quello che vedono è il contenuto della pagina web. 1290 00:57:55,520 --> 00:57:59,822 >> Ma ciò che è bello di questo essere una applicazione ibrida è che ciò che PhoneGap 1291 00:57:59,822 --> 00:58:03,030 e altre società stanno dando voi è che si sta dando un po 'di codice 1292 00:58:03,030 --> 00:58:05,760 in Objective-C o Swift, o un po 'di codice in Java, 1293 00:58:05,760 --> 00:58:08,320 o un po 'di codice in C #, ed essenzialmente, 1294 00:58:08,320 --> 00:58:12,990 tutto ciò che dovete fornire è minimamente la indirizzo della vostra applicazione web based. 1295 00:58:12,990 --> 00:58:15,750 E poi si bundle questo tutti insieme e si 1296 00:58:15,750 --> 00:58:20,670 hanno neanche accedere al sito via Internet, 1297 00:58:20,670 --> 00:58:24,060 o ancora di memorizzare nella cache locale copiare all'interno dell'applicazione, 1298 00:58:24,060 --> 00:58:28,690 e quindi si salva l'applicazione in formato iPhone, telefono Android 1299 00:58:28,690 --> 00:58:32,030 formato, il formato di superficie, o qualsiasi numero di altri dispositivi. 1300 00:58:32,030 --> 00:58:34,960 >> Si carica ciascuna di queste versioni per il Play Store di Google, 1301 00:58:34,960 --> 00:58:37,690 ad App Store, al Windows Store, e così via. 1302 00:58:37,690 --> 00:58:41,570 E ora, si può avere tutto il vostro il pubblico scaricare veramente una applicazione nativa, 1303 00:58:41,570 --> 00:58:44,250 sebbene la maggior parte del codice era scritto da qualcun altro, 1304 00:58:44,250 --> 00:58:49,090 ma il contenuto di quella app nativa tutto provengono da, di solito, il proprio sito web. 1305 00:58:49,090 --> 00:58:53,950 Così si continua a scrivere il tuo sito web in HTML, JavaScript e CSS. 1306 00:58:53,950 --> 00:58:56,400 >> Allora, perché sfocatura queste righe? 1307 00:58:56,400 --> 00:59:00,240 Perché avere una applicazione ibrida che una specie di nativo, ma anche 1308 00:59:00,240 --> 00:59:02,569 tipo di web based? 1309 00:59:02,569 --> 00:59:04,610 Qual è il punto di l'aggiunta di questa complessità? 1310 00:59:04,610 --> 00:59:07,180 Voglio dire, anche ancora, proprio da guardando attraverso questa pagina, 1311 00:59:07,180 --> 00:59:11,790 Guida introduttiva si sente come che ha un sacco di passi per me 1312 00:59:11,790 --> 00:59:13,514 fare prima can-- 1313 00:59:13,514 --> 00:59:14,430 PUBBLICO: Riusabilità? 1314 00:59:14,430 --> 00:59:14,960 David J. MALAN: Riusabilità? 1315 00:59:14,960 --> 00:59:15,618 Cosa intendi? 1316 00:59:15,618 --> 00:59:16,826 >> AUDIENCE: del codice sorgente. 1317 00:59:16,826 --> 00:59:19,438 Quindi lo stesso codice verrebbe eseguito su tutte le diverse piattaforme. 1318 00:59:19,438 --> 00:59:20,313 David J. MALAN: Sì. 1319 00:59:20,313 --> 00:59:21,188 PUBBLICO: [INAUDIBLE] 1320 00:59:21,188 --> 00:59:23,200 1321 00:59:23,200 --> 00:59:24,200 David J. MALAN: Perfetto. 1322 00:59:24,200 --> 00:59:26,930 Se il tempo è stretto e se si non hanno che molti developers-- 1323 00:59:26,930 --> 00:59:28,900 forse ne hai uno sviluppatore e lui o lei certamente 1324 00:59:28,900 --> 00:59:31,050 non sa tutte queste environments-- certamente non bene, 1325 00:59:31,050 --> 00:59:33,341 e certamente non può programma in tutti e tre contemporaneamente 1326 00:59:33,341 --> 00:59:35,970 e spedire tre prodotti in il tempo consentito per uno, 1327 00:59:35,970 --> 00:59:40,360 si può avere lui o lei costruire tutto in HTML e JavaScript e CSS, 1328 00:59:40,360 --> 00:59:43,260 e poi imparare un po 'piccolo po 'di applicazioni native, 1329 00:59:43,260 --> 00:59:45,930 appena sufficiente per scaricare un quadro come questo, 1330 00:59:45,930 --> 00:59:48,750 per poi caricare il tuo prodotto tutte le varie app store 1331 00:59:48,750 --> 00:59:51,700 in modo che ora avete un'applicazione nativa. 1332 00:59:51,700 --> 00:59:54,090 >> In modo che sembra come una win-win, ma ancora una volta, per essere chiari, 1333 00:59:54,090 --> 00:59:56,540 Quali sono i potenziali i costi o le trucchi? 1334 00:59:56,540 --> 01:00:00,292 1335 01:00:00,292 --> 01:00:01,209 >> PUBBLICO: prestazioni? 1336 01:00:01,209 --> 01:00:02,083 David J. MALAN: Sì. 1337 01:00:02,083 --> 01:00:02,959 Prestazione. 1338 01:00:02,959 --> 01:00:04,250 E 'difficile da descrivere a parole. 1339 01:00:04,250 --> 01:00:07,590 Quindi, se si prende in fede una applicazione mobile, 1340 01:00:07,590 --> 01:00:11,430 una applicazione web sarà tipicamente eseguire più lentamente. 1341 01:00:11,430 --> 01:00:16,500 Potrebbe non sembrare abbastanza giusto, perché in iPhone, e in telefoni Android, 1342 01:00:16,500 --> 01:00:19,210 e dispositivi Windows, non c'è sempre una sorta di aspetto di default 1343 01:00:19,210 --> 01:00:21,780 e si sentono a tutti i pulsanti ei menu. 1344 01:00:21,780 --> 01:00:25,160 >> E le aziende del web, possono provare ravvicinare tali estetica 1345 01:00:25,160 --> 01:00:28,329 con le librerie come Bootstrap, ma il user-- un user-- astuta 1346 01:00:28,329 --> 01:00:30,620 sta per sapere che qualcosa non è del tutto proprio qui. 1347 01:00:30,620 --> 01:00:32,510 E va bene, forse questo non è un grosso problema. 1348 01:00:32,510 --> 01:00:35,500 Ma il problema di prestazioni assolutamente è un grosso problema. 1349 01:00:35,500 --> 01:00:39,400 applicazioni native tenderanno a solo essere molto più reattivo e quindi 1350 01:00:39,400 --> 01:00:39,946 meglio. 1351 01:00:39,946 --> 01:00:42,070 E così, quello che poi potrebbe essere Il meglio dei due mondi? 1352 01:00:42,070 --> 01:00:44,584 Se sei un piccolo particolare società o di un piccolo gruppo, 1353 01:00:44,584 --> 01:00:47,000 non si hanno le risorse di sviluppare un'applicazione in parallelo 1354 01:00:47,000 --> 01:00:50,480 su tutte e tre le piattaforme, e francamente, si sente come questa è una cattiva idea in ogni caso 1355 01:00:50,480 --> 01:00:53,526 perché se si tira fuori e su tutti e tre allo stesso tempo si rendono conto, 1356 01:00:53,526 --> 01:00:56,400 avremmo dovuto aggiunto alcune caratteristiche o fatto qualcosa di diverso, ora 1357 01:00:56,400 --> 01:00:59,530 si deve risolvere il problema in tre posti, non uno. 1358 01:00:59,530 --> 01:01:02,390 Qual è forse l'ottimale la strategia complessiva qui, 1359 01:01:02,390 --> 01:01:04,130 se le risorse e il tempo sono stretti? 1360 01:01:04,130 --> 01:01:06,420 >> PUBBLICO: Basta farlo su iOS. 1361 01:01:06,420 --> 01:01:08,390 >> David J. MALAN: Questo non è irragionevole. 1362 01:01:08,390 --> 01:01:10,670 iPhones, almeno nel Stati Uniti, siamo super popolare. 1363 01:01:10,670 --> 01:01:13,820 Android sembra ancora avere dominante quota di mercato, a livello globale, nel complesso. 1364 01:01:13,820 --> 01:01:16,740 Quindi non si è necessariamente rappresentativo 1365 01:01:16,740 --> 01:01:19,210 della totalità del globo questa settimana. 1366 01:01:19,210 --> 01:01:21,180 Ma questo è assolutamente uno decisione. 1367 01:01:21,180 --> 01:01:23,620 Voglio dire, nel campus qui pensare qualche numero atroce 1368 01:01:23,620 --> 01:01:26,600 o la percentuale di studenti universitari avere iPhone e telefoni Android non. 1369 01:01:26,600 --> 01:01:28,490 Ma all'estero, è una specie di l'opposto. 1370 01:01:28,490 --> 01:01:30,040 Così si decide, sulla base di pubblico. 1371 01:01:30,040 --> 01:01:31,990 Come fai a sapere ciò che il pubblico ha? 1372 01:01:31,990 --> 01:01:34,080 >> Bene, abbiamo imparato un trucco ieri. 1373 01:01:34,080 --> 01:01:35,060 Si potrebbe chiedere loro. 1374 01:01:35,060 --> 01:01:37,910 Se si dispone di un pubblico in cattività è possibile inviare loro una forma di indagine. 1375 01:01:37,910 --> 01:01:39,172 Oppure si può semplicemente fare che cosa? 1376 01:01:39,172 --> 01:01:40,076 >> PUBBLICO: Google Analytics? 1377 01:01:40,076 --> 01:01:40,680 >> David J. MALAN: Che cos'è? 1378 01:01:40,680 --> 01:01:41,876 >> PUBBLICO: Google Analytics. 1379 01:01:41,876 --> 01:01:43,250 David J. MALAN: Google Analytics. 1380 01:01:43,250 --> 01:01:43,750 Sì. 1381 01:01:43,750 --> 01:01:46,970 O ancora di più una sorta di vista tecnico, solo guardare il proprio web server log. 1382 01:01:46,970 --> 01:01:49,100 Perché ciò che accade ogni volta un browser, 1383 01:01:49,100 --> 01:01:51,880 se laptop, desktop o telefono visitare il tuo sito web? 1384 01:01:51,880 --> 01:01:56,847 Mandano che HTTP che spettacoli che cosa browser e sistema operativo che state utilizzando. 1385 01:01:56,847 --> 01:02:00,180 Così si può dedurre, con alta probabilità, ciò che il vostro demografico sta usando in questo modo 1386 01:02:00,180 --> 01:02:01,410 e quindi regolare. 1387 01:02:01,410 --> 01:02:03,030 >> Quindi supponiamo che è inaccettabile. 1388 01:02:03,030 --> 01:02:07,760 Questo è una sorta di male per il business, se Gli utenti Android non possono comprare i nostri widget. 1389 01:02:07,760 --> 01:02:10,942 >> PUBBLICO: Che tu sia andando carica o no? 1390 01:02:10,942 --> 01:02:12,900 David J. MALAN: Sia si sta andando a pagare? 1391 01:02:12,900 --> 01:02:14,900 Quindi OK, si ottiene quello che si paga. 1392 01:02:14,900 --> 01:02:18,400 >> PUBBLICO: Se la vostra applicazione è gonna essere libero o se è gonna-- 1393 01:02:18,400 --> 01:02:19,530 >> David J. MALAN: OK. 1394 01:02:19,530 --> 01:02:21,920 Così forse si potrebbe recuperare i costi in questo modo, or--? 1395 01:02:21,920 --> 01:02:26,195 >> PUBBLICO: Ho letto uno studio, una volta che ha detto più utenti di Apple pagare per le applicazioni versus-- 1396 01:02:26,195 --> 01:02:28,320 David J. MALAN: Questo è vero perché sono già 1397 01:02:28,320 --> 01:02:29,640 pagare di più per i loro dispositivi. 1398 01:02:29,640 --> 01:02:31,295 Quindi non irragionevole una supposizione. 1399 01:02:31,295 --> 01:02:32,170 >> PUBBLICO: [INAUDIBLE] 1400 01:02:32,170 --> 01:02:34,439 1401 01:02:34,439 --> 01:02:35,230 David J. MALAN: OK. 1402 01:02:35,230 --> 01:02:38,667 Quindi, se sono più disposti a pagare, poi al diavolo gli utenti Android. 1403 01:02:38,667 --> 01:02:40,500 Non stanno andando a noi pagare nulla comunque. 1404 01:02:40,500 --> 01:02:43,499 Potremmo anche mettere a fuoco le nostre priorità, almeno per i primi mesi 1405 01:02:43,499 --> 01:02:44,810 o un anno, su iOS. 1406 01:02:44,810 --> 01:02:46,240 Totalmente ragionevole. 1407 01:02:46,240 --> 01:02:48,558 Che cosa è un più inclusiva strategia di così? 1408 01:02:48,558 --> 01:02:53,740 1409 01:02:53,740 --> 01:02:54,960 Maybe-- che cos'è? 1410 01:02:54,960 --> 01:02:57,040 >> PUBBLICO: [INAUDIBLE] 1411 01:02:57,040 --> 01:03:00,142 >> David J. MALAN: A più expensive-- così forse investire di più dentro-- andare avanti. 1412 01:03:00,142 --> 01:03:00,767 PUBBLICO: Sì. 1413 01:03:00,767 --> 01:03:02,050 Basta un sito web mobile. 1414 01:03:02,050 --> 01:03:03,966 >> David J. MALAN: così fanno un sito web mobile e non 1415 01:03:03,966 --> 01:03:05,440 anche preoccuparsi di questa complessità. 1416 01:03:05,440 --> 01:03:07,970 O forse una strategia ragionevole, che anche Facebook ha preso, 1417 01:03:07,970 --> 01:03:10,890 si inizia con un ibrido applicazione perché non è 1418 01:03:10,890 --> 01:03:13,582 che molto più difficile per fare questo di questo. 1419 01:03:13,582 --> 01:03:16,040 Basta leggere alcuni documentazione e capire come 1420 01:03:16,040 --> 01:03:17,480 per caricare le cose per l'App Store. 1421 01:03:17,480 --> 01:03:19,670 Così forse si inizia con questo, in modo che il primo giorno, 1422 01:03:19,670 --> 01:03:21,112 si può sostenere tutti gli utenti. 1423 01:03:21,112 --> 01:03:23,570 E poi, proprio come Facebook e altre aziende hanno fatto, 1424 01:03:23,570 --> 01:03:25,330 quando si hanno le risorse, si hanno le persone, 1425 01:03:25,330 --> 01:03:27,660 perche 'non re-implementare solo l'applicazione iOS. 1426 01:03:27,660 --> 01:03:31,460 Hai ancora qualcosa per tutti, anche se è un'esperienza inferiore 1427 01:03:31,460 --> 01:03:33,330 forse, con l'applicazione ibrida. 1428 01:03:33,330 --> 01:03:36,770 Ma si può gradualmente stendere e sostituire il breve termine 1429 01:03:36,770 --> 01:03:40,280 misure delle applicazioni ibride con le applicazioni più native. 1430 01:03:40,280 --> 01:03:44,090 >> Pubblico: Ma con un ibrido app avranno accesso alle funzioni di telefonia mobile? 1431 01:03:44,090 --> 01:03:45,440 >> David J. MALAN: Non necessariamente. 1432 01:03:45,440 --> 01:03:47,810 Così forse si effettua una consapevole decisione nella fase iniziale, 1433 01:03:47,810 --> 01:03:51,930 si può solo caricare le foto sul applicazione iPhone nativa per Facebook, 1434 01:03:51,930 --> 01:03:56,060 ma non l'applicazione Android, inizialmente, per esempio. 1435 01:03:56,060 --> 01:04:00,600 E questo è un po 'una bugia, perché applicazioni web hanno più restrizioni 1436 01:04:00,600 --> 01:04:03,620 di applicazioni ibride si trasforma fuori, e se si legge la documentazione 1437 01:04:03,620 --> 01:04:07,260 per PhoneGap e cose del genere, le persone hanno escogitato modi 1438 01:04:07,260 --> 01:04:11,110 per dare applicazioni basate su web accesso alla telecamera, 1439 01:04:11,110 --> 01:04:13,310 fino a quando si sta utilizzando un'applicazione ibrida. 1440 01:04:13,310 --> 01:04:14,214 >> Come funziona? 1441 01:04:14,214 --> 01:04:16,130 Perché l'ibrido applicazione, per definizione, 1442 01:04:16,130 --> 01:04:19,600 ha un po 'di codice in Objective-C, e Swift, e Java, o in C #, 1443 01:04:19,600 --> 01:04:20,920 si può accedere all'hardware. 1444 01:04:20,920 --> 01:04:24,590 Non necessariamente tutto, ma potrebbe molto bene 1445 01:04:24,590 --> 01:04:27,310 essere il caso che avete l'accesso sufficiente per ottenere la macchina fotografica, 1446 01:04:27,310 --> 01:04:32,960 anche per le piattaforme Android, per esempio, in tale esempio forzato. 1447 01:04:32,960 --> 01:04:35,515 >> Qualsiasi altra domanda? 1448 01:04:35,515 --> 01:04:36,279 Tutto ok. 1449 01:04:36,279 --> 01:04:38,070 Perché non prendiamo la nostra 15 minuti di pausa qui. 1450 01:04:38,070 --> 01:04:44,060 Ci riprendiamo a tre con una finale guarda programmazione web, banche dati, 1451 01:04:44,060 --> 01:04:45,910 e Javascript. 1452 01:04:45,910 --> 01:04:48,877