1 00:00:00,000 --> 00:00:01,291 >> DAVID J. Malan: Jadi kita kembali. 2 00:00:01,291 --> 00:00:03,050 Sehingga tingkat tinggi topik pada saat sekarang 3 00:00:03,050 --> 00:00:06,440 adalah tumpukan teknologi, yang tidak istilah khususnya teknis, 4 00:00:06,440 --> 00:00:09,960 itu lebih dari menangkap semua untuk setiap jumlah kombinasi dari teknologi 5 00:00:09,960 --> 00:00:11,840 yang mungkin Anda gunakan untuk memecahkan masalah. 6 00:00:11,840 --> 00:00:14,850 Dan mungkin yang paling cara pas untuk memulai 7 00:00:14,850 --> 00:00:18,110 akan melihat bahasa sejak Aku terus berderak dari sejumlah besar 8 00:00:18,110 --> 00:00:21,000 dan paling semua orang di ruangan memiliki mungkin pernah mendengar setidaknya satu. 9 00:00:21,000 --> 00:00:25,730 >> Dan jadi mengapa tidak kita coba untuk membedakan -UMPC membedakan bahasa ini 10 00:00:25,730 --> 00:00:28,932 dan berbicara sebentar tentang kapan Anda akan memilih salah satu dari yang lain, bagaimana mereka 11 00:00:28,932 --> 00:00:30,890 semacam fundamental berbeda, dan terutama 12 00:00:30,890 --> 00:00:34,830 ketika Anda mengobrol dengan insinyur, atau mencoba untuk memutuskan siapa yang akan dipekerjakan, 13 00:00:34,830 --> 00:00:37,652 atau apa implementasi proposal untuk Greenlight, 14 00:00:37,652 --> 00:00:39,860 bagaimana Anda benar-benar akan membuat orang-orang macam keputusan. 15 00:00:39,860 --> 00:00:41,890 >> Jadi mari kita mainan beberapa hal off. 16 00:00:41,890 --> 00:00:45,300 Bahasa orang mendengar tentang, apa yang terlintas dalam pikiran? 17 00:00:45,300 --> 00:00:48,030 C. OK. 18 00:00:48,030 --> 00:00:48,757 OK, C ++. 19 00:00:48,757 --> 00:00:51,400 20 00:00:51,400 --> 00:00:51,990 Apa itu? 21 00:00:51,990 --> 00:00:52,390 >> AUDIENCE: Python. 22 00:00:52,390 --> 00:00:53,348 >> DAVID J. Malan: Python. 23 00:00:53,348 --> 00:00:55,330 Sangat baik. 24 00:00:55,330 --> 00:00:57,000 Apa lagi? 25 00:00:57,000 --> 00:00:58,810 Dasar visual. 26 00:00:58,810 --> 00:01:01,100 Aku mendengar Java. 27 00:01:01,100 --> 00:01:02,610 Visual Basic-- alias 28 00:01:02,610 --> 00:01:03,150 VB. 29 00:01:03,150 --> 00:01:03,650 Jawa. 30 00:01:03,650 --> 00:01:07,294 31 00:01:07,294 --> 00:01:12,810 NET, yang lebih dari menangkap semua untuk apa biasanya C # sebagai bahasa 32 00:01:12,810 --> 00:01:13,770 yang dimaksud. 33 00:01:13,770 --> 00:01:14,770 Dan biarkan aku menyebutkan bahwa. 34 00:01:14,770 --> 00:01:15,900 Jadi kita akan kembali ke itu. 35 00:01:15,900 --> 00:01:17,560 Maafkan saya? 36 00:01:17,560 --> 00:01:18,170 Maaf? 37 00:01:18,170 --> 00:01:19,877 >> AUDIENCE: SQL. 38 00:01:19,877 --> 00:01:20,876 DAVID J. Malan: Scratch? 39 00:01:20,876 --> 00:01:21,610 AUDIENCE: SQL. 40 00:01:21,610 --> 00:01:22,610 DAVID J. Malan: Oh, SQL. 41 00:01:22,610 --> 00:01:23,110 BAIK. 42 00:01:23,110 --> 00:01:23,750 SQL. 43 00:01:23,750 --> 00:01:29,510 Jadi kita akan kembali ke itu-- sebenarnya, itu good-- setelah istirahat juga. 44 00:01:29,510 --> 00:01:30,572 Apa lagi? 45 00:01:30,572 --> 00:01:32,530 >> AUDIENCE: Oracle. 46 00:01:32,530 --> 00:01:34,670 >> DAVID J. Malan: Jadi Oracle, bukan bahasa. 47 00:01:34,670 --> 00:01:36,560 Sebenarnya mereka akan menggunakan SQL juga. 48 00:01:36,560 --> 00:01:38,360 Jadi mari kita menempatkan bahwa setelah istirahat juga. 49 00:01:38,360 --> 00:01:39,744 Dan maaf, sesuatu di sini? 50 00:01:39,744 --> 00:01:40,660 AUDIENCE: Mathematica. 51 00:01:40,660 --> 00:01:41,390 DAVID J. Malan: Mathematica? 52 00:01:41,390 --> 00:01:42,303 OK, yakin. 53 00:01:42,303 --> 00:01:46,150 54 00:01:46,150 --> 00:01:49,180 Dan MATLAB adalah jenis di sana kadang-kadang. 55 00:01:49,180 --> 00:01:50,060 >> AUDIENCE: R. 56 00:01:50,060 --> 00:01:51,755 >> DAVID J. Malan: R. Mari kita pergi ke sini. 57 00:01:51,755 --> 00:01:54,710 58 00:01:54,710 --> 00:01:55,210 Fortran. 59 00:01:55,210 --> 00:01:55,880 Yakin. 60 00:01:55,880 --> 00:01:57,910 sekolah tua. 61 00:01:57,910 --> 00:01:59,390 Fortran. 62 00:01:59,390 --> 00:02:01,550 COBOL. 63 00:02:01,550 --> 00:02:02,410 Aku akan membuang BASIC. 64 00:02:02,410 --> 00:02:05,990 65 00:02:05,990 --> 00:02:08,539 DASAR. 66 00:02:08,539 --> 00:02:09,390 Apa saja-- 67 00:02:09,390 --> 00:02:10,352 >> AUDIENCE: MATLAB? 68 00:02:10,352 --> 00:02:11,310 DAVID J. Malan: MATLAB. 69 00:02:11,310 --> 00:02:12,248 Oh, mengalahkan Anda untuk itu. 70 00:02:12,248 --> 00:02:15,370 71 00:02:15,370 --> 00:02:15,870 Apa pun? 72 00:02:15,870 --> 00:02:18,700 Saya bisa memikirkan beberapa orang lain. 73 00:02:18,700 --> 00:02:21,876 Saya bisa memikirkan beberapa orang lain. 74 00:02:21,876 --> 00:02:22,792 Dan apa yang terakhir? 75 00:02:22,792 --> 00:02:23,970 >> AUDIENCE: ASP. 76 00:02:23,970 --> 00:02:25,030 >> DAVID J. Malan: ASP? 77 00:02:25,030 --> 00:02:26,100 Ya. 78 00:02:26,100 --> 00:02:27,100 halaman server aktif. 79 00:02:27,100 --> 00:02:30,270 Yang umumnya akan jatuh di bawah bahasa lain, kadang-kadang C #, 80 00:02:30,270 --> 00:02:32,040 jadi mari kita meninggalkan off. 81 00:02:32,040 --> 00:02:35,510 Tapi kami akan datang kembali ke untuk kerangka kerja dan semacamnya. 82 00:02:35,510 --> 00:02:36,290 Ada yang lain? 83 00:02:36,290 --> 00:02:39,020 PHP adalah populer. 84 00:02:39,020 --> 00:02:41,710 Ruby adalah hal lain. 85 00:02:41,710 --> 00:02:48,230 JavaScript, tidak menjadi bingung dengan Java, adalah hal lain. 86 00:02:48,230 --> 00:02:49,570 Itu semacam banyak. 87 00:02:49,570 --> 00:02:53,590 >> Sehingga bisa dipastikan luar biasa, seakan daftar ini belum, 88 00:02:53,590 --> 00:02:55,650 hanya untuk mulai tahu di mana Anda mulai. 89 00:02:55,650 --> 00:02:58,130 Dan untungnya, mari kita pendekatan ini dari beberapa sudut. 90 00:02:58,130 --> 00:03:03,520 Pertama, mari kita coba untuk mengkategorikan setidaknya beberapa dari bahasa-bahasa ini 91 00:03:03,520 --> 00:03:06,790 menjadi dua ember yang luas, mengingatkan percakapan kami sebelum jeda, 92 00:03:06,790 --> 00:03:09,630 di mana kita berbicara tentang kompilasi, dan kode sumber, dan kode mesin, 93 00:03:09,630 --> 00:03:11,440 karena itu bukan cara semua bahasa bekerja. 94 00:03:11,440 --> 00:03:15,640 Jadi kita akan mencabut beberapa contoh of-- atau counter-examples-- ke model. 95 00:03:15,640 --> 00:03:18,490 >> Dan kemudian, mengapa tidak kita berbicara tentang aplikasi 96 00:03:18,490 --> 00:03:20,390 bahwa bahasa-bahasa ini biasanya digunakan untuk. 97 00:03:20,390 --> 00:03:22,840 Dan terus terang, meskipun ini adalah daftar yang cukup panjang, 98 00:03:22,840 --> 00:03:26,320 itu hanya sebagian dari daftar ini yang Anda biasanya akan menarik dari hari ini 99 00:03:26,320 --> 00:03:27,220 untuk memecahkan masalah. 100 00:03:27,220 --> 00:03:29,150 bahasa tertentu yang lebih baru daripada yang lain. 101 00:03:29,150 --> 00:03:31,170 bahasa tertentu lebih populer daripada yang lain. 102 00:03:31,170 --> 00:03:34,370 Jadi tidak seperti Anda memiliki seperti tugas yang sangat besar sebelum Anda 103 00:03:34,370 --> 00:03:36,970 ketika memutuskan antara berbagai bahasa. 104 00:03:36,970 --> 00:03:40,110 >> Jadi mari kita lakukan ini. 105 00:03:40,110 --> 00:03:45,870 Kami memiliki awal, kode sumber, dan kemudian kami memiliki kode mesin. 106 00:03:45,870 --> 00:03:48,590 107 00:03:48,590 --> 00:03:49,400 Whoops. 108 00:03:49,400 --> 00:03:50,910 Menulis kata yang salah. 109 00:03:50,910 --> 00:03:52,740 kode mesin. 110 00:03:52,740 --> 00:03:57,549 Dan kami memiliki beberapa proses di tengah called-- yeah, compiler. 111 00:03:57,549 --> 00:03:58,215 Jadi compiler. 112 00:03:58,215 --> 00:04:00,760 113 00:04:00,760 --> 00:04:03,910 >> Dan apa kode mesin benar-benar berjalan di pada akhirnya 114 00:04:03,910 --> 00:04:05,680 akan menjadi CPU Anda yang sebenarnya. 115 00:04:05,680 --> 00:04:09,660 Dalam kata lain, dengan kode mesin, saya berarti petunjuk tingkat terendah 116 00:04:09,660 --> 00:04:11,330 bahwa CPU benar-benar mengerti. 117 00:04:11,330 --> 00:04:15,100 Selain itu, pengurangan, bergerak, menyimpan, dan operasi seperti itu. 118 00:04:15,100 --> 00:04:19,700 Dan jadi ini adalah model untuk apa umumnya dikenal sebagai bahasa dikompilasi. 119 00:04:19,700 --> 00:04:21,000 Mungkin tidak mengherankan. 120 00:04:21,000 --> 00:04:23,550 >> Jadi ini adalah model untuk bahasa dikompilasi. 121 00:04:23,550 --> 00:04:25,970 Tapi ternyata ada yang kelas lain bahasa 122 00:04:25,970 --> 00:04:32,650 disebut ditafsirkan languages-- ditafsirkan languages-- 123 00:04:32,650 --> 00:04:34,030 yang sedikit berbeda. 124 00:04:34,030 --> 00:04:41,660 Anda menulis dalam kode sumber, jalankan mereka melalui seorang penerjemah, 125 00:04:41,660 --> 00:04:45,440 dan bahwa penafsir adalah apa yang berjalan pada CPU. 126 00:04:45,440 --> 00:04:50,120 Dengan kata lain, apa yang Anda tidak memancarkan apa, rupanya? 127 00:04:50,120 --> 00:04:50,980 kode mesin. 128 00:04:50,980 --> 00:04:54,290 Nol dan orang yang CPU itu sendiri akhirnya mengerti. 129 00:04:54,290 --> 00:04:59,780 >> Jadi dalam versi pertama ini dan bahasa seperti C, seperti yang kita lihat, 130 00:04:59,780 --> 00:05:02,040 Anda menulis dalam kode sumber itu adalah rahasia kecil, 131 00:05:02,040 --> 00:05:05,300 tapi setidaknya itu jenis bahasa Inggris-seperti dan itu setidaknya dapat dibaca 132 00:05:05,300 --> 00:05:06,780 setelah Anda terbiasa untuk itu. 133 00:05:06,780 --> 00:05:10,100 Anda menjalankannya melalui compiler dan keluar Anda dapatkan, akhirnya, nol dan satu. 134 00:05:10,100 --> 00:05:11,340 >> Yang terlalu menyederhanakan. 135 00:05:11,340 --> 00:05:12,839 Ada beberapa langkah lain di sana. 136 00:05:12,839 --> 00:05:15,530 Bahkan, jika Anda pernah mendengar istilah "bahasa assembly," 137 00:05:15,530 --> 00:05:17,990 itu salah satu langkah sebelum yang nol dan satu. 138 00:05:17,990 --> 00:05:20,949 Yang sedikit lebih mudah dibaca, tapi masih cukup misterius. 139 00:05:20,949 --> 00:05:23,740 Dan jadi ada langkah-langkah perantara yang, pada kenyataannya, terjadi di sini. 140 00:05:23,740 --> 00:05:26,360 Tapi output, akhirnya, adalah nol ini dan orang-orang. 141 00:05:26,360 --> 00:05:28,990 >> Tapi di ditafsirkan dunia, di mana Anda memiliki 142 00:05:28,990 --> 00:05:32,680 bahasa yang ditafsirkan bahasa, Anda benar-benar melewatkan langkah itu. 143 00:05:32,680 --> 00:05:36,010 Dengan kata lain, ketika Anda menulis Program, Anda hanya segera menjalankannya. 144 00:05:36,010 --> 00:05:38,960 Anda tidak compile dan kemudian jalankan, seperti yang saya lakukan sebelumnya. 145 00:05:38,960 --> 00:05:41,132 Anda hanya menulis dan menjalankannya. 146 00:05:41,132 --> 00:05:44,340 Dan jika Anda ingin membuat perubahan cepat, Anda membuat perubahan cepat dan jalankan kembali itu. 147 00:05:44,340 --> 00:05:46,640 Jadi tidak ada langkah tengah di sini. 148 00:05:46,640 --> 00:05:50,840 >> Sekarang, untuk program saya tulis sebelumnya, yang ini "Hello World" program, 149 00:05:50,840 --> 00:05:53,660 Anda mungkin cukup wonder-- atau mungkin cukup 150 00:05:53,660 --> 00:05:58,570 state-- yang tidak saat itu memakan waktu untuk mengkompilasi program saya. 151 00:05:58,570 --> 00:06:00,337 Tampaknya telah melakukannya begitu saja. 152 00:06:00,337 --> 00:06:02,170 Dan ada grafis versi compiler. 153 00:06:02,170 --> 00:06:05,270 Saya menggunakan versi yang sangat misterius, tapi Anda bisa menekan tombol putar 154 00:06:05,270 --> 00:06:07,887 dan yang benar-benar akan melakukan kompilasi untuk Anda. 155 00:06:07,887 --> 00:06:10,720 Saya telah menyusun program dan kemudian lagi, untuk menjalankannya, saya hanya melakukan ini. 156 00:06:10,720 --> 00:06:13,820 Dan itu output di sebelah kiri ada, "Hello!" 157 00:06:13,820 --> 00:06:15,530 Itu tidak tampak semua yang berat. 158 00:06:15,530 --> 00:06:19,920 Tapi ketika program Anda lebih dari satu, dua, tiga, 159 00:06:19,920 --> 00:06:25,470 empat, lima baris panjang, dapat mengambil detik lebih untuk mengkompilasi. 160 00:06:25,470 --> 00:06:28,310 Kadang-kadang bahkan menit atau sedikit waktu untuk mengkompilasi. 161 00:06:28,310 --> 00:06:30,480 Setelah semua, beberapa produk terbesar dunia 162 00:06:30,480 --> 00:06:35,040 hal-hal seperti sistem operasi, Microsoft Word, Microsoft Excel, 163 00:06:35,040 --> 00:06:39,070 yang mungkin ratusan ribu atau bahkan jutaan baris kode yang panjang, 164 00:06:39,070 --> 00:06:41,300 dan mereka tidak hanya segera mengeksekusi. 165 00:06:41,300 --> 00:06:44,560 >> Selain itu, di web, itu menjadi mode untuk menggunakan 166 00:06:44,560 --> 00:06:47,600 bahasa diartikan, sebagian karena Anda 167 00:06:47,600 --> 00:06:50,570 dapat membuat perubahan sebagai pengembang dan kemudian hanya segera ulang 168 00:06:50,570 --> 00:06:52,570 halaman browser dan segera melihat hasilnya. 169 00:06:52,570 --> 00:06:56,160 Dan HTML, sementara tidak bahasa pemrograman, 170 00:06:56,160 --> 00:06:58,860 adalah bahasa yang ditafsirkan. 171 00:06:58,860 --> 00:07:00,770 Dan kita melihat bahwa efek yang sama kemarin. 172 00:07:00,770 --> 00:07:04,070 Anda hanya reload halaman setelah membuat perubahan Cloud9 dan-- voila-- 173 00:07:04,070 --> 00:07:05,560 Anda melihat hasil baru. 174 00:07:05,560 --> 00:07:07,090 >> Jadi apa bedanya di sini? 175 00:07:07,090 --> 00:07:13,190 Dalam HTML, ingat, kami memiliki HTML terbuka, kepala terbuka, judul terbuka, judul dekat, 176 00:07:13,190 --> 00:07:15,250 kepala dekat, tubuh terbuka, dan sebagainya. 177 00:07:15,250 --> 00:07:19,149 Kami memiliki semua tag yang kita cukup banyak kata, memberitahu browser apa yang harus dilakukan. 178 00:07:19,149 --> 00:07:20,690 Hei Browser, di sini datang sebuah halaman HTML. 179 00:07:20,690 --> 00:07:22,170 Hei Browser, di sini datang judul. 180 00:07:22,170 --> 00:07:24,429 Hei Browser, di sini datang beberapa teks yang harus berani. 181 00:07:24,429 --> 00:07:25,720 Dan kemudian Anda mengatakan sebaliknya. 182 00:07:25,720 --> 00:07:27,330 Hey Browser, itu saja untuk wajah teks tebal. 183 00:07:27,330 --> 00:07:28,830 Hey Browser, itu saja bagi tubuh. 184 00:07:28,830 --> 00:07:29,740 Dan seterusnya. 185 00:07:29,740 --> 00:07:31,130 >> Dan jadi apa browser? 186 00:07:31,130 --> 00:07:33,170 Browser adalah hanya seorang penerjemah. 187 00:07:33,170 --> 00:07:36,090 Ini adalah program yang seseorang seperti Microsoft atau Google telah menulis, 188 00:07:36,090 --> 00:07:39,160 Tujuan yang dalam hidup adalah untuk membaca bahasa, yang dikenal sebagai HTML, 189 00:07:39,160 --> 00:07:39,890 dan menafsirkannya. 190 00:07:39,890 --> 00:07:41,290 Atas ke bawah, kiri ke kanan. 191 00:07:41,290 --> 00:07:46,880 Dan setiap kali browser melihat terbuka braket, judul, braket dekat, 192 00:07:46,880 --> 00:07:48,960 harus menafsirkan bahwa sebagai makna, oh, yang 193 00:07:48,960 --> 00:07:52,490 berarti saya harus menempatkan kata-kata ini dengan cara di sini di bagian atas browser. 194 00:07:52,490 --> 00:07:55,700 >> Sehingga hanya melakukan apa kode HTML mengatakan. 195 00:07:55,700 --> 00:07:57,240 Tapi tidak ada nol dan satu. 196 00:07:57,240 --> 00:07:58,250 Tidak ada kompilasi. 197 00:07:58,250 --> 00:07:58,890 Anda tidak melakukannya. 198 00:07:58,890 --> 00:07:59,931 Browser tidak melakukannya. 199 00:07:59,931 --> 00:08:01,710 Hanya saja tidak terlibat. 200 00:08:01,710 --> 00:08:05,890 >> Jadi dalam semangat yang sedang berlangsung ini topik, hari ini dan kemarin, 201 00:08:05,890 --> 00:08:08,400 yang tampaknya menjadi fitur yang indah. 202 00:08:08,400 --> 00:08:11,410 Anda menyimpan kode Anda dan kemudian hanya menjalankannya atau menafsirkannya. 203 00:08:11,410 --> 00:08:13,790 Tidak ada langkah-langkah perantara. 204 00:08:13,790 --> 00:08:15,690 Tentunya ada biaya? 205 00:08:15,690 --> 00:08:16,810 tidak bisa semua upsides. 206 00:08:16,810 --> 00:08:19,964 Jadi apa yang mungkin biaya itu? 207 00:08:19,964 --> 00:08:20,940 >> AUDIENCE: Space. 208 00:08:20,940 --> 00:08:22,370 >> DAVID J. Malan: Space. 209 00:08:22,370 --> 00:08:23,370 Begitu yakin. 210 00:08:23,370 --> 00:08:26,920 Dalam dunia dikompilasi, Anda memiliki tidak hanya kode sumber asli, 211 00:08:26,920 --> 00:08:29,657 Anda juga menciptakan dan maka mungkin menyimpan 212 00:08:29,657 --> 00:08:31,740 mesin code-- yang nol dan ones-- dan itulah 213 00:08:31,740 --> 00:08:33,870 harus mengambil beberapa jumlah ruang. 214 00:08:33,870 --> 00:08:34,429 Benar. 215 00:08:34,429 --> 00:08:35,765 Jadi itu biaya Anda lebih banyak ruang. 216 00:08:35,765 --> 00:08:39,289 217 00:08:39,289 --> 00:08:39,789 Ya? 218 00:08:39,789 --> 00:08:43,280 >> AUDIENCE: Browser mungkin menafsirkan berbeda. 219 00:08:43,280 --> 00:08:46,770 >> DAVID J. Malan: Browser mungkin menafsirkannya berbeda. 220 00:08:46,770 --> 00:08:48,622 Itu benar. 221 00:08:48,622 --> 00:08:50,330 Tapi aku tidak yakin aku nyaman mengklaim 222 00:08:50,330 --> 00:08:51,840 itu karena itu ditafsirkan. 223 00:08:51,840 --> 00:08:56,340 Itu lebih hanya karena itu sebuah implementasi dari bahasa 224 00:08:56,340 --> 00:08:58,050 itu sendiri memiliki ambiguitas. 225 00:08:58,050 --> 00:09:01,570 Jadi mari kita tidak cukup mengkonfirmasi yang satu, tapi firasat baik. 226 00:09:01,570 --> 00:09:03,103 Apa lagi yang mungkin harga dibayar? 227 00:09:03,103 --> 00:09:03,602 Andrew? 228 00:09:03,602 --> 00:09:05,912 >> AUDIENCE: Kau menggabungkan dua langkah, sehingga Anda karena itu 229 00:09:05,912 --> 00:09:08,300 memiliki meningkatkan kompleksitas juga. 230 00:09:08,300 --> 00:09:11,040 >> DAVID J. Malan: The complex-- peningkatan kompleksitas mana? 231 00:09:11,040 --> 00:09:12,270 Untuk siapa? 232 00:09:12,270 --> 00:09:16,748 >> AUDIENCE: Jadi, di penafsir langkah, Anda menggabungkan penafsir 233 00:09:16,748 --> 00:09:19,120 dan compiler untuk hanya mengarah to-- 234 00:09:19,120 --> 00:09:21,100 >> DAVID J. Malan: Ah, OK. 235 00:09:21,100 --> 00:09:25,240 Ironisnya, itu mungkin sedikit sederhana untuk melaksanakan penerjemah, 236 00:09:25,240 --> 00:09:29,530 meskipun tampaknya akan upsides hasil kenyamanan ini. 237 00:09:29,530 --> 00:09:30,550 Jadi mungkin benar. 238 00:09:30,550 --> 00:09:32,716 Tapi itu jenis tergantung, saya akan mengatakan, pada bahasa 239 00:09:32,716 --> 00:09:35,720 dan bagaimana mereka pergi tentang mengimplementasikannya. 240 00:09:35,720 --> 00:09:38,535 Bisa ada lebih banyak kompleksitas, sebenarnya, di compiler, 241 00:09:38,535 --> 00:09:41,410 hanya karena Anda harus pergi dari sesuatu yang begitu tinggi tingkat untuk sesuatu 242 00:09:41,410 --> 00:09:42,560 sehingga tingkat rendah. 243 00:09:42,560 --> 00:09:45,340 Tapi pikiran yang baik. 244 00:09:45,340 --> 00:09:50,770 >> Jadi dengan kata lain, program dikompilasi, ketika berubah menjadi nol ini dan orang-orang, 245 00:09:50,770 --> 00:09:54,470 berakhir di bahasa bahwa CPU berbicara, 246 00:09:54,470 --> 00:09:57,850 sedangkan pada sisi ini dunia, program yang sudah Anda tulis, 247 00:09:57,850 --> 00:10:02,527 kode yang sudah Anda tulis, tidak pernah benar-benar akan dikonversi ke dalam bahasa yang sebenarnya 248 00:10:02,527 --> 00:10:03,360 komputer berbicara. 249 00:10:03,360 --> 00:10:04,190 The nol dan satu. 250 00:10:04,190 --> 00:10:08,480 Itu tetap dalam aslinya, lebih manusiawi ramah, bahasa yang lebih mudah dibaca. 251 00:10:08,480 --> 00:10:11,720 Jadi apa yang mungkin implikasi ada, jika Anda tidak benar-benar 252 00:10:11,720 --> 00:10:15,020 repot-repot mengubah Anda program untuk sangat bahasa 253 00:10:15,020 --> 00:10:18,013 bahwa komputer yang mendasari berbicara? 254 00:10:18,013 --> 00:10:19,780 >> AUDIENCE: tidak Might memahami sesuatu? 255 00:10:19,780 --> 00:10:21,170 >> DAVID J. Malan: Might tidak memahami sesuatu. 256 00:10:21,170 --> 00:10:23,297 Dan yang mungkin claim-- jika tidak mengerti 257 00:10:23,297 --> 00:10:25,880 sesuatu, itu bug atau kekurangan dari fitur dalam penafsir. 258 00:10:25,880 --> 00:10:28,544 Sehingga akan lebih dari kesalahan dari biaya. 259 00:10:28,544 --> 00:10:30,419 >> AUDIENCE: Anda memiliki akses ke kode sumber? 260 00:10:30,419 --> 00:10:31,877 DAVID J. Malan: Ada satu yang baik. 261 00:10:31,877 --> 00:10:34,140 Jadi downside di sini adalah Anda tampaknya akan memiliki akses. 262 00:10:34,140 --> 00:10:37,006 Anda, pengguna akhir, mungkin tampaknya memiliki akses ke kode sumber. 263 00:10:37,006 --> 00:10:38,130 Dan itu tidak selalu benar. 264 00:10:38,130 --> 00:10:39,660 Tapi itu benar di kasus JavaScript, 265 00:10:39,660 --> 00:10:41,660 yang kita akan melihat setelah istirahat hari ini, yang 266 00:10:41,660 --> 00:10:45,720 adalah bahasa pemrograman ditafsirkan bahwa Anda menulis dalam kode sumber. 267 00:10:45,720 --> 00:10:48,890 >> Tapi itu kode sumber akan ditransfer dari server ke browser 268 00:10:48,890 --> 00:10:51,392 dan berjalan di browser manusia. 269 00:10:51,392 --> 00:10:54,350 Jadi di sini dia hanya bisa membuka jendela, seperti yang telah saya lakukan di Chrome, 270 00:10:54,350 --> 00:10:57,740 dan melihat itu, karena kita sendiri melirik kemarin dengan Google. 271 00:10:57,740 --> 00:11:00,420 Ini mungkin terlihat sedikit dimengerti tapi itu ada. 272 00:11:00,420 --> 00:11:03,482 Jadi itu benar-benar salah satu harga yang harus dibayar. 273 00:11:03,482 --> 00:11:04,565 AUDIENCE: Kinerja hit? 274 00:11:04,565 --> 00:11:05,020 DAVID J. Malan: Ya. 275 00:11:05,020 --> 00:11:06,260 Dan itulah masalah besar lainnya. 276 00:11:06,260 --> 00:11:07,380 Ada hit kinerja. 277 00:11:07,380 --> 00:11:10,100 Karena Anda memiliki ini orang tengah, yang dengan sendirinya 278 00:11:10,100 --> 00:11:13,740 adalah sebuah program, antara Anda dan CPU, sebagai lawan 279 00:11:13,740 --> 00:11:17,880 hanya makan mentah ini nol dan satu ke dalam CPU, 280 00:11:17,880 --> 00:11:21,060 ada hit kinerja yang Anda mengambil dengan bahasa ditafsirkan. 281 00:11:21,060 --> 00:11:24,240 Seperti itu, sewenang-wenang, program yang mungkin mengambil satu detik 282 00:11:24,240 --> 00:11:27,840 untuk dijalankan pada komputer atau satu menit untuk berjalan di komputer di sini, 283 00:11:27,840 --> 00:11:32,059 mungkin mengambil 10 detik atau 10 menit untuk berjalan di komputer di sini. 284 00:11:32,059 --> 00:11:35,100 Ini umumnya tidak akan menjadi yang banyak faktor difference-- dari 10-- 285 00:11:35,100 --> 00:11:36,808 karena ada optimasi yang dapat Anda lakukan. 286 00:11:36,808 --> 00:11:38,680 Tapi itu hampir selalu lebih lambat. 287 00:11:38,680 --> 00:11:43,070 Sekarang, Sisi lain kekhawatiran bahwa adalah bahwa, baik komputer, setiap 12 288 00:11:43,070 --> 00:11:45,970 18 months-- menurut Hukum Moore, sehingga untuk speak-- 289 00:11:45,970 --> 00:11:47,600 hanya semakin cepat dan cepat. 290 00:11:47,600 --> 00:11:48,750 Saya memiliki ruang disk lebih dan lebih. 291 00:11:48,750 --> 00:11:49,791 Saya memiliki lebih banyak dan lebih RAM. 292 00:11:49,791 --> 00:11:50,620 Siapa yang peduli? 293 00:11:50,620 --> 00:11:52,328 >> Dan itu semacam argumen yang masuk akal. 294 00:11:52,328 --> 00:11:55,740 Memang, salah satu alasan mengapa kita bisa mentolerir lambat 295 00:11:55,740 --> 00:11:58,480 ditafsirkan bahasa adalah karena kita manusia tidak benar-benar melihat. 296 00:11:58,480 --> 00:12:00,690 Komputer memiliki mendapatkan hanya begitu darn cepat. 297 00:12:00,690 --> 00:12:04,520 Sedangkan kembali pada hari, terutama ketika hardware yang jauh lebih dibatasi, 298 00:12:04,520 --> 00:12:06,860 Anda memiliki kurang dari segala sesuatu, itu jauh lebih mahal 299 00:12:06,860 --> 00:12:10,570 jadi semuanya biaya lebih, baik maka Anda benar-benar ingin memeras 300 00:12:10,570 --> 00:12:12,590 sebanyak kinerja yang Anda bisa. 301 00:12:12,590 --> 00:12:16,400 Tapi itu diperlukan menulis di a-tingkat yang lebih rendah, jika Anda mau, 302 00:12:16,400 --> 00:12:18,090 dengan bahasa yang dikompilasi. 303 00:12:18,090 --> 00:12:20,830 >> Jadi Anda mengambil kinerja hit ini. 304 00:12:20,830 --> 00:12:24,780 Namun umumnya, upsides tampaknya layak hari ini. 305 00:12:24,780 --> 00:12:26,850 Nah, kecuali untuk masalah kekayaan intelektual. 306 00:12:26,850 --> 00:12:28,641 Itu semacam pembacaan kode, kita akan 307 00:12:28,641 --> 00:12:30,640 kembali ke ketika kita melihat JavaScript. 308 00:12:30,640 --> 00:12:33,140 >> Jadi mari kita coba untuk mengkategorikan setidaknya beberapa ini. 309 00:12:33,140 --> 00:12:41,650 Jadi antara bahasa dikompilasi, kami akan memiliki C, C ++, agak, agak, Jawa, 310 00:12:41,650 --> 00:12:48,120 meskipun sedikit pengecualian, untuk alasan saya akan menunjukkan hanya dalam beberapa saat. 311 00:12:48,120 --> 00:12:51,540 C # akan berada di daftar ini. 312 00:12:51,540 --> 00:12:54,930 Kita akan melihat lebih di hanya bahasa yang lebih modern. 313 00:12:54,930 --> 00:12:55,430 Baiklah. 314 00:12:55,430 --> 00:12:56,804 Dan yang tampaknya seperti banyak ada. 315 00:12:56,804 --> 00:13:03,500 Sedangkan di sisi pagar, kita mungkin memiliki JavaScript, dan Python, 316 00:13:03,500 --> 00:13:08,040 dan PHP, dan Ruby. 317 00:13:08,040 --> 00:13:13,640 Dan apakah itu cukup untuk yang lebih baru? 318 00:13:13,640 --> 00:13:15,410 Yang terasa seperti banyak untuk saat ini. 319 00:13:15,410 --> 00:13:16,330 BAIK. 320 00:13:16,330 --> 00:13:18,760 Dan kemudian dot dot dot, karena daftar ini tak ada habisnya. 321 00:13:18,760 --> 00:13:22,300 >> Dan pada kenyataannya, jika kita ingin hanya mendapatkan rasa ini-- Wikipedia, 322 00:13:22,300 --> 00:13:24,130 bahasa dikompilasi. 323 00:13:24,130 --> 00:13:27,150 Saya menduga kita bisa mendapatkan daftar jauh lebih lengkap. 324 00:13:27,150 --> 00:13:27,910 Jadi di sini kita pergi. 325 00:13:27,910 --> 00:13:30,620 Jadi di sini adalah daftar jauh lebih lengkap. 326 00:13:30,620 --> 00:13:34,150 Dan saya berharap seseorang akan menebak D sebagai bahasa karena itu juga ada, 327 00:13:34,150 --> 00:13:37,747 tapi mereka berhenti di D akan terlihat. 328 00:13:37,747 --> 00:13:39,330 Meskipun ada mungkin benar-benar menjadi E. 329 00:13:39,330 --> 00:13:41,496 >> Oh, sebenarnya, ini harus berada di daftar hari ini. 330 00:13:41,496 --> 00:13:47,460 Swift sebenarnya bahasa bahwa Apple diciptakan 331 00:13:47,460 --> 00:13:50,302 yang sekarang digunakan, semakin jadi, dalam pengembangan iPhone. 332 00:13:50,302 --> 00:13:52,260 Tapi kita akan kembali ke bahwa dengan diskusi kita 333 00:13:52,260 --> 00:13:54,090 mobile hanya sedikit juga. 334 00:13:54,090 --> 00:13:55,260 Jadi Swift juga. 335 00:13:55,260 --> 00:13:57,540 >> Dan kemudian jika kita pergi ke ditafsirkan language-- 336 00:13:57,540 --> 00:14:05,010 ditafsirkan language-- maka di sini daftar bahkan lebih lama juga. 337 00:14:05,010 --> 00:14:07,260 Jadi, jika Anda hanya google dan lihat di Wikipedia untuk ini, 338 00:14:07,260 --> 00:14:09,231 Anda akan melihat segala macam bahasa. 339 00:14:09,231 --> 00:14:10,980 Tapi tujuannya adalah, untuk hari ini benar-benar, hanya 340 00:14:10,980 --> 00:14:13,680 bermuara mungkin ini isu kekayaan intelektual 341 00:14:13,680 --> 00:14:18,200 dan mudah dibaca oleh pengguna akhir dan kinerja, adalah masalah besar lain juga. 342 00:14:18,200 --> 00:14:21,080 >> Jadi di antara bahasa-bahasa ini, biarkan aku melihat apakah kami dapat memberikan 343 00:14:21,080 --> 00:14:24,487 hanya beberapa contoh dari bahasa. 344 00:14:24,487 --> 00:14:26,820 Kami tidak ingin pergi melalui semua bahasa tanpa henti. 345 00:14:26,820 --> 00:14:29,720 Pernahkah Anda bertanya-tanya apa bahasa tertentu seperti? 346 00:14:29,720 --> 00:14:31,562 Kita memang melihat beberapa saat yang lalu. 347 00:14:31,562 --> 00:14:33,520 Mengapa kita tidak mengambil pasangan dari permintaan fitur. 348 00:14:33,520 --> 00:14:35,380 Yang ingin melihat apa bahasa lain seperti? 349 00:14:35,380 --> 00:14:35,620 Ya. 350 00:14:35,620 --> 00:14:36,150 >> AUDIENCE: Java. 351 00:14:36,150 --> 00:14:36,540 >> DAVID J. Malan: Java. 352 00:14:36,540 --> 00:14:37,040 Baiklah. 353 00:14:37,040 --> 00:14:38,504 Jadi mari kita pergi ke Jawa. 354 00:14:38,504 --> 00:14:42,300 355 00:14:42,300 --> 00:14:44,900 Dan hanya untuk memberikan sample-- kita bisa menulis semua ini keluar, 356 00:14:44,900 --> 00:14:47,670 tetapi akan lebih cepat hanya untuk melihat contoh kode orang lain. 357 00:14:47,670 --> 00:14:48,170 Baiklah. 358 00:14:48,170 --> 00:14:50,330 Jadi ini contoh yang baik? 359 00:14:50,330 --> 00:14:52,040 Whoops. 360 00:14:52,040 --> 00:14:52,540 BAIK. 361 00:14:52,540 --> 00:14:58,810 Jadi di sini adalah versi Java dari Program yang saya tulis sebelumnya, "Hello World." 362 00:14:58,810 --> 00:15:01,900 >> Jadi Java, Anda akan sering melihat kata kunci "kelas." 363 00:15:01,900 --> 00:15:03,779 Kemudian Anda akan melihat beberapa nama setelah itu. 364 00:15:03,779 --> 00:15:05,570 Anda akan melihat kurung kurawal seperti yang kita lihat sebelumnya, 365 00:15:05,570 --> 00:15:08,153 dan kadang-kadang mereka pergi pada baris yang sama, garis kadang-kadang lainnya, 366 00:15:08,153 --> 00:15:09,734 itu semacam keputusan pribadi. 367 00:15:09,734 --> 00:15:11,900 Anda akan melihat kata kunci seperti "Publik," "statis," "void." 368 00:15:11,900 --> 00:15:13,790 Tetapi kita melihat "utama." "Main" umumnya 369 00:15:13,790 --> 00:15:17,220 nama fungsi default atau potongan default kode yang 370 00:15:17,220 --> 00:15:18,760 akan dijalankan dalam sebuah program. 371 00:15:18,760 --> 00:15:19,330 >> "Tali." 372 00:15:19,330 --> 00:15:20,850 Apa yang kita maksud dengan tali sebelumnya? 373 00:15:20,850 --> 00:15:23,480 Saya menggunakannya jenis santai. 374 00:15:23,480 --> 00:15:25,100 Sebuah string adalah apa? 375 00:15:25,100 --> 00:15:25,601 Kata. 376 00:15:25,601 --> 00:15:27,058 Ini seperti urutan karakter. 377 00:15:27,058 --> 00:15:29,810 karakter individu, kembali ke kembali ke belakang, biasanya dalam sebuah array, 378 00:15:29,810 --> 00:15:30,690 seperti yang telah kita bahas. 379 00:15:30,690 --> 00:15:34,700 Dan pada kenyataannya, melihat sintaks ini di sini, dua kurung? 380 00:15:34,700 --> 00:15:39,210 Itu berarti, hey komputer, di sini datang array dari string. 381 00:15:39,210 --> 00:15:42,636 Notasi braket persegi biasa digunakan untuk menunjukkan itu. 382 00:15:42,636 --> 00:15:44,510 Dan kemudian Anda mungkin bisa mengambil guess-- a apa 383 00:15:44,510 --> 00:15:46,580 hal ini disorot serangkaian kode mungkin lakukan? 384 00:15:46,580 --> 00:15:49,737 385 00:15:49,737 --> 00:15:50,639 >> AUDIENCE: Output? 386 00:15:50,639 --> 00:15:51,090 >> DAVID J. Malan: Ya. 387 00:15:51,090 --> 00:15:52,506 Mencetak sesuatu ke layar. 388 00:15:52,506 --> 00:15:57,070 "Sistem" adalah semacam referensi ke komputer Anda. 389 00:15:57,070 --> 00:15:59,620 "Out" berarti komputer Anda Output atau layar. 390 00:15:59,620 --> 00:16:04,450 Jadi "System.out.print ln" mungkin berarti? 391 00:16:04,450 --> 00:16:05,570 "Ln." 392 00:16:05,570 --> 00:16:09,570 garis cetak yang programmer seperti untuk rupanya mengeja beberapa kata-kata 393 00:16:09,570 --> 00:16:11,820 secara keseluruhan dan mengambil pintas dengan kata lain. 394 00:16:11,820 --> 00:16:13,260 Tapi "ln" adalah line, sehingga garis cetak. 395 00:16:13,260 --> 00:16:17,370 Jadi ia akan mencetak "Hello Dunia! "Diikuti oleh baris baru. 396 00:16:17,370 --> 00:16:18,300 >> Jadi itu saja. 397 00:16:18,300 --> 00:16:21,150 Tapi Java adalah apa yang mereka akan panggilan berorientasi objek. 398 00:16:21,150 --> 00:16:23,440 Dan memang, hanya untuk memberikan beberapa definisi lain 399 00:16:23,440 --> 00:16:26,420 ada bahwa Anda mungkin lihat, secara umum, ada 400 00:16:26,420 --> 00:16:30,600 banyak jenis bahasa, tetapi yang paling umum 401 00:16:30,600 --> 00:16:37,830 adalah bahasa prosedural atau penting. 402 00:16:37,830 --> 00:16:41,600 Ada fungsional bahasa, yang tidak 403 00:16:41,600 --> 00:16:43,790 berarti bahwa orang lain tidak fungsional. 404 00:16:43,790 --> 00:16:47,740 Dan kemudian ada bahasa berorientasi objek. 405 00:16:47,740 --> 00:16:51,170 Dan ini mungkin yang terbaik kategorisasi kebanyakan bahasa 406 00:16:51,170 --> 00:16:56,445 bahwa Anda akan pernah memilih untuk jenis dari proyek komersial yang khas. 407 00:16:56,445 --> 00:16:58,910 >> Ini akan menjadi terlalu banyak, Saya pikir, dari lubang tikus 408 00:16:58,910 --> 00:17:01,620 untuk turun, untuk mencoba untuk menjelaskan berbagai perbedaan. 409 00:17:01,620 --> 00:17:04,599 Tapi bahasa kita telah melihat demikian far-- C 410 00:17:04,599 --> 00:17:07,680 adalah prosedural atau bahasa imperatif. 411 00:17:07,680 --> 00:17:11,200 Baru-baru ini diciptakan bahasa cenderung, maaf, 412 00:17:11,200 --> 00:17:14,430 berorientasi objek, yang berarti mereka memiliki fitur lain kepada mereka. 413 00:17:14,430 --> 00:17:18,130 414 00:17:18,130 --> 00:17:19,430 Dapatkah saya menjelaskannya dengan cara ini? 415 00:17:19,430 --> 00:17:20,950 Mari kita bahkan tidak pergi ke sana. 416 00:17:20,950 --> 00:17:25,200 >> berarti berorientasi obyek Anda dapat implement-- 417 00:17:25,200 --> 00:17:27,930 Anda dapat model dunia nyata sedikit lebih efektif. 418 00:17:27,930 --> 00:17:29,722 Kemanusiaan, dari waktu ke waktu, sudah tahu, wow, 419 00:17:29,722 --> 00:17:32,430 akan menyenangkan jika bahasa saya memiliki fitur ini atau fitur itu. 420 00:17:32,430 --> 00:17:34,830 Dan itulah mengapa kita memiliki begitu banyak bahasa di dunia. 421 00:17:34,830 --> 00:17:37,670 orang yang wajar, smart orang, setuju atau tidak setuju 422 00:17:37,670 --> 00:17:41,000 dan selalu semacam datang bersama-sama pada mengembangkan bahasa baru semua bersama-sama. 423 00:17:41,000 --> 00:17:41,660 >> Inti masalah. 424 00:17:41,660 --> 00:17:45,260 Apple diciptakan Swift di harapan mungkin menurunkan 425 00:17:45,260 --> 00:17:47,950 bar untuk pengembangan iPhone, karena language-- sebelumnya 426 00:17:47,950 --> 00:17:51,080 disebut Objective-C, yang bisa juga berada di daftar kami di sini- 427 00:17:51,080 --> 00:17:54,190 jauh lebih misterius dan banyak sulit untuk membungkus pikiran seseorang di sekitar. 428 00:17:54,190 --> 00:17:57,690 Dan pemrograman menjadi bisa dibilang lebih mudah diakses dan lebih luas 429 00:17:57,690 --> 00:18:00,580 diadopsi oleh orang bahkan kurang teknis, goal-- yang 430 00:18:00,580 --> 00:18:04,160 itu adalah tujuan yang sangat gagah berani untuk mencoba menurunkan hambatan masuk dengan membuat 431 00:18:04,160 --> 00:18:07,400 bahasa sendiri lebih mudah untuk memulai dengan, 432 00:18:07,400 --> 00:18:09,430 namun tidak kurang kuat tentu. 433 00:18:09,430 --> 00:18:10,560 >> Dan satu bahasa lainnya. 434 00:18:10,560 --> 00:18:14,110 Mengapa kita tidak lihat sesuatu seperti Python, 435 00:18:14,110 --> 00:18:18,090 yang sangat banyak dalam mode hari ini. 436 00:18:18,090 --> 00:18:19,570 Python. 437 00:18:19,570 --> 00:18:20,464 contoh program. 438 00:18:20,464 --> 00:18:24,600 439 00:18:24,600 --> 00:18:26,700 Ayo lihat. 440 00:18:26,700 --> 00:18:28,790 "Hello World" bahasa. 441 00:18:28,790 --> 00:18:30,180 Ayo lakukan ini. 442 00:18:30,180 --> 00:18:33,625 "Halo dunia." 443 00:18:33,625 --> 00:18:35,375 Mari kita lihat apakah ini memberikan kita contoh yang bagus. 444 00:18:35,375 --> 00:18:39,450 445 00:18:39,450 --> 00:18:39,950 BAIK. 446 00:18:39,950 --> 00:18:41,283 Jadi ini sebenarnya jenis menyenangkan. 447 00:18:41,283 --> 00:18:43,330 Jadi jika Anda pernah google "Hello World", yang 448 00:18:43,330 --> 00:18:47,000 terjadi menjadi salah satu program pertama yang pernah ditulis dalam bahasa modern, 449 00:18:47,000 --> 00:18:51,830 hanya sebagai bukti dari konsep, Anda dapat melihat segala macam implementasi ini. 450 00:18:51,830 --> 00:18:54,240 >> Beberapa bahasa ini Aku bahkan tidak mendengar. 451 00:18:54,240 --> 00:18:59,770 Tapi Anda bisa see-- mari kita pergi ke Dasar, yang saya pelajari tahun yang lalu, di bagian. 452 00:18:59,770 --> 00:19:02,720 Ini adalah bahasa yang menyenangkan karena Anda harus, sebagai programmer, jumlah 453 00:19:02,720 --> 00:19:03,710 semua baris Anda. 454 00:19:03,710 --> 00:19:05,626 Tidak seperti apa yang saya lakukan ketika saya sedang menulis 455 00:19:05,626 --> 00:19:08,380 pseudocode pada dokumen kuning sebelumnya untuk pencarian biner, 456 00:19:08,380 --> 00:19:09,580 untuk mencari buku telepon. 457 00:19:09,580 --> 00:19:11,810 >> Dan, jika Anda ingin untuk pergi ke baris lain, 458 00:19:11,810 --> 00:19:15,780 Anda akan benar-benar mengetik, pergi ke 10, atau pergi ke 20. 459 00:19:15,780 --> 00:19:19,110 Dan jika Anda sedang menulis baris, Konvensi adalah untuk melakukan, ini adalah garis 10, 460 00:19:19,110 --> 00:19:22,545 ini adalah baris 20, ini adalah garis 30, 40, dengan apa-apa di antara, 461 00:19:22,545 --> 00:19:25,170 sehingga memberikan diri Anda beberapa ruang jika Anda memutuskan, tunggu sebentar, 462 00:19:25,170 --> 00:19:27,230 Saya harus menambahkan beberapa kode lebih di suatu tempat. 463 00:19:27,230 --> 00:19:30,960 Anda masih memiliki semacam sembilan peluang untuk memeras bahwa dalam antara program Anda 464 00:19:30,960 --> 00:19:33,020 sebelum Anda harus secara manual nomor baru segalanya. 465 00:19:33,020 --> 00:19:35,470 >> Jadi ini adalah jenis apa yang saya maksud ketika saya mengatakan dunia telah datang 466 00:19:35,470 --> 00:19:36,303 dengan fitur baru. 467 00:19:36,303 --> 00:19:39,364 Di suatu tempat di sepanjang jalan seseorang menyadari, anak ini bodoh. 468 00:19:39,364 --> 00:19:41,280 Ini hanya menciptakan bekerja untuk programmer. 469 00:19:41,280 --> 00:19:44,200 Jadi dia hanya jenis dibangun layer baru di atas itu 470 00:19:44,200 --> 00:19:46,910 sehingga Anda tidak perlu khawatir tentang apa baris nomor kode Anda 471 00:19:46,910 --> 00:19:48,570 sebenarnya pada. 472 00:19:48,570 --> 00:19:54,940 >> Jadi, ketika Anda mungkin memilih satu bahasa atau yang lain? 473 00:19:54,940 --> 00:19:56,690 Nah, yang ini bahasa apakah anda cenderung 474 00:19:56,690 --> 00:20:00,960 mendengar tentang yang paling di dunia Anda sendiri hari ini? 475 00:20:00,960 --> 00:20:02,680 Mari kita drop down Objective-C juga. 476 00:20:02,680 --> 00:20:06,416 477 00:20:06,416 --> 00:20:07,739 >> AUDIENCE: C #. 478 00:20:07,739 --> 00:20:08,530 DAVID J. Malan: C #. 479 00:20:08,530 --> 00:20:10,310 Jadi biar warna. 480 00:20:10,310 --> 00:20:13,190 Apakah kita memiliki warna kami yang lain di suatu tempat? 481 00:20:13,190 --> 00:20:14,550 Jadi C #. 482 00:20:14,550 --> 00:20:16,390 Dan apa yang Anda ketahui tentang C #? 483 00:20:16,390 --> 00:20:18,940 Apa pun muncul di pikiran? 484 00:20:18,940 --> 00:20:20,707 >> AUDIENCE: Ini adalah bahasa pemrograman. 485 00:20:20,707 --> 00:20:22,540 DAVID J. Malan: Ini bahasa pemrograman. 486 00:20:22,540 --> 00:20:23,200 BAIK. 487 00:20:23,200 --> 00:20:24,690 Itu benar. 488 00:20:24,690 --> 00:20:26,440 Jadi kita sedang berbicara tentang C #. 489 00:20:26,440 --> 00:20:29,230 C # cenderung digunakan dalam lingkungan Windows, 490 00:20:29,230 --> 00:20:33,550 jadi jika Anda sedang menulis perangkat lunak Microsoft untuk Windows, C # sangat umum digunakan, 491 00:20:33,550 --> 00:20:38,560 apakah itu untuk perangkat lunak desktop, atau bahkan perangkat lunak telepon pada ponsel Windows, 492 00:20:38,560 --> 00:20:41,820 jika Anda sudah memiliki mereka, atau di web bahkan terlalu. 493 00:20:41,820 --> 00:20:44,642 Dan pada kenyataannya, mungkin Kareem disebutkan ASP sebelumnya? 494 00:20:44,642 --> 00:20:46,600 Jadi ada juga ini hal yang disebut kerangka, 495 00:20:46,600 --> 00:20:51,040 yang kami dapat memperkenalkan dengan ekstensi. 496 00:20:51,040 --> 00:20:53,280 Kerangka, seperti ASP. 497 00:20:53,280 --> 00:20:55,740 Singkatan halaman server aktif. 498 00:20:55,740 --> 00:20:59,880 Dan ini adalah kode dan cara pemrograman 499 00:20:59,880 --> 00:21:03,490 yang umumnya membuat lebih mudah untuk menulis aplikasi berbasis web. 500 00:21:03,490 --> 00:21:07,530 Dengan kata lain, itu akan menjadi super, Super menjengkelkan untuk menulis sebuah website 501 00:21:07,530 --> 00:21:09,469 dalam bahasa C yang kita lihat sebelumnya, 502 00:21:09,469 --> 00:21:12,510 karena Anda akan harus menggunakan cetak + F, Anda harus menggunakan kata kunci yang 503 00:21:12,510 --> 00:21:13,940 "Utama" dan kurung kurawal. 504 00:21:13,940 --> 00:21:16,720 Banyak sintaks misterius dan pendekatan untuk menerapkan 505 00:21:16,720 --> 00:21:19,195 sesuatu yang cukup kompleks. 506 00:21:19,195 --> 00:21:20,240 Sebuah halaman web. 507 00:21:20,240 --> 00:21:23,800 >> Dan bahasa lainnya telah berevolusi untuk membuat hal semacam itu mudah. 508 00:21:23,800 --> 00:21:26,890 Dan pada gilirannya, orang telah datang dengan kerangka, semacam alat 509 00:21:26,890 --> 00:21:30,520 Anda dapat menggunakan yang membuatnya lebih mudah untuk menulis halaman web. 510 00:21:30,520 --> 00:21:33,070 Jadi misalnya, untuk membuat jauh lebih konkret ini, 511 00:21:33,070 --> 00:21:36,390 biarkan aku membuka hanya file teks sejenak. 512 00:21:36,390 --> 00:21:39,380 >> Dan Anda mungkin ingat kemarin bahwa kita mengatakan sesuatu 513 00:21:39,380 --> 00:21:41,210 seperti, ini adalah halaman web. 514 00:21:41,210 --> 00:21:42,300 HTML. 515 00:21:42,300 --> 00:21:45,340 Tutup HTML. 516 00:21:45,340 --> 00:21:48,500 Mari saya melewatkan kepala dan hanya melakukan tubuh sini. 517 00:21:48,500 --> 00:21:52,810 Misalkan saya ingin menulis tidak "Hello World," 518 00:21:52,810 --> 00:21:57,020 tapi "Hello David," di mana David adalah nama saat login user. 519 00:21:57,020 --> 00:22:00,270 Apa sesuatu seperti ASP akan melakukan, atau JSP-- 520 00:22:00,270 --> 00:22:04,060 yang merupakan Jawa server pages-- atau sejumlah kerangka kerja lainnya 521 00:22:04,060 --> 00:22:05,435 adalah mereka tidak bahasa, per se. 522 00:22:05,435 --> 00:22:07,351 Mereka hanya seperti software tambahan yang Anda 523 00:22:07,351 --> 00:22:10,490 akan menginstal ke dalam lingkungan Anda yang hanya membuat lebih mudah untuk program. 524 00:22:10,490 --> 00:22:15,670 >> Jadi misalnya, daripada harus melakukan sesuatu seperti "Halo, printf (" David ")" 525 00:22:15,670 --> 00:22:17,510 atau sesuatu yang jenis co-mingling-- 526 00:22:17,510 --> 00:22:20,840 jenis kode yang telah kita lihat before-- Anda akan melakukan sesuatu yang lebih sederhana, 527 00:22:20,840 --> 00:22:26,190 seperti "nama%." 528 00:22:26,190 --> 00:22:28,660 Dan kerangka kerja ini, seperti ASP-- dan saya 529 00:22:28,660 --> 00:22:31,212 tidak ingat apakah saya mendapatkan sintaks tepat untuk ASP. 530 00:22:31,212 --> 00:22:33,100 JSP adalah little-- adalah hak ini? 531 00:22:33,100 --> 00:22:36,500 >> Jadi dengan ASP, ini adalah semacam sintaks khusus 532 00:22:36,500 --> 00:22:39,830 bahwa beberapa pengembang telah memutuskan ini mungkin membantu orang keluar. 533 00:22:39,830 --> 00:22:43,000 Dan aku bisa mengungkapkan lebih ringkas placeholder, misalnya. 534 00:22:43,000 --> 00:22:47,187 Seperti menempatkan nilai di sini, di mana Nama nilai ini tidak N-A-M-E, 535 00:22:47,187 --> 00:22:48,520 itu adalah beberapa nilai yang disimpan di sana. 536 00:22:48,520 --> 00:22:50,728 Jadi "nama," dalam konteks ini, kita sebut variabel. 537 00:22:50,728 --> 00:22:52,760 Aljabar memiliki variabel seperti x, dan y, dan z. 538 00:22:52,760 --> 00:22:56,021 Programmer menggunakan variabel yang lebih deskriptif dari x, y, dan z, 539 00:22:56,021 --> 00:22:56,520 khas. 540 00:22:56,520 --> 00:23:01,020 Jadi "nama" harfiah akan menjadi semacam wadah memori untuk sesuatu seperti 541 00:23:01,020 --> 00:23:05,440 D-A-V-I-D, untuk nama saya, atau siapa pun lain yang login ke website. 542 00:23:05,440 --> 00:23:09,300 >> Dan jadi ini adalah jenis kenyamanan Anda dapatkan dengan lingkungan tertentu. 543 00:23:09,300 --> 00:23:14,220 Jadi C # dan sesuatu seperti ASP akan sangat umum digunakan dalam dunia Windows, 544 00:23:14,220 --> 00:23:16,460 apakah untuk desktop perangkat lunak atau web server, 545 00:23:16,460 --> 00:23:21,490 terutama jika server Anda pada gilirannya menjalankan Microsoft Windows dan Microsoft 546 00:23:21,490 --> 00:23:25,810 IIS-- atau Internet Information Server, jika saya mendapatkan akronim right-- 547 00:23:25,810 --> 00:23:27,800 yang merupakan web server Microsoft. 548 00:23:27,800 --> 00:23:30,820 >> Jadi apa bahasa lain adalah orang-orang yang akrab dengan, 549 00:23:30,820 --> 00:23:35,228 atau yang pernah Anda dengar lebih sering daripada tidak? 550 00:23:35,228 --> 00:23:38,262 >> AUDIENCE: Saya tahu bahwa Python jenis populer [tidak terdengar]. 551 00:23:38,262 --> 00:23:39,470 DAVID J. Malan: Sangat populer. 552 00:23:39,470 --> 00:23:45,490 Jadi Python di sini sangat sering digunakan dalam aplikasi ilmiah atau data 553 00:23:45,490 --> 00:23:48,330 ilmu pengetahuan, di mana Anda memiliki banyak data yang Anda ingin menganalisis 554 00:23:48,330 --> 00:23:50,413 dan Anda ingin menggunakan bahasa pemrograman untuk itu. 555 00:23:50,413 --> 00:23:53,640 R mungkin biasa digunakan untuk itu juga, dalam konteks statistik. 556 00:23:53,640 --> 00:23:56,400 Tapi Python memiliki begitu banyak fitur built in. 557 00:23:56,400 --> 00:23:58,850 Begitu banyak tambahan perpustakaan, sebagai orang mengatakan. 558 00:23:58,850 --> 00:24:01,260 >> Perpustakaan hanya koleksi kode yang orang lain 559 00:24:01,260 --> 00:24:04,218 menulis bahwa Anda dapat menggunakan sehingga Anda tidak perlu menemukan kembali roda tersebut. 560 00:24:04,218 --> 00:24:07,430 Dan Python sangat umum digunakan dalam aplikasi ilmu data. 561 00:24:07,430 --> 00:24:09,930 Tapi itu juga sangat umum digunakan dalam aplikasi web. 562 00:24:09,930 --> 00:24:12,780 Anda dapat menerapkan dinamis website dengan menggunakan Python. 563 00:24:12,780 --> 00:24:15,210 >> Dan oleh website dinamis, saya berarti konten tidak hanya statis 564 00:24:15,210 --> 00:24:19,530 seperti kita dibuat kemarin, oleh hanya sulit coding dalam teks Latin 565 00:24:19,530 --> 00:24:21,820 dan hal-hal seperti lainnya, melainkan kemampuan 566 00:24:21,820 --> 00:24:25,367 login, kemampuan untuk membeli sesuatu, kemampuan untuk memeriksa 567 00:24:25,367 --> 00:24:26,950 dengan shopping cart Anda, atau sejenisnya. 568 00:24:26,950 --> 00:24:30,590 Semua itu membutuhkan dinamika dan Anda perlu beberapa bahasa seperti salah satu dari ini. 569 00:24:30,590 --> 00:24:35,060 >> AUDIENCE: Jadi tidak Python memiliki sendiri ekstensi, mirip seperti [tidak terdengar] 570 00:24:35,060 --> 00:24:36,060 DAVID J. Malan: Itu. 571 00:24:36,060 --> 00:24:42,250 Jadi dalam dunia Python, Django adalah kerangka kerja yang sangat populer untuk Python. 572 00:24:42,250 --> 00:24:46,520 WSGI adalah mekanisme lain yang semacam berbeda dari ini 573 00:24:46,520 --> 00:24:47,640 tapi mirip dalam roh. 574 00:24:47,640 --> 00:24:52,200 Ini adalah add-on yang memungkinkan Anda untuk menjalankan kode Python di server. 575 00:24:52,200 --> 00:24:53,950 Ada other-- ya. 576 00:24:53,950 --> 00:24:57,250 Jadi kita ini akan memanggil kerangka. 577 00:24:57,250 --> 00:24:58,870 Dan itu sedikit penyalahgunaan. 578 00:24:58,870 --> 00:25:00,920 Ini lebih dari teknologi web server. 579 00:25:00,920 --> 00:25:04,610 Tapi kita akan tetap sederhana dan menempatkan dalam kolom ini tetap. 580 00:25:04,610 --> 00:25:05,780 >> BAIK. 581 00:25:05,780 --> 00:25:07,850 WSGI. 582 00:25:07,850 --> 00:25:09,020 WSGI. 583 00:25:09,020 --> 00:25:12,100 Lain thing-- dan benar-benar, biarkan saya bergerak bahwa untuk kolom sendiri, 584 00:25:12,100 --> 00:25:17,000 karena saya akan berteriak pada diriku sendiri untuk menempatkan mereka dalam ember yang sama. 585 00:25:17,000 --> 00:25:24,910 Mari kita menempatkan ini ke Server fitur, katakanlah. 586 00:25:24,910 --> 00:25:26,710 Itu bukan istilah teknis. 587 00:25:26,710 --> 00:25:29,180 >> Jadi di sini kita mungkin WSGI. 588 00:25:29,180 --> 00:25:32,580 Ada CGI, yang lebih tua teknik untuk melayani sampai bahasa 589 00:25:32,580 --> 00:25:35,890 seperti Perl atau PHP, atau beberapa orang lain. 590 00:25:35,890 --> 00:25:39,000 Sekali lagi, saya sebutkan istilah-istilah ini tidak begitu banyak untuk semacam menanamkan mereka, 591 00:25:39,000 --> 00:25:40,749 tapi begitu bahwa jika Anda melihat mereka itu adalah sesuatu 592 00:25:40,749 --> 00:25:42,130 Anda hanya google untuk membaca lebih lanjut. 593 00:25:42,130 --> 00:25:46,110 Tidak ada jus nyata untuk beberapa hal. 594 00:25:46,110 --> 00:25:47,850 >> Tapi mari kita kembali ke bahasa. 595 00:25:47,850 --> 00:25:50,499 Kami berbicara tentang C #, Python. 596 00:25:50,499 --> 00:25:52,790 Apa lagi yang mungkin Anda gunakan untuk web pemrograman hari ini? 597 00:25:52,790 --> 00:25:54,302 Mari kita fokus pada yang masih. 598 00:25:54,302 --> 00:25:55,247 >> AUDIENCE: PHP. 599 00:25:55,247 --> 00:25:56,080 DAVID J. Malan: PHP. 600 00:25:56,080 --> 00:25:57,413 Dan mari kita kembali ke satu. 601 00:25:57,413 --> 00:25:59,310 Jadi PHP sangat umum digunakan. 602 00:25:59,310 --> 00:26:01,560 PHP cenderung untuk mendapatkan rap buruk. 603 00:26:01,560 --> 00:26:05,790 Ini dimulai sebagai bahasa dilaksanakan oleh orang-orang yang mungkin tidak selalu 604 00:26:05,790 --> 00:26:06,960 yang terbaik desainer bahasa. 605 00:26:06,960 --> 00:26:11,290 Dan sehingga Anda dapat membaca segala macam artikel online tentang betapa buruknya PHP adalah. 606 00:26:11,290 --> 00:26:13,660 Dan sayangnya, ini adalah manifestasi, sebagian, 607 00:26:13,660 --> 00:26:18,727 hanya perdebatan agama yang meletus antara programmer. 608 00:26:18,727 --> 00:26:20,560 Dan ini adalah sesuatu layak disimpan dalam pikiran, 609 00:26:20,560 --> 00:26:24,410 dari perspektif bisnis, yang itu sangat mudah bagi orang-orang teknis 610 00:26:24,410 --> 00:26:26,900 untuk mendapatkan semua bekerja dengan mereka opini tentang hal-hal tertentu. 611 00:26:26,900 --> 00:26:29,566 Dan itu tidak selalu berarti yang satu berteriak paling keras 612 00:26:29,566 --> 00:26:31,870 atau dengan kuat, opini pemarah yang tepat. 613 00:26:31,870 --> 00:26:34,100 Banyak kali, itu benar-benar hanya tidak peduli. 614 00:26:34,100 --> 00:26:37,970 >> Dan jadi orang hanya berdebat apapun bias mereka sendiri atau zona kenyamanan. 615 00:26:37,970 --> 00:26:40,760 Dan sehingga Anda harus tetap bahwa dalam pikiran ketika membuat 616 00:26:40,760 --> 00:26:42,622 keputusan, yang hanya karena seseorang mengatakan 617 00:26:42,622 --> 00:26:45,080 ini adalah bahasa yang tepat untuk pekerjaan, yang mungkin benar, 618 00:26:45,080 --> 00:26:48,350 tetapi juga hanya mungkin itu adalah bahasa yang tepat dalam keterampilan mereka sendiri 619 00:26:48,350 --> 00:26:49,267 mengatur atau zona kenyamanan. 620 00:26:49,267 --> 00:26:52,600 Yang tidak buruk, tetapi Anda harus menyadari bahwa mungkin ada beberapa konteks sana. 621 00:26:52,600 --> 00:26:54,440 Ada beberapa obyektif pernyataan yang salah, 622 00:26:54,440 --> 00:26:59,080 seperti C adalah bahasa yang salah untuk menggunakan hari ini untuk melaksanakan website 623 00:26:59,080 --> 00:27:00,520 hampir selalu. 624 00:27:00,520 --> 00:27:03,370 Tapi itu tidak masuk akal untuk mengatakan bahwa semua ini 625 00:27:03,370 --> 00:27:05,700 salah bahwa kita sudah dilingkari sejauh ini. 626 00:27:05,700 --> 00:27:08,180 >> PHP telah melalui banyak versi. 627 00:27:08,180 --> 00:27:11,310 Jadi bahasa cenderung memiliki versi angka yang berhubungan dengan mereka. 628 00:27:11,310 --> 00:27:15,390 PHP terserah, saya pikir, versi 7 sekarang, sehingga sudah ada selama beberapa waktu. 629 00:27:15,390 --> 00:27:18,270 Dan sebagai bahasa mendapatkan lebih baru, mereka sering mendapatkan fitur baru. 630 00:27:18,270 --> 00:27:22,510 Tapi Anda harus berhati ini karena jika website Anda telah 631 00:27:22,510 --> 00:27:27,539 diimplementasikan dalam versi 7 dari PHP tapi Anda mencoba untuk menjalankan website Anda, 632 00:27:27,539 --> 00:27:29,830 atau mungkin Anda sudah outsourcing pengembangan kode Anda 633 00:27:29,830 --> 00:27:31,960 kepada orang lain dan mereka mail kepada Anda atau mengirimkannya kepada Anda 634 00:27:31,960 --> 00:27:33,960 dan mereka mengatakan, di sini, menempatkan ini pada server web Anda, 635 00:27:33,960 --> 00:27:36,610 jika web server Anda adalah beberapa tahun outdated-- apakah itu 636 00:27:36,610 --> 00:27:39,465 server Anda sendiri atau host-- web mungkin tidak benar-benar berjalan. 637 00:27:39,465 --> 00:27:41,340 Jadi ini adalah jenis hal bahwa seseorang 638 00:27:41,340 --> 00:27:44,067 perlu memperhatikan ketika melakukan upgrade situs 639 00:27:44,067 --> 00:27:45,650 atau mengimplementasikannya untuk pertama kalinya. 640 00:27:45,650 --> 00:27:46,900 >> Saya mendengar JavaScript sebelumnya. 641 00:27:46,900 --> 00:27:50,570 Jadi JavaScript adalah menarik satu yang secara umum 642 00:27:50,570 --> 00:27:53,030 sisi klien, karena kami akan melihat setelah istirahat, yang 643 00:27:53,030 --> 00:27:55,000 berarti berjalan di browser pengguna. 644 00:27:55,000 --> 00:27:58,400 Tapi Anda juga dapat menjalankan JavaScript hari ini 645 00:27:58,400 --> 00:28:03,450 menggunakan sesuatu yang disebut Node.js, di mana Node.js 646 00:28:03,450 --> 00:28:08,000 adalah mekanisme untuk menjalankan kode JavaScript sisi server, 647 00:28:08,000 --> 00:28:12,430 daripada menggunakan Python, atau PHP, atau bahasa seperti lainnya. 648 00:28:12,430 --> 00:28:17,820 >> JavaScript sangat cocok untuk aplikasi chatting dan real time 649 00:28:17,820 --> 00:28:22,050 aplikasi, sedangkan PHP tidak besar bahasa untuk melaksanakan sesuatu 650 00:28:22,050 --> 00:28:25,050 seperti server obrolan, di mana pengguna tetap terhubung dengan terus-menerus. 651 00:28:25,050 --> 00:28:28,760 PHP lebih dari kunjungan saya sekali, mendapatkan kembali hasilnya, 652 00:28:28,760 --> 00:28:31,790 kemudian klik link lain beberapa detik atau menit dari sekarang. 653 00:28:31,790 --> 00:28:36,020 Sedangkan Node.js dan JavaScript dapat digunakan lebih untuk koneksi persisten. 654 00:28:36,020 --> 00:28:40,840 bahasa lain yang Anda menduga biasanya digunakan untuk hal-hal web? 655 00:28:40,840 --> 00:28:42,800 >> AUDIENCE: Apakah jQuery menjadi kerangka kerja? 656 00:28:42,800 --> 00:28:44,050 >> DAVID J. Malan: Pertanyaan yang bagus. 657 00:28:44,050 --> 00:28:44,700 Tidak. 658 00:28:44,700 --> 00:28:51,210 Saya akan memanggil jQuery perpustakaan, di mana lagi perpustakaan adalah hanya sekelompok kode 659 00:28:51,210 --> 00:28:53,250 bahwa orang lain memiliki tertulis bahwa umumnya 660 00:28:53,250 --> 00:28:56,390 memecahkan beberapa masalah yang membuatnya, mudah-mudahan, lebih mudah 661 00:28:56,390 --> 00:28:57,760 bagi Anda untuk melakukan pekerjaan Anda. 662 00:28:57,760 --> 00:29:00,820 Dan membiarkan saya melakukan salah satu contoh ini dalam konteks web. 663 00:29:00,820 --> 00:29:03,910 >> Dalam konteks web ada bahasa ini, JavaScript, 664 00:29:03,910 --> 00:29:06,690 yang akan kita lihat nanti, dimana Anda mungkin mengatakan sesuatu seperti ini-- 665 00:29:06,690 --> 00:29:10,060 "Document.getElementById." 666 00:29:10,060 --> 00:29:11,490 Dan apa yang saya sebut kemarin? 667 00:29:11,490 --> 00:29:16,800 Pertama, saya pikir, adalah ID unik yang saya berikan untuk unsur yang tampak seperti ini. 668 00:29:16,800 --> 00:29:23,110 "P id =" pertama ">" dan kemudian kita harus seperti "lorem ipsum," dan sebagainya. 669 00:29:23,110 --> 00:29:28,210 Jadi jika saya sedang menulis sebuah program di JavaScript entah bagaimana memanipulasi, 670 00:29:28,210 --> 00:29:30,830 mengubah halaman web yang kita bermain dengan kemarin, 671 00:29:30,830 --> 00:29:33,010 Saya akan menggunakan ini baris yang disorot kode 672 00:29:33,010 --> 00:29:38,700 untuk mendapatkan potongan tertentu HTML dari halaman saya, bahwa node tertentu, 673 00:29:38,700 --> 00:29:39,680 seperti yang akan kita menyebutnya. 674 00:29:39,680 --> 00:29:44,540 >> Namun, di jQuery, alih-alih menulis ini, yang merupakan baku code-- JavaScript 675 00:29:44,540 --> 00:29:48,870 hanya keluar dari kotak, itu bagaimana Anda menulis itu-- Anda akan bukan hanya mengatakan, 676 00:29:48,870 --> 00:29:50,260 "#pertama." 677 00:29:50,260 --> 00:29:52,330 Itu setara. 678 00:29:52,330 --> 00:29:56,040 Dan sehingga hanya berdasarkan ini sangat Misalnya misterius, apa yang mungkin 679 00:29:56,040 --> 00:29:57,870 adalah argumen untuk menggunakan jQuery? 680 00:29:57,870 --> 00:30:01,390 681 00:30:01,390 --> 00:30:05,111 Mengapa pengembang akan menggunakan perpustakaan seperti jQuery, berdasarkan contoh terisolasi ini, 682 00:30:05,111 --> 00:30:05,610 mungkin? 683 00:30:05,610 --> 00:30:06,335 >> AUDIENCE: Kurang kode. 684 00:30:06,335 --> 00:30:06,780 >> DAVID J. Malan: Ya. 685 00:30:06,780 --> 00:30:07,530 Ini kode kurang. 686 00:30:07,530 --> 00:30:09,070 Itu hanya lebih cepat untuk mengetik. 687 00:30:09,070 --> 00:30:11,690 tandingan ini yang tampak menakutkan. 688 00:30:11,690 --> 00:30:13,540 Anda tidak dapat benar-benar membacanya kiri ke kanan. 689 00:30:13,540 --> 00:30:16,730 Bahkan, karena itu sebagian besar tanda baca sekarang bukan yang sebenarnya kata-kata, 690 00:30:16,730 --> 00:30:20,950 Saya dapat jenis menyimpulkan bahwa "Document.getElementById" mendapat 691 00:30:20,950 --> 00:30:23,640 elemen dari dokumen dengan ID-nya. 692 00:30:23,640 --> 00:30:26,750 Aku benar-benar dapat menggunakan tidak seperti mnemonik dari hal ini di sini. 693 00:30:26,750 --> 00:30:27,680 >> Jadi itu adalah trade off. 694 00:30:27,680 --> 00:30:30,763 Ada kecanggihan yang datang sering dengan menggunakan perpustakaan, terutama 695 00:30:30,763 --> 00:30:31,440 seperti jQuery. 696 00:30:31,440 --> 00:30:34,700 Tetapi kenyataannya adalah jQuery memiliki jenis dari menjadi standar de facto, 697 00:30:34,700 --> 00:30:38,110 sehingga hampir semua orang ini hari yang menulis kode JavaScript 698 00:30:38,110 --> 00:30:41,520 menggunakan jQuery atau sesuatu seperti itu, dan tidak lagi menulis 699 00:30:41,520 --> 00:30:45,200 seperti ekspresi verbose sebagai ini, karena sekali lagi, manusia 700 00:30:45,200 --> 00:30:47,850 telah belajar, wow, itu semacam kesempatan yang tidak terjawab 701 00:30:47,850 --> 00:30:49,030 untuk membuat hidup kita lebih mudah. 702 00:30:49,030 --> 00:30:51,140 Jadi manusia membuat hidup mereka lebih mudah. 703 00:30:51,140 --> 00:30:53,310 Pertanyaan bagus. 704 00:30:53,310 --> 00:30:55,870 >> bahasa lain untuk dipertimbangkan. 705 00:30:55,870 --> 00:30:58,660 Saya akan mengatakan di antara ini Daftar Ruby cukup populer. 706 00:30:58,660 --> 00:31:01,310 Dan dalam dunia Ruby, ada kerangka kerja 707 00:31:01,310 --> 00:31:03,590 disebut Rails, yang sangat populer. 708 00:31:03,590 --> 00:31:06,880 Jadi Ruby on Rails adalah umum digunakan ekspresi. 709 00:31:06,880 --> 00:31:10,330 Juga di dunia ini, biarkan aku lingkaran Java untuk hal-hal web, 710 00:31:10,330 --> 00:31:14,160 di mana dalam dunia Java Anda mungkin memiliki JSP, atau Java 711 00:31:14,160 --> 00:31:18,450 Servlets, yang merupakan teknologi yang umum. 712 00:31:18,450 --> 00:31:22,560 Dan ini hanya lagi cara menggunakan bahwa bahasa dalam lingkungan server. 713 00:31:22,560 --> 00:31:23,520 >> Jadi apa artinya ini? 714 00:31:23,520 --> 00:31:25,770 Jika Anda punya fisik server, Anda akan benar-benar 715 00:31:25,770 --> 00:31:30,510 men-download perangkat lunak server web dan menginstalnya sedemikian rupa 716 00:31:30,510 --> 00:31:33,510 bahwa Anda memiliki dukungan untuk salah satu kerangka kerja ini, dengan mana Anda 717 00:31:33,510 --> 00:31:37,260 bisa, pada gilirannya, menggunakan satu atau lebih dari bahasa-bahasa ini. 718 00:31:37,260 --> 00:31:40,260 Dan pada kenyataannya, jika Anda mendaftar untuk seperti web host atau beberapa awan 719 00:31:40,260 --> 00:31:41,968 layanan kami berbicara kemarin, sering 720 00:31:41,968 --> 00:31:44,885 hal-hal yang hanya datang dengan konfigurasi mesin untuk Anda. 721 00:31:44,885 --> 00:31:46,510 Anda tidak perlu mengatur ini secara manual. 722 00:31:46,510 --> 00:31:51,040 Tapi jika Anda melakukannya, ini adalah di mana peran administrator sistem, sehingga untuk berbicara, 723 00:31:51,040 --> 00:31:51,860 datang ke dalam bermain. 724 00:31:51,860 --> 00:31:54,151 Dia atau dia benar-benar akan melakukan hal semacam ini untuk Anda, 725 00:31:54,151 --> 00:31:58,510 atau yang disebut webmaster sering melakukan ini untuk Anda. 726 00:31:58,510 --> 00:31:59,010 Baiklah. 727 00:31:59,010 --> 00:32:03,300 Pertanyaan pada beberapa ini di sini? 728 00:32:03,300 --> 00:32:06,690 Atau setiap peluang di semua untuk bertanya tentang bahasa? 729 00:32:06,690 --> 00:32:09,500 Frameworks? 730 00:32:09,500 --> 00:32:11,530 Lalu biarkan saya memperkenalkan hanya satu perpustakaan lainnya 731 00:32:11,530 --> 00:32:13,150 itu juga sangat umum hari ini. 732 00:32:13,150 --> 00:32:15,340 Daftar ini bisa terus tak terhingga. 733 00:32:15,340 --> 00:32:19,140 >> Dan perpustakaan ini adalah jenis mulai jatuh dari nikmat. 734 00:32:19,140 --> 00:32:19,850 Sudah sekitar. 735 00:32:19,850 --> 00:32:22,040 Itu dipopulerkan oleh Twitter untuk beberapa waktu. 736 00:32:22,040 --> 00:32:24,470 Dan sekarang banyak website, banyak pengembang menggunakannya. 737 00:32:24,470 --> 00:32:26,629 Tapi hal-hal baru yang datang dan datang bersama. 738 00:32:26,629 --> 00:32:29,420 Tapi saya hanya memberikan rasa apa artinya untuk menggunakan perpustakaan. 739 00:32:29,420 --> 00:32:32,250 Jadi sekali lagi, JavaScript adalah bahasa yang sangat populer. 740 00:32:32,250 --> 00:32:35,340 CSS, atau Cascading Style Sheets, kita bicarakan kemarin. 741 00:32:35,340 --> 00:32:36,600 Itu pun, adalah di mana-mana. 742 00:32:36,600 --> 00:32:40,130 Tidak ada yang membuat halaman web hari ini tanpa menggunakan HTML dan CSS minimal. 743 00:32:40,130 --> 00:32:42,510 Tapi itu tidak selalu mudah untuk melakukan hal-hal tertentu. 744 00:32:42,510 --> 00:32:46,281 >> Dan jadi biarkan aku pergi ke getbootstrap.com. 745 00:32:46,281 --> 00:32:46,780 Whoops. 746 00:32:46,780 --> 00:32:48,280 Itu bukan bagaimana kita mengeja. 747 00:32:48,280 --> 00:32:52,410 Getbootstrap.com, yang akan memimpin saya 748 00:32:52,410 --> 00:32:56,140 ke halaman arahan untuk perpustakaan ini. 749 00:32:56,140 --> 00:32:59,720 Sehingga mereka murah hati sebut sendiri kerangka, yang 750 00:32:59,720 --> 00:33:02,032 adalah jenis semacam adil, tapi aku masih akan menyebutnya 751 00:33:02,032 --> 00:33:03,490 lebih dari perpustakaan daripada kerangka. 752 00:33:03,490 --> 00:33:05,760 Tapi ini semantik hanya diperdebatkan. 753 00:33:05,760 --> 00:33:12,360 Biarkan aku pergi ke tab CSS dan biarkan aku pergi ke sesuatu seperti ini. 754 00:33:12,360 --> 00:33:15,450 >> Jadi ingat apa bentuk kami memandang seperti kemarin di Cloud9? 755 00:33:15,450 --> 00:33:16,370 Itu cukup jelek. 756 00:33:16,370 --> 00:33:17,320 tombol sekolah tua. 757 00:33:17,320 --> 00:33:20,420 Saya pikir tombol abu-abu dengan default. Dan semuanya benar-benar 758 00:33:20,420 --> 00:33:22,420 diformat cukup messily. 759 00:33:22,420 --> 00:33:26,940 Jadi jika Anda ingin bentuk web Anda untuk melihat sedikit nicer-- biar tampilannya di sini. 760 00:33:26,940 --> 00:33:30,050 >> Dan dengan lebih baik aku benar-benar hanya berarti estetika sangat nitpicky. 761 00:33:30,050 --> 00:33:35,390 Jadi perhatikan bagaimana kotak email ada memiliki bulat sudut persegi panjang untuk itu. 762 00:33:35,390 --> 00:33:37,010 Jadi itu sedikit lebih bersih di sana. 763 00:33:37,010 --> 00:33:40,770 Perhatikan bahwa email kata ada sampai aku mulai mengetik 764 00:33:40,770 --> 00:33:41,797 dan kemudian hilang. 765 00:33:41,797 --> 00:33:43,130 Jadi itulah fitur kecil yang bagus. 766 00:33:43,130 --> 00:33:46,046 Perhatikan bagaimana hal ini jenis bersinar baik, yang sebagian dari Anda ini 767 00:33:46,046 --> 00:33:49,069 dapatkan secara gratis dari browser Anda, tetapi beberapa dari ini juga perpustakaan, 768 00:33:49,069 --> 00:33:51,360 kode bahwa orang lain memiliki tertulis yang memberikan ini. 769 00:33:51,360 --> 00:33:53,480 >> Sesuatu seperti ini memberi saya kata sandi. 770 00:33:53,480 --> 00:33:58,480 Tombol ini sedikit lebih seksi daripada default. Sangat banyak dalam mode sekarang. 771 00:33:58,480 --> 00:34:03,570 Sejak iOS 7 atau lebih, dunia yang sudah sangat datar, 772 00:34:03,570 --> 00:34:09,000 sedangkan dunia sebelum memiliki banyak bayangan drop, banyak 773 00:34:09,000 --> 00:34:11,040 refleksi pada ikon. 774 00:34:11,040 --> 00:34:14,170 Sama seperti di dunia pakaian, ada tren mode yang datang dan pergi. 775 00:34:14,170 --> 00:34:16,190 Sekarang semuanya datar pada ponsel Anda. 776 00:34:16,190 --> 00:34:19,159 >> Bahkan, tombol pada Anda iPhone sekarang link hanya biru. 777 00:34:19,159 --> 00:34:21,000 Ada tidak sering bahkan tombol melingkar. 778 00:34:21,000 --> 00:34:22,791 Jadi ini hanya hal yang masuk dan keluar 779 00:34:22,791 --> 00:34:26,659 dari mode, dan jadi ini adalah bagaimana Anda mungkin membuat bentuk web yang lebih modern mencari. 780 00:34:26,659 --> 00:34:27,159 Tombol. 781 00:34:27,159 --> 00:34:29,190 Jadi Bootstrap memiliki banyak tombol yang cukup. 782 00:34:29,190 --> 00:34:33,639 Jadi jika Anda ingin tombol biru, tombol hijau, biru, oranye, merah. 783 00:34:33,639 --> 00:34:35,840 Bootstrap memudahkan untuk melakukan hal-hal ini. 784 00:34:35,840 --> 00:34:38,131 Ini adalah hal-hal yang bahwa Anda bisa benar-benar 785 00:34:38,131 --> 00:34:41,840 telah dilakukan kemarin dengan CSS dan dengan HTML, tapi itu hanya rasa sakit di leher. 786 00:34:41,840 --> 00:34:44,840 Dan begitu sebaliknya, apa yang akan Bootstrap yang harus Anda lakukan adalah sesuatu seperti ini. 787 00:34:44,840 --> 00:34:48,960 >> Jika Anda ingin button-- sebuah ternyata ini adalah tag HTML kita tidak menggunakan yesterday-- 788 00:34:48,960 --> 00:34:53,070 dan Anda ingin terlihat seperti tombol hijau ini, 789 00:34:53,070 --> 00:34:57,380 Anda benar-benar hanya memberikan kelas, yang kami lakukan bicarakan kemarin, 790 00:34:57,380 --> 00:34:59,710 dari "btn btn-sukses." 791 00:34:59,710 --> 00:35:00,971 >> Mengapa kata-kata itu? 792 00:35:00,971 --> 00:35:03,470 Twitter, penulis Bootstrap, datang dengan kata-kata. 793 00:35:03,470 --> 00:35:05,428 Mereka bisa disebut mereka apa pun yang mereka inginkan. 794 00:35:05,428 --> 00:35:08,480 Tapi apa yang Anda mendapatkan saat ini adalah orang lain di Twitter, dalam hal ini, 795 00:35:08,480 --> 00:35:12,360 sudah tahu bagaimana Anda membuat Tombol terlihat bagus dan bersih dan hijau. 796 00:35:12,360 --> 00:35:15,580 Mereka dikemas fungsionalitas yang di kelas CSS, disebut "btn" 797 00:35:15,580 --> 00:35:19,790 dan "btn-sukses," sehingga setiap dari kita bisa sekarang menggunakannya tanpa berpikir tentang 798 00:35:19,790 --> 00:35:20,290 saya t. 799 00:35:20,290 --> 00:35:22,880 Jadi mereka telah disarikan pergi gagasan tombol hijau 800 00:35:22,880 --> 00:35:25,320 jadi kita tidak perlu peduli menerapkan diri kita sendiri. 801 00:35:25,320 --> 00:35:28,520 Kami benar-benar bisa fokus pada pelaksanaan hal menarik bagi kami. 802 00:35:28,520 --> 00:35:30,902 >> Jika kita scroll ke bawah sini. 803 00:35:30,902 --> 00:35:32,110 pesan kesalahan pada layar. 804 00:35:32,110 --> 00:35:35,440 Kadang-kadang Anda ingin sedikit pesan muncul di bagian atas browser. 805 00:35:35,440 --> 00:35:39,729 Setiap dari kita bisa melakukan hal ini dengan beberapa usaha, setelah pelajaran kemarin, 806 00:35:39,729 --> 00:35:40,770 tapi mengapa Anda akan repot-repot? 807 00:35:40,770 --> 00:35:42,540 Itu tidak menarik seperti rinci estetika. 808 00:35:42,540 --> 00:35:44,248 Mari kita berdiri di pundak Bootstrap 809 00:35:44,248 --> 00:35:49,440 dan membiarkan mereka memberi kita hal-hal seperti ini, di mana kita benar-benar, untuk mendapatkan kotak merah, 810 00:35:49,440 --> 00:35:53,220 hanya perlu melakukan sebuah paragraf tag dengan kelas of-- maaf. 811 00:35:53,220 --> 00:35:57,307 "Bg-bahaya" akan memberi kita kotak kemerahan ini sebagai gantinya. 812 00:35:57,307 --> 00:35:59,140 Sekarang mari kita pergi ke hal yang lebih menarik. 813 00:35:59,140 --> 00:36:02,950 Jika saya kembali ke puncak Halaman ini dan pergi ke Komponen, 814 00:36:02,950 --> 00:36:05,380 sekarang dunia akan lebih menarik. 815 00:36:05,380 --> 00:36:08,826 Misalnya, sangat umum adalah drop down menu seperti ini. 816 00:36:08,826 --> 00:36:11,560 Ini akan menjadi mutlak sakit untuk melaksanakan. 817 00:36:11,560 --> 00:36:13,610 Dan itu bukan yang lama lalu kita programmer 818 00:36:13,610 --> 00:36:16,490 harus menerapkan ini jenis menu dari awal. 819 00:36:16,490 --> 00:36:20,800 >> Tapi itu seperti sebuah paradigma umum bahwa perpustakaan seperti Bootstrap 820 00:36:20,800 --> 00:36:25,230 hanya memberikan Anda kemampuan untuk membuat drop down menu jauh, jauh lebih mudah. 821 00:36:25,230 --> 00:36:27,850 Tidak ada satu cara untuk melakukannya, tetapi jika saya membaca dokumentasi 822 00:36:27,850 --> 00:36:32,100 Saya akan melihat bahwa, OK, saya harus menggunakan HTML ini jika saya ingin drop down menu 823 00:36:32,100 --> 00:36:34,030 yang berperilaku seperti itu. 824 00:36:34,030 --> 00:36:36,690 >> Demikian pula, ayo pergi tombol drop-down. 825 00:36:36,690 --> 00:36:38,470 Jadi ini bahkan lebih menarik. 826 00:36:38,470 --> 00:36:41,800 Jika saya ingin ini terlihat seperti sebuah tombol tapi itu segitiga kecil berarti 827 00:36:41,800 --> 00:36:44,080 Saya harus klik di atasnya dan mendapatkan menu ini, ini 828 00:36:44,080 --> 00:36:45,760 adalah menggunakan bahasa yang disebut JavaScript. 829 00:36:45,760 --> 00:36:47,470 Dan kita semua bisa menerapkan ini JavaScript. 830 00:36:47,470 --> 00:36:49,720 Tapi sekali lagi, ini adalah sebuah roda Anda tidak ingin menemukan kembali. 831 00:36:49,720 --> 00:36:52,700 Anda hanya ingin melepasnya perpustakaan rak untuk ini. 832 00:36:52,700 --> 00:36:58,145 >> Mari kita pergi ke sesuatu seperti progress bar. 833 00:36:58,145 --> 00:36:59,770 Jadi sesuatu seperti ini jenis dingin. 834 00:36:59,770 --> 00:37:02,910 Jika Anda pernah melihat kemajuan bar bergerak di layar, 835 00:37:02,910 --> 00:37:06,380 menerapkan yang sering hanya ikon berputar. 836 00:37:06,380 --> 00:37:10,200 Bahkan, hanya sebagai samping, membiarkan saya pergi ke Ajax-- apa itu? 837 00:37:10,200 --> 00:37:10,710 Info Ajax? 838 00:37:10,710 --> 00:37:11,720 Whoops. 839 00:37:11,720 --> 00:37:13,035 Ajaxinfo. 840 00:37:13,035 --> 00:37:14,800 Mari saya ingat alamat. 841 00:37:14,800 --> 00:37:15,820 Di sana kami pergi. 842 00:37:15,820 --> 00:37:19,850 >> Jadi, jika Anda pernah melihat beberapa animasi sementara halaman sedang loading, atau berpikir, 843 00:37:19,850 --> 00:37:25,410 atau menyimpan, atau menciptakan sesuatu, Anda mungkin melihat animasi seperti ini. 844 00:37:25,410 --> 00:37:28,800 Jadi mari kita lihat sesuatu seperti ini di sini, 845 00:37:28,800 --> 00:37:33,550 dan mari kita memilih warna latar depan hijau, yang rasanya agak ramah. 846 00:37:33,550 --> 00:37:34,545 Dapatkah saya klik ini? 847 00:37:34,545 --> 00:37:35,500 Datang satu. 848 00:37:35,500 --> 00:37:36,000 BAIK. 849 00:37:36,000 --> 00:37:38,930 Kami hanya akan pergi dengan merah karena itulah apa yang kita dapatkan. 850 00:37:38,930 --> 00:37:40,250 Jadi di sini kita memilikinya. 851 00:37:40,250 --> 00:37:43,940 >> Jadi, jika Anda pernah melihat ini di layar, dimana tiba-tiba muncul dan kemudian 852 00:37:43,940 --> 00:37:47,550 tiba-tiba menghilang, apa yang itu yang menerapkan itu? 853 00:37:47,550 --> 00:37:48,970 Nah, ini hanya GIF. 854 00:37:48,970 --> 00:37:52,850 G-I-F. Dan ini adalah animasi mengajukan, yang hanya berarti 855 00:37:52,850 --> 00:37:54,327 itu seperti sebuah buku komik jadul. 856 00:37:54,327 --> 00:37:57,160 Ada hanya sekelompok yang berbeda frame yang akan [Gagap] 857 00:37:57,160 --> 00:37:58,085 dan hanya mengulangi. 858 00:37:58,085 --> 00:38:00,090 Dan itu menciptakan ilusi gerakan. 859 00:38:00,090 --> 00:38:03,070 >> Jadi, segera setelah halaman selesai memuat atau melakukan sesuatu, 860 00:38:03,070 --> 00:38:04,610 apa programmer lakukan? 861 00:38:04,610 --> 00:38:07,500 Yah, dia hanya menyembunyikan gambar ini. 862 00:38:07,500 --> 00:38:11,536 Jadi semua progress bar adalah jenis dari seperti sebuah film yang Anda tonton. 863 00:38:11,536 --> 00:38:14,660 Anda semacam menyadari fakta bahwa itu tidak benar-benar melakukan apa-apa, 864 00:38:14,660 --> 00:38:15,940 itu hanya bergerak. 865 00:38:15,940 --> 00:38:19,150 >> Dan kemudian, bila dilakukan kemajuan, mereka hanya menyembunyikannya atau mematikannya. 866 00:38:19,150 --> 00:38:21,115 Dan itu semua sihir yang terjadi di sana. 867 00:38:21,115 --> 00:38:22,770 Bootstrap memberi Anda sesuatu yang sedikit lebih menarik, 868 00:38:22,770 --> 00:38:25,030 dimana Anda dapat benar-benar melihat persentase sebagai kelanjutannya, 869 00:38:25,030 --> 00:38:27,840 tetapi juga adalah hanya semacam dari animasi sederhana. 870 00:38:27,840 --> 00:38:32,250 >> Mari kita lihat beberapa akhir lebih banyak contoh kompleks di sini. 871 00:38:32,250 --> 00:38:35,526 Sesuatu seperti modal a. 872 00:38:35,526 --> 00:38:36,900 Apakah ada yang tahu apa modal adalah? 873 00:38:36,900 --> 00:38:39,880 874 00:38:39,880 --> 00:38:42,550 Sebuah jendela modal umumnya salah satu yang seharusnya 875 00:38:42,550 --> 00:38:46,880 untuk mengambil kendali dari latar depan dan mencegah Anda melakukan hal lain. 876 00:38:46,880 --> 00:38:50,290 Ini semacam memaksa pengguna perhatian ke tengah layar, 877 00:38:50,290 --> 00:38:52,290 mengunci mereka keluar, biasanya, dari segala sesuatu yang lain. 878 00:38:52,290 --> 00:38:55,830 >> Jadi jika saya memulai demo ini, Layar umumnya akan menjadi abu-abu. 879 00:38:55,830 --> 00:38:57,060 Nah, bagaimana kita membuat abu-abu? 880 00:38:57,060 --> 00:38:59,080 Yah, kita mungkin hanya mengubah warna latar belakang 881 00:38:59,080 --> 00:39:01,060 seperti yang kita lakukan kemarin atau semacam itu. 882 00:39:01,060 --> 00:39:03,490 Mungkin itu overlay yang semi-transparan. 883 00:39:03,490 --> 00:39:06,320 Dan sekarang perhatikan yang dapat Anda lakukan hal mewah seperti ini. 884 00:39:06,320 --> 00:39:09,930 Jadi jika Anda pernah klik pada tombol dan ingin pop sedikit keluar muncul, 885 00:39:09,930 --> 00:39:10,710 kamu bisa melakukannya. 886 00:39:10,710 --> 00:39:12,340 Dan jadi siapa yang peduli tentang all-- ya? 887 00:39:12,340 --> 00:39:15,791 >> AUDIENCE: Jadi dengan Bootstrap, untuk mendapatkannya dimasukkan, 888 00:39:15,791 --> 00:39:21,002 adalah sesederhana seperti kemarin kami lakukan halaman gaya CSS? 889 00:39:21,002 --> 00:39:21,960 DAVID J. Malan: Memang. 890 00:39:21,960 --> 00:39:22,835 Pertanyaan yang benar-benar baik. 891 00:39:22,835 --> 00:39:24,480 Biarkan aku pergi untuk Memulai. 892 00:39:24,480 --> 00:39:26,090 Dan ya. 893 00:39:26,090 --> 00:39:30,920 Yang harus Anda lakukan untuk Penggunaan Bootstrap pada dasarnya menyalin 894 00:39:30,920 --> 00:39:35,910 dan paste tiga baris panjang kode ke bagian atas page-- web Anda sendiri 895 00:39:35,910 --> 00:39:38,892 kepala page-- Anda dan Anda bangun dan berjalan. 896 00:39:38,892 --> 00:39:41,850 Dan ada berbagai cara melakukan itu, tetapi ini akan menjadi yang paling sederhana. 897 00:39:41,850 --> 00:39:45,190 >> Jadi apa yang bermanfaat tentang semua ini? 898 00:39:45,190 --> 00:39:47,524 Nah, jika Anda tidak begitu banyak pelaksana dari sebuah situs web 899 00:39:47,524 --> 00:39:50,106 tapi Anda mencoba untuk merancang itu, atau Anda ingin memberikan seseorang 900 00:39:50,106 --> 00:39:53,220 dengan bingkai kawat diagram, sehingga untuk berbicara, atau penafsiran hanya artis dari apa yang 901 00:39:53,220 --> 00:39:56,080 Anda ingin lakukan, saya, untuk ini hari, sering akan pergi ke sebuah situs 902 00:39:56,080 --> 00:39:58,660 seperti Bootstrap, di mana jika saya ingin menerapkan something-- 903 00:39:58,660 --> 00:40:02,290 seperti baru-baru ini di kampus kami ingin menerapkan 904 00:40:02,290 --> 00:40:06,170 alat berbasis web untuk navigasi Katalog Tentu saja Harvard, 905 00:40:06,170 --> 00:40:08,770 sehingga memudahkan siswa untuk menelusuri program 906 00:40:08,770 --> 00:40:10,930 dan menambahkan program untuk daftar belanja, sehingga untuk berbicara, 907 00:40:10,930 --> 00:40:13,070 untuk jenis memutuskan apa mereka ingin mengambil. 908 00:40:13,070 --> 00:40:16,252 >> Aku mencoba membayangkan untuk diri sendiri, apa bahan-bahan akan 909 00:40:16,252 --> 00:40:17,460 kita ingin gunakan untuk membangun ini? 910 00:40:17,460 --> 00:40:19,050 Apa yang akan user interface seperti? 911 00:40:19,050 --> 00:40:22,800 Dan hanya melihat melalui situs seperti ini atau situs perpustakaan lain seperti, 912 00:40:22,800 --> 00:40:26,560 Anda bisa mendapatkan inspirasi, karena wow, Saya bisa menggunakan widget ini, dan widget ini, 913 00:40:26,560 --> 00:40:27,330 dan widget ini. 914 00:40:27,330 --> 00:40:29,080 Dan kemudian benar-benar apa yang programmer dimulai 915 00:40:29,080 --> 00:40:32,800 untuk dilakukan, terutama pada hari-hari di ini lebih dunia modern pemrograman web, 916 00:40:32,800 --> 00:40:35,827 adalah pemrograman semakin tentang kabel hal bersama-sama. 917 00:40:35,827 --> 00:40:38,910 Semacam mengambil ini dari rak, ini dari rak, ini dari rak, 918 00:40:38,910 --> 00:40:41,954 dan Anda menjadi orang pintar untuk menghubungkan semua titik-titik, 919 00:40:41,954 --> 00:40:45,120 tapi akhirnya membangun sesuatu dengan kembali berdiri di pundak orang lain, 920 00:40:45,120 --> 00:40:49,370 sehingga Anda tidak menghabiskan satu bulan menerapkan drop bodoh down menu, 921 00:40:49,370 --> 00:40:52,080 yang sebenarnya sulit untuk dilakukan jika Anda ingin bekerja pada Chrome, 922 00:40:52,080 --> 00:40:55,220 dan IE, dan Firefox, dan setiap jumlah browser lain. 923 00:40:55,220 --> 00:40:59,060 Ini adalah mengapa ada ini kaya software komersial dan open source 924 00:40:59,060 --> 00:41:01,220 industri juga. 925 00:41:01,220 --> 00:41:06,810 >> AUDIENCE: Jadi tidak Bootstrap diperbarui dan Anda harus kemudian memperbarui link Anda? 926 00:41:06,810 --> 00:41:07,820 >> DAVID J. Malan: Itu. 927 00:41:07,820 --> 00:41:09,090 Nah, ya, itu tidak. 928 00:41:09,090 --> 00:41:12,540 Bootstrap saat ini di versi 3.3.6. 929 00:41:12,540 --> 00:41:16,720 Dan umumnya apa yang Anda akan do-- ini sebenarnya layak disebut. 930 00:41:16,720 --> 00:41:19,200 Ada apa umumnya dikenal sebagai versi semantik 931 00:41:19,200 --> 00:41:20,160 sistem di dunia. 932 00:41:20,160 --> 00:41:21,320 Tidak semua orang melakukan hal ini. 933 00:41:21,320 --> 00:41:26,410 >> Tapi jika Anda pernah melihat nomor versi yang dalam bentuk x.y.z-- 934 00:41:26,410 --> 00:41:30,240 jadi misalnya, versi pertama dari program mungkin 1.0.0. 935 00:41:30,240 --> 00:41:34,970 Atau jika itu sangat, sangat beta, atau bahkan Status alpha, yang berarti penggunaan 936 00:41:34,970 --> 00:41:37,620 risiko Anda sendiri, itu tidak benar-benar siap untuk prime time, 937 00:41:37,620 --> 00:41:42,080 Anda bahkan mungkin mulai 0.0.1 atau penunjukan tersebut. 938 00:41:42,080 --> 00:41:47,260 Tetapi jika software dimulai pada versi 1.0, atau ekuivalen 1.0.0, 939 00:41:47,260 --> 00:41:50,530 biasanya, apa yang umum ini days-- meskipun tidak omnipresent-- adalah 940 00:41:50,530 --> 00:41:53,520 jika sebuah perusahaan atau perbaikan programmer individu 941 00:41:53,520 --> 00:41:56,140 beberapa bug di beberapa bagian perangkat lunak yang benar-benar 942 00:41:56,140 --> 00:42:01,620 bug, yang koreksi seharusnya tidak Dampak Anda di all-- tidak berubah 943 00:42:01,620 --> 00:42:03,940 perilaku program, itu hanya perbaikan sesuatu 944 00:42:03,940 --> 00:42:06,580 yang tidak bekerja properly-- Anda akan biasanya 945 00:42:06,580 --> 00:42:08,890 memperbarui nilai z ada. 946 00:42:08,890 --> 00:42:12,900 Yang berarti seseorang seperti Kareem hanya bisa masuk ke website-nya, 947 00:42:12,900 --> 00:42:19,470 membabi buta mengubah nomor versi dari 1.0.0 ke 1.0.1, menyimpannya, kapal itu, 948 00:42:19,470 --> 00:42:21,880 dan dalam teori, tidak perlu khawatir bahwa dia hanya rusak 949 00:42:21,880 --> 00:42:24,430 situsnya karena beberapa kekurangan fungsi, 950 00:42:24,430 --> 00:42:25,870 karena sesuatu yang lain pecah. 951 00:42:25,870 --> 00:42:28,740 >> Sementara itu, jika saya yang programmer atau beberapa perusahaan 952 00:42:28,740 --> 00:42:35,500 yang membuat beberapa signifikan perubahan yang menambahkan fungsionalitas, 953 00:42:35,500 --> 00:42:40,320 Aku mungkin memperbarui kita 1.1.0 karena aku benar-benar 954 00:42:40,320 --> 00:42:42,200 mengubah perilaku perpustakaan. 955 00:42:42,200 --> 00:42:44,470 Aku memberimu fungsi mungkin lebih. 956 00:42:44,470 --> 00:42:48,490 Akhirnya, jika saya harus benar-benar mendasar mengubah perangkat lunak sehingga 957 00:42:48,490 --> 00:42:54,380 banyak yang akan merusak banyak pengguna situs atau aplikasi, 958 00:42:54,380 --> 00:42:59,550 maka aku wajib, dalam model ini, untuk meningkatkan nomor versi utama juga, 959 00:42:59,550 --> 00:43:01,059 yang merupakan perubahan melanggar. 960 00:43:01,059 --> 00:43:03,725 Dengan kata lain, saya mungkin memiliki dukungan dihentikan untuk penurunan mereka 961 00:43:03,725 --> 00:43:04,350 down. 962 00:43:04,350 --> 00:43:07,790 Jadi, jika Anda meng-upgrade ke 2.0, setengah website Anda mungkin berhenti bekerja. 963 00:43:07,790 --> 00:43:10,950 Dan ini adalah semacam sinyal kepada masyarakat untuk apa 964 00:43:10,950 --> 00:43:13,223 terlibat dalam membuat upgrade. 965 00:43:13,223 --> 00:43:16,710 966 00:43:16,710 --> 00:43:18,020 Sebuah kesempatan yang baik untuk meningkatkan. 967 00:43:18,020 --> 00:43:18,718 pertanyaan lain? 968 00:43:18,718 --> 00:43:21,761 969 00:43:21,761 --> 00:43:22,260 Baiklah. 970 00:43:22,260 --> 00:43:26,945 Nah mari kita lihat di salah satu akhir topik di segmen ini pemrograman 971 00:43:26,945 --> 00:43:30,640 dari tumpukan teknologi, yaitu berhubungan dengan ponsel. 972 00:43:30,640 --> 00:43:36,232 >> Jadi dalam dunia ponsel saat ini Anda have-- dan iPads, dan permukaan, 973 00:43:36,232 --> 00:43:37,940 dan semua orang-orang macam dari perangkat-- Anda memiliki 974 00:43:37,940 --> 00:43:40,950 banyak pilihan ketika datang untuk melaksanakan 975 00:43:40,950 --> 00:43:47,270 aplikasi atau situs web untuk perangkat mobile pelanggan Anda. 976 00:43:47,270 --> 00:43:51,570 Jadi hanya untuk negara jelas, mungkin hari ini, 977 00:43:51,570 --> 00:43:54,960 apa platform untuk mengembangkan untuk dalam ruang mobile? 978 00:43:54,960 --> 00:43:59,650 perangkat apa yang mungkin Anda ingin mendukung dengan aplikasi atau situs web? 979 00:43:59,650 --> 00:44:00,317 >> AUDIENCE: Apple. 980 00:44:00,317 --> 00:44:01,108 DAVID J. Malan: OK. 981 00:44:01,108 --> 00:44:01,820 Jadi perangkat Apple. 982 00:44:01,820 --> 00:44:06,740 Jadi itu berarti iPhone, dan bahwa berarti iPad, dan bahkan mungkin iPod. 983 00:44:06,740 --> 00:44:07,627 Apa lagi? 984 00:44:07,627 --> 00:44:11,006 985 00:44:11,006 --> 00:44:11,505 Olivier? 986 00:44:11,505 --> 00:44:11,970 >> AUDIENCE: Android. 987 00:44:11,970 --> 00:44:13,111 >> DAVID J. Malan: Android. 988 00:44:13,111 --> 00:44:13,610 BAIK. 989 00:44:13,610 --> 00:44:17,335 ponsel sehingga Android, Android tablet, pasar Android 990 00:44:17,335 --> 00:44:21,240 adalah semakin rancu because-- dan bahkan Apple menjadi berantakan. 991 00:44:21,240 --> 00:44:23,960 Padahal sekali waktu iPhone adalah ukuran tertentu, 992 00:44:23,960 --> 00:44:26,560 dan iPad adalah ukuran tertentu, dan iPod adalah ukuran tertentu, sekarang 993 00:44:26,560 --> 00:44:33,420 kami memiliki iPad Minis, dan tipis yang, dan iPhone 6 Plus dan 6. 994 00:44:33,420 --> 00:44:34,407 Ini menjadi berantakan. 995 00:44:34,407 --> 00:44:35,740 Ini menjadi dunia Android. 996 00:44:35,740 --> 00:44:39,030 >> Dan saya mengatakan ini dengan semacam bergulir mata saya karena dari pengembang 997 00:44:39,030 --> 00:44:41,680 perspektif, itu adalah sakit di leher saat 998 00:44:41,680 --> 00:44:45,686 Anda tidak memiliki Steve Jobs ' visi kendali mutlak 999 00:44:45,686 --> 00:44:47,060 atas semua spesifikasi ini. 1000 00:44:47,060 --> 00:44:49,726 Apple tetap tidak karena mereka yang membangun perangkat keras. 1001 00:44:49,726 --> 00:44:52,690 Tapi itu hal yang bagus, jika Aku seorang pengembang perangkat lunak, 1002 00:44:52,690 --> 00:44:54,520 hanya tahu bahwa saya iPhone selalu akan 1003 00:44:54,520 --> 00:44:56,850 menjadi besar ini karena itu berarti saya selalu tahu 1004 00:44:56,850 --> 00:44:58,847 berapa banyak layar real estat yang saya miliki. 1005 00:44:58,847 --> 00:45:01,180 Jadi jika saya ingin menempatkan ikon di sudut kiri atas, 1006 00:45:01,180 --> 00:45:04,530 itu akan berada di sama menempatkan pada perangkat setiap pelanggan tunggal. 1007 00:45:04,530 --> 00:45:07,140 >> Tapi dalam dunia iPhone 6s dan iPhone 6 Plus 1008 00:45:07,140 --> 00:45:10,570 dan dalam dunia Android telepon, itu semua atas peta. 1009 00:45:10,570 --> 00:45:13,580 Dan sehingga membuatnya lebih sulit untuk Program hal, terutama user interface, 1010 00:45:13,580 --> 00:45:18,270 karena sekarang Anda harus mulai mengatur antarmuka pengguna Anda relatif, tidak 1011 00:45:18,270 --> 00:45:19,730 benar. 1012 00:45:19,730 --> 00:45:23,524 Dan sama telah berlaku pada browser, dan desktop, dan laptop selama bertahun-tahun 1013 00:45:23,524 --> 00:45:25,690 karena Anda, tentu saja, memiliki ukuran layar yang berbeda. 1014 00:45:25,690 --> 00:45:26,189 >> Apa lagi? 1015 00:45:26,189 --> 00:45:30,170 Anda mungkin memiliki permukaan, seperti dari Microsoft. 1016 00:45:30,170 --> 00:45:31,270 Anda mungkin have-- 1017 00:45:31,270 --> 00:45:32,270 AUDIENCE: Windows phone. 1018 00:45:32,270 --> 00:45:32,816 DAVID J. Malan: Apa itu? 1019 00:45:32,816 --> 00:45:33,570 AUDIENCE: Windows phone. 1020 00:45:33,570 --> 00:45:34,403 DAVID J. Malan: Ya. 1021 00:45:34,403 --> 00:45:37,570 Jadi ponsel jendela masih dapat ditemukan. 1022 00:45:37,570 --> 00:45:41,840 Jenis jenis BlackBerry, tapi mereka terus mencoba. 1023 00:45:41,840 --> 00:45:43,900 Dan kemudian tandan dari perangkat lain. 1024 00:45:43,900 --> 00:45:48,020 Jadi untuk sebagian besar, mari kita mengatakan ini adalah orang-orang 1025 00:45:48,020 --> 00:45:49,520 untuk peduli pada saat ini. 1026 00:45:49,520 --> 00:45:51,890 Tentu saja hal Apple, tentu hal Android, 1027 00:45:51,890 --> 00:45:55,640 dan di antara Windows, seperti tablet permukaan tampaknya penangkapan pada dengan cukup baik. 1028 00:45:55,640 --> 00:45:58,030 >> Dan di antara perangkat tersebut, jika Anda ingin bangun, 1029 00:45:58,030 --> 00:46:02,677 katakanlah, kehadiran ponsel untuk Anda perusahaan, apa jenis keputusan desain 1030 00:46:02,677 --> 00:46:03,510 Anda harus membuat? 1031 00:46:03,510 --> 00:46:06,350 Nah, kita sudah mengatakan di dunia Apple, 1032 00:46:06,350 --> 00:46:08,790 ada setidaknya dua bahasa yang biasanya digunakan. 1033 00:46:08,790 --> 00:46:10,260 Satu disebut apa? 1034 00:46:10,260 --> 00:46:11,260 >> AUDIENCE: Objective-C. 1035 00:46:11,260 --> 00:46:11,560 >> DAVID J. Malan: Ya. 1036 00:46:11,560 --> 00:46:13,600 Jadi Objective-C, yang merupakan lebih tua. 1037 00:46:13,600 --> 00:46:17,720 Ini juga bahasa yang banyak Mac aplikasi masih ditulis dalam. 1038 00:46:17,720 --> 00:46:18,964 Maka yang lebih baru lainnya adalah? 1039 00:46:18,964 --> 00:46:19,630 AUDIENCE: Swift. 1040 00:46:19,630 --> 00:46:20,590 DAVID J. Malan: Swift. 1041 00:46:20,590 --> 00:46:23,900 Dan mereka adalah jenis dua tahu untuk mengesankan orang. 1042 00:46:23,900 --> 00:46:28,238 Kemudian dalam dunia Android, apa bahasa tidak menggunakan Android? 1043 00:46:28,238 --> 00:46:30,618 >> AUDIENCE: C #? 1044 00:46:30,618 --> 00:46:31,570 >> AUDIENCE: Java. 1045 00:46:31,570 --> 00:46:34,230 >> DAVID J. Malan: Jawa bahasa "du jour." 1046 00:46:34,230 --> 00:46:37,950 Di dunia Windows, yakin, kita akan mengatakan C # dalam kasus itu. 1047 00:46:37,950 --> 00:46:40,590 Jadi sudah ini adalah jenis menjengkelkan, karena apa 1048 00:46:40,590 --> 00:46:43,070 takeaway untuk bisnis Pemilik atau seseorang yang hanya 1049 00:46:43,070 --> 00:46:44,570 ingin menggelar kehadiran ponsel? 1050 00:46:44,570 --> 00:46:45,220 Seperti, sialan? 1051 00:46:45,220 --> 00:46:48,590 Seperti, jika saya ingin mendukung basis pengguna yang cukup luas, 1052 00:46:48,590 --> 00:46:52,180 Saya harus menulis, tampaknya, tiga aplikasi yang terpisah. 1053 00:46:52,180 --> 00:46:55,630 Salah dalam salah satu bahasa ini, satu di Jawa, satu di C #. 1054 00:46:55,630 --> 00:46:59,620 Dan bahkan jika saya ingin fungsi tersebut identik, tidak peduli. 1055 00:46:59,620 --> 00:47:02,940 Saya masih perlu menggunakan berbeda bahasa karena Apple, dan Microsoft, 1056 00:47:02,940 --> 00:47:06,084 dan Google semua dukungan lingkungan yang berbeda. 1057 00:47:06,084 --> 00:47:07,750 Dan ini telah menjadi tantangan selama bertahun-tahun. 1058 00:47:07,750 --> 00:47:10,100 Kembali pada hari, ketika orang digunakan untuk membeli software 1059 00:47:10,100 --> 00:47:12,230 di toko komputer di menyusut kotak dibungkus, 1060 00:47:12,230 --> 00:47:14,470 Anda akan baik harus meraih rak Mac, 1061 00:47:14,470 --> 00:47:19,040 atau for-- mungkin Mac sangat kecil ini shelf-- atau lebih besar Windows rak 1062 00:47:19,040 --> 00:47:19,980 dan membeli beberapa perangkat lunak. 1063 00:47:19,980 --> 00:47:22,813 Dan sangat sering, tidak ada bahkan apa pun untuk Anda di rak Mac. 1064 00:47:22,813 --> 00:47:23,430 Mengapa? 1065 00:47:23,430 --> 00:47:26,900 Nah, perusahaan memutuskan jika 90% dunia, 95% dari dunia 1066 00:47:26,900 --> 00:47:31,180 memiliki PC, mengapa repot-repot bahkan melaksanakan hal-hal di Mac OS? 1067 00:47:31,180 --> 00:47:34,370 >> Sebagai aside-- total digression-- mengapa 1068 00:47:34,370 --> 00:47:40,960 bahwa Mac tampak begitu tahan terhadap virus, dan cacing, dan ancaman keamanan? 1069 00:47:40,960 --> 00:47:44,040 Apple lebih baik saat ini? 1070 00:47:44,040 --> 00:47:45,934 Lebih baik menjaga komputer aman? 1071 00:47:45,934 --> 00:47:47,750 >> AUDIENCE: penonton yang lebih kecil? 1072 00:47:47,750 --> 00:47:50,720 >> DAVID J. Malan: Itu mungkin sedikit lebih besar untuk itu. 1073 00:47:50,720 --> 00:47:54,740 Sehingga banyak pengguna Mac memiliki lama mengklaim, oh, menggunakan Mac, 1074 00:47:54,740 --> 00:47:57,630 Anda akan kebal terhadap virus, dan cacing, dan semua hal ini 1075 00:47:57,630 --> 00:47:59,180 yang telah lama mengganggu PC. 1076 00:47:59,180 --> 00:48:02,050 Yang mungkin karena Apple memiliki programmer yang lebih baik 1077 00:48:02,050 --> 00:48:05,250 dan mereka menulis perangkat lunak yang lebih baik, atau Sistem operasi ini lebih baik dirancang. 1078 00:48:05,250 --> 00:48:06,870 Mungkin, tapi mungkin tidak. 1079 00:48:06,870 --> 00:48:10,840 >> Ini mungkin bahwa ketika Anda 12 tahun, atau sesuatu 30 1080 00:48:10,840 --> 00:48:13,510 semacam duduk di rumah menulis perangkat lunak berbahaya untuk mengambil alih 1081 00:48:13,510 --> 00:48:17,480 dunia, Anda akan pergi setelah target audiens yang jauh lebih besar. 1082 00:48:17,480 --> 00:48:20,590 95% dari dunia yang mungkin menjalankan Windows atau beberapa 1083 00:48:20,590 --> 00:48:21,740 varian daripadanya. 1084 00:48:21,740 --> 00:48:23,800 Jadi ada sedikit di kedua sisi. 1085 00:48:23,800 --> 00:48:25,710 Tapi untuk kredit mereka, Apple, untuk pengetahuan saya, 1086 00:48:25,710 --> 00:48:28,270 belum benar-benar dipuji sendiri sebagai lebih aman, 1087 00:48:28,270 --> 00:48:32,110 karena Anda hanya mengundang drama jika Anda membuat klaim itu, saya akan berpikir. 1088 00:48:32,110 --> 00:48:32,610 >> Baiklah. 1089 00:48:32,610 --> 00:48:36,490 Tanpa terlalu jauh ke bawah itu, bagaimana kita mengatasi ini? 1090 00:48:36,490 --> 00:48:39,670 Apakah Anda harus membeli atau apakah Anda harus membayar tiga orang yang berbeda untuk mengembangkan 1091 00:48:39,670 --> 00:48:41,540 aplikasi Anda? 1092 00:48:41,540 --> 00:48:42,870 Apakah Anda memilih salah satu dari yang lain? 1093 00:48:42,870 --> 00:48:45,460 Apa yang harus memandu Anda berpikir di sini menurut Anda? 1094 00:48:45,460 --> 00:48:47,960 1095 00:48:47,960 --> 00:48:48,460 Kareem? 1096 00:48:48,460 --> 00:48:51,001 1097 00:48:51,001 --> 00:48:51,500 Nggak. 1098 00:48:51,500 --> 00:48:54,190 Orang lain. 1099 00:48:54,190 --> 00:48:56,885 >> AUDIENCE: Hanya datang dengan perangkat keras. 1100 00:48:56,885 --> 00:48:58,510 DAVID J. Malan: Datang dengan perangkat keras? 1101 00:48:58,510 --> 00:48:59,533 Apa maksudmu? 1102 00:48:59,533 --> 00:49:01,282 >> AUDIENCE: Untuk lingkungan Hidup. [Tidak terdengar] 1103 00:49:01,282 --> 00:49:04,867 1104 00:49:04,867 --> 00:49:06,200 DAVID J. Malan: Jadi itu benar. 1105 00:49:06,200 --> 00:49:09,280 Tapi pelanggan Anda, Sementara itu, mungkin memiliki iPhone, 1106 00:49:09,280 --> 00:49:13,530 mereka mungkin memiliki ponsel Android, mereka mungkin memiliki tablet buatan Microsoft. 1107 00:49:13,530 --> 00:49:19,040 Jadi bagaimana Anda memiliki strategi mobile untuk semua ini pengguna yang berbeda? 1108 00:49:19,040 --> 00:49:23,320 Akan terlihat bahwa jika biaya, katakanlah $ 1.000 untuk membuat iPhone 1109 00:49:23,320 --> 00:49:25,940 aplikasi, itu akan dikenakan biaya $ 2.000 untuk membuat 1110 00:49:25,940 --> 00:49:29,250 aplikasi iPhone dan aplikasi android, atau $ 3.000 1111 00:49:29,250 --> 00:49:31,407 juga mendukung perangkat Windows juga. 1112 00:49:31,407 --> 00:49:33,990 Itu mungkin cukup meremehkan, dan itu tidak mungkin bahkan 1113 00:49:33,990 --> 00:49:36,050 menjadi hubungan linear seperti itu. 1114 00:49:36,050 --> 00:49:41,065 >> AUDIENCE: Jika Anda ingin memiliki sebuah aplikasi atau tidak, Anda dapat memiliki website responsif. 1115 00:49:41,065 --> 00:49:41,940 DAVID J. Malan: Baik. 1116 00:49:41,940 --> 00:49:46,255 AUDIENCE: Atau Anda dapat memiliki aplikasi native. 1117 00:49:46,255 --> 00:49:47,130 DAVID J. Malan: Ya. 1118 00:49:47,130 --> 00:49:50,260 Jadi dalam semua konteks ini di sini, kita telah berbicara tentang apa 1119 00:49:50,260 --> 00:49:53,190 orang akan menyebutnya aplikasi asli. 1120 00:49:53,190 --> 00:49:58,040 Itu adalah aplikasi yang ditulis dalam bahasa asli dari perangkat tersebut. 1121 00:49:58,040 --> 00:50:02,190 Jadi asli Objective-C atau Swift kode, atau di Jawa, atau di C #. 1122 00:50:02,190 --> 00:50:06,900 Yang berarti ketika Anda men-download, mari kita mengatakan Snapchat, aplikasi populer, 1123 00:50:06,900 --> 00:50:10,060 atau ketika Anda men-download Facebook untuk telepon, 1124 00:50:10,060 --> 00:50:13,270 Anda men-download baik Versi ditulis untuk iPhone Anda, 1125 00:50:13,270 --> 00:50:16,830 atau ditulis untuk ponsel Android Anda, atau ditulis untuk permukaan Anda. 1126 00:50:16,830 --> 00:50:18,500 >> Tapi ada alternatif. 1127 00:50:18,500 --> 00:50:26,020 Sebagai Olivier menyinggung, Anda benar-benar dapat menggunakan HTML 5 1128 00:50:26,020 --> 00:50:33,440 sebaliknya, menggunakan apa yang disebut web aplikasi, dimana Anda hanya 1129 00:50:33,440 --> 00:50:35,940 mengimplementasikan kehadiran ponsel Anda dan fungsionalitas. 1130 00:50:35,940 --> 00:50:37,030 Apa yang saya maksud dengan kehadiran mobile? 1131 00:50:37,030 --> 00:50:39,800 Seperti website Anda yang memiliki Anda informasi kontak, daftar semua 1132 00:50:39,800 --> 00:50:43,049 produk Anda, mungkin itu memiliki belanja keranjang, mungkin Anda menjual sesuatu melalui itu. 1133 00:50:43,049 --> 00:50:46,850 Apapun aplikasi Anda, Anda menerapkannya, tidak di Objective-C, 1134 00:50:46,850 --> 00:50:51,200 atau Swift, atau Java, atau C #, tapi di HTML 5, yang merupakan bahasa kita melihat 1135 00:50:51,200 --> 00:50:55,470 di kemarin, dengan JavaScript dan CSS. 1136 00:50:55,470 --> 00:50:58,700 >> Dan apa yang baik tentang mereka tiga adalah bahwa untuk menjalankannya, 1137 00:50:58,700 --> 00:51:01,981 Anda hanya perlu apa software? 1138 00:51:01,981 --> 00:51:02,980 AUDIENCE: Sebuah web browser. 1139 00:51:02,980 --> 00:51:04,229 DAVID J. Malan: Sebuah web browser. 1140 00:51:04,229 --> 00:51:07,610 Dan yang terbaik yang saya tahu, semua ini perangkat datang dengan web browser, 1141 00:51:07,610 --> 00:51:10,480 sehingga pengguna tidak perlu menginstal sesuatu yang istimewa. 1142 00:51:10,480 --> 00:51:12,920 Jadi Anda bisa saja mengatakan Anda pemirsa, pelanggan Anda, 1143 00:51:12,920 --> 00:51:16,590 pergi ke acme.com di Anda Browser dan Anda hanya akan 1144 00:51:16,590 --> 00:51:19,730 memiliki pengalaman berbasis web yang masih mengisi layar, 1145 00:51:19,730 --> 00:51:25,100 tetapi Anda tidak perlu khawatir tentang semua biaya ini dan semua kompleksitas ini. 1146 00:51:25,100 --> 00:51:28,600 Tapi tentunya ada akan menjadi menangkap di sini, kan? 1147 00:51:28,600 --> 00:51:31,740 Terutama jika saya menunjukkan bahwa beberapa tahun yang lalu, 1148 00:51:31,740 --> 00:51:35,700 versi pertama dari aplikasi mobile Facebook 1149 00:51:35,700 --> 00:51:38,810 sebagian besar HTML 5 aplikasi. 1150 00:51:38,810 --> 00:51:42,490 Dan mereka memiliki lebih baru-baru ini, reimplemented itu 1151 00:51:42,490 --> 00:51:44,700 dalam aplikasi mereka yang lain. 1152 00:51:44,700 --> 00:51:46,990 >> Jadi mengapa Anda tidak segera ingin mengatakan, 1153 00:51:46,990 --> 00:51:49,190 baik, jelas kita akan melakukan ini? 1154 00:51:49,190 --> 00:51:51,560 Apa yang mungkin biaya tersembunyi menjadi? 1155 00:51:51,560 --> 00:51:52,477 >> AUDIENCE: Kinerja. 1156 00:51:52,477 --> 00:51:53,643 DAVID J. Malan: Kinerja? 1157 00:51:53,643 --> 00:51:54,567 Bagaimana maksudmu? 1158 00:51:54,567 --> 00:52:01,040 >> AUDIENCE: Aplikasi native memiliki kinerja yang lebih. 1159 00:52:01,040 --> 00:52:03,850 >> DAVID J. Malan: Jadi yang benar, untuk beberapa alasan. 1160 00:52:03,850 --> 00:52:05,270 Kita dapat menyederhanakan jawabannya. 1161 00:52:05,270 --> 00:52:08,061 Dan ingat diskusi kami ditafsirkan dibandingkan bahasa dikompilasi. 1162 00:52:08,061 --> 00:52:12,030 Ini adalah HTML 5 dan dengan itu, hanya untuk menjadi jelas, JavaScript-- umumnya ditulis 1163 00:52:12,030 --> 00:52:15,880 JS-- dan CSS semua bahasa ditafsirkan, 1164 00:52:15,880 --> 00:52:21,020 meskipun hanya JavaScript adalah bahasa pemrograman. 1165 00:52:21,020 --> 00:52:25,820 >> Dan dibandingkan ini, yang beberapa di antaranya dikompilasi, setidaknya ini three-- 1166 00:52:25,820 --> 00:52:29,990 Objective-C, Java dan C # - ini, dalam teori, hanya harus lebih cepat. 1167 00:52:29,990 --> 00:52:31,670 Tapi ada realitas lain for-- 1168 00:52:31,670 --> 00:52:32,440 >> AUDIENCE: Fungsi? 1169 00:52:32,440 --> 00:52:32,830 >> DAVID J. Malan: Apa itu? 1170 00:52:32,830 --> 00:52:34,060 >> AUDIENCE: Fungsi. 1171 00:52:34,060 --> 00:52:34,570 >> DAVID J. Malan: Fungsi? 1172 00:52:34,570 --> 00:52:35,070 Bagaimana? 1173 00:52:35,070 --> 00:52:37,305 AUDIENCE: Gunakan kamera off ponsel atau sesuatu. 1174 00:52:37,305 --> 00:52:41,471 Anda dapat menggunakan mereka dengan browser. 1175 00:52:41,471 --> 00:52:42,470 DAVID J. Malan: Tepat. 1176 00:52:42,470 --> 00:52:43,011 Mereka sec-- 1177 00:52:43,011 --> 00:52:45,034 AUDIENCE: [tidak terdengar] 1178 00:52:45,034 --> 00:52:46,700 DAVID J. Malan: Itu satu lagi baik. 1179 00:52:46,700 --> 00:52:49,230 Ada fitur yang datang dengan ponsel saat 1180 00:52:49,230 --> 00:52:53,840 yang tidak, dengan desain, untuk keamanan alasan, diakses web browser. 1181 00:52:53,840 --> 00:52:56,410 Karena akan menjadi semacam hal menakutkan jika hanya ketika 1182 00:52:56,410 --> 00:53:00,710 Anda mengunjungi google.com, atau cnn.com, atau website.com, 1183 00:53:00,710 --> 00:53:04,490 bahwa website yang memiliki kekuatan untuk mengubah pada kamera Anda, mengambil gambar dari Anda, 1184 00:53:04,490 --> 00:53:06,010 dan kemudian menggunakannya. 1185 00:53:06,010 --> 00:53:09,280 Tetapi Anda tidak akan ingin website acak yang Anda kunjungi untuk pertama kalinya 1186 00:53:09,280 --> 00:53:10,690 untuk memiliki kemampuan itu. 1187 00:53:10,690 --> 00:53:13,460 >> Dan jadi apa telepon produsen biasanya melakukan 1188 00:53:13,460 --> 00:53:17,230 adalah mereka hanya menolak akses untuk yang jenis informasi 1189 00:53:17,230 --> 00:53:20,650 untuk browser, yang berarti Anda tidak dapat melaksanakan kamera. 1190 00:53:20,650 --> 00:53:24,180 Anda tidak dapat menerapkan pemberitahuan push, beep yang Anda dapatkan pada layar Anda 1191 00:53:24,180 --> 00:53:26,120 dengan pesan singkat. 1192 00:53:26,120 --> 00:53:31,350 Dan pada kenyataannya, bahkan GPS hanya jenis dari jenis yang tersedia untuk web browser. 1193 00:53:31,350 --> 00:53:34,140 Jika Anda sudah pernah, pada laptop atau pada perangkat mobile, 1194 00:53:34,140 --> 00:53:38,770 menarik sesuatu seperti mungkin cnn.com, tetapi juga stasiun berita lokal 1195 00:53:38,770 --> 00:53:43,890 cenderung melakukan hal ini, Anda diminta sering dengan message-- foxnews.com 1196 00:53:43,890 --> 00:53:45,170 ingin tahu lokasi Anda. 1197 00:53:45,170 --> 00:53:46,610 Menyetujui atau menolak. 1198 00:53:46,610 --> 00:53:52,070 >> Nah, browser mencoba untuk mengakses informasi GPS dari ponsel. 1199 00:53:52,070 --> 00:53:54,740 Tapi untungnya Microsoft, dan Apple, dan Google 1200 00:53:54,740 --> 00:53:57,330 telah memutuskan yang terasa seperti ini adalah situasi yang berguna, 1201 00:53:57,330 --> 00:53:59,461 kami ingin Google Maps dan alat-alat lain untuk bekerja, 1202 00:53:59,461 --> 00:54:02,710 tapi kami tidak ingin merayap orang keluar dengan hanya memungkinkan situs web apapun untuk melakukan hal ini. 1203 00:54:02,710 --> 00:54:05,934 Jadi mari kita semacam bertemu setengah dan meminta pengguna. 1204 00:54:05,934 --> 00:54:08,850 Tapi itu tidak selalu terjadi dengan semua perangkat keras, seperti kamera 1205 00:54:08,850 --> 00:54:10,680 dan dengan push pemberitahuan dan sejenisnya, 1206 00:54:10,680 --> 00:54:13,650 sehingga Anda mungkin harus mengorbankan fitur tertentu. 1207 00:54:13,650 --> 00:54:15,100 Tapi kinerja juga. 1208 00:54:15,100 --> 00:54:18,020 Ini menjadi kurang terlihat saat ini, mungkin 1209 00:54:18,020 --> 00:54:22,400 sebagai LTE menangkap dan cepat kecepatan internet pada ponsel, 1210 00:54:22,400 --> 00:54:24,110 tetapi Anda dapat jenis merasakan perbedaannya. 1211 00:54:24,110 --> 00:54:28,190 Seperti aplikasi berbasis web hanya terasa lambat, biasanya, 1212 00:54:28,190 --> 00:54:31,100 dari aplikasi asli, sebagian karena aplikasi berbasis web 1213 00:54:31,100 --> 00:54:32,680 menurut definisi adalah di internet. 1214 00:54:32,680 --> 00:54:35,610 Ini berbicara ke server di web. 1215 00:54:35,610 --> 00:54:39,590 Dan jika koneksi jaringan Anda lambat, bahkan bergulir mungkin lambat. 1216 00:54:39,590 --> 00:54:43,710 >> Tapi aplikasi asli, Anda memiliki sudah pra-downloaded-- mungkin 1217 00:54:43,710 --> 00:54:45,680 ketika Anda berada di rumah dari app store, 1218 00:54:45,680 --> 00:54:47,900 atau Anda setidaknya pra-download itu secara keseluruhan 1219 00:54:47,900 --> 00:54:49,640 sebelumnya, apa pun Anda koneksi speed-- 1220 00:54:49,640 --> 00:54:52,530 dan jadi sekarang Anda memiliki semua bit yang umumnya Anda butuhkan. 1221 00:54:52,530 --> 00:54:55,090 Kecuali mungkin beberapa data yang berasal dari server. 1222 00:54:55,090 --> 00:54:57,130 >> Jadi ini adalah trade-off di sini. 1223 00:54:57,130 --> 00:54:59,980 Ada semacam tengah sebuah kompromi, pada kenyataannya. 1224 00:54:59,980 --> 00:55:00,907 Dan saya pikir you-- 1225 00:55:00,907 --> 00:55:02,895 >> AUDIENCE: Gunakan data offline. 1226 00:55:02,895 --> 00:55:06,355 Dalam aplikasi asli, Anda dapat [tidak terdengar] 1227 00:55:06,355 --> 00:55:07,480 DAVID J. Malan: Absolutely. 1228 00:55:07,480 --> 00:55:09,730 Jadi ada masalah offline, yang benar-benar menjengkelkan 1229 00:55:09,730 --> 00:55:13,120 jika Anda tidak bisa memainkan beberapa permainan atau penggunaan beberapa perangkat lunak hanya karena Anda 1230 00:55:13,120 --> 00:55:15,110 di ruang bawah tanah di suatu tempat atau di lift. 1231 00:55:15,110 --> 00:55:18,700 Sebuah aplikasi asli adalah tangguh dengan probabilitas tinggi terhadap itu, 1232 00:55:18,700 --> 00:55:20,990 dengan asumsi Anda memiliki semua data yang Anda butuhkan secara lokal. 1233 00:55:20,990 --> 00:55:22,900 >> Jadi ada pilihan ketiga di sini. 1234 00:55:22,900 --> 00:55:30,270 Dan mari kita menggambar spektrum sebagai aplikasi asli di sini dan aplikasi web di sini. 1235 00:55:30,270 --> 00:55:32,460 Dan apa yang ada di tengah adalah sesuatu called-- 1236 00:55:32,460 --> 00:55:35,410 dan saya pikir Anda mungkin memiliki menggunakan kata sebelumnya, mungkin? 1237 00:55:35,410 --> 00:55:37,170 aplikasi hibrida. 1238 00:55:37,170 --> 00:55:40,980 Dan seperti kata menyiratkan, itu sesuatu di tengah. 1239 00:55:40,980 --> 00:55:46,230 Ini semacam aplikasi web dan itu semacam aplikasi asli. 1240 00:55:46,230 --> 00:55:47,690 >> Dan apa artinya ini? 1241 00:55:47,690 --> 00:55:51,750 Ternyata ada frameworks-- untuk menggunakan istilah dari software earlier-- 1242 00:55:51,750 --> 00:55:55,860 bahwa orang lain telah menulis untuk setiap satu dari platform ini. 1243 00:55:55,860 --> 00:55:57,500 Ini dan belum perangkat lain. 1244 00:55:57,500 --> 00:56:02,390 Bahkan, biarkan aku pergi ke PhoneGap, yang merupakan salah satu kerangka kerja seperti yang saya 1245 00:56:02,390 --> 00:56:04,520 percaya Adobe memiliki sekarang. 1246 00:56:04,520 --> 00:56:07,830 Biarkan aku pergi untuk Memulai. 1247 00:56:07,830 --> 00:56:09,430 Ayo lihat. 1248 00:56:09,430 --> 00:56:12,450 Melihat apakah saya bisa melihat daftar alat. 1249 00:56:12,450 --> 00:56:13,150 Perangkat keras. 1250 00:56:13,150 --> 00:56:15,845 Mulai. 1251 00:56:15,845 --> 00:56:17,570 hardware PhoneGap. 1252 00:56:17,570 --> 00:56:18,672 >> Ayo lihat. 1253 00:56:18,672 --> 00:56:23,459 PhoneGap akses hardware. 1254 00:56:23,459 --> 00:56:26,125 Biarkan saya melihat apakah kita dapat menemukan sedikit bagan yang mereka digunakan untuk memiliki. 1255 00:56:26,125 --> 00:56:29,170 1256 00:56:29,170 --> 00:56:31,640 Ini adalah di situs lain. 1257 00:56:31,640 --> 00:56:32,525 Apakah ini berguna? 1258 00:56:32,525 --> 00:56:33,030 Tidak. 1259 00:56:33,030 --> 00:56:36,330 Itu akan membuang-buang waktu kami di sana. 1260 00:56:36,330 --> 00:56:40,185 hardware PhoneGap. 1261 00:56:40,185 --> 00:56:40,685 Perangkat. 1262 00:56:40,685 --> 00:56:45,190 1263 00:56:45,190 --> 00:56:48,030 Perangkat API. 1264 00:56:48,030 --> 00:56:49,270 Tidak, mereka telah pindah. 1265 00:56:49,270 --> 00:56:50,070 >> PhoneGap. 1266 00:56:50,070 --> 00:56:54,964 Mari kita pergi satu terakhir melihat ini dan melihat apakah saya bisa menunjukkan Anda. 1267 00:56:54,964 --> 00:56:55,630 Mulai. 1268 00:56:55,630 --> 00:56:58,160 1269 00:56:58,160 --> 00:56:59,020 Instal PhoneGap. 1270 00:56:59,020 --> 00:57:02,310 1271 00:57:02,310 --> 00:57:03,270 Menginstal aplikasi mobile. 1272 00:57:03,270 --> 00:57:04,320 Ayolah. 1273 00:57:04,320 --> 00:57:07,220 1274 00:57:07,220 --> 00:57:08,580 Mereka telah direorganisasi segalanya. 1275 00:57:08,580 --> 00:57:09,750 Baiklah. 1276 00:57:09,750 --> 00:57:11,370 Oh baiklah. 1277 00:57:11,370 --> 00:57:12,550 Nah, di sini kita pergi. 1278 00:57:12,550 --> 00:57:16,130 Ini tidak semua yang mencerahkan, tapi ini adalah apa yang saya jenis mencari. 1279 00:57:16,130 --> 00:57:20,940 >> Jadi PhoneGap adalah sebuah kerangka kerja yang Anda dapat men-download secara gratis yang memberikan Anda 1280 00:57:20,940 --> 00:57:22,750 beberapa kode pemula, pada dasarnya. 1281 00:57:22,750 --> 00:57:26,600 Jadi beberapa kode yang mereka tulis yang tidak melakukan apa-apa. 1282 00:57:26,600 --> 00:57:29,610 Tapi apa yang memberikan Anda dasarnya adalah setara 1283 00:57:29,610 --> 00:57:34,910 dari sebuah aplikasi yang hanya menempatkan persegi panjang besar pada layar pengguna. 1284 00:57:34,910 --> 00:57:38,040 Ini tidak menempatkan bar URL, seperti Browser, tidak menempatkan alamat. 1285 00:57:38,040 --> 00:57:39,650 Itu hanya menempatkan persegi panjang besar. 1286 00:57:39,650 --> 00:57:43,230 Dan Anda mengkonfigurasi ini besar persegi panjang, di bawah tenda, 1287 00:57:43,230 --> 00:57:50,780 untuk benar-benar pergi ke acme.com, atau mungkin m.acme.com, untuk mobile.acme.com, 1288 00:57:50,780 --> 00:57:52,910 tapi pengguna tidak tahu mereka di alamat itu. 1289 00:57:52,910 --> 00:57:55,520 Semua yang mereka lihat adalah isi dari halaman web. 1290 00:57:55,520 --> 00:57:59,822 >> Tapi apa yang baik tentang makhluk ini aplikasi hybrid adalah bahwa apa yang PhoneGap 1291 00:57:59,822 --> 00:58:03,030 dan perusahaan lain yang memberikan Anda adalah mereka memberikan Anda sedikit kode 1292 00:58:03,030 --> 00:58:05,760 di Objective-C atau Swift, atau sedikit kode di Jawa, 1293 00:58:05,760 --> 00:58:08,320 atau sedikit kode di C #, dan pada dasarnya, 1294 00:58:08,320 --> 00:58:12,990 semua yang Anda harus menyediakan adalah minimal yang alamat aplikasi berbasis web Anda. 1295 00:58:12,990 --> 00:58:15,750 Dan kemudian Anda bundel ini semua bersama-sama dan Anda 1296 00:58:15,750 --> 00:58:20,670 memilikinya baik mengakses situs melalui internet, 1297 00:58:20,670 --> 00:58:24,060 atau Anda bahkan cache lokal menyalin dalam aplikasi, 1298 00:58:24,060 --> 00:58:28,690 dan kemudian Anda menyimpan aplikasi Anda dalam format iPhone, ponsel Android 1299 00:58:28,690 --> 00:58:32,030 Format, Format permukaan, atau sejumlah perangkat lainnya. 1300 00:58:32,030 --> 00:58:34,960 >> Anda meng-upload setiap versi mereka ke Play Store Google, 1301 00:58:34,960 --> 00:58:37,690 ke App Store, dengan Windows Store, dan sebagainya. 1302 00:58:37,690 --> 00:58:41,570 Dan sekarang, Anda dapat memiliki semua Anda penonton men-download benar-benar aplikasi asli, 1303 00:58:41,570 --> 00:58:44,250 meskipun sebagian besar kode itu ditulis oleh orang lain, 1304 00:58:44,250 --> 00:58:49,090 tapi isi yang aplikasi asli semua datang dari, biasanya, website Anda sendiri. 1305 00:58:49,090 --> 00:58:53,950 Jadi Anda terus menulis situs web Anda di HTML, JavaScript, dan CSS. 1306 00:58:53,950 --> 00:58:56,400 >> Jadi mengapa mengaburkan garis-garis ini? 1307 00:58:56,400 --> 00:59:00,240 Mengapa aplikasi hybrid itu semacam asli, tetapi juga 1308 00:59:00,240 --> 00:59:02,569 jenis web berbasis? 1309 00:59:02,569 --> 00:59:04,610 Apa seluruh titik menambah kompleksitas ini? 1310 00:59:04,610 --> 00:59:07,180 Maksudku, bahkan masih, hanya dari melirik melalui halaman ini, 1311 00:59:07,180 --> 00:59:11,790 panduan Memulai terasa seperti itu punya seluruh banyak langkah-langkah untuk me 1312 00:59:11,790 --> 00:59:13,514 lakukan sebelum saya can-- 1313 00:59:13,514 --> 00:59:14,430 AUDIENCE: Reusability? 1314 00:59:14,430 --> 00:59:14,960 DAVID J. Malan: Reusability? 1315 00:59:14,960 --> 00:59:15,618 Apa maksudmu? 1316 00:59:15,618 --> 00:59:16,826 >> AUDIENCE: Dari kode sumber. 1317 00:59:16,826 --> 00:59:19,438 Jadi kode yang sama akan dijalankan pada semua platform yang berbeda. 1318 00:59:19,438 --> 00:59:20,313 DAVID J. Malan: Ya. 1319 00:59:20,313 --> 00:59:21,188 AUDIENCE: [tidak terdengar] 1320 00:59:21,188 --> 00:59:23,200 1321 00:59:23,200 --> 00:59:24,200 DAVID J. Malan: Sempurna. 1322 00:59:24,200 --> 00:59:26,930 Jika waktu ketat dan jika Anda tidak memiliki banyak developers-- 1323 00:59:26,930 --> 00:59:28,900 mungkin Anda memiliki satu pengembang dan ia pasti 1324 00:59:28,900 --> 00:59:31,050 tidak tahu semua ini environments-- tentu tidak baik, 1325 00:59:31,050 --> 00:59:33,341 dan tentu saja tidak dapat program di ketiga secara bersamaan 1326 00:59:33,341 --> 00:59:35,970 dan kapal tiga produk di waktu yang diperbolehkan untuk satu, 1327 00:59:35,970 --> 00:59:40,360 Anda dapat memiliki dia membangun segalanya di HTML dan JavaScript dan CSS, 1328 00:59:40,360 --> 00:59:43,260 dan kemudian belajar sedikit kecil sedikit tentang aplikasi asli, 1329 00:59:43,260 --> 00:59:45,930 hanya cukup untuk men-download kerangka seperti ini, 1330 00:59:45,930 --> 00:59:48,750 untuk kemudian meng-upload produk Anda ke semua dari berbagai toko aplikasi 1331 00:59:48,750 --> 00:59:51,700 sehingga Anda sekarang memiliki aplikasi asli. 1332 00:59:51,700 --> 00:59:54,090 >> Sehingga tampak seperti win-win, tapi sekali lagi, harus jelas, 1333 00:59:54,090 --> 00:59:56,540 apa potensi biaya atau gotchas? 1334 00:59:56,540 --> 01:00:00,292 1335 01:00:00,292 --> 01:00:01,209 >> AUDIENCE: Kinerja? 1336 01:00:01,209 --> 01:00:02,083 DAVID J. Malan: Ya. 1337 01:00:02,083 --> 01:00:02,959 Kinerja. 1338 01:00:02,959 --> 01:00:04,250 Sulit untuk menggambarkan secara lisan. 1339 01:00:04,250 --> 01:00:07,590 Jadi jika Anda hanya mengambil iman aplikasi mobile, 1340 01:00:07,590 --> 01:00:11,430 aplikasi web akan biasanya melakukan lebih lambat. 1341 01:00:11,430 --> 01:00:16,500 Ini mungkin tidak terlihat cukup tepat, karena di iPhone, dan ponsel Android, 1342 01:00:16,500 --> 01:00:19,210 dan perangkat Windows, ada selalu semacam tampilan default 1343 01:00:19,210 --> 01:00:21,780 dan merasa untuk semua tombol dan menu. 1344 01:00:21,780 --> 01:00:25,160 >> Dan perusahaan di web, dapat mencoba untuk mendekati mereka estetika 1345 01:00:25,160 --> 01:00:28,329 dengan perpustakaan seperti Bootstrap, tapi user-- sebuah user-- cerdik 1346 01:00:28,329 --> 01:00:30,620 akan tahu bahwa sesuatu yang tidak cukup di sini. 1347 01:00:30,620 --> 01:00:32,510 Dan itu baik-baik saja, mungkin itu bukan masalah besar. 1348 01:00:32,510 --> 01:00:35,500 Tapi masalah kinerja benar-benar merupakan masalah besar. 1349 01:00:35,500 --> 01:00:39,400 aplikasi asli akan cenderung hanya jauh lebih responsif dan karena itu 1350 01:00:39,400 --> 01:00:39,946 lebih baik. 1351 01:00:39,946 --> 01:00:42,070 Dan, apa yang kemudian mungkin terbaik dari kedua dunia? 1352 01:00:42,070 --> 01:00:44,584 Jika Anda terutama kecil perusahaan atau kelompok kecil, 1353 01:00:44,584 --> 01:00:47,000 Anda tidak memiliki sumber daya untuk mengembangkan aplikasi secara paralel 1354 01:00:47,000 --> 01:00:50,480 pada ketiga platform, dan terus terang, terasa seperti itu ide yang buruk pula 1355 01:00:50,480 --> 01:00:53,526 karena jika Anda roll it out dan pada ketiga secara bersamaan menyadari, 1356 01:00:53,526 --> 01:00:56,400 kita harus menambahkan beberapa fitur atau melakukan sesuatu yang berbeda, sekarang 1357 01:00:56,400 --> 01:00:59,530 Anda harus memperbaikinya di tiga tempat, tidak satu. 1358 01:00:59,530 --> 01:01:02,390 Apa mungkin optimal Strategi sini secara keseluruhan, 1359 01:01:02,390 --> 01:01:04,130 jika sumber daya dan waktu yang ketat? 1360 01:01:04,130 --> 01:01:06,420 >> AUDIENCE: Lakukan saja di iOS. 1361 01:01:06,420 --> 01:01:08,390 >> DAVID J. Malan: Itu tidak masuk akal. 1362 01:01:08,390 --> 01:01:10,670 iPhone, setidaknya di AS, super populer. 1363 01:01:10,670 --> 01:01:13,820 Android nampaknya masih memiliki dominan pangsa pasar, secara global, secara keseluruhan. 1364 01:01:13,820 --> 01:01:16,740 Jadi Anda tidak tentu perwakilan 1365 01:01:16,740 --> 01:01:19,210 dari keseluruhan dunia minggu ini. 1366 01:01:19,210 --> 01:01:21,180 Tapi itu benar-benar salah satu keputusan. 1367 01:01:21,180 --> 01:01:23,620 Maksudku, di kampus sini saya pikir beberapa nomor mengerikan 1368 01:01:23,620 --> 01:01:26,600 atau persentase mahasiswa memiliki iPhone dan ponsel tidak Android. 1369 01:01:26,600 --> 01:01:28,490 Tapi di luar negeri, itu semacam sebaliknya. 1370 01:01:28,490 --> 01:01:30,040 Jadi Anda memutuskan berdasarkan audiens Anda. 1371 01:01:30,040 --> 01:01:31,990 Bagaimana Anda tahu apa yang audiens Anda memiliki? 1372 01:01:31,990 --> 01:01:34,080 >> Yah, kita belajar trik kemarin. 1373 01:01:34,080 --> 01:01:35,060 Anda bisa meminta mereka. 1374 01:01:35,060 --> 01:01:37,910 Jika Anda memiliki pendengar Anda dapat mengirim mereka bentuk survei. 1375 01:01:37,910 --> 01:01:39,172 Atau Anda bisa melakukan apa? 1376 01:01:39,172 --> 01:01:40,076 >> AUDIENCE: Google Analytics? 1377 01:01:40,076 --> 01:01:40,680 >> DAVID J. Malan: Apa itu? 1378 01:01:40,680 --> 01:01:41,876 >> AUDIENCE: Google Analytics. 1379 01:01:41,876 --> 01:01:43,250 DAVID J. Malan: Google Analytics. 1380 01:01:43,250 --> 01:01:43,750 Ya. 1381 01:01:43,750 --> 01:01:46,970 Atau bahkan lebih semacam teknis, hanya melihat sendiri web server log. 1382 01:01:46,970 --> 01:01:49,100 Karena apa yang terjadi setiap kali browser, 1383 01:01:49,100 --> 01:01:51,880 apakah laptop, komputer desktop atau ponsel mengunjungi situs web Anda? 1384 01:01:51,880 --> 01:01:56,847 Mereka mengirim bahwa HTTP header yang menunjukkan Anda apa browser dan OS yang mereka gunakan. 1385 01:01:56,847 --> 01:02:00,180 Jadi Anda bisa menyimpulkan, dengan probabilitas tinggi, apa demografis Anda menggunakan cara itu 1386 01:02:00,180 --> 01:02:01,410 dan kemudian menyesuaikan. 1387 01:02:01,410 --> 01:02:03,030 >> Jadi kira itu tidak dapat diterima. 1388 01:02:03,030 --> 01:02:07,760 Itu semacam buruk bagi bisnis jika pengguna Android tidak bisa membeli widget kami. 1389 01:02:07,760 --> 01:02:10,942 >> AUDIENCE: Apakah kamu akan dikenakan biaya atau tidak? 1390 01:02:10,942 --> 01:02:12,900 DAVID J. Malan: Apakah Anda akan dikenakan biaya? 1391 01:02:12,900 --> 01:02:14,900 Jadi OK, Anda mendapatkan apa yang Anda bayar. 1392 01:02:14,900 --> 01:02:18,400 >> AUDIENCE: Apakah aplikasi Anda akan bebas atau apakah itu gonna-- 1393 01:02:18,400 --> 01:02:19,530 >> DAVID J. Malan: OK. 1394 01:02:19,530 --> 01:02:21,920 Jadi mungkin Anda bisa menutup biaya seperti itu, or--? 1395 01:02:21,920 --> 01:02:26,195 >> AUDIENCE: Saya membaca sebuah penelitian pernah berkata bahwa lebih Apple pengguna membayar untuk aplikasi versus-- 1396 01:02:26,195 --> 01:02:28,320 DAVID J. Malan: Itu benar karena mereka sudah 1397 01:02:28,320 --> 01:02:29,640 membayar lebih untuk perangkat mereka. 1398 01:02:29,640 --> 01:02:31,295 Jadi tidak masuk akal asumsi. 1399 01:02:31,295 --> 01:02:32,170 >> AUDIENCE: [tidak terdengar] 1400 01:02:32,170 --> 01:02:34,439 1401 01:02:34,439 --> 01:02:35,230 DAVID J. Malan: OK. 1402 01:02:35,230 --> 01:02:38,667 Jadi jika mereka lebih bersedia untuk membayar, kemudian ke neraka dengan pengguna Android. 1403 01:02:38,667 --> 01:02:40,500 Mereka tidak akan membayar kita apa-apa pula. 1404 01:02:40,500 --> 01:02:43,499 Kami mungkin juga fokus prioritas kami, setidaknya untuk beberapa bulan pertama 1405 01:02:43,499 --> 01:02:44,810 atau satu tahun, di iOS. 1406 01:02:44,810 --> 01:02:46,240 -Benar masuk akal. 1407 01:02:46,240 --> 01:02:48,558 Apa yang lebih inklusif Strategi dari itu? 1408 01:02:48,558 --> 01:02:53,740 1409 01:02:53,740 --> 01:02:54,960 Maybe-- apa itu? 1410 01:02:54,960 --> 01:02:57,040 >> AUDIENCE: [tidak terdengar] 1411 01:02:57,040 --> 01:03:00,142 >> DAVID J. Malan: A lebih expensive-- jadi mungkin berinvestasi lebih in-- pergi ke depan. 1412 01:03:00,142 --> 01:03:00,767 AUDIENCE: Ya. 1413 01:03:00,767 --> 01:03:02,050 Hanya situs web mobile. 1414 01:03:02,050 --> 01:03:03,966 >> DAVID J. Malan: Jadi melakukan situs mobile dan tidak 1415 01:03:03,966 --> 01:03:05,440 bahkan khawatir tentang kompleksitas ini. 1416 01:03:05,440 --> 01:03:07,970 Atau mungkin strategi yang masuk akal, yang bahkan Facebook mengambil, 1417 01:03:07,970 --> 01:03:10,890 adalah mulai dengan hibrida aplikasi karena itu tidak 1418 01:03:10,890 --> 01:03:13,582 yang jauh lebih sulit untuk melakukan hal ini daripada ini. 1419 01:03:13,582 --> 01:03:16,040 Anda hanya perlu membaca beberapa dokumentasi dan mencari tahu bagaimana 1420 01:03:16,040 --> 01:03:17,480 untuk meng-upload hal-hal ke App Store. 1421 01:03:17,480 --> 01:03:19,670 Jadi mungkin Anda mulai dengan ini, sehingga pada hari pertama, 1422 01:03:19,670 --> 01:03:21,112 Anda dapat mendukung semua pengguna Anda. 1423 01:03:21,112 --> 01:03:23,570 Dan kemudian, sama seperti Facebook dan perusahaan lain telah dilakukan, 1424 01:03:23,570 --> 01:03:25,330 ketika Anda memiliki sumber daya, Anda memiliki orang-orang, 1425 01:03:25,330 --> 01:03:27,660 kenapa tidak Anda kembali melaksanakan hanya aplikasi iOS. 1426 01:03:27,660 --> 01:03:31,460 Anda masih memiliki sesuatu untuk semua orang, meskipun itu adalah pengalaman yang lebih rendah 1427 01:03:31,460 --> 01:03:33,330 mungkin, dengan aplikasi hybrid. 1428 01:03:33,330 --> 01:03:36,770 Tapi Anda bisa secara bertahap menggelar dan mengganti jangka pendek Anda 1429 01:03:36,770 --> 01:03:40,280 langkah-langkah dari aplikasi hibrida dengan aplikasi yang lebih asli Anda. 1430 01:03:40,280 --> 01:03:44,090 >> AUDIENCE: Tapi dengan hybrid aplikasi Anda akan memiliki akses ke fitur ponsel? 1431 01:03:44,090 --> 01:03:45,440 >> DAVID J. Malan: Belum tentu. 1432 01:03:45,440 --> 01:03:47,810 Jadi mungkin Anda membuat sadar keputusan awal, 1433 01:03:47,810 --> 01:03:51,930 Anda hanya dapat meng-upload foto di Aplikasi iPhone asli untuk Facebook, 1434 01:03:51,930 --> 01:03:56,060 namun tidak pada aplikasi Android, awalnya, misalnya. 1435 01:03:56,060 --> 01:04:00,600 Dan itu sedikit kebohongan putih karena aplikasi web memiliki lebih pembatasan 1436 01:04:00,600 --> 01:04:03,620 dari aplikasi hybrid ternyata keluar, dan jika kita membaca dokumentasi 1437 01:04:03,620 --> 01:04:07,260 untuk PhoneGap dan hal-hal seperti itu, orang telah datang dengan cara 1438 01:04:07,260 --> 01:04:11,110 untuk memberikan aplikasi berbasis web akses ke kamera, 1439 01:04:11,110 --> 01:04:13,310 asalkan Anda menggunakan aplikasi hybrid. 1440 01:04:13,310 --> 01:04:14,214 >> Bagaimana cara kerjanya? 1441 01:04:14,214 --> 01:04:16,130 Karena hibrida aplikasi, menurut definisi, 1442 01:04:16,130 --> 01:04:19,600 memiliki sedikit kode di Objective-C, dan Swift, dan Jawa, atau di C #, 1443 01:04:19,600 --> 01:04:20,920 dapat mengakses perangkat keras. 1444 01:04:20,920 --> 01:04:24,590 Belum tentu semuanya, tapi mungkin sangat baik 1445 01:04:24,590 --> 01:04:27,310 menjadi kasus yang Anda miliki cukup akses untuk mendapatkan kamera, 1446 01:04:27,310 --> 01:04:32,960 bahkan untuk platform Android, untuk Misalnya, dalam contoh buat. 1447 01:04:32,960 --> 01:04:35,515 >> Ada pertanyaan lain? 1448 01:04:35,515 --> 01:04:36,279 Baiklah. 1449 01:04:36,279 --> 01:04:38,070 Mengapa kita tidak mengambil kami 15 menit istirahat di sini. 1450 01:04:38,070 --> 01:04:44,060 Kami akan melanjutkan pada tiga dengan akhir melihat pemrograman web, database, 1451 01:04:44,060 --> 01:04:45,910 dan Javascript. 1452 01:04:45,910 --> 01:04:48,877