DAVID J. Malan: Έτσι είμαστε πίσω. Έτσι, το υψηλού επιπέδου θέμα αυτή τη στιγμή τώρα είναι η τεχνολογία στοίβες, το οποίο δεν είναι ένα ιδιαίτερα τεχνικό όρο, Είναι κάτι περισσότερο από ένα αλιευμάτων όλα για οποιαδήποτε αριθμός των συνδυασμών των τεχνολογιών που μπορείτε να χρησιμοποιήσετε για να λύσει τα προβλήματα. Και ίσως το πιο τοποθέτηση τρόπος για να ξεκινήσετε θα ήταν να εξετάσουμε τις γλώσσες από το Συνεχίζω κροτάλισμα από ένα σωρό και ο καθένας στο δωμάτιο έχει ίσως ακούσει για τουλάχιστον ένα. Και γιατί να μην προσπαθούμε να διακρίνουμε what-- διακρίνουν αυτές τις γλώσσες και να μιλήσουμε λίγο για το πότε θα κάνατε επιλέξετε ένα πάνω στο άλλο, πώς είσαι είδος ριζικά διαφορετικά, και ιδιαίτερα όταν συζητάτε με τους μηχανικούς, ή προσπαθούν να αποφασίσουν ποιον να προσλάβει, ή τι εφαρμογής πρόταση για το πράσινο φως, πώς θα κάνει πραγματικότητα αυτά τα είδη των αποφάσεων. Έτσι, ας κουδουνίστρα κάποια πράγματα μακριά. Από τις γλώσσες που οι άνθρωποι έχουν ακούσει, τι έρχεται στο μυαλό; Γ OK. Εντάξει, C ++. Τι είναι αυτό? Κοινό: Python. DAVID J. Malan: Python. Έξοχος. Τι άλλο? Visual Basic. Άκουσα Java. Visual γνωστός και ως Basic-- VB. Ιάβα. .NET, Η οποία είναι περισσότερο από μια αλιευμάτων όλων για το τι είναι συνήθως C # ως γλώσσα υπό αμφισβήτηση. Και επιτρέψτε μου να αναφέρω ότι. Έτσι θα επανέλθουμε σε αυτό. Συγγνώμη? Συγνώμη? Κοινό: SQL. DAVID J. Malan: Scratch; Κοινό: SQL. DAVID J. Malan: Ω, SQL. ΕΝΤΆΞΕΙ. SQL. Έτσι θα επανέλθουμε σε επιβάλω, στην πραγματικότητα, είναι good-- μετά το διάλειμμα, καθώς και. Τι άλλο? Κοινό: Oracle. DAVID J. Malan: Έτσι Oracle, δεν είναι μια γλώσσα. Στην πραγματικότητα θα χρησιμοποιούν SQL, καθώς και. Έτσι, ας βάλουμε ότι μετά το διάλειμμα, καθώς και. Και συγνώμη, κάτι εδώ πέρα; Κοινό: Mathematica. DAVID J. Malan: Mathematica; ΕΝΤΑΞΕΙ σίγουρα. Και MATLAB είναι το είδος της εκεί μερικές φορές. Κοινό: R. DAVID J. Malan: R. Ας πάμε εδώ. Fortran. Σίγουρος. Παλαιότερα το σχολείο. Fortran. COBOL. Θα πετάξει έξω BASIC. ΒΑΣΙΚΌΣ. Κάθε-- Κοινό: MATLAB; DAVID J. Malan: MATLAB. Αχ, σας νικήσει σε αυτό. Οτιδήποτε? Μπορώ να σκεφτώ ένα ζευγάρι των άλλων. Μπορώ να σκεφτώ μερικά άλλα. Και αυτό ήταν το τελευταίο; Κοινό: ASP. DAVID J. Malan: ASP; Ναι. Ενεργές σελίδες διακομιστή. Αυτό γενικά θα εμπίπτουν άλλες γλώσσες, μερικές φορές C #, οπότε ας το αφήσουμε μακριά. Αλλά θα επανέλθουμε σε αυτό για πλαίσια και τέτοια. Τίποτα άλλο; PHP είναι δημοφιλής. Ruby είναι μια άλλη. JavaScript, δεν πρέπει να συγχέεται με Java, είναι ένα άλλο. Αυτό είναι το είδος της μια παρτίδα. Έτσι, μπορεί να είναι σίγουρα εντυπωσιακή, ως εάν ο κατάλογος δεν είναι ήδη, απλά για να αρχίσουν να ξέρετε πού να αρχίσετε. Και έτσι ευτυχώς, ας προσεγγίσουμε το θέμα από μερικές γωνίες. Κατ 'αρχάς, ας προσπαθήσουμε να ταξινομήσει τουλάχιστον ορισμένες από αυτές τις γλώσσες σε δύο μεγάλες κουβάδες, που θυμίζει η συνομιλία που είχαμε πριν από τη θραύση, όπου μιλήσαμε για την κατάρτιση, και τον πηγαίο κώδικα, και κώδικα μηχανής, γιατί αυτό δεν είναι το πώς είναι Όλες οι γλώσσες λειτουργήσει. Έτσι θα κόβω έξω μερικά παραδείγματα αριθμό τους ή αντι-examples-- σε αυτό το μοντέλο. Και τότε, γιατί να μην το κάνουμε εμείς μιλήσουμε για τις εφαρμογές ότι αυτές οι γλώσσες χρησιμοποιούνται γενικά για. Και ειλικρινά, παρόλο αυτό είναι μια πολύ μεγάλη λίστα, αυτό είναι μόνο ένα υποσύνολο αυτής της λίστας που που συνήθως θα αντλήσει από αυτές τις μέρες για την επίλυση προβλημάτων. Ορισμένες γλώσσες είναι νεότερες από τους άλλους. Ορισμένες γλώσσες είναι πιο δημοφιλής από τους άλλους. Έτσι δεν είναι σαν να έχουν τέτοια μια συντριπτική έργο, πριν να όταν αποφασίζουν μεταξύ αυτές οι διάφορες γλώσσες. Ας το κάνουμε αυτό. Είχαμε νωρίτερα, τον πηγαίο κώδικα, και στη συνέχεια είχαμε κώδικα μηχανής. Ωχ. Γράφοντας το λάθος λέξη. κώδικα μηχανής. Και είχαμε κάποια διαδικασία η μέση called-- ναι, τον compiler. Έτσι ο compiler. Και ποιος είναι ο κωδικός μηχανής στην πραγματικότητα λειτουργεί με το τέλος πρόκειται να είναι πραγματική CPU σας. Με άλλα λόγια, με κώδικα μηχανής, Ι σημαίνει τις χαμηλότερες οδηγίες επίπεδο ότι η CPU καταλαβαίνει πραγματικά. Πρόσθεση, αφαίρεση, μετακίνηση, αποθήκευση, και τις λειτουργίες όπως αυτό. Και έτσι αυτό είναι το μοντέλο για το τι είναι γενικά γνωστή ως καταρτίζονται γλώσσες. Ίσως δεν αποτελεί έκπληξη. Έτσι, αυτό είναι το μοντέλο για καταρτίζονται γλώσσες. Αλλά αποδεικνύεται εκεί που μια άλλη κατηγορία των γλωσσών που ονομάζεται ερμηνεύεται languages-- ερμηνεύεται languages-- που είναι ελαφρώς διαφορετική. Μπορείτε να γράψετε στον πηγαίο κώδικα, εκτελέστε τους μέσω διερμηνέα, και ότι διερμηνέας τι τρέχει στο CPU. Με άλλα λόγια, αυτό που δεν κάνουμε EMIT είναι αυτό, προφανώς; κώδικα μηχανής. Τα μηδενικά και αυτοί ότι η CPU η ίδια τελικά καταλαβαίνει. Έτσι, σε αυτή την πρώτη έκδοση και γλώσσες όπως η C, όπως είδαμε, μπορείτε να γράψετε στον πηγαίο κώδικα ότι είναι λίγο απόκρυφες, αλλά τουλάχιστον αυτό είναι το είδος της αγγλικής, όπως και είναι τουλάχιστον αναγνώσιμο τη στιγμή που θα το συνηθίσετε. Μπορείτε να τρέξει μέσα από ένα μεταγλωττιστή και έξω μπορείτε να πάρετε, τελικά, μηδενικά και μονάδες. Ότι μια υπεραπλούστευση. Υπάρχουν κάποια άλλα βήματα εκεί. Στην πραγματικότητα, αν έχετε ακούσει ποτέ ο όρος «συμβολική γλώσσα," αυτό είναι ένα βήμα πριν τα μηδενικά και μονάδες. Αυτό είναι λίγο πιο ευανάγνωστη, αλλά ακόμα αρκετά απόκρυφες. Και έτσι υπάρχει ενδιάμεσα στάδια που είναι, στην πραγματικότητα, συμβαίνει εδώ. Όμως η έξοδος, τελικά, Είναι αυτές οι μηδενικά και μονάδες. Αλλά στο ερμήνευσε κόσμο, όπου έχετε γλώσσες που ερμηνεύονται γλώσσες, μπορείτε πραγματικά να παραλείψετε αυτό το βήμα. Με άλλα λόγια, όταν γράφετε ένα πρόγραμμα, μπορείτε απλά να τρέξει αμέσως. Δεν το καταρτίζουν και στη συνέχεια να το εκτελέσετε, όπως έκανα πριν. Μπορείτε απλά να το γράψετε και να το εκτελέσετε. Και αν θέλετε να κάνετε μια γρήγορη αλλαγή, κάνετε μια γρήγορη αλλαγή και να εκτελέσετε ξανά αυτό. Έτσι, δεν υπάρχει μέση βήμα εδώ. Τώρα, για το πρόγραμμα που έγραψα νωρίτερα, η οποία ήταν αυτό το πρόγραμμα "Hello World", ίσως εύλογα wonder-- ή θα μπορούσε εύλογα state-- ότι δεν ήταν εκείνη τη στιγμή καταναλώνοντας να καταρτίσει το πρόγραμμά μου. Φαίνεται να έχουν κάνει έτσι απλά. Και δεν υπάρχει γραφική εκδόσεις των μεταγλωττιστών. Είμαι χρησιμοποιώντας ένα πολύ απόκρυφες έκδοση, αλλά θα μπορούσε να χτυπήσει ένα κουμπί play και ότι θα κάνουν πραγματικά Η σύνταξη για εσάς. Έχω συντάξει το πρόγραμμα και, στη συνέχεια, και πάλι, να τρέξει, θα ήθελα απλώς να το κάνετε αυτό. Και εξόδους στα αριστερά εκεί, "Hello!" Αυτό δεν φαίνεται όλα αυτά επαχθείς. Αλλά όταν τα προγράμματά σας είναι περισσότερο από ένα, δύο, τρία, μακρύ τέσσερις, πέντε γραμμές, μπορεί να να λάβει πολύ περισσότερα δευτερόλεπτα για να ολοκληρωθεί. Μερικές φορές ακόμη και λεπτά ή πολύ λίγο χρόνο για να ολοκληρωθεί. Μετά από όλα, μερικά από τα μεγαλύτερη προϊόντα στον κόσμο είναι τα πράγματα όπως τα λειτουργικά συστήματα, Microsoft Word, Microsoft Excel, το οποίο θα μπορούσε να είναι εκατοντάδες χιλιάδες ή ακόμα και εκατομμύρια γραμμές κώδικα μακριά, και εκείνων που δεν κάνουν ακριβώς αμέσως εκτελέσει. Επιπλέον, στο διαδίκτυο, είναι γίνει της μόδας να χρησιμοποιήσετε απλά ερμηνευμένες γλώσσες, εν μέρει γιατί μπορεί να κάνει μια αλλαγή ως τον κύριο του έργου και στη συνέχεια, μόλις αμέσως reload η σελίδα του προγράμματος περιήγησης και δείτε αμέσως το αποτέλεσμα. Και έτσι HTML, ενώ δεν είναι μια γλώσσα προγραμματισμού, είναι μια γλώσσα που είναι ερμηνεύεται. Και είδαμε το ίδιο αποτέλεσμα χθες. Απλά επαναλάβετε τη φόρτωση της σελίδας μετά την πραγματοποίηση μια αλλαγή στην Cloud9 and-- voila-- θα δείτε ένα νέο αποτέλεσμα. Έτσι ποια είναι η διαφορά εδώ; Στην HTML, ανάκληση, είχαμε ανοιχτή HTML, ανοικτή κεφαλή, ανοιχτή τίτλο, κοντά τίτλο, κοντά κεφάλι, ανοιχτό σώμα, και ούτω καθεξής. Είχαμε όλες αυτές τις ετικέτες που έχουμε αρκετά πολύ είπε, ενημερώστε το πρόγραμμα περιήγησης τι να κάνει. Γεια σου πρόγραμμα περιήγησης, έρχεται εδώ μια σελίδα HTML. Γεια σου πρόγραμμα περιήγησης, έρχεται εδώ ο τίτλος. Γεια σου πρόγραμμα περιήγησης, εδώ έρχεται κάποια κείμενο που θα πρέπει να είναι τολμηρή. Και στη συνέχεια να σας πω το αντίθετο. Γεια σου πρόγραμμα περιήγησης, ότι είναι για το κείμενο τολμηρό πρόσωπο. Γεια σου πρόγραμμα περιήγησης, αυτό είναι για το σώμα. Και ούτω καθεξής. Και έτσι αυτό είναι ένας browser; Ένα πρόγραμμα περιήγησης είναι απλώς ένα διερμηνέα. Πρόκειται για ένα πρόγραμμα που κάποιος σαν Microsoft ή η Google έχει γράψει, των οποίων ο σκοπός στη ζωή είναι να διαβάσετε μια γλώσσα, γνωστή ως HTML, και το ερμηνεύσει. Πάνω προς τα κάτω, αριστερά προς τα δεξιά. Και κάθε φορά που το πρόγραμμα περιήγησης βλέπει ανοιχτό βραχίονα, τον τίτλο, κοντά βραχίονα, θα πρέπει να ερμηνεύσει ότι υπό την έννοια, OH, ότι σημαίνει ότι θα πρέπει να θέσει αυτές τις λέξεις τρόπο εδώ στην κορυφή του προγράμματος περιήγησης. Γι 'αυτό ακριβώς κάνει ό, τι λέει ο κώδικας HTML. Αλλά δεν υπάρχει καμία μηδενικά και μονάδες. Δεν υπάρχει καμία σύνταξη. Εσείς δεν το κάνει. Το πρόγραμμα περιήγησης δεν το κάνει. Είναι απλά δεν συμμετέχουν. Έτσι, σύμφωνα με το πνεύμα αυτών των εν εξελίξει θέματα, σήμερα και χθες, που φαίνεται να είναι ένα υπέροχο χαρακτηριστικό. Μπορείτε να αποθηκεύσετε τον κωδικό σας και, στη συνέχεια, απλά να τρέξει ή να το ερμηνεύσει. Δεν υπάρχει καμία ενδιάμεσα βήματα. Σίγουρα υπάρχει ένα κόστος; Δεν μπορούν όλοι να είναι upsides. Λοιπόν, τι θα μπορούσε να είναι ότι το κόστος; Κοινό: Space. DAVID J. Malan: Space. Έτσι, σίγουρα. Στο καταρτίζονται κόσμο, έχετε όχι μόνο το αρχικό πηγαίο κώδικα, έχετε επίσης τη δημιουργία και τότε κατά πάσα πιθανότητα αποταμίευσης η μηχανή code-- η μηδενικά και ones-- και αυτό είναι πήρε να αναλάβει κάποια ποσότητα του χώρου. Απολύτως. Γι 'αυτό σας κοστίζει περισσότερο χώρο. Ναι; Κοινό: προγράμματα περιήγησης μπορεί να ερμηνεύουν με διαφορετικό τρόπο. DAVID J. Malan: προγράμματα περιήγησης μπορεί να ερμηνεύουν διαφορετικά. Αυτό είναι αλήθεια. Αλλά δεν είμαι σίγουρος ότι είμαι άνετα υποστηρίζοντας αυτό είναι επειδή είναι ερμηνεύεται. Αυτό είναι περισσότερο μόνο και μόνο επειδή είναι μια υλοποίηση μιας γλώσσας ότι η ίδια έχει ασάφειες. Έτσι, ας μην είναι αρκετά επιβεβαιώνουν ότι ένα, αλλά καλό προαίσθημα. Τι άλλο θα μπορούσε να είναι η τιμή που καταβάλλεται; Ανδρέας? ΚΟΙΝΟ: Είσαι συνδυάζοντας δύο βήματα, έτσι ώστε να, επομένως, έχουν αυξανόμενη πολυπλοκότητα, καθώς και. David J. Malan: Η complex-- η αύξηση της πολυπλοκότητας πού; Για ποιόν? Κοινό: Έτσι, στο διερμηνέα βήμα, είστε συνδυάζοντας τον διερμηνέα και compiler για μόλις προηγήθηκαν to-- DAVID J. Malan: Αχ, εντάξει. Κατά ειρωνικό τρόπο, είναι πιθανώς λίγο απλούστερο να εφαρμόσουν τον διερμηνέα, ακόμη και αν φαίνεται να upsides απόδοση αυτής της ευκολίας. Έτσι, πιθανώς αλήθεια. Αλλά αυτό το είδος της εξαρτάται, εγώ Θα έλεγα, με τη γλώσσα και σχετικά με το πώς πήγαν σχετικά με την εφαρμογή της. Μπορεί να υπάρχει μια πολύ μεγαλύτερη πολυπλοκότητα, στην πραγματικότητα, στον compiler, μόνο και μόνο επειδή θα πρέπει να πάμε από κάτι τόσο υψηλού επιπέδου σε κάτι τόσο χαμηλού επιπέδου. Αλλά μια καλή σκέψη. Έτσι, με άλλα λόγια, ένα μεταγλωττισμένο πρόγραμμα, όταν μετατράπηκε σε αυτά τα μηδενικά και μονάδες, καταλήγει στη γλώσσα ότι η CPU μιλάει, ενώ σε αυτή την πλευρά του ο κόσμο, το πρόγραμμα που έχετε γράψει, ο κώδικας που έχετε γράψει, στην πραγματικότητα ποτέ δεν παίρνει μετατρέπεται σε πραγματική γλώσσα ο υπολογιστής μιλάει. Τα μηδενικά και μονάδες. Παραμένει στην αρχική, πιο ανθρώπινη φιλική, πιο ευανάγνωστο γλώσσα. Λοιπόν, τι θα μπορούσε να είναι η επίπτωση εκεί, αν δεν το κάνετε πραγματικότητα ενοχλεί τη μετατροπή σας Πρόγραμμα για την ίδια γλώσσα ότι το βασικό υπολογιστή μιλάει; Κοινό: μπορεί να μην καταλαβαίνω κάτι; DAVID J. Malan: Might δεν καταλαβαίνω κάτι. Και αυτό μπορεί να claim-- αν δεν κατάλαβα κάτι, αυτό είναι ένα σφάλμα ή έλλειψη της διαθέτουν στο διερμηνέα. Έτσι ώστε θα ήταν περισσότερο ένα λάθος από ένα κόστος. ΚΟΙΝΟ: Έχετε πρόσβαση στον πηγαίο κώδικα; DAVID J. Malan: Υπάρχει ένα καλό αποτέλεσμα. Έτσι, ένα μειονέκτημα εδώ είναι που Φαίνεται να έχει πρόσβαση. Εσείς, ο τελικός χρήστης, μπορεί να φαίνεται να να έχει πρόσβαση στον πηγαίο κώδικα. Και αυτό δεν είναι πάντα αλήθεια. Αλλά είναι αλήθεια στην περίπτωση JavaScript, το οποίο θα εξετάσουμε μετά το διάλειμμα σήμερα, η οποία είναι μια ερμηνευμένη γλώσσα προγραμματισμού ότι γράφετε στον πηγαίο κώδικα. Αλλά αυτό πηγαίο κώδικα παίρνει μεταφέρονται από το διακομιστή σας στο πρόγραμμα περιήγησης και τρέχει στο πρόγραμμα περιήγησης του ανθρώπου. Έτσι, εδώ θα μπορούσε να ανοίξει μόνο το παράθυρο, όπως έχω κάνει στο Chrome, και να το δει κανείς, όπως εμείς οι ίδιοι μια ματιά στο χθες με το Google. Θα μπορούσε να κοιτάξουμε λίγο ακατανόητο αλλά είναι εκεί. Έτσι ώστε να είναι απολύτως μια τιμή που καταβάλλεται. Κοινό: χτύπημα απόδοσης; DAVID J. Malan: Ναι. Και αυτό είναι το άλλο biggie. Υπάρχει ένα χτύπημα απόδοσης. Επειδή έχετε αυτό μέση τον άνθρωπο, τα οποία η ίδια είναι ένα πρόγραμμα, ανάμεσα σε εσάς και η CPU, σε αντιδιαστολή απλά να σίτιση αυτών των πρώτων μηδέν και στο CPU, υπάρχει ένα χτύπημα απόδοσης που θα λαμβάνουν με ερμηνεύεται γλώσσα. Έτσι ώστε, αυθαίρετα, ένα πρόγραμμα ότι μπορεί να πάρει ένα δευτερόλεπτο να τρέχει σε έναν υπολογιστή ή ένα λεπτό για να τρέξει σε έναν υπολογιστή εδώ, μπορεί να διαρκέσει 10 δευτερόλεπτα ή 10 λεπτά για να τρέχει σε έναν υπολογιστή εδώ. Είναι γενικά δεν πρόκειται να είναι ότι ένα μεγάλο μέρος ενός difference-- συντελεστή 10-- γιατί υπάρχει βελτιστοποιήσεις που μπορείτε να κάνετε. Αλλά είναι σχεδόν πάντα πιο αργά. Τώρα, η άλλη όψη του εν λόγω ανησυχία είναι ότι, καθώς οι υπολογιστές, κάθε 12 18 months-- σύμφωνα με νόμο του Moore, έτσι ώστε να speak-- Τα απλά να πάρει όλο και πιο γρήγορα. Έχω όλο και περισσότερο χώρο στο δίσκο. Έχω όλο και περισσότερη μνήμη RAM. Ποιος νοιάζεται πραγματικά; Και αυτό είναι το είδος της μια λογικό επιχείρημα. Πράγματι, ένας από τους λόγους γιατί μπορούμε να ανεχθούμε πιο αργό ερμηνευμένες γλώσσες είναι γιατί εμείς οι άνθρωποι πραγματικά δεν παρατηρήσετε. Οι υπολογιστές έχουν πάρει ακριβώς έτσι καταριέται γρήγορα. Ενώ πίσω στην ημέρα, ειδικά όταν το υλικό ήταν πολύ πιο περιορισμένη, είχατε λιγότερο από τα πάντα, ήταν πολύ πιο ακριβό έτσι τα πάντα κοστίζουν περισσότερο, και στη συνέχεια, που πραγματικά ήθελαν να αποσπάσουν από όσο επιδόσεις, όπως θα μπορούσατε. Αλλά εκείνο που απαιτείται εγγράφως ένα χαμηλότερο επίπεδο, αν θέλετε, με ένα καταρτίζονται γλώσσα. Έτσι ώστε να παίρνουν αυτό το χτύπημα απόδοσης. Αλλά σε γενικές γραμμές, οι upsides φαίνεται να αξίζει τον κόπο αυτές τις μέρες. Λοιπόν, εκτός από το το ζήτημα της πνευματικής ιδιοκτησίας. Αυτό το είδος της αναγνωσιμότητας του κώδικα, που θα έρχονται πίσω όταν κοιτάμε το JavaScript. Έτσι, ας προσπαθήσουμε να κατηγοριοποιήσουμε τουλάχιστον μερικά από αυτά. Έτσι, μεταξύ των καταρτίζονται γλώσσες, εμείς θα έχουν C, C ++, κάπως, sorta, Java, αν και είναι ένα κομμάτι από μια εξαίρεση, για λόγους που θα σας δείξω ακριβώς σε μια στιγμή. C # θα είναι σε αυτή τη λίστα. Θα εξετάσουμε περισσότερο σε μόλις οι πιο σύγχρονες γλώσσες. Εντάξει. Και αυτό φαίνεται όπως πολλά εκεί. Εκτιμώντας ότι σε αυτή την πλευρά του φράχτη, μπορεί να έχουμε JavaScript και Python, και PHP και Ruby. Και είναι αυτό αρκετό για οι πιο πρόσφατες είναι αυτές; Ότι αισθάνεται σαν πολλά για τώρα. ΕΝΤΆΞΕΙ. Και τότε dot dot dot, δεδομένου ότι ο κατάλογος είναι ατελείωτος. Και στην πραγματικότητα, αν θέλουμε απλά να να πάρετε μια αίσθηση του this-- Wikipedia, καταρτίζονται γλώσσες. Υποθέτω μπορούμε να πάρουμε ένα πολύ πιο εξαντλητικό κατάλογο. Έτσι, εδώ πηγαίνουμε. Έτσι, εδώ είναι μια πολύ πιο εξαντλητικό κατάλογο. Και ήλπιζα κάποιος θα μαντέψει D ως γλώσσα, επειδή ότι υπάρχει πάρα πολύ, αλλά σταμάτησε στο D φαίνεται. Αν και θα μπορούσε στην πραγματικότητα να υπάρχει ένα Ε Ω, στην πραγματικότητα, αυτό θα πρέπει να να είναι στη λίστα αυτές τις μέρες. Swift είναι στην πραγματικότητα μια γλώσσα ότι η Apple εφεύρει που χρησιμοποιείται τώρα, ολοένα και περισσότερο έτσι, στο iPhone ανάπτυξη. Αλλά θα επανέλθουμε ότι με τη συζήτησή μας των κινητών σε μόλις ένα μικρό κομμάτι, καθώς και. Έτσι Swift, καθώς και. Και στη συνέχεια, αν πάμε στο ερμηνεύεται language-- ερμηνεύεται language-- τότε εδώ είναι ακόμα μεγαλύτερη λίστα, καθώς και. Έτσι, αν απλά google και δείτε στη Wikipedia για αυτά, θα δείτε όλα τα είδη των γλωσσών. Αλλά ο σκοπός είναι, για σήμερα πραγματικά, απλά βράζει κάτω σε αυτό ίσως το ζήτημα της πνευματικής ιδιοκτησίας και την αναγνωσιμότητα από τον τελικό χρήστη και να απόδοση, είναι μια άλλη biggie, καθώς και. Έτσι, ανάμεσα σε αυτές τις γλώσσες, επιτρέψτε μου να δούμε αν μπορούμε να σας δώσουμε μερικά μόνο δείγμα των γλωσσών. Εμείς δεν θέλουμε να περάσουν από όλες οι γλώσσες ασταμάτητα. Έχετε αναρωτηθεί ποτέ τι είναι μια συγκεκριμένη γλώσσα μοιάζει; Κάναμε δούμε πριν από λίγο. Γιατί δεν παίρνουμε ένα ζευγάρι της διαθέτουν τα αιτήματα. Ποιος θα ήθελε να δει τι άλλη γλώσσα μοιάζει; Ναι. Κοινό: Java. DAVID J. Malan: Java. Εντάξει. Έτσι, ας πάμε στην Java. Και για να σας δώσω μια sample-- θα μπορούσαμε να γράψουμε όλα αυτά έξω, αλλά θα ήταν πιο γρήγορα απλά για να εξετάσουμε δείγμα κώδικα κάποιου άλλου. Εντάξει. Έτσι, αυτό είναι ένα καλό παράδειγμα; Ωχ. ΕΝΤΆΞΕΙ. Έτσι, εδώ είναι η έκδοση Java του Πρόγραμμα έγραψα νωρίτερα, "Hello World". Έτσι, Java, συχνά θα δείτε το "τάξη". λέξη-κλειδί Στη συνέχεια, θα δείτε κάποιο όνομα μετά από αυτό. Θα δείτε άγκιστρα όπως είδαμε πριν, και μερικές φορές πηγαίνουν για το ίδια γραμμή, μερικές φορές άλλες γραμμές, Είναι το είδος της μια προσωπική απόφαση. Θα δείτε τις λέξεις-κλειδιά όπως "Δημόσια", "στατικά", "άκυρη". Αλλά κάναμε δείτε "κύριο". "Κύρια" είναι γενικά το όνομα της προεπιλεγμένης λειτουργίας ή η προεπιλεγμένη κομμάτι του κώδικα που παίρνει τρέχει σε ένα πρόγραμμα. "Σειρά." Τι έκανε εννοούμε με κορδόνι νωρίτερα; Θα χρησιμοποιηθεί το είδος του αδιάφορα. Ένα string είναι αυτό; Μια λέξη. Είναι σαν μια ακολουθία χαρακτήρων. Μεμονωμένων χαρακτήρων, πίσω στο πλάτη με πλάτη, συνήθως σε μια σειρά, όπως έχουμε συζητήσει. Και στην πραγματικότητα, δείτε αυτή τη σύνταξη Εδώ, οι δύο αγκύλες; Αυτό σημαίνει ότι, hey υπολογιστή, εδώ έρχεται μια σειρά από χορδές. Ο συμβολισμός αγκύλη είναι συνήθως χρησιμοποιείται για να υποδηλώσει ότι. Και τότε μπορείτε πιθανώς ρίξτε μια guess-- τι κάνει αυτό επισημαίνεται κομμάτι του κώδικα ίσως κάνω; ΚΟΙΝΟ: Η έξοδος; DAVID J. Malan: Ναι. Εκτυπώνει κάτι στην οθόνη. Έτσι, το "σύστημα" είναι ένα είδος α αναφορά στον υπολογιστή σας. "Out" σημαίνει ότι ο υπολογιστής σας παραγωγή ή την οθόνη. Έτσι "ln System.out.print" πιθανώς σημαίνει; "Ln". γραμμή εκτύπωσης οποία οι προγραμματιστές όπως να φαίνεται σημάνει μερικές λέξεις από στο σύνολό τους και να λάβουν συντομεύσεις με άλλα λόγια. Αλλά «ln» είναι η γραμμή, τόσο γραμμή εκτύπωσης. Έτσι εκτυπώνει "Hello World! ", Ακολουθούμενο από μια νέα γραμμή. Έτσι, αυτό είναι όλο. Αλλά Java είναι αυτό που θα κλήση object-oriented. Και πράγματι, ακριβώς για να δώσει μια δύο άλλοι ορισμοί εκεί που μπορεί να Βλέπε, γενικά, εκεί Πολλοί διαφορετικοί τύποι γλώσσες, αλλά η πιο κοινή είναι διαδικαστικά ή προστακτικές γλώσσες. Υπάρχουν λειτουργικά γλώσσες, οι οποίες δεν σημαίνει ότι οι άλλοι είναι μη λειτουργικό. Και έπειτα υπάρχει αντικειμενοστρεφείς γλώσσες. Και αυτό είναι ίσως το καλύτερο κατηγοριοποίηση των περισσότερων γλωσσών ότι θα επιλέξει ποτέ για το είδος ενός τυπικού εμπορικού έργου. Αυτό θα ήταν πάρα πολύ, Νομίζω, της τρύπας ενός αρουραίου να πάει κάτω, να προσπαθήσουμε να εξηγήσουμε οι διάφορες διαφορές. Αλλά οι γλώσσες έχουμε δει έτσι εως τώρα C είναι μια διαδικαστική ή επιτακτική ανάγκη γλώσσα. εφεύρει πιο πρόσφατα γλώσσες τείνουν να είναι, συγγνώμη, Αντικειμενοστραφής, πράγμα που σημαίνει έχουν άλλα χαρακτηριστικά σε αυτά. Μπορώ να το εξηγήσω με αυτόν τον τρόπο; Ας μην πάει ακόμη εκεί κάτω. μέσα Αντικειμενοστραφής μπορείτε να implement-- μπορείτε να μοντελοποιήσει τον πραγματικό κόσμο λίγο πιο αποτελεσματικά. Η ανθρωπότητα, με την πάροδο του χρόνου, έχει καταλάβει, wow, θα ήταν ωραίο αν η γλώσσα μου είχε αυτή τη λειτουργία ή το χαρακτηριστικό αυτό. Και αυτός είναι ο λόγος που έχουμε τόσο πολλές γλώσσες του κόσμου. Λογικοί άνθρωποι, έξυπνη οι άνθρωποι, συμφωνείτε ή διαφωνείτε και πάντοτε είδος έρθει μαζί την ανάπτυξη νέων γλωσσών όλοι μαζί. Προκειμένη περίπτωση. Η Apple εφηύρε Swift στο ελπίδες πιθανώς μειώνοντας Το μπαρ στο iPhone ανάπτυξη, γιατί την προηγούμενη language-- ονομάζεται Objective-C, η οποία θα μπορούσε επίσης να είναι στη λίστα μας here-- ήταν πολύ πιο απόκρυφες και πολύ πιο δύσκολο να τυλίξουν το μυαλό κάποιου γύρω. Και ο προγραμματισμός γίνεται όλο και αναμφισβήτητα πιο προσιτή και ευρύτερα που εγκρίθηκε από τους ανθρώπους, ακόμη και λιγότερο τεχνική, η goal-- είναι μια πολύ γενναία στόχο να προσπαθήσει να μειώσει το εμπόδιο για την είσοδο κάνοντας οι ίδιοι οι γλώσσες ευκολότερο να ξεκινήσετε με, αλλά όχι λιγότερο ισχυρό απαραίτητα. Και μια άλλη γλώσσα. Γιατί δεν ρίχνουμε μια ματιά σε κάτι σαν Python, το οποίο είναι πολύ της μόδας αυτές τις μέρες. Πύθων. Δείγμα του προγράμματος. Ας δούμε. "Hello World" γλώσσες. Ας το κάνουμε. "Γειά σου Κόσμε." Ας δούμε αν αυτό δίνει μας ένα ωραίο παράδειγμα. ΕΝΤΆΞΕΙ. Έτσι, αυτό είναι πραγματικά το είδος της διασκέδασης. Έτσι, αν ποτέ google "Hello World", η οποία συμβαίνει να είναι ένα από τα πρώτα προγράμματα που γράφτηκε ποτέ σε μια σύγχρονη γλώσσα, μόνο ως απόδειξη της έννοιας, μπορείτε να δείτε όλα τα είδη των υλοποιήσεων του παρόντος. Ορισμένες από αυτές τις γλώσσες Δεν έχω καν ακούσει. Αλλά μπορείτε να see-- ας πάμε στο Basic, η μία έμαθα χρόνια πριν, εν μέρει. Αυτό ήταν μια γλώσσα διασκεδαστικό, επειδή σας έπρεπε να, ως τον προγραμματιστή, αριθμός όλες τις γραμμές σας. Δεν σε αντίθεση με αυτό που ήμουν κάνει όταν έγραφα ψευδοκώδικας στο κίτρινο έγγραφο νωρίτερα για δυαδική αναζήτηση, για την αναζήτηση ενός τηλεφωνικού καταλόγου. Και έτσι, αν θέλετε να πάει σε άλλη γραμμή, θα πρέπει να πληκτρολογήσετε στην κυριολεξία, πηγαίνετε στο 10, ή πηγαίνετε στο 20. Και αν είστε γραπτώς γραμμές, τα σύμβασης ήταν να κάνουμε, αυτή είναι η γραμμή 10, αυτό είναι γραμμή 20, αυτό είναι γραμμή 30, 40, με τίποτα στο μεταξύ, δίνοντας στον εαυτό σας έτσι κάποια περιθώρια αν αποφασίσετε, περιμένετε ένα λεπτό, Θα έπρεπε να είχα προσθέσει μερικά περισσότερο κώδικα κάπου. Μπορείτε ακόμα είχε το είδος των εννέα πιθανότητες να αποσπάσουν ότι στο μεταξύ το πρόγραμμα σας πριν έπρεπε να το χέρι επαναρίθμηση τα πάντα. Έτσι, αυτό είναι το είδος του τι εννοώ όταν λέω ο κόσμος έχει καταλήξει με νέα χαρακτηριστικά. Κάπου στην πορεία κάποιος συνειδητοποίησα, αγόρι αυτό είναι ηλίθιο. Αυτό είναι ακριβώς η δημιουργία εργάζονται για τον προγραμματιστή. Έτσι, αυτός ή αυτή ακριβώς το είδος του χτίστηκε ένα νέο στρώμα στην κορυφή του ότι έτσι ώστε να μην χρειάζεται να ανησυχείτε σχετικά με το τι γραμμή κωδικούς σας είναι πραγματικά για. Έτσι, όταν θα μπορούσε να επιλέγετε μία γλώσσα ή την άλλη; Λοιπόν, ποια από αυτά γλώσσες τείνετε να ακούσουν για τη μεγαλύτερη το δικό σας κόσμο αυτές τις μέρες; Ας πέσει κάτω Objective-C πάρα πολύ. ΚΟΙΝΟ: C #. DAVID J. Malan: C #. Έτσι, επιτρέψτε μου χρώμα. Μήπως έχουμε άλλο χρώμα μας κάπου; Έτσι, C #. Και τι ξέρεις για C #; Οτιδήποτε έρχονται στο μυαλό; Κοινό: Είναι μια γλώσσα προγραμματισμού. DAVID J. Malan: Είναι μια γλώσσα προγραμματισμού. ΕΝΤΆΞΕΙ. Αυτό είναι αλήθεια. Έτσι, μιλάμε για C #. C # τείνει να χρησιμοποιείται σε περιβάλλοντα των Windows, οπότε αν είστε γραπτώς λογισμικό της Microsoft για Windows, C # χρησιμοποιείται πολύ συχνά, είτε πρόκειται για την επιφάνεια εργασίας του λογισμικού, ή ακόμη και το τηλέφωνο λογισμικού για τα τηλέφωνα των Windows, αν είχατε εκείνους, ή στο διαδίκτυο, ακόμη και πάρα πολύ. Και στην πραγματικότητα, ίσως Kareem προαναφερόμενο ASP νωρίτερα; Έτσι υπάρχει επίσης αυτά πράγματα που ονομάζεται πλαισίων, το οποίο μπορούμε να εισάγουμε κατ 'επέκταση. Πλαισίων, όπως ASP. Βάσεις για ενεργές σελίδες διακομιστή. Και αυτό είναι κώδικας και ένας τρόπος προγραμματισμού ότι γενικά καθιστά ευκολότερη να γράψει web-based εφαρμογές. Με άλλα λόγια, θα ήταν σούπερ, σούπερ ενοχλητικό να γράψει μια ιστοσελίδα στη γλώσσα C, ώστε να έχουμε δει στο παρελθόν, γιατί θα πρέπει να χρησιμοποιήσετε εκτύπωσης + F, θα πρέπει να χρησιμοποιήσετε τη λέξη-κλειδί "Κύριο" και τα άγκιστρα. Πολλοί απόκρυφες σύνταξη και την προσέγγιση για την εφαρμογή κάτι που είναι αρκετά πολύπλοκη. Μια ιστοσελίδα. Και έτσι άλλες γλώσσες έχουν εξελιχθεί για να κάνουν αυτό το είδος του πράγματος ευκολότερη. Και με τη σειρά τους, οι άνθρωποι έχουν καταλήξει με τα πλαίσια, το είδος των εργαλείων που μπορείτε να χρησιμοποιήσετε ότι καθιστούν ακόμα πιο εύκολο να γράψει ιστοσελίδες. Έτσι, για παράδειγμα, να κάνουν αυτό το πολύ πιο συγκεκριμένο, επιτρέψτε μου να ανοίξει μόνο ένα αρχείο κειμένου για μια στιγμή. Και ίσως να θυμηθούμε χθες ότι είπαμε κάτι όπως, αυτή είναι μια ιστοσελίδα. HTML. Κλείστε HTML. Επιτρέψτε μου να παραλείψετε το κεφάλι και ακριβώς κάνει το σώμα εδώ. Ας υποθέσουμε ότι ήθελα να γράψετε δεν "Hello World" αλλά «Hello David," όπου ο David είναι ο Το όνομά του το παρόν συνδεδεμένος χρήστης. Τι κάτι σαν ASP θα κάνει, ή JSP-- η οποία είναι εξυπηρετητή Java pages-- ή οποιοσδήποτε αριθμός άλλων πλαισίων είναι ότι δεν είναι γλώσσες, per se. Είναι ακριβώς όπως πρόσθετο λογισμικό που σας θα εγκαταστήσει στο περιβάλλον σας ότι ακριβώς κάνουν ευκολότερο να προγραμματίσετε. Έτσι, για παράδειγμα, αντί να πρέπει να κάνετε κάτι σαν "γεια, printf (" Δαβίδ ")" ή κάτι που είναι είδος συν-mingling-- το είδος του κώδικα που έχουμε δει before-- θα κάνουμε κάτι πολύ πιο απλό, όπως το "όνομα%". Και έτσι αυτά τα πλαίσια, όπως ASP-- και εγώ Δεν θυμάμαι αν έχω πάρει Η σύνταξη ακριβώς δεξιά για ASP. JSP είναι μια little-- είναι αυτό το δικαίωμα; Έτσι, με ASP, αυτό είναι είδος της ειδικής σύνταξης ότι ορισμένοι προγραμματιστές αποφάσισαν αυτό θα μπορούσε να βοηθήσει τους ανθρώπους έξω. Και μπορώ να εκφράσω πιο συνοπτικά κράτησης θέσης, για παράδειγμα. Όπως και να θέσει μια τιμή εδώ, όπου αυτό το όνομα η τιμή δεν είναι η Ν-Α-Μ-Ε, είναι κάποια τιμή που είναι αποθηκευμένη εκεί. Έτσι, το "όνομα", στο πλαίσιο αυτό, θα λέγαμε μια μεταβλητή. Άλγεβρα έχει μεταβλητές όπως x, και y, και z. Προγραμματιστές χρησιμοποιούν μεταβλητές που είναι περισσότερο περιγραφική από x, y, z και, τυπικά. Έτσι, το "όνομα" θα ήταν κυριολεκτικά να είναι κάποιο είδος του περιέκτη μνήμης για κάτι σαν D-Α-V-Ι-Α, για το όνομά μου, ή όποιος άλλος έχει συνδεθεί με την ιστοσελίδα. Και έτσι αυτό είναι το είδος της ευκολίας μπορείτε να πάρετε με ορισμένα περιβάλλοντα. Έτσι, C # και κάτι σαν ASP θα ήταν πολύ συνήθως να χρησιμοποιηθεί σε έναν κόσμο των Windows, είτε για την επιφάνεια εργασίας του λογισμικό ή web server, ειδικά εάν οι διακομιστές σας είναι με τη σειρά τους εκτελεί τα Microsoft Windows και Microsoft IIS-- ή Internet Information Server, αν πάρω το ακρωνύμιο right-- η οποία είναι web server της Microsoft. Έτσι, ό, τι σε άλλες γλώσσες είναι οι λαοί είναι εξοικειωμένοι με, ή έχετε ακούσει πιο συχνά απ 'ότι όχι? Κοινό: Ξέρω ότι η Python είναι το είδος της λαϊκής [δεν ακούγεται]. DAVID J. Malan: Πολύ δημοφιλές. Έτσι Python εδώ χρησιμοποιείται πολύ συχνά σε επιστημονικές εφαρμογές ή δεδομένα επιστήμη, όπου έχετε πολλά των δεδομένων που θέλετε να αναλύσετε και θέλετε να χρησιμοποιήσετε μια γλώσσα προγραμματισμού για αυτό. R θα μπορούσε συνήθως να χρησιμοποιηθεί για αυτό επίσης, σε ένα στατιστικό πλαίσιο. Αλλά Python έχει τόσα πολλά χαρακτηριστικά που χτίστηκε το. Τόσες πολλές πρόσθετες βιβλιοθήκες, όπως λένε. Οι βιβλιοθήκες είναι απλά συλλογές του κώδικα ότι οι άλλοι άνθρωποι έγραψε ότι μπορείτε να χρησιμοποιήσετε έτσι ώστε να Δεν χρειάζεται να ανακαλύψουμε εκ νέου αυτές τις ρόδες. Και έτσι η Python είναι πολύ συχνά που χρησιμοποιούνται σε εφαρμογές της επιστήμης των δεδομένων. Αλλά είναι επίσης πολύ συχνά που χρησιμοποιούνται σε εφαρμογές web. Μπορείτε να εφαρμόσουν μια δυναμική ιστοσελίδα που χρησιμοποιούν Python. Και με δυναμική ιστοσελίδα, εγώ σημαίνει όχι μόνο στατικό περιεχόμενο όπως δημιουργήσαμε χθες, από απλά σκληρά κωδικοποίησης στο κείμενο της Λατινικής και άλλα τέτοια πράγματα, αλλά μάλλον η ικανότητα για να συνδεθείτε, τη δυνατότητα να αγοράσουν κάτι, η δυνατότητα να ελέγξετε έξω με καροτσάκια σας, ή κάτι παρόμοιο. Όλα αυτά απαιτεί δυναμισμό και θα χρειάζονται κάποια γλώσσα σαν ένα από αυτά. Κοινό: Έτσι δεν Python έχει το δικό του επέκταση, παρόμοιο με ήθελε [δεν ακούγεται] DAVID J. Malan: Κάνει. Έτσι, στον κόσμο της Python, Django είναι ένα πολύ δημοφιλές πλαίσιο για την Python. WSGI είναι ένας άλλος μηχανισμός που είναι είδος διαφορετικό από αυτό αλλά παρόμοια στο πνεύμα. Είναι ένα add-on που σας επιτρέπει να εκτελέσει κώδικα Python σε ένα διακομιστή. Υπάρχει other-- ναι. Έτσι, αυτά θα καλέσουμε πλαισίων. Και αυτό είναι ένα μικρό κομμάτι της κατάχρησης. Αυτό είναι περισσότερο από μια τεχνολογία web server. Αλλά εμείς θα το κρατήσετε απλό και να θέσει ότι σε αυτήν τη στήλη, ωστόσο. ΕΝΤΆΞΕΙ. WSGI. WSGI. Μια άλλη thing-- και στην πραγματικότητα, ας μου να περάσω ότι με τη δική της στήλη, γιατί θα ήθελα να φωνάζω τον εαυτό μου για την θέση τους στο ίδιο κουβά. Ας το θέσουμε σε εξυπηρετητή χαρακτηριστικά, ας πούμε. Αυτό δεν είναι ένας τεχνικός όρος. Έτσι, εδώ θα μπορούσαμε να WSGI. Υπάρχει CGI, το οποίο είναι ένα παλαιότερο τεχνική για την εξυπηρέτηση μέχρι γλώσσες όπως η Perl ή PHP, ή κάποιους άλλους. Και πάλι, έχω αναφέρει αυτούς τους όρους όχι τόσο για το είδος τους εμβάπτω, αλλά έτσι ώστε αν δείτε να είναι κάτι μπορείτε απλά google για να διαβάσετε περισσότερα. Δεν υπάρχει πραγματικό χυμό σε μερικά από αυτά τα πράγματα. Αλλά ας πάμε πίσω στις γλώσσες. Μιλήσαμε για C #, Python. Τι άλλο θα μπορούσε να σας χρησιμοποιήσει για web προγραμματισμό αυτές τις μέρες; Ας επικεντρωθούμε σε αυτό ακόμα. Κοινό: PHP. DAVID J. Malan: PHP. Και ας επανέλθουμε σε αυτό. Έτσι η PHP χρησιμοποιείται πολύ συχνά. PHP τείνει να πάρει μια κακή ραπ. Ξεκίνησε ως εφαρμοστεί μια γλώσσα από τους λαούς που ίσως δεν ήταν κατ 'ανάγκην οι καλύτεροι σχεδιαστές γλώσσα. Και έτσι μπορείτε να διαβάσετε όλα τα είδη των άρθρα σε απευθείας σύνδεση για το πόσο κακό PHP είναι. Και δυστυχώς, αυτό είναι μια εκδήλωση, εν μέρει, μόνο οι θρησκευτικές συζητήσεις ότι ξεσπάσει ανάμεσα στους προγραμματιστές. Και αυτό είναι κάτι Αξίζει έχοντας κατά νου, από την πλευρά των επιχειρήσεων, ότι Είναι πολύ εύκολο για τους τεχνικούς ανθρώπους για να πάρετε όλοι εργάστηκαν με τους απόψεις για ορισμένα πράγματα. Και αυτό δεν σημαίνει κατ 'ανάγκην ότι ο ένας φωνάζει πιο δυνατά ή με το ισχυρότερο, πιο οργισμένο γνώμη είναι σωστή. Πολλές φορές, πραγματικά απλά δεν έχει σημασία. Και έτσι οι άνθρωποι είναι ακριβώς το επιχείρημα ανεξαρτήτως τις δικές τους προκαταλήψεις ή ζώνες άνεσης είναι. Και έτσι θα πρέπει να έχετε αυτό κατά νου όταν κάνετε μια απόφαση, ότι ακριβώς επειδή κάποιος λέει αυτή είναι η σωστή γλώσσα για η εργασία, που θα μπορούσε να είναι αλήθεια, αλλά επίσης ακριβώς μπορεί να είναι η σωστή γλώσσα μέσα στη δική τους ικανότητα ορίσετε ή ζώνη άνεσης. Το οποίο δεν είναι κακό, αλλά θα πρέπει να συνειδητοποιήσουμε ότι θα μπορούσε να υπάρχει κάποια πλαίσιο εκεί. Υπάρχουν κάποια αντικειμενικά λάθος δηλώσεις, όπως η C είναι η λάθος γλώσσα για να χρησιμοποιήσετε αυτές τις μέρες για την εφαρμογή ιστοσελίδες σχεδόν πάντα. Αλλά δεν είναι παράλογο να πούμε ότι κάποια από αυτά είναι λάθος ότι έχουμε κύκλο μέχρι στιγμής. PHP έχει περάσει από πολλές εκδόσεις. Έτσι γλώσσες τείνουν να έχουν έκδοση αριθμοί που συνδέονται με αυτά. PHP είναι μέχρι, νομίζω, έκδοση 7 τώρα, γι 'αυτό εδώ και αρκετό καιρό. Και ως γλώσσες πάρει νεότερα, συχνά παίρνουν νέα χαρακτηριστικά. Αλλά θα πρέπει να είναι προσεκτικές όσον αφορά αυτό το διότι εάν ο ιστοχώρος σας έχει υλοποιείται στην έκδοση 7 της PHP, αλλά προσπαθείτε να εκτελέσετε την ιστοσελίδα σας, ή ίσως έχετε αναθέσει σε εξωτερικούς συνεργάτες η ανάπτυξη του κώδικά σας σε κάποιον άλλο και ταχυδρομείου να σας ή να το στείλετε σε σας και λένε, εδώ, να θέσει αυτό για τον web server σας, αν τον web server σας είναι μερικά χρόνια outdated-- είτε πρόκειται για δικό σας server ή web host-- στην πραγματικότητα δεν μπορεί να τρέξει. Έτσι, αυτά είναι τα είδη πράγματα που κάποιος πρέπει να λαμβάνει υπόψη της κατά την αναβάθμιση ενός site ή την εφαρμογή για πρώτη φορά. Άκουσα το JavaScript νωρίτερα. Έτσι, το JavaScript είναι μια ενδιαφέρουσα ένας από το ότι είναι γενικά πλευρά του πελάτη, όπως θα δούμε μετά το διάλειμμα, η οποία σημαίνει ότι τρέχει στον browser του χρήστη. Αλλά μπορείτε επίσης να εκτελέσετε JavaScript αυτές τις μέρες χρησιμοποιώντας κάτι που ονομάζεται Node.js, όπου Node.js είναι ένας μηχανισμός για τρέξιμο κώδικα JavaScript πλευρά του server, αντί να χρησιμοποιούν Python, ή PHP, ή άλλες τέτοιες γλώσσες. JavaScript είναι ιδιαίτερα κατάλληλη για εφαρμογές συνομιλίας και σε πραγματικό χρόνο εφαρμογές, ενώ η PHP δεν είναι μια μεγάλη γλώσσα για την εφαρμογή κάτι σαν ένα διακομιστή συνομιλίας, όπου οι χρήστες μείνετε συνδεδεμένοι με το συνεχώς. PHP είναι περισσότερο από ένα μου επίσκεψη μία φορά, να πάρει πίσω ένα αποτέλεσμα, και, στη συνέχεια, κάντε κλικ στο σύνδεσμο άλλη μερικά δευτερόλεπτα ή λεπτά από τώρα. Λαμβάνοντας υπόψη ότι η Node.js και JavaScript μπορεί να είναι χρησιμοποιούνται περισσότερο για μόνιμες συνδέσεις. Άλλες γλώσσες που υποψιάζεστε χρησιμοποιούνται συνήθως για το web πράγματα; Κοινό: Θα jQuery είναι ένα πλαίσιο; DAVID J. Malan: Καλή ερώτηση. Ούτε. Καλώ jQuery βιβλιοθήκη, όπου και πάλι μια βιβλιοθήκη είναι απλώς ένα μάτσο κώδικα ότι κάποιος άλλος έχει γράψει ότι σε γενικές γραμμές λύνει κάποια προβλήματα που καθιστά, ελπίζω, πιο εύκολη για να μπορείτε να κάνετε τη δουλειά σας. Και επιτρέψτε μου να κάνω ένα παράδειγμα αυτό στο πλαίσιο του ιστού. Στο πλαίσιο του ιστού υπάρχει Αυτή η γλώσσα, το JavaScript, ότι θα δούμε αργότερα, σύμφωνα με την οποία θα θα μπορούσε να πει κάτι σαν this-- "Document.getElementById." Και τι έκανε καλώ χθες; Κατ 'αρχάς, νομίζω, ήταν το μοναδικό αναγνωριστικό που έδωσα σε ένα στοιχείο που έμοιαζε με αυτό. "P id =" πρώτη ">" και στη συνέχεια είχαμε όπως το "γεια σου", και τα λοιπά. Έτσι, αν έγραφα ένα πρόγραμμα Javascript για να με κάποιο τρόπο να χειριστούν, αλλάξετε τις ιστοσελίδες που έχουμε έπαιζαν με χθες, Θα ήθελα να χρησιμοποιήσετε αυτό το επισημασμένη γραμμή κώδικα για να πάρει αυτό το συγκεκριμένο απόσπασμα της HTML από τη σελίδα μου, ότι συγκεκριμένο κόμβο, όπως θα την αποκαλούμε. Ωστόσο, σε jQuery, αντί της γραφής αυτό, το οποίο είναι ωμό code-- το JavaScript ακριβώς έξω από το κουτί, αυτό είναι το πώς θα Αποστολή it-- θα αντί απλώς να πω, "#πρώτα." Αυτό είναι ισοδύναμο. Και έτσι βασίζεται μόνο σε αυτό το πολύ απόκρυφες παράδειγμα, τι ίσως είναι το επιχείρημα για τη χρήση jQuery; Γιατί ένας προγραμματιστής χρησιμοποιεί μια βιβλιοθήκη όπως jQuery, με βάση αυτή την απομονωμένη παράδειγμα, ίσως? Κοινό: Λιγότερο κώδικα. DAVID J. Malan: Ναι. Είναι λιγότερο κώδικα. Είναι απλά πιο γρήγορα για να πληκτρολογήσετε. Η αντίστιξη είναι ότι φαίνεται τρομακτικό. Δεν μπορείτε πραγματικά να το διαβάσετε αριστερά προς τα δεξιά. Στην πραγματικότητα, επειδή είναι ως επί το πλείστον στίξη τώρα, αντί των πραγματικών λέξεων, Ι το είδος μπορεί να συμπεράνει ότι "Document.getElementById" παίρνει ένα στοιχείο από το έγγραφο με ID του. Θα ήθελα πραγματικά να χρησιμοποιήσει καμία τέτοια μνημονικά από αυτό το πράγμα εδώ. Έτσι είναι ένας συμβιβασμός. Υπάρχει μια εκλέπτυνση που έρχεται συχνά με τη χρήση βιβλιοθηκών, ειδικά όπως jQuery. Αλλά η πραγματικότητα είναι jQuery έχει είδος της να γίνει ένα de facto πρότυπο, έτσι ώστε σχεδόν κανείς αυτά ημέρες που γράφει κώδικα JavaScript χρησιμοποιεί jQuery ή κάτι σαν αυτό, και γράφει πλέον μια τέτοια λεπτομερή εκφράσεις όπως αυτό, γιατί και πάλι, η ανθρωπότητα έχει μάθει, wow, αυτό ήταν είδος της μια χαμένη ευκαιρία για να κάνουν τη ζωή μας πιο εύκολη. Έτσι, οι άνθρωποι κάνουν τη ζωή τους ευκολότερη. Καλή ερώτηση. Άλλες γλώσσες για να εξετάσει. Θα ήθελα να πω στους αυτό κατάλογος Ruby είναι αρκετά δημοφιλής. Και έτσι στον κόσμο της Ruby, υπάρχει ένα πλαίσιο που ονομάζεται Rails, η οποία είναι πολύ δημοφιλής. Έτσι, Ruby on Rails είναι ένα που χρησιμοποιούνται συνήθως έκφραση. Επίσης, σε αυτόν τον κόσμο, επιτρέψτε μου κύκλος Java για το web πράγματα, όπου στον κόσμο της Java μπορεί να έχετε JSP, ή Java Servlets, η οποία είναι μια κοινή τεχνολογία. Και αυτό είναι μόνο και πάλι τρόποι χρήσης ότι η γλώσσα σε ένα περιβάλλον server. Λοιπόν, τι σημαίνει αυτό; Αν έχετε μια φυσική server, θα κάνατε στην κυριολεξία κατεβάστε το λογισμικό του web server και να το εγκαταστήσετε με τέτοιο τρόπο, ότι έχετε υποστήριξη για ένα από τα αυτά τα πλαίσια, με την οποία θα θα μπορούσε, με τη σειρά, χρησιμοποιήστε μία ή περισσότερες από αυτές τις γλώσσες. Και στην πραγματικότητα, αν εγγραφείτε σαν ένα web υποδοχής ή μερικά από το σύννεφο υπηρεσίες μιλήσαμε για το χθες, συχνά τα πράγματα απλά έρχεται με το διαμόρφωση του μηχανήματος για σας. Δεν χρειάζεται να θέσει αυτό επάνω με το χέρι. Αλλά αν το έκανε, αυτό είναι όπου ο ρόλος του διαχειριστή του συστήματος, να το πω έτσι, μπαίνει στο παιχνίδι. Αυτός ή αυτή θα κάνει πραγματικά αυτό το είδος πράγματα για σας, ή το λεγόμενο webmaster Συχνά θα κάνει αυτό για σας. Εντάξει. Οποιεσδήποτε ερωτήσεις σχετικά με μερικά από αυτά εδώ; Ή οποιεσδήποτε ευκαιρίες σε όλα να ρωτήσω σχετικά με τις γλώσσες; Πλαισίων; Στη συνέχεια, επιτρέψτε μου να εισαγάγει μόνο ένα άλλο βιβλιοθήκη αυτό είναι επίσης πολύ συχνές αυτές τις μέρες. Αυτός ο κατάλογος θα μπορούσε να συνεχιστεί απείρως. Και αυτή η βιβλιοθήκη είναι το είδος της αρχίζουν να πέφτουν σε δυσμένεια. Ήταν γύρω. Θα ήταν δημοφιλές από Twitter για κάποιο χρονικό διάστημα. Και τώρα πολλές ιστοσελίδες, πολλά προγραμματιστές να το χρησιμοποιήσετε. Αλλά τα νέα πράγματα έρχονται έξω και έρχονται μαζί. Αλλά επιτρέψτε μου να σας δώσω μια αίσθηση του τι σημαίνει να χρησιμοποιήσετε μια βιβλιοθήκη. Έτσι και πάλι, το JavaScript είναι μια πολύ δημοφιλής γλώσσα. CSS ή Cascading Style Sheets, μιλήσαμε για το χθες. Αυτό, επίσης, είναι πανταχού παρούσα. Κανείς δεν κάνει μια ιστοσελίδα σήμερα χωρίς τη χρήση HTML και CSS ελάχιστα. Αλλά δεν είναι πάντα εύκολο να κάνει ορισμένα πράγματα. Και έτσι επιτρέψτε μου να πάω να getbootstrap.com. Ωχ. Αυτό δεν είναι το πώς θα σημάνει. Getbootstrap.com, η οποία δεν πρόκειται να με οδηγήσει στη σελίδα προορισμού για αυτήν τη βιβλιοθήκη. Έτσι απλόχερα καλούν οι ίδιοι ένα πλαίσιο, το οποίο είναι το είδος του είδους δίκαιη, αλλά θα ήθελα να την αποκαλούν ακόμα περισσότερο από μια βιβλιοθήκη από ένα πλαίσιο. Αλλά αυτά είναι μόνο αμφισβητήσιμο σημασιολογία. Επιτρέψτε μου να πάω στην καρτέλα CSS τους και επιτρέψτε μου να πάω σε κάτι σαν αυτό. Έτσι θυμηθούμε τι φαινόταν μορφές μας σαν χθες για Cloud9; Ήταν πολύ άσχημο. Παλιά κουμπιά σχολείο. Νομίζω ότι το κουμπί ήταν γκρι με αθέτηση. Και όλα ήταν πραγματικά διαμορφωθεί αρκετά messily. Έτσι, εάν θέλετε φόρμες web σας για να δείτε λίγο nicer-- επιτρέψτε μου να μεγεθύνετε εδώ. Και με καλύτερο μπορώ πραγματικά ακριβώς σημαίνουν πολύ nitpicky αισθητική. Έτσι, παρατηρήστε πώς το κιβώτιο ηλεκτρονικού ταχυδρομείου έχει εκεί στρογγυλεμένο ορθογώνιο γωνίες σε αυτό. Έτσι είναι λίγο καθαρότερο εκεί. Παρατηρήστε ότι η λέξη e-mail υπάρχει μέχρι να αρχίσετε να πληκτρολογείτε και στη συνέχεια θα πάει μακριά. Έτσι, αυτό είναι ένα ωραίο χαρακτηριστικό. Παρατηρήστε πως το πράγμα είναι το είδος της λαμπερό όμορφα, που μερικά από αυτό που αποκτήσετε δωρεάν από τον browser σας, αλλά μερικά από αυτό είναι επίσης βιβλιοθήκες, κώδικα ότι οι άλλοι άνθρωποι έχουν γράψει ότι έχετε αυτό το δώσει. Κάτι σαν αυτό μου δίνει τον κωδικό μου. Αυτό το κουμπί είναι λίγο πιο σέξι από το αθέτηση. Πολύ της μόδας τώρα. Από τότε iOS 7 ή έτσι, η κόσμος έχει πάρει πολύ επίπεδη, ενώ τον κόσμο πριν είχε πολλά σκιές, τα μέρη του προβληματισμού σχετικά με τα εικονίδια. Μοιάζει πολύ στον κόσμο ρούχα, υπάρχει τάσεις της μόδας που έρχονται και παρέρχονται. Τώρα όλα είναι επίπεδη στο τηλέφωνό σας. Στην πραγματικότητα, τα κουμπιά για σας iPhone είναι τώρα μόλις μπλε συνδέσμους. Δεν υπάρχει συχνά ακόμα και κυκλική κουμπιά. Έτσι, αυτά είναι απλά τα πράγματα που πηγαίνουν μέσα και έξω της μόδας, και έτσι αυτό είναι το πώς μπορείτε να κάνει μια πιο μοντέρνα αναζητούν μορφή web. Κουμπιά. Έτσι Bootstrap έχει πολλά όμορφα κουμπιά. Έτσι, εάν θέλετε μπλε κουμπιά, πράσινα κουμπιά, μπλε, πορτοκαλί, κόκκινο. Bootstrap καθιστά ευκολότερη να κάνει αυτά τα πράγματα. Αυτά είναι τα είδη των πραγμάτων ότι θα μπορούσατε απολύτως έχουν κάνει χθες με CSS και με HTML, αλλά είναι απλά ένας πόνος στο λαιμό. Και έτσι αντ 'αυτού, τι Bootstrap θα έχετε να κάνετε είναι κάτι σαν αυτό. Αν θέλετε ένα button-- αποδεικνύεται αυτό είναι μια ετικέτα HTML δεν χρησιμοποιήσαμε yesterday-- και θέλετε να δείτε σαν αυτό το πράσινο κουμπί, μπορείτε κυριολεκτικά να δώσει μια τάξη, που κάναμε μιλήσουμε για το χθες, της «btn btn-επιτυχία." Γιατί αυτά τα λόγια; Twitter, οι συντάκτες της Bootstrap, ήρθε με αυτά τα λόγια. Θα μπορούσαν να έχουν καλέσει τους ό, τι θέλουν. Αλλά τι παίρνετε τώρα είναι κάποιος άλλος στο Twitter, σε αυτή την περίπτωση, έχει βρει τον τρόπο κάνετε ένα κουμπί φαίνονται ωραία και καθαρή και πράσινη. Μπορούν πακετάρει αυτή τη λειτουργικότητα σε μια κατηγορία CSS, ονομάζεται "btn" και "btn-επιτυχία," έτσι ώστε ο καθένας μας μπορεί να τώρα το χρησιμοποιούν χωρίς καν να σκεφτόμαστε το. Έτσι, έχουν αντληθεί μακριά η έννοια του πράσινο κουμπί έτσι δεν έχουμε να νοιάζονται για την εφαρμογή της τον εαυτό μας. Μπορούμε πραγματικά να επικεντρωθεί στην εφαρμογή τα πράγματα που μας ενδιαφέρουν. Αν μετακινηθείτε προς τα κάτω εδώ. Μηνύματα σφάλματος στην οθόνη. Μερικές φορές θέλετε ένα μικρό μήνυμα να εμφανίζεται στην κορυφή του προγράμματος περιήγησης. Οποιοσδήποτε από εμάς θα μπορούσε να κάνει αυτό με κάποια προσπάθεια, μετά τη χθεσινή του μαθήματος, αλλά γιατί θα σας ενοχλεί; Αυτό είναι μια τέτοια πληκτικός αισθητική λεπτομέρεια. Ας σταθεί στο ώμους του Bootstrap και να τους αφήσουμε να μας δώσει τα πράγματα όπως αυτό, όπου κυριολεκτικά, να πάρει ένα κόκκινο κουτί, Απλά πρέπει να κάνετε μια παράγραφο ετικέτα με μια τάξη τον αριθμό τους λυπάμαι. "BG-κινδύνου» θα μας δώσει αυτό το κοκκινωπό κουτί αντ 'αυτού. Τώρα, ας πάμε να το πιο ενδιαφέροντα πράγματα. Αν πάω πίσω στην κορυφή αυτή τη σελίδα και να πάει να Components, τώρα ο κόσμος γίνεται πιο ενδιαφέρουσα. Για παράδειγμα, πολύ συχνή είναι drop down μενού σαν αυτό. Αυτό θα ήταν μια απόλυτη πόνος για την εφαρμογή. Και δεν ήταν ότι πολύ καιρό πριν ότι είμαστε προγραμματιστές θα πρέπει να εφαρμόσουν αυτά τα είδη των μενού από το μηδέν. Αλλά είναι ένα τέτοιο κοινό πρότυπο ότι οι βιβλιοθήκες όπως Bootstrap απλά σας δίνουν τη δυνατότητα να κάνει μια drop down μενού πολύ, πολύ πιο εύκολα. Δεν υπάρχει κανένας τρόπος να το κάνουμε, αλλά αν διαβάσετε την τεκμηρίωση Θα δείτε ότι, εντάξει, εγώ θα πρέπει να χρησιμοποιούν αυτό το HTML εάν θέλω ένα drop down μενού ότι συμπεριφέρεται έτσι. Ομοίως, ας πάει στο κουμπί πέσει κάτω. Έτσι, αυτό είναι ακόμη πιο φανταχτερά. Αν θέλω αυτό να μοιάζει με ένα κουμπί αλλά αυτό το μικρό τρίγωνο σημαίνει Θα πρέπει να κάνετε κλικ σε αυτό και να πάρει αυτό το μενού, αυτό Είναι χρησιμοποιώντας μια γλώσσα που ονομάζεται JavaScript. Και όλοι θα μπορούσαμε να εφαρμόσουν Αυτό το JavaScript. Αλλά και πάλι, αυτό είναι ένας τροχός δεν θέλετε να ανακαλύψουμε εκ νέου. Απλά θέλετε να απογειωθεί η βιβλιοθήκη ράφι για αυτό. Ας πάμε σε κάτι όπως προχωρήσει μπαρ. Έτσι, κάτι τέτοιο είναι είδος δροσερό. Αν έχετε δει ποτέ ένα προόδου μπαρ κινείται κατά μήκος της οθόνης, εκτελεστικές ότι συχνά είναι απλά ένα περιστρεφόμενο εικονίδιο. Στην πραγματικότητα, όπως ακριβώς μια άκρη, ας να πάω να Ajax-- τι είναι αυτό; Ajax πληροφορίες; Ωχ. Ajaxinfo. Επιτρέψτε μου να θυμάστε τη διεύθυνση. Εκεί πάμε. Έτσι, αν έχετε δει ποτέ κάποια κινούμενα σχέδια ενώ η σελίδα φορτώνει, ή σκέψης, ή την αποθήκευση, ή δημιουργώντας κάτι, μπορεί να δει όπως κινούμενες εικόνες όπως αυτές. Έτσι, ας ρίξουμε μια ματιά σε κάτι όπως αυτή εδώ, και ας επιλέξετε ένα χρώμα προσκηνίου της πράσινο, το οποίο αισθάνεται είδος φιλικό της. Μπορώ να κάνετε κλικ σε αυτό; Ελάτε ένα. ΕΝΤΆΞΕΙ. Θα πήγαινε με το κόκκινο επειδή αυτό είναι αυτό που παίρνετε. Έτσι, εδώ έχουμε. Έτσι, αν έχετε δει ποτέ αυτό σε μια οθόνη, σύμφωνα με την οποία ξαφνικά εμφανίζεται και, στη συνέχεια, ξαφνικά εξαφανίζεται, τι είναι αυτό που είναι εκτελεστικά αυτό; Λοιπόν, αυτό είναι μόνο ένα GIF. G-Ι-F. Και αυτή είναι μια κινούμενη αρχείο, το οποίο σημαίνει απλά Είναι σαν ένα παλιό σχολείο κόμικ. Υπάρχει μόνο μια δέσμη των διαφορετικών κουφώματα που πρόκειται [τραύλισμα] και μόλις επανάληψη. Και αυτό είναι δημιουργία του ψευδαίσθηση της κίνησης. Έτσι μόλις μια σελίδα γίνεται φόρτωση ή να κάνει κάτι, Τι κάνει ένας προγραμματιστής; Καλά, αυτός ή αυτή κρύβει μόνο αυτή την εικόνα. Έτσι, όλα μια γραμμή προόδου είναι είναι το είδος του αρέσει μια ταινία που παρακολουθείτε. Είσαι το είδος του να αγνοεί το γεγονός ότι δεν είναι πραγματικά κάνει τίποτα, είναι ακριβώς κινείται. Και στη συνέχεια, όταν έχει κάνει πρόοδο, απλά να το κρύψει ή να το απενεργοποιήσετε. Και αυτό είναι όλη η μαγεία ότι συμβαίνει εκεί. Bootstrap σας δίνει κάτι λίγο πιό φανταχτερό, σύμφωνα με την οποία μπορείτε πραγματικά δείτε ένα ποσοστό που πηγαίνει, αλλά επίσης είναι ακριβώς το είδος από ένα απλό animation. Ας δούμε κάποια τελικό πιο περίπλοκη παραδείγματα εδώ. Κάτι σαν μια τροπική. Ξέρει κανείς τι μοντάλ είναι; Ένα παράθυρο τροπική είναι γενικά μία που υποτίθεται να αναλάβει τον έλεγχο των νέων στοιχείων και να σας αποτρέψει από το να κάνει οτιδήποτε άλλο. Είναι το είδος των δυνάμεων του χρήστη προσοχή στη μέση της οθόνης, κλείδωμα τους έξω, τυπικά, από οτιδήποτε άλλο. Έτσι, αν έχω ξεκινήσει αυτό το demo, το οθόνη θα γίνει γενικά γκρι. Λοιπόν, πώς θα κάνουμε το γκρι; Λοιπόν, έχουμε πιθανώς ακριβώς άλλαξε το χρώμα του φόντου όπως κάναμε χθες ή κατι τετοιο. Ίσως είναι μια επικάλυψη ότι η ημι-διαφανές. Και τώρα παρατηρήσετε μπορείτε να κάνετε φανταχτερά πράγματα όπως αυτό. Έτσι, αν ποτέ κλικ σε ένα κουμπί και θέλουν ένα μικρό pop έξω για να εμφανιστεί, μπορείς να τα καταφέρεις. Και έτσι ποιος νοιάζεται για all-- ναι; Κοινό: Έτσι, με Bootstrap, για να το πάρει ενσωματωθεί, είναι τόσο απλό όπως όπως χθες κάναμε τη σελίδα CSS στυλ; DAVID J. Malan: Πράγματι. Πραγματικά καλή ερώτηση. Επιτρέψτε μου να πάω για να ξεκινήσετε. Και ναι. Το μόνο που έχετε να κάνετε για να χρήση Bootstrap είναι ουσιαστικά αντιγραφή και να επικολλήσετε αυτές τις τρεις μεγάλες γραμμές κώδικα στην κορυφή του δικού σας web page-- ο επικεφαλής της page-- σας και είστε οργανωθεί και να λειτουργήσει. Και υπάρχουν διάφοροι τρόποι για να γίνει αυτό, αλλά αυτό θα ήταν η απλούστερη. Έτσι τι είναι χρήσιμο για όλα αυτά; Λοιπόν, αν δεν είστε τόσο πολύ ο εκτελεστής μιας ιστοσελίδας αλλά εσείς προσπαθείτε να το σχεδιασμό, ή θέλετε να παρέχετε κάποιον με διαγράμματα πλαίσιο σύρμα, να το πω έτσι, ή παραδόσεις μόνο καλλιτέχνη για το τι που θέλετε να κάνετε, εγώ, σε αυτό μέρα, θα πάει συχνά σε ένα site όπως Bootstrap, όπου αν θέλουν να εφαρμόσουν something-- όπως πρόσφατα στην πανεπιστημιούπολη θελήσαμε να εφαρμόσουν ένα εργαλείο web-based για την πλοήγηση Κατάλογος πορεία του Χάρβαρντ, καθιστώντας ευκολότερο για τους φοιτητές για να περιηγηθείτε μέσα από τα μαθήματα και προσθέτουν μαθήματα για να λίστα με τα ψώνια, να το πω έτσι, με το είδος της αποφασίσετε τι που ήθελαν να αναλάβουν. Προσπαθούσα να φανταστώ για τον εαυτό μου, τι συστατικά θα θέλουμε να χρησιμοποιήσουμε για να χτίσει αυτό; Ποια θα ήταν η διεπαφή χρήστη είναι σαν; Και ακριβώς κοιτάζοντας μέσα από ένα site όπως αυτό ή άλλες τέτοιες ιστοσελίδες της βιβλιοθήκης, μπορείτε να αποκτήσετε την έμπνευση, γιατί wow, Μπορώ να χρησιμοποιήσω αυτό το widget, και αυτό το widget, και αυτό το widget. Και τότε πραγματικά ό, τι ο προγραμματιστής ξεκινά να κάνουμε, ειδικά σε αυτές τις ημέρες σε αυτό πιο σύγχρονο κόσμο του web προγραμματισμό, είναι ο προγραμματισμός είναι ολοένα και πιο σχετικά με την καλωδίωση πράγματα μαζί. Ταξινόμηση λήψη της από το ράφι, αυτό από το ράφι, αυτό από το ράφι, και θα είναι η έξυπνη ένα για τη σύνδεση όλων αυτών των στιγμών, αλλά τελικά χτίσει κάτι από πάλι στέκεται στους ώμους των άλλων, έτσι ώστε να μην περάσουν ένα μήνα εφαρμογή ένα ηλίθιο drop down μενού, το οποίο είναι πραγματικά δύσκολο να το κάνετε αν θέλετε να εργαστείτε στο Chrome, και IE και Firefox, καθώς και κάθε σειρά άλλων browsers. Αυτός είναι ο λόγος που υπάρχει αυτή η πλούσια λογισμικό εμπορικών και ανοικτού κώδικα της βιομηχανίας, καθώς και. Κοινό: Έτσι δεν Bootstrap λάβετε ενημέρωση και θα πρέπει στη συνέχεια να ενημερώσετε τους συνδέσμους σας; DAVID J. Malan: Κάνει. Λοιπόν, ναι, το κάνει. Bootstrap είναι σήμερα σε έκδοση 3.3.6. Και γενικά ό, τι θα do-- αυτό είναι πραγματικά αξίζει να αναφερθεί. Υπάρχει ό, τι είναι γενικά γνωστή ως σημασιολογικό εκδόσεων σύστημα στον κόσμο. Δεν έχει ο καθένας το κάνει αυτό. Αλλά αν έχετε δει τους αριθμούς έκδοσης που είναι της μορφής x.y.z-- Έτσι, για παράδειγμα, η πρώτη εκδοχή από ένα πρόγραμμα μπορεί να είναι 1.0.0. Ή αν είναι πολύ, πολύ βήτα, ή ακόμη άλφα κατάσταση, πράγμα που σημαίνει χρήση με δική σας ευθύνη, δεν είναι πραγματικά έτοιμο για prime time, ίσως ακόμη και να αρχίσετε 0.0.1 ή κάποιο τέτοιο χαρακτηρισμό. Αλλά αν το λογισμικό ξεκινά έκδοση 1,0, ή ισοδύναμα 1.0.0, συνήθως, τι είναι κοινή αυτά days-- αν και δεν είναι omnipresent-- εάν μια εταιρεία ή ένας μεμονωμένες διορθώσεις προγραμματιστή κάποια bug σε κάποιο κομμάτι του λογισμικού που πραγματικά ήταν ένα bug, του οποίου η διόρθωση δεν πρέπει να Σας αντίκτυπο σε all-- δεν αλλάζει η συμπεριφορά του προγράμματος, απλώς διορθώνει κάτι ότι δεν δούλευε properly-- θα κάνατε συνήθως ενημερώσετε την τιμή z εκεί. Πράγμα που σημαίνει κάποιος σαν Kareem θα μπορούσε απλά να πάτε στην ιστοσελίδα του, τυφλά αλλάξετε τον αριθμό έκδοσης από 1.0.0 έως 1.0.1, εκτός από αυτό, το πλοίο, και στη θεωρία, δεν πρέπει να ανησυχούν ότι αυτός είναι απλά σπασμένα ιστοσελίδα του, λόγω της κάποια έλλειψη λειτουργικότητας, επειδή κάτι άλλο έσπασε. Εν τω μεταξύ, αν η προγραμματιστή ή κάποια εταιρία ήταν να κάνει κάποια σημαντική αλλαγή που προσθέτει τη λειτουργικότητα, Θα ήθελα να μας ενημερώσετε για την 1.1.0 επειδή είμαι πραγματικά αλλαγή της συμπεριφοράς της βιβλιοθήκης. Σας δίνω ίσως περισσότερη λειτουργικότητα. Τέλος, αν ήμουν πραγματικά αλλάξει ριζικά το λογισμικό έτσι ώστε πολύ ότι θα σπάσει πολλά ιστοσελίδες χρήστες ή εφαρμογές, τότε είμαι υποχρεωμένος, σε αυτό το μοντέλο, για να αναβαθμίσει το μεγαλύτερο αριθμό έκδοσης πάρα πολύ, το οποίο είναι ένα σπάσιμο αλλαγή. Με άλλα λόγια, θα μπορούσε να έχει διακοπείσας υποστήριξη για τα σταγόνα down μενού. Έτσι, εάν κάνετε αναβάθμιση σε 2.0, το μισό ιστοσελίδα σας μπορεί να σταματήσει να λειτουργεί. Και αυτό είναι το είδος του σήματος στην κοινότητα ως προς το τι είναι που εμπλέκονται στη λήψη μια αναβάθμιση. Μια καλή ευκαιρία για να αυξήσει. Άλλες ερωτήσεις; Εντάξει. Λοιπόν ας ρίξουμε μια ματιά σε ένα τελικό θέμα σε αυτό το τμήμα του προγραμματισμού στοίβες τεχνολογίας, δηλαδή που σχετίζονται με τα κινητά. Έτσι, στον κόσμο των κινητών τηλεφώνων σήμερα Σας have-- και iPads, και οι επιφάνειες, και όλα αυτά τα είδη της devices-- έχετε πολλές επιλογές όταν πρόκειται για την εφαρμογή μια εφαρμογή ή μια ιστοσελίδα για κινητές συσκευές πελάτη σας. Έτσι απλά για να δηλώσει το προφανές, ίσως αυτές τις μέρες, ποιες είναι οι πλατφόρμες για αναπτύξει στο χώρο των κινητών; Ποιες συσκευές μπορεί να θέλετε να υποστηρίξει με την εφαρμογή ή την ιστοσελίδα σας; ΚΟΙΝΟ: Η Apple. DAVID J. Malan: OK. Έτσι, οι συσκευές της Apple. Έτσι, αυτό σημαίνει ότι το iPhone, και ότι σημαίνει iPad, και ίσως ακόμη και το iPod. Τι άλλο? Olivier; Κοινό: Android. DAVID J. Malan: Android. ΕΝΤΆΞΕΙ. Έτσι, το Android τηλέφωνα, Android δισκία, η αγορά Android Είναι ακόμα πιό ακατάστατο because-- και ακόμη και η Apple γίνεται βρώμικο. Εκτιμώντας ότι μια φορά κι έναν καιρό iPhone ήταν ένα ορισμένο μέγεθος, και iPad ήταν ένα ορισμένο μέγεθος, και το iPod ήταν ένα ορισμένο μέγεθος, τώρα έχουμε iPad Minis, και το λεπτό αυτά, και το iPhone 6 Plus και 6. Είναι όλο ένα χάος. Είναι όλο τον κόσμο του Android. Και το λέω αυτό με το είδος του τροχαίου τα μάτια μου, γιατί από ένα προγραμματιστή προοπτική, είναι μια πόνος στο λαιμό, όταν δεν έχετε Steve Jobs » όραμα του απόλυτου ελέγχου πάνω από όλες αυτές τις προδιαγραφές. Apple εξακολουθεί να το κάνει επειδή είναι αυτοί την κατασκευή του υλικού. Αλλά είναι ένα ωραίο πράγμα, αν Είμαι ένας προγραμματιστής λογισμικού, απλά να ξέρετε ότι μου iPhone θα είναι πάντα για να είναι αυτό το μεγάλο, διότι αυτό σημαίνει ότι πάντα ξέρω πόσο οθόνη ακινήτων που έχω. Έτσι, αν θέλω να βάλω ένα εικονίδιο στην επάνω αριστερή γωνία, πρόκειται να είναι στην ίδια ακριβώς τοποθετείτε τη συσκευή κάθε μεμονωμένο πελάτη. Αλλά στον κόσμο του iPhone 6s και το iPhone 6 Pluses και στον κόσμο του Android τηλέφωνα, είναι σε όλο τον χάρτη. Και έτσι καθιστά πιο δύσκολο για το πρόγραμμα πράγματα, ειδικά διεπαφές χρήστη, γιατί τώρα θα πρέπει να ξεκινήσετε την οργάνωση διεπαφές χρήστη σας σχετικά, δεν απολύτως. Και το ίδιο ήταν αληθές για προγράμματα περιήγησης, και επιτραπέζιους υπολογιστές, φορητούς υπολογιστές και για τα επόμενα χρόνια γιατί, φυσικά, έχουν διαφορετικά μεγέθη οθόνης. Τι άλλο? Μπορεί να έχετε επιφάνειες, όπως από τη Microsoft. Μπορεί να have-- ΚΟΙΝΟ: Windows τηλέφωνο. DAVID J. Malan: Τι είναι αυτό; ΚΟΙΝΟ: Windows τηλέφωνο. DAVID J. Malan: Ναι. Έτσι τηλέφωνα παράθυρα μπορούν ακόμα να βρεθούν. Είδος είδος BlackBerrys, αλλά συνεχίζουμε να προσπαθούμε. Και τότε τσαμπιά από άλλες συσκευές. Έτσι, για το μεγαλύτερο μέρος, ας λένε αυτά είναι εκείνα να νοιάζονται για αυτή τη στιγμή. Σίγουρα τα πράγματα της Apple, Σίγουρα τα πράγματα Android, και μεταξύ των Windows, όπως δισκία επιφάνεια φαίνεται να κερδίζει έδαφος αρκετά καλά. Και έτσι μεταξύ αυτών των συσκευών, αν θέλετε να κυλήσει έξω, ας πούμε, ένα κινητό παρουσία για σας Η εταιρεία, ποια είδη των αποφάσεων σχεδιασμού έχετε να κάνετε; Λοιπόν, έχουμε ήδη πει στον κόσμο της Apple, υπάρχει τουλάχιστον δύο γλώσσες που συνήθως χρησιμοποιούνται. Ένα ονομαζόταν τι; Κοινό: Objective-C. DAVID J. Malan: Ναι. Έτσι, Objective-C, που είναι το παλαιότερο. Είναι επίσης η γλώσσα που πολλοί Mac Οι εφαρμογές ακόμα γραμμένο σε. Στη συνέχεια, το άλλο νεότερο ήταν; Κοινό: Swift. DAVID J. Malan: Swift. Και αυτά είναι το είδος της δύο να ξέρετε για να εντυπωσιάσει τους λαούς. Στη συνέχεια, στον κόσμο του Android, Ποια γλώσσα Android χρησιμοποιήσω; ΚΟΙΝΟ: C #; Κοινό: Java. DAVID J. Malan: Java είναι η γλώσσα του "du jour". Στον κόσμο των Windows, βεβαιωθείτε ότι, εμείς θα πούμε C # σε αυτή την περίπτωση. Έτσι, ήδη αυτό είναι το είδος της ενοχλητικό, γιατί αυτό είναι το πακέτο για μια επιχείρηση ιδιοκτήτη ή κάποιον που απλά θέλει να κυλήσει ένα κινητό παρουσία; Όπως, γαμώτο; Όπως, αν θέλω να υποστηρίξει μια αρκετά ευρεία βάση χρηστών, Έχω να γράψω, όπως φαίνεται, τρεις ξεχωριστές εφαρμογές. Ένα σε μία από αυτές τις γλώσσες, ένα στην Ιάβα, ένα σε C #. Και ακόμα κι αν θέλω τη λειτουργικότητα να είναι πανομοιότυπα, δεν έχει σημασία. Θα πρέπει ακόμη να χρησιμοποιούν διαφορετικά γλώσσες γιατί η Apple και η Microsoft, και η Google όλη την υποστήριξή διαφορετικά περιβάλλοντα. Και αυτό ήταν μια πρόκληση για τα επόμενα χρόνια. Πίσω στην ημέρα, όταν οι άνθρωποι που χρησιμοποιούνται για να αγοράσει το λογισμικό σε ένα κατάστημα ηλεκτρονικών υπολογιστών στο συρρικνωθεί τυλιγμένο κουτιά, θα πρέπει είτε να φθάσει για το ράφι Mac, ή for-- ίσως αυτό το πολύ μικρό Mac shelf-- ή το μεγαλύτερο ράφι των Windows και να αγοράσετε κάποιο λογισμικό. Και πολύ συχνά, δεν υπήρχε καν τίποτα για σένα στο ράφι Mac. Γιατί; Λοιπόν, οι εταιρείες αποφάσισαν εάν το 90% του κόσμου, το 95% του παγκόσμιου έχει PCs, γιατί ενοχλεί ακόμα εφαρμογή πράγματα για Mac OS; Ως aside-- συνολικά digression-- γιατί είναι ότι το Mac φαίνεται τόσο αδιαπέραστη από ιούς, και τα σκουλήκια, και απειλές κατά της ασφάλειας; Είναι η Apple καλύτερα σε αυτό; Καλύτερη στο να κρατήσει τους υπολογιστές ασφαλής; Κοινό: Μικρότερες κοινό; DAVID J. Malan: Αυτό είναι ίσως το μεγαλύτερο κομμάτι σε αυτό. Έτσι, οι πολλοί χρήστες των Macs έχουν μακρά ισχυρίστηκε, OH, χρησιμοποιείτε έναν υπολογιστή Mac, θα είστε ανοσία σε ιούς, και σκουλήκια, και όλα αυτά τα πράγματα που έχουν καιρό μαστίζεται υπολογιστές. Αυτό μπορεί να συμβαίνει επειδή η Apple έχει καλύτερη προγραμματιστές και γράφουν καλύτερα του λογισμικού, ή η λειτουργικό σύστημα ήταν καλύτερα σχεδιασμένη. Ίσως, αλλά πιθανώς όχι. Είναι πιθανόν ότι, όταν είστε ένα 12-year-old, ή 30 κάτι είδος κάθεται στο σπίτι εγγράφως κακόβουλο λογισμικό να αναλάβει ο κόσμος, θα πάμε για να πάει μετά το πολύ μεγαλύτερο κοινό-στόχο. Το 95% του κόσμου που θα μπορούσαν να να εκτελεί τα Windows ή κάποιο παραλλαγές αυτών. Έτσι, υπάρχει ένα μικρό κομμάτι από τις δύο πλευρές. Αλλά προς τιμήν τους, Μήλο, εξ όσων γνωρίζω, δεν έχει πραγματικά κράχτης οι ίδιοι ως πιο ασφαλής, δεδομένου ότι είστε απλά καλώντας το δράμα, αν που κάνει το αίτημα αυτό, θα ήθελα να πιστεύω. Εντάξει. Χωρίς να πάρει πάρα πολύ μακριά κάτω ότι, πώς λύνουμε αυτό; Έχετε να αγοράσετε ή έχετε να πληρώσουν τρεις διαφορετικούς ανθρώπους να αναπτύξουν τις εφαρμογές σας; Έχετε πάρει το ένα πάνω στο άλλο; Τι θα πρέπει να καθοδηγούν σας Αναφέρομαι νομίζετε; Kareem; Όχι. Κάποιος άλλος. Κοινό: Μόλις έρθει με το υλικό. DAVID J. Malan: Ελάτε με το υλικό; Τι εννοείς? Κοινό: Για το περιβάλλο. [ΜΗ ΑΚΟΥΣΤΌΣ] DAVID J. Malan: Λοιπόν αυτό είναι αλήθεια. Αλλά οι πελάτες σας, Εν τω μεταξύ, μπορεί να έχουν iPhones, θα μπορούσαν να έχουν Android τηλέφωνα, που θα μπορούσε να έχει δισκία γίνεται από τη Microsoft. Τόσο πώς έχετε ένα κινητό στρατηγική για όλους αυτούς τους διαφορετικούς χρήστες; Φαίνεται ότι αν κοστίζει, ας πούμε $ 1.000 για να κάνει ένα iPhone εφαρμογή, πρόκειται να σας κοστίσει $ 2.000 για να κάνει μια εφαρμογή iPhone και ένα εφαρμογών Android, ή $ 3.000 να υποστηρίξει επίσης συσκευές με Windows, όπως καλά. Αυτό είναι πιθανώς αρκετά συγκρατημένη, και δεν θα μπορούσε καν είναι μια γραμμική σχέση σαν αυτό. Κοινό: Αν θέλετε να έχετε μια εφαρμογή ή όχι, μπορείτε να έχετε ανταποκρίνεται ιστοσελίδα. DAVID J. Malan: Καλή. ΚΟΙΝΟ: Ή μπορείτε να έχετε μια εγγενή εφαρμογή. DAVID J. Malan: Ναι. Έτσι, σε όλα πλαίσιο αυτό εδώ, έχουμε μιλήσει για το τι οι άνθρωποι θα καλέσετε εγγενείς εφαρμογές. Αυτό είναι εφαρμογές που έχουν γραφτεί στη μητρική γλώσσα της συσκευής. Έτσι, η μητρική Objective-C ή Swift κώδικα, ή σε Java, ή σε C #. Που σημαίνει ότι όταν κάνετε λήψη, ας λένε Snapchat, μια δημοφιλής εφαρμογή, ή όταν κάνετε λήψη Facebook για ένα τηλέφωνο, κάνετε λήψη είτε το έκδοση που γράφτηκε για το iPhone σας, ή γράψει για το Android κινητό σας τηλέφωνο, ή γραπτά για τα επιφανειακά σας. Αλλά υπάρχει μια εναλλακτική λύση. Όπως Olivier ήταν υπαινίσσεται, μπορείτε να χρησιμοποιήσετε πραγματικά HTML 5 Αντ 'αυτού, χρησιμοποιώντας αυτό που ονομάζεται web εφαρμογή, σύμφωνα με την οποία μπορείτε απλά εφαρμογή για κινητά παρουσία σας και κάθε λειτουργικότητα. Τι εννοώ με το κινητό παρουσία; Όπως ιστοσελίδα σας που έχει σας στοιχεία επικοινωνίας, μια λίστα με όλα τα προϊόντα σας, ίσως έχει μια εμπορική καλάθι, ίσως σας πουλήσουν τα πράγματα μέσα από αυτό. Όποια και αν είναι η εφαρμογή σας είναι, μπορείτε εφαρμογή της, όχι σε Objective-C, ή Swift, ή Java ή C #, αλλά σε HTML 5, η οποία ήταν η γλώσσα ψάξαμε στο χθες, με JavaScript και CSS. Και τι είναι καλό για εκείνους τρεις είναι ότι για την εκτέλεσή τους, θα πρέπει να έχετε ακριβώς αυτό το κομμάτι του λογισμικού; Κοινό: Ένα πρόγραμμα περιήγησης στο web. DAVID J. Malan: Ένα πρόγραμμα περιήγησης στο web. Και το καλύτερο ξέρω, όλα αυτά συσκευές έρχονται με προγράμματα περιήγησης στο Web, έτσι ο χρήστης δεν έχει πρέπει να εγκαταστήσετε κάτι το ιδιαίτερο. Έτσι, μπορείτε απλά να πείτε σας το κοινό, τους πελάτες σας, πηγαίνετε στο acme.com σε σας browser και θα πρέπει ακριβώς έχουν μια web-based εμπειρία ότι εξακολουθεί να γεμίζει την οθόνη, αλλά δεν έχετε να ανησυχείτε για το σύνολο των οι δαπάνες αυτές και όλη αυτή η πολυπλοκότητα. Αλλά σίγουρα υπάρχει μετάβαση να είναι μια παγίδα εδώ, σωστά; Ειδικά αν ήθελα να επισημάνω ότι ένα-δύο χρόνια πριν, η πρώτη έκδοση του κινητή εφαρμογή του Facebook ήταν ως επί το πλείστον μια εφαρμογή HTML 5. Και έχουν, πιο πρόσφατα, επαναυλοποιηθεί σε άλλες εφαρμογές τους. Έτσι, γιατί δεν θα αμέσως θέλω να πω, καλά, προφανώς, θα πάμε να το κάνουμε αυτό; Τι θα μπορούσε να είναι το κρυφό κόστος; Κοινό: Απόδοση. DAVID J. Malan: Επιδόσεις; Πως το εννοεις? ΚΟΙΝΟ: Η μητρική app έχει μεγαλύτερη απόδοση. DAVID J. Malan: Έτσι ώστε να είναι αλήθεια, για δυο λόγους. Μπορούμε να υπεραπλουστεύσουμε την απάντηση. Και υπενθυμίζουν τη συζήτησή μας της ερμηνεύεται σε σχέση με καταρτίζονται γλώσσες. Αυτή είναι η HTML 5 και μαζί με αυτό, ακριβώς για να είναι σαφές, JavaScript-- συνήθως γραπτή JS-- και CSS είναι όλα ερμηνευμένες γλώσσες, ακόμη και αν μόνο το JavaScript είναι μια γλώσσα προγραμματισμού. Και έτσι σε σχέση με αυτά, που μερικά από αυτά συγκεντρώνονται, τουλάχιστον αυτά τρία-- Objective-C, Java και C # - αυτά, στη θεωρία, θα πρέπει απλά να είναι ταχύτερη. Αλλά υπάρχει μια άλλη πραγματικότητα for-- Κοινό: Λειτουργίες; DAVID J. Malan: Τι είναι αυτό; Κοινό: Λειτουργίες. DAVID J. Malan: Λειτουργικότητα; Πως και έτσι? Κοινό: Χρησιμοποιήστε την κάμερα το τηλέφωνό σας ή κάτι τέτοιο. Μπορείτε να χρησιμοποιήσετε αυτά με το πρόγραμμα περιήγησης. DAVID J. Malan: Ακριβώς. Είναι sec-- Κοινό: [δεν ακούγεται] DAVID J. Malan: Αυτό είναι ένα άλλο καλό. Υπάρχει χαρακτηριστικά γνωρίσματα που έρχονται με τα κινητά τηλέφωνα σήμερα που δεν είναι, από το σχεδιασμό, για την ασφάλεια λόγους, πρόσβαση σε προγράμματα περιήγησης στο Web. Επειδή θα ήταν το είδος της ένα ανατριχιαστικό πράγμα, αν μόνο όταν μπορείτε να επισκεφθείτε google.com, ή cnn.com, ή οποιαδήποτε website.com, ότι η εν λόγω ιστοσελίδα έχει τη δύναμη να μετατρέψει στη φωτογραφική μηχανή σας, πάρτε μια εικόνα από εσάς, και στη συνέχεια να το χρησιμοποιήσετε. Αλλά δεν θα θέλατε μια τυχαία ιστοσελίδα ότι επισκέπτεστε για πρώτη φορά να έχουν αυτή την ικανότητα. Και ναι, τι τηλέφωνο κατασκευαστές συνήθως κάνουμε είναι απλά να αρνηθεί την πρόσβαση σε εκείνο το είδος των πληροφοριών σε ένα πρόγραμμα περιήγησης, το οποίο θα σημαίνει δεν μπορεί να εφαρμόσει τη φωτογραφική μηχανή. Μπορείτε δεν μπορεί να εφαρμόσει τα Push Notifications, οι ήχοι που έχετε στην οθόνη σας με σύντομα μηνύματα. Και στην πραγματικότητα, ακόμα και GPS είναι μόνο είδος του είδους του στη διάθεση των web browsers. Αν έχετε ποτέ, σε ένα φορητό υπολογιστή ή σε μια κινητή συσκευή, τράβηξε επάνω κάτι σαν ίσως cnn.com, αλλά και των τοπικών σταθμών ειδήσεις τείνουν να το κάνετε αυτό, θα σας ζητηθεί συχνά με ένα message-- foxnews.com θέλει να μάθει την τοποθεσία σας. Να εγκρίνει ή να αρνηθεί. Λοιπόν, το πρόγραμμα περιήγησης προσπαθεί να αποκτήσει πρόσβαση πληροφορίες GPS σας από το τηλέφωνό σας. Αλλά ευτυχώς η Microsoft, και η Apple και η Google έχουν αποφασίσει ότι αισθάνεται σαν Είναι ένα χρήσιμο κατάσταση, θέλουμε το Google Maps και άλλα εργαλεία για να εργαστούν, αλλά δεν θέλουμε να παρεισφρήσουν τους ανθρώπους έξω από απλά επιτρέπει σε κάθε ιστοσελίδα για να το κάνουμε αυτό. Ας είδος συναντιούνται στα μισά του δρόμου και ζητά από το χρήστη. Αλλά αυτό δεν είναι απαραιτήτως η περίπτωση με όλο το υλικό, όπως τη φωτογραφική μηχανή και με την ώθηση κοινοποιήσεις και τα παρόμοια, οπότε ίσως χρειαστεί να θυσιάσει ορισμένα χαρακτηριστικά. Αλλά η απόδοση πάρα πολύ. Είναι όλο και λιγότερο αισθητή στις μέρες μας, ίσως όπως LTE πιάνει επάνω και ταχύτερη ταχύτητες στο διαδίκτυο σε τηλέφωνα, αλλά μπορείτε να το είδος της αισθανθείτε τη διαφορά. Όπως ένα web based εφαρμογή απλά αισθάνεται πιο αργά, συνήθως, από μια εγγενή εφαρμογή, εν μέρει, γιατί μια web based εφαρμογή εξ ορισμού είναι στο διαδίκτυο. Είναι μιλώντας στους διακομιστές στο διαδίκτυο. Και αν η σύνδεση δικτύου είναι αργή, ακόμη και κύλιση μπορεί να είναι αργή. Αλλά μια εγγενή εφαρμογή, έχετε ήδη προ-downloaded-- πιθανώς όταν ήσασταν στο σπίτι από το App Store, ή μπορείτε τουλάχιστον προ-κατεβάσει στο σύνολό της νωρίτερα, ανεξάρτητα από το speed-- σύνδεση και έτσι τώρα έχετε όλα τα bits που γενικά χρειάζονται. Εκτός ίσως από κάποιες δεδομένων που προέρχεται από ένα διακομιστή. Έτσι, αυτά είναι συμβιβασμούς εδώ. Υπάρχει το είδος της μια μέση συμβιβασμό, στην πραγματικότητα. Και εγώ νομίζω you-- Κοινό: Χρησιμοποιήστε τη σύνδεση δεδομένων. Στην μητρική εφαρμογές, μπορείτε να [δεν ακούγεται] DAVID J. Malan: Απολύτως. Έτσι, υπάρχει το ζήτημα χωρίς σύνδεση, το οποίο είναι πραγματικά ενοχλητικό αν δεν μπορείτε να παίξετε κάποιο παιχνίδι ή τη χρήση κάποιο λογισμικό μόνο και μόνο επειδή είστε σε ένα υπόγειο κάπου ή σε έναν ανελκυστήρα. Ένας ντόπιος εφαρμογή είναι ανθεκτική με μεγαλύτερη πιθανότητα ενάντια σε αυτόν, υποθέτοντας ότι έχετε όλα τα δεδομένα που χρειάζεστε σε τοπικό επίπεδο. Έτσι, υπάρχει μια τρίτη επιλογή εδώ. Και ας σχεδιάσετε το φάσμα, όπως εγγενή εφαρμογή εδώ και web app εδώ. Και τι είναι στη μέση Είναι κάτι called-- και νομίζω ότι μπορεί να έχετε χρησιμοποίησε τη λέξη πριν, ίσως; Υβριδική αίτηση. Και όπως υποδηλώνει η λέξη, είναι κάτι στη μέση. Είναι το είδος του μια web εφαρμογή και αυτό είναι το είδος της μια εγγενή εφαρμογή. Και τι σημαίνει αυτό; Αποδεικνύεται ότι υπάρχουν frameworks-- για να χρησιμοποιήσω έναν όρο από earlier-- λογισμικού ότι οι άλλοι άνθρωποι έχουν γράψει για κάθε μία από αυτές τις πλατφόρμες. Αυτά και ακόμη άλλες συσκευές. Στην πραγματικότητα, επιτρέψτε μου να πάω να PhoneGap, το οποίο είναι ένα τέτοιο πλαίσιο, ότι εγώ Πιστεύουμε Adobe κατέχει τώρα. Επιτρέψτε μου να πάω για να ξεκινήσετε. Ας δούμε. Δω αν μπορώ να δείτε μια λίστα των εργαλείων. Σκεύη. Ξεκινώντας. hardware PhoneGap. Ας δούμε. PhoneGap πρόσβαση στο υλικό. Επιτρέψτε μου να δούμε αν μπορούμε να βρούμε ένα μικρό γράφημα που συνήθιζαν να έχουν. Αυτό είναι σε μια άλλη περιοχή. Είναι αυτό χρήσιμο; Όχι. Αυτό είναι gonna χάνουμε το χρόνο μας εκεί. hardware PhoneGap. Συσκευές. API συσκευής. Όχι, δεν έχω μετακινηθεί. PhoneGap. Ας πάμε μια τελευταία ματιά σε αυτό και να δούμε αν μπορώ να σας δείξω. Ξεκινώντας. Εγκαταστήστε PhoneGap. Εγκαταστήστε την εφαρμογή για κινητά. Ελα. Έχουν αναδιοργάνωσε τα πάντα. Εντάξει. Ω, εντάξει. Λοιπόν, εδώ πηγαίνουμε. Αυτό δεν είναι το μόνο που διαφωτιστική, αλλά Αυτό είναι ό, τι ήμουν είδος ψάχνετε. Έτσι PhoneGap είναι ένα πλαίσιο που θα να κατεβάσετε δωρεάν που σας δίνει ένα τμήμα κώδικα μίζα, κατ 'ουσίαν. Έτσι, μερικοί κώδικα που έχουν γραφτεί ότι δεν κάνει ένα μεγάλο μέρος τίποτα. Αλλά αυτό που σας δίνει ουσιαστικά είναι η ισοδύναμη της αίτησης που βάζει απλά ένα μεγάλο ορθογώνιο στην οθόνη του χρήστη. Δεν τίθεται ένα μπαρ URL, όπως μια πρόγραμμα περιήγησης, δεν τίθεται μια διεύθυνση. Θα πρέπει να θέσει απλά ένα μεγάλο ορθογώνιο. Και μπορείτε να ρυθμίσετε αυτό το μεγάλο ορθογώνιο, κάτω από την κουκούλα, πραγματικά να πάει στο acme.com, ή ίσως m.acme.com, για mobile.acme.com, αλλά ο χρήστης δεν γνωρίζει από όπου και αν σε αυτή τη διεύθυνση. Το μόνο που βλέπουν είναι το το περιεχόμενο της ιστοσελίδας. Αλλά τι είναι ωραίο σχετικά με αυτό το ον μια υβριδική app είναι ότι αυτό που PhoneGap και άλλες επιχειρήσεις που σας δίνει είναι από όπου και αν σας δίνει ένα μικρό κομμάτι του κώδικα σε Objective-C ή Swift, ή ένα μικρό κομμάτι του κώδικα σε Java, ή ένα μικρό κομμάτι του κώδικα σε C #, και ουσιαστικά, το μόνο που έχετε να δώσετε είναι ελάχιστα το διεύθυνση του web-based εφαρμογή σας. Και τότε θα δέσμη αυτή όλοι μαζί και να σας το έχουν είτε την πρόσβαση σας ιστοσελίδα μέσω του διαδικτύου, ή μπορείτε ακόμη και cache ένα τοπικό αντιγράψετε μέσα από την εφαρμογή, και, στη συνέχεια, μπορείτε να αποθηκεύσετε την αίτησή σας σε μορφή iPhone, Android τηλέφωνο μορφή, σχήμα επιφάνεια, ή οποιοδήποτε αριθμό άλλων συσκευών. Μπορείτε να αποστείλετε κάθε μία από αυτές τις εκδόσεις στο Play Store της Google, στο App Store, για να το Windows Store, και ούτω καθεξής. Και τώρα, μπορείτε να έχετε όλα σας ακροατήρια κατεβάσετε πραγματικά μια εγγενή εφαρμογή, αν και το μεγαλύτερο μέρος του κώδικα ήταν γράφτηκε από κάποιον άλλο, αλλά το περιεχόμενο της εν λόγω μητρική app όλους προέρχονται, κατά κανόνα, τη δική σας ιστοσελίδα. Έτσι, μπορείτε να συνεχίσετε τη σύνταξη ιστοσελίδα σας σε μορφή HTML, JavaScript και CSS. Γιατί λοιπόν να θολώνουν αυτές τις γραμμές; Γιατί να έχουν μια υβριδική αίτηση αυτό είναι το είδος των ιθαγενών, αλλά και το είδος των web-based; Ποιο είναι το νόημα της προσθήκη αυτής της πολυπλοκότητας; Θέλω να πω, ακόμα και ακόμα, μόνο από ανακλώμενη μέσω αυτής της σελίδας, η Ξεκινώντας οδηγός αισθάνεται σαν ότι έχεις ένα σωρό βήματα για μένα να κάνω πριν can-- Κοινό: Επαναχρησιμοποίηση; DAVID J. Malan: Επαναχρησιμοποίηση; Τι εννοείς? Κοινό: Από τον πηγαίο κώδικα. Έτσι, ο ίδιος κώδικας θα τρέχει σε όλες οι διαφορετικές πλατφόρμες. DAVID J. Malan: Ναι. Κοινό: [δεν ακούγεται] DAVID J. Malan: Τέλεια. Αν ο χρόνος είναι περιορισμένος και αν δεν έχουν τόσο πολλά developers-- ίσως έχετε ένα προγραμματιστή και αυτός ή αυτή σίγουρα δεν γνωρίζει όλα αυτά environments-- σίγουρα δεν είναι καλά, και σίγουρα δεν μπορεί προγράμματος και στις τρεις ταυτόχρονα και το πλοίο τρία προϊόντα σε ο χρόνος που επιτρέπεται για μία, μπορείτε να τον έχετε ή για την οικοδόμηση τα πάντα σε HTML και JavaScript και CSS, και στη συνέχεια να μάθουν ένα μικροσκοπικό bit για τη μητρική εφαρμογές, αρκεί μόνο να κατεβάσετε ένα πλαίσιο όπως αυτό, στη συνέχεια να φορτώσετε το προϊόν σας σε όλα τα διάφορα καταστήματα app έτσι ώστε να έχετε τώρα μια εγγενή εφαρμογή. Έτσι ώστε να φαίνεται σαν μια win-win, αλλά και πάλι, να είναι σαφής, Ποια είναι τα πιθανά δαπάνες ή οι gotchas; Κοινό: Επιδόσεις; DAVID J. Malan: Ναι. Εκτέλεση. Είναι δύσκολο να περιγράψει προφορικά. Έτσι, αν απλά να αναλάβει πίστη μια κινητή εφαρμογή, μια διαδικτυακή εφαρμογή θα συνήθως λειτουργεί πιο αργά. Μπορεί να μην φαίνονται αρκετά σωστά, διότι το iPhone και το Android τηλέφωνα, και συσκευές Windows, υπάρχει πάντα ένα είδος προεπιλεγμένη εμφάνιση και αίσθηση σε όλα τα κουμπιά και τα μενού. Και οι εταιρείες στο διαδίκτυο, μπορείτε να δοκιμάσετε για την προσέγγιση των εν λόγω αισθητική με βιβλιοθήκες όπως Bootstrap, αλλά η user-- μια έξυπνη user-- πρόκειται να γνωρίζουν ότι κάτι που δεν είναι σωστό εδώ. Και αυτό είναι μια χαρά, ίσως αυτό δεν είναι μια μεγάλη υπόθεση. Αλλά το ζήτημα επιδόσεων απολύτως είναι μια μεγάλη υπόθεση. Εγγενείς εφαρμογές θα έχουν την τάση να απλά είναι πολύ πιο δεκτική και ως εκ τούτου, καλύτερα. Και έτσι, τότε τι θα μπορούσε να είναι Το καλύτερο και των δύο κόσμων? Αν είστε ιδιαίτερα ένα μικρό εταιρεία ή μια μικρή ομάδα, που δεν έχουν τους πόρους να αναπτύξει μια εφαρμογή παράλληλα σε όλες τις τρεις πλατφόρμες, και ειλικρινά, αισθάνεται σαν αυτό είναι μια κακή ιδέα ούτως ή άλλως γιατί αν το ανοίγουμε και και οι τρεις ταυτόχρονα συνειδητοποιούν, θα έπρεπε να έχουμε προσθέσει κάποια χαρακτηριστικά ή να κάνει κάτι διαφορετικό, τώρα θα πρέπει να το διορθώσετε σε τρεις θέσεις, όχι ένα. Τι είναι ίσως η βέλτιστη στρατηγική εδώ συνολικά, εάν οι πόροι και ο χρόνος είναι σφιχτό; Κοινό: Ακριβώς το κάνετε για iOS. DAVID J. Malan: Αυτό δεν είναι παράλογο. iPhones, τουλάχιστον στην ΗΠΑ, είναι εξαιρετικά δημοφιλής. Android φαίνεται ότι εξακολουθεί να έχει δεσπόζουσα μερίδιο αγοράς, σε παγκόσμιο επίπεδο, συνολικά. Έτσι, δεν είναι απαραίτητα αντιπροσωπευτικά του συνόλου του πλανήτη αυτή την εβδομάδα. Αλλά αυτό είναι απολύτως μία απόφαση. Θέλω να πω, στην πανεπιστημιούπολη εδώ σκεφτείτε κάποια φρικτή αριθμό ή το ποσοστό των φοιτητών έχουν iPhones και όχι το Android τηλέφωνα. Αλλά και στο εξωτερικό, αυτό είναι το είδος του αντίθετου. Έτσι ώστε να αποφασίσει με βάση το κοινό σας. Πώς ξέρεις τι έχει κοινό σας; Λοιπόν, έχουμε μάθει ένα τέχνασμα χθες. Θα μπορούσατε να τους ρωτήσετε. Εάν έχετε ένα αιχμάλωτο ακροατήριο μπορείτε να τους στείλετε ένα έντυπο της έρευνας. Ή θα μπορούσατε ακριβώς να κάνει τι; Κοινό: Google Analytics; DAVID J. Malan: Τι είναι αυτό; Κοινό: Google Analytics. DAVID J. Malan: Google Analytics. Ναι. Ή ακόμα περισσότερο το είδος της τεχνικής, απλά δείτε το δικό σας web servers κούτσουρα. Επειδή ό, τι συμβαίνει κάθε φορά που ένα πρόγραμμα περιήγησης, αν το laptop, desktop ή τηλέφωνο επισκέπτονται την ιστοσελίδα σας; Στέλνουν ότι η κεφαλίδα HTTP που δείχνει σας τι browser και λειτουργικού συστήματος που χρησιμοποιείτε. Έτσι, μπορείτε να συμπεράνουμε, με μεγάλη πιθανότητα, τι δημογραφικές σας χρησιμοποιεί αυτόν τον τρόπο και στη συνέχεια να προσαρμοστούν. Έτσι, ας υποθέσουμε ότι αυτό είναι απαράδεκτο. Αυτό είναι το είδος του κακό για τις επιχειρήσεις, αν Android χρήστες δεν μπορούν να αγοράσουν τα widgets μας. Ακροατήριο: Είτε είστε Θα χρεώνει ή όχι; DAVID J. Malan: Είτε θα πάμε να χρεώνουν; Έτσι Εντάξει, παίρνετε τι πληρώνετε για. Ακροατήριο: Είτε η εφαρμογή σας είναι το gonna να είναι δωρεάν ή αν είναι gonna-- DAVID J. Malan: OK. Έτσι ίσως θα μπορούσε να αποσβέσει κόστος με αυτόν τον τρόπο, or--; Κοινό: Διάβασα μια μελέτη κάποτε ότι οι εν λόγω περισσότεροι χρήστες της Apple πληρώνουν για εφαρμογές versus-- DAVID J. Malan: Αυτό είναι αλήθεια επειδή είναι ήδη πληρώνουν περισσότερα για τις συσκευές τους. Έτσι δεν είναι παράλογο μια υπόθεση. Κοινό: [δεν ακούγεται] DAVID J. Malan: OK. Έτσι, αν είστε πιο πρόθυμοι να πληρώσουν, τότε στην κόλαση με τους χρήστες του Android. Δεν πρόκειται να να μας πληρώσετε τίποτα ούτως ή άλλως. Θα μπορούσαμε επίσης να εστιάσουμε τις προτεραιότητές μας, τουλάχιστον για τους πρώτους μήνες ή ένα έτος, για το iOS. Απόλυτα λογικό. Τι είναι μια πιο περιεκτική στρατηγικής από αυτό; Maybe-- τι είναι αυτό; Κοινό: [δεν ακούγεται] DAVID J. Malan: Μια πιο expensive-- οπότε ίσως να επενδύσει περισσότερο in-- πάει μπροστά. Κοινό: Ναι. Ακριβώς ένα κινητό δικτυακό τόπο. DAVID J. Malan: Έτσι κάνουν μια κινητά ιστοσελίδα και δεν ακόμη ανησυχείτε για αυτό πολυπλοκότητα. Ή ίσως μια λογική στρατηγική, η οποία ακόμα και το Facebook πήρε, είναι να ξεκινήσετε με ένα υβριδικό εφαρμογή, διότι δεν είναι ότι πολύ πιο δύσκολο να το κάνετε αυτό από αυτό. Απλά πρέπει να διαβάσετε μερικά τεκμηρίωση και να καταλάβω πώς για να φορτώσετε τα πράγματα στο App Store. Έτσι ίσως να ξεκινήσετε με αυτό, έτσι ώστε σε μια μέρα, μπορείτε να υποστηρίξει όλους τους χρήστες σας. Και τότε, όπως ακριβώς Facebook και άλλες εταιρείες έχουν κάνει, όταν έχετε τους πόρους, έχετε τους ανθρώπους, γιατί δεν μπορείτε εκ νέου να εφαρμόσουν μόνο η εφαρμογή iOS. Έχετε ακόμα κάτι για τον καθένα, ακόμα κι αν είναι μια κατώτερη εμπειρία ίσως, με τον υβριδικό εφαρμογή. Αλλά μπορείτε σταδιακά να αναπτύξουν και να αντικαταστήσει βραχυπρόθεσμη σας μέτρα των υβριδικών εφαρμογών με περισσότερα μητρική σας εφαρμογές. Κοινό: Αλλά με μια υβριδική εφαρμογή που θα έχουν πρόσβαση σε λειτουργίες του κινητού; DAVID J. Malan: Όχι απαραίτητα. Έτσι ίσως να κάνετε μια συνειδητή απόφαση από νωρίς, μπορείτε να ανεβάσετε φωτογραφίες μόνο για το εγγενή εφαρμογή iPhone για το Facebook, αλλά όχι για την εφαρμογή του Android, Αρχικά, για παράδειγμα. Και αυτό είναι ένα κομμάτι από ένα λευκό ψέμα, διότι web εφαρμογές έχουν περισσότερους περιορισμούς από τα υβρίδια εφαρμογές αποδεικνύεται έξω, και αν διαβάσουμε την τεκμηρίωση για PhoneGap και τα πράγματα όπως αυτό, οι άνθρωποι έχουν καταλήξει σε τρόπους να δώσει εφαρμογές web-based πρόσβαση στην κάμερα, εφ 'όσον χρησιμοποιείτε μια υβριδική εφαρμογή. Πώς λειτουργεί αυτό; Επειδή το υβριδικό εφαρμογή, εξ ορισμού, έχει ένα κομμάτι του κώδικα σε Objective-C, και Swift, και Java, ή σε C #, μπορεί να έχει πρόσβαση στο υλικό. Όχι απαραίτητα πάντα, αλλά θα μπορούσε κάλλιστα να είναι η περίπτωση που έχετε αρκετά πρόσβαση για να πάρει τη φωτογραφική μηχανή, ακόμα και για τις πλατφόρμες Android, για παράδειγμα, σε αυτό το παράδειγμα σκηνοθετημένη. Οποιεσδήποτε άλλες ερωτήσεις; Εντάξει. Γιατί δεν παίρνουμε μας 15 λεπτά διάλειμμα εδώ. Θα επαναληφθεί στις τρεις με τελικό εξετάσουμε web προγραμματισμό, βάσεις δεδομένων, και Javascript.