1 00:00:00,000 --> 00:00:01,291 >> DAVID J. Malan: Έτσι είμαστε πίσω. 2 00:00:01,291 --> 00:00:03,050 Έτσι, το υψηλού επιπέδου θέμα αυτή τη στιγμή τώρα 3 00:00:03,050 --> 00:00:06,440 είναι η τεχνολογία στοίβες, το οποίο δεν είναι ένα ιδιαίτερα τεχνικό όρο, 4 00:00:06,440 --> 00:00:09,960 Είναι κάτι περισσότερο από ένα αλιευμάτων όλα για οποιαδήποτε αριθμός των συνδυασμών των τεχνολογιών 5 00:00:09,960 --> 00:00:11,840 που μπορείτε να χρησιμοποιήσετε για να λύσει τα προβλήματα. 6 00:00:11,840 --> 00:00:14,850 Και ίσως το πιο τοποθέτηση τρόπος για να ξεκινήσετε 7 00:00:14,850 --> 00:00:18,110 θα ήταν να εξετάσουμε τις γλώσσες από το Συνεχίζω κροτάλισμα από ένα σωρό 8 00:00:18,110 --> 00:00:21,000 και ο καθένας στο δωμάτιο έχει ίσως ακούσει για τουλάχιστον ένα. 9 00:00:21,000 --> 00:00:25,730 >> Και γιατί να μην προσπαθούμε να διακρίνουμε what-- διακρίνουν αυτές τις γλώσσες 10 00:00:25,730 --> 00:00:28,932 και να μιλήσουμε λίγο για το πότε θα κάνατε επιλέξετε ένα πάνω στο άλλο, πώς είσαι 11 00:00:28,932 --> 00:00:30,890 είδος ριζικά διαφορετικά, και ιδιαίτερα 12 00:00:30,890 --> 00:00:34,830 όταν συζητάτε με τους μηχανικούς, ή προσπαθούν να αποφασίσουν ποιον να προσλάβει, 13 00:00:34,830 --> 00:00:37,652 ή τι εφαρμογής πρόταση για το πράσινο φως, 14 00:00:37,652 --> 00:00:39,860 πώς θα κάνει πραγματικότητα αυτά τα είδη των αποφάσεων. 15 00:00:39,860 --> 00:00:41,890 >> Έτσι, ας κουδουνίστρα κάποια πράγματα μακριά. 16 00:00:41,890 --> 00:00:45,300 Από τις γλώσσες που οι άνθρωποι έχουν ακούσει, τι έρχεται στο μυαλό; 17 00:00:45,300 --> 00:00:48,030 Γ OK. 18 00:00:48,030 --> 00:00:48,757 Εντάξει, C ++. 19 00:00:48,757 --> 00:00:51,400 20 00:00:51,400 --> 00:00:51,990 Τι είναι αυτό? 21 00:00:51,990 --> 00:00:52,390 >> Κοινό: Python. 22 00:00:52,390 --> 00:00:53,348 >> DAVID J. Malan: Python. 23 00:00:53,348 --> 00:00:55,330 Έξοχος. 24 00:00:55,330 --> 00:00:57,000 Τι άλλο? 25 00:00:57,000 --> 00:00:58,810 Visual Basic. 26 00:00:58,810 --> 00:01:01,100 Άκουσα Java. 27 00:01:01,100 --> 00:01:02,610 Visual γνωστός και ως Basic-- 28 00:01:02,610 --> 00:01:03,150 VB. 29 00:01:03,150 --> 00:01:03,650 Ιάβα. 30 00:01:03,650 --> 00:01:07,294 31 00:01:07,294 --> 00:01:12,810 .NET, Η οποία είναι περισσότερο από μια αλιευμάτων όλων για το τι είναι συνήθως C # ως γλώσσα 32 00:01:12,810 --> 00:01:13,770 υπό αμφισβήτηση. 33 00:01:13,770 --> 00:01:14,770 Και επιτρέψτε μου να αναφέρω ότι. 34 00:01:14,770 --> 00:01:15,900 Έτσι θα επανέλθουμε σε αυτό. 35 00:01:15,900 --> 00:01:17,560 Συγγνώμη? 36 00:01:17,560 --> 00:01:18,170 Συγνώμη? 37 00:01:18,170 --> 00:01:19,877 >> Κοινό: SQL. 38 00:01:19,877 --> 00:01:20,876 DAVID J. Malan: Scratch; 39 00:01:20,876 --> 00:01:21,610 Κοινό: SQL. 40 00:01:21,610 --> 00:01:22,610 DAVID J. Malan: Ω, SQL. 41 00:01:22,610 --> 00:01:23,110 ΕΝΤΆΞΕΙ. 42 00:01:23,110 --> 00:01:23,750 SQL. 43 00:01:23,750 --> 00:01:29,510 Έτσι θα επανέλθουμε σε επιβάλω, στην πραγματικότητα, είναι good-- μετά το διάλειμμα, καθώς και. 44 00:01:29,510 --> 00:01:30,572 Τι άλλο? 45 00:01:30,572 --> 00:01:32,530 >> Κοινό: Oracle. 46 00:01:32,530 --> 00:01:34,670 >> DAVID J. Malan: Έτσι Oracle, δεν είναι μια γλώσσα. 47 00:01:34,670 --> 00:01:36,560 Στην πραγματικότητα θα χρησιμοποιούν SQL, καθώς και. 48 00:01:36,560 --> 00:01:38,360 Έτσι, ας βάλουμε ότι μετά το διάλειμμα, καθώς και. 49 00:01:38,360 --> 00:01:39,744 Και συγνώμη, κάτι εδώ πέρα; 50 00:01:39,744 --> 00:01:40,660 Κοινό: Mathematica. 51 00:01:40,660 --> 00:01:41,390 DAVID J. Malan: Mathematica; 52 00:01:41,390 --> 00:01:42,303 ΕΝΤΑΞΕΙ σίγουρα. 53 00:01:42,303 --> 00:01:46,150 54 00:01:46,150 --> 00:01:49,180 Και MATLAB είναι το είδος της εκεί μερικές φορές. 55 00:01:49,180 --> 00:01:50,060 >> Κοινό: R. 56 00:01:50,060 --> 00:01:51,755 >> DAVID J. Malan: R. Ας πάμε εδώ. 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 Σίγουρος. 60 00:01:55,880 --> 00:01:57,910 Παλαιότερα το σχολείο. 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 Θα πετάξει έξω BASIC. 64 00:02:02,410 --> 00:02:05,990 65 00:02:05,990 --> 00:02:08,539 ΒΑΣΙΚΌΣ. 66 00:02:08,539 --> 00:02:09,390 Κάθε-- 67 00:02:09,390 --> 00:02:10,352 >> Κοινό: MATLAB; 68 00:02:10,352 --> 00:02:11,310 DAVID J. Malan: MATLAB. 69 00:02:11,310 --> 00:02:12,248 Αχ, σας νικήσει σε αυτό. 70 00:02:12,248 --> 00:02:15,370 71 00:02:15,370 --> 00:02:15,870 Οτιδήποτε? 72 00:02:15,870 --> 00:02:18,700 Μπορώ να σκεφτώ ένα ζευγάρι των άλλων. 73 00:02:18,700 --> 00:02:21,876 Μπορώ να σκεφτώ μερικά άλλα. 74 00:02:21,876 --> 00:02:22,792 Και αυτό ήταν το τελευταίο; 75 00:02:22,792 --> 00:02:23,970 >> Κοινό: ASP. 76 00:02:23,970 --> 00:02:25,030 >> DAVID J. Malan: ASP; 77 00:02:25,030 --> 00:02:26,100 Ναι. 78 00:02:26,100 --> 00:02:27,100 Ενεργές σελίδες διακομιστή. 79 00:02:27,100 --> 00:02:30,270 Αυτό γενικά θα εμπίπτουν άλλες γλώσσες, μερικές φορές C #, 80 00:02:30,270 --> 00:02:32,040 οπότε ας το αφήσουμε μακριά. 81 00:02:32,040 --> 00:02:35,510 Αλλά θα επανέλθουμε σε αυτό για πλαίσια και τέτοια. 82 00:02:35,510 --> 00:02:36,290 Τίποτα άλλο; 83 00:02:36,290 --> 00:02:39,020 PHP είναι δημοφιλής. 84 00:02:39,020 --> 00:02:41,710 Ruby είναι μια άλλη. 85 00:02:41,710 --> 00:02:48,230 JavaScript, δεν πρέπει να συγχέεται με Java, είναι ένα άλλο. 86 00:02:48,230 --> 00:02:49,570 Αυτό είναι το είδος της μια παρτίδα. 87 00:02:49,570 --> 00:02:53,590 >> Έτσι, μπορεί να είναι σίγουρα εντυπωσιακή, ως εάν ο κατάλογος δεν είναι ήδη, 88 00:02:53,590 --> 00:02:55,650 απλά για να αρχίσουν να ξέρετε πού να αρχίσετε. 89 00:02:55,650 --> 00:02:58,130 Και έτσι ευτυχώς, ας προσεγγίσουμε το θέμα από μερικές γωνίες. 90 00:02:58,130 --> 00:03:03,520 Κατ 'αρχάς, ας προσπαθήσουμε να ταξινομήσει τουλάχιστον ορισμένες από αυτές τις γλώσσες 91 00:03:03,520 --> 00:03:06,790 σε δύο μεγάλες κουβάδες, που θυμίζει η συνομιλία που είχαμε πριν από τη θραύση, 92 00:03:06,790 --> 00:03:09,630 όπου μιλήσαμε για την κατάρτιση, και τον πηγαίο κώδικα, και κώδικα μηχανής, 93 00:03:09,630 --> 00:03:11,440 γιατί αυτό δεν είναι το πώς είναι Όλες οι γλώσσες λειτουργήσει. 94 00:03:11,440 --> 00:03:15,640 Έτσι θα κόβω έξω μερικά παραδείγματα αριθμό τους ή αντι-examples-- σε αυτό το μοντέλο. 95 00:03:15,640 --> 00:03:18,490 >> Και τότε, γιατί να μην το κάνουμε εμείς μιλήσουμε για τις εφαρμογές 96 00:03:18,490 --> 00:03:20,390 ότι αυτές οι γλώσσες χρησιμοποιούνται γενικά για. 97 00:03:20,390 --> 00:03:22,840 Και ειλικρινά, παρόλο αυτό είναι μια πολύ μεγάλη λίστα, 98 00:03:22,840 --> 00:03:26,320 αυτό είναι μόνο ένα υποσύνολο αυτής της λίστας που που συνήθως θα αντλήσει από αυτές τις μέρες 99 00:03:26,320 --> 00:03:27,220 για την επίλυση προβλημάτων. 100 00:03:27,220 --> 00:03:29,150 Ορισμένες γλώσσες είναι νεότερες από τους άλλους. 101 00:03:29,150 --> 00:03:31,170 Ορισμένες γλώσσες είναι πιο δημοφιλής από τους άλλους. 102 00:03:31,170 --> 00:03:34,370 Έτσι δεν είναι σαν να έχουν τέτοια μια συντριπτική έργο, πριν να 103 00:03:34,370 --> 00:03:36,970 όταν αποφασίζουν μεταξύ αυτές οι διάφορες γλώσσες. 104 00:03:36,970 --> 00:03:40,110 >> Ας το κάνουμε αυτό. 105 00:03:40,110 --> 00:03:45,870 Είχαμε νωρίτερα, τον πηγαίο κώδικα, και στη συνέχεια είχαμε κώδικα μηχανής. 106 00:03:45,870 --> 00:03:48,590 107 00:03:48,590 --> 00:03:49,400 Ωχ. 108 00:03:49,400 --> 00:03:50,910 Γράφοντας το λάθος λέξη. 109 00:03:50,910 --> 00:03:52,740 κώδικα μηχανής. 110 00:03:52,740 --> 00:03:57,549 Και είχαμε κάποια διαδικασία η μέση called-- ναι, τον compiler. 111 00:03:57,549 --> 00:03:58,215 Έτσι ο compiler. 112 00:03:58,215 --> 00:04:00,760 113 00:04:00,760 --> 00:04:03,910 >> Και ποιος είναι ο κωδικός μηχανής στην πραγματικότητα λειτουργεί με το τέλος 114 00:04:03,910 --> 00:04:05,680 πρόκειται να είναι πραγματική CPU σας. 115 00:04:05,680 --> 00:04:09,660 Με άλλα λόγια, με κώδικα μηχανής, Ι σημαίνει τις χαμηλότερες οδηγίες επίπεδο 116 00:04:09,660 --> 00:04:11,330 ότι η CPU καταλαβαίνει πραγματικά. 117 00:04:11,330 --> 00:04:15,100 Πρόσθεση, αφαίρεση, μετακίνηση, αποθήκευση, και τις λειτουργίες όπως αυτό. 118 00:04:15,100 --> 00:04:19,700 Και έτσι αυτό είναι το μοντέλο για το τι είναι γενικά γνωστή ως καταρτίζονται γλώσσες. 119 00:04:19,700 --> 00:04:21,000 Ίσως δεν αποτελεί έκπληξη. 120 00:04:21,000 --> 00:04:23,550 >> Έτσι, αυτό είναι το μοντέλο για καταρτίζονται γλώσσες. 121 00:04:23,550 --> 00:04:25,970 Αλλά αποδεικνύεται εκεί που μια άλλη κατηγορία των γλωσσών 122 00:04:25,970 --> 00:04:32,650 που ονομάζεται ερμηνεύεται languages-- ερμηνεύεται languages-- 123 00:04:32,650 --> 00:04:34,030 που είναι ελαφρώς διαφορετική. 124 00:04:34,030 --> 00:04:41,660 Μπορείτε να γράψετε στον πηγαίο κώδικα, εκτελέστε τους μέσω διερμηνέα, 125 00:04:41,660 --> 00:04:45,440 και ότι διερμηνέας τι τρέχει στο CPU. 126 00:04:45,440 --> 00:04:50,120 Με άλλα λόγια, αυτό που δεν κάνουμε EMIT είναι αυτό, προφανώς; 127 00:04:50,120 --> 00:04:50,980 κώδικα μηχανής. 128 00:04:50,980 --> 00:04:54,290 Τα μηδενικά και αυτοί ότι η CPU η ίδια τελικά καταλαβαίνει. 129 00:04:54,290 --> 00:04:59,780 >> Έτσι, σε αυτή την πρώτη έκδοση και γλώσσες όπως η C, όπως είδαμε, 130 00:04:59,780 --> 00:05:02,040 μπορείτε να γράψετε στον πηγαίο κώδικα ότι είναι λίγο απόκρυφες, 131 00:05:02,040 --> 00:05:05,300 αλλά τουλάχιστον αυτό είναι το είδος της αγγλικής, όπως και είναι τουλάχιστον αναγνώσιμο 132 00:05:05,300 --> 00:05:06,780 τη στιγμή που θα το συνηθίσετε. 133 00:05:06,780 --> 00:05:10,100 Μπορείτε να τρέξει μέσα από ένα μεταγλωττιστή και έξω μπορείτε να πάρετε, τελικά, μηδενικά και μονάδες. 134 00:05:10,100 --> 00:05:11,340 >> Ότι μια υπεραπλούστευση. 135 00:05:11,340 --> 00:05:12,839 Υπάρχουν κάποια άλλα βήματα εκεί. 136 00:05:12,839 --> 00:05:15,530 Στην πραγματικότητα, αν έχετε ακούσει ποτέ ο όρος «συμβολική γλώσσα," 137 00:05:15,530 --> 00:05:17,990 αυτό είναι ένα βήμα πριν τα μηδενικά και μονάδες. 138 00:05:17,990 --> 00:05:20,949 Αυτό είναι λίγο πιο ευανάγνωστη, αλλά ακόμα αρκετά απόκρυφες. 139 00:05:20,949 --> 00:05:23,740 Και έτσι υπάρχει ενδιάμεσα στάδια που είναι, στην πραγματικότητα, συμβαίνει εδώ. 140 00:05:23,740 --> 00:05:26,360 Όμως η έξοδος, τελικά, Είναι αυτές οι μηδενικά και μονάδες. 141 00:05:26,360 --> 00:05:28,990 >> Αλλά στο ερμήνευσε κόσμο, όπου έχετε 142 00:05:28,990 --> 00:05:32,680 γλώσσες που ερμηνεύονται γλώσσες, μπορείτε πραγματικά να παραλείψετε αυτό το βήμα. 143 00:05:32,680 --> 00:05:36,010 Με άλλα λόγια, όταν γράφετε ένα πρόγραμμα, μπορείτε απλά να τρέξει αμέσως. 144 00:05:36,010 --> 00:05:38,960 Δεν το καταρτίζουν και στη συνέχεια να το εκτελέσετε, όπως έκανα πριν. 145 00:05:38,960 --> 00:05:41,132 Μπορείτε απλά να το γράψετε και να το εκτελέσετε. 146 00:05:41,132 --> 00:05:44,340 Και αν θέλετε να κάνετε μια γρήγορη αλλαγή, κάνετε μια γρήγορη αλλαγή και να εκτελέσετε ξανά αυτό. 147 00:05:44,340 --> 00:05:46,640 Έτσι, δεν υπάρχει μέση βήμα εδώ. 148 00:05:46,640 --> 00:05:50,840 >> Τώρα, για το πρόγραμμα που έγραψα νωρίτερα, η οποία ήταν αυτό το πρόγραμμα "Hello World", 149 00:05:50,840 --> 00:05:53,660 ίσως εύλογα wonder-- ή θα μπορούσε εύλογα 150 00:05:53,660 --> 00:05:58,570 state-- ότι δεν ήταν εκείνη τη στιγμή καταναλώνοντας να καταρτίσει το πρόγραμμά μου. 151 00:05:58,570 --> 00:06:00,337 Φαίνεται να έχουν κάνει έτσι απλά. 152 00:06:00,337 --> 00:06:02,170 Και δεν υπάρχει γραφική εκδόσεις των μεταγλωττιστών. 153 00:06:02,170 --> 00:06:05,270 Είμαι χρησιμοποιώντας ένα πολύ απόκρυφες έκδοση, αλλά θα μπορούσε να χτυπήσει ένα κουμπί play 154 00:06:05,270 --> 00:06:07,887 και ότι θα κάνουν πραγματικά Η σύνταξη για εσάς. 155 00:06:07,887 --> 00:06:10,720 Έχω συντάξει το πρόγραμμα και, στη συνέχεια, και πάλι, να τρέξει, θα ήθελα απλώς να το κάνετε αυτό. 156 00:06:10,720 --> 00:06:13,820 Και εξόδους στα αριστερά εκεί, "Hello!" 157 00:06:13,820 --> 00:06:15,530 Αυτό δεν φαίνεται όλα αυτά επαχθείς. 158 00:06:15,530 --> 00:06:19,920 Αλλά όταν τα προγράμματά σας είναι περισσότερο από ένα, δύο, τρία, 159 00:06:19,920 --> 00:06:25,470 μακρύ τέσσερις, πέντε γραμμές, μπορεί να να λάβει πολύ περισσότερα δευτερόλεπτα για να ολοκληρωθεί. 160 00:06:25,470 --> 00:06:28,310 Μερικές φορές ακόμη και λεπτά ή πολύ λίγο χρόνο για να ολοκληρωθεί. 161 00:06:28,310 --> 00:06:30,480 Μετά από όλα, μερικά από τα μεγαλύτερη προϊόντα στον κόσμο 162 00:06:30,480 --> 00:06:35,040 είναι τα πράγματα όπως τα λειτουργικά συστήματα, Microsoft Word, Microsoft Excel, 163 00:06:35,040 --> 00:06:39,070 το οποίο θα μπορούσε να είναι εκατοντάδες χιλιάδες ή ακόμα και εκατομμύρια γραμμές κώδικα μακριά, 164 00:06:39,070 --> 00:06:41,300 και εκείνων που δεν κάνουν ακριβώς αμέσως εκτελέσει. 165 00:06:41,300 --> 00:06:44,560 >> Επιπλέον, στο διαδίκτυο, είναι γίνει της μόδας να χρησιμοποιήσετε 166 00:06:44,560 --> 00:06:47,600 απλά ερμηνευμένες γλώσσες, εν μέρει γιατί 167 00:06:47,600 --> 00:06:50,570 μπορεί να κάνει μια αλλαγή ως τον κύριο του έργου και στη συνέχεια, μόλις αμέσως reload 168 00:06:50,570 --> 00:06:52,570 η σελίδα του προγράμματος περιήγησης και δείτε αμέσως το αποτέλεσμα. 169 00:06:52,570 --> 00:06:56,160 Και έτσι HTML, ενώ δεν είναι μια γλώσσα προγραμματισμού, 170 00:06:56,160 --> 00:06:58,860 είναι μια γλώσσα που είναι ερμηνεύεται. 171 00:06:58,860 --> 00:07:00,770 Και είδαμε το ίδιο αποτέλεσμα χθες. 172 00:07:00,770 --> 00:07:04,070 Απλά επαναλάβετε τη φόρτωση της σελίδας μετά την πραγματοποίηση μια αλλαγή στην Cloud9 and-- voila-- 173 00:07:04,070 --> 00:07:05,560 θα δείτε ένα νέο αποτέλεσμα. 174 00:07:05,560 --> 00:07:07,090 >> Έτσι ποια είναι η διαφορά εδώ; 175 00:07:07,090 --> 00:07:13,190 Στην HTML, ανάκληση, είχαμε ανοιχτή HTML, ανοικτή κεφαλή, ανοιχτή τίτλο, κοντά τίτλο, 176 00:07:13,190 --> 00:07:15,250 κοντά κεφάλι, ανοιχτό σώμα, και ούτω καθεξής. 177 00:07:15,250 --> 00:07:19,149 Είχαμε όλες αυτές τις ετικέτες που έχουμε αρκετά πολύ είπε, ενημερώστε το πρόγραμμα περιήγησης τι να κάνει. 178 00:07:19,149 --> 00:07:20,690 Γεια σου πρόγραμμα περιήγησης, έρχεται εδώ μια σελίδα HTML. 179 00:07:20,690 --> 00:07:22,170 Γεια σου πρόγραμμα περιήγησης, έρχεται εδώ ο τίτλος. 180 00:07:22,170 --> 00:07:24,429 Γεια σου πρόγραμμα περιήγησης, εδώ έρχεται κάποια κείμενο που θα πρέπει να είναι τολμηρή. 181 00:07:24,429 --> 00:07:25,720 Και στη συνέχεια να σας πω το αντίθετο. 182 00:07:25,720 --> 00:07:27,330 Γεια σου πρόγραμμα περιήγησης, ότι είναι για το κείμενο τολμηρό πρόσωπο. 183 00:07:27,330 --> 00:07:28,830 Γεια σου πρόγραμμα περιήγησης, αυτό είναι για το σώμα. 184 00:07:28,830 --> 00:07:29,740 Και ούτω καθεξής. 185 00:07:29,740 --> 00:07:31,130 >> Και έτσι αυτό είναι ένας browser; 186 00:07:31,130 --> 00:07:33,170 Ένα πρόγραμμα περιήγησης είναι απλώς ένα διερμηνέα. 187 00:07:33,170 --> 00:07:36,090 Πρόκειται για ένα πρόγραμμα που κάποιος σαν Microsoft ή η Google έχει γράψει, 188 00:07:36,090 --> 00:07:39,160 των οποίων ο σκοπός στη ζωή είναι να διαβάσετε μια γλώσσα, γνωστή ως HTML, 189 00:07:39,160 --> 00:07:39,890 και το ερμηνεύσει. 190 00:07:39,890 --> 00:07:41,290 Πάνω προς τα κάτω, αριστερά προς τα δεξιά. 191 00:07:41,290 --> 00:07:46,880 Και κάθε φορά που το πρόγραμμα περιήγησης βλέπει ανοιχτό βραχίονα, τον τίτλο, κοντά βραχίονα, 192 00:07:46,880 --> 00:07:48,960 θα πρέπει να ερμηνεύσει ότι υπό την έννοια, OH, ότι 193 00:07:48,960 --> 00:07:52,490 σημαίνει ότι θα πρέπει να θέσει αυτές τις λέξεις τρόπο εδώ στην κορυφή του προγράμματος περιήγησης. 194 00:07:52,490 --> 00:07:55,700 >> Γι 'αυτό ακριβώς κάνει ό, τι λέει ο κώδικας HTML. 195 00:07:55,700 --> 00:07:57,240 Αλλά δεν υπάρχει καμία μηδενικά και μονάδες. 196 00:07:57,240 --> 00:07:58,250 Δεν υπάρχει καμία σύνταξη. 197 00:07:58,250 --> 00:07:58,890 Εσείς δεν το κάνει. 198 00:07:58,890 --> 00:07:59,931 Το πρόγραμμα περιήγησης δεν το κάνει. 199 00:07:59,931 --> 00:08:01,710 Είναι απλά δεν συμμετέχουν. 200 00:08:01,710 --> 00:08:05,890 >> Έτσι, σύμφωνα με το πνεύμα αυτών των εν εξελίξει θέματα, σήμερα και χθες, 201 00:08:05,890 --> 00:08:08,400 που φαίνεται να είναι ένα υπέροχο χαρακτηριστικό. 202 00:08:08,400 --> 00:08:11,410 Μπορείτε να αποθηκεύσετε τον κωδικό σας και, στη συνέχεια, απλά να τρέξει ή να το ερμηνεύσει. 203 00:08:11,410 --> 00:08:13,790 Δεν υπάρχει καμία ενδιάμεσα βήματα. 204 00:08:13,790 --> 00:08:15,690 Σίγουρα υπάρχει ένα κόστος; 205 00:08:15,690 --> 00:08:16,810 Δεν μπορούν όλοι να είναι upsides. 206 00:08:16,810 --> 00:08:19,964 Λοιπόν, τι θα μπορούσε να είναι ότι το κόστος; 207 00:08:19,964 --> 00:08:20,940 >> Κοινό: Space. 208 00:08:20,940 --> 00:08:22,370 >> DAVID J. Malan: Space. 209 00:08:22,370 --> 00:08:23,370 Έτσι, σίγουρα. 210 00:08:23,370 --> 00:08:26,920 Στο καταρτίζονται κόσμο, έχετε όχι μόνο το αρχικό πηγαίο κώδικα, 211 00:08:26,920 --> 00:08:29,657 έχετε επίσης τη δημιουργία και τότε κατά πάσα πιθανότητα αποταμίευσης 212 00:08:29,657 --> 00:08:31,740 η μηχανή code-- η μηδενικά και ones-- και αυτό είναι 213 00:08:31,740 --> 00:08:33,870 πήρε να αναλάβει κάποια ποσότητα του χώρου. 214 00:08:33,870 --> 00:08:34,429 Απολύτως. 215 00:08:34,429 --> 00:08:35,765 Γι 'αυτό σας κοστίζει περισσότερο χώρο. 216 00:08:35,765 --> 00:08:39,289 217 00:08:39,289 --> 00:08:39,789 Ναι; 218 00:08:39,789 --> 00:08:43,280 >> Κοινό: προγράμματα περιήγησης μπορεί να ερμηνεύουν με διαφορετικό τρόπο. 219 00:08:43,280 --> 00:08:46,770 >> DAVID J. Malan: προγράμματα περιήγησης μπορεί να ερμηνεύουν διαφορετικά. 220 00:08:46,770 --> 00:08:48,622 Αυτό είναι αλήθεια. 221 00:08:48,622 --> 00:08:50,330 Αλλά δεν είμαι σίγουρος ότι είμαι άνετα υποστηρίζοντας 222 00:08:50,330 --> 00:08:51,840 αυτό είναι επειδή είναι ερμηνεύεται. 223 00:08:51,840 --> 00:08:56,340 Αυτό είναι περισσότερο μόνο και μόνο επειδή είναι μια υλοποίηση μιας γλώσσας 224 00:08:56,340 --> 00:08:58,050 ότι η ίδια έχει ασάφειες. 225 00:08:58,050 --> 00:09:01,570 Έτσι, ας μην είναι αρκετά επιβεβαιώνουν ότι ένα, αλλά καλό προαίσθημα. 226 00:09:01,570 --> 00:09:03,103 Τι άλλο θα μπορούσε να είναι η τιμή που καταβάλλεται; 227 00:09:03,103 --> 00:09:03,602 Ανδρέας? 228 00:09:03,602 --> 00:09:05,912 >> ΚΟΙΝΟ: Είσαι συνδυάζοντας δύο βήματα, έτσι ώστε να, επομένως, 229 00:09:05,912 --> 00:09:08,300 έχουν αυξανόμενη πολυπλοκότητα, καθώς και. 230 00:09:08,300 --> 00:09:11,040 >> David J. Malan: Η complex-- η αύξηση της πολυπλοκότητας πού; 231 00:09:11,040 --> 00:09:12,270 Για ποιόν? 232 00:09:12,270 --> 00:09:16,748 >> Κοινό: Έτσι, στο διερμηνέα βήμα, είστε συνδυάζοντας τον διερμηνέα 233 00:09:16,748 --> 00:09:19,120 και compiler για μόλις προηγήθηκαν to-- 234 00:09:19,120 --> 00:09:21,100 >> DAVID J. Malan: Αχ, εντάξει. 235 00:09:21,100 --> 00:09:25,240 Κατά ειρωνικό τρόπο, είναι πιθανώς λίγο απλούστερο να εφαρμόσουν τον διερμηνέα, 236 00:09:25,240 --> 00:09:29,530 ακόμη και αν φαίνεται να upsides απόδοση αυτής της ευκολίας. 237 00:09:29,530 --> 00:09:30,550 Έτσι, πιθανώς αλήθεια. 238 00:09:30,550 --> 00:09:32,716 Αλλά αυτό το είδος της εξαρτάται, εγώ Θα έλεγα, με τη γλώσσα 239 00:09:32,716 --> 00:09:35,720 και σχετικά με το πώς πήγαν σχετικά με την εφαρμογή της. 240 00:09:35,720 --> 00:09:38,535 Μπορεί να υπάρχει μια πολύ μεγαλύτερη πολυπλοκότητα, στην πραγματικότητα, στον compiler, 241 00:09:38,535 --> 00:09:41,410 μόνο και μόνο επειδή θα πρέπει να πάμε από κάτι τόσο υψηλού επιπέδου σε κάτι 242 00:09:41,410 --> 00:09:42,560 τόσο χαμηλού επιπέδου. 243 00:09:42,560 --> 00:09:45,340 Αλλά μια καλή σκέψη. 244 00:09:45,340 --> 00:09:50,770 >> Έτσι, με άλλα λόγια, ένα μεταγλωττισμένο πρόγραμμα, όταν μετατράπηκε σε αυτά τα μηδενικά και μονάδες, 245 00:09:50,770 --> 00:09:54,470 καταλήγει στη γλώσσα ότι η CPU μιλάει, 246 00:09:54,470 --> 00:09:57,850 ενώ σε αυτή την πλευρά του ο κόσμο, το πρόγραμμα που έχετε γράψει, 247 00:09:57,850 --> 00:10:02,527 ο κώδικας που έχετε γράψει, στην πραγματικότητα ποτέ δεν παίρνει μετατρέπεται σε πραγματική γλώσσα 248 00:10:02,527 --> 00:10:03,360 ο υπολογιστής μιλάει. 249 00:10:03,360 --> 00:10:04,190 Τα μηδενικά και μονάδες. 250 00:10:04,190 --> 00:10:08,480 Παραμένει στην αρχική, πιο ανθρώπινη φιλική, πιο ευανάγνωστο γλώσσα. 251 00:10:08,480 --> 00:10:11,720 Λοιπόν, τι θα μπορούσε να είναι η επίπτωση εκεί, αν δεν το κάνετε πραγματικότητα 252 00:10:11,720 --> 00:10:15,020 ενοχλεί τη μετατροπή σας Πρόγραμμα για την ίδια γλώσσα 253 00:10:15,020 --> 00:10:18,013 ότι το βασικό υπολογιστή μιλάει; 254 00:10:18,013 --> 00:10:19,780 >> Κοινό: μπορεί να μην καταλαβαίνω κάτι; 255 00:10:19,780 --> 00:10:21,170 >> DAVID J. Malan: Might δεν καταλαβαίνω κάτι. 256 00:10:21,170 --> 00:10:23,297 Και αυτό μπορεί να claim-- αν δεν κατάλαβα 257 00:10:23,297 --> 00:10:25,880 κάτι, αυτό είναι ένα σφάλμα ή έλλειψη της διαθέτουν στο διερμηνέα. 258 00:10:25,880 --> 00:10:28,544 Έτσι ώστε θα ήταν περισσότερο ένα λάθος από ένα κόστος. 259 00:10:28,544 --> 00:10:30,419 >> ΚΟΙΝΟ: Έχετε πρόσβαση στον πηγαίο κώδικα; 260 00:10:30,419 --> 00:10:31,877 DAVID J. Malan: Υπάρχει ένα καλό αποτέλεσμα. 261 00:10:31,877 --> 00:10:34,140 Έτσι, ένα μειονέκτημα εδώ είναι που Φαίνεται να έχει πρόσβαση. 262 00:10:34,140 --> 00:10:37,006 Εσείς, ο τελικός χρήστης, μπορεί να φαίνεται να να έχει πρόσβαση στον πηγαίο κώδικα. 263 00:10:37,006 --> 00:10:38,130 Και αυτό δεν είναι πάντα αλήθεια. 264 00:10:38,130 --> 00:10:39,660 Αλλά είναι αλήθεια στην περίπτωση JavaScript, 265 00:10:39,660 --> 00:10:41,660 το οποίο θα εξετάσουμε μετά το διάλειμμα σήμερα, η οποία 266 00:10:41,660 --> 00:10:45,720 είναι μια ερμηνευμένη γλώσσα προγραμματισμού ότι γράφετε στον πηγαίο κώδικα. 267 00:10:45,720 --> 00:10:48,890 >> Αλλά αυτό πηγαίο κώδικα παίρνει μεταφέρονται από το διακομιστή σας στο πρόγραμμα περιήγησης 268 00:10:48,890 --> 00:10:51,392 και τρέχει στο πρόγραμμα περιήγησης του ανθρώπου. 269 00:10:51,392 --> 00:10:54,350 Έτσι, εδώ θα μπορούσε να ανοίξει μόνο το παράθυρο, όπως έχω κάνει στο Chrome, 270 00:10:54,350 --> 00:10:57,740 και να το δει κανείς, όπως εμείς οι ίδιοι μια ματιά στο χθες με το Google. 271 00:10:57,740 --> 00:11:00,420 Θα μπορούσε να κοιτάξουμε λίγο ακατανόητο αλλά είναι εκεί. 272 00:11:00,420 --> 00:11:03,482 Έτσι ώστε να είναι απολύτως μια τιμή που καταβάλλεται. 273 00:11:03,482 --> 00:11:04,565 Κοινό: χτύπημα απόδοσης; 274 00:11:04,565 --> 00:11:05,020 DAVID J. Malan: Ναι. 275 00:11:05,020 --> 00:11:06,260 Και αυτό είναι το άλλο biggie. 276 00:11:06,260 --> 00:11:07,380 Υπάρχει ένα χτύπημα απόδοσης. 277 00:11:07,380 --> 00:11:10,100 Επειδή έχετε αυτό μέση τον άνθρωπο, τα οποία η ίδια 278 00:11:10,100 --> 00:11:13,740 είναι ένα πρόγραμμα, ανάμεσα σε εσάς και η CPU, σε αντιδιαστολή 279 00:11:13,740 --> 00:11:17,880 απλά να σίτιση αυτών των πρώτων μηδέν και στο CPU, 280 00:11:17,880 --> 00:11:21,060 υπάρχει ένα χτύπημα απόδοσης που θα λαμβάνουν με ερμηνεύεται γλώσσα. 281 00:11:21,060 --> 00:11:24,240 Έτσι ώστε, αυθαίρετα, ένα πρόγραμμα ότι μπορεί να πάρει ένα δευτερόλεπτο 282 00:11:24,240 --> 00:11:27,840 να τρέχει σε έναν υπολογιστή ή ένα λεπτό για να τρέξει σε έναν υπολογιστή εδώ, 283 00:11:27,840 --> 00:11:32,059 μπορεί να διαρκέσει 10 δευτερόλεπτα ή 10 λεπτά για να τρέχει σε έναν υπολογιστή εδώ. 284 00:11:32,059 --> 00:11:35,100 Είναι γενικά δεν πρόκειται να είναι ότι ένα μεγάλο μέρος ενός difference-- συντελεστή 10-- 285 00:11:35,100 --> 00:11:36,808 γιατί υπάρχει βελτιστοποιήσεις που μπορείτε να κάνετε. 286 00:11:36,808 --> 00:11:38,680 Αλλά είναι σχεδόν πάντα πιο αργά. 287 00:11:38,680 --> 00:11:43,070 Τώρα, η άλλη όψη του εν λόγω ανησυχία είναι ότι, καθώς οι υπολογιστές, κάθε 12 288 00:11:43,070 --> 00:11:45,970 18 months-- σύμφωνα με νόμο του Moore, έτσι ώστε να speak-- 289 00:11:45,970 --> 00:11:47,600 Τα απλά να πάρει όλο και πιο γρήγορα. 290 00:11:47,600 --> 00:11:48,750 Έχω όλο και περισσότερο χώρο στο δίσκο. 291 00:11:48,750 --> 00:11:49,791 Έχω όλο και περισσότερη μνήμη RAM. 292 00:11:49,791 --> 00:11:50,620 Ποιος νοιάζεται πραγματικά; 293 00:11:50,620 --> 00:11:52,328 >> Και αυτό είναι το είδος της μια λογικό επιχείρημα. 294 00:11:52,328 --> 00:11:55,740 Πράγματι, ένας από τους λόγους γιατί μπορούμε να ανεχθούμε πιο αργό 295 00:11:55,740 --> 00:11:58,480 ερμηνευμένες γλώσσες είναι γιατί εμείς οι άνθρωποι πραγματικά δεν παρατηρήσετε. 296 00:11:58,480 --> 00:12:00,690 Οι υπολογιστές έχουν πάρει ακριβώς έτσι καταριέται γρήγορα. 297 00:12:00,690 --> 00:12:04,520 Ενώ πίσω στην ημέρα, ειδικά όταν το υλικό ήταν πολύ πιο περιορισμένη, 298 00:12:04,520 --> 00:12:06,860 είχατε λιγότερο από τα πάντα, ήταν πολύ πιο ακριβό 299 00:12:06,860 --> 00:12:10,570 έτσι τα πάντα κοστίζουν περισσότερο, και στη συνέχεια, που πραγματικά ήθελαν να αποσπάσουν από 300 00:12:10,570 --> 00:12:12,590 όσο επιδόσεις, όπως θα μπορούσατε. 301 00:12:12,590 --> 00:12:16,400 Αλλά εκείνο που απαιτείται εγγράφως ένα χαμηλότερο επίπεδο, αν θέλετε, 302 00:12:16,400 --> 00:12:18,090 με ένα καταρτίζονται γλώσσα. 303 00:12:18,090 --> 00:12:20,830 >> Έτσι ώστε να παίρνουν αυτό το χτύπημα απόδοσης. 304 00:12:20,830 --> 00:12:24,780 Αλλά σε γενικές γραμμές, οι upsides φαίνεται να αξίζει τον κόπο αυτές τις μέρες. 305 00:12:24,780 --> 00:12:26,850 Λοιπόν, εκτός από το το ζήτημα της πνευματικής ιδιοκτησίας. 306 00:12:26,850 --> 00:12:28,641 Αυτό το είδος της αναγνωσιμότητας του κώδικα, που θα 307 00:12:28,641 --> 00:12:30,640 έρχονται πίσω όταν κοιτάμε το JavaScript. 308 00:12:30,640 --> 00:12:33,140 >> Έτσι, ας προσπαθήσουμε να κατηγοριοποιήσουμε τουλάχιστον μερικά από αυτά. 309 00:12:33,140 --> 00:12:41,650 Έτσι, μεταξύ των καταρτίζονται γλώσσες, εμείς θα έχουν C, C ++, κάπως, sorta, Java, 310 00:12:41,650 --> 00:12:48,120 αν και είναι ένα κομμάτι από μια εξαίρεση, για λόγους που θα σας δείξω ακριβώς σε μια στιγμή. 311 00:12:48,120 --> 00:12:51,540 C # θα είναι σε αυτή τη λίστα. 312 00:12:51,540 --> 00:12:54,930 Θα εξετάσουμε περισσότερο σε μόλις οι πιο σύγχρονες γλώσσες. 313 00:12:54,930 --> 00:12:55,430 Εντάξει. 314 00:12:55,430 --> 00:12:56,804 Και αυτό φαίνεται όπως πολλά εκεί. 315 00:12:56,804 --> 00:13:03,500 Εκτιμώντας ότι σε αυτή την πλευρά του φράχτη, μπορεί να έχουμε JavaScript και Python, 316 00:13:03,500 --> 00:13:08,040 και PHP και Ruby. 317 00:13:08,040 --> 00:13:13,640 Και είναι αυτό αρκετό για οι πιο πρόσφατες είναι αυτές; 318 00:13:13,640 --> 00:13:15,410 Ότι αισθάνεται σαν πολλά για τώρα. 319 00:13:15,410 --> 00:13:16,330 ΕΝΤΆΞΕΙ. 320 00:13:16,330 --> 00:13:18,760 Και τότε dot dot dot, δεδομένου ότι ο κατάλογος είναι ατελείωτος. 321 00:13:18,760 --> 00:13:22,300 >> Και στην πραγματικότητα, αν θέλουμε απλά να να πάρετε μια αίσθηση του this-- Wikipedia, 322 00:13:22,300 --> 00:13:24,130 καταρτίζονται γλώσσες. 323 00:13:24,130 --> 00:13:27,150 Υποθέτω μπορούμε να πάρουμε ένα πολύ πιο εξαντλητικό κατάλογο. 324 00:13:27,150 --> 00:13:27,910 Έτσι, εδώ πηγαίνουμε. 325 00:13:27,910 --> 00:13:30,620 Έτσι, εδώ είναι μια πολύ πιο εξαντλητικό κατάλογο. 326 00:13:30,620 --> 00:13:34,150 Και ήλπιζα κάποιος θα μαντέψει D ως γλώσσα, επειδή ότι υπάρχει πάρα πολύ, 327 00:13:34,150 --> 00:13:37,747 αλλά σταμάτησε στο D φαίνεται. 328 00:13:37,747 --> 00:13:39,330 Αν και θα μπορούσε στην πραγματικότητα να υπάρχει ένα Ε 329 00:13:39,330 --> 00:13:41,496 >> Ω, στην πραγματικότητα, αυτό θα πρέπει να να είναι στη λίστα αυτές τις μέρες. 330 00:13:41,496 --> 00:13:47,460 Swift είναι στην πραγματικότητα μια γλώσσα ότι η Apple εφεύρει 331 00:13:47,460 --> 00:13:50,302 που χρησιμοποιείται τώρα, ολοένα και περισσότερο έτσι, στο iPhone ανάπτυξη. 332 00:13:50,302 --> 00:13:52,260 Αλλά θα επανέλθουμε ότι με τη συζήτησή μας 333 00:13:52,260 --> 00:13:54,090 των κινητών σε μόλις ένα μικρό κομμάτι, καθώς και. 334 00:13:54,090 --> 00:13:55,260 Έτσι Swift, καθώς και. 335 00:13:55,260 --> 00:13:57,540 >> Και στη συνέχεια, αν πάμε στο ερμηνεύεται language-- 336 00:13:57,540 --> 00:14:05,010 ερμηνεύεται language-- τότε εδώ είναι ακόμα μεγαλύτερη λίστα, καθώς και. 337 00:14:05,010 --> 00:14:07,260 Έτσι, αν απλά google και δείτε στη Wikipedia για αυτά, 338 00:14:07,260 --> 00:14:09,231 θα δείτε όλα τα είδη των γλωσσών. 339 00:14:09,231 --> 00:14:10,980 Αλλά ο σκοπός είναι, για σήμερα πραγματικά, απλά 340 00:14:10,980 --> 00:14:13,680 βράζει κάτω σε αυτό ίσως το ζήτημα της πνευματικής ιδιοκτησίας 341 00:14:13,680 --> 00:14:18,200 και την αναγνωσιμότητα από τον τελικό χρήστη και να απόδοση, είναι μια άλλη biggie, καθώς και. 342 00:14:18,200 --> 00:14:21,080 >> Έτσι, ανάμεσα σε αυτές τις γλώσσες, επιτρέψτε μου να δούμε αν μπορούμε να σας δώσουμε 343 00:14:21,080 --> 00:14:24,487 μερικά μόνο δείγμα των γλωσσών. 344 00:14:24,487 --> 00:14:26,820 Εμείς δεν θέλουμε να περάσουν από όλες οι γλώσσες ασταμάτητα. 345 00:14:26,820 --> 00:14:29,720 Έχετε αναρωτηθεί ποτέ τι είναι μια συγκεκριμένη γλώσσα μοιάζει; 346 00:14:29,720 --> 00:14:31,562 Κάναμε δούμε πριν από λίγο. 347 00:14:31,562 --> 00:14:33,520 Γιατί δεν παίρνουμε ένα ζευγάρι της διαθέτουν τα αιτήματα. 348 00:14:33,520 --> 00:14:35,380 Ποιος θα ήθελε να δει τι άλλη γλώσσα μοιάζει; 349 00:14:35,380 --> 00:14:35,620 Ναι. 350 00:14:35,620 --> 00:14:36,150 >> Κοινό: Java. 351 00:14:36,150 --> 00:14:36,540 >> DAVID J. Malan: Java. 352 00:14:36,540 --> 00:14:37,040 Εντάξει. 353 00:14:37,040 --> 00:14:38,504 Έτσι, ας πάμε στην Java. 354 00:14:38,504 --> 00:14:42,300 355 00:14:42,300 --> 00:14:44,900 Και για να σας δώσω μια sample-- θα μπορούσαμε να γράψουμε όλα αυτά έξω, 356 00:14:44,900 --> 00:14:47,670 αλλά θα ήταν πιο γρήγορα απλά για να εξετάσουμε δείγμα κώδικα κάποιου άλλου. 357 00:14:47,670 --> 00:14:48,170 Εντάξει. 358 00:14:48,170 --> 00:14:50,330 Έτσι, αυτό είναι ένα καλό παράδειγμα; 359 00:14:50,330 --> 00:14:52,040 Ωχ. 360 00:14:52,040 --> 00:14:52,540 ΕΝΤΆΞΕΙ. 361 00:14:52,540 --> 00:14:58,810 Έτσι, εδώ είναι η έκδοση Java του Πρόγραμμα έγραψα νωρίτερα, "Hello World". 362 00:14:58,810 --> 00:15:01,900 >> Έτσι, Java, συχνά θα δείτε το "τάξη". λέξη-κλειδί 363 00:15:01,900 --> 00:15:03,779 Στη συνέχεια, θα δείτε κάποιο όνομα μετά από αυτό. 364 00:15:03,779 --> 00:15:05,570 Θα δείτε άγκιστρα όπως είδαμε πριν, 365 00:15:05,570 --> 00:15:08,153 και μερικές φορές πηγαίνουν για το ίδια γραμμή, μερικές φορές άλλες γραμμές, 366 00:15:08,153 --> 00:15:09,734 Είναι το είδος της μια προσωπική απόφαση. 367 00:15:09,734 --> 00:15:11,900 Θα δείτε τις λέξεις-κλειδιά όπως "Δημόσια", "στατικά", "άκυρη". 368 00:15:11,900 --> 00:15:13,790 Αλλά κάναμε δείτε "κύριο". "Κύρια" είναι γενικά 369 00:15:13,790 --> 00:15:17,220 το όνομα της προεπιλεγμένης λειτουργίας ή η προεπιλεγμένη κομμάτι του κώδικα που 370 00:15:17,220 --> 00:15:18,760 παίρνει τρέχει σε ένα πρόγραμμα. 371 00:15:18,760 --> 00:15:19,330 >> "Σειρά." 372 00:15:19,330 --> 00:15:20,850 Τι έκανε εννοούμε με κορδόνι νωρίτερα; 373 00:15:20,850 --> 00:15:23,480 Θα χρησιμοποιηθεί το είδος του αδιάφορα. 374 00:15:23,480 --> 00:15:25,100 Ένα string είναι αυτό; 375 00:15:25,100 --> 00:15:25,601 Μια λέξη. 376 00:15:25,601 --> 00:15:27,058 Είναι σαν μια ακολουθία χαρακτήρων. 377 00:15:27,058 --> 00:15:29,810 Μεμονωμένων χαρακτήρων, πίσω στο πλάτη με πλάτη, συνήθως σε μια σειρά, 378 00:15:29,810 --> 00:15:30,690 όπως έχουμε συζητήσει. 379 00:15:30,690 --> 00:15:34,700 Και στην πραγματικότητα, δείτε αυτή τη σύνταξη Εδώ, οι δύο αγκύλες; 380 00:15:34,700 --> 00:15:39,210 Αυτό σημαίνει ότι, hey υπολογιστή, εδώ έρχεται μια σειρά από χορδές. 381 00:15:39,210 --> 00:15:42,636 Ο συμβολισμός αγκύλη είναι συνήθως χρησιμοποιείται για να υποδηλώσει ότι. 382 00:15:42,636 --> 00:15:44,510 Και τότε μπορείτε πιθανώς ρίξτε μια guess-- τι 383 00:15:44,510 --> 00:15:46,580 κάνει αυτό επισημαίνεται κομμάτι του κώδικα ίσως κάνω; 384 00:15:46,580 --> 00:15:49,737 385 00:15:49,737 --> 00:15:50,639 >> ΚΟΙΝΟ: Η έξοδος; 386 00:15:50,639 --> 00:15:51,090 >> DAVID J. Malan: Ναι. 387 00:15:51,090 --> 00:15:52,506 Εκτυπώνει κάτι στην οθόνη. 388 00:15:52,506 --> 00:15:57,070 Έτσι, το "σύστημα" είναι ένα είδος α αναφορά στον υπολογιστή σας. 389 00:15:57,070 --> 00:15:59,620 "Out" σημαίνει ότι ο υπολογιστής σας παραγωγή ή την οθόνη. 390 00:15:59,620 --> 00:16:04,450 Έτσι "ln System.out.print" πιθανώς σημαίνει; 391 00:16:04,450 --> 00:16:05,570 "Ln". 392 00:16:05,570 --> 00:16:09,570 γραμμή εκτύπωσης οποία οι προγραμματιστές όπως να φαίνεται σημάνει μερικές λέξεις από 393 00:16:09,570 --> 00:16:11,820 στο σύνολό τους και να λάβουν συντομεύσεις με άλλα λόγια. 394 00:16:11,820 --> 00:16:13,260 Αλλά «ln» είναι η γραμμή, τόσο γραμμή εκτύπωσης. 395 00:16:13,260 --> 00:16:17,370 Έτσι εκτυπώνει "Hello World! ", Ακολουθούμενο από μια νέα γραμμή. 396 00:16:17,370 --> 00:16:18,300 >> Έτσι, αυτό είναι όλο. 397 00:16:18,300 --> 00:16:21,150 Αλλά Java είναι αυτό που θα κλήση object-oriented. 398 00:16:21,150 --> 00:16:23,440 Και πράγματι, ακριβώς για να δώσει μια δύο άλλοι ορισμοί 399 00:16:23,440 --> 00:16:26,420 εκεί που μπορεί να Βλέπε, γενικά, εκεί 400 00:16:26,420 --> 00:16:30,600 Πολλοί διαφορετικοί τύποι γλώσσες, αλλά η πιο κοινή 401 00:16:30,600 --> 00:16:37,830 είναι διαδικαστικά ή προστακτικές γλώσσες. 402 00:16:37,830 --> 00:16:41,600 Υπάρχουν λειτουργικά γλώσσες, οι οποίες δεν 403 00:16:41,600 --> 00:16:43,790 σημαίνει ότι οι άλλοι είναι μη λειτουργικό. 404 00:16:43,790 --> 00:16:47,740 Και έπειτα υπάρχει αντικειμενοστρεφείς γλώσσες. 405 00:16:47,740 --> 00:16:51,170 Και αυτό είναι ίσως το καλύτερο κατηγοριοποίηση των περισσότερων γλωσσών 406 00:16:51,170 --> 00:16:56,445 ότι θα επιλέξει ποτέ για το είδος ενός τυπικού εμπορικού έργου. 407 00:16:56,445 --> 00:16:58,910 >> Αυτό θα ήταν πάρα πολύ, Νομίζω, της τρύπας ενός αρουραίου 408 00:16:58,910 --> 00:17:01,620 να πάει κάτω, να προσπαθήσουμε να εξηγήσουμε οι διάφορες διαφορές. 409 00:17:01,620 --> 00:17:04,599 Αλλά οι γλώσσες έχουμε δει έτσι εως τώρα C 410 00:17:04,599 --> 00:17:07,680 είναι μια διαδικαστική ή επιτακτική ανάγκη γλώσσα. 411 00:17:07,680 --> 00:17:11,200 εφεύρει πιο πρόσφατα γλώσσες τείνουν να είναι, συγγνώμη, 412 00:17:11,200 --> 00:17:14,430 Αντικειμενοστραφής, πράγμα που σημαίνει έχουν άλλα χαρακτηριστικά σε αυτά. 413 00:17:14,430 --> 00:17:18,130 414 00:17:18,130 --> 00:17:19,430 Μπορώ να το εξηγήσω με αυτόν τον τρόπο; 415 00:17:19,430 --> 00:17:20,950 Ας μην πάει ακόμη εκεί κάτω. 416 00:17:20,950 --> 00:17:25,200 >> μέσα Αντικειμενοστραφής μπορείτε να implement-- 417 00:17:25,200 --> 00:17:27,930 μπορείτε να μοντελοποιήσει τον πραγματικό κόσμο λίγο πιο αποτελεσματικά. 418 00:17:27,930 --> 00:17:29,722 Η ανθρωπότητα, με την πάροδο του χρόνου, έχει καταλάβει, wow, 419 00:17:29,722 --> 00:17:32,430 θα ήταν ωραίο αν η γλώσσα μου είχε αυτή τη λειτουργία ή το χαρακτηριστικό αυτό. 420 00:17:32,430 --> 00:17:34,830 Και αυτός είναι ο λόγος που έχουμε τόσο πολλές γλώσσες του κόσμου. 421 00:17:34,830 --> 00:17:37,670 Λογικοί άνθρωποι, έξυπνη οι άνθρωποι, συμφωνείτε ή διαφωνείτε 422 00:17:37,670 --> 00:17:41,000 και πάντοτε είδος έρθει μαζί την ανάπτυξη νέων γλωσσών όλοι μαζί. 423 00:17:41,000 --> 00:17:41,660 >> Προκειμένη περίπτωση. 424 00:17:41,660 --> 00:17:45,260 Η Apple εφηύρε Swift στο ελπίδες πιθανώς μειώνοντας 425 00:17:45,260 --> 00:17:47,950 Το μπαρ στο iPhone ανάπτυξη, γιατί την προηγούμενη language-- 426 00:17:47,950 --> 00:17:51,080 ονομάζεται Objective-C, η οποία θα μπορούσε επίσης να είναι στη λίστα μας here-- 427 00:17:51,080 --> 00:17:54,190 ήταν πολύ πιο απόκρυφες και πολύ πιο δύσκολο να τυλίξουν το μυαλό κάποιου γύρω. 428 00:17:54,190 --> 00:17:57,690 Και ο προγραμματισμός γίνεται όλο και αναμφισβήτητα πιο προσιτή και ευρύτερα 429 00:17:57,690 --> 00:18:00,580 που εγκρίθηκε από τους ανθρώπους, ακόμη και λιγότερο τεχνική, η goal-- 430 00:18:00,580 --> 00:18:04,160 είναι μια πολύ γενναία στόχο να προσπαθήσει να μειώσει το εμπόδιο για την είσοδο κάνοντας 431 00:18:04,160 --> 00:18:07,400 οι ίδιοι οι γλώσσες ευκολότερο να ξεκινήσετε με, 432 00:18:07,400 --> 00:18:09,430 αλλά όχι λιγότερο ισχυρό απαραίτητα. 433 00:18:09,430 --> 00:18:10,560 >> Και μια άλλη γλώσσα. 434 00:18:10,560 --> 00:18:14,110 Γιατί δεν ρίχνουμε μια ματιά σε κάτι σαν Python, 435 00:18:14,110 --> 00:18:18,090 το οποίο είναι πολύ της μόδας αυτές τις μέρες. 436 00:18:18,090 --> 00:18:19,570 Πύθων. 437 00:18:19,570 --> 00:18:20,464 Δείγμα του προγράμματος. 438 00:18:20,464 --> 00:18:24,600 439 00:18:24,600 --> 00:18:26,700 Ας δούμε. 440 00:18:26,700 --> 00:18:28,790 "Hello World" γλώσσες. 441 00:18:28,790 --> 00:18:30,180 Ας το κάνουμε. 442 00:18:30,180 --> 00:18:33,625 "Γειά σου Κόσμε." 443 00:18:33,625 --> 00:18:35,375 Ας δούμε αν αυτό δίνει μας ένα ωραίο παράδειγμα. 444 00:18:35,375 --> 00:18:39,450 445 00:18:39,450 --> 00:18:39,950 ΕΝΤΆΞΕΙ. 446 00:18:39,950 --> 00:18:41,283 Έτσι, αυτό είναι πραγματικά το είδος της διασκέδασης. 447 00:18:41,283 --> 00:18:43,330 Έτσι, αν ποτέ google "Hello World", η οποία 448 00:18:43,330 --> 00:18:47,000 συμβαίνει να είναι ένα από τα πρώτα προγράμματα που γράφτηκε ποτέ σε μια σύγχρονη γλώσσα, 449 00:18:47,000 --> 00:18:51,830 μόνο ως απόδειξη της έννοιας, μπορείτε να δείτε όλα τα είδη των υλοποιήσεων του παρόντος. 450 00:18:51,830 --> 00:18:54,240 >> Ορισμένες από αυτές τις γλώσσες Δεν έχω καν ακούσει. 451 00:18:54,240 --> 00:18:59,770 Αλλά μπορείτε να see-- ας πάμε στο Basic, η μία έμαθα χρόνια πριν, εν μέρει. 452 00:18:59,770 --> 00:19:02,720 Αυτό ήταν μια γλώσσα διασκεδαστικό, επειδή σας έπρεπε να, ως τον προγραμματιστή, αριθμός 453 00:19:02,720 --> 00:19:03,710 όλες τις γραμμές σας. 454 00:19:03,710 --> 00:19:05,626 Δεν σε αντίθεση με αυτό που ήμουν κάνει όταν έγραφα 455 00:19:05,626 --> 00:19:08,380 ψευδοκώδικας στο κίτρινο έγγραφο νωρίτερα για δυαδική αναζήτηση, 456 00:19:08,380 --> 00:19:09,580 για την αναζήτηση ενός τηλεφωνικού καταλόγου. 457 00:19:09,580 --> 00:19:11,810 >> Και έτσι, αν θέλετε να πάει σε άλλη γραμμή, 458 00:19:11,810 --> 00:19:15,780 θα πρέπει να πληκτρολογήσετε στην κυριολεξία, πηγαίνετε στο 10, ή πηγαίνετε στο 20. 459 00:19:15,780 --> 00:19:19,110 Και αν είστε γραπτώς γραμμές, τα σύμβασης ήταν να κάνουμε, αυτή είναι η γραμμή 10, 460 00:19:19,110 --> 00:19:22,545 αυτό είναι γραμμή 20, αυτό είναι γραμμή 30, 40, με τίποτα στο μεταξύ, 461 00:19:22,545 --> 00:19:25,170 δίνοντας στον εαυτό σας έτσι κάποια περιθώρια αν αποφασίσετε, περιμένετε ένα λεπτό, 462 00:19:25,170 --> 00:19:27,230 Θα έπρεπε να είχα προσθέσει μερικά περισσότερο κώδικα κάπου. 463 00:19:27,230 --> 00:19:30,960 Μπορείτε ακόμα είχε το είδος των εννέα πιθανότητες να αποσπάσουν ότι στο μεταξύ το πρόγραμμα σας 464 00:19:30,960 --> 00:19:33,020 πριν έπρεπε να το χέρι επαναρίθμηση τα πάντα. 465 00:19:33,020 --> 00:19:35,470 >> Έτσι, αυτό είναι το είδος του τι εννοώ όταν λέω ο κόσμος έχει καταλήξει 466 00:19:35,470 --> 00:19:36,303 με νέα χαρακτηριστικά. 467 00:19:36,303 --> 00:19:39,364 Κάπου στην πορεία κάποιος συνειδητοποίησα, αγόρι αυτό είναι ηλίθιο. 468 00:19:39,364 --> 00:19:41,280 Αυτό είναι ακριβώς η δημιουργία εργάζονται για τον προγραμματιστή. 469 00:19:41,280 --> 00:19:44,200 Έτσι, αυτός ή αυτή ακριβώς το είδος του χτίστηκε ένα νέο στρώμα στην κορυφή του ότι 470 00:19:44,200 --> 00:19:46,910 έτσι ώστε να μην χρειάζεται να ανησυχείτε σχετικά με το τι γραμμή κωδικούς σας 471 00:19:46,910 --> 00:19:48,570 είναι πραγματικά για. 472 00:19:48,570 --> 00:19:54,940 >> Έτσι, όταν θα μπορούσε να επιλέγετε μία γλώσσα ή την άλλη; 473 00:19:54,940 --> 00:19:56,690 Λοιπόν, ποια από αυτά γλώσσες τείνετε 474 00:19:56,690 --> 00:20:00,960 να ακούσουν για τη μεγαλύτερη το δικό σας κόσμο αυτές τις μέρες; 475 00:20:00,960 --> 00:20:02,680 Ας πέσει κάτω Objective-C πάρα πολύ. 476 00:20:02,680 --> 00:20:06,416 477 00:20:06,416 --> 00:20:07,739 >> ΚΟΙΝΟ: C #. 478 00:20:07,739 --> 00:20:08,530 DAVID J. Malan: C #. 479 00:20:08,530 --> 00:20:10,310 Έτσι, επιτρέψτε μου χρώμα. 480 00:20:10,310 --> 00:20:13,190 Μήπως έχουμε άλλο χρώμα μας κάπου; 481 00:20:13,190 --> 00:20:14,550 Έτσι, C #. 482 00:20:14,550 --> 00:20:16,390 Και τι ξέρεις για C #; 483 00:20:16,390 --> 00:20:18,940 Οτιδήποτε έρχονται στο μυαλό; 484 00:20:18,940 --> 00:20:20,707 >> Κοινό: Είναι μια γλώσσα προγραμματισμού. 485 00:20:20,707 --> 00:20:22,540 DAVID J. Malan: Είναι μια γλώσσα προγραμματισμού. 486 00:20:22,540 --> 00:20:23,200 ΕΝΤΆΞΕΙ. 487 00:20:23,200 --> 00:20:24,690 Αυτό είναι αλήθεια. 488 00:20:24,690 --> 00:20:26,440 Έτσι, μιλάμε για C #. 489 00:20:26,440 --> 00:20:29,230 C # τείνει να χρησιμοποιείται σε περιβάλλοντα των Windows, 490 00:20:29,230 --> 00:20:33,550 οπότε αν είστε γραπτώς λογισμικό της Microsoft για Windows, C # χρησιμοποιείται πολύ συχνά, 491 00:20:33,550 --> 00:20:38,560 είτε πρόκειται για την επιφάνεια εργασίας του λογισμικού, ή ακόμη και το τηλέφωνο λογισμικού για τα τηλέφωνα των Windows, 492 00:20:38,560 --> 00:20:41,820 αν είχατε εκείνους, ή στο διαδίκτυο, ακόμη και πάρα πολύ. 493 00:20:41,820 --> 00:20:44,642 Και στην πραγματικότητα, ίσως Kareem προαναφερόμενο ASP νωρίτερα; 494 00:20:44,642 --> 00:20:46,600 Έτσι υπάρχει επίσης αυτά πράγματα που ονομάζεται πλαισίων, 495 00:20:46,600 --> 00:20:51,040 το οποίο μπορούμε να εισάγουμε κατ 'επέκταση. 496 00:20:51,040 --> 00:20:53,280 Πλαισίων, όπως ASP. 497 00:20:53,280 --> 00:20:55,740 Βάσεις για ενεργές σελίδες διακομιστή. 498 00:20:55,740 --> 00:20:59,880 Και αυτό είναι κώδικας και ένας τρόπος προγραμματισμού 499 00:20:59,880 --> 00:21:03,490 ότι γενικά καθιστά ευκολότερη να γράψει web-based εφαρμογές. 500 00:21:03,490 --> 00:21:07,530 Με άλλα λόγια, θα ήταν σούπερ, σούπερ ενοχλητικό να γράψει μια ιστοσελίδα 501 00:21:07,530 --> 00:21:09,469 στη γλώσσα C, ώστε να έχουμε δει στο παρελθόν, 502 00:21:09,469 --> 00:21:12,510 γιατί θα πρέπει να χρησιμοποιήσετε εκτύπωσης + F, θα πρέπει να χρησιμοποιήσετε τη λέξη-κλειδί 503 00:21:12,510 --> 00:21:13,940 "Κύριο" και τα άγκιστρα. 504 00:21:13,940 --> 00:21:16,720 Πολλοί απόκρυφες σύνταξη και την προσέγγιση για την εφαρμογή 505 00:21:16,720 --> 00:21:19,195 κάτι που είναι αρκετά πολύπλοκη. 506 00:21:19,195 --> 00:21:20,240 Μια ιστοσελίδα. 507 00:21:20,240 --> 00:21:23,800 >> Και έτσι άλλες γλώσσες έχουν εξελιχθεί για να κάνουν αυτό το είδος του πράγματος ευκολότερη. 508 00:21:23,800 --> 00:21:26,890 Και με τη σειρά τους, οι άνθρωποι έχουν καταλήξει με τα πλαίσια, το είδος των εργαλείων 509 00:21:26,890 --> 00:21:30,520 που μπορείτε να χρησιμοποιήσετε ότι καθιστούν ακόμα πιο εύκολο να γράψει ιστοσελίδες. 510 00:21:30,520 --> 00:21:33,070 Έτσι, για παράδειγμα, να κάνουν αυτό το πολύ πιο συγκεκριμένο, 511 00:21:33,070 --> 00:21:36,390 επιτρέψτε μου να ανοίξει μόνο ένα αρχείο κειμένου για μια στιγμή. 512 00:21:36,390 --> 00:21:39,380 >> Και ίσως να θυμηθούμε χθες ότι είπαμε κάτι 513 00:21:39,380 --> 00:21:41,210 όπως, αυτή είναι μια ιστοσελίδα. 514 00:21:41,210 --> 00:21:42,300 HTML. 515 00:21:42,300 --> 00:21:45,340 Κλείστε HTML. 516 00:21:45,340 --> 00:21:48,500 Επιτρέψτε μου να παραλείψετε το κεφάλι και ακριβώς κάνει το σώμα εδώ. 517 00:21:48,500 --> 00:21:52,810 Ας υποθέσουμε ότι ήθελα να γράψετε δεν "Hello World" 518 00:21:52,810 --> 00:21:57,020 αλλά «Hello David," όπου ο David είναι ο Το όνομά του το παρόν συνδεδεμένος χρήστης. 519 00:21:57,020 --> 00:22:00,270 Τι κάτι σαν ASP θα κάνει, ή JSP-- 520 00:22:00,270 --> 00:22:04,060 η οποία είναι εξυπηρετητή Java pages-- ή οποιοσδήποτε αριθμός άλλων πλαισίων 521 00:22:04,060 --> 00:22:05,435 είναι ότι δεν είναι γλώσσες, per se. 522 00:22:05,435 --> 00:22:07,351 Είναι ακριβώς όπως πρόσθετο λογισμικό που σας 523 00:22:07,351 --> 00:22:10,490 θα εγκαταστήσει στο περιβάλλον σας ότι ακριβώς κάνουν ευκολότερο να προγραμματίσετε. 524 00:22:10,490 --> 00:22:15,670 >> Έτσι, για παράδειγμα, αντί να πρέπει να κάνετε κάτι σαν "γεια, printf (" Δαβίδ ")" 525 00:22:15,670 --> 00:22:17,510 ή κάτι που είναι είδος συν-mingling-- 526 00:22:17,510 --> 00:22:20,840 το είδος του κώδικα που έχουμε δει before-- θα κάνουμε κάτι πολύ πιο απλό, 527 00:22:20,840 --> 00:22:26,190 όπως το "όνομα%". 528 00:22:26,190 --> 00:22:28,660 Και έτσι αυτά τα πλαίσια, όπως ASP-- και εγώ 529 00:22:28,660 --> 00:22:31,212 Δεν θυμάμαι αν έχω πάρει Η σύνταξη ακριβώς δεξιά για ASP. 530 00:22:31,212 --> 00:22:33,100 JSP είναι μια little-- είναι αυτό το δικαίωμα; 531 00:22:33,100 --> 00:22:36,500 >> Έτσι, με ASP, αυτό είναι είδος της ειδικής σύνταξης 532 00:22:36,500 --> 00:22:39,830 ότι ορισμένοι προγραμματιστές αποφάσισαν αυτό θα μπορούσε να βοηθήσει τους ανθρώπους έξω. 533 00:22:39,830 --> 00:22:43,000 Και μπορώ να εκφράσω πιο συνοπτικά κράτησης θέσης, για παράδειγμα. 534 00:22:43,000 --> 00:22:47,187 Όπως και να θέσει μια τιμή εδώ, όπου αυτό το όνομα η τιμή δεν είναι η Ν-Α-Μ-Ε, 535 00:22:47,187 --> 00:22:48,520 είναι κάποια τιμή που είναι αποθηκευμένη εκεί. 536 00:22:48,520 --> 00:22:50,728 Έτσι, το "όνομα", στο πλαίσιο αυτό, θα λέγαμε μια μεταβλητή. 537 00:22:50,728 --> 00:22:52,760 Άλγεβρα έχει μεταβλητές όπως x, και y, και z. 538 00:22:52,760 --> 00:22:56,021 Προγραμματιστές χρησιμοποιούν μεταβλητές που είναι περισσότερο περιγραφική από x, y, z και, 539 00:22:56,021 --> 00:22:56,520 τυπικά. 540 00:22:56,520 --> 00:23:01,020 Έτσι, το "όνομα" θα ήταν κυριολεκτικά να είναι κάποιο είδος του περιέκτη μνήμης για κάτι σαν 541 00:23:01,020 --> 00:23:05,440 D-Α-V-Ι-Α, για το όνομά μου, ή όποιος άλλος έχει συνδεθεί με την ιστοσελίδα. 542 00:23:05,440 --> 00:23:09,300 >> Και έτσι αυτό είναι το είδος της ευκολίας μπορείτε να πάρετε με ορισμένα περιβάλλοντα. 543 00:23:09,300 --> 00:23:14,220 Έτσι, C # και κάτι σαν ASP θα ήταν πολύ συνήθως να χρησιμοποιηθεί σε έναν κόσμο των Windows, 544 00:23:14,220 --> 00:23:16,460 είτε για την επιφάνεια εργασίας του λογισμικό ή web server, 545 00:23:16,460 --> 00:23:21,490 ειδικά εάν οι διακομιστές σας είναι με τη σειρά τους εκτελεί τα Microsoft Windows και Microsoft 546 00:23:21,490 --> 00:23:25,810 IIS-- ή Internet Information Server, αν πάρω το ακρωνύμιο right-- 547 00:23:25,810 --> 00:23:27,800 η οποία είναι web server της Microsoft. 548 00:23:27,800 --> 00:23:30,820 >> Έτσι, ό, τι σε άλλες γλώσσες είναι οι λαοί είναι εξοικειωμένοι με, 549 00:23:30,820 --> 00:23:35,228 ή έχετε ακούσει πιο συχνά απ 'ότι όχι? 550 00:23:35,228 --> 00:23:38,262 >> Κοινό: Ξέρω ότι η Python είναι το είδος της λαϊκής [δεν ακούγεται]. 551 00:23:38,262 --> 00:23:39,470 DAVID J. Malan: Πολύ δημοφιλές. 552 00:23:39,470 --> 00:23:45,490 Έτσι Python εδώ χρησιμοποιείται πολύ συχνά σε επιστημονικές εφαρμογές ή δεδομένα 553 00:23:45,490 --> 00:23:48,330 επιστήμη, όπου έχετε πολλά των δεδομένων που θέλετε να αναλύσετε 554 00:23:48,330 --> 00:23:50,413 και θέλετε να χρησιμοποιήσετε μια γλώσσα προγραμματισμού για αυτό. 555 00:23:50,413 --> 00:23:53,640 R θα μπορούσε συνήθως να χρησιμοποιηθεί για αυτό επίσης, σε ένα στατιστικό πλαίσιο. 556 00:23:53,640 --> 00:23:56,400 Αλλά Python έχει τόσα πολλά χαρακτηριστικά που χτίστηκε το. 557 00:23:56,400 --> 00:23:58,850 Τόσες πολλές πρόσθετες βιβλιοθήκες, όπως λένε. 558 00:23:58,850 --> 00:24:01,260 >> Οι βιβλιοθήκες είναι απλά συλλογές του κώδικα ότι οι άλλοι άνθρωποι 559 00:24:01,260 --> 00:24:04,218 έγραψε ότι μπορείτε να χρησιμοποιήσετε έτσι ώστε να Δεν χρειάζεται να ανακαλύψουμε εκ νέου αυτές τις ρόδες. 560 00:24:04,218 --> 00:24:07,430 Και έτσι η Python είναι πολύ συχνά που χρησιμοποιούνται σε εφαρμογές της επιστήμης των δεδομένων. 561 00:24:07,430 --> 00:24:09,930 Αλλά είναι επίσης πολύ συχνά που χρησιμοποιούνται σε εφαρμογές web. 562 00:24:09,930 --> 00:24:12,780 Μπορείτε να εφαρμόσουν μια δυναμική ιστοσελίδα που χρησιμοποιούν Python. 563 00:24:12,780 --> 00:24:15,210 >> Και με δυναμική ιστοσελίδα, εγώ σημαίνει όχι μόνο στατικό περιεχόμενο 564 00:24:15,210 --> 00:24:19,530 όπως δημιουργήσαμε χθες, από απλά σκληρά κωδικοποίησης στο κείμενο της Λατινικής 565 00:24:19,530 --> 00:24:21,820 και άλλα τέτοια πράγματα, αλλά μάλλον η ικανότητα 566 00:24:21,820 --> 00:24:25,367 για να συνδεθείτε, τη δυνατότητα να αγοράσουν κάτι, η δυνατότητα να ελέγξετε έξω 567 00:24:25,367 --> 00:24:26,950 με καροτσάκια σας, ή κάτι παρόμοιο. 568 00:24:26,950 --> 00:24:30,590 Όλα αυτά απαιτεί δυναμισμό και θα χρειάζονται κάποια γλώσσα σαν ένα από αυτά. 569 00:24:30,590 --> 00:24:35,060 >> Κοινό: Έτσι δεν Python έχει το δικό του επέκταση, παρόμοιο με ήθελε [δεν ακούγεται] 570 00:24:35,060 --> 00:24:36,060 DAVID J. Malan: Κάνει. 571 00:24:36,060 --> 00:24:42,250 Έτσι, στον κόσμο της Python, Django είναι ένα πολύ δημοφιλές πλαίσιο για την Python. 572 00:24:42,250 --> 00:24:46,520 WSGI είναι ένας άλλος μηχανισμός που είναι είδος διαφορετικό από αυτό 573 00:24:46,520 --> 00:24:47,640 αλλά παρόμοια στο πνεύμα. 574 00:24:47,640 --> 00:24:52,200 Είναι ένα add-on που σας επιτρέπει να εκτελέσει κώδικα Python σε ένα διακομιστή. 575 00:24:52,200 --> 00:24:53,950 Υπάρχει other-- ναι. 576 00:24:53,950 --> 00:24:57,250 Έτσι, αυτά θα καλέσουμε πλαισίων. 577 00:24:57,250 --> 00:24:58,870 Και αυτό είναι ένα μικρό κομμάτι της κατάχρησης. 578 00:24:58,870 --> 00:25:00,920 Αυτό είναι περισσότερο από μια τεχνολογία web server. 579 00:25:00,920 --> 00:25:04,610 Αλλά εμείς θα το κρατήσετε απλό και να θέσει ότι σε αυτήν τη στήλη, ωστόσο. 580 00:25:04,610 --> 00:25:05,780 >> ΕΝΤΆΞΕΙ. 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 Μια άλλη thing-- και στην πραγματικότητα, ας μου να περάσω ότι με τη δική της στήλη, 584 00:25:12,100 --> 00:25:17,000 γιατί θα ήθελα να φωνάζω τον εαυτό μου για την θέση τους στο ίδιο κουβά. 585 00:25:17,000 --> 00:25:24,910 Ας το θέσουμε σε εξυπηρετητή χαρακτηριστικά, ας πούμε. 586 00:25:24,910 --> 00:25:26,710 Αυτό δεν είναι ένας τεχνικός όρος. 587 00:25:26,710 --> 00:25:29,180 >> Έτσι, εδώ θα μπορούσαμε να WSGI. 588 00:25:29,180 --> 00:25:32,580 Υπάρχει CGI, το οποίο είναι ένα παλαιότερο τεχνική για την εξυπηρέτηση μέχρι γλώσσες 589 00:25:32,580 --> 00:25:35,890 όπως η Perl ή PHP, ή κάποιους άλλους. 590 00:25:35,890 --> 00:25:39,000 Και πάλι, έχω αναφέρει αυτούς τους όρους όχι τόσο για το είδος τους εμβάπτω, 591 00:25:39,000 --> 00:25:40,749 αλλά έτσι ώστε αν δείτε να είναι κάτι 592 00:25:40,749 --> 00:25:42,130 μπορείτε απλά google για να διαβάσετε περισσότερα. 593 00:25:42,130 --> 00:25:46,110 Δεν υπάρχει πραγματικό χυμό σε μερικά από αυτά τα πράγματα. 594 00:25:46,110 --> 00:25:47,850 >> Αλλά ας πάμε πίσω στις γλώσσες. 595 00:25:47,850 --> 00:25:50,499 Μιλήσαμε για C #, Python. 596 00:25:50,499 --> 00:25:52,790 Τι άλλο θα μπορούσε να σας χρησιμοποιήσει για web προγραμματισμό αυτές τις μέρες; 597 00:25:52,790 --> 00:25:54,302 Ας επικεντρωθούμε σε αυτό ακόμα. 598 00:25:54,302 --> 00:25:55,247 >> Κοινό: PHP. 599 00:25:55,247 --> 00:25:56,080 DAVID J. Malan: PHP. 600 00:25:56,080 --> 00:25:57,413 Και ας επανέλθουμε σε αυτό. 601 00:25:57,413 --> 00:25:59,310 Έτσι η PHP χρησιμοποιείται πολύ συχνά. 602 00:25:59,310 --> 00:26:01,560 PHP τείνει να πάρει μια κακή ραπ. 603 00:26:01,560 --> 00:26:05,790 Ξεκίνησε ως εφαρμοστεί μια γλώσσα από τους λαούς που ίσως δεν ήταν κατ 'ανάγκην 604 00:26:05,790 --> 00:26:06,960 οι καλύτεροι σχεδιαστές γλώσσα. 605 00:26:06,960 --> 00:26:11,290 Και έτσι μπορείτε να διαβάσετε όλα τα είδη των άρθρα σε απευθείας σύνδεση για το πόσο κακό PHP είναι. 606 00:26:11,290 --> 00:26:13,660 Και δυστυχώς, αυτό είναι μια εκδήλωση, εν μέρει, 607 00:26:13,660 --> 00:26:18,727 μόνο οι θρησκευτικές συζητήσεις ότι ξεσπάσει ανάμεσα στους προγραμματιστές. 608 00:26:18,727 --> 00:26:20,560 Και αυτό είναι κάτι Αξίζει έχοντας κατά νου, 609 00:26:20,560 --> 00:26:24,410 από την πλευρά των επιχειρήσεων, ότι Είναι πολύ εύκολο για τους τεχνικούς ανθρώπους 610 00:26:24,410 --> 00:26:26,900 για να πάρετε όλοι εργάστηκαν με τους απόψεις για ορισμένα πράγματα. 611 00:26:26,900 --> 00:26:29,566 Και αυτό δεν σημαίνει κατ 'ανάγκην ότι ο ένας φωνάζει πιο δυνατά 612 00:26:29,566 --> 00:26:31,870 ή με το ισχυρότερο, πιο οργισμένο γνώμη είναι σωστή. 613 00:26:31,870 --> 00:26:34,100 Πολλές φορές, πραγματικά απλά δεν έχει σημασία. 614 00:26:34,100 --> 00:26:37,970 >> Και έτσι οι άνθρωποι είναι ακριβώς το επιχείρημα ανεξαρτήτως τις δικές τους προκαταλήψεις ή ζώνες άνεσης είναι. 615 00:26:37,970 --> 00:26:40,760 Και έτσι θα πρέπει να έχετε αυτό κατά νου όταν κάνετε 616 00:26:40,760 --> 00:26:42,622 μια απόφαση, ότι ακριβώς επειδή κάποιος λέει 617 00:26:42,622 --> 00:26:45,080 αυτή είναι η σωστή γλώσσα για η εργασία, που θα μπορούσε να είναι αλήθεια, 618 00:26:45,080 --> 00:26:48,350 αλλά επίσης ακριβώς μπορεί να είναι η σωστή γλώσσα μέσα στη δική τους ικανότητα 619 00:26:48,350 --> 00:26:49,267 ορίσετε ή ζώνη άνεσης. 620 00:26:49,267 --> 00:26:52,600 Το οποίο δεν είναι κακό, αλλά θα πρέπει να συνειδητοποιήσουμε ότι θα μπορούσε να υπάρχει κάποια πλαίσιο εκεί. 621 00:26:52,600 --> 00:26:54,440 Υπάρχουν κάποια αντικειμενικά λάθος δηλώσεις, 622 00:26:54,440 --> 00:26:59,080 όπως η C είναι η λάθος γλώσσα για να χρησιμοποιήσετε αυτές τις μέρες για την εφαρμογή ιστοσελίδες 623 00:26:59,080 --> 00:27:00,520 σχεδόν πάντα. 624 00:27:00,520 --> 00:27:03,370 Αλλά δεν είναι παράλογο να πούμε ότι κάποια από αυτά 625 00:27:03,370 --> 00:27:05,700 είναι λάθος ότι έχουμε κύκλο μέχρι στιγμής. 626 00:27:05,700 --> 00:27:08,180 >> PHP έχει περάσει από πολλές εκδόσεις. 627 00:27:08,180 --> 00:27:11,310 Έτσι γλώσσες τείνουν να έχουν έκδοση αριθμοί που συνδέονται με αυτά. 628 00:27:11,310 --> 00:27:15,390 PHP είναι μέχρι, νομίζω, έκδοση 7 τώρα, γι 'αυτό εδώ και αρκετό καιρό. 629 00:27:15,390 --> 00:27:18,270 Και ως γλώσσες πάρει νεότερα, συχνά παίρνουν νέα χαρακτηριστικά. 630 00:27:18,270 --> 00:27:22,510 Αλλά θα πρέπει να είναι προσεκτικές όσον αφορά αυτό το διότι εάν ο ιστοχώρος σας έχει 631 00:27:22,510 --> 00:27:27,539 υλοποιείται στην έκδοση 7 της PHP, αλλά προσπαθείτε να εκτελέσετε την ιστοσελίδα σας, 632 00:27:27,539 --> 00:27:29,830 ή ίσως έχετε αναθέσει σε εξωτερικούς συνεργάτες η ανάπτυξη του κώδικά σας 633 00:27:29,830 --> 00:27:31,960 σε κάποιον άλλο και ταχυδρομείου να σας ή να το στείλετε σε σας 634 00:27:31,960 --> 00:27:33,960 και λένε, εδώ, να θέσει αυτό για τον web server σας, 635 00:27:33,960 --> 00:27:36,610 αν τον web server σας είναι μερικά χρόνια outdated-- είτε πρόκειται για 636 00:27:36,610 --> 00:27:39,465 δικό σας server ή web host-- στην πραγματικότητα δεν μπορεί να τρέξει. 637 00:27:39,465 --> 00:27:41,340 Έτσι, αυτά είναι τα είδη πράγματα που κάποιος 638 00:27:41,340 --> 00:27:44,067 πρέπει να λαμβάνει υπόψη της κατά την αναβάθμιση ενός site 639 00:27:44,067 --> 00:27:45,650 ή την εφαρμογή για πρώτη φορά. 640 00:27:45,650 --> 00:27:46,900 >> Άκουσα το JavaScript νωρίτερα. 641 00:27:46,900 --> 00:27:50,570 Έτσι, το JavaScript είναι μια ενδιαφέρουσα ένας από το ότι είναι γενικά 642 00:27:50,570 --> 00:27:53,030 πλευρά του πελάτη, όπως θα δούμε μετά το διάλειμμα, η οποία 643 00:27:53,030 --> 00:27:55,000 σημαίνει ότι τρέχει στον browser του χρήστη. 644 00:27:55,000 --> 00:27:58,400 Αλλά μπορείτε επίσης να εκτελέσετε JavaScript αυτές τις μέρες 645 00:27:58,400 --> 00:28:03,450 χρησιμοποιώντας κάτι που ονομάζεται Node.js, όπου Node.js 646 00:28:03,450 --> 00:28:08,000 είναι ένας μηχανισμός για τρέξιμο κώδικα JavaScript πλευρά του server, 647 00:28:08,000 --> 00:28:12,430 αντί να χρησιμοποιούν Python, ή PHP, ή άλλες τέτοιες γλώσσες. 648 00:28:12,430 --> 00:28:17,820 >> JavaScript είναι ιδιαίτερα κατάλληλη για εφαρμογές συνομιλίας και σε πραγματικό χρόνο 649 00:28:17,820 --> 00:28:22,050 εφαρμογές, ενώ η PHP δεν είναι μια μεγάλη γλώσσα για την εφαρμογή κάτι 650 00:28:22,050 --> 00:28:25,050 σαν ένα διακομιστή συνομιλίας, όπου οι χρήστες μείνετε συνδεδεμένοι με το συνεχώς. 651 00:28:25,050 --> 00:28:28,760 PHP είναι περισσότερο από ένα μου επίσκεψη μία φορά, να πάρει πίσω ένα αποτέλεσμα, 652 00:28:28,760 --> 00:28:31,790 και, στη συνέχεια, κάντε κλικ στο σύνδεσμο άλλη μερικά δευτερόλεπτα ή λεπτά από τώρα. 653 00:28:31,790 --> 00:28:36,020 Λαμβάνοντας υπόψη ότι η Node.js και JavaScript μπορεί να είναι χρησιμοποιούνται περισσότερο για μόνιμες συνδέσεις. 654 00:28:36,020 --> 00:28:40,840 Άλλες γλώσσες που υποψιάζεστε χρησιμοποιούνται συνήθως για το web πράγματα; 655 00:28:40,840 --> 00:28:42,800 >> Κοινό: Θα jQuery είναι ένα πλαίσιο; 656 00:28:42,800 --> 00:28:44,050 >> DAVID J. Malan: Καλή ερώτηση. 657 00:28:44,050 --> 00:28:44,700 Ούτε. 658 00:28:44,700 --> 00:28:51,210 Καλώ jQuery βιβλιοθήκη, όπου και πάλι μια βιβλιοθήκη είναι απλώς ένα μάτσο κώδικα 659 00:28:51,210 --> 00:28:53,250 ότι κάποιος άλλος έχει γράψει ότι σε γενικές γραμμές 660 00:28:53,250 --> 00:28:56,390 λύνει κάποια προβλήματα που καθιστά, ελπίζω, πιο εύκολη 661 00:28:56,390 --> 00:28:57,760 για να μπορείτε να κάνετε τη δουλειά σας. 662 00:28:57,760 --> 00:29:00,820 Και επιτρέψτε μου να κάνω ένα παράδειγμα αυτό στο πλαίσιο του ιστού. 663 00:29:00,820 --> 00:29:03,910 >> Στο πλαίσιο του ιστού υπάρχει Αυτή η γλώσσα, το JavaScript, 664 00:29:03,910 --> 00:29:06,690 ότι θα δούμε αργότερα, σύμφωνα με την οποία θα θα μπορούσε να πει κάτι σαν this-- 665 00:29:06,690 --> 00:29:10,060 "Document.getElementById." 666 00:29:10,060 --> 00:29:11,490 Και τι έκανε καλώ χθες; 667 00:29:11,490 --> 00:29:16,800 Κατ 'αρχάς, νομίζω, ήταν το μοναδικό αναγνωριστικό που έδωσα σε ένα στοιχείο που έμοιαζε με αυτό. 668 00:29:16,800 --> 00:29:23,110 "P id =" πρώτη ">" και στη συνέχεια είχαμε όπως το "γεια σου", και τα λοιπά. 669 00:29:23,110 --> 00:29:28,210 Έτσι, αν έγραφα ένα πρόγραμμα Javascript για να με κάποιο τρόπο να χειριστούν, 670 00:29:28,210 --> 00:29:30,830 αλλάξετε τις ιστοσελίδες που έχουμε έπαιζαν με χθες, 671 00:29:30,830 --> 00:29:33,010 Θα ήθελα να χρησιμοποιήσετε αυτό το επισημασμένη γραμμή κώδικα 672 00:29:33,010 --> 00:29:38,700 για να πάρει αυτό το συγκεκριμένο απόσπασμα της HTML από τη σελίδα μου, ότι συγκεκριμένο κόμβο, 673 00:29:38,700 --> 00:29:39,680 όπως θα την αποκαλούμε. 674 00:29:39,680 --> 00:29:44,540 >> Ωστόσο, σε jQuery, αντί της γραφής αυτό, το οποίο είναι ωμό code-- το JavaScript 675 00:29:44,540 --> 00:29:48,870 ακριβώς έξω από το κουτί, αυτό είναι το πώς θα Αποστολή it-- θα αντί απλώς να πω, 676 00:29:48,870 --> 00:29:50,260 "#πρώτα." 677 00:29:50,260 --> 00:29:52,330 Αυτό είναι ισοδύναμο. 678 00:29:52,330 --> 00:29:56,040 Και έτσι βασίζεται μόνο σε αυτό το πολύ απόκρυφες παράδειγμα, τι ίσως 679 00:29:56,040 --> 00:29:57,870 είναι το επιχείρημα για τη χρήση jQuery; 680 00:29:57,870 --> 00:30:01,390 681 00:30:01,390 --> 00:30:05,111 Γιατί ένας προγραμματιστής χρησιμοποιεί μια βιβλιοθήκη όπως jQuery, με βάση αυτή την απομονωμένη παράδειγμα, 682 00:30:05,111 --> 00:30:05,610 ίσως? 683 00:30:05,610 --> 00:30:06,335 >> Κοινό: Λιγότερο κώδικα. 684 00:30:06,335 --> 00:30:06,780 >> DAVID J. Malan: Ναι. 685 00:30:06,780 --> 00:30:07,530 Είναι λιγότερο κώδικα. 686 00:30:07,530 --> 00:30:09,070 Είναι απλά πιο γρήγορα για να πληκτρολογήσετε. 687 00:30:09,070 --> 00:30:11,690 Η αντίστιξη είναι ότι φαίνεται τρομακτικό. 688 00:30:11,690 --> 00:30:13,540 Δεν μπορείτε πραγματικά να το διαβάσετε αριστερά προς τα δεξιά. 689 00:30:13,540 --> 00:30:16,730 Στην πραγματικότητα, επειδή είναι ως επί το πλείστον στίξη τώρα, αντί των πραγματικών λέξεων, 690 00:30:16,730 --> 00:30:20,950 Ι το είδος μπορεί να συμπεράνει ότι "Document.getElementById" παίρνει 691 00:30:20,950 --> 00:30:23,640 ένα στοιχείο από το έγγραφο με ID του. 692 00:30:23,640 --> 00:30:26,750 Θα ήθελα πραγματικά να χρησιμοποιήσει καμία τέτοια μνημονικά από αυτό το πράγμα εδώ. 693 00:30:26,750 --> 00:30:27,680 >> Έτσι είναι ένας συμβιβασμός. 694 00:30:27,680 --> 00:30:30,763 Υπάρχει μια εκλέπτυνση που έρχεται συχνά με τη χρήση βιβλιοθηκών, ειδικά 695 00:30:30,763 --> 00:30:31,440 όπως jQuery. 696 00:30:31,440 --> 00:30:34,700 Αλλά η πραγματικότητα είναι jQuery έχει είδος της να γίνει ένα de facto πρότυπο, 697 00:30:34,700 --> 00:30:38,110 έτσι ώστε σχεδόν κανείς αυτά ημέρες που γράφει κώδικα JavaScript 698 00:30:38,110 --> 00:30:41,520 χρησιμοποιεί jQuery ή κάτι σαν αυτό, και γράφει πλέον 699 00:30:41,520 --> 00:30:45,200 μια τέτοια λεπτομερή εκφράσεις όπως αυτό, γιατί και πάλι, η ανθρωπότητα 700 00:30:45,200 --> 00:30:47,850 έχει μάθει, wow, αυτό ήταν είδος της μια χαμένη ευκαιρία 701 00:30:47,850 --> 00:30:49,030 για να κάνουν τη ζωή μας πιο εύκολη. 702 00:30:49,030 --> 00:30:51,140 Έτσι, οι άνθρωποι κάνουν τη ζωή τους ευκολότερη. 703 00:30:51,140 --> 00:30:53,310 Καλή ερώτηση. 704 00:30:53,310 --> 00:30:55,870 >> Άλλες γλώσσες για να εξετάσει. 705 00:30:55,870 --> 00:30:58,660 Θα ήθελα να πω στους αυτό κατάλογος Ruby είναι αρκετά δημοφιλής. 706 00:30:58,660 --> 00:31:01,310 Και έτσι στον κόσμο της Ruby, υπάρχει ένα πλαίσιο 707 00:31:01,310 --> 00:31:03,590 που ονομάζεται Rails, η οποία είναι πολύ δημοφιλής. 708 00:31:03,590 --> 00:31:06,880 Έτσι, Ruby on Rails είναι ένα που χρησιμοποιούνται συνήθως έκφραση. 709 00:31:06,880 --> 00:31:10,330 Επίσης, σε αυτόν τον κόσμο, επιτρέψτε μου κύκλος Java για το web πράγματα, 710 00:31:10,330 --> 00:31:14,160 όπου στον κόσμο της Java μπορεί να έχετε JSP, ή Java 711 00:31:14,160 --> 00:31:18,450 Servlets, η οποία είναι μια κοινή τεχνολογία. 712 00:31:18,450 --> 00:31:22,560 Και αυτό είναι μόνο και πάλι τρόποι χρήσης ότι η γλώσσα σε ένα περιβάλλον server. 713 00:31:22,560 --> 00:31:23,520 >> Λοιπόν, τι σημαίνει αυτό; 714 00:31:23,520 --> 00:31:25,770 Αν έχετε μια φυσική server, θα κάνατε στην κυριολεξία 715 00:31:25,770 --> 00:31:30,510 κατεβάστε το λογισμικό του web server και να το εγκαταστήσετε με τέτοιο τρόπο, 716 00:31:30,510 --> 00:31:33,510 ότι έχετε υποστήριξη για ένα από τα αυτά τα πλαίσια, με την οποία θα 717 00:31:33,510 --> 00:31:37,260 θα μπορούσε, με τη σειρά, χρησιμοποιήστε μία ή περισσότερες από αυτές τις γλώσσες. 718 00:31:37,260 --> 00:31:40,260 Και στην πραγματικότητα, αν εγγραφείτε σαν ένα web υποδοχής ή μερικά από το σύννεφο 719 00:31:40,260 --> 00:31:41,968 υπηρεσίες μιλήσαμε για το χθες, συχνά 720 00:31:41,968 --> 00:31:44,885 τα πράγματα απλά έρχεται με το διαμόρφωση του μηχανήματος για σας. 721 00:31:44,885 --> 00:31:46,510 Δεν χρειάζεται να θέσει αυτό επάνω με το χέρι. 722 00:31:46,510 --> 00:31:51,040 Αλλά αν το έκανε, αυτό είναι όπου ο ρόλος του διαχειριστή του συστήματος, να το πω έτσι, 723 00:31:51,040 --> 00:31:51,860 μπαίνει στο παιχνίδι. 724 00:31:51,860 --> 00:31:54,151 Αυτός ή αυτή θα κάνει πραγματικά αυτό το είδος πράγματα για σας, 725 00:31:54,151 --> 00:31:58,510 ή το λεγόμενο webmaster Συχνά θα κάνει αυτό για σας. 726 00:31:58,510 --> 00:31:59,010 Εντάξει. 727 00:31:59,010 --> 00:32:03,300 Οποιεσδήποτε ερωτήσεις σχετικά με μερικά από αυτά εδώ; 728 00:32:03,300 --> 00:32:06,690 Ή οποιεσδήποτε ευκαιρίες σε όλα να ρωτήσω σχετικά με τις γλώσσες; 729 00:32:06,690 --> 00:32:09,500 Πλαισίων; 730 00:32:09,500 --> 00:32:11,530 Στη συνέχεια, επιτρέψτε μου να εισαγάγει μόνο ένα άλλο βιβλιοθήκη 731 00:32:11,530 --> 00:32:13,150 αυτό είναι επίσης πολύ συχνές αυτές τις μέρες. 732 00:32:13,150 --> 00:32:15,340 Αυτός ο κατάλογος θα μπορούσε να συνεχιστεί απείρως. 733 00:32:15,340 --> 00:32:19,140 >> Και αυτή η βιβλιοθήκη είναι το είδος της αρχίζουν να πέφτουν σε δυσμένεια. 734 00:32:19,140 --> 00:32:19,850 Ήταν γύρω. 735 00:32:19,850 --> 00:32:22,040 Θα ήταν δημοφιλές από Twitter για κάποιο χρονικό διάστημα. 736 00:32:22,040 --> 00:32:24,470 Και τώρα πολλές ιστοσελίδες, πολλά προγραμματιστές να το χρησιμοποιήσετε. 737 00:32:24,470 --> 00:32:26,629 Αλλά τα νέα πράγματα έρχονται έξω και έρχονται μαζί. 738 00:32:26,629 --> 00:32:29,420 Αλλά επιτρέψτε μου να σας δώσω μια αίσθηση του τι σημαίνει να χρησιμοποιήσετε μια βιβλιοθήκη. 739 00:32:29,420 --> 00:32:32,250 Έτσι και πάλι, το JavaScript είναι μια πολύ δημοφιλής γλώσσα. 740 00:32:32,250 --> 00:32:35,340 CSS ή Cascading Style Sheets, μιλήσαμε για το χθες. 741 00:32:35,340 --> 00:32:36,600 Αυτό, επίσης, είναι πανταχού παρούσα. 742 00:32:36,600 --> 00:32:40,130 Κανείς δεν κάνει μια ιστοσελίδα σήμερα χωρίς τη χρήση HTML και CSS ελάχιστα. 743 00:32:40,130 --> 00:32:42,510 Αλλά δεν είναι πάντα εύκολο να κάνει ορισμένα πράγματα. 744 00:32:42,510 --> 00:32:46,281 >> Και έτσι επιτρέψτε μου να πάω να getbootstrap.com. 745 00:32:46,281 --> 00:32:46,780 Ωχ. 746 00:32:46,780 --> 00:32:48,280 Αυτό δεν είναι το πώς θα σημάνει. 747 00:32:48,280 --> 00:32:52,410 Getbootstrap.com, η οποία δεν πρόκειται να με οδηγήσει 748 00:32:52,410 --> 00:32:56,140 στη σελίδα προορισμού για αυτήν τη βιβλιοθήκη. 749 00:32:56,140 --> 00:32:59,720 Έτσι απλόχερα καλούν οι ίδιοι ένα πλαίσιο, το οποίο 750 00:32:59,720 --> 00:33:02,032 είναι το είδος του είδους δίκαιη, αλλά θα ήθελα να την αποκαλούν ακόμα 751 00:33:02,032 --> 00:33:03,490 περισσότερο από μια βιβλιοθήκη από ένα πλαίσιο. 752 00:33:03,490 --> 00:33:05,760 Αλλά αυτά είναι μόνο αμφισβητήσιμο σημασιολογία. 753 00:33:05,760 --> 00:33:12,360 Επιτρέψτε μου να πάω στην καρτέλα CSS τους και επιτρέψτε μου να πάω σε κάτι σαν αυτό. 754 00:33:12,360 --> 00:33:15,450 >> Έτσι θυμηθούμε τι φαινόταν μορφές μας σαν χθες για Cloud9; 755 00:33:15,450 --> 00:33:16,370 Ήταν πολύ άσχημο. 756 00:33:16,370 --> 00:33:17,320 Παλιά κουμπιά σχολείο. 757 00:33:17,320 --> 00:33:20,420 Νομίζω ότι το κουμπί ήταν γκρι με αθέτηση. Και όλα ήταν πραγματικά 758 00:33:20,420 --> 00:33:22,420 διαμορφωθεί αρκετά messily. 759 00:33:22,420 --> 00:33:26,940 Έτσι, εάν θέλετε φόρμες web σας για να δείτε λίγο nicer-- επιτρέψτε μου να μεγεθύνετε εδώ. 760 00:33:26,940 --> 00:33:30,050 >> Και με καλύτερο μπορώ πραγματικά ακριβώς σημαίνουν πολύ nitpicky αισθητική. 761 00:33:30,050 --> 00:33:35,390 Έτσι, παρατηρήστε πώς το κιβώτιο ηλεκτρονικού ταχυδρομείου έχει εκεί στρογγυλεμένο ορθογώνιο γωνίες σε αυτό. 762 00:33:35,390 --> 00:33:37,010 Έτσι είναι λίγο καθαρότερο εκεί. 763 00:33:37,010 --> 00:33:40,770 Παρατηρήστε ότι η λέξη e-mail υπάρχει μέχρι να αρχίσετε να πληκτρολογείτε 764 00:33:40,770 --> 00:33:41,797 και στη συνέχεια θα πάει μακριά. 765 00:33:41,797 --> 00:33:43,130 Έτσι, αυτό είναι ένα ωραίο χαρακτηριστικό. 766 00:33:43,130 --> 00:33:46,046 Παρατηρήστε πως το πράγμα είναι το είδος της λαμπερό όμορφα, που μερικά από αυτό που 767 00:33:46,046 --> 00:33:49,069 αποκτήσετε δωρεάν από τον browser σας, αλλά μερικά από αυτό είναι επίσης βιβλιοθήκες, 768 00:33:49,069 --> 00:33:51,360 κώδικα ότι οι άλλοι άνθρωποι έχουν γράψει ότι έχετε αυτό το δώσει. 769 00:33:51,360 --> 00:33:53,480 >> Κάτι σαν αυτό μου δίνει τον κωδικό μου. 770 00:33:53,480 --> 00:33:58,480 Αυτό το κουμπί είναι λίγο πιο σέξι από το αθέτηση. Πολύ της μόδας τώρα. 771 00:33:58,480 --> 00:34:03,570 Από τότε iOS 7 ή έτσι, η κόσμος έχει πάρει πολύ επίπεδη, 772 00:34:03,570 --> 00:34:09,000 ενώ τον κόσμο πριν είχε πολλά σκιές, τα μέρη 773 00:34:09,000 --> 00:34:11,040 του προβληματισμού σχετικά με τα εικονίδια. 774 00:34:11,040 --> 00:34:14,170 Μοιάζει πολύ στον κόσμο ρούχα, υπάρχει τάσεις της μόδας που έρχονται και παρέρχονται. 775 00:34:14,170 --> 00:34:16,190 Τώρα όλα είναι επίπεδη στο τηλέφωνό σας. 776 00:34:16,190 --> 00:34:19,159 >> Στην πραγματικότητα, τα κουμπιά για σας iPhone είναι τώρα μόλις μπλε συνδέσμους. 777 00:34:19,159 --> 00:34:21,000 Δεν υπάρχει συχνά ακόμα και κυκλική κουμπιά. 778 00:34:21,000 --> 00:34:22,791 Έτσι, αυτά είναι απλά τα πράγματα που πηγαίνουν μέσα και έξω 779 00:34:22,791 --> 00:34:26,659 της μόδας, και έτσι αυτό είναι το πώς μπορείτε να κάνει μια πιο μοντέρνα αναζητούν μορφή web. 780 00:34:26,659 --> 00:34:27,159 Κουμπιά. 781 00:34:27,159 --> 00:34:29,190 Έτσι Bootstrap έχει πολλά όμορφα κουμπιά. 782 00:34:29,190 --> 00:34:33,639 Έτσι, εάν θέλετε μπλε κουμπιά, πράσινα κουμπιά, μπλε, πορτοκαλί, κόκκινο. 783 00:34:33,639 --> 00:34:35,840 Bootstrap καθιστά ευκολότερη να κάνει αυτά τα πράγματα. 784 00:34:35,840 --> 00:34:38,131 Αυτά είναι τα είδη των πραγμάτων ότι θα μπορούσατε απολύτως 785 00:34:38,131 --> 00:34:41,840 έχουν κάνει χθες με CSS και με HTML, αλλά είναι απλά ένας πόνος στο λαιμό. 786 00:34:41,840 --> 00:34:44,840 Και έτσι αντ 'αυτού, τι Bootstrap θα έχετε να κάνετε είναι κάτι σαν αυτό. 787 00:34:44,840 --> 00:34:48,960 >> Αν θέλετε ένα button-- αποδεικνύεται αυτό είναι μια ετικέτα HTML δεν χρησιμοποιήσαμε yesterday-- 788 00:34:48,960 --> 00:34:53,070 και θέλετε να δείτε σαν αυτό το πράσινο κουμπί, 789 00:34:53,070 --> 00:34:57,380 μπορείτε κυριολεκτικά να δώσει μια τάξη, που κάναμε μιλήσουμε για το χθες, 790 00:34:57,380 --> 00:34:59,710 της «btn btn-επιτυχία." 791 00:34:59,710 --> 00:35:00,971 >> Γιατί αυτά τα λόγια; 792 00:35:00,971 --> 00:35:03,470 Twitter, οι συντάκτες της Bootstrap, ήρθε με αυτά τα λόγια. 793 00:35:03,470 --> 00:35:05,428 Θα μπορούσαν να έχουν καλέσει τους ό, τι θέλουν. 794 00:35:05,428 --> 00:35:08,480 Αλλά τι παίρνετε τώρα είναι κάποιος άλλος στο Twitter, σε αυτή την περίπτωση, 795 00:35:08,480 --> 00:35:12,360 έχει βρει τον τρόπο κάνετε ένα κουμπί φαίνονται ωραία και καθαρή και πράσινη. 796 00:35:12,360 --> 00:35:15,580 Μπορούν πακετάρει αυτή τη λειτουργικότητα σε μια κατηγορία CSS, ονομάζεται "btn" 797 00:35:15,580 --> 00:35:19,790 και "btn-επιτυχία," έτσι ώστε ο καθένας μας μπορεί να τώρα το χρησιμοποιούν χωρίς καν να σκεφτόμαστε 798 00:35:19,790 --> 00:35:20,290 το. 799 00:35:20,290 --> 00:35:22,880 Έτσι, έχουν αντληθεί μακριά η έννοια του πράσινο κουμπί 800 00:35:22,880 --> 00:35:25,320 έτσι δεν έχουμε να νοιάζονται για την εφαρμογή της τον εαυτό μας. 801 00:35:25,320 --> 00:35:28,520 Μπορούμε πραγματικά να επικεντρωθεί στην εφαρμογή τα πράγματα που μας ενδιαφέρουν. 802 00:35:28,520 --> 00:35:30,902 >> Αν μετακινηθείτε προς τα κάτω εδώ. 803 00:35:30,902 --> 00:35:32,110 Μηνύματα σφάλματος στην οθόνη. 804 00:35:32,110 --> 00:35:35,440 Μερικές φορές θέλετε ένα μικρό μήνυμα να εμφανίζεται στην κορυφή του προγράμματος περιήγησης. 805 00:35:35,440 --> 00:35:39,729 Οποιοσδήποτε από εμάς θα μπορούσε να κάνει αυτό με κάποια προσπάθεια, μετά τη χθεσινή του μαθήματος, 806 00:35:39,729 --> 00:35:40,770 αλλά γιατί θα σας ενοχλεί; 807 00:35:40,770 --> 00:35:42,540 Αυτό είναι μια τέτοια πληκτικός αισθητική λεπτομέρεια. 808 00:35:42,540 --> 00:35:44,248 Ας σταθεί στο ώμους του Bootstrap 809 00:35:44,248 --> 00:35:49,440 και να τους αφήσουμε να μας δώσει τα πράγματα όπως αυτό, όπου κυριολεκτικά, να πάρει ένα κόκκινο κουτί, 810 00:35:49,440 --> 00:35:53,220 Απλά πρέπει να κάνετε μια παράγραφο ετικέτα με μια τάξη τον αριθμό τους λυπάμαι. 811 00:35:53,220 --> 00:35:57,307 "BG-κινδύνου» θα μας δώσει αυτό το κοκκινωπό κουτί αντ 'αυτού. 812 00:35:57,307 --> 00:35:59,140 Τώρα, ας πάμε να το πιο ενδιαφέροντα πράγματα. 813 00:35:59,140 --> 00:36:02,950 Αν πάω πίσω στην κορυφή αυτή τη σελίδα και να πάει να Components, 814 00:36:02,950 --> 00:36:05,380 τώρα ο κόσμος γίνεται πιο ενδιαφέρουσα. 815 00:36:05,380 --> 00:36:08,826 Για παράδειγμα, πολύ συχνή είναι drop down μενού σαν αυτό. 816 00:36:08,826 --> 00:36:11,560 Αυτό θα ήταν μια απόλυτη πόνος για την εφαρμογή. 817 00:36:11,560 --> 00:36:13,610 Και δεν ήταν ότι πολύ καιρό πριν ότι είμαστε προγραμματιστές 818 00:36:13,610 --> 00:36:16,490 θα πρέπει να εφαρμόσουν αυτά τα είδη των μενού από το μηδέν. 819 00:36:16,490 --> 00:36:20,800 >> Αλλά είναι ένα τέτοιο κοινό πρότυπο ότι οι βιβλιοθήκες όπως Bootstrap 820 00:36:20,800 --> 00:36:25,230 απλά σας δίνουν τη δυνατότητα να κάνει μια drop down μενού πολύ, πολύ πιο εύκολα. 821 00:36:25,230 --> 00:36:27,850 Δεν υπάρχει κανένας τρόπος να το κάνουμε, αλλά αν διαβάσετε την τεκμηρίωση 822 00:36:27,850 --> 00:36:32,100 Θα δείτε ότι, εντάξει, εγώ θα πρέπει να χρησιμοποιούν αυτό το HTML εάν θέλω ένα drop down μενού 823 00:36:32,100 --> 00:36:34,030 ότι συμπεριφέρεται έτσι. 824 00:36:34,030 --> 00:36:36,690 >> Ομοίως, ας πάει στο κουμπί πέσει κάτω. 825 00:36:36,690 --> 00:36:38,470 Έτσι, αυτό είναι ακόμη πιο φανταχτερά. 826 00:36:38,470 --> 00:36:41,800 Αν θέλω αυτό να μοιάζει με ένα κουμπί αλλά αυτό το μικρό τρίγωνο σημαίνει 827 00:36:41,800 --> 00:36:44,080 Θα πρέπει να κάνετε κλικ σε αυτό και να πάρει αυτό το μενού, αυτό 828 00:36:44,080 --> 00:36:45,760 Είναι χρησιμοποιώντας μια γλώσσα που ονομάζεται JavaScript. 829 00:36:45,760 --> 00:36:47,470 Και όλοι θα μπορούσαμε να εφαρμόσουν Αυτό το JavaScript. 830 00:36:47,470 --> 00:36:49,720 Αλλά και πάλι, αυτό είναι ένας τροχός δεν θέλετε να ανακαλύψουμε εκ νέου. 831 00:36:49,720 --> 00:36:52,700 Απλά θέλετε να απογειωθεί η βιβλιοθήκη ράφι για αυτό. 832 00:36:52,700 --> 00:36:58,145 >> Ας πάμε σε κάτι όπως προχωρήσει μπαρ. 833 00:36:58,145 --> 00:36:59,770 Έτσι, κάτι τέτοιο είναι είδος δροσερό. 834 00:36:59,770 --> 00:37:02,910 Αν έχετε δει ποτέ ένα προόδου μπαρ κινείται κατά μήκος της οθόνης, 835 00:37:02,910 --> 00:37:06,380 εκτελεστικές ότι συχνά είναι απλά ένα περιστρεφόμενο εικονίδιο. 836 00:37:06,380 --> 00:37:10,200 Στην πραγματικότητα, όπως ακριβώς μια άκρη, ας να πάω να Ajax-- τι είναι αυτό; 837 00:37:10,200 --> 00:37:10,710 Ajax πληροφορίες; 838 00:37:10,710 --> 00:37:11,720 Ωχ. 839 00:37:11,720 --> 00:37:13,035 Ajaxinfo. 840 00:37:13,035 --> 00:37:14,800 Επιτρέψτε μου να θυμάστε τη διεύθυνση. 841 00:37:14,800 --> 00:37:15,820 Εκεί πάμε. 842 00:37:15,820 --> 00:37:19,850 >> Έτσι, αν έχετε δει ποτέ κάποια κινούμενα σχέδια ενώ η σελίδα φορτώνει, ή σκέψης, 843 00:37:19,850 --> 00:37:25,410 ή την αποθήκευση, ή δημιουργώντας κάτι, μπορεί να δει όπως κινούμενες εικόνες όπως αυτές. 844 00:37:25,410 --> 00:37:28,800 Έτσι, ας ρίξουμε μια ματιά σε κάτι όπως αυτή εδώ, 845 00:37:28,800 --> 00:37:33,550 και ας επιλέξετε ένα χρώμα προσκηνίου της πράσινο, το οποίο αισθάνεται είδος φιλικό της. 846 00:37:33,550 --> 00:37:34,545 Μπορώ να κάνετε κλικ σε αυτό; 847 00:37:34,545 --> 00:37:35,500 Ελάτε ένα. 848 00:37:35,500 --> 00:37:36,000 ΕΝΤΆΞΕΙ. 849 00:37:36,000 --> 00:37:38,930 Θα πήγαινε με το κόκκινο επειδή αυτό είναι αυτό που παίρνετε. 850 00:37:38,930 --> 00:37:40,250 Έτσι, εδώ έχουμε. 851 00:37:40,250 --> 00:37:43,940 >> Έτσι, αν έχετε δει ποτέ αυτό σε μια οθόνη, σύμφωνα με την οποία ξαφνικά εμφανίζεται και, στη συνέχεια, 852 00:37:43,940 --> 00:37:47,550 ξαφνικά εξαφανίζεται, τι είναι αυτό που είναι εκτελεστικά αυτό; 853 00:37:47,550 --> 00:37:48,970 Λοιπόν, αυτό είναι μόνο ένα GIF. 854 00:37:48,970 --> 00:37:52,850 G-Ι-F. Και αυτή είναι μια κινούμενη αρχείο, το οποίο σημαίνει απλά 855 00:37:52,850 --> 00:37:54,327 Είναι σαν ένα παλιό σχολείο κόμικ. 856 00:37:54,327 --> 00:37:57,160 Υπάρχει μόνο μια δέσμη των διαφορετικών κουφώματα που πρόκειται [τραύλισμα] 857 00:37:57,160 --> 00:37:58,085 και μόλις επανάληψη. 858 00:37:58,085 --> 00:38:00,090 Και αυτό είναι δημιουργία του ψευδαίσθηση της κίνησης. 859 00:38:00,090 --> 00:38:03,070 >> Έτσι μόλις μια σελίδα γίνεται φόρτωση ή να κάνει κάτι, 860 00:38:03,070 --> 00:38:04,610 Τι κάνει ένας προγραμματιστής; 861 00:38:04,610 --> 00:38:07,500 Καλά, αυτός ή αυτή κρύβει μόνο αυτή την εικόνα. 862 00:38:07,500 --> 00:38:11,536 Έτσι, όλα μια γραμμή προόδου είναι είναι το είδος του αρέσει μια ταινία που παρακολουθείτε. 863 00:38:11,536 --> 00:38:14,660 Είσαι το είδος του να αγνοεί το γεγονός ότι δεν είναι πραγματικά κάνει τίποτα, 864 00:38:14,660 --> 00:38:15,940 είναι ακριβώς κινείται. 865 00:38:15,940 --> 00:38:19,150 >> Και στη συνέχεια, όταν έχει κάνει πρόοδο, απλά να το κρύψει ή να το απενεργοποιήσετε. 866 00:38:19,150 --> 00:38:21,115 Και αυτό είναι όλη η μαγεία ότι συμβαίνει εκεί. 867 00:38:21,115 --> 00:38:22,770 Bootstrap σας δίνει κάτι λίγο πιό φανταχτερό, 868 00:38:22,770 --> 00:38:25,030 σύμφωνα με την οποία μπορείτε πραγματικά δείτε ένα ποσοστό που πηγαίνει, 869 00:38:25,030 --> 00:38:27,840 αλλά επίσης είναι ακριβώς το είδος από ένα απλό animation. 870 00:38:27,840 --> 00:38:32,250 >> Ας δούμε κάποια τελικό πιο περίπλοκη παραδείγματα εδώ. 871 00:38:32,250 --> 00:38:35,526 Κάτι σαν μια τροπική. 872 00:38:35,526 --> 00:38:36,900 Ξέρει κανείς τι μοντάλ είναι; 873 00:38:36,900 --> 00:38:39,880 874 00:38:39,880 --> 00:38:42,550 Ένα παράθυρο τροπική είναι γενικά μία που υποτίθεται 875 00:38:42,550 --> 00:38:46,880 να αναλάβει τον έλεγχο των νέων στοιχείων και να σας αποτρέψει από το να κάνει οτιδήποτε άλλο. 876 00:38:46,880 --> 00:38:50,290 Είναι το είδος των δυνάμεων του χρήστη προσοχή στη μέση της οθόνης, 877 00:38:50,290 --> 00:38:52,290 κλείδωμα τους έξω, τυπικά, από οτιδήποτε άλλο. 878 00:38:52,290 --> 00:38:55,830 >> Έτσι, αν έχω ξεκινήσει αυτό το demo, το οθόνη θα γίνει γενικά γκρι. 879 00:38:55,830 --> 00:38:57,060 Λοιπόν, πώς θα κάνουμε το γκρι; 880 00:38:57,060 --> 00:38:59,080 Λοιπόν, έχουμε πιθανώς ακριβώς άλλαξε το χρώμα του φόντου 881 00:38:59,080 --> 00:39:01,060 όπως κάναμε χθες ή κατι τετοιο. 882 00:39:01,060 --> 00:39:03,490 Ίσως είναι μια επικάλυψη ότι η ημι-διαφανές. 883 00:39:03,490 --> 00:39:06,320 Και τώρα παρατηρήσετε μπορείτε να κάνετε φανταχτερά πράγματα όπως αυτό. 884 00:39:06,320 --> 00:39:09,930 Έτσι, αν ποτέ κλικ σε ένα κουμπί και θέλουν ένα μικρό pop έξω για να εμφανιστεί, 885 00:39:09,930 --> 00:39:10,710 μπορείς να τα καταφέρεις. 886 00:39:10,710 --> 00:39:12,340 Και έτσι ποιος νοιάζεται για all-- ναι; 887 00:39:12,340 --> 00:39:15,791 >> Κοινό: Έτσι, με Bootstrap, για να το πάρει ενσωματωθεί, 888 00:39:15,791 --> 00:39:21,002 είναι τόσο απλό όπως όπως χθες κάναμε τη σελίδα CSS στυλ; 889 00:39:21,002 --> 00:39:21,960 DAVID J. Malan: Πράγματι. 890 00:39:21,960 --> 00:39:22,835 Πραγματικά καλή ερώτηση. 891 00:39:22,835 --> 00:39:24,480 Επιτρέψτε μου να πάω για να ξεκινήσετε. 892 00:39:24,480 --> 00:39:26,090 Και ναι. 893 00:39:26,090 --> 00:39:30,920 Το μόνο που έχετε να κάνετε για να χρήση Bootstrap είναι ουσιαστικά αντιγραφή 894 00:39:30,920 --> 00:39:35,910 και να επικολλήσετε αυτές τις τρεις μεγάλες γραμμές κώδικα στην κορυφή του δικού σας web page-- 895 00:39:35,910 --> 00:39:38,892 ο επικεφαλής της page-- σας και είστε οργανωθεί και να λειτουργήσει. 896 00:39:38,892 --> 00:39:41,850 Και υπάρχουν διάφοροι τρόποι για να γίνει αυτό, αλλά αυτό θα ήταν η απλούστερη. 897 00:39:41,850 --> 00:39:45,190 >> Έτσι τι είναι χρήσιμο για όλα αυτά; 898 00:39:45,190 --> 00:39:47,524 Λοιπόν, αν δεν είστε τόσο πολύ ο εκτελεστής μιας ιστοσελίδας 899 00:39:47,524 --> 00:39:50,106 αλλά εσείς προσπαθείτε να το σχεδιασμό, ή θέλετε να παρέχετε κάποιον 900 00:39:50,106 --> 00:39:53,220 με διαγράμματα πλαίσιο σύρμα, να το πω έτσι, ή παραδόσεις μόνο καλλιτέχνη για το τι 901 00:39:53,220 --> 00:39:56,080 που θέλετε να κάνετε, εγώ, σε αυτό μέρα, θα πάει συχνά σε ένα site 902 00:39:56,080 --> 00:39:58,660 όπως Bootstrap, όπου αν θέλουν να εφαρμόσουν something-- 903 00:39:58,660 --> 00:40:02,290 όπως πρόσφατα στην πανεπιστημιούπολη θελήσαμε να εφαρμόσουν 904 00:40:02,290 --> 00:40:06,170 ένα εργαλείο web-based για την πλοήγηση Κατάλογος πορεία του Χάρβαρντ, 905 00:40:06,170 --> 00:40:08,770 καθιστώντας ευκολότερο για τους φοιτητές για να περιηγηθείτε μέσα από τα μαθήματα 906 00:40:08,770 --> 00:40:10,930 και προσθέτουν μαθήματα για να λίστα με τα ψώνια, να το πω έτσι, 907 00:40:10,930 --> 00:40:13,070 με το είδος της αποφασίσετε τι που ήθελαν να αναλάβουν. 908 00:40:13,070 --> 00:40:16,252 >> Προσπαθούσα να φανταστώ για τον εαυτό μου, τι συστατικά θα 909 00:40:16,252 --> 00:40:17,460 θέλουμε να χρησιμοποιήσουμε για να χτίσει αυτό; 910 00:40:17,460 --> 00:40:19,050 Ποια θα ήταν η διεπαφή χρήστη είναι σαν; 911 00:40:19,050 --> 00:40:22,800 Και ακριβώς κοιτάζοντας μέσα από ένα site όπως αυτό ή άλλες τέτοιες ιστοσελίδες της βιβλιοθήκης, 912 00:40:22,800 --> 00:40:26,560 μπορείτε να αποκτήσετε την έμπνευση, γιατί wow, Μπορώ να χρησιμοποιήσω αυτό το widget, και αυτό το widget, 913 00:40:26,560 --> 00:40:27,330 και αυτό το widget. 914 00:40:27,330 --> 00:40:29,080 Και τότε πραγματικά ό, τι ο προγραμματιστής ξεκινά 915 00:40:29,080 --> 00:40:32,800 να κάνουμε, ειδικά σε αυτές τις ημέρες σε αυτό πιο σύγχρονο κόσμο του web προγραμματισμό, 916 00:40:32,800 --> 00:40:35,827 είναι ο προγραμματισμός είναι ολοένα και πιο σχετικά με την καλωδίωση πράγματα μαζί. 917 00:40:35,827 --> 00:40:38,910 Ταξινόμηση λήψη της από το ράφι, αυτό από το ράφι, αυτό από το ράφι, 918 00:40:38,910 --> 00:40:41,954 και θα είναι η έξυπνη ένα για τη σύνδεση όλων αυτών των στιγμών, 919 00:40:41,954 --> 00:40:45,120 αλλά τελικά χτίσει κάτι από πάλι στέκεται στους ώμους των άλλων, 920 00:40:45,120 --> 00:40:49,370 έτσι ώστε να μην περάσουν ένα μήνα εφαρμογή ένα ηλίθιο drop down μενού, 921 00:40:49,370 --> 00:40:52,080 το οποίο είναι πραγματικά δύσκολο να το κάνετε αν θέλετε να εργαστείτε στο Chrome, 922 00:40:52,080 --> 00:40:55,220 και IE και Firefox, καθώς και κάθε σειρά άλλων browsers. 923 00:40:55,220 --> 00:40:59,060 Αυτός είναι ο λόγος που υπάρχει αυτή η πλούσια λογισμικό εμπορικών και ανοικτού κώδικα 924 00:40:59,060 --> 00:41:01,220 της βιομηχανίας, καθώς και. 925 00:41:01,220 --> 00:41:06,810 >> Κοινό: Έτσι δεν Bootstrap λάβετε ενημέρωση και θα πρέπει στη συνέχεια να ενημερώσετε τους συνδέσμους σας; 926 00:41:06,810 --> 00:41:07,820 >> DAVID J. Malan: Κάνει. 927 00:41:07,820 --> 00:41:09,090 Λοιπόν, ναι, το κάνει. 928 00:41:09,090 --> 00:41:12,540 Bootstrap είναι σήμερα σε έκδοση 3.3.6. 929 00:41:12,540 --> 00:41:16,720 Και γενικά ό, τι θα do-- αυτό είναι πραγματικά αξίζει να αναφερθεί. 930 00:41:16,720 --> 00:41:19,200 Υπάρχει ό, τι είναι γενικά γνωστή ως σημασιολογικό εκδόσεων 931 00:41:19,200 --> 00:41:20,160 σύστημα στον κόσμο. 932 00:41:20,160 --> 00:41:21,320 Δεν έχει ο καθένας το κάνει αυτό. 933 00:41:21,320 --> 00:41:26,410 >> Αλλά αν έχετε δει τους αριθμούς έκδοσης που είναι της μορφής x.y.z-- 934 00:41:26,410 --> 00:41:30,240 Έτσι, για παράδειγμα, η πρώτη εκδοχή από ένα πρόγραμμα μπορεί να είναι 1.0.0. 935 00:41:30,240 --> 00:41:34,970 Ή αν είναι πολύ, πολύ βήτα, ή ακόμη άλφα κατάσταση, πράγμα που σημαίνει χρήση 936 00:41:34,970 --> 00:41:37,620 με δική σας ευθύνη, δεν είναι πραγματικά έτοιμο για prime time, 937 00:41:37,620 --> 00:41:42,080 ίσως ακόμη και να αρχίσετε 0.0.1 ή κάποιο τέτοιο χαρακτηρισμό. 938 00:41:42,080 --> 00:41:47,260 Αλλά αν το λογισμικό ξεκινά έκδοση 1,0, ή ισοδύναμα 1.0.0, 939 00:41:47,260 --> 00:41:50,530 συνήθως, τι είναι κοινή αυτά days-- αν και δεν είναι omnipresent-- 940 00:41:50,530 --> 00:41:53,520 εάν μια εταιρεία ή ένας μεμονωμένες διορθώσεις προγραμματιστή 941 00:41:53,520 --> 00:41:56,140 κάποια bug σε κάποιο κομμάτι του λογισμικού που πραγματικά 942 00:41:56,140 --> 00:42:01,620 ήταν ένα bug, του οποίου η διόρθωση δεν πρέπει να Σας αντίκτυπο σε all-- δεν αλλάζει 943 00:42:01,620 --> 00:42:03,940 η συμπεριφορά του προγράμματος, απλώς διορθώνει κάτι 944 00:42:03,940 --> 00:42:06,580 ότι δεν δούλευε properly-- θα κάνατε συνήθως 945 00:42:06,580 --> 00:42:08,890 ενημερώσετε την τιμή z εκεί. 946 00:42:08,890 --> 00:42:12,900 Πράγμα που σημαίνει κάποιος σαν Kareem θα μπορούσε απλά να πάτε στην ιστοσελίδα του, 947 00:42:12,900 --> 00:42:19,470 τυφλά αλλάξετε τον αριθμό έκδοσης από 1.0.0 έως 1.0.1, εκτός από αυτό, το πλοίο, 948 00:42:19,470 --> 00:42:21,880 και στη θεωρία, δεν πρέπει να ανησυχούν ότι αυτός είναι απλά σπασμένα 949 00:42:21,880 --> 00:42:24,430 ιστοσελίδα του, λόγω της κάποια έλλειψη λειτουργικότητας, 950 00:42:24,430 --> 00:42:25,870 επειδή κάτι άλλο έσπασε. 951 00:42:25,870 --> 00:42:28,740 >> Εν τω μεταξύ, αν η προγραμματιστή ή κάποια εταιρία 952 00:42:28,740 --> 00:42:35,500 ήταν να κάνει κάποια σημαντική αλλαγή που προσθέτει τη λειτουργικότητα, 953 00:42:35,500 --> 00:42:40,320 Θα ήθελα να μας ενημερώσετε για την 1.1.0 επειδή είμαι πραγματικά 954 00:42:40,320 --> 00:42:42,200 αλλαγή της συμπεριφοράς της βιβλιοθήκης. 955 00:42:42,200 --> 00:42:44,470 Σας δίνω ίσως περισσότερη λειτουργικότητα. 956 00:42:44,470 --> 00:42:48,490 Τέλος, αν ήμουν πραγματικά αλλάξει ριζικά το λογισμικό έτσι ώστε 957 00:42:48,490 --> 00:42:54,380 πολύ ότι θα σπάσει πολλά ιστοσελίδες χρήστες ή εφαρμογές, 958 00:42:54,380 --> 00:42:59,550 τότε είμαι υποχρεωμένος, σε αυτό το μοντέλο, για να αναβαθμίσει το μεγαλύτερο αριθμό έκδοσης πάρα πολύ, 959 00:42:59,550 --> 00:43:01,059 το οποίο είναι ένα σπάσιμο αλλαγή. 960 00:43:01,059 --> 00:43:03,725 Με άλλα λόγια, θα μπορούσε να έχει διακοπείσας υποστήριξη για τα σταγόνα 961 00:43:03,725 --> 00:43:04,350 down μενού. 962 00:43:04,350 --> 00:43:07,790 Έτσι, εάν κάνετε αναβάθμιση σε 2.0, το μισό ιστοσελίδα σας μπορεί να σταματήσει να λειτουργεί. 963 00:43:07,790 --> 00:43:10,950 Και αυτό είναι το είδος του σήματος στην κοινότητα ως προς το τι είναι 964 00:43:10,950 --> 00:43:13,223 που εμπλέκονται στη λήψη μια αναβάθμιση. 965 00:43:13,223 --> 00:43:16,710 966 00:43:16,710 --> 00:43:18,020 Μια καλή ευκαιρία για να αυξήσει. 967 00:43:18,020 --> 00:43:18,718 Άλλες ερωτήσεις; 968 00:43:18,718 --> 00:43:21,761 969 00:43:21,761 --> 00:43:22,260 Εντάξει. 970 00:43:22,260 --> 00:43:26,945 Λοιπόν ας ρίξουμε μια ματιά σε ένα τελικό θέμα σε αυτό το τμήμα του προγραμματισμού 971 00:43:26,945 --> 00:43:30,640 στοίβες τεχνολογίας, δηλαδή που σχετίζονται με τα κινητά. 972 00:43:30,640 --> 00:43:36,232 >> Έτσι, στον κόσμο των κινητών τηλεφώνων σήμερα Σας have-- και iPads, και οι επιφάνειες, 973 00:43:36,232 --> 00:43:37,940 και όλα αυτά τα είδη της devices-- έχετε 974 00:43:37,940 --> 00:43:40,950 πολλές επιλογές όταν πρόκειται για την εφαρμογή 975 00:43:40,950 --> 00:43:47,270 μια εφαρμογή ή μια ιστοσελίδα για κινητές συσκευές πελάτη σας. 976 00:43:47,270 --> 00:43:51,570 Έτσι απλά για να δηλώσει το προφανές, ίσως αυτές τις μέρες, 977 00:43:51,570 --> 00:43:54,960 ποιες είναι οι πλατφόρμες για αναπτύξει στο χώρο των κινητών; 978 00:43:54,960 --> 00:43:59,650 Ποιες συσκευές μπορεί να θέλετε να υποστηρίξει με την εφαρμογή ή την ιστοσελίδα σας; 979 00:43:59,650 --> 00:44:00,317 >> ΚΟΙΝΟ: Η Apple. 980 00:44:00,317 --> 00:44:01,108 DAVID J. Malan: OK. 981 00:44:01,108 --> 00:44:01,820 Έτσι, οι συσκευές της Apple. 982 00:44:01,820 --> 00:44:06,740 Έτσι, αυτό σημαίνει ότι το iPhone, και ότι σημαίνει iPad, και ίσως ακόμη και το iPod. 983 00:44:06,740 --> 00:44:07,627 Τι άλλο? 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 >> Κοινό: Android. 987 00:44:11,970 --> 00:44:13,111 >> DAVID J. Malan: Android. 988 00:44:13,111 --> 00:44:13,610 ΕΝΤΆΞΕΙ. 989 00:44:13,610 --> 00:44:17,335 Έτσι, το Android τηλέφωνα, Android δισκία, η αγορά Android 990 00:44:17,335 --> 00:44:21,240 Είναι ακόμα πιό ακατάστατο because-- και ακόμη και η Apple γίνεται βρώμικο. 991 00:44:21,240 --> 00:44:23,960 Εκτιμώντας ότι μια φορά κι έναν καιρό iPhone ήταν ένα ορισμένο μέγεθος, 992 00:44:23,960 --> 00:44:26,560 και iPad ήταν ένα ορισμένο μέγεθος, και το iPod ήταν ένα ορισμένο μέγεθος, τώρα 993 00:44:26,560 --> 00:44:33,420 έχουμε iPad Minis, και το λεπτό αυτά, και το iPhone 6 Plus και 6. 994 00:44:33,420 --> 00:44:34,407 Είναι όλο ένα χάος. 995 00:44:34,407 --> 00:44:35,740 Είναι όλο τον κόσμο του Android. 996 00:44:35,740 --> 00:44:39,030 >> Και το λέω αυτό με το είδος του τροχαίου τα μάτια μου, γιατί από ένα προγραμματιστή 997 00:44:39,030 --> 00:44:41,680 προοπτική, είναι μια πόνος στο λαιμό, όταν 998 00:44:41,680 --> 00:44:45,686 δεν έχετε Steve Jobs » όραμα του απόλυτου ελέγχου 999 00:44:45,686 --> 00:44:47,060 πάνω από όλες αυτές τις προδιαγραφές. 1000 00:44:47,060 --> 00:44:49,726 Apple εξακολουθεί να το κάνει επειδή είναι αυτοί την κατασκευή του υλικού. 1001 00:44:49,726 --> 00:44:52,690 Αλλά είναι ένα ωραίο πράγμα, αν Είμαι ένας προγραμματιστής λογισμικού, 1002 00:44:52,690 --> 00:44:54,520 απλά να ξέρετε ότι μου iPhone θα είναι πάντα 1003 00:44:54,520 --> 00:44:56,850 για να είναι αυτό το μεγάλο, διότι αυτό σημαίνει ότι πάντα ξέρω 1004 00:44:56,850 --> 00:44:58,847 πόσο οθόνη ακινήτων που έχω. 1005 00:44:58,847 --> 00:45:01,180 Έτσι, αν θέλω να βάλω ένα εικονίδιο στην επάνω αριστερή γωνία, 1006 00:45:01,180 --> 00:45:04,530 πρόκειται να είναι στην ίδια ακριβώς τοποθετείτε τη συσκευή κάθε μεμονωμένο πελάτη. 1007 00:45:04,530 --> 00:45:07,140 >> Αλλά στον κόσμο του iPhone 6s και το iPhone 6 Pluses 1008 00:45:07,140 --> 00:45:10,570 και στον κόσμο του Android τηλέφωνα, είναι σε όλο τον χάρτη. 1009 00:45:10,570 --> 00:45:13,580 Και έτσι καθιστά πιο δύσκολο για το πρόγραμμα πράγματα, ειδικά διεπαφές χρήστη, 1010 00:45:13,580 --> 00:45:18,270 γιατί τώρα θα πρέπει να ξεκινήσετε την οργάνωση διεπαφές χρήστη σας σχετικά, δεν 1011 00:45:18,270 --> 00:45:19,730 απολύτως. 1012 00:45:19,730 --> 00:45:23,524 Και το ίδιο ήταν αληθές για προγράμματα περιήγησης, και επιτραπέζιους υπολογιστές, φορητούς υπολογιστές και για τα επόμενα χρόνια 1013 00:45:23,524 --> 00:45:25,690 γιατί, φυσικά, έχουν διαφορετικά μεγέθη οθόνης. 1014 00:45:25,690 --> 00:45:26,189 >> Τι άλλο? 1015 00:45:26,189 --> 00:45:30,170 Μπορεί να έχετε επιφάνειες, όπως από τη Microsoft. 1016 00:45:30,170 --> 00:45:31,270 Μπορεί να have-- 1017 00:45:31,270 --> 00:45:32,270 ΚΟΙΝΟ: Windows τηλέφωνο. 1018 00:45:32,270 --> 00:45:32,816 DAVID J. Malan: Τι είναι αυτό; 1019 00:45:32,816 --> 00:45:33,570 ΚΟΙΝΟ: Windows τηλέφωνο. 1020 00:45:33,570 --> 00:45:34,403 DAVID J. Malan: Ναι. 1021 00:45:34,403 --> 00:45:37,570 Έτσι τηλέφωνα παράθυρα μπορούν ακόμα να βρεθούν. 1022 00:45:37,570 --> 00:45:41,840 Είδος είδος BlackBerrys, αλλά συνεχίζουμε να προσπαθούμε. 1023 00:45:41,840 --> 00:45:43,900 Και τότε τσαμπιά από άλλες συσκευές. 1024 00:45:43,900 --> 00:45:48,020 Έτσι, για το μεγαλύτερο μέρος, ας λένε αυτά είναι εκείνα 1025 00:45:48,020 --> 00:45:49,520 να νοιάζονται για αυτή τη στιγμή. 1026 00:45:49,520 --> 00:45:51,890 Σίγουρα τα πράγματα της Apple, Σίγουρα τα πράγματα Android, 1027 00:45:51,890 --> 00:45:55,640 και μεταξύ των Windows, όπως δισκία επιφάνεια φαίνεται να κερδίζει έδαφος αρκετά καλά. 1028 00:45:55,640 --> 00:45:58,030 >> Και έτσι μεταξύ αυτών των συσκευών, αν θέλετε να κυλήσει έξω, 1029 00:45:58,030 --> 00:46:02,677 ας πούμε, ένα κινητό παρουσία για σας Η εταιρεία, ποια είδη των αποφάσεων σχεδιασμού 1030 00:46:02,677 --> 00:46:03,510 έχετε να κάνετε; 1031 00:46:03,510 --> 00:46:06,350 Λοιπόν, έχουμε ήδη πει στον κόσμο της Apple, 1032 00:46:06,350 --> 00:46:08,790 υπάρχει τουλάχιστον δύο γλώσσες που συνήθως χρησιμοποιούνται. 1033 00:46:08,790 --> 00:46:10,260 Ένα ονομαζόταν τι; 1034 00:46:10,260 --> 00:46:11,260 >> Κοινό: Objective-C. 1035 00:46:11,260 --> 00:46:11,560 >> DAVID J. Malan: Ναι. 1036 00:46:11,560 --> 00:46:13,600 Έτσι, Objective-C, που είναι το παλαιότερο. 1037 00:46:13,600 --> 00:46:17,720 Είναι επίσης η γλώσσα που πολλοί Mac Οι εφαρμογές ακόμα γραμμένο σε. 1038 00:46:17,720 --> 00:46:18,964 Στη συνέχεια, το άλλο νεότερο ήταν; 1039 00:46:18,964 --> 00:46:19,630 Κοινό: Swift. 1040 00:46:19,630 --> 00:46:20,590 DAVID J. Malan: Swift. 1041 00:46:20,590 --> 00:46:23,900 Και αυτά είναι το είδος της δύο να ξέρετε για να εντυπωσιάσει τους λαούς. 1042 00:46:23,900 --> 00:46:28,238 Στη συνέχεια, στον κόσμο του Android, Ποια γλώσσα Android χρησιμοποιήσω; 1043 00:46:28,238 --> 00:46:30,618 >> ΚΟΙΝΟ: C #; 1044 00:46:30,618 --> 00:46:31,570 >> Κοινό: Java. 1045 00:46:31,570 --> 00:46:34,230 >> DAVID J. Malan: Java είναι η γλώσσα του "du jour". 1046 00:46:34,230 --> 00:46:37,950 Στον κόσμο των Windows, βεβαιωθείτε ότι, εμείς θα πούμε C # σε αυτή την περίπτωση. 1047 00:46:37,950 --> 00:46:40,590 Έτσι, ήδη αυτό είναι το είδος της ενοχλητικό, γιατί αυτό είναι 1048 00:46:40,590 --> 00:46:43,070 το πακέτο για μια επιχείρηση ιδιοκτήτη ή κάποιον που απλά 1049 00:46:43,070 --> 00:46:44,570 θέλει να κυλήσει ένα κινητό παρουσία; 1050 00:46:44,570 --> 00:46:45,220 Όπως, γαμώτο; 1051 00:46:45,220 --> 00:46:48,590 Όπως, αν θέλω να υποστηρίξει μια αρκετά ευρεία βάση χρηστών, 1052 00:46:48,590 --> 00:46:52,180 Έχω να γράψω, όπως φαίνεται, τρεις ξεχωριστές εφαρμογές. 1053 00:46:52,180 --> 00:46:55,630 Ένα σε μία από αυτές τις γλώσσες, ένα στην Ιάβα, ένα σε C #. 1054 00:46:55,630 --> 00:46:59,620 Και ακόμα κι αν θέλω τη λειτουργικότητα να είναι πανομοιότυπα, δεν έχει σημασία. 1055 00:46:59,620 --> 00:47:02,940 Θα πρέπει ακόμη να χρησιμοποιούν διαφορετικά γλώσσες γιατί η Apple και η Microsoft, 1056 00:47:02,940 --> 00:47:06,084 και η Google όλη την υποστήριξή διαφορετικά περιβάλλοντα. 1057 00:47:06,084 --> 00:47:07,750 Και αυτό ήταν μια πρόκληση για τα επόμενα χρόνια. 1058 00:47:07,750 --> 00:47:10,100 Πίσω στην ημέρα, όταν οι άνθρωποι που χρησιμοποιούνται για να αγοράσει το λογισμικό 1059 00:47:10,100 --> 00:47:12,230 σε ένα κατάστημα ηλεκτρονικών υπολογιστών στο συρρικνωθεί τυλιγμένο κουτιά, 1060 00:47:12,230 --> 00:47:14,470 θα πρέπει είτε να φθάσει για το ράφι Mac, 1061 00:47:14,470 --> 00:47:19,040 ή for-- ίσως αυτό το πολύ μικρό Mac shelf-- ή το μεγαλύτερο ράφι των Windows 1062 00:47:19,040 --> 00:47:19,980 και να αγοράσετε κάποιο λογισμικό. 1063 00:47:19,980 --> 00:47:22,813 Και πολύ συχνά, δεν υπήρχε καν τίποτα για σένα στο ράφι Mac. 1064 00:47:22,813 --> 00:47:23,430 Γιατί; 1065 00:47:23,430 --> 00:47:26,900 Λοιπόν, οι εταιρείες αποφάσισαν εάν το 90% του κόσμου, το 95% του παγκόσμιου 1066 00:47:26,900 --> 00:47:31,180 έχει PCs, γιατί ενοχλεί ακόμα εφαρμογή πράγματα για Mac OS; 1067 00:47:31,180 --> 00:47:34,370 >> Ως aside-- συνολικά digression-- γιατί είναι 1068 00:47:34,370 --> 00:47:40,960 ότι το Mac φαίνεται τόσο αδιαπέραστη από ιούς, και τα σκουλήκια, και απειλές κατά της ασφάλειας; 1069 00:47:40,960 --> 00:47:44,040 Είναι η Apple καλύτερα σε αυτό; 1070 00:47:44,040 --> 00:47:45,934 Καλύτερη στο να κρατήσει τους υπολογιστές ασφαλής; 1071 00:47:45,934 --> 00:47:47,750 >> Κοινό: Μικρότερες κοινό; 1072 00:47:47,750 --> 00:47:50,720 >> DAVID J. Malan: Αυτό είναι ίσως το μεγαλύτερο κομμάτι σε αυτό. 1073 00:47:50,720 --> 00:47:54,740 Έτσι, οι πολλοί χρήστες των Macs έχουν μακρά ισχυρίστηκε, OH, χρησιμοποιείτε έναν υπολογιστή Mac, 1074 00:47:54,740 --> 00:47:57,630 θα είστε ανοσία σε ιούς, και σκουλήκια, και όλα αυτά τα πράγματα 1075 00:47:57,630 --> 00:47:59,180 που έχουν καιρό μαστίζεται υπολογιστές. 1076 00:47:59,180 --> 00:48:02,050 Αυτό μπορεί να συμβαίνει επειδή η Apple έχει καλύτερη προγραμματιστές 1077 00:48:02,050 --> 00:48:05,250 και γράφουν καλύτερα του λογισμικού, ή η λειτουργικό σύστημα ήταν καλύτερα σχεδιασμένη. 1078 00:48:05,250 --> 00:48:06,870 Ίσως, αλλά πιθανώς όχι. 1079 00:48:06,870 --> 00:48:10,840 >> Είναι πιθανόν ότι, όταν είστε ένα 12-year-old, ή 30 κάτι 1080 00:48:10,840 --> 00:48:13,510 είδος κάθεται στο σπίτι εγγράφως κακόβουλο λογισμικό να αναλάβει 1081 00:48:13,510 --> 00:48:17,480 ο κόσμος, θα πάμε για να πάει μετά το πολύ μεγαλύτερο κοινό-στόχο. 1082 00:48:17,480 --> 00:48:20,590 Το 95% του κόσμου που θα μπορούσαν να να εκτελεί τα Windows ή κάποιο 1083 00:48:20,590 --> 00:48:21,740 παραλλαγές αυτών. 1084 00:48:21,740 --> 00:48:23,800 Έτσι, υπάρχει ένα μικρό κομμάτι από τις δύο πλευρές. 1085 00:48:23,800 --> 00:48:25,710 Αλλά προς τιμήν τους, Μήλο, εξ όσων γνωρίζω, 1086 00:48:25,710 --> 00:48:28,270 δεν έχει πραγματικά κράχτης οι ίδιοι ως πιο ασφαλής, 1087 00:48:28,270 --> 00:48:32,110 δεδομένου ότι είστε απλά καλώντας το δράμα, αν που κάνει το αίτημα αυτό, θα ήθελα να πιστεύω. 1088 00:48:32,110 --> 00:48:32,610 >> Εντάξει. 1089 00:48:32,610 --> 00:48:36,490 Χωρίς να πάρει πάρα πολύ μακριά κάτω ότι, πώς λύνουμε αυτό; 1090 00:48:36,490 --> 00:48:39,670 Έχετε να αγοράσετε ή έχετε να πληρώσουν τρεις διαφορετικούς ανθρώπους να αναπτύξουν 1091 00:48:39,670 --> 00:48:41,540 τις εφαρμογές σας; 1092 00:48:41,540 --> 00:48:42,870 Έχετε πάρει το ένα πάνω στο άλλο; 1093 00:48:42,870 --> 00:48:45,460 Τι θα πρέπει να καθοδηγούν σας Αναφέρομαι νομίζετε; 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 Όχι. 1098 00:48:51,500 --> 00:48:54,190 Κάποιος άλλος. 1099 00:48:54,190 --> 00:48:56,885 >> Κοινό: Μόλις έρθει με το υλικό. 1100 00:48:56,885 --> 00:48:58,510 DAVID J. Malan: Ελάτε με το υλικό; 1101 00:48:58,510 --> 00:48:59,533 Τι εννοείς? 1102 00:48:59,533 --> 00:49:01,282 >> Κοινό: Για το περιβάλλο. [ΜΗ ΑΚΟΥΣΤΌΣ] 1103 00:49:01,282 --> 00:49:04,867 1104 00:49:04,867 --> 00:49:06,200 DAVID J. Malan: Λοιπόν αυτό είναι αλήθεια. 1105 00:49:06,200 --> 00:49:09,280 Αλλά οι πελάτες σας, Εν τω μεταξύ, μπορεί να έχουν iPhones, 1106 00:49:09,280 --> 00:49:13,530 θα μπορούσαν να έχουν Android τηλέφωνα, που θα μπορούσε να έχει δισκία γίνεται από τη Microsoft. 1107 00:49:13,530 --> 00:49:19,040 Τόσο πώς έχετε ένα κινητό στρατηγική για όλους αυτούς τους διαφορετικούς χρήστες; 1108 00:49:19,040 --> 00:49:23,320 Φαίνεται ότι αν κοστίζει, ας πούμε $ 1.000 για να κάνει ένα iPhone 1109 00:49:23,320 --> 00:49:25,940 εφαρμογή, πρόκειται να σας κοστίσει $ 2.000 για να κάνει 1110 00:49:25,940 --> 00:49:29,250 μια εφαρμογή iPhone και ένα εφαρμογών Android, ή $ 3.000 1111 00:49:29,250 --> 00:49:31,407 να υποστηρίξει επίσης συσκευές με Windows, όπως καλά. 1112 00:49:31,407 --> 00:49:33,990 Αυτό είναι πιθανώς αρκετά συγκρατημένη, και δεν θα μπορούσε καν 1113 00:49:33,990 --> 00:49:36,050 είναι μια γραμμική σχέση σαν αυτό. 1114 00:49:36,050 --> 00:49:41,065 >> Κοινό: Αν θέλετε να έχετε μια εφαρμογή ή όχι, μπορείτε να έχετε ανταποκρίνεται ιστοσελίδα. 1115 00:49:41,065 --> 00:49:41,940 DAVID J. Malan: Καλή. 1116 00:49:41,940 --> 00:49:46,255 ΚΟΙΝΟ: Ή μπορείτε να έχετε μια εγγενή εφαρμογή. 1117 00:49:46,255 --> 00:49:47,130 DAVID J. Malan: Ναι. 1118 00:49:47,130 --> 00:49:50,260 Έτσι, σε όλα πλαίσιο αυτό εδώ, έχουμε μιλήσει για το τι 1119 00:49:50,260 --> 00:49:53,190 οι άνθρωποι θα καλέσετε εγγενείς εφαρμογές. 1120 00:49:53,190 --> 00:49:58,040 Αυτό είναι εφαρμογές που έχουν γραφτεί στη μητρική γλώσσα της συσκευής. 1121 00:49:58,040 --> 00:50:02,190 Έτσι, η μητρική Objective-C ή Swift κώδικα, ή σε Java, ή σε C #. 1122 00:50:02,190 --> 00:50:06,900 Που σημαίνει ότι όταν κάνετε λήψη, ας λένε Snapchat, μια δημοφιλής εφαρμογή, 1123 00:50:06,900 --> 00:50:10,060 ή όταν κάνετε λήψη Facebook για ένα τηλέφωνο, 1124 00:50:10,060 --> 00:50:13,270 κάνετε λήψη είτε το έκδοση που γράφτηκε για το iPhone σας, 1125 00:50:13,270 --> 00:50:16,830 ή γράψει για το Android κινητό σας τηλέφωνο, ή γραπτά για τα επιφανειακά σας. 1126 00:50:16,830 --> 00:50:18,500 >> Αλλά υπάρχει μια εναλλακτική λύση. 1127 00:50:18,500 --> 00:50:26,020 Όπως Olivier ήταν υπαινίσσεται, μπορείτε να χρησιμοποιήσετε πραγματικά HTML 5 1128 00:50:26,020 --> 00:50:33,440 Αντ 'αυτού, χρησιμοποιώντας αυτό που ονομάζεται web εφαρμογή, σύμφωνα με την οποία μπορείτε απλά 1129 00:50:33,440 --> 00:50:35,940 εφαρμογή για κινητά παρουσία σας και κάθε λειτουργικότητα. 1130 00:50:35,940 --> 00:50:37,030 Τι εννοώ με το κινητό παρουσία; 1131 00:50:37,030 --> 00:50:39,800 Όπως ιστοσελίδα σας που έχει σας στοιχεία επικοινωνίας, μια λίστα με όλα 1132 00:50:39,800 --> 00:50:43,049 τα προϊόντα σας, ίσως έχει μια εμπορική καλάθι, ίσως σας πουλήσουν τα πράγματα μέσα από αυτό. 1133 00:50:43,049 --> 00:50:46,850 Όποια και αν είναι η εφαρμογή σας είναι, μπορείτε εφαρμογή της, όχι σε Objective-C, 1134 00:50:46,850 --> 00:50:51,200 ή Swift, ή Java ή C #, αλλά σε HTML 5, η οποία ήταν η γλώσσα ψάξαμε 1135 00:50:51,200 --> 00:50:55,470 στο χθες, με JavaScript και CSS. 1136 00:50:55,470 --> 00:50:58,700 >> Και τι είναι καλό για εκείνους τρεις είναι ότι για την εκτέλεσή τους, 1137 00:50:58,700 --> 00:51:01,981 θα πρέπει να έχετε ακριβώς αυτό το κομμάτι του λογισμικού; 1138 00:51:01,981 --> 00:51:02,980 Κοινό: Ένα πρόγραμμα περιήγησης στο web. 1139 00:51:02,980 --> 00:51:04,229 DAVID J. Malan: Ένα πρόγραμμα περιήγησης στο web. 1140 00:51:04,229 --> 00:51:07,610 Και το καλύτερο ξέρω, όλα αυτά συσκευές έρχονται με προγράμματα περιήγησης στο Web, 1141 00:51:07,610 --> 00:51:10,480 έτσι ο χρήστης δεν έχει πρέπει να εγκαταστήσετε κάτι το ιδιαίτερο. 1142 00:51:10,480 --> 00:51:12,920 Έτσι, μπορείτε απλά να πείτε σας το κοινό, τους πελάτες σας, 1143 00:51:12,920 --> 00:51:16,590 πηγαίνετε στο acme.com σε σας browser και θα πρέπει ακριβώς 1144 00:51:16,590 --> 00:51:19,730 έχουν μια web-based εμπειρία ότι εξακολουθεί να γεμίζει την οθόνη, 1145 00:51:19,730 --> 00:51:25,100 αλλά δεν έχετε να ανησυχείτε για το σύνολο των οι δαπάνες αυτές και όλη αυτή η πολυπλοκότητα. 1146 00:51:25,100 --> 00:51:28,600 Αλλά σίγουρα υπάρχει μετάβαση να είναι μια παγίδα εδώ, σωστά; 1147 00:51:28,600 --> 00:51:31,740 Ειδικά αν ήθελα να επισημάνω ότι ένα-δύο χρόνια πριν, 1148 00:51:31,740 --> 00:51:35,700 η πρώτη έκδοση του κινητή εφαρμογή του Facebook 1149 00:51:35,700 --> 00:51:38,810 ήταν ως επί το πλείστον μια εφαρμογή HTML 5. 1150 00:51:38,810 --> 00:51:42,490 Και έχουν, πιο πρόσφατα, επαναυλοποιηθεί 1151 00:51:42,490 --> 00:51:44,700 σε άλλες εφαρμογές τους. 1152 00:51:44,700 --> 00:51:46,990 >> Έτσι, γιατί δεν θα αμέσως θέλω να πω, 1153 00:51:46,990 --> 00:51:49,190 καλά, προφανώς, θα πάμε να το κάνουμε αυτό; 1154 00:51:49,190 --> 00:51:51,560 Τι θα μπορούσε να είναι το κρυφό κόστος; 1155 00:51:51,560 --> 00:51:52,477 >> Κοινό: Απόδοση. 1156 00:51:52,477 --> 00:51:53,643 DAVID J. Malan: Επιδόσεις; 1157 00:51:53,643 --> 00:51:54,567 Πως το εννοεις? 1158 00:51:54,567 --> 00:52:01,040 >> ΚΟΙΝΟ: Η μητρική app έχει μεγαλύτερη απόδοση. 1159 00:52:01,040 --> 00:52:03,850 >> DAVID J. Malan: Έτσι ώστε να είναι αλήθεια, για δυο λόγους. 1160 00:52:03,850 --> 00:52:05,270 Μπορούμε να υπεραπλουστεύσουμε την απάντηση. 1161 00:52:05,270 --> 00:52:08,061 Και υπενθυμίζουν τη συζήτησή μας της ερμηνεύεται σε σχέση με καταρτίζονται γλώσσες. 1162 00:52:08,061 --> 00:52:12,030 Αυτή είναι η HTML 5 και μαζί με αυτό, ακριβώς για να είναι σαφές, JavaScript-- συνήθως γραπτή 1163 00:52:12,030 --> 00:52:15,880 JS-- και CSS είναι όλα ερμηνευμένες γλώσσες, 1164 00:52:15,880 --> 00:52:21,020 ακόμη και αν μόνο το JavaScript είναι μια γλώσσα προγραμματισμού. 1165 00:52:21,020 --> 00:52:25,820 >> Και έτσι σε σχέση με αυτά, που μερικά από αυτά συγκεντρώνονται, τουλάχιστον αυτά τρία-- 1166 00:52:25,820 --> 00:52:29,990 Objective-C, Java και C # - αυτά, στη θεωρία, θα πρέπει απλά να είναι ταχύτερη. 1167 00:52:29,990 --> 00:52:31,670 Αλλά υπάρχει μια άλλη πραγματικότητα for-- 1168 00:52:31,670 --> 00:52:32,440 >> Κοινό: Λειτουργίες; 1169 00:52:32,440 --> 00:52:32,830 >> DAVID J. Malan: Τι είναι αυτό; 1170 00:52:32,830 --> 00:52:34,060 >> Κοινό: Λειτουργίες. 1171 00:52:34,060 --> 00:52:34,570 >> DAVID J. Malan: Λειτουργικότητα; 1172 00:52:34,570 --> 00:52:35,070 Πως και έτσι? 1173 00:52:35,070 --> 00:52:37,305 Κοινό: Χρησιμοποιήστε την κάμερα το τηλέφωνό σας ή κάτι τέτοιο. 1174 00:52:37,305 --> 00:52:41,471 Μπορείτε να χρησιμοποιήσετε αυτά με το πρόγραμμα περιήγησης. 1175 00:52:41,471 --> 00:52:42,470 DAVID J. Malan: Ακριβώς. 1176 00:52:42,470 --> 00:52:43,011 Είναι sec-- 1177 00:52:43,011 --> 00:52:45,034 Κοινό: [δεν ακούγεται] 1178 00:52:45,034 --> 00:52:46,700 DAVID J. Malan: Αυτό είναι ένα άλλο καλό. 1179 00:52:46,700 --> 00:52:49,230 Υπάρχει χαρακτηριστικά γνωρίσματα που έρχονται με τα κινητά τηλέφωνα σήμερα 1180 00:52:49,230 --> 00:52:53,840 που δεν είναι, από το σχεδιασμό, για την ασφάλεια λόγους, πρόσβαση σε προγράμματα περιήγησης στο Web. 1181 00:52:53,840 --> 00:52:56,410 Επειδή θα ήταν το είδος της ένα ανατριχιαστικό πράγμα, αν μόνο όταν 1182 00:52:56,410 --> 00:53:00,710 μπορείτε να επισκεφθείτε google.com, ή cnn.com, ή οποιαδήποτε website.com, 1183 00:53:00,710 --> 00:53:04,490 ότι η εν λόγω ιστοσελίδα έχει τη δύναμη να μετατρέψει στη φωτογραφική μηχανή σας, πάρτε μια εικόνα από εσάς, 1184 00:53:04,490 --> 00:53:06,010 και στη συνέχεια να το χρησιμοποιήσετε. 1185 00:53:06,010 --> 00:53:09,280 Αλλά δεν θα θέλατε μια τυχαία ιστοσελίδα ότι επισκέπτεστε για πρώτη φορά 1186 00:53:09,280 --> 00:53:10,690 να έχουν αυτή την ικανότητα. 1187 00:53:10,690 --> 00:53:13,460 >> Και ναι, τι τηλέφωνο κατασκευαστές συνήθως κάνουμε 1188 00:53:13,460 --> 00:53:17,230 είναι απλά να αρνηθεί την πρόσβαση σε εκείνο το είδος των πληροφοριών 1189 00:53:17,230 --> 00:53:20,650 σε ένα πρόγραμμα περιήγησης, το οποίο θα σημαίνει δεν μπορεί να εφαρμόσει τη φωτογραφική μηχανή. 1190 00:53:20,650 --> 00:53:24,180 Μπορείτε δεν μπορεί να εφαρμόσει τα Push Notifications, οι ήχοι που έχετε στην οθόνη σας 1191 00:53:24,180 --> 00:53:26,120 με σύντομα μηνύματα. 1192 00:53:26,120 --> 00:53:31,350 Και στην πραγματικότητα, ακόμα και GPS είναι μόνο είδος του είδους του στη διάθεση των web browsers. 1193 00:53:31,350 --> 00:53:34,140 Αν έχετε ποτέ, σε ένα φορητό υπολογιστή ή σε μια κινητή συσκευή, 1194 00:53:34,140 --> 00:53:38,770 τράβηξε επάνω κάτι σαν ίσως cnn.com, αλλά και των τοπικών σταθμών ειδήσεις 1195 00:53:38,770 --> 00:53:43,890 τείνουν να το κάνετε αυτό, θα σας ζητηθεί συχνά με ένα message-- foxnews.com 1196 00:53:43,890 --> 00:53:45,170 θέλει να μάθει την τοποθεσία σας. 1197 00:53:45,170 --> 00:53:46,610 Να εγκρίνει ή να αρνηθεί. 1198 00:53:46,610 --> 00:53:52,070 >> Λοιπόν, το πρόγραμμα περιήγησης προσπαθεί να αποκτήσει πρόσβαση πληροφορίες GPS σας από το τηλέφωνό σας. 1199 00:53:52,070 --> 00:53:54,740 Αλλά ευτυχώς η Microsoft, και η Apple και η Google 1200 00:53:54,740 --> 00:53:57,330 έχουν αποφασίσει ότι αισθάνεται σαν Είναι ένα χρήσιμο κατάσταση, 1201 00:53:57,330 --> 00:53:59,461 θέλουμε το Google Maps και άλλα εργαλεία για να εργαστούν, 1202 00:53:59,461 --> 00:54:02,710 αλλά δεν θέλουμε να παρεισφρήσουν τους ανθρώπους έξω από απλά επιτρέπει σε κάθε ιστοσελίδα για να το κάνουμε αυτό. 1203 00:54:02,710 --> 00:54:05,934 Ας είδος συναντιούνται στα μισά του δρόμου και ζητά από το χρήστη. 1204 00:54:05,934 --> 00:54:08,850 Αλλά αυτό δεν είναι απαραιτήτως η περίπτωση με όλο το υλικό, όπως τη φωτογραφική μηχανή 1205 00:54:08,850 --> 00:54:10,680 και με την ώθηση κοινοποιήσεις και τα παρόμοια, 1206 00:54:10,680 --> 00:54:13,650 οπότε ίσως χρειαστεί να θυσιάσει ορισμένα χαρακτηριστικά. 1207 00:54:13,650 --> 00:54:15,100 Αλλά η απόδοση πάρα πολύ. 1208 00:54:15,100 --> 00:54:18,020 Είναι όλο και λιγότερο αισθητή στις μέρες μας, ίσως 1209 00:54:18,020 --> 00:54:22,400 όπως LTE πιάνει επάνω και ταχύτερη ταχύτητες στο διαδίκτυο σε τηλέφωνα, 1210 00:54:22,400 --> 00:54:24,110 αλλά μπορείτε να το είδος της αισθανθείτε τη διαφορά. 1211 00:54:24,110 --> 00:54:28,190 Όπως ένα web based εφαρμογή απλά αισθάνεται πιο αργά, συνήθως, 1212 00:54:28,190 --> 00:54:31,100 από μια εγγενή εφαρμογή, εν μέρει, γιατί μια web based εφαρμογή 1213 00:54:31,100 --> 00:54:32,680 εξ ορισμού είναι στο διαδίκτυο. 1214 00:54:32,680 --> 00:54:35,610 Είναι μιλώντας στους διακομιστές στο διαδίκτυο. 1215 00:54:35,610 --> 00:54:39,590 Και αν η σύνδεση δικτύου είναι αργή, ακόμη και κύλιση μπορεί να είναι αργή. 1216 00:54:39,590 --> 00:54:43,710 >> Αλλά μια εγγενή εφαρμογή, έχετε ήδη προ-downloaded-- πιθανώς 1217 00:54:43,710 --> 00:54:45,680 όταν ήσασταν στο σπίτι από το App Store, 1218 00:54:45,680 --> 00:54:47,900 ή μπορείτε τουλάχιστον προ-κατεβάσει στο σύνολό της 1219 00:54:47,900 --> 00:54:49,640 νωρίτερα, ανεξάρτητα από το speed-- σύνδεση 1220 00:54:49,640 --> 00:54:52,530 και έτσι τώρα έχετε όλα τα bits που γενικά χρειάζονται. 1221 00:54:52,530 --> 00:54:55,090 Εκτός ίσως από κάποιες δεδομένων που προέρχεται από ένα διακομιστή. 1222 00:54:55,090 --> 00:54:57,130 >> Έτσι, αυτά είναι συμβιβασμούς εδώ. 1223 00:54:57,130 --> 00:54:59,980 Υπάρχει το είδος της μια μέση συμβιβασμό, στην πραγματικότητα. 1224 00:54:59,980 --> 00:55:00,907 Και εγώ νομίζω you-- 1225 00:55:00,907 --> 00:55:02,895 >> Κοινό: Χρησιμοποιήστε τη σύνδεση δεδομένων. 1226 00:55:02,895 --> 00:55:06,355 Στην μητρική εφαρμογές, μπορείτε να [δεν ακούγεται] 1227 00:55:06,355 --> 00:55:07,480 DAVID J. Malan: Απολύτως. 1228 00:55:07,480 --> 00:55:09,730 Έτσι, υπάρχει το ζήτημα χωρίς σύνδεση, το οποίο είναι πραγματικά ενοχλητικό 1229 00:55:09,730 --> 00:55:13,120 αν δεν μπορείτε να παίξετε κάποιο παιχνίδι ή τη χρήση κάποιο λογισμικό μόνο και μόνο επειδή είστε 1230 00:55:13,120 --> 00:55:15,110 σε ένα υπόγειο κάπου ή σε έναν ανελκυστήρα. 1231 00:55:15,110 --> 00:55:18,700 Ένας ντόπιος εφαρμογή είναι ανθεκτική με μεγαλύτερη πιθανότητα ενάντια σε αυτόν, 1232 00:55:18,700 --> 00:55:20,990 υποθέτοντας ότι έχετε όλα τα δεδομένα που χρειάζεστε σε τοπικό επίπεδο. 1233 00:55:20,990 --> 00:55:22,900 >> Έτσι, υπάρχει μια τρίτη επιλογή εδώ. 1234 00:55:22,900 --> 00:55:30,270 Και ας σχεδιάσετε το φάσμα, όπως εγγενή εφαρμογή εδώ και web app εδώ. 1235 00:55:30,270 --> 00:55:32,460 Και τι είναι στη μέση Είναι κάτι called-- 1236 00:55:32,460 --> 00:55:35,410 και νομίζω ότι μπορεί να έχετε χρησιμοποίησε τη λέξη πριν, ίσως; 1237 00:55:35,410 --> 00:55:37,170 Υβριδική αίτηση. 1238 00:55:37,170 --> 00:55:40,980 Και όπως υποδηλώνει η λέξη, είναι κάτι στη μέση. 1239 00:55:40,980 --> 00:55:46,230 Είναι το είδος του μια web εφαρμογή και αυτό είναι το είδος της μια εγγενή εφαρμογή. 1240 00:55:46,230 --> 00:55:47,690 >> Και τι σημαίνει αυτό; 1241 00:55:47,690 --> 00:55:51,750 Αποδεικνύεται ότι υπάρχουν frameworks-- για να χρησιμοποιήσω έναν όρο από earlier-- λογισμικού 1242 00:55:51,750 --> 00:55:55,860 ότι οι άλλοι άνθρωποι έχουν γράψει για κάθε μία από αυτές τις πλατφόρμες. 1243 00:55:55,860 --> 00:55:57,500 Αυτά και ακόμη άλλες συσκευές. 1244 00:55:57,500 --> 00:56:02,390 Στην πραγματικότητα, επιτρέψτε μου να πάω να PhoneGap, το οποίο είναι ένα τέτοιο πλαίσιο, ότι εγώ 1245 00:56:02,390 --> 00:56:04,520 Πιστεύουμε Adobe κατέχει τώρα. 1246 00:56:04,520 --> 00:56:07,830 Επιτρέψτε μου να πάω για να ξεκινήσετε. 1247 00:56:07,830 --> 00:56:09,430 Ας δούμε. 1248 00:56:09,430 --> 00:56:12,450 Δω αν μπορώ να δείτε μια λίστα των εργαλείων. 1249 00:56:12,450 --> 00:56:13,150 Σκεύη. 1250 00:56:13,150 --> 00:56:15,845 Ξεκινώντας. 1251 00:56:15,845 --> 00:56:17,570 hardware PhoneGap. 1252 00:56:17,570 --> 00:56:18,672 >> Ας δούμε. 1253 00:56:18,672 --> 00:56:23,459 PhoneGap πρόσβαση στο υλικό. 1254 00:56:23,459 --> 00:56:26,125 Επιτρέψτε μου να δούμε αν μπορούμε να βρούμε ένα μικρό γράφημα που συνήθιζαν να έχουν. 1255 00:56:26,125 --> 00:56:29,170 1256 00:56:29,170 --> 00:56:31,640 Αυτό είναι σε μια άλλη περιοχή. 1257 00:56:31,640 --> 00:56:32,525 Είναι αυτό χρήσιμο; 1258 00:56:32,525 --> 00:56:33,030 Όχι. 1259 00:56:33,030 --> 00:56:36,330 Αυτό είναι gonna χάνουμε το χρόνο μας εκεί. 1260 00:56:36,330 --> 00:56:40,185 hardware PhoneGap. 1261 00:56:40,185 --> 00:56:40,685 Συσκευές. 1262 00:56:40,685 --> 00:56:45,190 1263 00:56:45,190 --> 00:56:48,030 API συσκευής. 1264 00:56:48,030 --> 00:56:49,270 Όχι, δεν έχω μετακινηθεί. 1265 00:56:49,270 --> 00:56:50,070 >> PhoneGap. 1266 00:56:50,070 --> 00:56:54,964 Ας πάμε μια τελευταία ματιά σε αυτό και να δούμε αν μπορώ να σας δείξω. 1267 00:56:54,964 --> 00:56:55,630 Ξεκινώντας. 1268 00:56:55,630 --> 00:56:58,160 1269 00:56:58,160 --> 00:56:59,020 Εγκαταστήστε PhoneGap. 1270 00:56:59,020 --> 00:57:02,310 1271 00:57:02,310 --> 00:57:03,270 Εγκαταστήστε την εφαρμογή για κινητά. 1272 00:57:03,270 --> 00:57:04,320 Ελα. 1273 00:57:04,320 --> 00:57:07,220 1274 00:57:07,220 --> 00:57:08,580 Έχουν αναδιοργάνωσε τα πάντα. 1275 00:57:08,580 --> 00:57:09,750 Εντάξει. 1276 00:57:09,750 --> 00:57:11,370 Ω, εντάξει. 1277 00:57:11,370 --> 00:57:12,550 Λοιπόν, εδώ πηγαίνουμε. 1278 00:57:12,550 --> 00:57:16,130 Αυτό δεν είναι το μόνο που διαφωτιστική, αλλά Αυτό είναι ό, τι ήμουν είδος ψάχνετε. 1279 00:57:16,130 --> 00:57:20,940 >> Έτσι PhoneGap είναι ένα πλαίσιο που θα να κατεβάσετε δωρεάν που σας δίνει 1280 00:57:20,940 --> 00:57:22,750 ένα τμήμα κώδικα μίζα, κατ 'ουσίαν. 1281 00:57:22,750 --> 00:57:26,600 Έτσι, μερικοί κώδικα που έχουν γραφτεί ότι δεν κάνει ένα μεγάλο μέρος τίποτα. 1282 00:57:26,600 --> 00:57:29,610 Αλλά αυτό που σας δίνει ουσιαστικά είναι η ισοδύναμη 1283 00:57:29,610 --> 00:57:34,910 της αίτησης που βάζει απλά ένα μεγάλο ορθογώνιο στην οθόνη του χρήστη. 1284 00:57:34,910 --> 00:57:38,040 Δεν τίθεται ένα μπαρ URL, όπως μια πρόγραμμα περιήγησης, δεν τίθεται μια διεύθυνση. 1285 00:57:38,040 --> 00:57:39,650 Θα πρέπει να θέσει απλά ένα μεγάλο ορθογώνιο. 1286 00:57:39,650 --> 00:57:43,230 Και μπορείτε να ρυθμίσετε αυτό το μεγάλο ορθογώνιο, κάτω από την κουκούλα, 1287 00:57:43,230 --> 00:57:50,780 πραγματικά να πάει στο acme.com, ή ίσως m.acme.com, για mobile.acme.com, 1288 00:57:50,780 --> 00:57:52,910 αλλά ο χρήστης δεν γνωρίζει από όπου και αν σε αυτή τη διεύθυνση. 1289 00:57:52,910 --> 00:57:55,520 Το μόνο που βλέπουν είναι το το περιεχόμενο της ιστοσελίδας. 1290 00:57:55,520 --> 00:57:59,822 >> Αλλά τι είναι ωραίο σχετικά με αυτό το ον μια υβριδική app είναι ότι αυτό που PhoneGap 1291 00:57:59,822 --> 00:58:03,030 και άλλες επιχειρήσεις που σας δίνει είναι από όπου και αν σας δίνει ένα μικρό κομμάτι του κώδικα 1292 00:58:03,030 --> 00:58:05,760 σε Objective-C ή Swift, ή ένα μικρό κομμάτι του κώδικα σε Java, 1293 00:58:05,760 --> 00:58:08,320 ή ένα μικρό κομμάτι του κώδικα σε C #, και ουσιαστικά, 1294 00:58:08,320 --> 00:58:12,990 το μόνο που έχετε να δώσετε είναι ελάχιστα το διεύθυνση του web-based εφαρμογή σας. 1295 00:58:12,990 --> 00:58:15,750 Και τότε θα δέσμη αυτή όλοι μαζί και να σας 1296 00:58:15,750 --> 00:58:20,670 το έχουν είτε την πρόσβαση σας ιστοσελίδα μέσω του διαδικτύου, 1297 00:58:20,670 --> 00:58:24,060 ή μπορείτε ακόμη και cache ένα τοπικό αντιγράψετε μέσα από την εφαρμογή, 1298 00:58:24,060 --> 00:58:28,690 και, στη συνέχεια, μπορείτε να αποθηκεύσετε την αίτησή σας σε μορφή iPhone, Android τηλέφωνο 1299 00:58:28,690 --> 00:58:32,030 μορφή, σχήμα επιφάνεια, ή οποιοδήποτε αριθμό άλλων συσκευών. 1300 00:58:32,030 --> 00:58:34,960 >> Μπορείτε να αποστείλετε κάθε μία από αυτές τις εκδόσεις στο Play Store της Google, 1301 00:58:34,960 --> 00:58:37,690 στο App Store, για να το Windows Store, και ούτω καθεξής. 1302 00:58:37,690 --> 00:58:41,570 Και τώρα, μπορείτε να έχετε όλα σας ακροατήρια κατεβάσετε πραγματικά μια εγγενή εφαρμογή, 1303 00:58:41,570 --> 00:58:44,250 αν και το μεγαλύτερο μέρος του κώδικα ήταν γράφτηκε από κάποιον άλλο, 1304 00:58:44,250 --> 00:58:49,090 αλλά το περιεχόμενο της εν λόγω μητρική app όλους προέρχονται, κατά κανόνα, τη δική σας ιστοσελίδα. 1305 00:58:49,090 --> 00:58:53,950 Έτσι, μπορείτε να συνεχίσετε τη σύνταξη ιστοσελίδα σας σε μορφή HTML, JavaScript και CSS. 1306 00:58:53,950 --> 00:58:56,400 >> Γιατί λοιπόν να θολώνουν αυτές τις γραμμές; 1307 00:58:56,400 --> 00:59:00,240 Γιατί να έχουν μια υβριδική αίτηση αυτό είναι το είδος των ιθαγενών, αλλά και 1308 00:59:00,240 --> 00:59:02,569 το είδος των web-based; 1309 00:59:02,569 --> 00:59:04,610 Ποιο είναι το νόημα της προσθήκη αυτής της πολυπλοκότητας; 1310 00:59:04,610 --> 00:59:07,180 Θέλω να πω, ακόμα και ακόμα, μόνο από ανακλώμενη μέσω αυτής της σελίδας, 1311 00:59:07,180 --> 00:59:11,790 η Ξεκινώντας οδηγός αισθάνεται σαν ότι έχεις ένα σωρό βήματα για μένα 1312 00:59:11,790 --> 00:59:13,514 να κάνω πριν can-- 1313 00:59:13,514 --> 00:59:14,430 Κοινό: Επαναχρησιμοποίηση; 1314 00:59:14,430 --> 00:59:14,960 DAVID J. Malan: Επαναχρησιμοποίηση; 1315 00:59:14,960 --> 00:59:15,618 Τι εννοείς? 1316 00:59:15,618 --> 00:59:16,826 >> Κοινό: Από τον πηγαίο κώδικα. 1317 00:59:16,826 --> 00:59:19,438 Έτσι, ο ίδιος κώδικας θα τρέχει σε όλες οι διαφορετικές πλατφόρμες. 1318 00:59:19,438 --> 00:59:20,313 DAVID J. Malan: Ναι. 1319 00:59:20,313 --> 00:59:21,188 Κοινό: [δεν ακούγεται] 1320 00:59:21,188 --> 00:59:23,200 1321 00:59:23,200 --> 00:59:24,200 DAVID J. Malan: Τέλεια. 1322 00:59:24,200 --> 00:59:26,930 Αν ο χρόνος είναι περιορισμένος και αν δεν έχουν τόσο πολλά developers-- 1323 00:59:26,930 --> 00:59:28,900 ίσως έχετε ένα προγραμματιστή και αυτός ή αυτή σίγουρα 1324 00:59:28,900 --> 00:59:31,050 δεν γνωρίζει όλα αυτά environments-- σίγουρα δεν είναι καλά, 1325 00:59:31,050 --> 00:59:33,341 και σίγουρα δεν μπορεί προγράμματος και στις τρεις ταυτόχρονα 1326 00:59:33,341 --> 00:59:35,970 και το πλοίο τρία προϊόντα σε ο χρόνος που επιτρέπεται για μία, 1327 00:59:35,970 --> 00:59:40,360 μπορείτε να τον έχετε ή για την οικοδόμηση τα πάντα σε HTML και JavaScript και CSS, 1328 00:59:40,360 --> 00:59:43,260 και στη συνέχεια να μάθουν ένα μικροσκοπικό bit για τη μητρική εφαρμογές, 1329 00:59:43,260 --> 00:59:45,930 αρκεί μόνο να κατεβάσετε ένα πλαίσιο όπως αυτό, 1330 00:59:45,930 --> 00:59:48,750 στη συνέχεια να φορτώσετε το προϊόν σας σε όλα τα διάφορα καταστήματα app 1331 00:59:48,750 --> 00:59:51,700 έτσι ώστε να έχετε τώρα μια εγγενή εφαρμογή. 1332 00:59:51,700 --> 00:59:54,090 >> Έτσι ώστε να φαίνεται σαν μια win-win, αλλά και πάλι, να είναι σαφής, 1333 00:59:54,090 --> 00:59:56,540 Ποια είναι τα πιθανά δαπάνες ή οι gotchas; 1334 00:59:56,540 --> 01:00:00,292 1335 01:00:00,292 --> 01:00:01,209 >> Κοινό: Επιδόσεις; 1336 01:00:01,209 --> 01:00:02,083 DAVID J. Malan: Ναι. 1337 01:00:02,083 --> 01:00:02,959 Εκτέλεση. 1338 01:00:02,959 --> 01:00:04,250 Είναι δύσκολο να περιγράψει προφορικά. 1339 01:00:04,250 --> 01:00:07,590 Έτσι, αν απλά να αναλάβει πίστη μια κινητή εφαρμογή, 1340 01:00:07,590 --> 01:00:11,430 μια διαδικτυακή εφαρμογή θα συνήθως λειτουργεί πιο αργά. 1341 01:00:11,430 --> 01:00:16,500 Μπορεί να μην φαίνονται αρκετά σωστά, διότι το iPhone και το Android τηλέφωνα, 1342 01:00:16,500 --> 01:00:19,210 και συσκευές Windows, υπάρχει πάντα ένα είδος προεπιλεγμένη εμφάνιση 1343 01:00:19,210 --> 01:00:21,780 και αίσθηση σε όλα τα κουμπιά και τα μενού. 1344 01:00:21,780 --> 01:00:25,160 >> Και οι εταιρείες στο διαδίκτυο, μπορείτε να δοκιμάσετε για την προσέγγιση των εν λόγω αισθητική 1345 01:00:25,160 --> 01:00:28,329 με βιβλιοθήκες όπως Bootstrap, αλλά η user-- μια έξυπνη user-- 1346 01:00:28,329 --> 01:00:30,620 πρόκειται να γνωρίζουν ότι κάτι που δεν είναι σωστό εδώ. 1347 01:00:30,620 --> 01:00:32,510 Και αυτό είναι μια χαρά, ίσως αυτό δεν είναι μια μεγάλη υπόθεση. 1348 01:00:32,510 --> 01:00:35,500 Αλλά το ζήτημα επιδόσεων απολύτως είναι μια μεγάλη υπόθεση. 1349 01:00:35,500 --> 01:00:39,400 Εγγενείς εφαρμογές θα έχουν την τάση να απλά είναι πολύ πιο δεκτική και ως εκ τούτου, 1350 01:00:39,400 --> 01:00:39,946 καλύτερα. 1351 01:00:39,946 --> 01:00:42,070 Και έτσι, τότε τι θα μπορούσε να είναι Το καλύτερο και των δύο κόσμων? 1352 01:00:42,070 --> 01:00:44,584 Αν είστε ιδιαίτερα ένα μικρό εταιρεία ή μια μικρή ομάδα, 1353 01:00:44,584 --> 01:00:47,000 που δεν έχουν τους πόρους να αναπτύξει μια εφαρμογή παράλληλα 1354 01:00:47,000 --> 01:00:50,480 σε όλες τις τρεις πλατφόρμες, και ειλικρινά, αισθάνεται σαν αυτό είναι μια κακή ιδέα ούτως ή άλλως 1355 01:00:50,480 --> 01:00:53,526 γιατί αν το ανοίγουμε και και οι τρεις ταυτόχρονα συνειδητοποιούν, 1356 01:00:53,526 --> 01:00:56,400 θα έπρεπε να έχουμε προσθέσει κάποια χαρακτηριστικά ή να κάνει κάτι διαφορετικό, τώρα 1357 01:00:56,400 --> 01:00:59,530 θα πρέπει να το διορθώσετε σε τρεις θέσεις, όχι ένα. 1358 01:00:59,530 --> 01:01:02,390 Τι είναι ίσως η βέλτιστη στρατηγική εδώ συνολικά, 1359 01:01:02,390 --> 01:01:04,130 εάν οι πόροι και ο χρόνος είναι σφιχτό; 1360 01:01:04,130 --> 01:01:06,420 >> Κοινό: Ακριβώς το κάνετε για iOS. 1361 01:01:06,420 --> 01:01:08,390 >> DAVID J. Malan: Αυτό δεν είναι παράλογο. 1362 01:01:08,390 --> 01:01:10,670 iPhones, τουλάχιστον στην ΗΠΑ, είναι εξαιρετικά δημοφιλής. 1363 01:01:10,670 --> 01:01:13,820 Android φαίνεται ότι εξακολουθεί να έχει δεσπόζουσα μερίδιο αγοράς, σε παγκόσμιο επίπεδο, συνολικά. 1364 01:01:13,820 --> 01:01:16,740 Έτσι, δεν είναι απαραίτητα αντιπροσωπευτικά 1365 01:01:16,740 --> 01:01:19,210 του συνόλου του πλανήτη αυτή την εβδομάδα. 1366 01:01:19,210 --> 01:01:21,180 Αλλά αυτό είναι απολύτως μία απόφαση. 1367 01:01:21,180 --> 01:01:23,620 Θέλω να πω, στην πανεπιστημιούπολη εδώ σκεφτείτε κάποια φρικτή αριθμό 1368 01:01:23,620 --> 01:01:26,600 ή το ποσοστό των φοιτητών έχουν iPhones και όχι το Android τηλέφωνα. 1369 01:01:26,600 --> 01:01:28,490 Αλλά και στο εξωτερικό, αυτό είναι το είδος του αντίθετου. 1370 01:01:28,490 --> 01:01:30,040 Έτσι ώστε να αποφασίσει με βάση το κοινό σας. 1371 01:01:30,040 --> 01:01:31,990 Πώς ξέρεις τι έχει κοινό σας; 1372 01:01:31,990 --> 01:01:34,080 >> Λοιπόν, έχουμε μάθει ένα τέχνασμα χθες. 1373 01:01:34,080 --> 01:01:35,060 Θα μπορούσατε να τους ρωτήσετε. 1374 01:01:35,060 --> 01:01:37,910 Εάν έχετε ένα αιχμάλωτο ακροατήριο μπορείτε να τους στείλετε ένα έντυπο της έρευνας. 1375 01:01:37,910 --> 01:01:39,172 Ή θα μπορούσατε ακριβώς να κάνει τι; 1376 01:01:39,172 --> 01:01:40,076 >> Κοινό: Google Analytics; 1377 01:01:40,076 --> 01:01:40,680 >> DAVID J. Malan: Τι είναι αυτό; 1378 01:01:40,680 --> 01:01:41,876 >> Κοινό: 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 Ναι. 1381 01:01:43,750 --> 01:01:46,970 Ή ακόμα περισσότερο το είδος της τεχνικής, απλά δείτε το δικό σας web servers κούτσουρα. 1382 01:01:46,970 --> 01:01:49,100 Επειδή ό, τι συμβαίνει κάθε φορά που ένα πρόγραμμα περιήγησης, 1383 01:01:49,100 --> 01:01:51,880 αν το laptop, desktop ή τηλέφωνο επισκέπτονται την ιστοσελίδα σας; 1384 01:01:51,880 --> 01:01:56,847 Στέλνουν ότι η κεφαλίδα HTTP που δείχνει σας τι browser και λειτουργικού συστήματος που χρησιμοποιείτε. 1385 01:01:56,847 --> 01:02:00,180 Έτσι, μπορείτε να συμπεράνουμε, με μεγάλη πιθανότητα, τι δημογραφικές σας χρησιμοποιεί αυτόν τον τρόπο 1386 01:02:00,180 --> 01:02:01,410 και στη συνέχεια να προσαρμοστούν. 1387 01:02:01,410 --> 01:02:03,030 >> Έτσι, ας υποθέσουμε ότι αυτό είναι απαράδεκτο. 1388 01:02:03,030 --> 01:02:07,760 Αυτό είναι το είδος του κακό για τις επιχειρήσεις, αν Android χρήστες δεν μπορούν να αγοράσουν τα widgets μας. 1389 01:02:07,760 --> 01:02:10,942 >> Ακροατήριο: Είτε είστε Θα χρεώνει ή όχι; 1390 01:02:10,942 --> 01:02:12,900 DAVID J. Malan: Είτε θα πάμε να χρεώνουν; 1391 01:02:12,900 --> 01:02:14,900 Έτσι Εντάξει, παίρνετε τι πληρώνετε για. 1392 01:02:14,900 --> 01:02:18,400 >> Ακροατήριο: Είτε η εφαρμογή σας είναι το gonna να είναι δωρεάν ή αν είναι gonna-- 1393 01:02:18,400 --> 01:02:19,530 >> DAVID J. Malan: OK. 1394 01:02:19,530 --> 01:02:21,920 Έτσι ίσως θα μπορούσε να αποσβέσει κόστος με αυτόν τον τρόπο, or--; 1395 01:02:21,920 --> 01:02:26,195 >> Κοινό: Διάβασα μια μελέτη κάποτε ότι οι εν λόγω περισσότεροι χρήστες της Apple πληρώνουν για εφαρμογές versus-- 1396 01:02:26,195 --> 01:02:28,320 DAVID J. Malan: Αυτό είναι αλήθεια επειδή είναι ήδη 1397 01:02:28,320 --> 01:02:29,640 πληρώνουν περισσότερα για τις συσκευές τους. 1398 01:02:29,640 --> 01:02:31,295 Έτσι δεν είναι παράλογο μια υπόθεση. 1399 01:02:31,295 --> 01:02:32,170 >> Κοινό: [δεν ακούγεται] 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 Έτσι, αν είστε πιο πρόθυμοι να πληρώσουν, τότε στην κόλαση με τους χρήστες του Android. 1403 01:02:38,667 --> 01:02:40,500 Δεν πρόκειται να να μας πληρώσετε τίποτα ούτως ή άλλως. 1404 01:02:40,500 --> 01:02:43,499 Θα μπορούσαμε επίσης να εστιάσουμε τις προτεραιότητές μας, τουλάχιστον για τους πρώτους μήνες 1405 01:02:43,499 --> 01:02:44,810 ή ένα έτος, για το iOS. 1406 01:02:44,810 --> 01:02:46,240 Απόλυτα λογικό. 1407 01:02:46,240 --> 01:02:48,558 Τι είναι μια πιο περιεκτική στρατηγικής από αυτό; 1408 01:02:48,558 --> 01:02:53,740 1409 01:02:53,740 --> 01:02:54,960 Maybe-- τι είναι αυτό; 1410 01:02:54,960 --> 01:02:57,040 >> Κοινό: [δεν ακούγεται] 1411 01:02:57,040 --> 01:03:00,142 >> DAVID J. Malan: Μια πιο expensive-- οπότε ίσως να επενδύσει περισσότερο in-- πάει μπροστά. 1412 01:03:00,142 --> 01:03:00,767 Κοινό: Ναι. 1413 01:03:00,767 --> 01:03:02,050 Ακριβώς ένα κινητό δικτυακό τόπο. 1414 01:03:02,050 --> 01:03:03,966 >> DAVID J. Malan: Έτσι κάνουν μια κινητά ιστοσελίδα και δεν 1415 01:03:03,966 --> 01:03:05,440 ακόμη ανησυχείτε για αυτό πολυπλοκότητα. 1416 01:03:05,440 --> 01:03:07,970 Ή ίσως μια λογική στρατηγική, η οποία ακόμα και το Facebook πήρε, 1417 01:03:07,970 --> 01:03:10,890 είναι να ξεκινήσετε με ένα υβριδικό εφαρμογή, διότι δεν είναι 1418 01:03:10,890 --> 01:03:13,582 ότι πολύ πιο δύσκολο να το κάνετε αυτό από αυτό. 1419 01:03:13,582 --> 01:03:16,040 Απλά πρέπει να διαβάσετε μερικά τεκμηρίωση και να καταλάβω πώς 1420 01:03:16,040 --> 01:03:17,480 για να φορτώσετε τα πράγματα στο App Store. 1421 01:03:17,480 --> 01:03:19,670 Έτσι ίσως να ξεκινήσετε με αυτό, έτσι ώστε σε μια μέρα, 1422 01:03:19,670 --> 01:03:21,112 μπορείτε να υποστηρίξει όλους τους χρήστες σας. 1423 01:03:21,112 --> 01:03:23,570 Και τότε, όπως ακριβώς Facebook και άλλες εταιρείες έχουν κάνει, 1424 01:03:23,570 --> 01:03:25,330 όταν έχετε τους πόρους, έχετε τους ανθρώπους, 1425 01:03:25,330 --> 01:03:27,660 γιατί δεν μπορείτε εκ νέου να εφαρμόσουν μόνο η εφαρμογή iOS. 1426 01:03:27,660 --> 01:03:31,460 Έχετε ακόμα κάτι για τον καθένα, ακόμα κι αν είναι μια κατώτερη εμπειρία 1427 01:03:31,460 --> 01:03:33,330 ίσως, με τον υβριδικό εφαρμογή. 1428 01:03:33,330 --> 01:03:36,770 Αλλά μπορείτε σταδιακά να αναπτύξουν και να αντικαταστήσει βραχυπρόθεσμη σας 1429 01:03:36,770 --> 01:03:40,280 μέτρα των υβριδικών εφαρμογών με περισσότερα μητρική σας εφαρμογές. 1430 01:03:40,280 --> 01:03:44,090 >> Κοινό: Αλλά με μια υβριδική εφαρμογή που θα έχουν πρόσβαση σε λειτουργίες του κινητού; 1431 01:03:44,090 --> 01:03:45,440 >> DAVID J. Malan: Όχι απαραίτητα. 1432 01:03:45,440 --> 01:03:47,810 Έτσι ίσως να κάνετε μια συνειδητή απόφαση από νωρίς, 1433 01:03:47,810 --> 01:03:51,930 μπορείτε να ανεβάσετε φωτογραφίες μόνο για το εγγενή εφαρμογή iPhone για το Facebook, 1434 01:03:51,930 --> 01:03:56,060 αλλά όχι για την εφαρμογή του Android, Αρχικά, για παράδειγμα. 1435 01:03:56,060 --> 01:04:00,600 Και αυτό είναι ένα κομμάτι από ένα λευκό ψέμα, διότι web εφαρμογές έχουν περισσότερους περιορισμούς 1436 01:04:00,600 --> 01:04:03,620 από τα υβρίδια εφαρμογές αποδεικνύεται έξω, και αν διαβάσουμε την τεκμηρίωση 1437 01:04:03,620 --> 01:04:07,260 για PhoneGap και τα πράγματα όπως αυτό, οι άνθρωποι έχουν καταλήξει σε τρόπους 1438 01:04:07,260 --> 01:04:11,110 να δώσει εφαρμογές web-based πρόσβαση στην κάμερα, 1439 01:04:11,110 --> 01:04:13,310 εφ 'όσον χρησιμοποιείτε μια υβριδική εφαρμογή. 1440 01:04:13,310 --> 01:04:14,214 >> Πώς λειτουργεί αυτό; 1441 01:04:14,214 --> 01:04:16,130 Επειδή το υβριδικό εφαρμογή, εξ ορισμού, 1442 01:04:16,130 --> 01:04:19,600 έχει ένα κομμάτι του κώδικα σε Objective-C, και Swift, και Java, ή σε C #, 1443 01:04:19,600 --> 01:04:20,920 μπορεί να έχει πρόσβαση στο υλικό. 1444 01:04:20,920 --> 01:04:24,590 Όχι απαραίτητα πάντα, αλλά θα μπορούσε κάλλιστα να 1445 01:04:24,590 --> 01:04:27,310 είναι η περίπτωση που έχετε αρκετά πρόσβαση για να πάρει τη φωτογραφική μηχανή, 1446 01:04:27,310 --> 01:04:32,960 ακόμα και για τις πλατφόρμες Android, για παράδειγμα, σε αυτό το παράδειγμα σκηνοθετημένη. 1447 01:04:32,960 --> 01:04:35,515 >> Οποιεσδήποτε άλλες ερωτήσεις; 1448 01:04:35,515 --> 01:04:36,279 Εντάξει. 1449 01:04:36,279 --> 01:04:38,070 Γιατί δεν παίρνουμε μας 15 λεπτά διάλειμμα εδώ. 1450 01:04:38,070 --> 01:04:44,060 Θα επαναληφθεί στις τρεις με τελικό εξετάσουμε web προγραμματισμό, βάσεις δεδομένων, 1451 01:04:44,060 --> 01:04:45,910 και Javascript. 1452 01:04:45,910 --> 01:04:48,877