1 00:00:00,000 --> 00:00:02,500 [Powered by Google Translate] [Seminar] [Pembangunan Web: Dari Idea Pelaksanaan] 2 00:00:02,500 --> 00:00:04,200 [Ben Kuhn] [Billy Janitsch] [Universiti Harvard] 3 00:00:04,200 --> 00:00:07,250 [Ini adalah CS50] [CS50.TV] 4 00:00:07,250 --> 00:00:10,840 [Billy] Hi, Saya Billy dan ini adalah Ben. >> [Ben] Hi. 5 00:00:10,840 --> 00:00:12,840 Kita akan bercakap tentang pembangunan web hari ini. 6 00:00:12,840 --> 00:00:14,840 [Webdev] [Billy Janitsch dan Ben Kuhn] 7 00:00:14,840 --> 00:00:16,840 Sedikit mengenai kami pertama. 8 00:00:16,840 --> 00:00:19,590 Ben adalah jenis lelaki belakang. Dia membuat ia berfungsi. 9 00:00:19,590 --> 00:00:21,870 Dan kemudian saya pergi dan membuat mereka cantik. 10 00:00:21,870 --> 00:00:26,610 Saya sebahagian besarnya terlibat dengan depan jenis reka bentuk susun atur lebih barangan, 11 00:00:26,610 --> 00:00:31,260 dan Ben, di sisi lain, tahu apa yang dia berbuat demikian dia bekerja pada barangan belakang. 12 00:00:31,260 --> 00:00:34,050 Bersama-sama kita telah membuat beberapa perkara. 13 00:00:34,050 --> 00:00:38,710 Sebagai contoh, tahun lepas, kita bekerja di Gimblium yang dalam talian studio pembangunan permainan dalam. 14 00:00:38,710 --> 00:00:40,400 Itu adalah projek terakhir kami untuk kelas, 15 00:00:40,400 --> 00:00:42,780 dan sejak itu kami telah membuat Kelas Harvard 16 00:00:42,780 --> 00:00:47,860 yang merupakan rangka kerja dalam talian untuk melayari dan kursus membeli-belah di Harvard. 17 00:00:47,860 --> 00:00:53,180 >> Kami akan bermula dengan idea ini untuk laman web kami. 18 00:00:53,180 --> 00:00:57,480 Kami akan membuat Facebook, tetapi untuk kucing. 19 00:00:57,480 --> 00:00:59,520 Sebelum anda sebenarnya membuat laman web ini, 20 00:00:59,520 --> 00:01:02,520 tidak membuat laman web ini kerana ia tidak baik, tetapi kami akan menggunakannya sebagai rangka kerja yang 21 00:01:02,520 --> 00:01:05,349 dan melalui proses bagaimana kita mengambil idea ini 22 00:01:05,349 --> 00:01:07,450 dan mengubahnya menjadi sebuah laman web sebenar boleh kita gunakan. 23 00:01:07,450 --> 00:01:11,940 Kami akan memulakan dengan memecahkan laman web ke bawah. 24 00:01:11,940 --> 00:01:13,190 Seperti yang anda telah lakukan dalam CS50, 25 00:01:13,190 --> 00:01:17,360 anda mahu berfikir tentang apa yang adalah komponen sebenar yang masuk ke dalam laman web ini. 26 00:01:17,360 --> 00:01:21,290 Pada asasnya memutarkannya dari idea yang hanya semacam suatu konsep yang abstrak 27 00:01:21,290 --> 00:01:23,590 ke dalam satu perkara yang sebenar, ketara yang anda boleh membuat. 28 00:01:23,590 --> 00:01:25,910 Kita mulakan dengan bertanya beberapa soalan. 29 00:01:25,910 --> 00:01:28,070 Apakah laman web ini? Mengapa kita menjadikannya? 30 00:01:28,070 --> 00:01:30,670 Apa yang ia akan digunakan untuk? Perkara seperti. 31 00:01:30,670 --> 00:01:33,660 Dalam kes Facebook Cat, 32 00:01:33,660 --> 00:01:37,730 kita pada dasarnya mahu sebuah laman web yang membolehkan kucing rangkaian sosial antara satu sama lain. 33 00:01:37,730 --> 00:01:41,260 Idea ini adalah bahawa mereka boleh pos pada dinding masing-masing, 34 00:01:41,260 --> 00:01:43,510 mereka boleh membuat komen, perkara seperti. 35 00:01:43,510 --> 00:01:46,720 Dan di mana kita datang ke dalam komponen berfungsi. 36 00:01:46,720 --> 00:01:51,270 Kami kini mempunyai jenis ini rangka kerja - kita mempunyai profil pengguna, 37 00:01:51,270 --> 00:01:53,990 kita mempunyai komen, dan kami boleh pos. 38 00:01:53,990 --> 00:01:57,390 Mungkin suatu hari nanti kita akan dalam mempengaruhi suka dan perkara seperti. 39 00:01:57,390 --> 00:02:00,410 Dan kita jenis mahu untuk mengutamakan ciri-ciri ini akan masuk 40 00:02:00,410 --> 00:02:03,340 Kami ingin mengatakan seperti, okay, ia benar-benar penting bahawa setiap orang mempunyai profil yang 41 00:02:03,340 --> 00:02:06,440 dan semua orang yang boleh posting di dinding masing-masing. 42 00:02:06,440 --> 00:02:08,509 Menengah itu, komen akan baik. 43 00:02:08,509 --> 00:02:10,180 Mungkin kemudian kami akan dalam mempengaruhi sebagainya. 44 00:02:10,180 --> 00:02:13,700 Jadi, anda mahu mempunyai idea tentang apa yang asas untuk projek anda 45 00:02:13,700 --> 00:02:17,260 dan apa yang jenis ciri yang lebih umum yang boleh digunakan kemudian. 46 00:02:17,260 --> 00:02:20,870 Anda mahu jenis mempunyai senarai tertentu dalam minda, 47 00:02:20,870 --> 00:02:24,090 tetapi projek yang anda bermula dengan tidak akan menjadi projek yang anda selesai dengan. 48 00:02:24,090 --> 00:02:27,100 Dalam erti kata lain, perkara-perkara yang akan berubah semasa anda membangunkan laman web ini, 49 00:02:27,100 --> 00:02:30,090 dan anda mahu meninggalkan bilik untuk itu. 50 00:02:30,090 --> 00:02:34,470 Saya akan mengubahnya kepada Ben siapa yang akan bercakap sedikit tentang struktur. 51 00:02:34,470 --> 00:02:39,610 >> [Ben] saya akan bercakap tentang sampingan yang lebih teknikal pembangunan web. 52 00:02:39,610 --> 00:02:42,370 Mari kita pergi ke beberapa asas-asas pertama. 53 00:02:42,370 --> 00:02:45,730 Apabila anda melakukan aplikasi web, 54 00:02:45,730 --> 00:02:50,470 bahagian utama yang anda akan perlu ada ialah 55 00:02:50,470 --> 00:02:52,700 anda akan mempunyai beberapa perkara yang berlaku di sebelah pelanggan - 56 00:02:52,700 --> 00:02:56,700 iaitu, kod yang anda pelayar mengambil dari laman web ini 57 00:02:56,700 --> 00:03:01,910 dan JavaScript, HTML, CSS barangan. 58 00:03:01,910 --> 00:03:04,490 Itu semua di sebelah pelanggan. 59 00:03:04,490 --> 00:03:08,680 Anda akan mempunyai kod lain yang berjalan di sebelah pelayan 60 00:03:08,680 --> 00:03:10,770 yang menjejaki semua data yang orang menghantar kepada anda, 61 00:03:10,770 --> 00:03:15,060 memutuskan yang memberi apa, barangan seperti itu. 62 00:03:15,060 --> 00:03:20,380 Ini hanya beberapa istilah supaya anda semua sudah biasa dengan apa yang kita bercakap tentang. 63 00:03:20,380 --> 00:03:28,600 Beyond bahagian bahawa itu baik untuk memikirkan aplikasi web anda dari segi 64 00:03:28,600 --> 00:03:32,500 beberapa komponen yang berbeza. 65 00:03:32,500 --> 00:03:35,270 Apabila anda melakukan pembangunan web 66 00:03:35,270 --> 00:03:41,710 salah satu perkara yang anda perlu sentiasa cuba lakukan adalah untuk mengurangkan kerumitan. 67 00:03:41,710 --> 00:03:45,710 Lebih kompleks kod anda adalah peluang lebih ada untuk membuat bug, 68 00:03:45,710 --> 00:03:47,710 semakin sukar untuk mengubah kemudian. 69 00:03:47,710 --> 00:03:50,140 Jadi, jika anda boleh memecahkan aplikasi anda ke dalam beberapa bidang fungsian yang berbeza 70 00:03:50,140 --> 00:03:57,640 yang akan - dan anda boleh mengurangkan jenis jumlah komunikasi silang kawasan - 71 00:03:57,640 --> 00:04:03,530 yang akan membantu anda banyak dalam jangka masa panjang dari segi mengurangkan bug. 72 00:04:03,530 --> 00:04:07,950 >> Untuk menjadi konkrit, biasanya orang membahagikan aplikasi web ke dalam - 73 00:04:07,950 --> 00:04:13,190 ini adalah jenis perkataan buzz sekarang, tetapi ia masih berguna. 74 00:04:13,190 --> 00:04:17,940 Anda mungkin pernah mendengar orang bercakap tentang model, pandangan, dan pengawal. 75 00:04:17,940 --> 00:04:23,210 Model adalah data sebenar yang aplikasi anda akan berurusan dengan. 76 00:04:23,210 --> 00:04:28,260 Sebagai contoh, dalam kucing anda Facebook, model anda akan menjadi - 77 00:04:28,260 --> 00:04:35,340 anda akan mempunyai model bagi jawatan-jawatan seperti, dan model untuk profil pengguna, barangan seperti itu. 78 00:04:35,340 --> 00:04:41,090 Pandangan anda adalah bagaimana anda hadir data tersebut kepada para pengguna anda. 79 00:04:41,090 --> 00:04:46,660 Anda mungkin mempunyai 1 pandangan untuk mencari di pos tunggal dan semua komen 80 00:04:46,660 --> 00:04:51,720 dan pandangan yang berbeza untuk dinding anda yang mempunyai senarai semua jawatan 81 00:04:51,720 --> 00:04:57,170 yang ditujukan kepada anda, dan pandangan yang berbeza untuk berita anda - barangan seperti itu. 82 00:04:57,170 --> 00:05:00,610 Akhir sekali, anda mempunyai pengawal yang pada dasarnya apabila orang menghantar anda jawatan 83 00:05:00,610 --> 00:05:03,310 dan anda membuat kemaskini kepada sistem tulang belakang anda, 84 00:05:03,310 --> 00:05:06,400 anda kenaikan sekumpulan kaunter, dan apa sahaja. 85 00:05:06,400 --> 00:05:07,860 Mereka adalah pengawal anda. 86 00:05:07,860 --> 00:05:11,030 >> Saya akan bercakap kebanyakannya tentang model. 87 00:05:11,030 --> 00:05:14,030 Views secara teknikal tidak sukar dan isu ini adalah lebih dengan mereka bentuk mereka 88 00:05:14,030 --> 00:05:22,040 Pengawal akan khusus kepada apa sahaja yang anda mereka bentuk. 89 00:05:22,040 --> 00:05:25,220 Tetapi ada beberapa teknik agak umum anda boleh menggunakan 90 00:05:25,220 --> 00:05:30,220 untuk membuat model anda lebih bagus dan mudah untuk bekerja dengan yang aku fikir sangat membantu. 91 00:05:30,220 --> 00:05:35,860 Ini kebanyakannya akan menjadi kira-kira bagaimana untuk berurusan dengan data aplikasi web anda dengan cara yang baik. 92 00:05:35,860 --> 00:05:40,420 Isu-isu utama dengan model 93 00:05:40,420 --> 00:05:44,540 adalah bahawa mereka tinggal di pelanggan dan pelayan dan anda perlu memikirkan 94 00:05:44,540 --> 00:05:51,170 a) bagaimana untuk mendapatkan mereka - semua orang-orang yang berkaitan - dari pelayan kepada pelanggan, 95 00:05:51,170 --> 00:05:53,440 dan b) bagaimana untuk memastikan mereka selari. 96 00:05:53,440 --> 00:05:58,700 Pengguna anda akan mahu untuk membuat beberapa kemas kini. 97 00:05:58,700 --> 00:06:00,470 Mereka akan mahu membuat post baru. 98 00:06:00,470 --> 00:06:04,800 Mereka akan mahu suka benda-benda dan barangan jika anda mempunyai orang-orang seperti. 99 00:06:04,800 --> 00:06:11,490 Mereka adalah cabaran-cabaran teknikal utama berurusan dengan model. 100 00:06:11,490 --> 00:06:15,680 Perkara pertama yang anda akan mahu untuk tanya diri anda 101 00:06:15,680 --> 00:06:18,420 jenis data apa yang masuk dalam model ini dan apa jenis pertanyaan kita akan mahu lakukan - 102 00:06:18,420 --> 00:06:24,290 iaitu, bagaimana kita akan melihat model? 103 00:06:24,290 --> 00:06:26,940 Sebagai contoh Facebook Cat anda, 104 00:06:26,940 --> 00:06:31,520 post anda akan mempunyai seorang pengarang yang dikaitkan dengannya, 105 00:06:31,520 --> 00:06:35,660 teks pos dinding, dan penerima pos dinding. 106 00:06:35,660 --> 00:06:38,470 Dan kemudian anda mungkin mahu untuk query yang dalam banyak cara yang berbeza. 107 00:06:38,470 --> 00:06:42,220 Anda akan mahu melihat ia dengan yang menulis yang pos, 108 00:06:42,220 --> 00:06:46,620 oleh yang menerima yang pos, mungkin dengan tarikh ia diberikan. 109 00:06:46,620 --> 00:06:50,340 Tetapi jika anda akan melakukannya mengikut tarikh, maka anda perlu menambah satu lagi medan untuk jawatan anda 110 00:06:50,340 --> 00:06:52,490 apabila ia sebenarnya dihantar. 111 00:06:52,490 --> 00:07:00,220 Ini 2 faktor - apa data yang anda hendak gunakan dan bagaimana anda mahu melihatnya - 112 00:07:00,220 --> 00:07:04,200 anda harus berfikir tentang mereka pertama kerana mereka bergantung kepada satu sama lain, 113 00:07:04,200 --> 00:07:08,030 dan ia akan menjadi lebih sukar untuk menambah mereka di kemudian hari. 114 00:07:08,030 --> 00:07:12,750 >> Terdapat beberapa pertimbangan lain. 115 00:07:12,750 --> 00:07:17,540 Apabila anda berfikir tentang bagaimana anda berurusan dengan model pada pelayan 116 00:07:17,540 --> 00:07:20,540 apa yang anda mahu melihat adalah - 117 00:07:20,540 --> 00:07:27,440 anda pada dasarnya ingin pelayan semudah yang mungkin. 118 00:07:29,440 --> 00:07:35,500 Melakukan barangan di sebelah pelanggan secara umumnya adalah lebih cepat jika anda boleh melakukannya semata-mata pada pelanggan 119 00:07:35,500 --> 00:07:38,230 tanpa melakukan apa-apa jenis permintaan rangkaian. 120 00:07:38,230 --> 00:07:47,860 Idea ini adalah untuk melakukan seperti yang banyak pertanyaan yang anda boleh pada pelanggan. 121 00:07:47,860 --> 00:07:51,560 Satu-satunya masalah dengan itu 122 00:07:51,560 --> 00:07:54,160 adalah bahawa jika anda meminta semua data anda pada permulaan 123 00:07:54,160 --> 00:07:57,160 kemudian yang akan mengambil masa yang lama untuk beban. 124 00:07:57,160 --> 00:08:02,290 Jadi, idea ini adalah untuk menyerang sederhana gembira antara yang mempunyai data yang mencukupi pada pelanggan 125 00:08:02,290 --> 00:08:07,640 bahawa anda boleh melakukan kebanyakan kerja anda di sana tetapi tidak hanya semasa mengambil semua sekali gus 126 00:08:07,640 --> 00:08:09,710 supaya anda mendapat masa beban benar-benar perlahan pada permulaan. 127 00:08:09,710 --> 00:08:12,610 Sebagai contoh, untuk data kucing anda 128 00:08:12,610 --> 00:08:20,340 anda mungkin mahu mengambil sekumpulan posts dinding baru-baru ini. 129 00:08:20,340 --> 00:08:23,790 Anda tidak mahu untuk mendapatkan semua daripada mereka kerana yang boleh kembali beberapa tahun. 130 00:08:23,790 --> 00:08:25,470 Tetapi anda tidak mahu mengambil mereka satu per satu 131 00:08:25,470 --> 00:08:28,740 kerana itu akan memperkenalkan banyak beban rangkaian. 132 00:08:28,740 --> 00:08:33,620 >> Ia sering agak keras - sebaik sahaja anda mempunyai berjalan pangkalan data - 133 00:08:33,620 --> 00:08:37,210 ia sering agak sukar untuk mengubah apa data yang anda mempunyai di dalamnya - 134 00:08:37,210 --> 00:08:40,510 iaitu, tambahkan lajur pangkalan data yang baru atau sesuatu - 135 00:08:40,510 --> 00:08:43,510 jadi satu strategi yang baik adalah benar-benar hanya untuk menyimpan banyak data anda dalam tompok teks - 136 00:08:43,510 --> 00:08:53,880 tompok JSON - JSON menjadi JavaScript Objek Notasi - 137 00:08:53,880 --> 00:08:58,330 Sebab itulah berguna adalah kerana anda boleh menambah ciri-ciri baru 138 00:08:58,330 --> 00:09:01,920 untuk semua ini gumpalan JSON tanpa mengubah pangkalan data anda. 139 00:09:01,920 --> 00:09:06,860 Kelemahan hanya untuk itu adalah bahawa jika anda mempunyai sekumpulan bidang 140 00:09:06,860 --> 00:09:09,890 yang anda tambah di kemudian hari - seperti yang tersembunyi di JSON tompok - 141 00:09:09,890 --> 00:09:12,850 maka ia lebih sukar untuk query mereka di dalam pangkalan data. 142 00:09:12,850 --> 00:09:17,690 Sebagai contoh, jika anda kemudian - jika anda mempunyai model post anda yang kami dibincangkan sebelum ini 143 00:09:17,690 --> 00:09:25,380 dengan hanya penulis, penerima dan teks - 144 00:09:25,380 --> 00:09:29,000 anda juga boleh mempunyai tompok JSON dan kemudian jika anda kemudian mahu menambah medan tarikh 145 00:09:29,000 --> 00:09:31,000 anda tidak perlu untuk menukar pangkalan data anda. 146 00:09:31,000 --> 00:09:36,140 Anda hanya boleh menambah tarikh untuk kesemua medan teks. 147 00:09:36,140 --> 00:09:39,640 Dan kemudian anda akan dapat melihat orang-orang di sebelah pelanggan, 148 00:09:39,640 --> 00:09:42,430 tetapi anda tidak akan dapat untuk query mereka di sebelah pelayan 149 00:09:42,430 --> 00:09:44,430 kerana ia tersembunyi di dalam teks itu. 150 00:09:44,430 --> 00:09:49,920 >> Isu lain yang anda mahu berfikir tentang 151 00:09:49,920 --> 00:09:52,400 ialah bagaimana pelanggan anda dan pelayan anda akan berkomunikasi. 152 00:09:52,400 --> 00:09:56,040 Anda biasanya ingin menyimpan ini semudah mungkin. 153 00:09:56,040 --> 00:10:02,230 Anda hanya boleh mempunyai seperti-me-ini mendapat permintaan data, 154 00:10:02,230 --> 00:10:09,140 yang mencipta-a-baru-objek perkara, dan permintaan update-an-lama-objek. 155 00:10:09,140 --> 00:10:12,930 Dan ini semua akan menjadi URL yang berbeza pada pelayan anda - 156 00:10:12,930 --> 00:10:20,030 bahawa pelayar akan - anda boleh menggunakan permintaan AJAX untuk semua ini 157 00:10:20,030 --> 00:10:24,000 dan sama ada menerima atau data pos. 158 00:10:24,000 --> 00:10:26,600 Sekali lagi, sebagai contoh Facebook Cat kami, 159 00:10:26,600 --> 00:10:32,350 anda boleh mempunyai URL yang untuk mendapatkan pos individu, 160 00:10:32,350 --> 00:10:39,750 dan anda akan mempunyai URL untuk membuat siaran dinding baru 161 00:10:39,750 --> 00:10:45,670 dan mungkin URL untuk memuat naik gambar profil anda, barangan seperti itu. 162 00:10:45,670 --> 00:10:51,730 Tetapi sekali lagi, itu untuk pra-mengambil sebahagian besar data anda supaya anda tidak perlu menyimpan 163 00:10:51,730 --> 00:10:53,360 membuat permintaan rangkaian. 164 00:10:53,360 --> 00:10:59,030 Atas sebab itu, anda mungkin tidak mahu mempunyai individu permintaan mendapatkan untuk bedah tunggal, 165 00:10:59,030 --> 00:11:03,210 dan sebaliknya anda hanya mahu mendapatkan 1 permintaan untuk keseluruhan dinding. 166 00:11:03,210 --> 00:11:06,110 Dan kemudian jika anda cuba untuk mencapai keseimbangan kerana - 167 00:11:06,110 --> 00:11:10,970 ini juga akan bergantung kepada permohonan anda. 168 00:11:10,970 --> 00:11:13,430 Kerana jika anda menjangkakan bahawa orang hanya mempunyai 10 atau 20 posts dinding 169 00:11:13,430 --> 00:11:15,430 yang akan halus. 170 00:11:15,430 --> 00:11:17,390 Tetapi jika anda menjangkakan mereka akan mempunyai beribu-ribu borang permintaan yang akan mengambil masa yang lama, 171 00:11:17,390 --> 00:11:23,580 dan supaya anda mungkin mahu menambah mendapatkan-semua-jawatan-sejak parameter. 172 00:11:23,580 --> 00:11:26,580 >> Untuk semua ini anda mungkin akan mahu untuk sync data anda dalam JSON - 173 00:11:26,580 --> 00:11:29,260 JavaScript Objek notation. 174 00:11:29,260 --> 00:11:34,600 Hampir setiap bahasa memperkatakan JSON dengan baik. 175 00:11:34,600 --> 00:11:40,880 JQuery mempunyai fungsi getJSON ini bagus yang akan melakukan semua kerja keras untuk anda. 176 00:11:40,880 --> 00:11:47,390 Dan pada PHP ada juga fungsi komunikasi JSON sangat bagus. 177 00:11:47,390 --> 00:11:52,660 Jadi, itu mungkin format terbaik untuk menghantar model anda ke belakang dan sebagainya. 178 00:11:52,660 --> 00:11:56,570 >> Sebagai contoh apa yang kita telah berbincang mengenai setakat ini, 179 00:11:56,570 --> 00:12:00,520 di sini adalah satu contoh aliran untuk aplikasi Facebook Cat anda. 180 00:12:00,520 --> 00:12:07,760 Ia bermula dengan pelayar anda meminta URL laman web asas. 181 00:12:07,760 --> 00:12:15,470 Pelayan mungkin akan menghantar lebih HTML statik dan ada JavaScript dan CSS. 182 00:12:15,470 --> 00:12:19,170 Ia biasanya baik untuk tidak melakukan apa-apa rendering pada pelayan. 183 00:12:19,170 --> 00:12:23,370 Anda mungkin tidak mahu - 184 00:12:23,370 --> 00:12:28,360 apa yang pelayan tidak melakukan ada akan ke bawah senarai jawatan dinding 185 00:12:28,360 --> 00:12:31,120 dan menjana beberapa HTML untuk masing-masing dan menghantar bahawa lebih. 186 00:12:31,120 --> 00:12:34,960 Ia biasanya terbaik untuk melakukannya di sebelah pelanggan kerana jika tidak, 187 00:12:34,960 --> 00:12:38,580 setiap kali anda mahu menarik semula sesuatu, anda perlu membuat permintaan pelayan. 188 00:12:38,580 --> 00:12:42,450 Dan yang dengan cepat memberikan anda banyak overhed. 189 00:12:42,450 --> 00:12:47,430 Ia biasanya terbaik hanya untuk kapal menurunkan statik HTML 190 00:12:47,430 --> 00:12:50,660 dan kemudian JavaScript dan CSS yang akan melakukan paparan di sebelah pelanggan. 191 00:12:50,660 --> 00:12:56,750 Sebaik sahaja barangan yang datang dalam, 192 00:12:56,750 --> 00:13:03,500 maka anda boleh mempunyai - dalam JavaScript - anda boleh melakukan permintaan untuk data dinding 193 00:13:03,500 --> 00:13:08,740 dan barangan seperti itu, dan selepas itu pelayan itu pada dasarnya hanya melakukan pertanyaan pangkalan data 194 00:13:08,740 --> 00:13:10,740 dan memeriksa kebenaran. 195 00:13:10,740 --> 00:13:16,690 Satu-satunya perkara yang penting ialah bahawa ia tidak boleh menghantar lebih pengguna beberapa jawatan lain dinding 196 00:13:16,690 --> 00:13:19,220 bahawa anda tidak dibenarkan untuk melihat. 197 00:13:19,220 --> 00:13:28,050 Ia pada dasarnya boleh menjadi lapisan nipis akses kepada pangkalan data anda, 198 00:13:28,050 --> 00:13:32,820 dan kemudian semua yang menunjukkan data - semua pandangan dan barangan - 199 00:13:32,820 --> 00:13:37,280 mereka boleh berlaku dalam pelayar anda, dan kemudian apabila anda mahu membuat post atau sesuatu 200 00:13:37,280 --> 00:13:40,000 anda hanya menghantar permintaan lain. 201 00:13:40,000 --> 00:13:45,350 >> Terdapat juga beberapa barangan mewah yang anda boleh lakukan di atas ini. 202 00:13:45,350 --> 00:13:49,550 Dari segi maklumat teknikal yang lebih khusus, 203 00:13:49,550 --> 00:13:53,360 membangun dalam JavaScript biasa boleh menjadi sedikit menyakitkan, 204 00:13:53,360 --> 00:13:56,220 jadi ada beberapa perpustakaan dan alat yang akan membantu anda banyak dengan itu. 205 00:13:56,220 --> 00:14:03,690 Saya rasa anda semua mungkin mendengar tentang jQuery yang menjadikan melakukan rendering HTML 206 00:14:03,690 --> 00:14:08,890 dan manipulasi lebih mudah - mempunyai banyak fungsi mewah untuk pudar dalam dan keluar, 207 00:14:08,890 --> 00:14:12,020 dan melakukan animasi bersemangat. 208 00:14:12,020 --> 00:14:13,720 Terdapat juga perpustakaan ini dipanggil Underscore.js. 209 00:14:13,720 --> 00:14:20,760 Ia mempunyai banyak fungsi utiliti berguna, barangan yang anda inginkan JavaScript untuk mempunyai 210 00:14:20,760 --> 00:14:24,740 bahawa ia benar-benar doesn't - perkara seperti shuffling array, 211 00:14:24,740 --> 00:14:28,900 mengeluarkan salinan dari senarai, atau mendatar senarai senarai. 212 00:14:28,900 --> 00:14:30,900 Ini hanyalah contoh kod kecil. 213 00:14:30,900 --> 00:14:36,520 Garis bawah mempunyai satu tan fungsi-fungsi ini baik yang anda ingin anda akan mempunyai semua masa. 214 00:14:36,520 --> 00:14:38,840 >> Dan kemudian ada 1 perpustakaan lagi yang saya ingin menghabiskan sedikit masa di 215 00:14:38,840 --> 00:14:44,800 dipanggil Backbone.js kerana Tulang Belakang benar-benar membantu anda berurusan dengan model di sebelah pelanggan 216 00:14:44,800 --> 00:14:47,210 dan banyak kekeliruan yang ia boleh menyebabkan. 217 00:14:47,210 --> 00:14:53,550 Tulang Belakang memberikan anda konsep ini model dan koleksi 218 00:14:53,550 --> 00:14:58,300 dalam JavaScript yang pada dasarnya sama seperti objek JavaScript 219 00:14:58,300 --> 00:15:04,900 dalam JavaScript tatasusunan tetapi mereka mempunyai acara apabila anda menukar sifat-sifat mereka. 220 00:15:04,900 --> 00:15:09,090 Sama seperti dalam JavaScript, anda boleh mempunyai acara apabila butang mendapat klik atau sesuatu 221 00:15:09,090 --> 00:15:14,800 model Tulang Belakang dan Tulang Belakang koleksi akan menyiarkan perkara-perkara seperti 222 00:15:14,800 --> 00:15:17,510 bahawa apabila mereka berubah. 223 00:15:17,510 --> 00:15:22,270 Ini bermakna bahawa anda hanya boleh menulis sesuatu seperti potongan kod ini di sini - 224 00:15:22,270 --> 00:15:27,530 ini berkata, setiap kali anda menambah apa-apa kepada pelbagai jawatan yang anda melukis semula keseluruhan dinding. 225 00:15:27,530 --> 00:15:34,270 Dan ini bererti setiap kali bilangan jawatan ini suka berubah, 226 00:15:34,270 --> 00:15:38,970 anda memberitahu pengguna bahawa seseorang menyukai siaran mereka. 227 00:15:38,970 --> 00:15:45,210 Atau bila-bila masa mana-mana harta jawatan perubahan yang anda melukis semula jawatan itu. 228 00:15:45,210 --> 00:15:51,050 Barangan seperti itu akan menjimatkan banyak kerumitan kerana jika tidak, 229 00:15:51,050 --> 00:15:55,440 jika anda tidak mempunyai rangka kerja seperti ini maka setiap kali dalam kod anda bahawa anda menukar 230 00:15:55,440 --> 00:16:04,280 apa-apa mengenai jawatan, anda akan perlu ingat diri anda untuk memanggil semua menyebabkan fungsi 231 00:16:04,280 --> 00:16:07,680 dan barangan seperti itu, dan jika anda mahu menambah sesuatu yang baru yang berlaku 232 00:16:07,680 --> 00:16:10,680 setiap kali anda diubahsuai jawatan anda akan perlu melalui setiap tempat di anda 233 00:16:10,680 --> 00:16:14,610 kod yang anda diubahsuai jawatan dan menambah bahawa perkara yang baru. 234 00:16:14,610 --> 00:16:21,450 Rangka kerja seperti ini akan mengeluarkan banyak bahawa komunikasi antara lapisan 235 00:16:21,450 --> 00:16:28,280 yang membuat kod anda kompleks dan sukar untuk mengekalkan. 236 00:16:28,280 --> 00:16:31,170 >> Ada sedikit tentang pandangan juga. 237 00:16:31,170 --> 00:16:35,960 Saya akan meninggalkan sebahagian besar daripada ini kepada Billy kerana mereka secara teknikal tidak begitu sukar. 238 00:16:35,960 --> 00:16:43,540 Gunakan jQuery untuk pandangan anda. Ia boleh dikatakan seperti satu keperluan pada ketika ini. 239 00:16:43,540 --> 00:16:46,290 Ia hanya menjadikan segala-galanya lebih mudah. 240 00:16:46,290 --> 00:16:48,290 Terdapat banyak perpustakaan. 241 00:16:48,290 --> 00:16:49,970 Jika anda telah rumit unsur-unsur antara muka pengguna, 242 00:16:49,970 --> 00:16:57,250 jika anda mahu satu perkara yang auto-lengkap atau suka salah seorang daripada mereka mewah berbilang selectors - 243 00:16:57,250 --> 00:17:04,790 jika anda mahu apa-apa seperti itu, anda mungkin perlu hanya mencari di sekeliling 244 00:17:04,790 --> 00:17:08,130 dan anda boleh menemui sebuah perpustakaan yang baik yang akan melakukan apa yang anda mahu. 245 00:17:08,130 --> 00:17:11,579 Billy akan menjelaskan lebih lanjut mengenai bahagian-bahagian yang benar-benar sukar pandangan. 246 00:17:11,579 --> 00:17:17,530 Juga, sebagai nota sampingan, Tulang Belakang mempunyai beberapa fungsi untuk membuat pandangan berkomunikasi 247 00:17:17,530 --> 00:17:22,800 baik dengan model - melihat dokumentasi untuk semua perpustakaan ini, sebenarnya. 248 00:17:22,800 --> 00:17:28,270 Lihat sahaja docs. Mereka sangat yang ditulis dengan baik dan mudah untuk diikuti. 249 00:17:28,270 --> 00:17:33,890 Secara umum, anda boleh cukup banyak hanya Google jika anda mempunyai masalah. 250 00:17:33,890 --> 00:17:36,370 Terdapat banyak orang yang menggunakan mereka. 251 00:17:36,370 --> 00:17:42,020 Saya rasa ini adalah sebagai nota akhir. 252 00:17:42,020 --> 00:17:48,770 >> Terdapat juga beberapa perkara yang lebih maju yang boleh anda lakukan 253 00:17:48,770 --> 00:17:53,400 jika anda sedang mencari untuk membuat aplikasi web anda tambahan hebat. 254 00:17:53,400 --> 00:17:59,760 Anda boleh melakukan - spesifikasi HTML5 baru mempunyai banyak perkara yang mewah yang boleh anda lakukan. 255 00:17:59,760 --> 00:18:05,780 Simpanan tempatan - yang anda boleh menyimpan data dalam browser - 256 00:18:05,780 --> 00:18:09,470 bukannya untuk kembali dan membaca dengan teliti pelayan untuk segala-galanya, 257 00:18:09,470 --> 00:18:12,470 anda boleh menyimpan sebahagian daripadanya pada pelanggan dan juga membolehkan orang - 258 00:18:12,470 --> 00:18:20,850 dalam beberapa kes ia juga boleh membenarkan anda menggunakan luar talian laman web. 259 00:18:20,850 --> 00:18:26,980 Ada perkara ini dipanggil WebSockets yang pelbagai jenis komunikasi rangkaian 260 00:18:26,980 --> 00:18:30,930 di mana bukan hanya anda membuat satu permintaan, anda akan mendapat sambutan dan anda selesai, 261 00:18:30,930 --> 00:18:35,240 anda menyimpan membuka sambungan kepada pelayan dan supaya anda boleh melakukan perkara-perkara seperti 262 00:18:35,240 --> 00:18:37,240 kemas kini masa nyata. 263 00:18:37,240 --> 00:18:42,020 Jadi, jika anda cuba untuk membuat app chat, anda boleh menggunakan WebSockets 264 00:18:42,020 --> 00:18:43,790 untuk berkomunikasi belakang dan sebagainya supaya anda tidak perlu menyimpan meminta, 265 00:18:43,790 --> 00:18:48,410 "Oh, pelayan, tidak sesiapa menghantar saya berbual?" setiap 10 saat atau sesuatu. 266 00:18:48,410 --> 00:18:55,620 Terdapat juga satu ciri HTML5 yang menarik di mana anda boleh membuat ia kelihatan seperti 267 00:18:55,620 --> 00:18:58,340 URL laman berubah tanpa pernah mempunyai untuk benar-benar menambah nilai itu. 268 00:18:58,340 --> 00:19:03,230 Anda boleh menggunakan belakang dan ke hadapan butang tanpa melakukan sekumpulan permintaan rangkaian. 269 00:19:03,230 --> 00:19:14,660 Barangan seperti itu adalah benar-benar berguna dari segi membuat ia cepat tetapi juga bekerja seperti aplikasi web sepatutnya. 270 00:19:14,660 --> 00:19:17,680 >> Terdapat juga perkara ini dipanggil CoffeeScript. 271 00:19:17,680 --> 00:19:24,450 CoffeeScript adalah bahasa yang berbeza, sebenarnya, yang menghimpunkan ke JavaScript. 272 00:19:24,450 --> 00:19:30,080 Anda akan menulis semua kod anda dalam CoffeeScript, dan kemudian anda menjalankan pengkompil ini, 273 00:19:30,080 --> 00:19:33,300 dan ia memuntahkannya keluar fail JavaScript anda boleh termasuk di dalam laman web anda. 274 00:19:33,300 --> 00:19:38,860 Alasan bahawa CoffeeScript bagus adalah kerana ia menghilangkan banyak yang 275 00:19:38,860 --> 00:19:44,760 kes pelik yang mempunyai JavaScript mana sama setaraf, 276 00:19:44,760 --> 00:19:51,130 dan sama setaraf melakukan perkara yang berbeza, atau suka - 277 00:19:51,130 --> 00:19:55,740 ia mempunyai sintaks lebih bagus untuk berurusan dengan tatasusunan dan fungsi. 278 00:19:55,740 --> 00:20:00,460 Ini adalah coretan sedikit CoffeeScript yang menghasilkan satu senarai semua kuasa dua 279 00:20:00,460 --> 00:20:04,900 dari 10 ^ 2-1 ^ 2 secara terbalik. 280 00:20:04,900 --> 00:20:08,410 Seperti yang anda lihat, CoffeeScript sering membolehkan anda meluahkan dalam 1 garis 281 00:20:08,410 --> 00:20:10,890 apa yang akan mengambil masa selama 5 baris JavaScript. 282 00:20:10,890 --> 00:20:13,230 Ia boleh membuat perkara yang lebih mudah. 283 00:20:13,230 --> 00:20:15,390 Ia sedikit sintaks baru untuk belajar pada mulanya, 284 00:20:15,390 --> 00:20:18,010 tetapi ia pasti akan membuat anda lebih produktif dalam jangka masa panjang. 285 00:20:18,010 --> 00:20:22,050 >> Anda juga boleh menggunakan bahasa lain pada pelayan daripada PHP - 286 00:20:22,050 --> 00:20:27,570 bahasa seperti Ruby, Python, atau ada juga projek yang dikenali sebagai node.js 287 00:20:27,570 --> 00:20:31,450 yang akan membolehkan anda menggunakan JavaScript pada pelayan. 288 00:20:31,450 --> 00:20:34,700 Secara peribadi, saya benar-benar, benar-benar benci PHP. 289 00:20:34,700 --> 00:20:38,310 Saya hanya tidak seronok bekerja dengannya. 290 00:20:38,310 --> 00:20:43,450 Jika anda juga berfikir bahawa ia adalah satu cluge besar bahasa, 291 00:20:43,450 --> 00:20:46,160 maka anda boleh menggunakan salah satu daripada sebaliknya. 292 00:20:46,160 --> 00:20:54,780 Secara umum, jika anda mahu melakukan sesuatu dan anda tidak benar-benar tahu bagaimana anda akan melakukannya, 293 00:20:54,780 --> 00:20:56,780 hanya mencari Internet. 294 00:20:56,780 --> 00:20:59,990 Terdapat tan dan tan sumber terutamanya di - 295 00:20:59,990 --> 00:21:03,260 StackOverflow adalah satu yang besar. 296 00:21:03,260 --> 00:21:06,400 Ia adalah laman web ini di mana pengaturcara meminta setiap soalan lain. 297 00:21:06,400 --> 00:21:09,690 Anda mungkin telah berjalan ke dalamnya jika anda menghadapi masalah pada set masalah CS50. 298 00:21:09,690 --> 00:21:16,820 Dan ada tan perpustakaan untuk melakukan cukup banyak apa sahaja yang anda mahu. 299 00:21:16,820 --> 00:21:21,710 Jika anda mahu melakukan sesuatu dan anda tidak tahu bagaimana untuk melakukannya, 300 00:21:21,710 --> 00:21:23,710 jangan menganggap bahawa ia adalah mustahil. 301 00:21:23,710 --> 00:21:26,160 Cuma melihat dan anda mungkin menemui beberapa sumber yang baik. 302 00:21:26,160 --> 00:21:29,280 >> Sebagai umum mengakhiri, 303 00:21:29,280 --> 00:21:33,650 yang takeaways utama ialah menjaga perkara-perkara mudah. 304 00:21:33,650 --> 00:21:36,010 Yang lebih kompleks kod anda adalah pada permulaan 305 00:21:36,010 --> 00:21:40,370 dan lebih banyak anda mencuba dan melakukan barangan mewah, 306 00:21:40,370 --> 00:21:43,300 semakin lama ia akan mengambil masa untuk mendapatkan sesuatu yang sebenarnya berfungsi 307 00:21:43,300 --> 00:21:46,480 dan sukar akan mengubah kemudian. 308 00:21:46,480 --> 00:21:49,580 Jadi, melakukan perkara-perkara, cara mudah bisu pertama. 309 00:21:49,580 --> 00:21:51,720 Untuk pergi bersama-sama dengan itu, 310 00:21:51,720 --> 00:21:59,070 jangan takut membuang kod lama atau membersihkannya sehingga banyak. 311 00:21:59,070 --> 00:22:05,320 Secara umum, apabila anda benar-benar mempunyai sesuatu kerja, 312 00:22:05,320 --> 00:22:09,640 ianya lebih mudah untuk berfikir tentang daripada apabila anda masih dalam peringkat permulaan 313 00:22:09,640 --> 00:22:12,610 bagaimana saya meletakkan ini semua bersama-sama. 314 00:22:12,610 --> 00:22:17,500 Ia terbaik untuk membuat reka bentuk yang paling bodoh mungkin yang bekerja 315 00:22:17,500 --> 00:22:22,270 dan kemudian memperbaikinya secara berulang daripada cuba untuk mendapatkan segala-galanya betul pada kali pertama. 316 00:22:22,270 --> 00:22:28,330 Dari segi pembahagian pelanggan-pelayan, cuba dan menyimpan pelayan anda sangat mudah - 317 00:22:28,330 --> 00:22:33,030 hanya pangkalan data dan beberapa pengesahan dan tidak melakukan apa-apa kerja keras di sana. 318 00:22:33,030 --> 00:22:37,540 Adakah semua barangan rumit anda di sebelah pelanggan dalam pelayar 319 00:22:37,540 --> 00:22:40,650 dalam JavaScript sebanyak yang anda boleh. 320 00:22:40,650 --> 00:22:43,420 Lihat sekeliling untuk perpustakaan yang membuat hidup anda lebih baik. 321 00:22:43,420 --> 00:22:46,850 Sentiasa lebih baik untuk menggunakan kod yang orang lain telah menulis 322 00:22:46,850 --> 00:22:49,850 jika anda - dan tidak menulis sendiri. 323 00:22:49,850 --> 00:22:57,560 Ada banyak barangan di Internet. Google adalah rakan anda yang terbaik. 324 00:22:57,560 --> 00:22:59,560 Google adalah rakan programmer terbaik. 325 00:22:59,560 --> 00:23:07,620 Ya, pasti tidak takut untuk melihat sekeliling untuk barangan. 326 00:23:07,620 --> 00:23:11,860 Baiklah. Dan kepada Billy. 327 00:23:11,860 --> 00:23:14,600 >> [Billy] Sebenarnya, sebelum saya bermula dengan beberapa barangan reka bentuk, 328 00:23:14,600 --> 00:23:17,250 adakah sesiapa mempunyai sebarang soalan untuk Ben mengenai apa-apa yang dia bercakap tentang? 329 00:23:17,250 --> 00:23:20,290 Baiklah, baik. 330 00:23:20,290 --> 00:23:22,220 Sekali lagi, marilah kita tahu jika apa-apa tidak jelas 331 00:23:22,220 --> 00:23:25,420 atau jika anda mahu kami pergi ke sesuatu yang sedikit lebih. 332 00:23:25,420 --> 00:23:30,330 Saya akan langkah ke belakang sedikit dan bercakap mengenai bahagian-bahagian yang lebih asas reka bentuk. 333 00:23:30,330 --> 00:23:34,840 Ben disebut model yang dipanggil - maaf, model sistem pandangan pengawal 334 00:23:34,840 --> 00:23:38,520 yang jenis aspek teknikal, jadi saya akan melihat pandangan khusus, 335 00:23:38,520 --> 00:23:42,930 dan saya akan bermula dengan bagaimana anda akan mereka bentuk pandangan yang kelihatan bagus. 336 00:23:42,930 --> 00:23:50,540 Berikut adalah jenis template benar-benar asas untuk Cat kami Facebook. 337 00:23:50,540 --> 00:23:54,190 Saya rasa terdapat beberapa asas-asas dalam reka bentuk UI moden 338 00:23:54,190 --> 00:23:56,190 yang bernilai mengambil. 339 00:23:56,190 --> 00:23:58,210 Anda boleh notis terdapat banyak ruang putih di seluruh halaman, 340 00:23:58,210 --> 00:24:00,790 banyak ruang untuk perkara-perkara. 341 00:24:00,790 --> 00:24:02,580 Jangan merasakan anda ada untuk skuasy sesuatu ke dalam halaman. 342 00:24:02,580 --> 00:24:06,700 Anda mahu meninggalkan banyak ruang terbuka, dan jika anda pergi ke hampir mana-mana laman web moden 343 00:24:06,700 --> 00:24:08,380 anda akan melihat ada putih mana-mana. 344 00:24:08,380 --> 00:24:10,380 Ada putih di tempat-tempat yang anda tidak akan mengharapkan. 345 00:24:10,380 --> 00:24:14,570 Anda mempunyai palet warna ini, dan ia adalah bijak pada awal 346 00:24:14,570 --> 00:24:17,880 untuk memilih palet warna yang anda akan bekerja dengan dan berkembang. 347 00:24:17,880 --> 00:24:22,250 Anda juga - ia membantu untuk memilih muka taip, dan cara bahawa anda seperti bergerak dengan 348 00:24:22,250 --> 00:24:24,450 ini asas-asas konkrit reka bentuk. 349 00:24:24,450 --> 00:24:26,910 Anda mempunyai jenis anda, anda mempunyai warna anda, dan kemudian anda boleh jenis 350 00:24:26,910 --> 00:24:29,380 muat segala-galanya dalam sebagai diperlukan. 351 00:24:29,380 --> 00:24:37,710 Jadi, seperti yang saya katakan, dengan skim warna anda, anda mahu menggunakan warna yang lebih berani skim warna anda 352 00:24:37,710 --> 00:24:40,320 berhati-hati. Tajuk yang bagus. Butang adalah baik untuk mempunyai benar-benar besar, warna mewah. 353 00:24:40,320 --> 00:24:43,710 Tetapi secara umum, jika anda mempunyai laman web yang mempunyai warna di mana-mana, 354 00:24:43,710 --> 00:24:47,250 semua merenung anda di muka, ia hanya kelihatan berantakan, dan ia tidak baik. 355 00:24:47,250 --> 00:24:50,430 Anda mahu untuk secara amnya menggunakan warna-warna cahaya. 356 00:24:50,430 --> 00:24:52,890 Cuba, sekali lagi, memilih skim warna cukup masuk akal. 357 00:24:52,890 --> 00:24:56,640 Anda boleh mempunyai percikan ini sedikit daripada banyak warna - 358 00:24:56,640 --> 00:25:00,240 yang boleh kelihatan cantik bagus, tetapi anda mahu menggunakan mereka cukup berhati-hati. 359 00:25:00,240 --> 00:25:04,270 >> Seperti yang saya katakan, anda mahu menjadi minimum. Kurang adalah hampir selalu lebih. 360 00:25:04,270 --> 00:25:07,430 Jika anda boleh memaparkan sesuatu atau tidak memaparkan sesuatu, 361 00:25:07,430 --> 00:25:10,230 dan anda jenis tidak pasti sama ada ia perlu berada di sana secara lalai - 362 00:25:10,230 --> 00:25:13,400 mungkin anda terbaik off meninggalkan ia daripada. Anda sentiasa boleh menambah dalam kemudian. 363 00:25:13,400 --> 00:25:16,620 Ya, menyimpan perkara-perkara yang mudah. 364 00:25:16,620 --> 00:25:19,510 Tetapi yang paling penting, anda perlu mempertimbangkan pelbagai reka bentuk. 365 00:25:19,510 --> 00:25:23,520 Jangan berfikir bahawa apabila anda membuat laman web, anda mempunyai dalam kepala anda yang anda akan 366 00:25:23,520 --> 00:25:26,310 membuat laman web dengan cara yang tertentu, dan ia akan kelihatan sama seperti ini. 367 00:25:26,310 --> 00:25:29,830 Ia akan mempunyai header biru di bahagian atas dan bar sebelah biru 368 00:25:29,830 --> 00:25:32,670 dan maka perkara sub-header kuning. 369 00:25:32,670 --> 00:25:34,670 Anda ingin pelbagai template. 370 00:25:34,670 --> 00:25:37,350 Anda boleh sama ada - jika anda baik dengan Belian Photo, anda boleh membuka yang dan jenis 371 00:25:37,350 --> 00:25:39,600 mereka bentuk laman web seperti yang anda suka untuk melihat. 372 00:25:39,600 --> 00:25:41,680 Jika tidak, anda hanya boleh menggunakan pen dan kertas, 373 00:25:41,680 --> 00:25:44,000 tetapi menggaru sehingga pelbagai reka bentuk. 374 00:25:44,000 --> 00:25:47,000 Anda mahu pada dasarnya mempunyai ditubuhkan di mana anda mempunyai banyak reka bentuk yang berbeza, 375 00:25:47,000 --> 00:25:50,810 dan jika seseorang berakhir kerja, maka itulah yang besar. 376 00:25:50,810 --> 00:25:53,370 Jika seseorang berakhir gagal, maka anda sentiasa mempunyai satu sama lain untuk beralih kepada. 377 00:25:53,370 --> 00:25:57,960 Secara umum, tidak merasa seperti anda harus dikekang 378 00:25:57,960 --> 00:26:00,830 untuk apa sahaja reka bentuk yang anda mulanya memutuskan. 379 00:26:00,830 --> 00:26:04,420 Reka bentuk adalah sangat berubah-ubah, dan sebahagian daripada kepentingan model yang 380 00:26:04,420 --> 00:26:09,480 sistem pandangan pengawal adalah bahawa anda boleh swap dalam dan di luar pandangan yang berbeza yang anda mahu. 381 00:26:09,480 --> 00:26:13,510 Anda boleh bergoyang data sehala, dan kemudian membuat keputusan, oh, sebenarnya, itu tidak berfungsi dengan baik. 382 00:26:13,510 --> 00:26:19,190 Saya fikir ia adalah jenis terlalu rumit atau ada sebahagian di sini yang tidak benar-benar bekerja, 383 00:26:19,190 --> 00:26:22,150 jadi saya hanya akan benar-benar meninggalkan pandangan ini dan swap dalam satu yang sama sekali baru. 384 00:26:22,150 --> 00:26:24,790 Kita masih boleh menggunakan model lama dan pengawal lama. 385 00:26:24,790 --> 00:26:27,490 Kita boleh melakukan segala-galanya pada pelayan dan pelanggan seperti yang kita akan sebelum ini. 386 00:26:27,490 --> 00:26:32,850 Tetapi gelombang sebenar data seperti yang dipaparkan akan menjadi sedikit berbeza. 387 00:26:32,850 --> 00:26:35,840 >> Setakat sebenarnya melaksanakan reka bentuk yang anda mahu, 388 00:26:35,840 --> 00:26:39,330 sekali anda mempunyai reka bentuk beberapa dilakarkan di atas kertas atau pada Belian Photo atau apa sahaja, 389 00:26:39,330 --> 00:26:42,120 terdapat beberapa alat-alat yang disediakan untuk anda. 390 00:26:42,120 --> 00:26:45,700 Yang pertama anda sangat biasa dengan yang HTML anda, PHP, atau apa sahaja 391 00:26:45,700 --> 00:26:48,990 bahasa anda dengan hanya menggunakan kod halaman statik pada laman web anda. 392 00:26:48,990 --> 00:26:51,990 Anda telah bekerja banyak dengan HTML yang jenis memberikan anda tag ini 393 00:26:51,990 --> 00:26:57,820 yang anda boleh meletakkan sesuatu ke dalam, dan pada dasarnya ia adalah cara yang menganjurkan kandungan anda. 394 00:26:57,820 --> 00:27:00,990 Sebagai contoh, anda mempunyai header di atas tu, jadi anda akan mempunyai tag header, 395 00:27:00,990 --> 00:27:05,770 dan ia akan mempunyai beberapa teks di dalamnya yang mungkin akan berada di dalam tag yang lain. 396 00:27:05,770 --> 00:27:08,380 Kemudian anda mempunyai bar sisi yang mungkin dengan beberapa pautan yang berbeza, 397 00:27:08,380 --> 00:27:10,160 dan mereka akan semua berada dalam tag yang berasingan. 398 00:27:10,160 --> 00:27:13,870 Jadi, pada dasarnya HTML di tengah-tengahnya adalah satu cara membahagikan halaman bagaimana 399 00:27:13,870 --> 00:27:16,980 anda akhirnya mahu format ia. 400 00:27:16,980 --> 00:27:18,980 Jadi sekali lagi, anda telah melihat bahawa sebelum ini. 401 00:27:18,980 --> 00:27:20,540 Anda cukup selesa dengan bekerja dengan sekarang 402 00:27:20,540 --> 00:27:23,120 memandangkan anda telah melakukan Serangga terakhir diharapkan, 403 00:27:23,120 --> 00:27:26,150 supaya tidak mendatangkan masalah. 404 00:27:26,150 --> 00:27:31,280 >> Kemudian anda mempunyai CSS yang pada asasnya mengendalikan semua reka bentuk aspek statik. 405 00:27:31,280 --> 00:27:35,320 Ia akan mengendalikan semua warna, semua kedudukan unsur-unsur yang berbeza, 406 00:27:35,320 --> 00:27:36,840 di mana mereka pergi berkenaan dengan satu sama lain, 407 00:27:36,840 --> 00:27:41,530 bagaimana besar mereka, pelbagai jenis positionings yang anda perlu - 408 00:27:41,530 --> 00:27:46,030 dalam erti kata lain, anda boleh mempunyai perkara tetap supaya apabila anda tatal ke bawah mereka tinggal, 409 00:27:46,030 --> 00:27:48,700 atau anda boleh mempunyai perkara berbanding dengan unsur-unsur lain. 410 00:27:48,700 --> 00:27:50,730 Semua yang jenis barangan adalah dalam CSS. 411 00:27:50,730 --> 00:27:54,630 Tambahan pula, anda boleh melakukan hiasan yang berbeza, anda boleh mempunyai warna teks, 412 00:27:54,630 --> 00:27:56,630 kesan teks, semua jenis barangan. 413 00:27:56,630 --> 00:28:00,360 Ben memberikan seminar benar-benar baik pada hujung minggu terakhir ini, 414 00:28:00,360 --> 00:28:04,450 dan saya pasti akan pastikan jika anda merancang untuk melakukan beberapa perkara yang mewah dengan CSS. 415 00:28:04,450 --> 00:28:09,850 CSS3 sebenarnya versi terbaru CSS, dan ia boleh melakukan pelbagai perkara benar-benar baik. 416 00:28:09,850 --> 00:28:14,750 Ia boleh melakukan kecerunan, anda boleh mempunyai bagus, sudut bulat, anda boleh melakukan pelbagai barangan 417 00:28:14,750 --> 00:28:17,940 untuk membuat laman web anda kelihatan lebih moden dan mewah. 418 00:28:17,940 --> 00:28:22,150 >> Alat seterusnya adalah JavaScript dan jQuery yang Ben bercakap sedikit tentang, 419 00:28:22,150 --> 00:28:24,150 tetapi saya akan mendapat sedikit lebih jauh ke dalam. 420 00:28:24,150 --> 00:28:28,100 JavaScript, seperti yang anda bekerja dengan ia sedikit, atau sekurang-kurangnya dilihat dalam kuliah, 421 00:28:28,100 --> 00:28:31,870 adalah jenis cara dinamik melakukan barangan dalam HTML. 422 00:28:31,870 --> 00:28:35,950 HTML, seperti yang anda tahu, adalah statik, jadi sebaik sahaja anda mempunyai HTML anda tidak boleh mengubah suai. 423 00:28:35,950 --> 00:28:40,050 Tetapi JavaScript, dalam beberapa cara, adalah satu cara untuk dapat mengubah suai HTML. 424 00:28:40,050 --> 00:28:44,520 Jadi, anda boleh melakukannya, dan yang hebat, tetapi benar-benar JavaScript adalah sakit untuk bekerja dengannya. 425 00:28:44,520 --> 00:28:49,050 Ia amat panjang dan bodoh dan untuk melakukan walaupun perkara yang paling mudah 426 00:28:49,050 --> 00:28:51,630 memerlukan banyak baris JavaScript. 427 00:28:51,630 --> 00:28:55,410 Jadi, jQuery pada dasarnya ialah perpustakaan untuk JavaScript yang memudahkan semua itu. 428 00:28:55,410 --> 00:28:59,880 Ia mengatakan, okay, jika anda mahu mempunyai peti persegi datang dari kiri 429 00:28:59,880 --> 00:29:03,980 dan pudar ke dalam halaman supaya ia di tengah-tengah, di JavaScript yang akan mengambil - 430 00:29:03,980 --> 00:29:06,340 Saya tidak tahu, seratus baris untuk lakukan, dan ia akan menjadi sakit, 431 00:29:06,340 --> 00:29:10,540 dan anda datang daripada itu membenci segala-galanya tentang pengaturcaraan web. 432 00:29:10,540 --> 00:29:15,380 JQuery anda pada dasarnya mempunyai unsur-dot-pudar masuk atau sesuatu seperti itu. 433 00:29:15,380 --> 00:29:18,580 Fungsi yang, sangat, sangat mudah yang akan membolehkan anda melakukan semua jenis animasi sejuk 434 00:29:18,580 --> 00:29:20,580 dan begitulah. 435 00:29:20,580 --> 00:29:23,300 Perkara lain yang ini 2 benar-benar baik untuk hanya melakukan perkara-perkara yang dinamik 436 00:29:23,300 --> 00:29:25,300 dengan laman web. 437 00:29:25,300 --> 00:29:28,370 Jadi, daripada hanya mempunyai halaman HTML anda - yang memaparkan beberapa data tetapi sebenarnya tidak 438 00:29:28,370 --> 00:29:32,130 melakukan apa-apa - JavaScript dan jQuery akan membolehkan anda mempunyai butang yang anda boleh klik pada, 439 00:29:32,130 --> 00:29:37,960 dan anda boleh menyeret dan unsur-unsur semula pesanan mereka dan menyusun mereka, dan mempunyai unsur-unsur baru 440 00:29:37,960 --> 00:29:40,500 ditambah atau dibuang. Anda boleh menambah-padam, perkara seperti. 441 00:29:40,500 --> 00:29:44,570 Jadi, jQuery tidak tan perkara yang sejuk. 442 00:29:44,570 --> 00:29:48,840 Dan Vipul sebenarnya memberi satu seminar mengenai hari ini, yang saya percaya, 5-pukul, 443 00:29:48,840 --> 00:29:51,220 jadi jika anda boleh melekat di sekitar untuk yang panjang, yang akan - 5 atau 4? 444 00:29:51,220 --> 00:29:54,930 Empat. Maaf. Ini sebenarnya selepas ini, jadi saya akan mengesyorkan 445 00:29:54,930 --> 00:29:56,680 melekat di sekeliling untuk itu jika anda boleh. 446 00:29:56,680 --> 00:30:00,180 JQuery adalah super, super berguna, dan anda akan dapat melakukan banyak perkara yang benar-benar baik dengan ia 447 00:30:00,180 --> 00:30:03,460 untuk cukup banyak mana-mana projek pembangunan web. 448 00:30:03,460 --> 00:30:06,200 >> Sekarang saya akan masuk ke dalam jenis perbezaan. 449 00:30:06,200 --> 00:30:08,210 Saya telah berbicara mengenai antara muka pengguna. 450 00:30:08,210 --> 00:30:11,510 Antara muka pengguna hanya reka bentuk laman web ini. 451 00:30:11,510 --> 00:30:13,780 Tetapi ada semacam satu lagi konsep yang pengalaman pengguna. 452 00:30:13,780 --> 00:30:15,900 Dua yang sangat berbeza. 453 00:30:15,900 --> 00:30:19,440 Muka memang sebahagian daripada pengalaman. 454 00:30:19,440 --> 00:30:21,340 Dalam erti kata lain, apabila anda pergi ke laman web, anda melihat antara muka. 455 00:30:21,340 --> 00:30:22,960 Itu sebahagian daripada bagaimana anda mengalami laman web ini. 456 00:30:22,960 --> 00:30:24,960 Tetapi pengalaman pengguna yang lebih daripada itu. 457 00:30:24,960 --> 00:30:29,910 Pengalaman pengguna adalah kira-kira apa tanggapan bahawa pengguna mendapat daripada laman anda. 458 00:30:29,910 --> 00:30:31,910 Jadi, jelas, antara muka adalah sebahagian daripada itu. 459 00:30:31,910 --> 00:30:35,340 Dan ia pasti sebahagian perlu, tetapi ia tidak mencukupi. 460 00:30:35,340 --> 00:30:38,790 Dalam erti kata lain, jika anda mempunyai antara muka yang bagus, dan ia cantik dan berwarna-warni dan semua itu, 461 00:30:38,790 --> 00:30:43,650 yang hebat, tetapi jika pengguna pergi ke laman web anda, melihat susun atur cantik dan ia keliru dengan 462 00:30:43,650 --> 00:30:47,060 segala-galanya, tidak tahu bagaimana untuk berbuat apa-apa, maka jelas anda telah membuat yang benar-benar 463 00:30:47,060 --> 00:30:48,930 laman web miskin. 464 00:30:48,930 --> 00:30:50,930 Itulah jenis di mana pengalaman pengguna datang masuk 465 00:30:50,930 --> 00:30:54,570 Saya akan bercakap sedikit tentang reka bentuk UX - UX singkat untuk pengalaman pengguna - 466 00:30:54,570 --> 00:30:58,050 dan jenis bagaimana anda boleh memastikan bahawa anda mempunyai pengalaman pengguna yang baik. 467 00:30:58,050 --> 00:31:04,330 Perkara pertama adalah bahawa anda boleh mereka bentuk laman web di mana pengguna boleh melakukan apa-apa yang 468 00:31:04,330 --> 00:31:06,820 pengguna yang mungkin mahu. 469 00:31:06,820 --> 00:31:08,940 Tetapi jika pengguna tidak boleh memikirkan bagaimana untuk melakukan perkara-perkara - 470 00:31:08,940 --> 00:31:12,850 dalam erti kata lain, jika pengguna tidak mempunyai idea yang baik apabila mereka pergi ke laman web anda, 471 00:31:12,850 --> 00:31:17,660 "Oh, jika saya mahu mengemas kini profil saya, maka saya klik butang ini, atau jika saya mahu pos pada 472 00:31:17,660 --> 00:31:20,850 dinding seseorang, maka saya pergi ke dinding mereka dan klik pada kotak kecil. " 473 00:31:20,850 --> 00:31:24,410 Jika pengguna tidak tahu itu, maka anda berkesan mempunyai tidak sebenarnya 474 00:31:24,410 --> 00:31:27,080 dilaksanakan fungsi yang betul. 475 00:31:27,080 --> 00:31:30,900 Sebahagian daripada melaksanakan fungsi adalah bahawa pengguna sebenarnya mampu untuk menggunakannya. 476 00:31:30,900 --> 00:31:34,810 Dan ia mungkin mengecewakan - anda mungkin membuat laman web, dan ia boleh melakukan semua jenis 477 00:31:34,810 --> 00:31:37,810 perkara yang indah, tetapi kemudian anda akan mempunyai orang mengujinya dan berkata, "Ia tidak boleh melakukan ini. 478 00:31:37,810 --> 00:31:39,770 Kenapa ia tidak boleh melakukan ini? "Dan anda akan mengatakan kembali kepada mereka, 479 00:31:39,770 --> 00:31:44,420 "Nah, ia boleh. Anda hanya perlu pergi ke dalam 7 menu drop-down pada ini kabur 480 00:31:44,420 --> 00:31:48,470 laman yang hanya ditemui oleh link di sudut kanan bawah tangan "atau sesuatu. 481 00:31:48,470 --> 00:31:50,430 Jelas sekali, anda tidak mahu itu. 482 00:31:50,430 --> 00:31:53,420 Anda mahu ia menjadi jelas kepada pengguna anda apa yang mereka sepatutnya lakukan, 483 00:31:53,420 --> 00:31:56,240 dan ia sepatutnya mudah dan intuitif untuk mereka. 484 00:31:56,240 --> 00:32:01,180 >> Satu lagi perkara yang anda ingin mencuba lakukan adalah, jika seseorang akan pergi ke laman web anda 485 00:32:01,180 --> 00:32:05,520 dan 9 daripada 10 kali melakukan tindakan A, dan 1 daripada 10 kali melakukan tindakan B, 486 00:32:05,520 --> 00:32:08,950 anda mungkin mahu memberi tumpuan pengalaman mereka mengenai tindakan A. 487 00:32:08,950 --> 00:32:12,240 Dalam erti kata lain, anda mahu untuk menjadikannya bagaimana sangat, sangat jelas untuk melakukan A. 488 00:32:12,240 --> 00:32:15,980 A harus depan dan pusat - pergi ke laman web ini, melihat ia; oh, ia di sana. 489 00:32:15,980 --> 00:32:20,850 Manakala B jelas anda mahu menjadi jelas, tetapi anda boleh meninggalkan ia sedikit lebih 490 00:32:20,850 --> 00:32:22,850 di latar belakang. 491 00:32:22,850 --> 00:32:24,640 David memberikan contoh yang baik ini dalam kuliah, 492 00:32:24,640 --> 00:32:26,640 yang merupakan sistem Boston T. 493 00:32:26,640 --> 00:32:29,440 Apabila anda pergi ke Boston T dan anda mahu membeli tiket, 494 00:32:29,440 --> 00:32:32,700 anda perlu masuk ke dalam 5 menu sebelum anda sebenarnya boleh membeli tiket 495 00:32:32,700 --> 00:32:37,130 untuk nilai $ 2, $ 2.50, yang adalah berapa banyak yang diperlukan untuk naik kereta bawah tanah 496 00:32:37,130 --> 00:32:39,130 dalam satu arah. 497 00:32:39,130 --> 00:32:41,600 Itulah masalah kerana kebanyakan orang yang menunggang kereta bawah tanah 498 00:32:41,600 --> 00:32:44,880 mungkin hanya mahu pergi ke satu tempat, membeli tiket mereka, dapatkan di segera. 499 00:32:44,880 --> 00:32:47,550 Ia tidak masuk akal bahawa mereka perlu melalui banyak menu yang berbeza 500 00:32:47,550 --> 00:32:49,550 untuk sampai ke sana. 501 00:32:49,550 --> 00:32:51,760 Satu pengalaman pengguna yang lebih baik akan menjadi butang cepat di halaman pertama 502 00:32:51,760 --> 00:32:54,760 yang hanya berkata, 'membeli tiket sehala,' dan yang akan dimasukkan ke dalam semua standard 503 00:32:54,760 --> 00:32:58,550 nilai lalai; dan kemudian jika seseorang mahu membeli tiket yang berbeza daripada itu, 504 00:32:58,550 --> 00:33:01,690 mereka masih, sudah tentu, mempunyai pilihan untuk, tetapi anda dioptimumkan untuk 505 00:33:01,690 --> 00:33:04,080 kes biasa digunakan yang benar-benar penting. 506 00:33:04,080 --> 00:33:06,830 Anda boleh melihat contoh-contoh ini di Facebook, bukan? 507 00:33:06,830 --> 00:33:09,410 Jika anda pergi ke Facebook dan anda hendak hantar status, 508 00:33:09,410 --> 00:33:11,710 ia kanan di bahagian atas iaitu apa yang anda sering mahu lakukan. 509 00:33:11,710 --> 00:33:14,730 Sebaik sahaja anda memasuki halaman, anda boleh melakukan perkara yang paling biasa yang 510 00:33:14,730 --> 00:33:16,730 anda mahu lakukan. 511 00:33:16,730 --> 00:33:17,550 Jika anda ingin melakukan perkara-perkara lebih rumit seperti, 512 00:33:17,550 --> 00:33:21,070 mengatakan saya mahu pergi ke dinding kawan saya dan hantar gambar di atasnya - 513 00:33:21,070 --> 00:33:24,810 yang saya akan mahu lakukan sering, tetapi tidak sekerap menghantar kemas kini status - 514 00:33:24,810 --> 00:33:28,200 jadi dalam kes itu, saya menaip nama mereka di dalam kotak di bahagian atas, klik pada profil mereka, 515 00:33:28,200 --> 00:33:31,680 dan kemudian, masih, ia betul-betul di atas sana sekali saya telah mendapat ke profil mereka. 516 00:33:31,680 --> 00:33:38,240 Sekali lagi, saya telah dioptimumkan dalam keutamaan bagi kes-kes yang paling biasa digunakan. 517 00:33:38,240 --> 00:33:41,800 >> Satu lagi perkara yang penting adalah yang sering orang jenis akan cuba untuk mendapatkan sekitar ini 518 00:33:41,800 --> 00:33:44,890 dengan berkata, okay, jadi saya membuat laman web dan orang yang mencari ia mengelirukan, 519 00:33:44,890 --> 00:33:46,110 dan itulah masalah, bukan? 520 00:33:46,110 --> 00:33:49,210 Jelas sekali, saya tidak mahu orang ramai keliru dengan kandungan laman saya. 521 00:33:49,210 --> 00:33:53,210 Tetapi cara untuk menyelesaikan yang tidak mempunyai sesuatu yang muncul dengan berkata, 522 00:33:53,210 --> 00:33:55,290 hey, saya akan mengajar anda bagaimana untuk menggunakan laman web ini. 523 00:33:55,290 --> 00:33:58,130 Langkah 1 - klik butang ini. Langkah 2 - pergi sini. 524 00:33:58,130 --> 00:34:03,080 Pasti, itu adalah satu cara di sekelilingnya - ia adalah satu cara yang anda boleh memberitahu orang apa yang perlu dilakukan, tetapi ia 525 00:34:03,080 --> 00:34:05,080 benar-benar tidak cara yang optimum. 526 00:34:05,080 --> 00:34:07,420 Jika saya pergi ke laman web dan tiba-tiba saya dihujani dengan tutorial ini yang yang memberitahu saya 527 00:34:07,420 --> 00:34:11,739 apa yang perlu dilakukan dan di mana untuk pergi dan semua itu, yang tidak menyeronokkan bagi saya. 528 00:34:11,739 --> 00:34:13,739 Ia bukan satu pengalaman yang baik untuk saya. 529 00:34:13,739 --> 00:34:17,130 Ia adalah jenis sakit. Saya mahu hanya mula melakukan barangan. 530 00:34:17,130 --> 00:34:19,449 Orang ramai akan menutup kotak dialog mereka, 531 00:34:19,449 --> 00:34:23,580 atau keluar dari tutorial, tidak tahu apa yang perlu dilakukan, dan kemudian merungut kerana 532 00:34:23,580 --> 00:34:25,580 anda tidak memberitahu mereka apa yang perlu lakukan. 533 00:34:25,580 --> 00:34:29,530 Cara untuk menyelesaikan ini bukanlah dengan memberikan apa-apa jenis tutorial atau arahan - 534 00:34:29,530 --> 00:34:31,530 apa-apa seperti itu. 535 00:34:31,530 --> 00:34:33,719 Sebanyak yang anda boleh mengelakkan ia, anda benar-benar mahu menunjukkan pengguna apa yang perlu dilakukan 536 00:34:33,719 --> 00:34:36,429 hanya dengan sifat bagaimana laman web ini dibentangkan. 537 00:34:36,429 --> 00:34:39,090 Dalam erti kata lain, jika saya pergi ke Facebook tanpa pembalakan di, 538 00:34:39,090 --> 00:34:40,920 perkara pertama yang saya lihat di laman utama - 539 00:34:40,920 --> 00:34:44,480 ia adalah satu kotak login sedikit. Jadi, duh. Saya harus daftar masuk Ia di sana. 540 00:34:44,480 --> 00:34:48,030 Manakala, jika saya pergi ke Facebook dan saya terpaksa klik pautan sedikit di bahagian bawah 541 00:34:48,030 --> 00:34:51,920 yang berkata 'log masuk' dan seluruh halaman itu hanya beberapa jenis gambar atau sesuatu, 542 00:34:51,920 --> 00:34:54,820 Saya tidak akan benar-benar tahu apa yang perlu dilakukan, bukan? Saya keliru. 543 00:34:54,820 --> 00:34:58,590 Jadi, ia boleh beritahu saya untuk pergi ke sana dan klik butang untuk log masuk, 544 00:34:58,590 --> 00:35:01,080 atau log pada butang boleh betul-betul di bahagian atas di mana saya akan melihatnya. 545 00:35:01,080 --> 00:35:04,780 Anda mahu untuk sentiasa menunjukkan pengguna apa yang perlu dilakukan, 546 00:35:04,780 --> 00:35:06,750 dan yang perlu wujud dalam halaman itu sendiri. 547 00:35:06,750 --> 00:35:09,880 >> Apabila anda berfikir tentang reka bentuk dan mengejek sehingga cara yang berbeza 548 00:35:09,880 --> 00:35:13,810 menyatakan laman web anda, anda benar-benar mahu berfikir tentang apa yang pengguna akan 549 00:35:13,810 --> 00:35:19,380 lakukan dan bagaimana anda boleh menunjukkan kepada mereka apa yang perlu dilakukan. 550 00:35:19,380 --> 00:35:23,530 Satu perkara yang lepas adalah ujian adalah benar-benar, benar-benar penting. 551 00:35:23,530 --> 00:35:27,400 Ia adalah baik untuk seseorang - dapatkan rakan, dapatkan seseorang yang anda tidak tahu walaupun - 552 00:35:27,400 --> 00:35:30,420 siapa yang pernah melihat laman web ini sebelum menggunakan laman web ini. 553 00:35:30,420 --> 00:35:33,650 Oleh kerana anda telah bekerja di laman web ini untuk beberapa jam, anda telah merenung pada itu, 554 00:35:33,650 --> 00:35:36,670 dan anda tahu apa yang perlu dilakukan dengan jelas anda akan menguji 555 00:35:36,670 --> 00:35:39,520 perkara-perkara yang anda telah bekerja pada dan anda tahu kerja. 556 00:35:39,520 --> 00:35:42,680 Tetapi jika orang lain datang bersama-sama dan menggunakan laman web ini yang tidak pernah digunakan sebelum ini, 557 00:35:42,680 --> 00:35:46,880 itu adalah satu pengalaman yang unik kerana anda mempunyai seseorang yang tidak mempunyai pengetahuan terlebih dahulu 558 00:35:46,880 --> 00:35:51,530 laman web ini akan ke dalamnya, supaya mereka akan perlu berkesan tidak tahu apa yang perlu dilakukan 559 00:35:51,530 --> 00:35:54,890 atau apa jenis kes-kes penggunaan hadir untuk mereka. 560 00:35:54,890 --> 00:36:00,930 Itu yang besar. Yang unik kerana mereka pada dasarnya seseorang yang mempunyai kosong untuk minda. 561 00:36:00,930 --> 00:36:03,750 Mereka boleh memberitahu anda jika sesuatu yang mengelirukan atau tidak jelas. 562 00:36:03,750 --> 00:36:07,580 Mereka boleh memberi anda idea tepat apa pengalaman pengguna laman anda. 563 00:36:07,580 --> 00:36:10,630 Ia boleh menjadi sangat sukar untuk mengetahui bahawa diri sendiri, jadi pastinya saya akan menggalakkan anda 564 00:36:10,630 --> 00:36:13,640 seperti yang anda sedang membangunkan projek-projek anda - jika anda melakukan projek-projek berasaskan web - 565 00:36:13,640 --> 00:36:18,290 untuk mendapatkan orang ramai menggunakan laman web ini seawal anda mempunyai beberapa jenis demo berfungsi. 566 00:36:18,290 --> 00:36:25,330 >> Kini saya akan bercakap sedikit tentang bagaimana untuk menguruskan projek pembangunan web. 567 00:36:25,330 --> 00:36:28,900 Kami telah pergi ke atas bagaimana anda boleh melakukan sebelah belakang-akhir teknikal, 568 00:36:28,900 --> 00:36:31,050 bagaimana anda boleh mereka bentuk laman web yang benar-benar baik, 569 00:36:31,050 --> 00:36:34,150 dan yang hebat jika anda bekerja sendiri tetapi - 570 00:36:34,150 --> 00:36:37,300 walaupun anda bekerja sendiri dan terutamanya jika anda bekerja pada satu pasukan, 571 00:36:37,300 --> 00:36:39,580 pengurusan projek menjadi satu isu besar. 572 00:36:39,580 --> 00:36:42,340 Anda jenis mendengar tentang pengurusan projek dalam bentuk yang berbeza sejak 573 00:36:42,340 --> 00:36:45,410 sekolah rendah apabila anda diberitahu kerja kumpulan. 574 00:36:45,410 --> 00:36:46,820 Anda perlu bekerjasama, berkomunikasi, semua itu. 575 00:36:46,820 --> 00:36:49,620 Yang semua masih terpakai di sini, tetapi terdapat beberapa keadaan yang unik dengan 576 00:36:49,620 --> 00:36:54,910 sains komputer yang ingin anda menyedari, dan anda ingin memastikan anda mengendalikan juga. 577 00:36:54,910 --> 00:36:58,050 Saya akan bercakap pertama sedikit tentang pasukan yang anda akan masuk 578 00:36:58,050 --> 00:37:03,280 Ia amat penting untuk memilih saiz yang betul daripada pasukan yang akan bekerja pada, 579 00:37:03,280 --> 00:37:05,890 dan dalam projek akhir anda Saya fikir anda mempunyai pilihan untuk memilih 580 00:37:05,890 --> 00:37:08,610 antara 1 dan 4 orang sekiranya saya betul. 581 00:37:08,610 --> 00:37:12,050 Anda ingin memastikan bahawa anda tidak hanya memilih bilangan orang yang 582 00:37:12,050 --> 00:37:14,950 yang anda mahu bekerja dengan kerana mereka rakan-rakan. 583 00:37:14,950 --> 00:37:18,170 Anda mahu memilih pasukan itulah saiz yang baik dan yang akan mendapat pekerjaan yang dilakukan. 584 00:37:18,170 --> 00:37:22,700 Ada keseimbangan dalam mempunyai lebih ramai orang berbanding kurang orang. 585 00:37:22,700 --> 00:37:25,320 Jika anda mempunyai lebih ramai orang, kerja jelas lagi yang boleh dilakukan 586 00:37:25,320 --> 00:37:28,450 kerana anda mempunyai banyak orang, banyak kod, banyak idea-idea, 587 00:37:28,450 --> 00:37:29,870 dan itu semua hebat. 588 00:37:29,870 --> 00:37:32,590 Tetapi ia juga memerlukan lebih banyak pengurusan dan komunikasi banyak lagi. 589 00:37:32,590 --> 00:37:34,720 Dalam erti kata lain, jika anda mempunyai 4 orang yang bekerja dalam projek yang sama 590 00:37:34,720 --> 00:37:39,200 dan mereka semua mengedit kod yang sama, lebih atau kurang mereka semua jenis keperluan untuk mengetahui 591 00:37:39,200 --> 00:37:40,920 apa yang berlaku jadi ia memerlukan anda - 592 00:37:40,920 --> 00:37:44,580 jika anda menambah beberapa fungsi baru yang anda jenis perlu memberitahu orang -: saya menambah ini, 593 00:37:44,580 --> 00:37:48,510 Saya berubah ini dengan cara ini - terutamanya jika anda masuk ke dalam barangan yang benar-benar mendalam 594 00:37:48,510 --> 00:37:52,730 seperti model dan pengawal yang sebenarnya akan mempengaruhi bagaimana laman web berfungsi. 595 00:37:52,730 --> 00:37:54,500 Keseluruhan pasukan perlu sedar itu, 596 00:37:54,500 --> 00:37:58,140 jadi anda perlu pastikan anda tidak memilih terlalu besar pasukan yang akan menjadi keras 597 00:37:58,140 --> 00:37:59,970 untuk membuat komunikasi itu. 598 00:37:59,970 --> 00:38:02,930 Anda juga tidak mahu memilih satu pasukan kecil yang cukup bahawa anda tidak akan 599 00:38:02,930 --> 00:38:06,250 dapat berkomunikasi kerana ia hanya anda. 600 00:38:06,250 --> 00:38:11,270 >> Satu lagi perkara yang perlu dipertimbangkan ialah baki di mana kemahiran orang adalah. 601 00:38:11,270 --> 00:38:14,350 Ia baik jika anda semua pengaturcara benar-benar baik. 602 00:38:14,350 --> 00:38:17,050 Tetapi jika anda semua orang back-end, maka laman web anda tidak akan kelihatan sangat baik 603 00:38:17,050 --> 00:38:20,860 kerana anda mempunyai pangkalan data yang besar ini, dan ia pertanyaan carian super cepat - 604 00:38:20,860 --> 00:38:26,130 yang besar - tetapi apabila anda pergi ke ia, ia seperti sebuah laman 1990-an dengan merah dan biru 605 00:38:26,130 --> 00:38:30,370 di mana-mana, dan itu tidak baik sama ada. 606 00:38:30,370 --> 00:38:34,210 Perhatikan bahawa Ben dan saya bekerja sebagai satu pasukan yang sangat bagus kerana saya jenis lebih 607 00:38:34,210 --> 00:38:38,030 di hujung depan, kedua-dua kami berinteraksi di tengah-tengah akhir tahun, dan Ben benar-benar baik dengan barangan back-end, 608 00:38:38,030 --> 00:38:43,550 supaya kerja-kerja benar-benar baik kerana kita boleh mereka bentuk mana-mana laman dan pada dasarnya lubang-lubang 609 00:38:43,550 --> 00:38:47,580 di laman web yang yang perlu diisi boleh diisi sama ada seorang daripada kita, atau mungkin kedua-duanya. 610 00:38:47,580 --> 00:38:50,210 Anda ingin memastikan bahawa tidak ada lubang dalam pasukan anda. 611 00:38:50,210 --> 00:38:51,180 Tidak mengapa jika ada sedikit pertindihan. 612 00:38:51,180 --> 00:38:53,670 Dalam erti kata lain, jika anda mempunyai 2 orang yang kedua-dua baik dengan hujung belakang, 613 00:38:53,670 --> 00:38:57,250 yang boleh baik dan juga kerana mereka boleh membantu antara satu sama lain dengan masalah 614 00:38:57,250 --> 00:38:58,820 bahawa mereka mempunyai. 615 00:38:58,820 --> 00:39:02,590 Ia boleh menjadi masalah jika anda hanya mempunyai 1 orang yang bertanggungjawab untuk perkara tertentu 616 00:39:02,590 --> 00:39:06,650 dan mereka menghadapi masalah, jadi anda mahu mempunyai sedikit pertindihan 617 00:39:06,650 --> 00:39:10,760 tetapi anda yang paling penting ingin memastikan bahawa semua lubang-lubang mungkin dipenuhi. 618 00:39:10,760 --> 00:39:17,550 >> Perkara terakhir - dan ini adalah jelas, tetapi ia sering tidak. 619 00:39:17,550 --> 00:39:19,550 Anda benar-benar mahu berseronok. 620 00:39:19,550 --> 00:39:23,360 Titik projek akhir ini dalam CS50 dan sering titik pembangunan web secara umum 621 00:39:23,360 --> 00:39:26,360 bukan untuk hanya melakukan kerja kerana ia memerlukan lakukan. 622 00:39:26,360 --> 00:39:29,140 Anda benar-benar mahu berseronok, dan anda mahu membuat sesuatu 623 00:39:29,140 --> 00:39:31,180 itu motivasi anda untuk bekerja di atasnya. 624 00:39:31,180 --> 00:39:33,650 Jika apa sahaja yang anda membuat adalah sakit untuk duduk dan bekerja pada, 625 00:39:33,650 --> 00:39:35,650 maka anda tidak memilih projek yang betul. 626 00:39:35,650 --> 00:39:37,730 Anda mahu memilih sesuatu yang anda dapati menarik, 627 00:39:37,730 --> 00:39:41,150 anda benar-benar mahu melihat hasilnya, anda teruja apabila anda mendapat idea baru tentang 628 00:39:41,150 --> 00:39:44,700 sesuatu yang anda boleh lakukan - jadi tidak semua jenis projek di sana yang saya pasti 629 00:39:44,700 --> 00:39:47,290 anda boleh mencari - semua orang mempunyai sesuatu yang benar-benar akan tipu daya mereka 630 00:39:47,290 --> 00:39:49,290 jika mereka melakukan projek berasaskan web. 631 00:39:49,290 --> 00:39:52,210 Saya akan katakan sekali lagi sekarang. 632 00:39:52,210 --> 00:39:54,520 Jika projek anda seolah-olah seperti sakit dan anda tidak mahu bekerja di atasnya, 633 00:39:54,520 --> 00:39:57,260 memilih projek lain. Pilih sesuatu yang benar-benar memberi inspirasi kepada anda. 634 00:39:57,260 --> 00:40:00,260 >> Ben disebut konsep ini lelaran sedikit, dan saya mahu pergi lebih sedikit. 635 00:40:00,260 --> 00:40:08,250 Ia benar-benar penting untuk bekerja dalam spurts di mana anda mendapatkan sesuatu yang berfungsi. 636 00:40:08,250 --> 00:40:13,420 Ia boleh menjadi besar jika anda mempunyai pelan ini untuk sebuah laman web yang akan melakukan A, B, dan C, 637 00:40:13,420 --> 00:40:16,000 dan akhirnya ia akan sampai ke sana. 638 00:40:16,000 --> 00:40:18,600 Tetapi anda terjebak dalam fasa ini di mana anda bekerja di atasnya dan bekerja di atasnya, 639 00:40:18,600 --> 00:40:23,330 tetapi apa-apa yang mendapat dilakukan. Anda tidak mempunyai apa-apa untuk melihat dan, perkara berfungsi ketara. 640 00:40:23,330 --> 00:40:27,940 Apa yang anda benar-benar mahu melakukan sebanyak kerana ia seolah-olah jenis sakit kadang-kadang untuk 641 00:40:27,940 --> 00:40:32,300 bekerja pada sesuatu dan kemudian jenis topi itu di luar supaya ia sekurang-kurangnya pada yang stabil, berlari 642 00:40:32,300 --> 00:40:34,910 versi walaupun ia tidak mempunyai semua ciri-ciri yang anda mahu. 643 00:40:34,910 --> 00:40:37,690 Dan mungkin ada beberapa ciri-ciri yang anda benar-benar mahu menambah tetapi anda tidak boleh 644 00:40:37,690 --> 00:40:41,830 kerana anda ingin mendapatkan laman ini dengan mata berfungsi. 645 00:40:41,830 --> 00:40:44,400 Dan sehingga anda ingin mempunyai jenis proses pembangunan keseluruhan kelihatan seperti itu. 646 00:40:44,400 --> 00:40:47,810 Anda ingin memulakan suatu tempat fungsi - atau pada dasarnya bermula dengan apa-apa - 647 00:40:47,810 --> 00:40:49,890 tetapi anda ingin mendapatkan tempat yang sangat asas dan berfungsi. 648 00:40:49,890 --> 00:40:54,940 Dan sekali lagi, membuat semacam melompat dan mendapat tempat berfungsi lagi. 649 00:40:54,940 --> 00:40:59,190 Anda perlahan-lahan akan membina, dan ia mungkin pergi agak perlahan daripada ia akan sebaliknya, 650 00:40:59,190 --> 00:41:03,000 tetapi dalam jangka masa panjang jika anda sentiasa terperangkap dalam fasa jalan tengah ini di mana anda 651 00:41:03,000 --> 00:41:06,380 sebenarnya tidak mempunyai apa-apa kerja, ia boleh menjadi satu kekecewaan benar-benar besar 652 00:41:06,380 --> 00:41:09,970 untuk bekerja dalam projek anda kerana anda sentiasa begitu dekat untuk mendapatkan ia bekerja, 653 00:41:09,970 --> 00:41:12,130 dan ia tidak pernah benar-benar bekerja. 654 00:41:12,130 --> 00:41:14,810 Anda mahu bekerja dalam spurts berfungsi, 655 00:41:14,810 --> 00:41:17,950 dan anda juga mahu melakukan refleksi selepas setiap satu. 656 00:41:17,950 --> 00:41:21,260 Dalam erti kata lain, sebaik sahaja anda berada di titik di mana laman web ini kini bekerja - 657 00:41:21,260 --> 00:41:24,790 ia tidak mempunyai segala-galanya yang anda suka tetapi ia beberapa perkara - 658 00:41:24,790 --> 00:41:28,870 anda mahu berfikir, okay, adalah laman web ini mencapai matlamat yang saya ingin lakukan? 659 00:41:28,870 --> 00:41:33,410 Dalam erti kata lain, jika laman web ini akan melakukan X, adalah apa yang saya telah bekerja dalam arah X? 660 00:41:33,410 --> 00:41:36,450 Adakah semua fungsi yang saya mahu di sana? 661 00:41:36,450 --> 00:41:39,340 Dan lebih-lebih lagi, ia berkhidmat tujuan keseluruhan yang saya mahu? 662 00:41:39,340 --> 00:41:43,200 Jika anda sedang mencari laman web anda sudah mula berubah arah dalam arah yang berbeza 663 00:41:43,200 --> 00:41:47,330 atau mungkin perkara yang hanya jenis tidak bekerja di luar, ia mungkin masa untuk anjakan gear sedikit. 664 00:41:47,330 --> 00:41:51,700 Dalam erti kata lain, ia adalah bernilai mengingati - ia bernilai membuang idea-idea jika perlu 665 00:41:51,700 --> 00:41:57,950 dan mempertimbangkan saya benar-benar berusaha ke arah apa yang saya mahu. 666 00:41:57,950 --> 00:42:00,760 >> Saya percaya itulah perkara seterusnya. Jangan takut untuk meninggalkan idea. 667 00:42:00,760 --> 00:42:03,750 Hanya kerana anda menghabiskan banyak masa bekerja pada ciri yang 668 00:42:03,750 --> 00:42:07,890 dan akhirnya mendapat ia bekerja tetapi ia benar-benar tidak akan begitu baik - 669 00:42:07,890 --> 00:42:12,690 seperti ia bukan yang berguna atau pengguna menghadapi masalah menggunakannya - perkara seperti - 670 00:42:12,690 --> 00:42:15,300 jangan takut untuk membuang ia jauh. 671 00:42:15,300 --> 00:42:17,650 Ia menghisap bahawa anda telah menghabiskan banyak masa bekerja di atasnya, 672 00:42:17,650 --> 00:42:21,870 tetapi akhirnya anda tidak mahu laman yang yang jenis meletakkan bersama-sama dengan buah ini yang 673 00:42:21,870 --> 00:42:25,380 jenis kerja tetapi tidak yang baik disampaikan. 674 00:42:25,380 --> 00:42:27,990 Juga, jangan takut untuk memeluk idea-idea baru. 675 00:42:27,990 --> 00:42:30,050 Jika seseorang datang dan berkata, hey, laman web yang kelihatan benar-benar sejuk tetapi 676 00:42:30,050 --> 00:42:32,290 bukankah juga menjadi besar jika ia juga melakukan ini? 677 00:42:32,290 --> 00:42:36,220 Hanya kerana itu sesuatu yang anda tidak berniat dan sesuatu yang tidak dalam anda 678 00:42:36,220 --> 00:42:37,900 ciri-ciri komputer, sesuatu yang anda tidak ingin lakukan, 679 00:42:37,900 --> 00:42:40,860 jangan takut untuk membawanya ke atas dan kemudian bekerja dengannya. 680 00:42:40,860 --> 00:42:43,680 Kerana sering idea-idea yang anda menjalankan dengan seluruh kursus pembangunan 681 00:42:43,680 --> 00:42:47,630 akhirnya menjadi ciri-ciri benar-benar sejuk laman web. 682 00:42:47,630 --> 00:42:49,630 >> Saya berkata sebelum ini. Saya akan katakan sekali lagi. 683 00:42:49,630 --> 00:42:51,630 Penguji adalah super, super berguna. 684 00:42:51,630 --> 00:42:56,350 Cuba untuk mendapatkan orang-orang yang tidak pernah melihat laman web ini sebelum untuk log masuk dan melihat apa yang berlaku 685 00:42:56,350 --> 00:42:59,080 kerana mereka bukan sahaja boleh menguji kebergunaan tapak dan pengalaman pengguna, 686 00:42:59,080 --> 00:43:02,070 tetapi mereka juga boleh menguji fungsi dengan cara yang anda tidak boleh. 687 00:43:02,070 --> 00:43:06,430 Jika anda membuat beberapa ciri yang melakukan perkara tertentu 688 00:43:06,430 --> 00:43:11,620 dan anda tahu ia akan melakukan perkara yang sama dengan betul setiap kali tunggal, itu hebat. 689 00:43:11,620 --> 00:43:16,610 Tetapi ia selalunya boleh sukar untuk akaun bagi kes-kes di mana sudut kekuatan pengguna 690 00:43:16,610 --> 00:43:19,500 menaip sesuatu yang anda tidak menjangkakan - tepat kerana anda ditakrifkan 691 00:43:19,500 --> 00:43:21,500 ciri-ciri sendiri. 692 00:43:21,500 --> 00:43:23,730 Jadi, untuk mempunyai seseorang datang pada yang tidak mempunyai idea bagaimana untuk menggunakan laman web ini 693 00:43:23,730 --> 00:43:26,840 dan hanya memecahkan dalam apa jua cara yang mereka boleh lakukan adalah benar-benar berguna kerana anda 694 00:43:26,840 --> 00:43:30,340 mendapatkan idea dari perspektif yang sama sekali berbeza daripada apa yang di laman anda bekerja 695 00:43:30,340 --> 00:43:33,300 dan apa yang perlu pembaikan. 696 00:43:33,300 --> 00:43:37,070 >> Lepas, saya akan bercakap tentang beberapa amalan yang baik umum, 697 00:43:37,070 --> 00:43:42,470 dan anda telah melihat banyak ini di CS50, tetapi mereka juga benar-benar, benar-benar memohon dalam suasana projek. 698 00:43:42,470 --> 00:43:47,600 Satu adalah komen. Sentiasa comment kod anda terutamanya jika anda bekerja dalam pasukan yang besar. 699 00:43:47,600 --> 00:43:51,230 Ia boleh jadi menjengkelkan dengan hanya mempunyai satu blok gergasi kod yang ditulis seseorang 700 00:43:51,230 --> 00:43:54,230 dan mungkin ia berfungsi, mungkin tidak, tetapi anda tidak tahu apa yang ia, 701 00:43:54,230 --> 00:43:58,010 jadi anda tidak tahu sama ada ia berguna atau tidak atau sama ada ia perlu berada di sana atau tidak, 702 00:43:58,010 --> 00:44:00,200 dan jika anda bekerja pada sesuatu yang lain ia lebih mungkin bahawa anda bekerja pada 703 00:44:00,200 --> 00:44:06,590 perkara yang sama, jadi hanya menjadi sangat, sangat berhati-hati untuk bertimbang rasa rakan-rakan anda 704 00:44:06,590 --> 00:44:09,710 dan kod tulis yang yang didokumentasikan dengan baik. 705 00:44:09,710 --> 00:44:13,580 Anda tidak perlu pergi setakat untuk melakukan perkara yang keseluruhannya di mana suka jika anda kenaikan 706 00:44:13,580 --> 00:44:16,620 kaunter mempunyai komen yang mengatakan, saya menambah 1 ke kaunter ini. 707 00:44:16,620 --> 00:44:20,450 Ia tidak perlu menjadi yang terperinci, tetapi untuk apa-apa fungsi yang anda pernah menulis 708 00:44:20,450 --> 00:44:23,160 anda perlu mempunyai beberapa dokumentasi apa fungsi yang sebenarnya tidak, 709 00:44:23,160 --> 00:44:25,140 apa input adalah, dan apa yang perlu kembali. 710 00:44:25,140 --> 00:44:27,800 Dengan cara itu anda boleh menggunakan lain-lain komponen rakyat tapak 711 00:44:27,800 --> 00:44:31,990 dan anda boleh berusaha ke arah membina sesuatu yang besar. 712 00:44:31,990 --> 00:44:34,100 >> Satu lagi perkara yang penting ialah anda mahu lakukan tetap bersih-up. 713 00:44:34,100 --> 00:44:40,490 Kod mendapat kemas. Jangan merasa buruk jika kod anda hanya boleh dibaca sama sekali dan keadaan huru-hara raksasa. 714 00:44:40,490 --> 00:44:42,770 Yang berlaku dalam pembangunan web sentiasa. 715 00:44:42,770 --> 00:44:46,530 Anda menambah ciri-ciri baru, menghapuskan yang lama. Barangan akan berada di sana yang tidak sepatutnya. 716 00:44:46,530 --> 00:44:49,330 Itu halus, tetapi anda ingin memastikan untuk menangani yang kerap. 717 00:44:49,330 --> 00:44:53,430 Anda tidak mahu untuk membiarkan ia membina sehingga tahap di mana anda tidak boleh mencari apa-apa 718 00:44:53,430 --> 00:44:56,430 dalam kod anda, dan anda tidak tahu apa yang apa-apa tidak. 719 00:44:56,430 --> 00:44:58,430 Itu berlaku dengan HTML. 720 00:44:58,430 --> 00:44:59,490 Kadang-kadang anda akan berakhir dengan objek yang tidak mengandungi apa-apa, 721 00:44:59,490 --> 00:45:01,320 dan anda akan mahu untuk menghapuskan mereka. 722 00:45:01,320 --> 00:45:04,610 Dalam CSS, anda boleh merujuk kepada unsur-unsur yang tidak ada lagi, 723 00:45:04,610 --> 00:45:06,340 jadi anda mahu untuk menghilangkan kod itu. 724 00:45:06,340 --> 00:45:09,900 Dalam JavaScript, anda mungkin telah mengeluarkan sesuatu dari HTML. 725 00:45:09,900 --> 00:45:13,150 Jadi, anda ingin memastikan bahawa anda sentiasa membersihkan, membuat perkara yang cantik 726 00:45:13,150 --> 00:45:17,450 sebagai banyak yang anda boleh secara tetap. 727 00:45:17,450 --> 00:45:21,060 >> Satu lagi perkara yang benar-benar berguna yang saya tidak fikir yang digariskan amat CS50 728 00:45:21,060 --> 00:45:23,430 tetapi ia bernilai mendapat ke dalam adalah kawalan versi. 729 00:45:23,430 --> 00:45:27,180 Idea kawalan versi adalah apabila anda pada dasarnya mengesan segala kemajuan yang 730 00:45:27,180 --> 00:45:30,820 anda telah membuat ke arah laman web anda dan jika pada bila-bila anda sedar, oh, ini bekerja 731 00:45:30,820 --> 00:45:35,220 sebentar tadi tetapi ia tidak berfungsi lagi, anda boleh kembali ke versi sebelumnya 732 00:45:35,220 --> 00:45:37,720 dan melihat apa yang telah berubah sejak itu dan perkara seperti. 733 00:45:37,720 --> 00:45:41,670 Cara utama untuk melakukannya adalah dengan Git, dan Git adalah jenis ini seluruh sistem yang 734 00:45:41,670 --> 00:45:46,390 Saya percaya Tommy MacWilliam memberikan seminar kira-kira setahun lalu. 735 00:45:46,390 --> 00:45:51,520 Jika anda pergi ke seminar CS50 untuk tahun 2011, anda boleh melihat seminarnya pada itu. 736 00:45:51,520 --> 00:45:57,070 Idea Git pada dasarnya bahawa pada jangka masa yang tetap anda membuat komitmen ini 737 00:45:57,070 --> 00:46:01,430 yang cara untuk mengatakan laman web ini dalam versi yang agak stabil sekarang supaya 738 00:46:01,430 --> 00:46:05,910 Saya pembungkusan itu dan menghantarnya ke pelayan jauh, dan kemudian anda boleh pergi ke pelayan yang 739 00:46:05,910 --> 00:46:07,910 dan melihat semua versi terdahulu kod anda dan melihat bagaimana ia berkembang 740 00:46:07,910 --> 00:46:12,210 dan semua yang jenis barangan yang baik. 741 00:46:12,210 --> 00:46:14,210 Jadi, itu pada dasarnya ia. 742 00:46:14,210 --> 00:46:17,870 Setakat pembangunan web, kami gembira untuk melekat di sekeliling dan menjawab apa-apa 743 00:46:17,870 --> 00:46:20,570 soalan sejauh persembahan kami. 744 00:46:20,570 --> 00:46:22,900 Itu sahaja. Terima kasih. >> [Ben] Terima kasih. 745 00:46:22,900 --> 00:46:28,480 [Tepukan] 746 00:46:28,480 --> 00:46:30,950 >> [Billy] Kakitangan, adakah sesiapa yang mempunyai sebarang soalan mengenai perkara-perkara yang kami telah dilindungi 747 00:46:30,950 --> 00:46:33,950 atau perkara-perkara yang kita tidak dilindungi yang mereka berharap kita akan meliputi? 748 00:46:33,950 --> 00:46:35,950 Kami akan gembira untuk menjawab soalan-. Sesiapa sahaja? 749 00:46:35,950 --> 00:46:50,360 [Ahli penonton] Apakah kebaikan dan keburukan menggunakan Ruby atau menggunakan Python? 750 00:46:50,360 --> 00:46:58,660 [Ben] Persoalannya ialah, apakah kebaikan dan keburukan menggunakan Ruby atau Python 751 00:46:58,660 --> 00:46:59,900 bukannya seperti PHP. 752 00:46:59,900 --> 00:47:11,340 Kebaikan adalah yang Ruby dan Python adalah bahasa jauh lebih baik daripada PHP. 753 00:47:11,340 --> 00:47:14,920 Sekurang-kurangnya pada pendapat saya, dan saya rasa dalam banyak pendapat orang lain juga. 754 00:47:14,920 --> 00:47:20,990 Mereka direka lebih untuk melakukan hal yang kompleks, 755 00:47:20,990 --> 00:47:25,380 dan kurang bagi whacking bersama-sama laman web benar-benar cepat dengan 756 00:47:25,380 --> 00:47:28,400 sedikit kandungan dinamik. 757 00:47:28,400 --> 00:47:35,180 Yang kontra adalah bahawa ada sedikit - ada lebih daripada keluk pembelajaran 758 00:47:35,180 --> 00:47:37,220 untuk mendapatkan mereka ditubuhkan. 759 00:47:37,220 --> 00:47:41,010 Iaitu, seperti di PHP, anda hanya boleh mempunyai fail HTML dan anda menulis kurang-daripada, 760 00:47:41,010 --> 00:47:43,060 tanda tanya, dan kemudian anda menulis beberapa kod, dan kemudian anda menulis tanda tanya, 761 00:47:43,060 --> 00:47:45,700 lebih-daripada, dan kemudian anda selesai. 762 00:47:45,700 --> 00:47:50,300 Bahasa lain seperti Ruby atau Python, 763 00:47:50,300 --> 00:47:56,810 anda perlu melalui kerja sedikit lebih untuk dapatkan laman web ini berjalan awal. 764 00:47:56,810 --> 00:48:02,730 Terdapat juga - sekurang-kurangnya ia digunakan untuk menjadi kes itu - bahawa ada dokumentasi yang lebih 765 00:48:02,730 --> 00:48:05,480 disediakan untuk PHP hanya kerana ada ramai orang yang menggunakannya. 766 00:48:05,480 --> 00:48:09,370 Saya rasa itu bukan sebagai banyak isu lagi. 767 00:48:09,370 --> 00:48:12,520 Ada pasti dokumentasi yang sangat baik untuk barangan seperti Ruby on Rails 768 00:48:12,520 --> 00:48:16,080 atau Django Python adalah bersamaan. 769 00:48:16,080 --> 00:48:25,910 PHP adalah salah satu yang semua orang telah menggunakan selama bertahun-tahun, dan anda tahu bagaimana ia berfungsi. 770 00:48:25,910 --> 00:48:28,460 Ruby dan Python adalah sedikit kurang matang. 771 00:48:28,460 --> 00:48:33,130 >> [Ahli penonton] Sekiranya anda memilih antara salah seorang daripada mereka untuk belajar atau mengambil, 772 00:48:33,130 --> 00:48:36,130 yang anda lebih suka? 773 00:48:36,130 --> 00:48:38,870 Secara jujur, saya rasa yang bergantung pada orang itu. 774 00:48:38,870 --> 00:48:45,450 Saya minta maaf. Soalan itu yang anda akan memilih seseorang untuk belajar? 775 00:48:45,450 --> 00:48:50,230 Saya dapati Python yang paling baik secara peribadi. 776 00:48:50,230 --> 00:48:55,360 Terdapat ramai orang yang - yang saya lakukan projek dev web saya pertama di Python dan Django. 777 00:48:55,360 --> 00:49:00,300 Terdapat ramai orang yang suka Ruby on Rails juga. 778 00:49:00,300 --> 00:49:02,650 Mungkin ramai orang yang tahu Ruby on Rails. 779 00:49:02,650 --> 00:49:05,270 Secara jujur, saya hanya akan pergi dengan apa sahaja yang orang di sekeliling anda tahu 780 00:49:05,270 --> 00:49:09,680 supaya anda mempunyai orang untuk bertanya soalan. 781 00:49:19,640 --> 00:49:24,170 >> Persoalannya ialah - pada pelayan dikongsi adalah ia jenis sukar untuk bekerja pada Python? 782 00:49:24,170 --> 00:49:26,170 Itu bergantung kepada hosting anda. 783 00:49:26,170 --> 00:49:29,400 Terdapat beberapa semesta alam web yang akan menyiarkan barangan Python. 784 00:49:29,400 --> 00:49:31,400 WebFaction tidak itu, kan? 785 00:49:31,400 --> 00:49:34,400 WebFaction adalah salah satu yang Billy dan saya telah digunakan untuk beberapa projek. 786 00:49:34,400 --> 00:49:37,750 Mereka benar-benar hebat. Mereka menyokong kebanyakan bahasa. 787 00:49:37,750 --> 00:49:40,020 Tetapi ia benar bahawa PHP adalah lebih meluas disokong. 788 00:49:40,020 --> 00:49:45,210 Jadi, jika anda terjebak pada tuan rumah web yang sahaja PHP, itu adalah satu alasan yang baik untuk menggunakan PHP. 789 00:49:45,210 --> 00:49:56,010 >> [Ahli penonton] Saya hanya mendapat ke dalam belajar bagaimana untuk query beberapa pangkalan data, 790 00:49:56,010 --> 00:50:00,680 dan saya tahu SQL saya adalah di seluruh tempat, tetapi saya baru-baru ini mendapat terdedah kepada - 791 00:50:00,680 --> 00:50:04,470 dan anda menunjuk keluar. Anda lihat JSON dan pangkalan data diperkembangkan. 792 00:50:04,470 --> 00:50:14,580 SQL saya masih di seluruh tempat. Bagaimana anda melihat berlaku itu? 793 00:50:14,580 --> 00:50:21,330 Adakah terdapat akan menjadi kecenderungan yang semakin meningkat untuk lebih diperkembangkan (didengar)? 794 00:50:21,330 --> 00:50:30,100 Persoalannya ialah - saya fikir ada akan menjadi satu trend ke arah pangkalan data bukan SQL. 795 00:50:30,100 --> 00:50:33,850 Sebagai contoh, seperti MongoDB. Saya rasa itu adalah pasti benar. 796 00:50:33,850 --> 00:50:38,730 Nasihat saya kebanyakannya mySQL berkaitan di sini hanya kerana mySQL adalah 797 00:50:38,730 --> 00:50:40,950 piawaian industri. 798 00:50:40,950 --> 00:50:45,950 Secara peribadi, saya lebih memilih pangkalan data yang tidak mempunyai schemos seperti MongoDB 799 00:50:45,950 --> 00:50:49,520 di mana anda tidak mempunyai isu, oh, saya perlu menambah ruangan lain. 800 00:50:49,520 --> 00:50:51,600 Celakalah adalah saya, seperti apa yang saya lakukan? 801 00:50:51,600 --> 00:50:55,840 Ia amat sukar untuk berbuat demikian pada mySQL, tetapi apabila anda mempunyai sesuatu seperti Mongo 802 00:50:55,840 --> 00:50:57,840 ia lebih bagus. 803 00:50:57,840 --> 00:51:03,780 Perkara yang bagus lain tentang Mongo ialah rekod anda sebenarnya objek JavaScript. 804 00:51:03,780 --> 00:51:10,110 Tidak ada jenis langkah penukaran yang anda perlu mengambil ini baris pangkalan data 805 00:51:10,110 --> 00:51:13,140 dan menjadikan mereka objek JavaScript dan kemudian menghantar mereka dawai. 806 00:51:13,140 --> 00:51:20,290 Saya rasa barangan seperti itu akan menjadi sangat, sangat berguna untuk pembangunan web pesat pada masa hadapan. 807 00:51:20,290 --> 00:51:23,060 >> [Billy] Sesuatu yang saya akan menambah yang hanya satu titik umum adalah bahawa 808 00:51:23,060 --> 00:51:26,580 tidak merasa seperti anda seharusnya belajar semua bahasa yang kita telah dibincangkan 809 00:51:26,580 --> 00:51:28,580 daripada seminar kami. 810 00:51:28,580 --> 00:51:30,560 Jelas sekali persoalannya adalah untuk memberi anda idea tentang apa yang di luar sana, 811 00:51:30,560 --> 00:51:33,450 dan jika anda berminat dengan mana-mana perkara yang kita telah disebut anda boleh Google mereka 812 00:51:33,450 --> 00:51:35,830 dan membaca sehingga ke atas mereka. 813 00:51:35,830 --> 00:51:38,750 Dan seperti yang saya katakan, terdapat beberapa seminar yang berurusan dengan tepat perkara-perkara ini. 814 00:51:38,750 --> 00:51:41,660 Terdapat juga lebih banyak seminar yang saya telah tidak disebut yang mungkin masuk ke dalam 815 00:51:41,660 --> 00:51:43,660 barangan ini juga. 816 00:51:43,660 --> 00:51:46,610 Idea ini adalah bahawa jika anda mahu bekerja pada sesuatu, di sini adalah alat di pelupusan anda. 817 00:51:46,610 --> 00:51:51,630 Jangan berasa terharu jika anda tidak benar-benar pasti apa yang alat ini betul-betul, 818 00:51:51,630 --> 00:51:54,830 tetapi tahu bahawa mereka di luar sana dan anda boleh menggunakan pelbagai mereka 819 00:51:54,830 --> 00:51:56,830 oleh Google. 820 00:51:56,830 --> 00:51:59,960 >> [Ahli penonton] Apakah jenis perkara yang anda perlu lakukan untuk memastikan laman web anda 821 00:51:59,960 --> 00:52:02,530 kelihatan baik pada peranti mudah alih? 822 00:52:02,530 --> 00:52:05,590 [Billy] Peranti mudah alih adalah sedikit keras. 823 00:52:05,590 --> 00:52:07,590 Ada 2 cara anda boleh pendekatan itu. 824 00:52:07,590 --> 00:52:11,500 Cara pertama adalah bahawa anda sebenarnya mempunyai laman web mudah alih. 825 00:52:11,500 --> 00:52:14,660 Dalam erti kata lain, anda melakukan beberapa jenis pengesanan pada awal 826 00:52:14,660 --> 00:52:18,830 apabila pelayar membuat permintaan itu ke laman web anda yang sama ada kata 827 00:52:18,830 --> 00:52:25,240 kembali pandangan ini - yang akan menjadi pandangan untuk desktop atau komputer riba pelayar - 828 00:52:25,240 --> 00:52:27,710 dan pandangan ini lain untuk peranti mudah alih. 829 00:52:27,710 --> 00:52:33,090 Itulah tempat di mana pandangan yang benar-benar baik dalam yang anda boleh cukup banyak swap 830 00:52:33,090 --> 00:52:37,580 dua dan mempunyai antara muka yang benar-benar kerja-kerja baik pada peranti mudah alih 831 00:52:37,580 --> 00:52:40,770 dan ada yang sama sekali berbeza yang bekerja dengan baik pada peranti penyemak imbas. 832 00:52:40,770 --> 00:52:43,770 Masalah dengan yang ia mengambil masa yang panjang kerana ia bermakna pengekodan 833 00:52:43,770 --> 00:52:47,060 antara muka yang sama sekali berbeza. 834 00:52:47,060 --> 00:52:49,720 Cara lain yang boleh anda lakukan adalah - 835 00:52:49,720 --> 00:52:55,250 banyak telefon moden akan memaparkan laman web dan cuba untuk menjadikan mereka sebagai pelayar akan, 836 00:52:55,250 --> 00:52:57,680 dan mereka melakukan yang terbaik. 837 00:52:57,680 --> 00:53:04,340 Anda boleh jenis cuba untuk kekal cahaya kepada jumlah jQuery JavaScript anda menggunakan 838 00:53:04,340 --> 00:53:07,360 yang cenderung untuk menjadi di mana kesilapan boleh berlaku sedikit. 839 00:53:07,360 --> 00:53:13,430 Ini adalah jenis cara yang perlu anda gunakan jika anda tidak mempunyai banyak masa. 840 00:53:13,430 --> 00:53:18,540 Jika anda mempunyai masa untuk bekerja pada antara muka mudah alih, itu jelas pilihan terbaik anda. 841 00:53:18,540 --> 00:53:23,320 >> Saya rasa secara amnya bagi projek CS50, anda akan mahu untuk memilih satu atau yang lain. 842 00:53:23,320 --> 00:53:27,990 Dalam erti kata lain, anda mahu untuk membuat aplikasi mudah alih atau anda mahu untuk membuat laman web desktop. 843 00:53:27,990 --> 00:53:32,200 Dan yang jenis menentukan di mana anda pergi dengan itu. 844 00:53:32,200 --> 00:53:35,360 Tetapi jika anda mahu mengembangkan ia keluar kemudian, mungkin taruhan terbaik adalah 845 00:53:35,360 --> 00:53:37,360 untuk membuat satu lagi antara muka untuk yang lain. 846 00:53:51,650 --> 00:53:56,340 Saya mempunyai sedikit pengalaman dalam membangunkan laman web berasaskan WordPress. 847 00:53:56,340 --> 00:53:58,670 Saya menjadi tuan rumah laman web peribadi di WordPress seketika. 848 00:53:58,670 --> 00:54:02,310 Orang-orang jenis rangka kerja boleh baik perkara hanya sebagai sangat asas. 849 00:54:02,310 --> 00:54:07,050 Sering kali anda hanya akan menghadapi banyak isu-isu customizability walaupun. 850 00:54:07,050 --> 00:54:10,940 Anda akan mahu mempunyai sesuatu yang melihat cara yang tertentu atau cara tertentu 851 00:54:10,940 --> 00:54:14,510 dan anda tidak boleh kerana ia berwayar ke dalam sistem yang 852 00:54:14,510 --> 00:54:17,480 ini adalah bagaimana anda perlu melakukan perkara-perkara yang boleh menjadi sedikit masalah. 853 00:54:17,480 --> 00:54:22,020 Sejak peristiwa itu saya jenis menjadi lebih cenderung untuk bekerja dengan laman web dari bawah ke atas. 854 00:54:22,020 --> 00:54:26,840 Untuk perkara-perkara seperti pangkalan data blog dan perkara seperti itu benar-benar tidak sukar untuk membina satu rangka kerja. 855 00:54:26,840 --> 00:54:29,970 Jika anda benar-benar diregangkan untuk masa, anda sudah tentu boleh menggunakan sesuatu seperti WordPress 856 00:54:29,970 --> 00:54:33,120 atau perkara-perkara untuk blog. 857 00:54:33,120 --> 00:54:38,790 Jenis perkara yang kedai blog dan melakukan tidak benar-benar cukup keras yang 858 00:54:38,790 --> 00:54:41,500 jika anda menjalankan ke dalam mana-mana jenis perkara, anda mungkin terbaik hanya untuk 859 00:54:41,500 --> 00:54:43,500 membuat versi di-rumah. 860 00:54:43,500 --> 00:54:48,350 >> Saya rasa itu kira-kira, jadi terima kasih sekali lagi untuk yang akan datang. 861 00:54:48,350 --> 00:54:51,960 Kami benar-benar seronok bercakap dengan anda semua dan berharap anda belajar beberapa barangan. 862 00:54:51,960 --> 00:54:55,350 [Ben] Kami gembira untuk bercakap - kita perlu pergi tetapi kami gembira untuk bercakap lebih luar 863 00:54:55,350 --> 00:55:01,650 jika anda mempunyai soalan lain. Terima kasih sekali lagi. [Tepukan] 864 00:55:03,750 --> 00:55:06,000 [CS50.TV]