DAVID J. MALAN: Jadi kita kembali. Jadi peringkat tinggi topik pada masa sekarang adalah susunan teknologi, yang tidak istilah terutamanya teknikal, ia lebih daripada menangkap semua untuk apa-apa beberapa kombinasi teknologi yang anda boleh menggunakan untuk menyelesaikan masalah. Dan mungkin yang paling cara yang sesuai untuk memulakan adalah dengan melihat bahasa sejak Saya sentiasa yg mempesonakan off sejumlah dan setiap orang di dalam bilik mempunyai mungkin pernah mendengar sekurang-kurangnya satu. Dan jadi mengapa kita tidak cuba untuk membezakan what-- membezakan bahasa ini dan bercakap secara ringkas tentang apabila anda akan memilih berbanding dengan yang lain, bagaimana mereka jenis asasnya yang berbeza, dan terutamanya apabila anda berbual dengan jurutera, atau cuba untuk memutuskan siapa untuk sewa, atau apa pelaksanaan cadangan untuk lampu hijau, bagaimana anda sebenarnya akan membuat orang-orang jenis keputusan. Jadi mari kita hanya gemeretuk beberapa perkara luar. Satu bahasa orang mempunyai mendengar tentang, apa yang terlintas di fikiran? C. OK. OK, C ++. Apa itu? PENONTON: Python. DAVID J. MALAN: Python. Cemerlang. Apa lagi? Visual Basic. Saya mendengar Jawa. Visual Basic-- turut dikenali sebagai VB. Jawa. .NET, Yang mana lebih daripada menangkap semua untuk apa yang biasanya C # sebagai bahasa dalam soalan. Dan biarlah saya menyebut bahawa. Oleh itu, kita akan kembali kepada itu. Saya minta maaf? Maaf? PENONTON: SQL. DAVID J. MALAN: awal? PENONTON: SQL. DAVID J. MALAN: Oh, SQL. OKEY. SQL. Oleh itu, kita akan kembali kepada bahawa- sebenarnya, ia good-- selepas rehat juga. Apa lagi? PENONTON: Oracle. DAVID J. MALAN: Jadi Oracle, bukan bahasa. Sebenarnya mereka akan menggunakan SQL juga. Jadi mari kita meletakkan bahawa selepas rehat juga. Dan maaf, sesuatu di sini? PENONTON: Mathematica. DAVID J. MALAN: Mathematica? Baiklah. Dan MATLAB adalah jenis di sana kadang-kadang. PENONTON: R. DAVID J. MALAN: R. Mari kita pergi di sini. Fortran. Pasti. sekolah yang lebih tua. Fortran. COBOL. Saya akan melambungkan BASIC. BASIC. Any-- PENONTON: MATLAB? DAVID J. MALAN: MATLAB. Oh, mengalahkan anda kepadanya. Apa-apa? Saya boleh memikirkan beberapa orang lain. Saya boleh memikirkan beberapa yang lain. Dan apa yang adalah yang terakhir? PENONTON: ASP. DAVID J. MALAN: ASP? Yeah. Laman pelayan aktif. Yang biasanya akan jatuh di bawah bahasa lain, kadang-kadang C #, jadi mari kita meninggalkan bahawa off. Tetapi kita akan kembali kepada itu untuk rangka kerja dan sebagainya. Apa-apa lagi? PHP adalah popular. Ruby adalah satu lagi. JavaScript, jangan dikelirukan dengan Jawa, adalah satu lagi. Itulah jenis banyak. Jadi ia boleh menjadi pasti menggalakkan, seolah-olah senarai ini tidak sudah, hanya untuk mula tahu di mana anda bermula. Dan supaya nasib baik, mari kita pendekatan ini dari sudut beberapa. Pertama, mari kita cuba untuk mengkategorikan sekurang-kurangnya beberapa daripada bahasa ini kepada dua baldi luas, mengingatkan perbualan kami sebelum rehat, di mana kita bercakap tentang menyusun, dan kod sumber, dan kod mesin, kerana itu bukan cara yang semua bahasa kerja. Oleh itu, kita akan cabut beberapa contoh dengan- atau melawan examples-- untuk model itu. Dan kemudian, mengapa tidak kita bercakap mengenai aplikasi bahawa bahasa ini secara amnya digunakan untuk. Dan terus-terang, walaupun ini adalah senarai yang agak panjang, ia hanya subset senarai ini yang anda biasanya akan menarik dari hari ini untuk menyelesaikan masalah. bahasa tertentu adalah lebih baru daripada yang lain. bahasa tertentu lebih popular daripada yang lain. Jadi ia tidak seperti anda mempunyai apa-apa satu tugas yang besar sebelum anda apabila membuat keputusan di kalangan ini pelbagai bahasa. Jadi mari kita buat ini. Kami sebelum ini, kod sumber, dan kemudian kita mempunyai kod mesin. Alamak. Menulis perkataan yang salah. kod mesin. Dan kita mempunyai beberapa proses dalam pertengahan called-- yeah, pengkompil. Jadi pengkompil. Dan apa kod mesin sebenarnya berjalan di atas pada akhirnya akan menjadi CPU sebenar anda. Dalam erti kata lain, dengan kod mesin, saya bermakna arahan tahap paling rendah bahawa CPU sebenarnya memahami. Penambahan, penolakan, bergerak, menyimpan, dan operasi seperti itu. Dan hal ini adalah model untuk apa yang umumnya dikenali sebagai bahasa disusun. Mungkin tidak menghairankan. Jadi ini adalah model untuk bahasa disusun. Tetapi ternyata ada yang satu lagi kelas bahasa dipanggil ditafsirkan languages-- ditafsirkan languages-- yang sedikit berbeza. Anda menulis dalam kod sumber, menjalankan mereka melalui seorang jurubahasa, dan jurubahasa yang apa yang berjalan pada CPU. Dengan kata lain, sesuatu yang tidak perlu memancarkan apa, nampaknya? kod mesin. Sifar dan orang-orang yang CPU sendiri akhirnya memahami. Jadi dalam versi pertama ini dan bahasa seperti C, seperti yang kita lihat, anda menulis kod sumber itu adalah satu yang sukar difahami sedikit, tetapi sekurang-kurangnya ia adalah jenis bahasa Inggeris seperti dan ia sekurang-kurangnya boleh dibaca sebaik sahaja anda mendapat digunakan untuk ia. Anda berjalan melalui pengkompil dan keluar anda dapat, akhirnya, sifar dan satu. Yang melampaui batas. Terdapat beberapa langkah-langkah yang lain di dalamnya. Malah, jika anda pernah mendengar istilah "bahasa himpunan," itulah salah satu langkah sebelum sifar dan satu. Yang sedikit lebih mudah dibaca, tetapi masih cukup sukar difahami. Dan jadi ada langkah perantaraan yang, sebenarnya, berlaku di sini. Tetapi output, akhirnya, inilah sifar dan satu. Tetapi dalam ditafsirkan dunia, di mana anda perlu bahasa yang ditafsirkan bahasa, anda sebenarnya skip langkah itu. Dalam erti kata lain, apabila anda menulis program, anda hanya segera menjalankannya. Anda tidak menyusun dan kemudian berjalan, seperti yang saya lakukan sebelum ini. Anda hanya menulis dan menjalankannya. Dan jika anda mahu untuk membuat perubahan yang cepat, anda membuat perubahan yang cepat dan jalankan ia. Jadi tidak ada langkah pertengahan di sini. Kini, untuk program yang saya tulis sebelum ini, yang adalah ini "Hello World" program, anda mungkin semunasabahnya wonder-- atau mungkin semunasabahnya state-- itu bukan masa itu memakan masa untuk menyusun program saya. Ia seolah-olah telah melakukannya sahaja. Dan ada grafik versi penyusun. Saya menggunakan versi yang sangat sukar difahami, tetapi anda boleh mencecah butang main dan yang benar-benar akan melakukan penyusunan untuk anda. Saya telah menyusun program dan kemudian sekali lagi, untuk menjalankannya, saya hanya melakukan ini. Dan output di sebelah kiri sana, "Hello!" Itu nampaknya tidak semua yang membebankan. Tetapi apabila program anda adalah lebih dari satu, dua, tiga, empat, lima barisan panjang, ia boleh mengambil masa yang lebih saat untuk menyusun. Kadang-kadang walaupun minit atau agak sedikit masa untuk menyusun. Lagipun, beberapa produk terbesar dunia adalah perkara-perkara seperti sistem operasi, Microsoft Word, Microsoft Excel, yang mungkin beratus-ratus ribu atau berjuta-juta baris kod panjang, dan orang-orang tidak hanya segera melaksanakan. Selain itu, di web, ia menjadi kebiasaan untuk menggunakan bahasa hanya ditafsirkan, sebahagiannya kerana anda boleh membuat perubahan sebagai pemaju dan kemudian hanya segera menambah nilai halaman penyemak imbas dan segera melihat hasilnya. Dan sebagainya HTML, manakala tidak bahasa pengaturcaraan, adalah bahasa yang yang ditafsirkan. Dan kita melihat kesan yang sama semalam. Anda hanya memuat semula halaman selepas membuat perubahan dalam Cloud9 dan- voila-- anda melihat hasil baru. Jadi apa perbezaan di sini? Dalam HTML, ingat, kita mempunyai HTML terbuka, kepala terbuka, tajuk terbuka, tajuk dekat, kepala rapat, badan terbuka, dan sebagainya. Kami mempunyai semua tag yang kita cukup banyak berkata, memberitahu pelayar apa yang perlu dilakukan. Hey pelayar, di sini datang dalam halaman HTML. Hey pelayar, di sini datang tajuk. Hey pelayar, di sini datang beberapa teks yang perlu berani. Dan kemudian anda memberitahu sebaliknya. Hey pelayar, itu sahaja untuk teks muka berani. Hey pelayar, itu sahaja untuk badan. Dan sebagainya. Dan supaya apa yang pelayar? Penyemak imbas ialah hanya seorang jurubahasa. Ia adalah satu program yang seseorang seperti Microsoft atau Google telah menulis, tujuan yang dalam hidup adalah untuk membaca bahasa, yang dikenali sebagai HTML, dan menafsirkannya. Atas ke bawah, kiri ke kanan. Dan masa mana-mana pelayar, yang melihat terbuka kurungan, tajuk, kurungan rapat, ia perlu mentafsir bahawa seperti makna, oh, yang bermakna saya perlu meletakkan kata-kata ini cara di sini di bahagian atas pelayar. Jadi ia hanya melakukan apa kod HTML yang mengatakan. Tetapi tidak ada sifar dan satu. Tidak ada kompilasi. Anda tidak melakukannya. Penyemak imbas tidak melakukannya. Ia hanya tidak terlibat. Jadi, dalam semangat ini berterusan topik, hari ini dan semalam, yang seolah-olah menjadi ciri-ciri yang indah. Anda dapat menjimat kod anda dan kemudian hanya berjalan atau menafsirkannya. Tidak ada langkah-langkah yang pertengahan. Sesungguhnya ada kos? tidak boleh semua upsides. Jadi apa yang mungkin kos yang boleh? PENONTON: Space. DAVID J. MALAN: Space. Jadi, pasti. Dalam dunia yang disusun, anda perlu bukan sahaja kod sumber asal, anda juga mencipta dan maka mungkin menjimatkan mesin code-- yang sifar dan ones-- dan itulah perlu mengambil beberapa jumlah ruang. Sama sekali. Jadi ia kos anda lebih banyak ruang. Yeah? PENONTON: Pelayar mungkin mentafsir berbeza. DAVID J. MALAN: Pelayar mungkin mentafsirkannya berbeza. Itu benar. Tetapi saya tidak pasti saya selesa mendakwa itu kerana ia ditafsirkan. Itu lebih hanya kerana ia adalah pelaksanaan bahasa yang yang sendiri mempunyai kekaburan. Jadi mari kita tidak cukup mengesahkan yang satu, tetapi firasat baik. Apa lagi yang mungkin dapat harga yang dibayar? Andrew? PENONTON: Anda menggabungkan dua langkah, supaya anda oleh itu mempunyai kerumitan yang semakin meningkat juga. DAVID J. MALAN: The complex-- peningkatan dalam kerumitan di mana? Untuk siapa? PENONTON: Jadi, dalam jurubahasa langkah, anda menggabungkan jurubahasa dan pengkompil untuk hanya membawa supaya- DAVID J. MALAN: Ah, OK. Ironinya, ia mungkin sedikit mudah untuk melaksanakan pentafsir, walaupun ia seolah-olah upsides hasil kemudahan ini. Jadi mungkin benar. Tetapi ia jenis bergantung, saya akan berkata, kepada bahasa yang dan bagaimana mereka pergi mengenai melaksanakannya. Ada boleh menjadi lebih banyak kerumitan, sebenarnya, dalam pengkompil, hanya kerana anda mempunyai untuk pergi dari Peringkat tinggi sesuatu yang begitu kepada sesuatu supaya tahap rendah. Tetapi pemikiran yang baik. Jadi meletakkan cara lain, program yang disusun, apabila bertukar menjadi ini sifar dan satu, berakhir dalam bahasa bahawa CPU bercakap, sedangkan di sebelah ini dunia, program yang anda tulis, kod yang anda telah menulis, tidak pernah benar-benar mendapat ditukar ke dalam bahasa sebenar komputer bercakap. The sifar dan satu. Ia kekal dalam asal, lebih manusia yang mesra, bahasa lebih mudah dibaca. Jadi apa yang mungkin menjadi implikasi sana, jika anda tidak benar-benar mengganggu menukarkan anda program dengan bahasa yang bahawa komputer yang mendasari bercakap? PENONTON: tidak Might memahami sesuatu? DAVID J. MALAN: Might tidak memahami sesuatu. Dan yang boleh claim-- jika ia tidak memahami sesuatu, itu adalah satu bug atau kekurangan daripada menampilkan dalam jurubahasa. Supaya akan menjadi lebih satu kesilapan daripada kos. PENONTON: Anda mempunyai akses kepada kod sumber? DAVID J. MALAN: Ada satu yang baik. Jadi Kelemahan di sini adalah anda seolah-olah mempunyai akses. Anda, pengguna akhir, mungkin kelihatan mempunyai akses kepada kod sumber. Dan itu bukan selalunya benar. Tetapi ia adalah benar dalam kes JavaScript, yang kita akan melihat selepas rehat hari ini, yang merupakan bahasa pengaturcaraan ditafsirkan yang anda tulis dalam kod sumber. Tetapi itu kod sumber akan dipindahkan dari pelayan anda ke pelayar dan berjalan di sini pada manusia. Jadi di sini dia hanya boleh membuka tingkap, seperti yang saya telah lakukan dalam Chrome, dan melihat ia kerana kita sendiri mengerling pada hari ini dengan Google. Ia mungkin kelihatan sedikit difahami tetapi ia adalah di sana. Jadi, itu benar-benar satu harga yang dibayar. PENONTON: Performance hit? DAVID J. MALAN: Ya. Dan itulah masalah besar yang lain. Ada hit prestasi. Kerana anda mempunyai ini orang tengah, yang itu sendiri adalah program, yang antara kamu dan CPU, yang bertentangan hanya makan ini mentah sifar dan orang-orang ke dalam CPU, ada hit prestasi yang anda mengambil dengan bahasa yang ditafsirkan. Seperti itu, sewenang-wenangnya, program yang mungkin mengambil satu saat untuk berjalan pada komputer atau satu minit untuk berjalan pada komputer di sini, mungkin mengambil masa 10 saat atau 10 minit untuk berjalan pada komputer di sini. Ia biasanya tidak akan menjadi yang banyak faktor difference-- daripada 10-- kerana ada pengoptimuman anda boleh lakukan. Tetapi ia adalah hampir selalu lebih perlahan. Sekarang, sebelah flip kebimbangan yang adalah bahawa, baik komputer, setiap 12 18 months-- mengikut undang-undang Moore, jadi untuk speak-- hanya mendapat lebih cepat dan lebih cepat. Saya mempunyai lebih banyak ruang cakera. Saya mempunyai lebih banyak RAM. Yang benar-benar mengambil berat? Dan itu adalah jenis hujah yang munasabah. Malah, salah satu daripada sebab mengapa kita boleh bertolak ansur dengan perlahan ditafsirkan bahasa adalah kerana kita manusia tidak benar-benar notis. Komputer mempunyai mendapat hanya begitu darn cepat. Manakala pada zaman dahulu, terutama apabila perkakasan telah lebih dikekang, anda mempunyai kurang daripada segala-galanya, ia adalah jauh lebih mahal jadi semuanya lebih mahal, dan kemudian anda benar-benar mahu memerah prestasi sebanyak yang anda boleh. Tetapi yang memerlukan bertulis pada peringkat rendah, jika anda akan, dengan bahasa yang disusun. Jadi anda mengambil hit prestasi ini. Tetapi secara amnya, upsides seolah-olah menjadi berbaloi hari ini. Well, kecuali isu harta intelek. Yang jenis kebolehbacaan kod, kami akan kembali ke apabila kita melihat JavaScript. Jadi mari kita cuba untuk mengkategorikan sekurang-kurangnya beberapa ini. Jadi antara bahasa disusun, kita akan mempunyai C, C ++, agak, sorta, Java, walaupun ia sedikit pengecualian, bagi sebab saya akan menunjukkan kepada anda dalam hanya seketika. C # akan berada dalam senarai ini. Kita akan melihat lebih pada hanya bahasa yang lebih moden. Baiklah. Dan seolah-olah seperti banyak di sana. Manakala di sebelah ini pagar, kita mungkin mempunyai JavaScript, dan Python, dan PHP, dan Ruby. Dan adalah bahawa cukup untuk orang-orang yang lebih terkini? Yang berasa seperti banyak untuk sekarang. OKEY. Dan kemudian dot dot dot, sejak senarai ini tidak berkesudahan. Dan sebenarnya, jika kita mahu hanya mendapatkan rasa this-- Wikipedia, bahasa disusun. Saya meneka kita boleh mendapatkan senarai yang lebih lengkap. Jadi di sini kita pergi. Jadi di sini adalah senarai yang lebih lengkap. Dan saya berharap seseorang akan meneka D sebagai bahasa kerana itu juga wujud, tetapi mereka berhenti di D ia akan kelihatan. Walaupun sebenarnya mungkin menjadi E. Oh, sebenarnya, ini sepatutnya berada dalam senarai hari ini. Swift sebenarnya adalah bahasa yang Apple mencipta yang kini digunakan, semakin demikian, dalam pembangunan iPhone. Tetapi kita akan kembali kepada bahawa dengan perbincangan kita mudah alih di hanya sedikit juga. Jadi Swift juga. Dan kalau kita pergi ke ditafsirkan language-- ditafsirkan language-- maka di sini adalah senarai yang lebih panjang juga. Jadi jika anda hanya google dan melihat di Wikipedia untuk ini, anda akan melihat segala macam bahasa. Tetapi tujuan itu, untuk hari ini benar-benar, hanya bermuara mungkin ini isu harta intelek dan pembacaan oleh pengguna akhir dan untuk prestasi, adalah masalah besar yang lain juga. Jadi di kalangan bahasa ini, supaya aku dapat melihat jika kami boleh memberikan anda hanya beberapa sampel bahasa. Kami tidak mahu pergi melalui semua bahasa tanpa henti. Adakah anda tertanya-tanya apa yang bahasa tertentu kelihatan seperti? Kami telah melihat sebentar tadi. Mengapa kita tidak mengambil pasangan daripada mempunyai permintaan. Siapa yang ingin melihat apa yang bahasa lain kelihatan seperti? Yeah. PENONTON: Jawa. DAVID J. MALAN: Jawa. Baiklah. Jadi mari kita pergi ke Jawa. Dan hanya untuk memberikan anda satu sample-- kita boleh menulis semua ini keluar, tetapi ia akan menjadi lebih cepat hanya untuk melihat contoh kod orang lain. Baiklah. Jadi adakah ini contoh yang baik? Alamak. OKEY. Jadi di sini adalah versi Java daripada program yang saya tulis sebelum ini, "Hello World." Jadi Java, anda akan sering melihat "kelas." kata kunci Kemudian anda akan melihat beberapa nama selepas itu. Anda akan melihat pendakap kerinting seperti yang kita lihat sebelum ini, dan kadang-kadang mereka pergi pada baris yang sama, talian kadang-kadang lain, ia adalah jenis keputusan peribadi. Anda akan melihat kata kunci seperti "Orang ramai," "statik", "tidak sah." Namun, kami pernah "utama." "Utama" umumnya nama fungsi lalai atau sebahagian lalai kod yang mendapat dijalankan dalam program. "Tali." Apa yang kita maksudkan dengan tali sebelum ini? Saya menggunakannya jenis bersahaja. rentetan A adalah apa? Satu perkataan. Ia seperti jujukan aksara. watak individu, kembali kepada kembali ke belakang, biasanya dalam array, seperti yang kita telah dibincangkan. Dan sebenarnya, lihat sintaks ini di sini, kedua-dua tanda kurung siku? Ini bermakna, hey komputer, di sini datang pelbagai rentetan. Dataran notasi kurungan adalah biasa digunakan untuk menunjukkan bahawa. Dan kemudian anda boleh mungkin mengambil guess-- yang apa adakah ini menekankan sebahagian kod mungkin lakukan? PENONTON: Output? DAVID J. MALAN: Ya. Ia mencetak sesuatu untuk skrin. Jadi "sistem" adalah sejenis yang merujuk kepada komputer anda. "Daripada" ertinya yang komputer anda output atau skrin. Jadi "system.out.print ln" mungkin bermakna? "Ln." Cetak garis mana pengaturcara seperti ke nampaknya mengeja beberapa perkataan yang keluar secara keseluruhan dan mengambil jalan pintas dengan kata-kata lain. Tetapi "ln" adalah garis, jadi garis cetak. Jadi ia mencetak "Hello World! "Diikuti dengan barisan baru. Jadi itu sahaja. Tetapi Java adalah apa yang mereka akan mempunyai panggilan berorientasi objek. Dan sesungguhnya, hanya untuk memberikan beberapa definisi lain sana yang anda mungkin lihat, secara umum, terdapat banyak jenis bahasa, tetapi yang paling biasa adalah bahasa prosedur atau penting. Terdapat fungsi bahasa, yang tidak bermakna bahawa orang lain nonfunctional. Dan kemudian ada bahasa berorientasikan objek. Dan ini mungkin yang terbaik pengkategorian kebanyakan bahasa yang pernah anda akan memilih untuk jenis projek komersil. Ini akan menjadi terlalu banyak, Saya fikir, lubang tikus turun ke bawah, untuk cuba menerangkan pelbagai perbezaan. Tetapi bahasa kami telah lihat itu far-- C adalah prosedur atau bahasa penting. Baru-baru ini mencipta bahasa cenderung untuk menjadi, maaf, berorientasikan objek, yang bermaksud mereka mempunyai ciri-ciri lain kepada mereka. Bolehkah saya menerangkannya dengan cara ini? Mari kita tidak pergi ke sana. cara berorientasikan objek anda boleh implement-- anda boleh memodelkan dunia sebenar yang lebih berkesan. Umat ​​manusia, dari masa ke masa, telah digambarkan, wow, ia akan lebih baik jika bahasa saya mempunyai ciri-ciri ini atau ciri yang. Dan itulah sebabnya kita mempunyai begitu banyak bahasa di dunia. orang yang munasabah, pintar orang, bersetuju atau tidak bersetuju dan selalunya jenis datang bersama-sama pada membangunkan bahasa baru semua bersama-sama. Contoh terbaik. Apple mencipta Swift dalam harapan mungkin menurunkan bar untuk pembangunan iPhone, kerana language-- sebelumnya dipanggil Objektif-C, yang boleh juga berada dalam senarai kami sini-- adalah lebih sukar difahami dan banyak sukar untuk membalut fikiran seseorang sekitar. Dan sebagai pengaturcaraan menjadi boleh dikatakan lebih mudah dan lebih meluas diterima pakai oleh orang walaupun kurang teknikal, goal-- yang ia adalah satu matlamat yang sangat berani untuk cuba untuk mengurangkan halangan kepada kemasukan dengan membuat bahasa sendiri lebih mudah untuk memulakan dengan, tetapi tidak kurang kuat semestinya. Dan satu bahasa lain. Mengapa kita tidak melihat dengan di sesuatu seperti Python, yang sangat banyak menjadi tren hari ini. Python. program sampel. Mari kita lihat. "Hello World" bahasa. Mari lakukan ini. "Hai dunia." Mari kita lihat jika ini memberikan kita satu contoh yang bagus. OKEY. Jadi ini adalah sebenarnya jenis menyeronokkan. Jadi jika anda pernah google "Hello World," yang berlaku untuk menjadi salah satu program pertama yang pernah ditulis dalam bahasa yang moden, hanya sebagai bukti konsep, anda boleh melihat pelbagai perlaksanaan ini. Antara bahasa-bahasa ini Saya tidak pernah mendengar. Tetapi anda boleh see-- mari kita pergi ke Asas, yang saya pelajari tahun lalu, sebahagiannya. Ini adalah satu bahasa yang menyeronokkan kerana anda terpaksa, sebagai programmer, nombor semua barisan anda. Tidak seperti apa yang saya lakukan apabila saya menulis kod pseudo di atas dokumen yang kuning awal untuk carian binari, untuk mencari buku telefon. Dan sebagainya, jika anda mahu untuk pergi ke baris lain, anda benar-benar akan menaip, pergi ke 10, atau pergi ke 20. Dan jika anda menulis garisan, konvensyen adalah untuk melakukan, ini adalah line 10, ini adalah barisan 20, ini adalah selaras 30, 40, dengan apa-apa di antara, dengan itu memberi diri anda beberapa bilik jika anda membuat keputusan, tunggu satu minit, perlu saya telah menambah beberapa more Kod suatu tempat. Anda masih mempunyai semacam sembilan peluang untuk memerah bahawa di antara program anda sebelum anda terpaksa secara manual menomborkan semula segala-galanya. Jadi ini adalah jenis apa yang saya maksudkan apabila saya mengatakan dunia telah datang dengan ciri-ciri baru. Di suatu tempat di sepanjang jalan seseorang yang sedar, kanak-kanak ini adalah bodoh. Ini hanya mewujudkan bekerja untuk pengaturcara. Jadi dia hanya jenis dibina lapisan baru di atas itu supaya anda tidak perlu bimbang tentang apa nombor talian kod anda sebenarnya pada. Oleh itu, apabila anda boleh memilih satu bahasa atau yang lain? Nah, yang ini bahasa adakah anda asyik untuk mendengar tentang yang paling dalam dunia anda sendiri hari ini? Mari kita jatuh bawah Objektif-C juga. PENONTON: C #. DAVID J. MALAN: C #. Jadi biarlah saya warna. Adakah kita mempunyai warna kami yang lain di suatu tempat? Jadi C #. Dan apa yang anda tahu tentang C #? spring Apa-apa sahaja di fikiran? PENONTON: Ia adalah satu bahasa pengaturcaraan. DAVID J. MALAN: Ia adalah satu bahasa pengaturcaraan. OKEY. Itu benar. Oleh itu, kita bercakap tentang C #. C # cenderung untuk digunakan dalam persekitaran Windows, jadi jika anda menulis perisian Microsoft untuk Windows, C # adalah sangat biasa digunakan, sama ada ia adalah untuk perisian desktop, atau walaupun perisian telefon pada telefon Windows, jika anda mempunyai mereka, atau di web walaupun terlalu. Dan sebenarnya, mungkin Kareem disebut ASP lebih awal? Jadi ada juga ini perkara yang dipanggil rangka kerja, yang kita boleh memperkenalkan dengan sambungan. Rangka kerja, seperti ASP. Berdiri untuk laman pelayan aktif. Dan ini adalah kod dan cara pengaturcaraan yang biasanya memudahkan untuk menulis aplikasi berasaskan web. Dalam erti kata lain, ia akan menjadi super, super menjengkelkan untuk menulis laman web yang dalam bahasa C yang kita lihat sebelum ini, kerana anda akan perlu menggunakan cetak + F, anda perlu menggunakan kata kunci yang "Utama" dan pendakap kerinting. Banyak sintaks sukar difahami dan pendekatan untuk melaksanakan sesuatu yang agak kompleks. A laman web. Dan supaya bahasa lain telah berkembang untuk membuat yang jenis perkara mudah. Dan seterusnya, orang telah datang dengan rangka kerja, jenis alat yang boleh anda gunakan yang menjadikannya lebih mudah untuk menulis laman web. Jadi misalnya, untuk membuat ini konkrit banyak lagi, biarlah saya membuka hanya fail teks untuk seketika. Dan anda mungkin ingat semalam bahawa kita berkata sesuatu seperti, ini adalah halaman web. HTML. Tutup HTML. Biar saya skip kepala dan hanya melakukan badan di sini. Katakan yang saya mahu menulis bukan "Hello World" tetapi "Hello David," di mana David adalah nama log masuk pengguna. Apa sesuatu seperti ASP akan lakukan, atau JSP-- yang merupakan pelayan Java pages-- atau apa-apa bilangan rangka kerja lain adalah mereka tidak bahasa, per se. Mereka hanya seperti perisian tambahan yang anda akan memasang ke dalam persekitaran anda yang hanya membuat ia lebih mudah untuk program. Jadi misalnya, bukannya perlu lakukan sesuatu seperti "hello, printf (" David ")" atau sesuatu yang jenis bersama mingling-- jenis kod yang kami telah lihat sebelum itu anda akan melakukan sesuatu yang lebih mudah, seperti "nama%." Dan supaya rangka kerja ini, seperti ASP-- dan saya tidak ingat jika saya mendapat sintaks yang hanya sesuai untuk ASP. JSP adalah little-- mungkin baik ini? Jadi dengan ASP, ini adalah jenis sintaks khas bahawa beberapa pemaju telah membuat keputusan ini mungkin membantu orang keluar. Dan saya dapat meluahkan lebih ringkas ruang letak, misalnya. Seperti meletakkan nilai di sini, di mana nama nilai ini tidak N-A-M-E, ia adalah beberapa nilai disimpan di sana. Jadi "nama," dalam konteks ini, kita akan memanggil pembolehubah. Algebra mempunyai pembolehubah seperti x dan y, dan z. Pengaturcara menggunakan pembolehubah yang lebih deskriptif daripada x, y, dan z, biasanya. Jadi "nama" secara literal akan menjadi beberapa jenis bekas memori untuk sesuatu seperti D-A-V-I-D, sebab nama-Ku, atau sesiapa lagi yang log masuk ke dalam laman web. Dan hal ini adalah jenis mudah yang anda dapat dengan persekitaran tertentu. Jadi C # dan sesuatu seperti ASP akan sangat yang biasa digunakan dalam dunia Windows, sama ada untuk desktop perisian atau pelayan web, terutamanya jika pelayan anda yang seterusnya menjalankan Microsoft Windows dan Microsoft IIS-- atau Internet Maklumat Server, jika saya mendapat akronim right-- yang merupakan pelayan web Microsoft. Jadi apa bahasa lain adalah orang biasa dengan, atau yang pernah anda dengar lebih kerap daripada tidak? PENONTON: Saya tahu bahawa Python jenis yang popular [didengar]. DAVID J. MALAN: Sangat popular. Jadi Python sini digunakan sangat kerap dalam aplikasi atau data saintifik sains, di mana anda mempunyai banyak data yang anda mahu untuk menganalisis dan anda mahu menggunakan bahasa pengaturcaraan untuk itu. R biasanya boleh digunakan untuk juga, dalam konteks statistik. Tetapi Python mempunyai banyak ciri-ciri terbina dalam. Begitu banyak tambahan perpustakaan, sehingga orang berkata. Perpustakaan adalah hanya koleksi kod yang orang lain menulis bahawa anda boleh menggunakan sehingga anda tidak perlu mencipta semula mereka roda. Dan sebagainya Python adalah sangat biasa digunakan dalam aplikasi sains data. Tetapi ia juga sangat biasa digunakan dalam aplikasi web. Anda boleh melaksanakan yang dinamik laman web menggunakan Python. Dan dengan laman web dinamik, saya bermakna kandungan tidak hanya statik seperti kita dicipta semalam, oleh hanya sukar pengekodan dalam teks Latin dan lain-lain perkara-perkara tersebut, tetapi keupayaan untuk log masuk, keupayaan untuk membeli sesuatu, keupayaan untuk menyemak dengan kereta sorong membeli-belah anda, atau sebagainya. Semua itu memerlukan dinamisme dan anda memerlukan beberapa bahasa seperti salah satu daripada. PENONTON: Jadi adakah Python mempunyai sendiri lanjutan, sama suka [didengar] DAVID J. MALAN: Ia tidak. Jadi dalam dunia Python, Django adalah rangka kerja yang sangat popular untuk Python. WSGI adalah satu lagi mekanisme itulah jenis berbeza daripada ini tetapi sama dalam semangat. Ia adalah add-on yang yang membolehkan anda untuk menjalankan kod Python pada pelayan. Ada other-- yeah. Oleh itu, kita ini akan memanggil rangka kerja. Dan ia sedikit penyalahgunaan. Ini adalah lebih daripada teknologi pelayan web. Tetapi kita akan memastikan ia mudah dan meletakkan dalam ruangan ini tetap. OKEY. WSGI. WSGI. Satu lagi thing-- dan sebenarnya, mari saya bergerak yang ke kolum sendiri, kerana saya akan menjerit pada diri saya untuk memasukkannya ke dalam baldi yang sama. Mari kita meletakkan ini ke dalam pelayan ciri-ciri, katakan. Itu bukan satu istilah teknikal. Jadi di sini kita mungkin WSGI. Ada CGI, yang merupakan lebih tua teknik untuk berkhidmat sehingga bahasa seperti Perl atau PHP, atau beberapa orang lain. Sekali lagi, saya sebutkan syarat-syarat ini tidak begitu banyak untuk jenis dicat di dlm wol mereka, tetapi supaya jika anda melihat mereka ia sesuatu anda hanya google untuk membaca lebih lanjut. Tidak ada jus sebenar kepada beberapa perkara-perkara ini. Tetapi mari kita kembali kepada bahasa. Kita bercakap tentang C #, Python. Apa lagi yang mungkin anda gunakan untuk web pengaturcaraan hari ini? Mari kita memberi tumpuan kepada itu masih. PENONTON: PHP. DAVID J. MALAN: PHP. Dan mari kita kembali kepada yang satu. Jadi PHP adalah sangat biasa digunakan. PHP cenderung untuk mendapatkan rap buruk. Ia bermula sebagai bahasa yang dilaksanakan oleh orang yang mungkin tidak semestinya yang terbaik pereka bahasa. Dan supaya anda boleh membaca segala macam artikel dalam talian tentang bagaimana buruk PHP. Dan malangnya, ini adalah manifestasi, sebahagiannya, hanya perbahasan agama yang meletus di kalangan pengaturcara. Dan ini adalah sesuatu bernilai mengingati, dari perspektif perniagaan, yang ia sangat mudah bagi orang-orang teknikal untuk mendapatkan semua bekerja dengan mereka pendapat mengenai perkara-perkara tertentu. Dan ia tidak bermakna bahawa yang menjerit kuat sekali atau dengan kuat, pendapat yang paling marah betul. Banyak kali, ia benar-benar hanya tidak mengapa. Dan supaya orang hanya dengan alasan apa sahaja berat sebelah mereka sendiri atau zon selesa berada. Dan supaya anda perlu menyimpan bahawa dalam fikiran apabila membuat keputusan, yang hanya kerana seseorang berkata ini adalah bahasa yang tepat untuk kerja, yang mungkin benar, tetapi ia juga hanya mungkin ia adalah bahasa betul dalam kemahiran mereka sendiri menetapkan atau zon selesa. Yang tidak buruk, tetapi anda perlu sedar bahawa mungkin ada beberapa konteks sana. Terdapat beberapa objektif kenyataan yang salah, seperti C adalah bahasa yang salah untuk digunakan hari ini untuk melaksanakan laman web hampir selalu. Tetapi ia tidak munasabah untuk mengatakan bahawa mana-mana salah bahawa kami telah dibulatkan setakat ini. PHP telah melalui banyak versi. Jadi bahasa cenderung untuk mempunyai versi nombor yang berkaitan dengan mereka. PHP adalah sehingga, saya fikir, versi 7 sekarang, jadi ia telah wujud sekian lama. Dan sebagai bahasa mendapatkan yang lebih baru, mereka sering mendapatkan ciri-ciri baru. Tetapi anda perlu berhati-hati dengan ini kerana jika laman web anda telah dilaksanakan dalam versi 7 PHP tetapi anda cuba untuk menjalankan laman web anda, atau mungkin anda telah disalurkan pembangunan kod anda kepada orang lain dan mereka mail kepada anda atau hantar kepada anda dan mereka berkata, di sini, meletakkan ini pada pelayan web anda, Jika pelayan web anda adalah beberapa tahun outdated-- sama ada server anda sendiri atau host-- web ia mungkin tidak benar-benar menjalankan. Jadi ini adalah jenis perkara-perkara yang seseorang perlu berhati-hati dengan apabila menaik taraf laman web atau melaksanakan untuk kali pertama. Saya mendengar JavaScript awal. Jadi JavaScript yang menarik satu dalam yang ia biasanya sebelah pelanggan, seperti yang kita akan melihat selepas rehat, yang bermakna ia berjalan dalam pelayar pengguna. Tetapi anda juga boleh menjalankan JavaScript hari ini menggunakan sesuatu yang dinamakan Node.js, di mana Node.js adalah satu mekanisme untuk berjalan kod JavaScript sebelah pelayan, bukannya menggunakan Python, atau PHP, atau lain-lain bahasa tersebut. JavaScript amat sesuai untuk aplikasi chat dan masa sebenar aplikasi, manakala PHP tidak besar bahasa bagi melaksanakan sesuatu seperti pelayan chat, di mana pengguna terus berhubung dengan ia sentiasa. PHP adalah lebih daripada lawatan saya sekali, kembali Hasilnya, dan kemudian klik pautan lain beberapa saat atau minit dari sekarang. Manakala Node.js dan JavaScript boleh digunakan lebih untuk sambungan berterusan. Bahasa-bahasa lain yang anda mengesyaki biasanya digunakan untuk barangan web? PENONTON: Adakah jQuery menjadi rangka kerja? DAVID J. MALAN: Soalan yang baik. Sama ada. Saya akan memanggil jQuery perpustakaan, di mana lagi perpustakaan adalah hanya sekumpulan kod bahawa orang lain mempunyai bertulis yang biasanya menyelesaikan beberapa masalah yang menjadikannya, mudah-mudahan, lebih mudah bagi anda untuk melakukan kerja anda. Dan biarlah saya melakukan satu contoh ini dalam konteks web. Dalam konteks web ada bahasa ini, JavaScript, yang kita akan lihat nanti, di mana anda boleh berkata sesuatu seperti this-- "Document.getElementByID." Dan apa yang saya memanggilnya semalam? Pertama, saya fikir, adalah ID unik saya berikan untuk elemen yang kelihatan seperti ini. "P id =" pertama ">" dan kemudian kita mempunyai seperti "ipsum Lorem," dan sebagainya. Jadi, jika saya menulis satu program di JavaScript untuk entah bagaimana memanipulasi, menukar laman web yang kita sedang bermain dengan semalam, Saya akan menggunakan ini garis diserlahkan kod untuk mendapatkan coretan tertentu HTML dari halaman saya, bahawa nod tertentu, seperti yang kita akan memanggilnya. Walau bagaimanapun, dalam jQuery, dan bukannya secara bertulis ini, yang code-- JavaScript mentah hanya keluar dari kotak, itulah bagaimana anda naik it-- anda akan sebaliknya hanya berkata, "#first." Itulah yang setaraf. Dan sebagainya hanya berdasarkan ini sangat contoh yang sukar difahami, apa yang mungkin adalah hujah untuk menggunakan jQuery? Mengapa pemaju akan menggunakan perpustakaan seperti jQuery, berdasarkan contoh terpencil ini, mungkin? PENONTON: Kod Kurang. DAVID J. MALAN: Ya. Ia adalah kod kurang. Ia hanya lebih cepat untuk menaip. pengisi adalah bahawa ia kelihatan menakutkan. Anda tidak boleh benar-benar membacanya kiri ke kanan. Malah, kerana ia kebanyakannya tanda baca kini bukan sebenar kata-kata, Saya jenis boleh membuat kesimpulan bahawa "Document.getElementByID" mendapat unsur dari dokumen itu melalui ID itu. Saya benar-benar boleh menggunakan ada apa-apa mnemonik dari perkara ini di sini. Jadi ia adalah satu kekurangan. Ada kecanggihan yang datang sering dengan menggunakan perpustakaan terutamanya seperti jQuery. Tetapi realitinya adalah jQuery mempunyai jenis untuk menjadi de facto standard, supaya sesiapa sahaja ini hari yang menulis kod JavaScript menggunakan jQuery atau sesuatu seperti itu, dan tidak lagi menulis apa-apa ungkapan lantung sebagai ini, kerana sekali lagi, manusia telah belajar, wow, itu adalah jenis peluang yang tidak dijawab untuk menjadikan kehidupan kita lebih mudah. Jadi manusia menjadikan kehidupan mereka lebih mudah. Soalan yang baik. Bahasa-bahasa lain yang perlu dipertimbangkan. Saya akan berkata kalangan ini senarai Ruby agak popular. Dan sebagainya dalam dunia Ruby, ada rangka kerja yang dipanggil Rails, yang sangat popular. Jadi Ruby on Rails adalah biasa digunakan bersuara. Juga di dunia ini, biarlah saya bulatan Java untuk barangan web, di mana dalam dunia Java anda mungkin mempunyai JSP, atau Java Servlets, yang merupakan teknologi yang sama. Dan ini hanyalah lagi cara untuk menggunakan bahawa bahasa dalam persekitaran pelayan. Jadi apa maknanya? Jika anda mempunyai fizikal server, anda akan benar-benar muat turun perisian pelayan web dan memasangnya dalam apa-apa cara bahawa anda mempunyai sokongan untuk salah satu daripada rangka kerja ini, yang anda boleh, seterusnya, menggunakan salah satu atau lebih daripada bahasa ini. Dan dalam realiti, jika anda mendaftar untuk seperti web host atau sebahagian daripada awan perkhidmatan yang kami bercakap tentang semalam, sering barangan yang hanya datang dengan konfigurasi mesin untuk anda. Anda tidak perlu untuk menetapkan ini secara manual. Tetapi jika anda lakukan, ini adalah di mana peranan pentadbir sistem, jadi untuk bercakap, mula bermain. Dia benar-benar akan melakukan ini jenis barangan untuk anda, atau apa yang dipanggil webmaster sering akan melakukan ini untuk anda. Baiklah. Sebarang pertanyaan mengenai beberapa ini di sini? Atau mana-mana peluang di semua untuk bertanya tentang bahasa? Rangka Kerja? Maka biarlah saya memperkenalkan hanya satu perpustakaan yang lain yang juga sangat umum hari ini. Senarai ini boleh pergi tak terhingga. Dan perpustakaan ini adalah jenis mula jatuh dari nikmat. Ia telah wujud. Ia telah dipopularkan oleh Twitter untuk beberapa ketika. Dan kini banyak laman web, banyak pemaju menggunakannya. Tetapi perkara-perkara baru yang datang keluar dan datang bersama-sama. Tetapi biarlah saya memberikan anda kefahaman yang apa yang dimaksudkan untuk menggunakan perpustakaan. Jadi sekali lagi, JavaScript bahasa yang sangat popular. CSS, atau Cascading Style Sheets, kita bercakap tentang hari ini. Itu juga adalah kehadiran. Tiada siapa yang membuat laman web hari ini tanpa menggunakan HTML dan CSS minimum. Tetapi ia tidak selalunya mudah untuk melakukan perkara-perkara tertentu. Dan jadi biarlah saya pergi ke getbootstrap.com. Alamak. Itu bukan bagaimana kita mengeja. Getbootstrap.com, yang akan membawa saya ke halaman pendaratan untuk perpustakaan ini. Jadi mereka bermurah hati memanggil diri mereka rangka kerja, yang adalah jenis jenis adil, tetapi saya masih akan memanggilnya lebih daripada sebuah perpustakaan daripada rangka kerja. Tetapi ini adalah semantik hanya boleh dipertikaikan. Biar saya pergi ke tab CSS mereka dan biarlah saya pergi ke sesuatu seperti ini. Jadi ingat apa bentuk kami kelihatan seperti semalam di Cloud9? Ia agak hodoh. butang sekolah lama. Saya rasa butang kelabu oleh lalai. Dan segala-galanya adalah benar-benar diformat agak messily. Jadi jika anda mahu bentuk web anda kelihatan sedikit nicer-- biarlah saya zum masuk di sini. Dan dengan lebih bagus saya benar-benar hanya bermakna estetika sangat nitpicky. Jadi notis bagaimana kotak e-mel yang ada mempunyai satu sudut segi empat tepat bulat kepadanya. Jadi ia lebih bersih sedikit di sana. Perhatikan bahawa e-mel perkataan ada sehingga saya mula menaip dan kemudian ia akan hilang. Jadi itu adalah satu ciri yang baik sedikit. Perhatikan bagaimana perkara itu adalah jenis bercahaya baik, yang sesetengah daripada anda ini mendapatkan secara percuma daripada penyemak imbas anda, tetapi sesetengah daripada ini juga perpustakaan, kod yang orang lain mempunyai bertulis yang memberikan anda ini. Sesuatu seperti ini memberikan kata laluan kepada saya. Butang ini adalah sedikit lebih seksi daripada lalai. Sangat banyak menjadi tren sekarang. Sejak iOS 7 atau lebih, dunia telah mendapat sangat rata, sedangkan dunia sebelum mempunyai banyak bayang-bayang drop, banyak daripada pantulan pada ikon. Sama seperti dalam dunia pakaian, ada trend fesyen yang datang dan pergi. Kini segala-galanya adalah rata pada telefon anda. Malah, butang pada anda iPhone kini pautan hanya biru. Tidak ada sering juga butang bulat. Jadi ini adalah hanya perkara-perkara yang masuk dan keluar daripada tren, dan jadi ini adalah bagaimana anda boleh membuat bentuk web mencari yang lebih moden. Butang. Jadi Bootstrap mempunyai banyak butang cantik. Jadi jika anda ingin butang biru, butang hijau, biru, oren, merah. Bootstrap memudahkan untuk melakukan perkara-perkara ini. Ini adalah jenis perkara bahawa anda boleh benar-benar telah dilakukan semalam dengan CSS dan dengan HTML, tetapi ia hanya sakit di leher. Dan sebagainya sebaliknya apa yang Bootstrap akan Engkau adalah sesuatu seperti ini. Jika anda ingin button-- yang ternyata ini adalah tag HTML kita tidak menggunakan yesterday-- dan anda mahu ia kelihatan seperti butang hijau ini, anda benar-benar hanya memberikan kelas, yang kita lakukan bercakap tentang hari ini, daripada "btn btn-kejayaan." Mengapa kata-kata itu? Twitter, pengarang Bootstrap, datang dengan kata-kata. Mereka boleh dipanggil mereka apa sahaja yang mereka mahu. Tetapi apa yang anda masuk sekarang adalah orang lain di Twitter, dalam kes ini, telah digambarkan bagaimana anda membuat butang kelihatan bagus dan bersih dan hijau. Mereka dibungkus fungsi yang dalam kelas CSS, yang dipanggil "btn" dan "btn-kejayaan," supaya mana-mana kita boleh kini menggunakan ia tanpa memikirkan ia. Jadi mereka telah disarikan jauh tanggapan butang hijau jadi kita tidak perlu mengambil berat tentang melaksanakannya diri kita sendiri. Kami benar-benar boleh memberi tumpuan kepada melaksanakan perkara menarik kepada kami. Jika kita tatal ke bawah di sini. Mesej ralat pada skrin. Kadang-kadang anda mahu mesej sedikit untuk muncul di bahagian atas pelayar. Mana-mana kita boleh melakukan ini dengan beberapa usaha, selepas pelajaran semalam, tetapi mengapa anda akan mengganggu? Itulah apa-apa tidak menarik yang detail estetik. Mari kita berdiri di atas bahu Bootstrap dan hendaklah mereka memberi kita perkara-perkara seperti ini, di mana kita secara literal, untuk mendapatkan kotak merah, hanya perlu melakukan perenggan tag dengan kelas dengan- maaf. "Bg-bahaya" akan memberikan kita kotak merah ini sebaliknya. Sekarang mari kita pergi ke perkara yang lebih menarik. Jika saya kembali ke bahagian atas halaman ini dan pergi ke Components, kini dunia mendapat lebih menarik. Sebagai contoh, sangat biasa adalah drop down menu seperti ini. Ini akan menjadi mutlak sakit untuk dilaksanakan. Dan ia tidak begitu lama lalu bahawa kita pengaturcara akan mempunyai untuk melaksanakan jenis menu dari awal. Tetapi ia seperti satu paradigma biasa bahawa perpustakaan seperti Bootstrap hanya memberi anda keupayaan untuk membuat drop down menu ini, jauh lebih mudah. Tidak ada satu cara untuk melakukannya, tetapi jika saya membaca dokumentasi Saya akan melihat bahawa, OK, saya perlu menggunakan HTML ini jika saya mahu drop down menu yang berkelakuan seperti itu. Begitu juga, mari kita pergi ke butang drop down. Jadi ini adalah lebih pelamun. Jika saya mahu ini kelihatan seperti butang tetapi itu segi tiga kecil bermakna Saya perlu klik di atasnya dan mendapatkan menu ini, ini adalah menggunakan bahasa yang dipanggil JavaScript. Dan kita semua dapat melaksanakan ini dalam JavaScript. Tetapi sekali lagi, ini adalah roda anda tidak mahu untuk mencipta semula. Anda hanya mahu mengambil ia di luar perpustakaan rak untuk ini. Mari kita pergi ke sesuatu seperti bar kemajuan. Jadi sesuatu seperti ini adalah jenis sejuk. Jika anda pernah melihat kemajuan yang bar bergerak merentasi skrin, melaksanakan yang sering hanya ikon berputar. Malah, hanya sebagai diketepikan, mari aku pergi ke Ajax-- apa yang ia? maklumat Ajax? Alamak. Ajaxinfo. Biar saya ingat alamat. Di sana kami pergi. Jadi, jika anda pernah melihat beberapa animasi manakala halaman is loading, atau berfikir, atau menyimpan, atau mewujudkan sesuatu, anda mungkin melihat animasi seperti ini. Jadi mari kita melihat sesuatu seperti ini di sini, dan mari kita memilih warna latar depan hijau, yang berasa jenis mesra. Bolehkah saya klik ini? Datang satu. OKEY. Kami hanya akan pergi dengan merah kerana itulah yang kami terima. Jadi di sini kita mempunyai. Jadi, jika anda pernah lihat ini pada skrin, mana tiba-tiba ia muncul dan kemudian tiba-tiba hilang, apa yang ia yang yang melaksanakan itu? Nah, ini adalah hanya GIF a. G-I-F. Dan ini adalah animasi fail, yang hanya bermaksud ia seperti sebuah buku komik sekolah lama. Terdapat hanya sekumpulan yang berbeza bingkai yang akan [gagap] dan hanya mengulangi. Dan ia mewujudkan ilusi pergerakan. Jadi sebaik sahaja halaman yang dilakukan memuatkan atau melakukan sesuatu, apakah programmer lakukan? Well, dia hanya menyembunyikan imej ini. Jadi semua bar kemajuan adalah adalah jenis daripada suka filem yang sedang anda menonton. Anda semacam sedar kepada hakikat bahawa ia tidak benar-benar melakukan apa-apa, ia hanya bergerak. Kemudian, apabila ia dilakukan berjalan, mereka hanya menyembunyikannya atau mematikannya. Dan itu semua sihir yang berlaku di sana. Bootstrap memberikan anda sesuatu yang sedikit pelamun, di mana anda boleh sebenarnya melihat peratusan kerana ia pergi, tetapi ia juga adalah hanya jenis animasi yang mudah. Mari kita lihat beberapa akhir lagi contoh-contoh yang kompleks di sini. Sesuatu seperti modal a. Adakah sesiapa yang tahu apa modal adalah? Tetingkap modal umumnya satu yang sepatutnya untuk mengambil alih latar depan dan menghalang anda daripada melakukan apa-apa lagi. Ia semacam memaksa ini pengguna perhatian ke tengah-tengah skrin, mengunci mereka keluar, biasanya, segala-galanya. Jadi jika saya melancarkan demo ini, skrin secara amnya akan menjadi kelabu. Nah, bagaimana kita membuat ia kelabu? Nah, kita mungkin hanya berubah warna latar belakang seperti yang kami lakukan semalam atau sesuatu seperti itu. Mungkin ia tindihan yang separa telus. Dan kini melihat yang boleh anda lakukan perkara-perkara mewah seperti ini. Jadi jika anda pernah klik pada butang dan mahu pop keluar sedikit untuk hadir, anda boleh berbuat demikian. Dan sebagainya yang mengambil berat tentang all-- yeah? PENONTON: Jadi dengan Bootstrap, untuk mendapatkan ia diperbadankan, adakah ia semudah seperti semalam kita lakukan halaman gaya CSS? DAVID J. MALAN: Sesungguhnya. soalan benar-benar baik. Biar saya pergi ke Bermula. Dan ya. Apa yang anda perlu lakukan untuk penggunaan Bootstrap asasnya menyalin dan paste tiga barisan panjang kod ke bahagian atas page-- web anda sendiri ketua page-- anda dan anda dan berjalan. Dan ada cara yang berbeza untuk melakukan , tetapi ini akan menjadi yang paling mudah. Jadi apa yang berguna tentang semua ini? Nah, jika anda tidak begitu banyak pelaksana laman web tetapi anda cuba untuk mereka bentuk, atau anda ingin memberikan seseorang dengan gambar rajah rangka dawai, jadi untuk bercakap, atau renditions hanya artis apa yang anda mahu lakukan, saya, untuk ini hari, sering akan pergi ke laman web seperti Bootstrap, di mana jika saya mahu melaksanakan something-- seperti baru-baru ini di kampus kami mahu melaksanakan alat berasaskan web untuk memandu arah katalog kursus Harvard, menjadikannya lebih mudah untuk pelajar untuk melayari melalui kursus-kursus dan menambah kursus untuk senarai membeli-belah, jadi untuk bercakap, untuk jenis memutuskan apa mereka mahu mengambil. Saya cuba bayangkan diri saya, apa bahan-bahan akan kita mahu gunakan untuk membina ini? Apa yang akan antara muka pengguna menjadi seperti? Dan hanya melihat melalui laman web seperti ini atau lain-lain laman perpustakaan itu, anda boleh mendapat inspirasi, kerana wow, Saya boleh menggunakan widget ini, dan widget ini, dan widget ini. Dan kemudian benar-benar apa pengaturcara bermula untuk dilakukan, terutamanya pada hari-hari dalam ini dunia yang lebih moden pengaturcaraan web, adalah pengaturcaraan semakin mengenai pendawaian perkara bersama-sama. Semacam mengambil ini dari rak, ini dari rak, ini dari rak, dan anda menjadi salah pintar untuk menyambung semua orang-orang titik, tetapi akhirnya membina sesuatu dengan lagi berdiri di atas bahu orang lain, supaya anda tidak menghabiskan sebulan melaksanakan drop bodoh menu ke bawah, yang sebenarnya sukar untuk dilakukan jika anda mahu ia bekerja pada Chrome, dan IE dan Firefox, dan apa-apa beberapa pelayar lain. Inilah sebabnya mengapa ada ini kaya perisian sumber komersial dan terbuka industri juga. PENONTON: Jadi adakah Bootstrap mendapatkan dikemaskini dan anda perlu kemudian mengemas kini link anda? DAVID J. MALAN: Ia tidak. Well, ya, ia tidak. Bootstrap kini pada versi 3.3.6. Dan secara amnya apa yang anda akan do-- ini sebenarnya bernilai menyebut. Ada apa yang umumnya dikenali sebagai pemversian semantik sistem di dunia. Tidak semua orang melakukannya. Tetapi jika anda telah melihat nombor versi yang dalam bentuk x.y.z-- jadi sebagai contoh, versi pertama program yang mungkin 1.0.0. Atau jika ia adalah sangat, sangat beta, atau walaupun status alfa, yang bermaksud penggunaan risiko anda sendiri, ia bukan benar-benar bersedia untuk masa perdana, anda mungkin mula 0.0.1 atau beberapa pengiktirafan seperti itu. Tetapi jika perisian bermula pada versi 1,0, atau setara 1.0.0, biasanya, apa yang biasa ini days-- walaupun tidak omnipresent-- adalah jika syarikat atau perbaikan programmer individu beberapa bug dalam beberapa keping perisian yang benar-benar adalah bug, yang pembetulan hendaklah tidak kesan anda di all-- ia tidak berubah tingkah laku program ini, ia hanya membetulkan sesuatu yang tidak berfungsi properly-- anda lakukan biasanya mengemas kini nilai z di sana. Ertinya seseorang seperti Kareem hanya boleh pergi ke laman web beliau, membabi buta menukar nombor versi dari 1.0.0 kepada 1.0.1, menyimpannya, kapal, dan dalam teori, tidak perlu bimbang bahawa dia hanya patah laman web beliau kerana beberapa kekurangan fungsi, kerana sesuatu yang lain berlaku. Sementara itu, jika I programmer atau beberapa syarikat adalah untuk membuat beberapa ketara perubahan yang menambah fungsi, Saya mungkin mengemas kini kita 1.1.0 kerana saya sebenarnya mengubah tingkah laku perpustakaan. Saya memberi anda fungsi mungkin lebih. Akhir sekali, jika saya benar-benar asasnya perubahan perisian supaya banyak bahawa ia akan memecahkan banyak pengguna laman web atau aplikasi, maka saya wajib, dalam model ini, untuk menaik taraf nombor versi utama juga, yang merupakan perubahan pecah. Dalam erti kata lain, saya mungkin mempunyai sokongan dihentikan untuk drop mereka down menu. Jadi, jika anda menaik taraf kepada 2.0, separuh laman web anda mungkin berhenti kerja. Dan ini adalah jenis isyarat kepada masyarakat mengenai apa yang yang terlibat dalam membuat menaik taraf. Satu peluang yang baik untuk meningkatkan. Soalan-soalan lain? Baiklah. Nah mari kita lihat pada satu perlawanan akhir topik dalam segmen ini pengaturcaraan susunan teknologi, iaitu yang berkaitan dengan mudah alih. Jadi dalam dunia telefon bimbit hari ini anda ada-- dan iPads, dan permukaan, dan semua orang-orang jenis daripada devices-- anda mempunyai banyak pilihan ketika ia datang untuk melaksanakan aplikasi atau laman web untuk peranti mudah alih pelanggan anda. Jadi hanya menyatakan jelas, mungkin hari ini, apakah platform untuk membangunkan dalam ruang mudah alih? Apa yang peranti anda mungkin mahu menyokong dengan aplikasi atau laman web anda? PENONTON: Apple. DAVID J. MALAN: OK. Jadi peranti Apple. Ini bermakna iPhone, dan bahawa bermakna iPad, dan mungkin juga iPod. Apa lagi? Olivier? PENONTON: Android. DAVID J. MALAN: Android. OKEY. telefon supaya Android, Android tablet, pasaran Android adalah lebih Messier because-- dan walaupun Apple menjadi tidak kemas. Sedangkan suatu masa dahulu iPhone adalah saiz tertentu, dan iPad adalah saiz tertentu, dan iPod adalah saiz tertentu, kini kita ada iPad Mini dan nipis orang-orang, dan iPhone 6 Plus dan 6. Ia menjadi kacau-bilau. Ia menjadi dunia Android. Dan saya katakan ini dengan jenis rolling mata saya kerana dari satu pemaju perspektif, ia adalah satu sakit di leher apabila anda tidak mempunyai Steve Jobs ' visi kawalan mutlak ke atas semua spesifikasi ini. Apple masih tidak kerana mereka orang-orang yang membina perkakasan. Tetapi ia adalah satu perkara yang baik, jika Saya adalah seorang pemaju perisian, hanya tahu bahawa saya iPhone sentiasa akan menjadi ini besar kerana ini bermakna saya sentiasa tahu berapa banyak harta skrin sebenar saya ada. Jadi jika saya mahu meletakkan ikon di sudut atas sebelah kiri, ia akan berada di dalam yang sama masukkan ke dalam peranti tunggal setiap pelanggan. Tetapi dalam dunia iPhone 6s dan iPhone 6 plus dan dalam dunia Android telefon, itu semua atas peta. Dan oleh itu menjadikannya lebih sukar untuk program perkara, terutamanya antara muka pengguna, kerana sekarang anda perlu bermula mengatur antara muka pengguna anda agak, tidak sama sekali. Dan yang sama telah benar pada pelayar, dan komputer meja dan komputer riba untuk tahun kerana anda, sudah tentu, mempunyai saiz skrin yang berbeza. Apa lagi? Anda mungkin mempunyai permukaan, seperti dari Microsoft. Anda mungkin ada-- PENONTON: Telefon Windows. DAVID J. MALAN: Apa itu? PENONTON: Telefon Windows. DAVID J. MALAN: Ya. Jadi telefon tingkap masih boleh didapati. Jenis jenis BlackBerrys, tetapi mereka terus mencuba. Dan kemudian tandan peranti lain. Jadi bagi sebahagian besar, mari kita mengatakan ini adalah orang-orang yang untuk mengambil berat tentang pada masa ini. Sudah tentu barangan Apple, pasti barangan Android, dan di antara Windows, seperti tablet permukaan seolah-olah dapat menangkap dengan baik. Dan demikian di antara orang-orang peranti, jika anda mahu untuk melancarkan, katakan, kehadiran mudah alih untuk anda syarikat, apa jenis keputusan reka bentuk adakah anda mempunyai untuk membuat? Nah, kita telah berkata di dunia Apple, terdapat sekurang-kurangnya dua bahasa yang biasanya digunakan. Satu dipanggil apa? PENONTON: Objektif-C. DAVID J. MALAN: Ya. Jadi Objektif-C, yang merupakan salah satu yang lebih tua. Ia juga bahasa yang banyak Mac permohonan masih ditulis dalam. Kemudian satu baru yang lain adalah? PENONTON: Swift. DAVID J. MALAN: Swift. Dan orang-orang adalah jenis dua tahu untuk menarik perhatian orang. Kemudian di dunia Android, apa bahasa yang tidak Android digunakan? PENONTON: C #? PENONTON: Jawa. DAVID J. MALAN: Java adalah bahasa "du jour." Dalam dunia Windows, pasti, kami akan berkata C # dalam kes itu. Jadi sudah ini adalah jenis menjengkelkan, kerana apa yang yang bawa pulang untuk perniagaan pemilik atau seseorang yang hanya mahu melancarkan kehadiran mudah alih? Seperti, persetan? Seperti, jika saya mahu menyokong pangkalan pengguna yang agak luas, Saya mempunyai untuk menulis, ia akan kelihatan, tiga permohonan yang berasingan. Satu dalam satu bahasa ini, satu di Jawa, satu dalam C #. Dan walaupun saya mahu fungsi yang menjadi sama, ia tidak mengapa. Saya masih perlu menggunakan yang berbeza bahasa kerana Apple dan Microsoft, dan Google semua sokongan persekitaran yang berbeza. Dan ini telah menjadi satu cabaran bagi tahun. Kembali pada hari, apabila orang yang digunakan untuk membeli perisian di kedai komputer di mengecut kotak dibalut, anda akan sama ada perlu mencapai rak Mac, atau bagi- mungkin ini Mac sangat kecil shelf-- atau rak Windows yang lebih besar dan membeli beberapa perisian. Dan selalunya, tidak ada walaupun apa sahaja untuk anda di atas rak Mac ini. Mengapa? Well, syarikat memutuskan jika 90% di dunia, 95% daripada dunia mempunyai komputer peribadi, mengapa bersusah payah walaupun melaksanakan perkara pada Mac OS? Sebagai aside-- jumlah yang digression-- mengapa bahawa Mac kelihatan begitu tahan terhadap virus, dan cacing, dan ancaman keselamatan? Adakah Apple lebih baik pada ini? Lebih baik pada menjaga komputer selamat? PENONTON: Tolak penonton? DAVID J. MALAN: Itu mungkin sedikit lebih besar kepadanya. Oleh itu, ramai pengguna Mac mempunyai lama mendakwa, oh, menggunakan Mac, anda akan menjadi kebal kepada virus, dan cacing, dan semua perkara-perkara ini yang telah lama dibelenggu PC. Itu mungkin kerana Apple mempunyai pengaturcara lebih baik dan mereka menulis perisian yang lebih baik, atau sistem operasi telah direka lebih baik. Mungkin, tetapi mungkin tidak. Ia mungkin bahawa apabila anda berada yang berusia 12 tahun, atau 30 sesuatu semacam duduk di rumah menulis perisian yang berniat jahat untuk mengambil alih dunia, anda akan pergi selepas sasaran penonton yang lebih besar. 95% daripada dunia yang mungkin berjalan Windows atau beberapa varian itu. Jadi ada sedikit di kedua-dua belah pihak. Tetapi untuk kredit mereka, Apple, untuk pengetahuan saya, tidak benar-benar dianggap diri mereka sebagai lebih selamat, kerana anda hanya menjemput drama jika anda membuat tuntutan itu, saya akan berfikir. Baiklah. Tanpa mendapat terlalu jauh ke bawah itu, bagaimana kita menyelesaikan masalah ini? Adakah anda perlu membeli atau adakah anda perlu , tiga orang yang berbeza untuk membangunkan aplikasi anda? Adakah anda memilih berbanding dengan yang lain? Apakah yang perlu membimbing anda berfikir di sini yang anda fikir? Kareem? Nope. Orang lain. PENONTON: Hanya datang dengan perkakasan. DAVID J. MALAN: datang dengan perkakasan? Apa maksud awak? PENONTON: Untuk alam sekitar. [Didengar] DAVID J. MALAN: Jadi itu adalah benar. Tetapi pelanggan anda, Sementara itu, mungkin mempunyai iPhone, mereka mungkin mempunyai telefon Android, mereka mungkin mempunyai tablet yang dibuat oleh Microsoft. Jadi bagaimana anda mempunyai strategi mudah alih untuk semua ini pengguna yang berbeza? Ia akan kelihatan seolah-olah jika ia kos, katakan $ 1,000 hingga membuat iPhone permohonan, ia akan kos anda $ 2000 untuk membuat aplikasi iPhone dan aplikasi Android, atau $ 3,000 juga menyokong peranti Windows juga. Itu mungkin agak benar, dan ia tidak mungkin walaupun menjadi hubungan yang linear seperti itu. PENONTON: Jika anda ingin mempunyai aplikasi atau tidak, anda boleh mempunyai laman web responsif. DAVID J. MALAN: Baik. PENONTON: Atau anda boleh mempunyai aplikasi asli. DAVID J. MALAN: Ya. Jadi dalam semua konteks ini di sini, kita telah bercakap tentang apa yang orang akan memanggil aplikasi asli. Itulah aplikasi yang ditulis dalam bahasa yang berasal dari peranti itu. Jadi asli Objektif-C atau Swift kod, atau di Jawa, atau dalam C #. Maksudnya apabila anda memuat turun, mari kita mengatakan Snapchat, aplikasi popular, atau apabila anda memuat turun Facebook untuk telefon, anda memuat turun sama ada versi ditulis untuk iPhone anda, atau bertulis untuk telefon Android anda, atau bertulis untuk permukaan anda. Tetapi ada alternatif. Sebagai Olivier telah merujuk kepada, anda sebenarnya boleh menggunakan HTML 5 sebaliknya, menggunakan apa yang dipanggil web yang permohonan, di mana anda hanya melaksanakan kehadiran mudah alih anda dan apa-apa fungsi. Apa yang saya maksudkan dengan kehadiran mudah alih? Seperti laman web anda yang mempunyai anda maklumat kenalan, senarai semua produk anda, mungkin ia mempunyai membeli-belah yang cart, mungkin anda menjual sesuatu melaluinya. Apa sahaja permohonan anda, anda melaksanakannya, tidak dalam Objektif-C, atau Swift, atau Jawa, atau C #, tetapi dalam HTML 5, yang merupakan bahasa yang kita melihat semalam, dengan JavaScript dan CSS. Dan apa yang baik mengenai orang-orang tiga adalah bahawa untuk menjalankan mereka, anda perlukan hanya apa perisian? PENONTON: Penyemak imbas web. DAVID J. MALAN: Penyemak imbas web. Dan yang terbaik yang saya tahu, semua ini peranti dilengkapi dengan pelayar web, supaya pengguna tidak perlu memasang sesuatu yang istimewa. Jadi anda hanya boleh memberitahu anda penonton, pelanggan anda, pergi ke acme.com dalam anda penyemak imbas dan anda akan hanya mempunyai pengalaman berasaskan web yang masih mengisi skrin, tetapi anda tidak perlu bimbang tentang semua kos-kos dan kerumitan ini. Tetapi pasti ada akan menjadi tangkapan di sini, bukan? Terutamanya jika aku tunjukkan bahawa beberapa tahun yang lalu, versi yang pertama aplikasi mudah alih Facebook kebanyakannya permohonan HTML 5. Dan mereka mempunyai, lebih baru-baru ini, ia reimplemented dalam aplikasi mereka yang lain. Jadi mengapa tidak anda segera mahu katakan, dengan baik, jelas kita akan lakukan ini? Apa yang mungkin kos tersembunyi menjadi? PENONTON: Prestasi. DAVID J. MALAN: Performance? Apa maksud awak? PENONTON: aplikasi asli mempunyai prestasi yang lebih. DAVID J. MALAN: Jadi itulah benar, untuk beberapa sebab. Kita boleh menggampangkan jawapannya. Dan ingat perbincangan kita tentang ditafsirkan berbanding bahasa disusun. Ini adalah HTML 5 dan dengan itu, hanya untuk jelas, JavaScript-- biasanya ditulis JS-- dan CSS semua bahasa ditafsirkan, walaupun hanya JavaScript adalah bahasa pengaturcaraan. Dan sebagainya berbanding ini, yang beberapa di antaranya disusun, sekurang-kurangnya ini three-- Objektif-C, Java dan C # - ini, dalam teori, hanya perlu menjadi lebih cepat. Tetapi ada realiti lain bagi- PENONTON: Fungsian? DAVID J. MALAN: Apa itu? PENONTON: Fungsian. DAVID J. MALAN: Fungsi? Bagaimana begitu? PENONTON: Gunakan kamera off telefon atau sesuatu yang anda. Anda boleh menggunakan mereka yang mempunyai pelayar. DAVID J. MALAN: Tepat sekali. Mereka sec-- PENONTON: [didengar] DAVID J. MALAN: Itu satu lagi salah satu yang baik. Ada ciri-ciri yang datang dengan telefon mudah alih hari ini yang tidak, dengan reka bentuk, untuk keselamatan sebab, boleh diakses oleh pelayar web. Kerana ia akan menjadi jenis satu perkara yang menyeramkan jika hanya apabila anda lawati google.com, atau cnn.com, atau mana-mana website.com, bahawa laman web yang mempunyai kuasa untuk menghidupkan pada kamera anda, mengambil gambar anda, dan kemudian menggunakannya. Tetapi anda tidak akan mahu sebuah laman web secara rawak bahawa anda melawat buat kali pertama untuk mempunyai keupayaan itu. Dan supaya apa yang telefon pengeluar biasanya melakukan adalah mereka hanya menafikan akses untuk yang jenis maklumat untuk pelayar, yang bermakna anda tidak boleh melaksanakan kamera. Anda tidak boleh melaksanakan pemberitahuan push, mengeluarkan bunyi bip yang anda dapat pada skrin anda dengan mesej ringkas. Dan sebenarnya, walaupun GPS hanya jenis daripada jenis disediakan untuk pelayar web. Jika anda telah pernah, pada komputer riba atau pada peranti mudah alih, ditarik ke atas sesuatu seperti mungkin cnn.com, tetapi juga stesen berita tempatan cenderung untuk melakukan ini, anda digesa sering dengan message-- foxnews.com mahu tahu lokasi anda. Meluluskan atau menolak. Well, pelayar yang cuba untuk mengakses maklumat GPS anda dari telefon anda. Tetapi bersyukur kerana Microsoft, dan Apple dan Google telah membuat keputusan yang terasa seperti ia merupakan situasi yang berguna, kita mahu Peta Google dan alat-alat lain untuk bekerja, tetapi kita tidak mahu menjalar orang di luar dengan hanya membolehkan mana-mana laman web untuk melakukan ini. Jadi mari kita semacam bertemu separuh ke bawah dan meminta pengguna. Tetapi itu bukan semestinya kes itu dengan semua perkakasan, seperti kamera dan dengan usaha pemberitahuan dan sebagainya, jadi anda mungkin perlu mengorbankan ciri-ciri tertentu. Tetapi prestasi juga. Ia menjadi kurang ketara pada masa kini, mungkin sebagai LTE mendapat sambutan dan lebih cepat kelajuan internet pada telefon, tetapi anda jenis boleh merasakan perbezaannya. Seperti aplikasi berasaskan web hanya berasa lebih perlahan, biasanya, daripada permohonan asli, sebahagiannya kerana aplikasi berasaskan web oleh definisi adalah di internet. Ia bercakap kepada pelayan di web. Dan jika sambungan rangkaian anda perlahan, walaupun menatal mungkin menjadi perlahan. Tetapi permohonan asli, anda perlu sudah pra-downloaded-- mungkin apabila anda berada di rumah dari kedai aplikasi, atau anda sekurang-kurangnya sebelum turun ia secara keseluruhannya sebelum ini, apa sahaja yang anda sambungan speed-- dan jadi sekarang anda mempunyai semua bit yang biasanya anda perlukan. Kecuali mungkin beberapa data yang datang dari pelayan. Jadi ini adalah keseimbangan di sini. Ada jenis pertengahan yang kompromi, sebenarnya. Dan saya fikir atasmu, PENONTON: Gunakan data luar talian. Dalam aplikasi asli, anda boleh [didengar] DAVID J. MALAN: Boleh. Jadi ada isu luar talian, yang benar-benar menjengkelkan jika anda tidak boleh bermain beberapa permainan atau penggunaan beberapa perisian hanya kerana anda di ruangan bawah tanah di suatu tempat atau dalam lif. A permohonan asli berdaya tahan dengan kebarangkalian yang lebih tinggi terhadap itu, andaian anda mempunyai semua data yang anda perlukan dalam negara. Jadi ada pilihan ketiga di sini. Dan mari kita menarik spektrum sebagai aplikasi asli di sini dan aplikasi web di sini. Dan apa yang di tengah-tengah adalah sesuatu called-- dan saya rasa anda mungkin mempunyai menggunakan perkataan sebelum ini, mungkin? permohonan hibrid. Dan seperti perkataan membayangkan, ia sesuatu di tengah-tengah. Ia adalah jenis aplikasi web dan ia adalah jenis permohonan asli. Dan apa maknanya? Ia ternyata terdapat frameworks-- menggunakan istilah daripada perisian earlier-- bahawa orang lain telah menulis untuk setiap satu daripada platform ini. Ini dan belum peranti lain. Malah, saya pergi ke PhoneGap, yang merupakan salah satu rangka kerja seperti ini yang saya percaya Adobe memiliki sekarang. Biar saya pergi ke Bermula. Mari kita lihat. Melihat jika saya boleh melihat senarai alat. Perkakasan. Bermula. perkakasan PhoneGap. Mari kita lihat. akses perkakasan PhoneGap. Biar saya lihat jika kita boleh mencari sedikit hala yang mereka telah ada. Ini adalah di laman web lain. Adakah ini berguna? No. Itulah gonna membuang masa kami di sana. perkakasan PhoneGap. Peranti. API peranti. Nope, mereka telah berpindah. PhoneGap. Mari kita pergi satu pandangan akhir ini dan lihat jika saya boleh menunjukkan kepada anda. Bermula. Pasang PhoneGap. Pasang aplikasi mudah alih. Datang pada. Mereka telah disusun semula segala-galanya. Baiklah. Oh, baiklah. Nah, di sini kita pergi. Ini tidak semua yang menyedarkan, tetapi ini adalah apa yang saya jenis cari. Jadi PhoneGap adalah rangka kerja yang anda boleh memuat turun secara percuma yang memberikan anda beberapa kod starter, pada asasnya. Jadi beberapa kod yang mereka telah menulis yang tidak melakukan apa-apa. Tetapi apa yang ia memberi anda asasnya adalah bersamaan suatu permohonan yang hanya meletakkan segi empat tepat besar pada skrin pengguna. Ia tidak meletakkan bar URL, seperti pelayar, tidak meletakkan alamat. Ia hanya meletakkan sebuah segiempat tepat yang besar. Dan anda mengkonfigurasi ini besar segi empat tepat, di bawah hood, untuk benar-benar pergi ke acme.com, atau mungkin m.acme.com, untuk mobile.acme.com, tetapi pengguna tidak tahu mereka berada di alamat tersebut. Apa yang mereka lihat adalah kandungan laman web. Tetapi apa yang baik tentang makhluk ini aplikasi hibrid adalah bahawa apa PhoneGap dan syarikat-syarikat lain memberi anda adalah mereka memberi anda sedikit kod dalam Objektif-C atau Swift, atau sedikit kod di Jawa, atau sedikit kod dalam C #, dan pada dasarnya, apa yang anda perlu sediakan adalah minimum yang alamat aplikasi berasaskan web anda. Dan kemudian anda berkas ini semua bersama-sama dan anda mempunyai sama ada anda mengakses laman web melalui internet, atau anda juga cache tempatan menyalin dalam permohonan itu, dan kemudian anda menyimpan permohonan anda dalam format iPhone, telefon Android format, format permukaan, atau apa-apa bilangan peranti lain. Anda memuat naik setiap mereka versi kepada Store Main Google, ke App Store, kepada Windows Store, dan sebagainya. Dan sekarang, anda boleh mempunyai semua anda penonton turun benar-benar aplikasi asli, walaupun kebanyakan kod itu ditulis oleh orang lain, tetapi kandungan yang aplikasi asli semua datang dari, biasanya, laman web anda sendiri. Jadi, anda terus menulis laman web anda dalam HTML, JavaScript, dan CSS. Jadi mengapa mengaburkan ayat-ayat ini? Mengapa mempunyai aplikasi hibrid itulah jenis asli, tetapi juga jenis berasaskan web? Apa yang titik keseluruhan menambah kerumitan ini? Maksud saya, walaupun masih, hanya dari mengerling melalui laman ini, panduan Bermula berasa seperti ia mendapat banyak keseluruhan langkah-langkah untuk saya yang perlu dilakukan sebelum saya can-- PENONTON: digunakan semula? DAVID J. MALAN: digunakan semula? Apa maksud awak? PENONTON: Of kod sumber. Jadi kod yang sama akan dijalankan pada semua platform yang berbeza. DAVID J. MALAN: Ya. PENONTON: [didengar] DAVID J. MALAN: Perfect. Jika masa yang ketat dan jika anda tidak mempunyai bahawa banyak developers-- mungkin anda mempunyai satu pemaju dan dia pasti tidak tahu semua ini environments-- pasti tidak baik, dan sudah tentu tidak boleh program dalam ketiga-tiga serentak dan kapal tiga produk dalam masa yang dibenarkan untuk satu, anda boleh minta mereka membina segala-galanya dalam HTML dan JavaScript dan CSS, dan kemudian belajar sedikit kecil sedikit mengenai aplikasi asli, hanya cukup untuk memuat turun rangka kerja seperti ini, untuk kemudian memuat naik produk anda kepada semua pelbagai kedai-kedai aplikasi supaya anda kini mempunyai permohonan asli. Supaya kelihatan seperti menang-menang, tetapi sekali lagi, untuk menjadi jelas, apakah potensi kos atau yang kesalahan? PENONTON: Performance? DAVID J. MALAN: Ya. Prestasi. Adalah sukar untuk menerangkan secara lisan. Jadi jika anda hanya mengambil iman aplikasi mudah alih, aplikasi web akan biasanya melaksanakan lebih perlahan. Ia mungkin tidak kelihatan agak betul, kerana dalam iPhone, dan dalam telefon Android, dan peranti Windows, ada sentiasa sejenis rupa lalai dan rasa untuk semua butang dan menu. Dan syarikat-syarikat di web, boleh cuba lebih kurang mereka estetika dengan perpustakaan seperti Bootstrap, tetapi user-- yang user-- bijak akan tahu bahawa sesuatu yang tidak cukup di sini. Dan itulah denda, mungkin itu bukan satu masalah besar. Tetapi isu prestasi benar-benar adalah satu masalah besar. aplikasi asli akan cenderung untuk hanya menjadi lebih responsif dan oleh itu yang lebih baik. Dan sebagainya, apa yang kemudian mungkin yang terbaik daripada kedua-dua dunia? Jika anda terutama yang kecil syarikat atau kumpulan kecil, anda tidak mempunyai sumber untuk membangunkan sebuah aplikasi selari pada ketiga-tiga platform, dan terus terang, terasa seperti itulah idea yang buruk anyway kerana jika anda melancarkan ia keluar dan ketiga-tiga serentak sedar, kita harus telah menambah beberapa ciri-ciri atau melakukan sesuatu yang berbeza, kini anda perlu menetapkan dalam tiga tempat, bukan satu. Apa yang mungkin optimum strategi sini secara keseluruhan, jika sumber dan masa yang ketat? PENONTON: Lakukan sahaja pada iOS. DAVID J. MALAN: Itu bukan yang tidak munasabah. iPhone, sekurang-kurangnya dalam Amerika Syarikat, adalah super popular. Android masih seolah-olah mempunyai dominan bahagian pasaran, di peringkat global, secara keseluruhan. Jadi, anda tidak semestinya mewakili daripada keseluruhan dunia minggu ini. Tetapi itu sememangnya satu keputusan. Maksud saya, di kampus di sini saya berfikir beberapa nombor kejam atau peratusan mahasiswa mempunyai iPhone dan telefon tidak Android. Tetapi di luar negara, ia adalah jenis sebaliknya. Jadi, anda membuat keputusan berdasarkan kepada penonton anda. Bagaimana anda tahu apa yang penonton anda mempunyai? Well, kita belajar helah semalam. Anda boleh bertanya kepada mereka. Jika anda mempunyai pendengar setia anda boleh menghantar mereka satu bentuk kajian. Atau anda hanya boleh melakukan apa? PENONTON: Google Analytics? DAVID J. MALAN: Apa itu? PENONTON: Google Analytics. DAVID J. MALAN: Google Analytics. Yeah. Atau lebih jenis teknikal, hanya melihat sendiri web pelayan log anda. Kerana apa yang berlaku setiap kali pelayar, sama ada komputer riba, desktop atau telefon melawat laman web anda? Mereka menghantar yang header HTTP yang menunjukkan anda apa yang pelayar dan OS yang mereka gunakan. Jadi, anda boleh membuat kesimpulan, dengan kebarangkalian yang tinggi, apa demografi anda menggunakan cara yang dan kemudian menyesuaikan diri. Jadi andaikan yang tidak boleh diterima. Itulah jenis tidak baik untuk perniagaan jika pengguna Android tidak boleh membeli widget kami. PENONTON: Direka untuk kedua akan mengenakan caj atau tidak? DAVID J. MALAN: Sama ada anda akan mengenakan bayaran? Jadi OK, anda mendapat apa yang anda bayar. PENONTON: Sama ada apl anda gonna bebas atau sama ada ia gonna-- DAVID J. MALAN: OK. Jadi mungkin anda boleh mendapatkan balik kos dengan cara itu, or--? PENONTON: Saya membaca satu kajian yang sekali yang menyatakan lebih ramai pengguna Apple membayar untuk aplikasi versus-- DAVID J. MALAN: Itu betul kerana mereka sudah membayar lebih untuk peranti mereka. Jadi tidak munasabah andaian. PENONTON: [didengar] DAVID J. MALAN: OK. Oleh itu, jika mereka lebih bersedia untuk membayar, kemudian ke neraka dengan pengguna Android. Mereka tidak akan membayar kita apa-apa juga. Kita juga mungkin memberi tumpuan keutamaan kami, sekurang-kurangnya untuk beberapa bulan pertama atau setahun, pada iOS. Totally munasabah. Apa yang lebih inklusif strategi daripada itu? Maybe-- apa itu? PENONTON: [didengar] DAVID J. MALAN: A expensive-- lebih jadi mungkin melabur lebih dalam- teruskan. PENONTON: Ya. Hanya laman web mudah alih. DAVID J. MALAN: Jadi melakukan laman web mudah alih dan tidak walaupun bimbang tentang kerumitan ini. Atau mungkin strategi yang munasabah, yang walaupun Facebook telah mengambil, adalah bermula dengan hibrid aplikasi kerana ia bukan yang jauh lebih sukar untuk melakukan ini daripada ini. Anda hanya perlu membaca beberapa dokumentasi dan memikirkan bagaimana untuk memuat naik perkara yang App Store. Jadi mungkin anda bermula dengan ini, supaya pada satu hari, anda boleh menyokong semua pengguna anda. Dan kemudian, sama seperti Facebook dan syarikat-syarikat lain telah dilakukan, apabila anda mempunyai sumber-sumber, anda mempunyai pekerja, mengapa tidak anda semula melaksanakan- hanya aplikasi iOS. Anda masih mempunyai sesuatu untuk setiap orang, walaupun ia adalah satu pengalaman yang lebih rendah mungkin, dengan permohonan hibrid. Tetapi anda secara beransur-ansur boleh melancarkan dan menggantikan jangka pendek anda langkah-langkah satu aplikasi hibrid dengan aplikasi yang lebih ibunda anda. PENONTON: Tetapi dengan aplikasi hibrid anda akan mempunyai akses kepada ciri-ciri mudah alih? DAVID J. MALAN: Tidak semestinya. Jadi mungkin anda membuat sedar keputusan awal, anda hanya boleh memuat naik foto pada aplikasi iPhone asli untuk Facebook, tetapi tidak pada aplikasi Android, pada mulanya, misalnya. Dan itu sedikit dusta putih kerana aplikasi web mempunyai lebih banyak sekatan daripada aplikasi hibrid ternyata keluar, dan jika kita membaca dokumentasi untuk PhoneGap dan perkara-perkara seperti itu, orang telah datang dengan cara-cara untuk memberikan aplikasi berasaskan web akses kepada kamera, selagi anda menggunakan aplikasi hibrid. Bagaimana yang berfungsi? Kerana hibrid permohonan, mengikut definisi, mempunyai sedikit kod dalam Objektif-C, dan Swift, dan Jawa, atau dalam C #, ia boleh mengakses perkakasan. Tidak semestinya segala-galanya, tetapi ia mungkin sangat baik menjadi kes bahawa anda mempunyai cukup akses untuk mendapatkan kamera, walaupun untuk platform Android, untuk contoh, dalam bahawa contoh dibuat-buat. Apa-apa soalan lain? Baiklah. Mengapa tidak kita mengambil kami 15 minit rehat di sini. Kami akan disambung semula pada tiga dengan akhir melihat pengaturcaraan web, pangkalan data, dan Javascript.