1 00:00:00,000 --> 00:00:01,291 >> DAVID J. Malan: Vì vậy, chúng tôi đã trở lại. 2 00:00:01,291 --> 00:00:03,050 Vì vậy, các cấp cao chủ đề tại thời điểm hiện nay 3 00:00:03,050 --> 00:00:06,440 là ngăn xếp công nghệ, mà không phải là một thuật ngữ đặc biệt là kỹ thuật, 4 00:00:06,440 --> 00:00:09,960 nó nhiều hơn một nắm bắt tất cả cho bất kỳ số kết hợp của công nghệ 5 00:00:09,960 --> 00:00:11,840 mà bạn có thể sử dụng để giải quyết vấn đề. 6 00:00:11,840 --> 00:00:14,850 Và có lẽ nhiều nhất cách phù hợp để bắt đầu 7 00:00:14,850 --> 00:00:18,110 sẽ được xem xét ở ngôn ngữ từ Tôi cứ tuôn ra cả một bó 8 00:00:18,110 --> 00:00:21,000 và hầu hết mọi người trong phòng có có thể nghe nói ít nhất một. 9 00:00:21,000 --> 00:00:25,730 >> Và như vậy tại sao chúng ta không thử để phân biệt what-- phân biệt các thứ tiếng 10 00:00:25,730 --> 00:00:28,932 và nói ngắn gọn về khi bạn sẽ chọn một trong khác, làm thế nào họ 11 00:00:28,932 --> 00:00:30,890 loại cơ bản khác nhau, và đặc biệt là 12 00:00:30,890 --> 00:00:34,830 khi bạn đang trò chuyện với các kỹ sư, hoặc cố gắng để quyết định ai thuê, 13 00:00:34,830 --> 00:00:37,652 hoặc những gì thực hiện đề nghị để Greenlight, 14 00:00:37,652 --> 00:00:39,860 làm thế nào bạn thực sự sẽ làm những loại quyết định. 15 00:00:39,860 --> 00:00:41,890 >> Vì vậy, chúng ta hãy chỉ rattle một số vật tắt. 16 00:00:41,890 --> 00:00:45,300 Trong ngôn ngữ người có nghe nói về, những gì đến với tâm? 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 đó là những gì? 21 00:00:51,990 --> 00:00:52,390 >> Đung Python. 22 00:00:52,390 --> 00:00:53,348 >> DAVID J. Malan: Python. 23 00:00:53,348 --> 00:00:55,330 Xuất sắc. 24 00:00:55,330 --> 00:00:57,000 Những gì người khác? 25 00:00:57,000 --> 00:00:58,810 Ngôn ngữ lập trình. 26 00:00:58,810 --> 00:01:01,100 Tôi nghe nói Java. 27 00:01:01,100 --> 00:01:02,610 Hình ảnh Basic-- a.k.a. 28 00:01:02,610 --> 00:01:03,150 VB. 29 00:01:03,150 --> 00:01:03,650 Java. 30 00:01:03,650 --> 00:01:07,294 31 00:01:07,294 --> 00:01:12,810 NET, mà là nhiều hơn một nắm bắt tất cả Đối với những gì thường là C # là ngôn ngữ 32 00:01:12,810 --> 00:01:13,770 trong câu hỏi. 33 00:01:13,770 --> 00:01:14,770 Và hãy để tôi đề cập đến đó. 34 00:01:14,770 --> 00:01:15,900 Vì vậy, chúng tôi sẽ quay trở lại đó. 35 00:01:15,900 --> 00:01:17,560 Tôi xin lôi? 36 00:01:17,560 --> 00:01:18,170 Lấy làm tiếc? 37 00:01:18,170 --> 00:01:19,877 >> Đung SQL. 38 00:01:19,877 --> 00:01:20,876 DAVID J. Malan: Scratch? 39 00:01:20,876 --> 00:01:21,610 Đung SQL. 40 00:01:21,610 --> 00:01:22,610 DAVID J. Malan: Oh, SQL. 41 00:01:22,610 --> 00:01:23,110 ĐƯỢC. 42 00:01:23,110 --> 00:01:23,750 SQL. 43 00:01:23,750 --> 00:01:29,510 Vì vậy, chúng tôi sẽ quay trở lại để mà-- thực sự, nó good-- sau giờ nghỉ là tốt. 44 00:01:29,510 --> 00:01:30,572 Những gì người khác? 45 00:01:30,572 --> 00:01:32,530 >> Đung Oracle. 46 00:01:32,530 --> 00:01:34,670 >> DAVID J. Malan: Vậy Oracle, không phải là một ngôn ngữ. 47 00:01:34,670 --> 00:01:36,560 Trên thực tế họ sẽ sử dụng SQL là tốt. 48 00:01:36,560 --> 00:01:38,360 Vì vậy, chúng ta hãy đặt sau giờ nghỉ là tốt. 49 00:01:38,360 --> 00:01:39,744 Và xin lỗi, một cái gì đó ở đây? 50 00:01:39,744 --> 00:01:40,660 Đung Mathematica. 51 00:01:40,660 --> 00:01:41,390 DAVID J. Malan: Mathematica? 52 00:01:41,390 --> 00:01:42,303 OK chắc chắn. 53 00:01:42,303 --> 00:01:46,150 54 00:01:46,150 --> 00:01:49,180 Và MATLAB là loại trên đó đôi khi. 55 00:01:49,180 --> 00:01:50,060 >> Đung R. 56 00:01:50,060 --> 00:01:51,755 >> DAVID J. Malan: R. Hãy đi qua đây. 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 Chắc chắn rồi. 60 00:01:55,880 --> 00:01:57,910 trường cũ. 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 Tôi sẽ quăng ra BASIC. 64 00:02:02,410 --> 00:02:05,990 65 00:02:05,990 --> 00:02:08,539 CĂN BẢN. 66 00:02:08,539 --> 00:02:09,390 Bất kì-- 67 00:02:09,390 --> 00:02:10,352 >> Đung MATLAB? 68 00:02:10,352 --> 00:02:11,310 DAVID J. Malan: MATLAB. 69 00:02:11,310 --> 00:02:12,248 Oh, đánh bạn với nó. 70 00:02:12,248 --> 00:02:15,370 71 00:02:15,370 --> 00:02:15,870 Bất cứ điều gì? 72 00:02:15,870 --> 00:02:18,700 Tôi có thể nghĩ đến một vài người khác. 73 00:02:18,700 --> 00:02:21,876 Tôi có thể nghĩ đến một vài người khác. 74 00:02:21,876 --> 00:02:22,792 Và những gì là người cuối cùng? 75 00:02:22,792 --> 00:02:23,970 >> Đung ASP. 76 00:02:23,970 --> 00:02:25,030 >> DAVID J. Malan: ASP? 77 00:02:25,030 --> 00:02:26,100 Yeah. 78 00:02:26,100 --> 00:02:27,100 trang máy chủ hoạt động. 79 00:02:27,100 --> 00:02:30,270 Điều đó nói chung sẽ giảm xuống dưới các ngôn ngữ khác, đôi khi C #, 80 00:02:30,270 --> 00:02:32,040 vì vậy hãy để lại mà đi. 81 00:02:32,040 --> 00:02:35,510 Nhưng chúng tôi sẽ quay trở lại mà cho các khuôn khổ và như vậy. 82 00:02:35,510 --> 00:02:36,290 Còn gì nữa không? 83 00:02:36,290 --> 00:02:39,020 PHP là phổ biến. 84 00:02:39,020 --> 00:02:41,710 Ruby là một. 85 00:02:41,710 --> 00:02:48,230 JavaScript, không nên nhầm lẫn với Java, là một. 86 00:02:48,230 --> 00:02:49,570 Đó là loại rất nhiều. 87 00:02:49,570 --> 00:02:53,590 >> Vì vậy, nó có thể được chắc chắn áp đảo, như nếu danh sách không phải là đã có, 88 00:02:53,590 --> 00:02:55,650 chỉ để bắt đầu biết nơi bạn bắt đầu. 89 00:02:55,650 --> 00:02:58,130 Và do đó, may mắn thay, chúng ta hãy tiếp cận này từ một vài góc độ. 90 00:02:58,130 --> 00:03:03,520 Đầu tiên, chúng ta hãy cố gắng để phân loại ít nhất là một số trong những ngôn ngữ 91 00:03:03,520 --> 00:03:06,790 vào hai xô rộng, gợi nhớ cuộc trò chuyện, chúng tôi đã có trước giờ nghỉ, 92 00:03:06,790 --> 00:03:09,630 nơi mà chúng tôi đã nói chuyện về việc biên soạn, và mã nguồn, và mã máy, 93 00:03:09,630 --> 00:03:11,440 bởi vì đó không phải là cách tất cả các ngôn ngữ làm việc. 94 00:03:11,440 --> 00:03:15,640 Vì vậy, chúng tôi sẽ nhổ ra một vài ví dụ lượng-- hoặc phản examples-- để mô hình đó. 95 00:03:15,640 --> 00:03:18,490 >> Và sau đó, tại sao chúng ta không nói về các ứng dụng 96 00:03:18,490 --> 00:03:20,390 rằng các thứ tiếng thường được sử dụng cho. 97 00:03:20,390 --> 00:03:22,840 Và thẳng thắn, mặc dù đây là một danh sách khá dài, 98 00:03:22,840 --> 00:03:26,320 nó chỉ là một tập hợp con của danh sách này bạn thường sẽ rút ra từ những ngày 99 00:03:26,320 --> 00:03:27,220 để giải quyết vấn đề. 100 00:03:27,220 --> 00:03:29,150 Một số ngôn ngữ mới hơn những người khác. 101 00:03:29,150 --> 00:03:31,170 Một số ngôn ngữ là phổ biến hơn những người khác. 102 00:03:31,170 --> 00:03:34,370 Vì vậy, nó không giống như bạn có như vậy một nhiệm vụ quá sức trước khi bạn 103 00:03:34,370 --> 00:03:36,970 khi quyết định số những ngôn ngữ khác nhau. 104 00:03:36,970 --> 00:03:40,110 >> Vì vậy, hãy làm điều này. 105 00:03:40,110 --> 00:03:45,870 Chúng tôi đã có trước đó, mã nguồn, và sau đó chúng tôi đã có mã máy. 106 00:03:45,870 --> 00:03:48,590 107 00:03:48,590 --> 00:03:49,400 Lỗi chính. 108 00:03:49,400 --> 00:03:50,910 Viết từ sai. 109 00:03:50,910 --> 00:03:52,740 mã máy. 110 00:03:52,740 --> 00:03:57,549 Và chúng tôi đã có một số quá trình trong trung called-- yeah, trình biên dịch. 111 00:03:57,549 --> 00:03:58,215 Vì vậy, các trình biên dịch. 112 00:03:58,215 --> 00:04:00,760 113 00:04:00,760 --> 00:04:03,910 >> Và những gì các mã máy thực sự chạy trên cuối cùng 114 00:04:03,910 --> 00:04:05,680 sẽ được CPU thực tế của bạn. 115 00:04:05,680 --> 00:04:09,660 Nói cách khác, bằng mã máy, tôi có nghĩa là các hướng dẫn mức thấp nhất 116 00:04:09,660 --> 00:04:11,330 rằng một CPU thực sự hiểu. 117 00:04:11,330 --> 00:04:15,100 Cộng, trừ, di chuyển, tiết kiệm, và hoạt động như thế. 118 00:04:15,100 --> 00:04:19,700 Và do đó, đây là mô hình cho những gì thường được gọi là ngôn ngữ biên dịch. 119 00:04:19,700 --> 00:04:21,000 Có lẽ không đáng ngạc nhiên. 120 00:04:21,000 --> 00:04:23,550 >> Vì vậy, đây là mô hình cho ngôn ngữ biên dịch. 121 00:04:23,550 --> 00:04:25,970 Nhưng hóa ra có của một lớp học của ngôn ngữ 122 00:04:25,970 --> 00:04:32,650 gọi là giải languages-- giải thích languages-- 123 00:04:32,650 --> 00:04:34,030 đó là hơi khác nhau. 124 00:04:34,030 --> 00:04:41,660 Bạn viết trong mã nguồn, chạy chúng thông qua một thông dịch viên, 125 00:04:41,660 --> 00:04:45,440 và thông dịch đó là những gì chạy trên CPU. 126 00:04:45,440 --> 00:04:50,120 Nói cách khác, những gì bạn làm không sinh ra các là gì, rõ ràng? 127 00:04:50,120 --> 00:04:50,980 mã máy. 128 00:04:50,980 --> 00:04:54,290 Các số không và những người thân mà CPU bản thân cuối cùng hiểu. 129 00:04:54,290 --> 00:04:59,780 >> Vì vậy, trong phiên bản đầu tiên này và các ngôn ngữ như C, như chúng ta đã thấy, 130 00:04:59,780 --> 00:05:02,040 bạn viết trong mã nguồn đó là một phức tạp chút, 131 00:05:02,040 --> 00:05:05,300 nhưng ít nhất nó là loại tiếng Anh giống như và nó ít nhất có thể đọc được 132 00:05:05,300 --> 00:05:06,780 một khi bạn đã quen với nó. 133 00:05:06,780 --> 00:05:10,100 Bạn chạy nó thông qua một trình biên dịch và ra bạn nhận được, cuối cùng, số không và những người thân. 134 00:05:10,100 --> 00:05:11,340 >> Đó là một sự đơn giản hóa. 135 00:05:11,340 --> 00:05:12,839 Có một số bước khác trong đó. 136 00:05:12,839 --> 00:05:15,530 Trong thực tế, nếu bạn đã từng nghe nói thuật ngữ "ngôn ngữ lắp ráp," 137 00:05:15,530 --> 00:05:17,990 đó là một bước trước khi các số không và những người thân. 138 00:05:17,990 --> 00:05:20,949 Đó là một chút dễ đọc hơn, nhưng vẫn còn khá phức tạp. 139 00:05:20,949 --> 00:05:23,740 Và do đó, có các bước trung gian được, trên thực tế, xảy ra ở đây. 140 00:05:23,740 --> 00:05:26,360 Nhưng đầu ra, cuối cùng, là những số không và những người thân. 141 00:05:26,360 --> 00:05:28,990 >> Nhưng trong các giải thế giới, nơi bạn có 142 00:05:28,990 --> 00:05:32,680 ngôn ngữ được giải thích ngôn ngữ, bạn thực sự bỏ qua bước này. 143 00:05:32,680 --> 00:05:36,010 Nói cách khác, khi bạn viết một chương trình, bạn chỉ cần ngay lập tức chạy nó. 144 00:05:36,010 --> 00:05:38,960 Bạn không biên dịch nó và sau đó chạy nó, như tôi đã làm trước đây. 145 00:05:38,960 --> 00:05:41,132 Bạn chỉ cần viết nó và chạy nó. 146 00:05:41,132 --> 00:05:44,340 Và nếu bạn muốn thực hiện một sự thay đổi nhanh chóng, bạn thực hiện một sự thay đổi nhanh chóng và chạy nó. 147 00:05:44,340 --> 00:05:46,640 Vì vậy, không có bước trung ở đây. 148 00:05:46,640 --> 00:05:50,840 >> Bây giờ, đối với các chương trình tôi đã viết trước đó, đó là chương trình này "Hello World", 149 00:05:50,840 --> 00:05:53,660 có lẽ bạn hợp lý wonder-- hoặc có thể hợp lý 150 00:05:53,660 --> 00:05:58,570 state-- đó không phải là thời điểm đó tiêu thụ để biên dịch chương trình của tôi. 151 00:05:58,570 --> 00:06:00,337 Nó dường như đã thực hiện nó như thế. 152 00:06:00,337 --> 00:06:02,170 Và có đồ họa các phiên bản của trình biên dịch. 153 00:06:02,170 --> 00:06:05,270 Tôi đang sử dụng một phiên bản rất phức tạp, nhưng bạn có thể nhấn một nút play 154 00:06:05,270 --> 00:06:07,887 và đó thực sự sẽ làm các biên dịch cho bạn. 155 00:06:07,887 --> 00:06:10,720 Tôi đã biên soạn chương trình và sau đó một lần nữa, để chạy nó, tôi chỉ làm điều này. 156 00:06:10,720 --> 00:06:13,820 Và nó ra ở bên trái đó, "Xin chào!" 157 00:06:13,820 --> 00:06:15,530 Điều đó dường như không phải tất cả những lựa chọn hợp lý. 158 00:06:15,530 --> 00:06:19,920 Nhưng khi chương trình của bạn là nhiều hơn chỉ là một, hai, ba, 159 00:06:19,920 --> 00:06:25,470 dài bốn, năm dòng, nó có thể mất nhiều giây để biên dịch. 160 00:06:25,470 --> 00:06:28,310 Đôi khi ngay phút hoặc khá một chút thời gian để biên dịch. 161 00:06:28,310 --> 00:06:30,480 Sau khi tất cả, một số các sản phẩm lớn nhất thế giới 162 00:06:30,480 --> 00:06:35,040 là những thứ như hệ điều hành, Microsoft Word, Microsoft Excel, 163 00:06:35,040 --> 00:06:39,070 mà có thể là hàng trăm ngàn hoặc thậm chí hàng triệu dòng mã dài, 164 00:06:39,070 --> 00:06:41,300 và những người không chỉ lập tức thi hành. 165 00:06:41,300 --> 00:06:44,560 >> Hơn nữa, trên web, nó trở thành thời trang sử dụng 166 00:06:44,560 --> 00:06:47,600 ngôn ngữ đơn giản giải thích, một phần vì bạn 167 00:06:47,600 --> 00:06:50,570 có thể làm cho một sự thay đổi như các nhà phát triển và sau đó chỉ cần ngay lập tức tải lại 168 00:06:50,570 --> 00:06:52,570 trang trình duyệt và thấy ngay kết quả. 169 00:06:52,570 --> 00:06:56,160 Và do đó, HTML, trong khi không một ngôn ngữ lập trình, 170 00:06:56,160 --> 00:06:58,860 là một ngôn ngữ này được hiểu. 171 00:06:58,860 --> 00:07:00,770 Và chúng ta đã thấy rằng tác dụng tương tự ngày hôm qua. 172 00:07:00,770 --> 00:07:04,070 Bạn chỉ cần tải lại trang sau khi làm một sự thay đổi trong Cloud9 và- voila-- 173 00:07:04,070 --> 00:07:05,560 bạn nhìn thấy một kết quả mới. 174 00:07:05,560 --> 00:07:07,090 >> Vì vậy, sự khác biệt ở đây là gì? 175 00:07:07,090 --> 00:07:13,190 Trong HTML, thu hồi, chúng tôi đã có HTML mở, đầu mở, tiêu đề mở, danh hiệu gần gũi, 176 00:07:13,190 --> 00:07:15,250 đầu gần, mở cơ thể, và vv. 177 00:07:15,250 --> 00:07:19,149 Chúng tôi đã có tất cả những thẻ mà chúng ta khá nói nhiều, nói cho trình duyệt biết phải làm gì. 178 00:07:19,149 --> 00:07:20,690 Hey trình duyệt, ở đây có một trang HTML. 179 00:07:20,690 --> 00:07:22,170 Hey trình duyệt, ở đây có tiêu đề. 180 00:07:22,170 --> 00:07:24,429 Hey trình duyệt, ở đây có một số văn bản cần được in đậm. 181 00:07:24,429 --> 00:07:25,720 Và sau đó bạn nói điều ngược lại. 182 00:07:25,720 --> 00:07:27,330 Hey trình duyệt, đó là nó cho văn bản in đậm. 183 00:07:27,330 --> 00:07:28,830 Hey trình duyệt, đó là nó cho cơ thể. 184 00:07:28,830 --> 00:07:29,740 Và kể từ đó trở đi. 185 00:07:29,740 --> 00:07:31,130 >> Và do đó, một trình duyệt là gì? 186 00:07:31,130 --> 00:07:33,170 Một trình duyệt chỉ là một thông dịch viên. 187 00:07:33,170 --> 00:07:36,090 Nó là một chương trình mà một người như Microsoft hay Google, đã viết, 188 00:07:36,090 --> 00:07:39,160 mục đích mà trong cuộc sống là để đọc một ngôn ngữ, được biết đến như HTML, 189 00:07:39,160 --> 00:07:39,890 và giải thích nó. 190 00:07:39,890 --> 00:07:41,290 Trên xuống dưới, từ trái sang phải. 191 00:07:41,290 --> 00:07:46,880 Và bất cứ khi nào trình duyệt thấy mở khung, tiêu đề, dấu đóng ngoặc, 192 00:07:46,880 --> 00:07:48,960 cần giải thích điều đó như ý nghĩa, oh, mà 193 00:07:48,960 --> 00:07:52,490 có nghĩa là tôi nên đặt những lời đường lên đây ở trên cùng của trình duyệt. 194 00:07:52,490 --> 00:07:55,700 >> Vì vậy, nó chỉ làm những gì các mã HTML cho biết. 195 00:07:55,700 --> 00:07:57,240 Nhưng không có số không và những người thân. 196 00:07:57,240 --> 00:07:58,250 Không có biên dịch. 197 00:07:58,250 --> 00:07:58,890 Bạn đã không làm điều đó. 198 00:07:58,890 --> 00:07:59,931 Trình duyệt không làm điều đó. 199 00:07:59,931 --> 00:08:01,710 Nó chỉ là không liên quan. 200 00:08:01,710 --> 00:08:05,890 >> Vì vậy, trong tinh thần của các liên tục chủ đề, hôm nay và ngày hôm qua, 201 00:08:05,890 --> 00:08:08,400 mà có vẻ là một tính năng tuyệt vời. 202 00:08:08,400 --> 00:08:11,410 Bạn tiết kiệm mã của bạn và sau đó chỉ cần chạy nó hoặc giải thích nó. 203 00:08:11,410 --> 00:08:13,790 Không có bước trung gian. 204 00:08:13,790 --> 00:08:15,690 Chắc chắn có một chi phí? 205 00:08:15,690 --> 00:08:16,810 Không thể được tất cả các mặt tích cực. 206 00:08:16,810 --> 00:08:19,964 Vì vậy, những gì có thể chi phí đó được? 207 00:08:19,964 --> 00:08:20,940 >> Đung Space. 208 00:08:20,940 --> 00:08:22,370 >> DAVID J. Malan: Space. 209 00:08:22,370 --> 00:08:23,370 Chắc chắn. 210 00:08:23,370 --> 00:08:26,920 Trong thế giới biên soạn, bạn có không chỉ mã nguồn gốc, 211 00:08:26,920 --> 00:08:29,657 bạn cũng đang tạo ra và sau đó lưu có lẽ 212 00:08:29,657 --> 00:08:31,740 máy code-- sự số không và ones-- và đó là 213 00:08:31,740 --> 00:08:33,870 đã để mất một số lượng không gian. 214 00:08:33,870 --> 00:08:34,429 Chắc chắn rồi. 215 00:08:34,429 --> 00:08:35,765 Vì vậy, nó chi phí cho bạn nhiều không gian hơn. 216 00:08:35,765 --> 00:08:39,289 217 00:08:39,289 --> 00:08:39,789 Yeah? 218 00:08:39,789 --> 00:08:43,280 >> Đung trình duyệt có thể giải thích khác nhau. 219 00:08:43,280 --> 00:08:46,770 >> DAVID J. Malan: trình duyệt có thể giải thích nó một cách khác nhau. 220 00:08:46,770 --> 00:08:48,622 Điều đó đúng. 221 00:08:48,622 --> 00:08:50,330 Nhưng tôi không chắc chắn tôi thoải mái tuyên bố 222 00:08:50,330 --> 00:08:51,840 đó là bởi vì nó giải thích. 223 00:08:51,840 --> 00:08:56,340 Đó chỉ là nhiều hơn bởi vì nó một thực hiện của một ngôn ngữ 224 00:08:56,340 --> 00:08:58,050 mà chính nó có sự mơ hồ. 225 00:08:58,050 --> 00:09:01,570 Vì vậy, chúng ta không hoàn toàn xác nhận mà một, nhưng linh cảm tốt. 226 00:09:01,570 --> 00:09:03,103 Những gì người khác có thể được giá thanh toán? 227 00:09:03,103 --> 00:09:03,602 Andrew? 228 00:09:03,602 --> 00:09:05,912 >> Đung Bạn đang kết hợp hai bước, vì vậy bạn do đó 229 00:09:05,912 --> 00:09:08,300 có ngày càng phức tạp là tốt. 230 00:09:08,300 --> 00:09:11,040 >> DAVID J. Malan: Các complex-- sự gia tăng phức tạp đâu? 231 00:09:11,040 --> 00:09:12,270 Đối với ai? 232 00:09:12,270 --> 00:09:16,748 >> Đung Vì vậy, trong các phiên dịch viên bước, bạn đang kết hợp các thông dịch viên 233 00:09:16,748 --> 00:09:19,120 và trình biên dịch chỉ dẫn đối với: 234 00:09:19,120 --> 00:09:21,100 >> DAVID J. Malan: Ah, OK. 235 00:09:21,100 --> 00:09:25,240 Trớ trêu thay, nó có thể là một chút đơn giản để thực hiện các dịch viên, 236 00:09:25,240 --> 00:09:29,530 mặc dù nó có vẻ mặt tích cực năng suất của sự tiện lợi này. 237 00:09:29,530 --> 00:09:30,550 Vì vậy, có thể đúng. 238 00:09:30,550 --> 00:09:32,716 Nhưng nó loại phụ thuộc, tôi có thể nói, về ngôn ngữ 239 00:09:32,716 --> 00:09:35,720 và làm thế nào họ đã đi về việc thực hiện nó. 240 00:09:35,720 --> 00:09:38,535 Có thể có rất nhiều chi tiết phức tạp, trên thực tế, trong các trình biên dịch, 241 00:09:38,535 --> 00:09:41,410 chỉ vì bạn phải đi từ Cao cấp một cái gì đó để cho một cái gì đó 242 00:09:41,410 --> 00:09:42,560 nên ở mức độ thấp. 243 00:09:42,560 --> 00:09:45,340 Nhưng một ý nghĩ tốt. 244 00:09:45,340 --> 00:09:50,770 >> Vì vậy, nói một cách khác, một chương trình biên dịch, khi biến thành những số không và những người thân, 245 00:09:50,770 --> 00:09:54,470 kết thúc trong ngôn ngữ mà CPU nói, 246 00:09:54,470 --> 00:09:57,850 trong khi đó ở phía bên này của thế giới, các chương trình mà bạn đã viết, 247 00:09:57,850 --> 00:10:02,527 mã bạn đã viết, không bao giờ thực sự được chuyển đổi thành ngôn ngữ thực tế 248 00:10:02,527 --> 00:10:03,360 máy tính nói. 249 00:10:03,360 --> 00:10:04,190 Các số không và những người thân. 250 00:10:04,190 --> 00:10:08,480 Nó sẽ nằm trong bản gốc, nhân bản hơn thân thiện, ngôn ngữ dễ đọc hơn. 251 00:10:08,480 --> 00:10:11,720 Vì vậy, những gì có thể hàm ý ở đó, nếu bạn không thực sự 252 00:10:11,720 --> 00:10:15,020 bận tâm của bạn chuyển đổi Chương trình với ngôn ngữ rất 253 00:10:15,020 --> 00:10:18,013 rằng các máy tính cơ bản nói? 254 00:10:18,013 --> 00:10:19,780 >> Đung Might không hiểu điều gì đó? 255 00:10:19,780 --> 00:10:21,170 >> DAVID J. Malan: Might không hiểu điều gì đó. 256 00:10:21,170 --> 00:10:23,297 Và đó có thể claim-- nếu nó đã không hiểu 257 00:10:23,297 --> 00:10:25,880 một cái gì đó, đó là một lỗi hoặc thiếu các tính năng trong phiên dịch. 258 00:10:25,880 --> 00:10:28,544 Vì vậy mà có được nhiều hơn một sai lầm hơn chi phí. 259 00:10:28,544 --> 00:10:30,419 >> Đung Bạn có thể truy cập vào mã nguồn? 260 00:10:30,419 --> 00:10:31,877 DAVID J. Malan: Có một tốt nhất. 261 00:10:31,877 --> 00:10:34,140 Vì vậy, một nhược điểm ở đây là bạn dường như có quyền truy cập. 262 00:10:34,140 --> 00:10:37,006 Bạn, người dùng cuối, dường như có quyền truy cập vào mã nguồn. 263 00:10:37,006 --> 00:10:38,130 Và đó không phải luôn luôn đúng. 264 00:10:38,130 --> 00:10:39,660 Nhưng đó là sự thật trong trường hợp của JavaScript, 265 00:10:39,660 --> 00:10:41,660 mà chúng ta sẽ xem xét sau nghỉ ngày hôm nay, mà 266 00:10:41,660 --> 00:10:45,720 là một ngôn ngữ lập trình thông dịch mà bạn viết trong mã nguồn. 267 00:10:45,720 --> 00:10:48,890 >> Nhưng mà mã nguồn được chuyển giao từ máy chủ của bạn để trình duyệt 268 00:10:48,890 --> 00:10:51,392 và chạy trong trình duyệt của con người. 269 00:10:51,392 --> 00:10:54,350 Vì vậy, ở đây cô chỉ có thể mở cửa sổ, giống như tôi đã làm trong Chrome, 270 00:10:54,350 --> 00:10:57,740 và nhìn vào nó, như chúng mình liếc nhìn ngày hôm qua với Google. 271 00:10:57,740 --> 00:11:00,420 Nó có thể nhìn một chút không thể hiểu nổi nhưng nó là có. 272 00:11:00,420 --> 00:11:03,482 Vì vậy, điều đó hoàn toàn một giá phải trả. 273 00:11:03,482 --> 00:11:04,565 Đung Performance hit? 274 00:11:04,565 --> 00:11:05,020 DAVID J. Malan: Yeah. 275 00:11:05,020 --> 00:11:06,260 Và đó là Biggie khác. 276 00:11:06,260 --> 00:11:07,380 Có một hiệu suất hit. 277 00:11:07,380 --> 00:11:10,100 Bởi vì bạn có điều này người đàn ông trung niên, mà bản thân nó 278 00:11:10,100 --> 00:11:13,740 là một chương trình, giữa bạn và CPU, như trái ngược 279 00:11:13,740 --> 00:11:17,880 để chỉ cho ăn những liệu số không và những người thân vào CPU, 280 00:11:17,880 --> 00:11:21,060 có một màn trình diễn hit mà bạn mang theo một ngôn ngữ giải thích. 281 00:11:21,060 --> 00:11:24,240 Như vậy mà, tùy tiện, một chương trình mà có thể mất một giây 282 00:11:24,240 --> 00:11:27,840 để chạy trên một máy tính hoặc một phút để chạy trên một máy tính ở đây, 283 00:11:27,840 --> 00:11:32,059 có thể mất 10 giây hoặc 10 phút để chạy trên một máy tính ở đây. 284 00:11:32,059 --> 00:11:35,100 Nó thường sẽ không thể là nhiều của một yếu tố difference-- của 10-- 285 00:11:35,100 --> 00:11:36,808 bởi vì có tối ưu bạn có thể làm. 286 00:11:36,808 --> 00:11:38,680 Nhưng nó gần như luôn luôn chậm hơn. 287 00:11:38,680 --> 00:11:43,070 Bây giờ, bên flip để lo ngại rằng là, cũng máy tính, cứ 12 288 00:11:43,070 --> 00:11:45,970 18 months-- theo định luật Moore, do đó, để speak-- 289 00:11:45,970 --> 00:11:47,600 chỉ nhận được nhanh hơn và nhanh hơn. 290 00:11:47,600 --> 00:11:48,750 Tôi có nhiều và nhiều không gian đĩa. 291 00:11:48,750 --> 00:11:49,791 Tôi có ngày càng nhiều RAM. 292 00:11:49,791 --> 00:11:50,620 Ai quan tâm chứ? 293 00:11:50,620 --> 00:11:52,328 >> Và đó là loại một lập luận hợp lý. 294 00:11:52,328 --> 00:11:55,740 Thực vậy, một trong những lý do tại sao chúng ta có thể chịu đựng được chậm hơn 295 00:11:55,740 --> 00:11:58,480 giải thích ngôn ngữ được vì con người chúng ta không thực sự nhận thấy. 296 00:11:58,480 --> 00:12:00,690 Các máy tính có nhận được chỉ như vậy darn nhanh. 297 00:12:00,690 --> 00:12:04,520 Trong khi đó, trở lại trong ngày, đặc biệt là khi phần cứng đã được nhiều hạn chế hơn, 298 00:12:04,520 --> 00:12:06,860 bạn có ít hơn của tất cả mọi thứ, nó là đắt hơn nhiều 299 00:12:06,860 --> 00:12:10,570 nên mọi chi phí nhiều hơn, cũng sau đó bạn thực sự muốn bóp 300 00:12:10,570 --> 00:12:12,590 nhiều hiệu suất như bạn có thể. 301 00:12:12,590 --> 00:12:16,400 Nhưng mà yêu cầu bằng văn bản vào một cấp thấp hơn, nếu bạn muốn, 302 00:12:16,400 --> 00:12:18,090 với một ngôn ngữ biên dịch. 303 00:12:18,090 --> 00:12:20,830 >> Vì vậy, bạn làm mất hiệu suất hit này. 304 00:12:20,830 --> 00:12:24,780 Nhưng nói chung, những mặt tích cực dường như là giá trị nó những ngày này. 305 00:12:24,780 --> 00:12:26,850 Vâng, ngoại trừ vấn đề sở hữu trí tuệ. 306 00:12:26,850 --> 00:12:28,641 Đó là loại dễ đọc của mã này, chúng tôi sẽ 307 00:12:28,641 --> 00:12:30,640 trở lại khi chúng ta nhìn vào JavaScript. 308 00:12:30,640 --> 00:12:33,140 >> Vì vậy, hãy cố gắng phân loại ít nhất là một vài trong số này. 309 00:12:33,140 --> 00:12:41,650 Vì vậy, một trong những ngôn ngữ biên dịch, chúng tôi sẽ có C, C ++, kinda, sorta, Java, 310 00:12:41,650 --> 00:12:48,120 mặc dù đó là một chút ngoại lệ, cho lý do tôi sẽ chỉ cho bạn chỉ trong một khoảnh khắc. 311 00:12:48,120 --> 00:12:51,540 C # sẽ được vào danh sách này. 312 00:12:51,540 --> 00:12:54,930 Chúng tôi sẽ xem xét hơn, ở mức các ngôn ngữ hiện đại hơn. 313 00:12:54,930 --> 00:12:55,430 Tất cả các quyền. 314 00:12:55,430 --> 00:12:56,804 Và điều đó có vẻ như rất nhiều đó. 315 00:12:56,804 --> 00:13:03,500 Trong khi đó ở phía bên này hàng rào, chúng ta có thể có JavaScript, và Python, 316 00:13:03,500 --> 00:13:08,040 và PHP, và Ruby. 317 00:13:08,040 --> 00:13:13,640 Và đó là đủ cho những người gần đây? 318 00:13:13,640 --> 00:13:15,410 Đó là cảm giác như rất nhiều cho bây giờ. 319 00:13:15,410 --> 00:13:16,330 ĐƯỢC. 320 00:13:16,330 --> 00:13:18,760 Và sau đó chấm chấm chấm, kể từ khi danh sách là vô cùng tận. 321 00:13:18,760 --> 00:13:22,300 >> Và trên thực tế, nếu chúng ta muốn chỉ có được một cảm giác này-- Wikipedia, 322 00:13:22,300 --> 00:13:24,130 ngôn ngữ biên dịch. 323 00:13:24,130 --> 00:13:27,150 Tôi đoán chúng ta có thể có được một danh xa đầy đủ hơn. 324 00:13:27,150 --> 00:13:27,910 Vì vậy, ở đây chúng tôi đi. 325 00:13:27,910 --> 00:13:30,620 Vì vậy, đây là một danh sách đầy đủ hơn nhiều. 326 00:13:30,620 --> 00:13:34,150 Và tôi đã hy vọng một ai đó sẽ đoán D như một ngôn ngữ bởi vì đó quá tồn tại, 327 00:13:34,150 --> 00:13:37,747 nhưng họ dừng lại ở D nó sẽ có vẻ. 328 00:13:37,747 --> 00:13:39,330 Mặc dù có thực sự có thể là một E. 329 00:13:39,330 --> 00:13:41,496 >> Oh, thực sự, điều này cần được vào danh sách những ngày này. 330 00:13:41,496 --> 00:13:47,460 Swift thực sự là một ngôn ngữ mà Apple phát minh 331 00:13:47,460 --> 00:13:50,302 mà bây giờ được sử dụng, ngày càng vì vậy, trong phát triển iPhone. 332 00:13:50,302 --> 00:13:52,260 Nhưng chúng tôi sẽ trở lại rằng với cuộc thảo luận của chúng tôi 333 00:13:52,260 --> 00:13:54,090 điện thoại di động chỉ trong một chút là tốt. 334 00:13:54,090 --> 00:13:55,260 Vì vậy, Swift là tốt. 335 00:13:55,260 --> 00:13:57,540 >> Và sau đó nếu chúng ta đi giải thích language-- 336 00:13:57,540 --> 00:14:05,010 giải thích language-- thì đây là một danh sách thậm chí còn là tốt. 337 00:14:05,010 --> 00:14:07,260 Vì vậy, nếu bạn chỉ cần google và tìm trên Wikipedia cho các, 338 00:14:07,260 --> 00:14:09,231 bạn sẽ thấy tất cả các loại ngôn ngữ. 339 00:14:09,231 --> 00:14:10,980 Nhưng mục đích là, cho ngày hôm nay thực sự, chỉ 340 00:14:10,980 --> 00:14:13,680 nắm để có thể đây vấn đề sở hữu trí tuệ 341 00:14:13,680 --> 00:14:18,200 và khả năng đọc của người dùng cuối và để hiệu suất, là Biggie khác là tốt. 342 00:14:18,200 --> 00:14:21,080 >> Vì vậy, trong số các ngôn ngữ, cho tôi xem liệu chúng ta có thể cung cấp cho bạn 343 00:14:21,080 --> 00:14:24,487 chỉ một số mẫu của ngôn ngữ. 344 00:14:24,487 --> 00:14:26,820 Chúng tôi không muốn đi qua tất cả các ngôn ngữ vô tận. 345 00:14:26,820 --> 00:14:29,720 Đã bao giờ bạn tự hỏi những gì một ngôn ngữ nào đó trông như thế nào? 346 00:14:29,720 --> 00:14:31,562 Chúng tôi đã thấy lúc nãy. 347 00:14:31,562 --> 00:14:33,520 Tại sao chúng ta không mất một vài các yêu cầu tính năng. 348 00:14:33,520 --> 00:14:35,380 Ai muốn xem những gì ngôn ngữ khác trông như thế nào? 349 00:14:35,380 --> 00:14:35,620 Yeah. 350 00:14:35,620 --> 00:14:36,150 >> Đung Java. 351 00:14:36,150 --> 00:14:36,540 >> DAVID J. Malan: Java. 352 00:14:36,540 --> 00:14:37,040 Tất cả các quyền. 353 00:14:37,040 --> 00:14:38,504 Vì vậy, chúng ta hãy đi đến Java. 354 00:14:38,504 --> 00:14:42,300 355 00:14:42,300 --> 00:14:44,900 Và chỉ để cung cấp cho bạn một sample-- chúng ta có thể viết tất cả những hiểu, 356 00:14:44,900 --> 00:14:47,670 nhưng nó sẽ nhanh hơn chỉ để nhìn vào mẫu mã của người khác. 357 00:14:47,670 --> 00:14:48,170 Tất cả các quyền. 358 00:14:48,170 --> 00:14:50,330 Vì vậy, đây là một ví dụ tốt? 359 00:14:50,330 --> 00:14:52,040 Lỗi chính. 360 00:14:52,040 --> 00:14:52,540 ĐƯỢC. 361 00:14:52,540 --> 00:14:58,810 Vì vậy, đây là phiên bản Java của chương trình tôi đã viết trước đó, "Xin chào thế giới." 362 00:14:58,810 --> 00:15:01,900 >> Vì vậy, Java, bạn sẽ thường xuyên xem các "lớp". từ khóa 363 00:15:01,900 --> 00:15:03,779 Sau đó, bạn sẽ thấy một số tên sau đó. 364 00:15:03,779 --> 00:15:05,570 Bạn sẽ nhìn thấy dấu ngoặc nhọn như chúng ta đã thấy trước đây, 365 00:15:05,570 --> 00:15:08,153 và đôi khi họ đi trên cùng một dòng, dòng đôi khi khác, 366 00:15:08,153 --> 00:15:09,734 nó là loại một quyết định cá nhân. 367 00:15:09,734 --> 00:15:11,900 Bạn sẽ thấy các từ khóa như "Công cộng", "tĩnh", "khoảng trống". 368 00:15:11,900 --> 00:15:13,790 Nhưng chúng tôi đã nhìn thấy "chính". "Main" nói chung là 369 00:15:13,790 --> 00:15:17,220 tên của các chức năng mặc định hoặc các đoạn mặc định của mã 370 00:15:17,220 --> 00:15:18,760 được chạy trong một chương trình. 371 00:15:18,760 --> 00:15:19,330 >> "Chuỗi." 372 00:15:19,330 --> 00:15:20,850 chúng tôi đã có ý nghĩa gì bởi chuỗi trước đó? 373 00:15:20,850 --> 00:15:23,480 Tôi sử dụng nó loại cờ. 374 00:15:23,480 --> 00:15:25,100 Một chuỗi là gì? 375 00:15:25,100 --> 00:15:25,601 Một từ. 376 00:15:25,601 --> 00:15:27,058 Nó giống như một chuỗi các ký tự. 377 00:15:27,058 --> 00:15:29,810 ký tự đặc biệt, trở lại trở lại trở lại, thường là trong một mảng, 378 00:15:29,810 --> 00:15:30,690 như chúng ta đã thảo luận. 379 00:15:30,690 --> 00:15:34,700 Và trên thực tế, xem cú pháp này ở đây, hai dấu ngoặc vuông? 380 00:15:34,700 --> 00:15:39,210 Điều đó có nghĩa, hey máy tính, ở đây đến một mảng của chuỗi. 381 00:15:39,210 --> 00:15:42,636 Các ký hiệu khung vuông là thường được sử dụng để biểu thị rằng. 382 00:15:42,636 --> 00:15:44,510 Và sau đó bạn có thể có lẽ mất một guess-- gì 383 00:15:44,510 --> 00:15:46,580 không nổi bật này đoạn mã có thể làm gì? 384 00:15:46,580 --> 00:15:49,737 385 00:15:49,737 --> 00:15:50,639 >> Đung Các đầu ra? 386 00:15:50,639 --> 00:15:51,090 >> DAVID J. Malan: Yeah. 387 00:15:51,090 --> 00:15:52,506 Nó in cái gì đó ra màn hình. 388 00:15:52,506 --> 00:15:57,070 Vì vậy, "hệ thống" là một loại của một tham chiếu đến máy tính của bạn. 389 00:15:57,070 --> 00:15:59,620 "Out" có nghĩa là máy tính của bạn của đầu ra hoặc màn hình. 390 00:15:59,620 --> 00:16:04,450 Vì vậy, "system.out.print ln" có thể có nghĩa? 391 00:16:04,450 --> 00:16:05,570 "Ln". 392 00:16:05,570 --> 00:16:09,570 dòng in mà các lập trình viên như để rõ ràng chính tả một số từ ra 393 00:16:09,570 --> 00:16:11,820 trong toàn bộ của họ và mất các phím tắt với các từ khác. 394 00:16:11,820 --> 00:16:13,260 Nhưng "ln" là đường, vì vậy dòng in. 395 00:16:13,260 --> 00:16:17,370 Vì vậy, nó in ra "Hello World! "Theo sau là một dòng mới. 396 00:16:17,370 --> 00:16:18,300 >> À chính nó đấy. 397 00:16:18,300 --> 00:16:21,150 Nhưng Java là những gì họ sẽ cuộc gọi hướng đối tượng. 398 00:16:21,150 --> 00:16:23,440 Và quả thực, chỉ để cho một vài định nghĩa khác 399 00:16:23,440 --> 00:16:26,420 ở đó mà có lẽ bạn thấy, nói chung, có 400 00:16:26,420 --> 00:16:30,600 rất nhiều loại khác nhau ngôn ngữ, nhưng phổ biến nhất 401 00:16:30,600 --> 00:16:37,830 là ngôn ngữ thủ tục hoặc bắt buộc. 402 00:16:37,830 --> 00:16:41,600 Có chức năng ngôn ngữ, mà không làm 403 00:16:41,600 --> 00:16:43,790 có nghĩa là những người khác không có chức năng. 404 00:16:43,790 --> 00:16:47,740 Và sau đó có hướng đối tượng ngôn ngữ. 405 00:16:47,740 --> 00:16:51,170 Và điều này có lẽ là tốt nhất phân loại của hầu hết các ngôn ngữ 406 00:16:51,170 --> 00:16:56,445 mà bạn sẽ không bao giờ chọn cho các loại của một dự án thương mại điển hình. 407 00:16:56,445 --> 00:16:58,910 >> Đây sẽ là quá nhiều, Tôi nghĩ rằng, các lỗ của chuột 408 00:16:58,910 --> 00:17:01,620 đi xuống, cố gắng giải thích những khác biệt khác nhau. 409 00:17:01,620 --> 00:17:04,599 Nhưng các ngôn ngữ chúng tôi đã nhìn thấy vậy far-- C 410 00:17:04,599 --> 00:17:07,680 là một thủ tục hoặc một ngôn ngữ bắt buộc. 411 00:17:07,680 --> 00:17:11,200 Gần đây phát minh ngôn ngữ có xu hướng được, xin lỗi, 412 00:17:11,200 --> 00:17:14,430 hướng đối tượng, có nghĩa là họ có các tính năng khác cho họ. 413 00:17:14,430 --> 00:17:18,130 414 00:17:18,130 --> 00:17:19,430 Tôi có thể giải thích nó theo cách này? 415 00:17:19,430 --> 00:17:20,950 Hãy thậm chí không đi xuống đó. 416 00:17:20,950 --> 00:17:25,200 >> phương hướng đối tượng bạn có thể implement-- 417 00:17:25,200 --> 00:17:27,930 bạn có thể mô hình thế giới thực một chút hiệu quả hơn. 418 00:17:27,930 --> 00:17:29,722 Nhân loại, theo thời gian, đã tìm ra, wow, 419 00:17:29,722 --> 00:17:32,430 nó sẽ được tốt đẹp nếu ngôn ngữ của tôi có tính năng này hoặc tính năng. 420 00:17:32,430 --> 00:17:34,830 Và đó là lý do tại sao chúng tôi có rất nhiều ngôn ngữ trên thế giới. 421 00:17:34,830 --> 00:17:37,670 người hợp lý, thông minh người, đồng ý hay không đồng ý 422 00:17:37,670 --> 00:17:41,000 và luôn luôn loại đến với nhau trên phát triển ngôn ngữ mới tất cả cùng nhau. 423 00:17:41,000 --> 00:17:41,660 >> Trường hợp tại điểm. 424 00:17:41,660 --> 00:17:45,260 Apple phát minh Swift trong hy vọng có lẽ hạ 425 00:17:45,260 --> 00:17:47,950 thanh để phát triển iPhone, vì language-- trước 426 00:17:47,950 --> 00:17:51,080 gọi là Objective-C, có thể cũng có trong danh sách của chúng tôi đây-- 427 00:17:51,080 --> 00:17:54,190 đã được nhiều phức tạp hơn và nhiều hơn khó khăn hơn để hết tâm trí của một người xung quanh. 428 00:17:54,190 --> 00:17:57,690 Và như lập trình đang trở cho là dễ tiếp cận hơn và rộng hơn 429 00:17:57,690 --> 00:18:00,580 được thông qua bởi những người thậm chí ít kỹ thuật, các goal-- 430 00:18:00,580 --> 00:18:04,160 đó là một mục tiêu rất dũng cảm để cố gắng giảm các rào cản gia nhập bằng cách làm 431 00:18:04,160 --> 00:18:07,400 các ngôn ngữ tự dễ dàng hơn để bắt đầu với, 432 00:18:07,400 --> 00:18:09,430 nhưng không kém phần mạnh mẽ nhất thiết. 433 00:18:09,430 --> 00:18:10,560 >> Và một trong những ngôn ngữ khác. 434 00:18:10,560 --> 00:18:14,110 Tại sao chúng ta không có một cái nhìn tại một cái gì đó giống như Python, 435 00:18:14,110 --> 00:18:18,090 mà là rất nhiều thịnh hành trong những ngày này. 436 00:18:18,090 --> 00:18:19,570 Python. 437 00:18:19,570 --> 00:18:20,464 chương trình mẫu. 438 00:18:20,464 --> 00:18:24,600 439 00:18:24,600 --> 00:18:26,700 Hãy xem. 440 00:18:26,700 --> 00:18:28,790 "Hello World" ngôn ngữ. 441 00:18:28,790 --> 00:18:30,180 Làm thôi nào. 442 00:18:30,180 --> 00:18:33,625 "Chào thế giới." 443 00:18:33,625 --> 00:18:35,375 Hãy xem nếu điều này mang lại cho chúng ta một ví dụ tốt đẹp. 444 00:18:35,375 --> 00:18:39,450 445 00:18:39,450 --> 00:18:39,950 ĐƯỢC. 446 00:18:39,950 --> 00:18:41,283 Vì vậy, đây thực sự là loại thú vị. 447 00:18:41,283 --> 00:18:43,330 Vì vậy, nếu bạn đã bao giờ google "Xin chào thế giới", mà 448 00:18:43,330 --> 00:18:47,000 xảy ra là một trong những chương trình đầu tiên từng viết trong một ngôn ngữ hiện đại, 449 00:18:47,000 --> 00:18:51,830 chỉ như một bằng chứng của khái niệm, bạn có thể nhìn thấy tất cả các loại của hiện thực này. 450 00:18:51,830 --> 00:18:54,240 >> Một số các ngôn ngữ Tôi thậm chí đã không nghe nói về. 451 00:18:54,240 --> 00:18:59,770 Nhưng bạn có thể see-- hãy đi cơ bản, một trong tôi đã học năm trước đây, một phần. 452 00:18:59,770 --> 00:19:02,720 Đây là một ngôn ngữ thú vị vì bạn phải, như các lập trình viên, số 453 00:19:02,720 --> 00:19:03,710 tất cả các đường dây của bạn. 454 00:19:03,710 --> 00:19:05,626 Không giống như những gì tôi đã làm khi tôi đang viết 455 00:19:05,626 --> 00:19:08,380 giả trên các tài liệu màu vàng trước đó cho tìm kiếm nhị phân, 456 00:19:08,380 --> 00:19:09,580 để tìm kiếm một cuốn sách điện thoại. 457 00:19:09,580 --> 00:19:11,810 >> Và như vậy, nếu bạn muốn để đi đến dòng khác, 458 00:19:11,810 --> 00:19:15,780 bạn có nghĩa là sẽ gõ, đi đến 10, hoặc đến 20. 459 00:19:15,780 --> 00:19:19,110 Và nếu bạn đang viết dòng, ước là để làm, đây là dòng 10, 460 00:19:19,110 --> 00:19:22,545 đây là đường 20, đây là dòng 30, 40, không có gì ở giữa, 461 00:19:22,545 --> 00:19:25,170 từ đó tạo cho mình một số phòng nếu bạn quyết định, chờ một phút, 462 00:19:25,170 --> 00:19:27,230 Tôi có nên thêm một số nhiều mã ở đâu đó. 463 00:19:27,230 --> 00:19:30,960 Bạn vẫn có loại chín cơ hội bóp mà ở giữa chương trình của bạn 464 00:19:30,960 --> 00:19:33,020 trước khi bạn phải tự ghi số lại tất cả mọi thứ. 465 00:19:33,020 --> 00:19:35,470 >> Vì vậy, đây là loại điều tôi muốn nói khi tôi nói thế giới đã đưa ra 466 00:19:35,470 --> 00:19:36,303 với một tính năng mới. 467 00:19:36,303 --> 00:19:39,364 Một nơi nào đó trên đường đi một người nào đó nhận ra, cậu bé này là ngu ngốc. 468 00:19:39,364 --> 00:19:41,280 Đây chỉ là việc tạo ra làm việc cho các lập trình viên. 469 00:19:41,280 --> 00:19:44,200 Vì vậy, anh ta hoặc cô ta chỉ cần loại xây dựng một lớp mới trên đầu đó 470 00:19:44,200 --> 00:19:46,910 do đó bạn không phải lo lắng về những gì số dòng code của bạn 471 00:19:46,910 --> 00:19:48,570 là thực sự trên. 472 00:19:48,570 --> 00:19:54,940 >> Vì vậy, khi bạn có thể chọn một ngôn ngữ hay cách khác? 473 00:19:54,940 --> 00:19:56,690 Vâng, mà trong số này ngôn ngữ nào bạn có xu hướng 474 00:19:56,690 --> 00:20:00,960 nghe về nhiều nhất trong thế giới riêng của mình những ngày này? 475 00:20:00,960 --> 00:20:02,680 Hãy thả xuống Objective-C quá. 476 00:20:02,680 --> 00:20:06,416 477 00:20:06,416 --> 00:20:07,739 >> Đung C #. 478 00:20:07,739 --> 00:20:08,530 DAVID J. Malan: C #. 479 00:20:08,530 --> 00:20:10,310 Vì vậy, hãy để tôi màu. 480 00:20:10,310 --> 00:20:13,190 Chúng ta có màu sắc khác của chúng tôi ở đâu đó? 481 00:20:13,190 --> 00:20:14,550 Vì vậy, C #. 482 00:20:14,550 --> 00:20:16,390 Và những gì bạn biết về C #? 483 00:20:16,390 --> 00:20:18,940 Bất cứ điều gì mùa xuân với tâm? 484 00:20:18,940 --> 00:20:20,707 >> Đung Đó là một ngôn ngữ lập trình. 485 00:20:20,707 --> 00:20:22,540 DAVID J. Malan: Đó là một ngôn ngữ lập trình. 486 00:20:22,540 --> 00:20:23,200 ĐƯỢC. 487 00:20:23,200 --> 00:20:24,690 Điều đó đúng. 488 00:20:24,690 --> 00:20:26,440 Vì vậy, chúng ta đang nói về C #. 489 00:20:26,440 --> 00:20:29,230 C # có xu hướng được sử dụng trong môi trường Windows, 490 00:20:29,230 --> 00:20:33,550 vì vậy nếu bạn đang viết phần mềm Microsoft cho Windows, C # được rất thường được sử dụng, 491 00:20:33,550 --> 00:20:38,560 cho dù đó là các phần mềm máy tính để bàn, hoặc ngay cả phần mềm điện thoại trên điện thoại Windows, 492 00:20:38,560 --> 00:20:41,820 nếu bạn đã có những người, hoặc trên web thậm chí quá. 493 00:20:41,820 --> 00:20:44,642 Và trong thực tế, có Kareem đề cập ASP trước đó? 494 00:20:44,642 --> 00:20:46,600 Vì vậy, đó cũng là những điều được gọi là khuôn khổ, 495 00:20:46,600 --> 00:20:51,040 mà chúng tôi có thể giới thiệu bằng cách mở rộng. 496 00:20:51,040 --> 00:20:53,280 Khung, như ASP. 497 00:20:53,280 --> 00:20:55,740 Giá cho trang máy hoạt động. 498 00:20:55,740 --> 00:20:59,880 Và đây là mã và cách lập trình 499 00:20:59,880 --> 00:21:03,490 mà thường làm cho nó dễ dàng hơn để viết các ứng dụng dựa trên web. 500 00:21:03,490 --> 00:21:07,530 Nói cách khác, nó sẽ là siêu, siêu gây phiền nhiễu để viết một trang web 501 00:21:07,530 --> 00:21:09,469 trong ngôn ngữ C chúng ta đã thấy trước đây, 502 00:21:09,469 --> 00:21:12,510 bởi vì bạn sẽ phải sử dụng in + F, bạn sẽ phải sử dụng từ khoá đó 503 00:21:12,510 --> 00:21:13,940 "Chính" và các dấu ngoặc nhọn. 504 00:21:13,940 --> 00:21:16,720 Rất nhiều cú pháp phức tạp và cách tiếp cận để thực hiện 505 00:21:16,720 --> 00:21:19,195 cái gì đó khá phức tạp. 506 00:21:19,195 --> 00:21:20,240 Một trang web. 507 00:21:20,240 --> 00:21:23,800 >> Và như vậy các ngôn ngữ khác đã tiến hóa để làm cho rằng loại điều dễ dàng hơn. 508 00:21:23,800 --> 00:21:26,890 Và đến lượt mình, người đã đưa ra với các khuôn khổ, sắp xếp các công cụ 509 00:21:26,890 --> 00:21:30,520 mà bạn có thể sử dụng mà làm cho nó thậm chí dễ dàng hơn để viết các trang web. 510 00:21:30,520 --> 00:21:33,070 Vì vậy, ví dụ, để làm cho bê tông này nhiều hơn nữa, 511 00:21:33,070 --> 00:21:36,390 hãy để tôi mở ra chỉ một file văn bản cho một thời điểm. 512 00:21:36,390 --> 00:21:39,380 >> Và bạn có thể nhớ lại ngày hôm qua mà chúng tôi đã nói điều gì đó 513 00:21:39,380 --> 00:21:41,210 như thế, đây là một trang web. 514 00:21:41,210 --> 00:21:42,300 HTML. 515 00:21:42,300 --> 00:21:45,340 Đóng HTML. 516 00:21:45,340 --> 00:21:48,500 Hãy để tôi bỏ qua phần đầu và chỉ làm cho cơ thể ở đây. 517 00:21:48,500 --> 00:21:52,810 Giả sử rằng tôi muốn viết không phải là "Hello World" 518 00:21:52,810 --> 00:21:57,020 nhưng "Hello David", nơi mà David là tên hiện đang đăng nhập người dùng. 519 00:21:57,020 --> 00:22:00,270 Gì gì đó như ASP sẽ làm, hoặc JSP-- 520 00:22:00,270 --> 00:22:04,060 đó là máy chủ Java pages-- hoặc bất kỳ số lượng các khuôn khổ khác 521 00:22:04,060 --> 00:22:05,435 là họ không phải là ngôn ngữ, mỗi se. 522 00:22:05,435 --> 00:22:07,351 Họ giống như phần mềm bổ sung mà bạn 523 00:22:07,351 --> 00:22:10,490 sẽ cài đặt vào môi trường của bạn mà chỉ làm cho nó dễ dàng hơn cho chương trình. 524 00:22:10,490 --> 00:22:15,670 >> Vì vậy, ví dụ, thay vì phải làm một cái gì đó giống như "hello, printf (" David ")" 525 00:22:15,670 --> 00:22:17,510 hoặc một cái gì đó loại đồng mingling-- 526 00:22:17,510 --> 00:22:20,840 các loại mã, chúng tôi đã nhìn thấy before-- Bạn sẽ làm một cái gì đó đơn giản hơn nhiều, 527 00:22:20,840 --> 00:22:26,190 như "name%". 528 00:22:26,190 --> 00:22:28,660 Và do đó, những khuôn khổ, như ASP-- và tôi 529 00:22:28,660 --> 00:22:31,212 không nhớ nếu tôi nhận được cú pháp chỉ phù hợp với ASP. 530 00:22:31,212 --> 00:22:33,100 JSP là một little-- là quyền này? 531 00:22:33,100 --> 00:22:36,500 >> Vì vậy, với ASP, đây là sắp xếp của một cú pháp đặc biệt 532 00:22:36,500 --> 00:22:39,830 rằng một số nhà phát triển đã quyết định điều này có thể giúp đỡ mọi người. 533 00:22:39,830 --> 00:22:43,000 Và tôi có thể diễn tả ngắn gọn hơn giữ chỗ, ví dụ. 534 00:22:43,000 --> 00:22:47,187 Giống như đặt một giá trị ở đây, nơi Tên giá trị này không phải là N-A-M-E, 535 00:22:47,187 --> 00:22:48,520 nó là một số giá trị được lưu trữ trong đó. 536 00:22:48,520 --> 00:22:50,728 Vì vậy, "tên", trong bối cảnh này, chúng tôi sẽ gọi cho một biến. 537 00:22:50,728 --> 00:22:52,760 Đại số có biến như x và y, và z. 538 00:22:52,760 --> 00:22:56,021 Các lập trình viên sử dụng các biến đó là hơn mô tả hơn x, y, z, 539 00:22:56,021 --> 00:22:56,520 thường. 540 00:22:56,520 --> 00:23:01,020 Vì vậy, "tên" sẽ có nghĩa là một số loại container bộ nhớ cho một cái gì đó như 541 00:23:01,020 --> 00:23:05,440 D-A-V-I-D, tên của tôi, hoặc bất cứ ai khác đang đăng nhập vào trang web. 542 00:23:05,440 --> 00:23:09,300 >> Và do đó, đây là loại tiện lợi bạn nhận được với môi trường nhất định. 543 00:23:09,300 --> 00:23:14,220 Vì vậy, C # và một cái gì đó giống như ASP sẽ rất thường được sử dụng trong một thế giới Windows, 544 00:23:14,220 --> 00:23:16,460 liệu cho máy tính để bàn của mình phần mềm hoặc máy chủ web, 545 00:23:16,460 --> 00:23:21,490 đặc biệt là nếu máy chủ của bạn lần lượt chạy Microsoft Windows và Microsoft 546 00:23:21,490 --> 00:23:25,810 IIS-- hoặc Internet Information Server, nếu tôi nhận được từ viết tắt right-- 547 00:23:25,810 --> 00:23:27,800 đó là máy chủ web của Microsoft. 548 00:23:27,800 --> 00:23:30,820 >> Vì vậy, những gì các ngôn ngữ khác folks quen thuộc với, 549 00:23:30,820 --> 00:23:35,228 hoặc bạn đã nghe nói về thường xuyên hơn không? 550 00:23:35,228 --> 00:23:38,262 >> KHÁN GIẢ: Tôi biết rằng Python loại một phổ biến [IM LẶNG]. 551 00:23:38,262 --> 00:23:39,470 DAVID J. Malan: Rất phổ biến. 552 00:23:39,470 --> 00:23:45,490 Vì vậy, Python ở đây được sử dụng rất thường xuyên trong các ứng dụng khoa học hoặc dữ liệu 553 00:23:45,490 --> 00:23:48,330 khoa học, nơi bạn có rất nhiều của dữ liệu mà bạn muốn phân tích 554 00:23:48,330 --> 00:23:50,413 và bạn muốn sử dụng một ngôn ngữ lập trình cho nó. 555 00:23:50,413 --> 00:23:53,640 R thường có thể được sử dụng cho rằng cũng như, trong một bối cảnh thống kê. 556 00:23:53,640 --> 00:23:56,400 Nhưng Python có rất nhiều tính năng được xây dựng trong. 557 00:23:56,400 --> 00:23:58,850 Vì vậy, nhiều thêm thư viện, như mọi người nói. 558 00:23:58,850 --> 00:24:01,260 >> Thư viện chỉ là bộ sưu tập mã mà những người khác 559 00:24:01,260 --> 00:24:04,218 viết rằng bạn có thể sử dụng để bạn không cần phải tái tạo lại những bánh xe. 560 00:24:04,218 --> 00:24:07,430 Và như vậy Python là rất thường được sử dụng trong các ứng dụng khoa học dữ liệu. 561 00:24:07,430 --> 00:24:09,930 Nhưng nó cũng rất thường được sử dụng trong các ứng dụng web. 562 00:24:09,930 --> 00:24:12,780 Bạn có thể thực hiện một động website sử dụng Python. 563 00:24:12,780 --> 00:24:15,210 >> Và bởi trang web năng động, tôi có nghĩa là nội dung không chỉ tĩnh 564 00:24:15,210 --> 00:24:19,530 như chúng ta đã tạo ra ngày hôm qua, bởi chỉ cứng mã hóa trong các văn bản Latin 565 00:24:19,530 --> 00:24:21,820 và những thứ khác như vậy, mà là khả năng 566 00:24:21,820 --> 00:24:25,367 để đăng nhập, khả năng để mua một cái gì đó, khả năng để kiểm tra 567 00:24:25,367 --> 00:24:26,950 với giỏ mua hàng của bạn, hoặc tương tự. 568 00:24:26,950 --> 00:24:30,590 Tất cả điều đó đòi hỏi sự năng động và bạn cần một số ngôn ngữ như một trong những. 569 00:24:30,590 --> 00:24:35,060 >> KHÁN GIẢ: không Python có riêng của mình mở rộng, tương tự như [IM LẶNG] 570 00:24:35,060 --> 00:24:36,060 DAVID J. Malan: Nó không. 571 00:24:36,060 --> 00:24:42,250 Vì vậy, trong thế giới của Python, Django là một khuôn khổ rất phổ biến cho Python. 572 00:24:42,250 --> 00:24:46,520 WSGI là một cơ chế khác đó là loại khác nhau từ này 573 00:24:46,520 --> 00:24:47,640 nhưng tinh thần tương tự. 574 00:24:47,640 --> 00:24:52,200 Đó là một add-on cho phép bạn để chạy mã Python trên một máy chủ. 575 00:24:52,200 --> 00:24:53,950 Có other-- yeah. 576 00:24:53,950 --> 00:24:57,250 Vì vậy, những chúng ta sẽ gọi các khuôn khổ. 577 00:24:57,250 --> 00:24:58,870 Và đó là một chút của một sự lạm dụng. 578 00:24:58,870 --> 00:25:00,920 Đây là chi tiết của một công nghệ máy chủ web. 579 00:25:00,920 --> 00:25:04,610 Nhưng chúng tôi sẽ giữ nó đơn giản và đặt nó trong cột này dù sao. 580 00:25:04,610 --> 00:25:05,780 >> ĐƯỢC. 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 Một thing-- và thực sự, chúng ta hãy tôi di chuyển đến cột riêng của mình, 584 00:25:12,100 --> 00:25:17,000 bởi vì tôi sẽ la mắng bản thân mình đặt chúng trong xô cùng. 585 00:25:17,000 --> 00:25:24,910 Hãy đặt điều này vào máy chủ tính năng, chúng ta hãy nói. 586 00:25:24,910 --> 00:25:26,710 Đó không phải là một thuật ngữ kỹ thuật. 587 00:25:26,710 --> 00:25:29,180 >> Vì vậy, ở đây chúng ta có thể là WSGI. 588 00:25:29,180 --> 00:25:32,580 Có CGI, mà là một cũ kỹ thuật để phục vụ lên tiếng 589 00:25:32,580 --> 00:25:35,890 như Perl hoặc PHP, hoặc một số người khác. 590 00:25:35,890 --> 00:25:39,000 Một lần nữa, tôi đã đề cập đến các điều khoản không quá nhiều để loại biến đổi hình thái chúng, 591 00:25:39,000 --> 00:25:40,749 nhưng cho rằng nếu bạn thấy chúng nó là cái gì 592 00:25:40,749 --> 00:25:42,130 bạn chỉ cần google để đọc thêm. 593 00:25:42,130 --> 00:25:46,110 Không có nước ép thực một số những điều này. 594 00:25:46,110 --> 00:25:47,850 >> Nhưng chúng ta hãy quay trở lại với các ngôn ngữ. 595 00:25:47,850 --> 00:25:50,499 Chúng tôi nói về C #, Python. 596 00:25:50,499 --> 00:25:52,790 Có gì khác bạn có thể sử dụng cho lập trình web những ngày này? 597 00:25:52,790 --> 00:25:54,302 Hãy tập trung vào điều đó vẫn còn. 598 00:25:54,302 --> 00:25:55,247 >> Đung PHP. 599 00:25:55,247 --> 00:25:56,080 DAVID J. Malan: PHP. 600 00:25:56,080 --> 00:25:57,413 Và chúng ta hãy trở lại với một trong đó. 601 00:25:57,413 --> 00:25:59,310 Vì vậy, PHP được sử dụng rất phổ biến. 602 00:25:59,310 --> 00:26:01,560 PHP có xu hướng để có được một rap xấu. 603 00:26:01,560 --> 00:26:05,790 Nó bắt đầu như là một ngôn ngữ thực hiện bởi folks những người có thể không nhất thiết phải 604 00:26:05,790 --> 00:26:06,960 các nhà thiết kế ngôn ngữ tốt nhất. 605 00:26:06,960 --> 00:26:11,290 Và do đó, bạn có thể đọc tất cả các loại bài báo trực tuyến về cách xấu PHP là. 606 00:26:11,290 --> 00:26:13,660 Và thật không may, đây là một biểu hiện, một phần, 607 00:26:13,660 --> 00:26:18,727 chỉ các cuộc tranh luận tôn giáo mà mọc giữa các lập trình. 608 00:26:18,727 --> 00:26:20,560 Và đây là cái gì giá trị lưu giữ trong tâm trí, 609 00:26:20,560 --> 00:26:24,410 từ góc độ kinh doanh, mà nó rất dễ dàng cho người dân kỹ thuật 610 00:26:24,410 --> 00:26:26,900 để có được tất cả làm việc với họ ý kiến ​​về một số thứ. 611 00:26:26,900 --> 00:26:29,566 Và nó không nhất thiết có nghĩa là rằng một trong những la hét to nhất 612 00:26:29,566 --> 00:26:31,870 hoặc với các mạnh nhất, Theo angriest là đúng. 613 00:26:31,870 --> 00:26:34,100 Rất nhiều lần, nó thực sự chỉ không quan trọng. 614 00:26:34,100 --> 00:26:37,970 >> Và do đó, mọi người chỉ đang tranh luận bất cứ điều gì những thành kiến ​​của mình hoặc các khu thoải mái được. 615 00:26:37,970 --> 00:26:40,760 Và do đó, bạn nên giữ ý nghĩ đó khi thực hiện 616 00:26:40,760 --> 00:26:42,622 một quyết định, đó chỉ vì ai đó nói 617 00:26:42,622 --> 00:26:45,080 đây là ngôn ngữ phù hợp với công việc, đó có thể là sự thật, 618 00:26:45,080 --> 00:26:48,350 nhưng nó cũng chỉ có thể là nó là ngôn ngữ ngay trong kỹ năng của mình 619 00:26:48,350 --> 00:26:49,267 thiết lập hoặc vùng thoải mái. 620 00:26:49,267 --> 00:26:52,600 Mà không phải là xấu, nhưng bạn nên nhận ra rằng có thể có một số bối cảnh đó. 621 00:26:52,600 --> 00:26:54,440 Có một số quan báo cáo sai, 622 00:26:54,440 --> 00:26:59,080 như C là ngôn ngữ sử dụng sai những ngày này để thực hiện các trang web 623 00:26:59,080 --> 00:27:00,520 gần như luôn luôn. 624 00:27:00,520 --> 00:27:03,370 Nhưng nó không phải là không hợp lý để nói rằng bất kỳ những 625 00:27:03,370 --> 00:27:05,700 là sai mà chúng tôi đã đi vòng quanh cho đến nay. 626 00:27:05,700 --> 00:27:08,180 >> PHP đã trải qua nhiều phiên bản. 627 00:27:08,180 --> 00:27:11,310 Vì vậy, ngôn ngữ có xu hướng có phiên bản số liên kết với chúng. 628 00:27:11,310 --> 00:27:15,390 PHP là đến, tôi nghĩ rằng, phiên bản 7 bây giờ, do đó, nó được khoảng một thời gian khá lâu. 629 00:27:15,390 --> 00:27:18,270 Và như là ngôn ngữ có được mới hơn, họ thường nhận được các tính năng mới. 630 00:27:18,270 --> 00:27:22,510 Nhưng bạn phải lưu tâm điều này bởi vì nếu trang web của bạn đã được 631 00:27:22,510 --> 00:27:27,539 thực hiện trong phiên bản 7 của PHP nhưng bạn đang cố gắng để chạy trang web của bạn, 632 00:27:27,539 --> 00:27:29,830 hoặc có thể bạn đã thuê ngoài sự phát triển của mã của bạn 633 00:27:29,830 --> 00:27:31,960 cho người khác và họ gửi nó cho bạn hoặc gửi nó cho bạn 634 00:27:31,960 --> 00:27:33,960 và họ nói, ở đây, đặt này trên máy chủ web của bạn, 635 00:27:33,960 --> 00:27:36,610 nếu máy chủ web của bạn là một vài năm outdated-- cho dù đó là 636 00:27:36,610 --> 00:27:39,465 máy chủ của riêng bạn hoặc một host-- web nó có thể không thực sự chạy. 637 00:27:39,465 --> 00:27:41,340 Vì vậy, đó là những loại của những điều mà một người nào đó 638 00:27:41,340 --> 00:27:44,067 cần phải được lưu tâm khi nâng cấp một trang web 639 00:27:44,067 --> 00:27:45,650 hoặc thực hiện nó lần đầu tiên. 640 00:27:45,650 --> 00:27:46,900 >> Tôi nghe JavaScript trước đó. 641 00:27:46,900 --> 00:27:50,570 Vì vậy, JavaScript là một thú vị một ở chỗ nó thường là 642 00:27:50,570 --> 00:27:53,030 phía khách hàng, như chúng ta sẽ thấy sau giờ nghỉ, mà 643 00:27:53,030 --> 00:27:55,000 có nghĩa là nó chạy trong trình duyệt của người dùng. 644 00:27:55,000 --> 00:27:58,400 Nhưng bạn cũng có thể chạy JavaScript những ngày này 645 00:27:58,400 --> 00:28:03,450 sử dụng một cái gì đó gọi là Node.js, nơi Node.js 646 00:28:03,450 --> 00:28:08,000 là một cơ chế để chạy mã JavaScript phía máy chủ, 647 00:28:08,000 --> 00:28:12,430 thay vì sử dụng Python, hoặc PHP, hoặc các ngôn ngữ khác như vậy. 648 00:28:12,430 --> 00:28:17,820 >> JavaScript là đặc biệt thích hợp cho các ứng dụng chat và thời gian thực 649 00:28:17,820 --> 00:28:22,050 các ứng dụng, trong khi PHP không phải là một tuyệt vời ngôn ngữ để thực hiện một cái gì đó 650 00:28:22,050 --> 00:28:25,050 giống như một máy chủ trò chuyện, nơi người dùng kết nối đến nó liên tục. 651 00:28:25,050 --> 00:28:28,760 PHP là nhiều hơn một lần tôi một lần, có được trở lại một kết quả, 652 00:28:28,760 --> 00:28:31,790 và sau đó nhấp vào một liên kết một số giây hoặc vài phút từ bây giờ. 653 00:28:31,790 --> 00:28:36,020 Trong khi Node.js và JavaScript có thể được sử dụng nhiều hơn cho kết nối liên tục. 654 00:28:36,020 --> 00:28:40,840 Các ngôn ngữ khác mà bạn nghi ngờ thường được sử dụng cho các công cụ web? 655 00:28:40,840 --> 00:28:42,800 >> Đung jQuery sẽ là một khuôn khổ? 656 00:28:42,800 --> 00:28:44,050 >> DAVID J. Malan: Câu hỏi hay. 657 00:28:44,050 --> 00:28:44,700 Cũng không. 658 00:28:44,700 --> 00:28:51,210 Tôi sẽ gọi jQuery thư viện, nơi lại một thư viện chỉ là một loạt các mã 659 00:28:51,210 --> 00:28:53,250 mà người khác có bằng văn bản, nói chung 660 00:28:53,250 --> 00:28:56,390 giải quyết một số vấn đề mà làm cho nó, hy vọng, dễ dàng hơn 661 00:28:56,390 --> 00:28:57,760 để bạn có thể làm công việc của bạn. 662 00:28:57,760 --> 00:29:00,820 Và hãy để tôi làm một ví dụ về này trong bối cảnh của web. 663 00:29:00,820 --> 00:29:03,910 >> Trong bối cảnh các web có ngôn ngữ này, JavaScript, 664 00:29:03,910 --> 00:29:06,690 rằng chúng ta sẽ thấy sau này, nhờ đó mà bạn có thể nói như thế này-- 665 00:29:06,690 --> 00:29:10,060 "Document.getElementById." 666 00:29:10,060 --> 00:29:11,490 Và tôi đã gọi nó là ngày hôm qua những gì? 667 00:29:11,490 --> 00:29:16,800 Đầu tiên, tôi nghĩ, là ID duy nhất tôi đã đến một yếu tố mà trông như thế này. 668 00:29:16,800 --> 00:29:23,110 "P id =" đầu tiên ">" và sau đó chúng tôi đã có như "ipsum lorem", vân vân. 669 00:29:23,110 --> 00:29:28,210 Vì vậy, nếu tôi đã viết một chương trình trong Javascript để bằng cách nào đó thao tác, 670 00:29:28,210 --> 00:29:30,830 thay đổi các trang web mà chúng tôi đang chơi với ngày hôm qua, 671 00:29:30,830 --> 00:29:33,010 Tôi sẽ sử dụng này dòng được đánh dấu mã 672 00:29:33,010 --> 00:29:38,700 để nhận được rằng đoạn đặc biệt của HTML từ trang của tôi, rằng nút cụ thể, 673 00:29:38,700 --> 00:29:39,680 như chúng ta sẽ gọi nó. 674 00:29:39,680 --> 00:29:44,540 >> Tuy nhiên, trong jQuery, thay vì viết này, đó là nguyên code-- JavaScript 675 00:29:44,540 --> 00:29:48,870 chỉ ra khỏi hộp, đó là cách bạn viết it-- bạn sẽ thay vì chỉ nói, 676 00:29:48,870 --> 00:29:50,260 "#Đầu tiên." 677 00:29:50,260 --> 00:29:52,330 Đó là tương đương. 678 00:29:52,330 --> 00:29:56,040 Và do đó, chỉ dựa trên rất này ví dụ phức tạp, những gì có lẽ 679 00:29:56,040 --> 00:29:57,870 là tham số cho việc sử dụng jQuery? 680 00:29:57,870 --> 00:30:01,390 681 00:30:01,390 --> 00:30:05,111 Tại sao một nhà phát triển sẽ sử dụng một thư viện như jQuery, dựa trên ví dụ này bị cô lập, 682 00:30:05,111 --> 00:30:05,610 có lẽ? 683 00:30:05,610 --> 00:30:06,335 >> Đung Ít mã. 684 00:30:06,335 --> 00:30:06,780 >> DAVID J. Malan: Yeah. 685 00:30:06,780 --> 00:30:07,530 Đó là mã ít hơn. 686 00:30:07,530 --> 00:30:09,070 Nó chỉ là nhanh hơn để loại. 687 00:30:09,070 --> 00:30:11,690 Các đối âm là nó trông đáng sợ. 688 00:30:11,690 --> 00:30:13,540 Bạn có thể không thực sự đọc nó trái sang phải. 689 00:30:13,540 --> 00:30:16,730 Trong thực tế, bởi vì nó chủ yếu là dấu chấm câu hiện thay vì thực tế từ, 690 00:30:16,730 --> 00:30:20,950 Tôi loại có thể suy ra rằng "Document.getElementById" được 691 00:30:20,950 --> 00:30:23,640 một phần tử từ các tài liệu bằng ID của nó. 692 00:30:23,640 --> 00:30:26,750 Tôi thực sự có thể sử dụng không có như vậy dễ nhớ từ điều này ở đây. 693 00:30:26,750 --> 00:30:27,680 >> Vì vậy, nó là một thương mại giảm. 694 00:30:27,680 --> 00:30:30,763 Có một sự tinh tế mà đến thường bằng cách sử dụng thư viện, đặc biệt 695 00:30:30,763 --> 00:30:31,440 như jQuery. 696 00:30:31,440 --> 00:30:34,700 Nhưng thực tế là jQuery có loại của trở thành một thực tế tiêu chuẩn de, 697 00:30:34,700 --> 00:30:38,110 vì vậy mà hầu như bất cứ những ngày người viết mã JavaScript 698 00:30:38,110 --> 00:30:41,520 sử dụng jQuery hoặc một cái gì đó thích nó, và không còn viết 699 00:30:41,520 --> 00:30:45,200 như một biểu thức tiết như này, bởi vì một lần nữa, nhân loại 700 00:30:45,200 --> 00:30:47,850 đã học được, wow, đó là sắp xếp của một cơ hội bỏ lỡ 701 00:30:47,850 --> 00:30:49,030 để làm cho cuộc sống của chúng tôi dễ dàng hơn. 702 00:30:49,030 --> 00:30:51,140 Vì vậy, con người làm cho cuộc sống của họ dễ dàng hơn. 703 00:30:51,140 --> 00:30:53,310 Câu hỏi hay. 704 00:30:53,310 --> 00:30:55,870 >> Các ngôn ngữ khác để xem xét. 705 00:30:55,870 --> 00:30:58,660 Tôi sẽ nói trong này danh sách Ruby là khá phổ biến. 706 00:30:58,660 --> 00:31:01,310 Và như vậy trong thế giới của Ruby, có một khuôn khổ 707 00:31:01,310 --> 00:31:03,590 gọi là Rails, mà là rất phổ biến. 708 00:31:03,590 --> 00:31:06,880 Vì vậy, Ruby on Rails là một thường được sử dụng biểu thức. 709 00:31:06,880 --> 00:31:10,330 Cũng trong thế giới này, cho tôi vòng tròn Java cho các công cụ web, 710 00:31:10,330 --> 00:31:14,160 nơi trong thế giới của Java bạn có thể có JSP, hoặc Java 711 00:31:14,160 --> 00:31:18,450 Servlets, mà là một công nghệ phổ biến. 712 00:31:18,450 --> 00:31:22,560 Và đây chỉ là một lần nữa cách sử dụng một ngôn ngữ trong một môi trường máy chủ. 713 00:31:22,560 --> 00:31:23,520 >> Vì vậy, điều này có nghĩa là gì? 714 00:31:23,520 --> 00:31:25,770 Nếu bạn đã có một thể chất máy chủ, bạn sẽ theo nghĩa đen 715 00:31:25,770 --> 00:31:30,510 tải về phần mềm máy chủ web và cài đặt nó theo cách như vậy 716 00:31:30,510 --> 00:31:33,510 mà bạn có hỗ trợ cho một trong những khung, với đó bạn 717 00:31:33,510 --> 00:31:37,260 có thể, lần lượt, sử dụng một hoặc nhiều ngôn ngữ. 718 00:31:37,260 --> 00:31:40,260 Và trong thực tế, nếu bạn đăng ký như một máy chủ web hoặc một số đám mây 719 00:31:40,260 --> 00:31:41,968 dịch vụ chúng tôi đã nói chuyện về ngày hôm qua, thường 720 00:31:41,968 --> 00:31:44,885 những thứ chỉ đến với cấu hình máy của bạn. 721 00:31:44,885 --> 00:31:46,510 Bạn không cần phải thiết lập này lên tay. 722 00:31:46,510 --> 00:31:51,040 Nhưng nếu bạn đã làm, đây là nơi mà vai trò quản trị hệ thống, có thể nói, 723 00:31:51,040 --> 00:31:51,860 đến chơi. 724 00:31:51,860 --> 00:31:54,151 Anh ta hoặc cô ấy thực sự sẽ làm gì loại công cụ này cho bạn, 725 00:31:54,151 --> 00:31:58,510 hay còn gọi là quản trị trang web sẽ thường xuyên làm điều này cho bạn. 726 00:31:58,510 --> 00:31:59,010 Tất cả các quyền. 727 00:31:59,010 --> 00:32:03,300 Mọi thắc mắc về một số ở đây? 728 00:32:03,300 --> 00:32:06,690 Hoặc bất kỳ cơ hội tại tất cả các yêu cầu về ngôn ngữ? 729 00:32:06,690 --> 00:32:09,500 Khuôn khổ? 730 00:32:09,500 --> 00:32:11,530 Sau đó, hãy để tôi giới thiệu chỉ là một thư viện khác 731 00:32:11,530 --> 00:32:13,150 mà cũng rất phổ biến những ngày này. 732 00:32:13,150 --> 00:32:15,340 Danh sách này có thể đi vào vô hạn. 733 00:32:15,340 --> 00:32:19,140 >> Và thư viện này là loại bắt đầu rơi ra khỏi lợi. 734 00:32:19,140 --> 00:32:19,850 Nó được xung quanh. 735 00:32:19,850 --> 00:32:22,040 Nó được phổ biến bởi Twitter một thời gian. 736 00:32:22,040 --> 00:32:24,470 Và bây giờ rất nhiều trang web, rất nhiều các nhà phát triển sử dụng nó. 737 00:32:24,470 --> 00:32:26,629 Nhưng những điều mới đang đến ra và đến cùng. 738 00:32:26,629 --> 00:32:29,420 Nhưng hãy để tôi chỉ cho bạn một cảm giác về những gì nó có nghĩa là sử dụng một thư viện. 739 00:32:29,420 --> 00:32:32,250 Vì vậy, một lần nữa, JavaScript một ngôn ngữ rất phổ biến. 740 00:32:32,250 --> 00:32:35,340 CSS, hay Cascading Style Sheets, chúng tôi nói chuyện về ngày hôm qua. 741 00:32:35,340 --> 00:32:36,600 Đó cũng là mặt ở khắp nơi. 742 00:32:36,600 --> 00:32:40,130 Không ai làm cho một trang web hiện nay mà không sử dụng HTML và CSS tối thiểu. 743 00:32:40,130 --> 00:32:42,510 Nhưng nó không phải luôn luôn dễ dàng để làm những việc nhất định. 744 00:32:42,510 --> 00:32:46,281 >> Và vì vậy cho tôi đi đến getbootstrap.com. 745 00:32:46,281 --> 00:32:46,780 Lỗi chính. 746 00:32:46,780 --> 00:32:48,280 Đó không phải là cách chúng ta đánh vần. 747 00:32:48,280 --> 00:32:52,410 Getbootstrap.com, mà sẽ dẫn tôi 748 00:32:52,410 --> 00:32:56,140 để trang đích cho thư viện này. 749 00:32:56,140 --> 00:32:59,720 Vì vậy, họ hào phóng gọi mình một khuôn khổ, mà 750 00:32:59,720 --> 00:33:02,032 là loại loại công bằng, nhưng tôi vẫn sẽ gọi nó 751 00:33:02,032 --> 00:33:03,490 nhiều hơn một thư viện hơn một khuôn khổ. 752 00:33:03,490 --> 00:33:05,760 Nhưng đây là những ngữ nghĩa chỉ đáng tranh cãi. 753 00:33:05,760 --> 00:33:12,360 Hãy để tôi đi đến tab CSS của họ và cho tôi đi đến một cái gì đó như thế này. 754 00:33:12,360 --> 00:33:15,450 >> Vì vậy, nhớ lại những gì hình thức của chúng tôi trông như ngày hôm qua trên Cloud9? 755 00:33:15,450 --> 00:33:16,370 Nó là khá xấu xí. 756 00:33:16,370 --> 00:33:17,320 nút trường cũ. 757 00:33:17,320 --> 00:33:20,420 Tôi nghĩ rằng các nút là màu xám bởi mặc định. Và tất cả mọi thứ đã thực sự 758 00:33:20,420 --> 00:33:22,420 định dạng khá cẩu thả. 759 00:33:22,420 --> 00:33:26,940 Vì vậy, nếu bạn muốn các hình thức web của bạn để tìm một chút nicer-- cho tôi phóng to ở đây. 760 00:33:26,940 --> 00:33:30,050 >> Và bằng đẹp hơn tôi thực sự chỉ có nghĩa là thẩm mỹ rất nitpicky. 761 00:33:30,050 --> 00:33:35,390 Vì vậy, chú ý những hộp email đó có một góc hình chữ nhật được làm tròn đến nó. 762 00:33:35,390 --> 00:33:37,010 Vì vậy, nó là một chút bụi đó. 763 00:33:37,010 --> 00:33:40,770 Chú ý rằng các email từ là có cho đến khi tôi bắt đầu gõ 764 00:33:40,770 --> 00:33:41,797 và sau đó nó đi xa. 765 00:33:41,797 --> 00:33:43,130 Vì vậy, đó là một tính năng tốt đẹp chút. 766 00:33:43,130 --> 00:33:46,046 Chú ý cách điều là loại phát sáng độc đáo, mà một số bạn này 767 00:33:46,046 --> 00:33:49,069 nhận được miễn phí từ trình duyệt của bạn, nhưng một số điều này cũng là thư viện, 768 00:33:49,069 --> 00:33:51,360 mã mà người khác có bằng văn bản mà cung cấp cho bạn điều này. 769 00:33:51,360 --> 00:33:53,480 >> Một cái gì đó như thế này mang lại cho tôi mật khẩu của tôi. 770 00:33:53,480 --> 00:33:58,480 Nút này là một chút gợi cảm hơn mặc định. Rất nhiều thịnh hành ngay bây giờ. 771 00:33:58,480 --> 00:34:03,570 Kể từ khi iOS 7 hay như vậy, thế giới đã nhận được rất bằng phẳng, 772 00:34:03,570 --> 00:34:09,000 trong khi thế giới trước khi có nhiều bóng thả, rất nhiều 773 00:34:09,000 --> 00:34:11,040 phản xạ trên biểu tượng. 774 00:34:11,040 --> 00:34:14,170 Cũng giống như trong thế giới quần áo, có xu hướng thời trang mà đến và đi. 775 00:34:14,170 --> 00:34:16,190 Bây giờ tất cả mọi thứ bằng phẳng trên điện thoại của bạn. 776 00:34:16,190 --> 00:34:19,159 >> Trong thực tế, các nút trên của bạn iPhone bây giờ là các liên kết chỉ màu xanh. 777 00:34:19,159 --> 00:34:21,000 Có không phải thường xuyên thậm chí nút tròn. 778 00:34:21,000 --> 00:34:22,791 Vì vậy, đây chỉ là những thứ mà đi vào và ra 779 00:34:22,791 --> 00:34:26,659 thịnh hành, và do đó, đây là như thế nào có lẽ bạn làm cho một mẫu web tìm kiếm hiện đại hơn. 780 00:34:26,659 --> 00:34:27,159 Nút. 781 00:34:27,159 --> 00:34:29,190 Vì vậy Bootstrap đã có rất nhiều các nút khá. 782 00:34:29,190 --> 00:34:33,639 Vì vậy, nếu bạn muốn nút màu xanh, nút màu xanh lá cây, xanh dương, cam, đỏ. 783 00:34:33,639 --> 00:34:35,840 Bootstrap làm cho nó dễ dàng hơn để làm những việc này. 784 00:34:35,840 --> 00:34:38,131 Đây là những loại vật mà bạn có thể hoàn toàn 785 00:34:38,131 --> 00:34:41,840 đã làm ngày hôm qua với CSS và với HTML, nhưng nó chỉ là một cơn đau ở cổ. 786 00:34:41,840 --> 00:34:44,840 Và do đó, thay vào đó, những gì sẽ Bootstrap có bạn làm là một cái gì đó như thế này. 787 00:34:44,840 --> 00:34:48,960 >> Nếu bạn muốn có một button-- quay ra này là một thẻ HTML chúng ta không sử dụng yesterday-- 788 00:34:48,960 --> 00:34:53,070 và bạn muốn nó trông như nút màu xanh lá cây này, 789 00:34:53,070 --> 00:34:57,380 bạn có nghĩa là chỉ cần cho nó một lớp, mà chúng tôi đã nói chuyện về ngày hôm qua, 790 00:34:57,380 --> 00:34:59,710 của "btn btn-thành công." 791 00:34:59,710 --> 00:35:00,971 >> Tại sao những lời đó? 792 00:35:00,971 --> 00:35:03,470 Twitter, các tác giả của Bootstrap, đã đưa ra những lời đó. 793 00:35:03,470 --> 00:35:05,428 Họ có thể gọi họ bất cứ điều gì họ muốn. 794 00:35:05,428 --> 00:35:08,480 Nhưng những gì bạn đang nhận được hiện nay là một người nào khác ở Twitter, trong trường hợp này, 795 00:35:08,480 --> 00:35:12,360 đã tìm ra cách để bạn thực hiện một nút nhìn đẹp và sạch sẽ và xanh lá cây. 796 00:35:12,360 --> 00:35:15,580 Họ đóng gói lên chức năng trong một lớp CSS, được gọi là "btn" 797 00:35:15,580 --> 00:35:19,790 và "btn-thành công", vì vậy mà bất kỳ người trong chúng ta có thể bây giờ sử dụng nó mà không cần suy nghĩ về 798 00:35:19,790 --> 00:35:20,290 nó. 799 00:35:20,290 --> 00:35:22,880 Vì vậy, họ đã trừu tượng hóa đi khái niệm về một nút màu xanh lá cây 800 00:35:22,880 --> 00:35:25,320 vì vậy chúng tôi không cần phải quan tâm thực hiện nó chính mình. 801 00:35:25,320 --> 00:35:28,520 Chúng tôi thực sự có thể tập trung vào việc thực hiện điều quan tâm đến chúng tôi. 802 00:35:28,520 --> 00:35:30,902 >> Nếu chúng ta di chuyển xuống đây. 803 00:35:30,902 --> 00:35:32,110 Thông báo lỗi trên màn hình. 804 00:35:32,110 --> 00:35:35,440 Đôi khi bạn muốn có một thông điệp nhỏ xuất hiện trên cùng của trình duyệt. 805 00:35:35,440 --> 00:35:39,729 Bất kỳ người trong chúng ta có thể làm điều này với một số nỗ lực, sau bài học của ngày hôm qua, 806 00:35:39,729 --> 00:35:40,770 nhưng tại sao bạn sẽ bận tâm? 807 00:35:40,770 --> 00:35:42,540 Đó thật là một nhàm chán chi tiết thẩm mỹ. 808 00:35:42,540 --> 00:35:44,248 Hãy đứng trên vai của Bootstrap 809 00:35:44,248 --> 00:35:49,440 và để họ cung cấp cho chúng ta những điều như thế này, nơi chúng tôi theo nghĩa đen, để có được một hộp màu đỏ, 810 00:35:49,440 --> 00:35:53,220 chỉ cần có để làm một đoạn thẻ với một lớp lượng-- xin lỗi. 811 00:35:53,220 --> 00:35:57,307 "Bg-nguy hiểm" sẽ cung cấp cho chúng tôi hộp màu đỏ này thay thế. 812 00:35:57,307 --> 00:35:59,140 Bây giờ chúng ta hãy đi đến điều thú vị hơn. 813 00:35:59,140 --> 00:36:02,950 Nếu tôi trở về đầu Trang này và đi đến thành phần, 814 00:36:02,950 --> 00:36:05,380 giờ đây thế giới sẽ thú vị hơn. 815 00:36:05,380 --> 00:36:08,826 Ví dụ, rất phổ biến là trình đơn thả xuống như thế này. 816 00:36:08,826 --> 00:36:11,560 Đây sẽ là một tuyệt đối đau để thực hiện. 817 00:36:11,560 --> 00:36:13,610 Và đó không phải là dài trước đây mà chúng tôi lập trình 818 00:36:13,610 --> 00:36:16,490 sẽ phải thực hiện các các loại menu từ đầu. 819 00:36:16,490 --> 00:36:20,800 >> Nhưng đó là một mô hình phổ biến như rằng các thư viện như Bootstrap 820 00:36:20,800 --> 00:36:25,230 chỉ cung cấp cho bạn khả năng để thực hiện một trình đơn thả xuống ở xa, rất dễ dàng hơn. 821 00:36:25,230 --> 00:36:27,850 Không có một cách để làm điều đó, nhưng nếu tôi đọc tài liệu 822 00:36:27,850 --> 00:36:32,100 Tôi thấy rằng, OK, tôi nên sử dụng HTML này nếu tôi muốn có một trình đơn thả xuống 823 00:36:32,100 --> 00:36:34,030 mà cư xử như thế. 824 00:36:34,030 --> 00:36:36,690 >> Tương tự như vậy, chúng ta hãy đi đến nút thả xuống. 825 00:36:36,690 --> 00:36:38,470 Vì vậy, điều này thậm chí fancier. 826 00:36:38,470 --> 00:36:41,800 Nếu tôi muốn điều này trông giống như một nút nhưng điều đó có nghĩa là hình tam giác nhỏ 827 00:36:41,800 --> 00:36:44,080 Tôi cần click vào nó và nhận được đơn này, điều này 828 00:36:44,080 --> 00:36:45,760 là sử dụng một ngôn ngữ được gọi là JavaScript. 829 00:36:45,760 --> 00:36:47,470 Và tất cả chúng ta có thể thực hiện này trong JavaScript. 830 00:36:47,470 --> 00:36:49,720 Nhưng một lần nữa, đây là một bánh xe bạn không muốn tái tạo lại. 831 00:36:49,720 --> 00:36:52,700 Bạn chỉ muốn cởi nó ra thư viện kệ cho việc này. 832 00:36:52,700 --> 00:36:58,145 >> Hãy đi đến một cái gì đó như tiến quán bar. 833 00:36:58,145 --> 00:36:59,770 Vì vậy, một cái gì đó như thế này là loại mát mẻ. 834 00:36:59,770 --> 00:37:02,910 Nếu bạn đã từng nhìn thấy một sự tiến bộ thanh di chuyển trên màn hình, 835 00:37:02,910 --> 00:37:06,380 thực hiện thường chỉ là một biểu tượng quay tròn. 836 00:37:06,380 --> 00:37:10,200 Trong thực tế, giống như một sang một bên, chúng ta hãy tôi đi đến Ajax-- nó là gì? 837 00:37:10,200 --> 00:37:10,710 Thông tin Ajax? 838 00:37:10,710 --> 00:37:11,720 Lỗi chính. 839 00:37:11,720 --> 00:37:13,035 Ajaxinfo. 840 00:37:13,035 --> 00:37:14,800 Hãy để tôi nhớ địa chỉ. 841 00:37:14,800 --> 00:37:15,820 Hiện chúng tôi đi. 842 00:37:15,820 --> 00:37:19,850 >> Vì vậy, nếu bạn đã từng nhìn thấy một số hình ảnh động trong khi trang đang tải, hoặc suy nghĩ, 843 00:37:19,850 --> 00:37:25,410 hoặc tiết kiệm, hoặc tạo ra một cái gì đó, bạn có thể thấy hình ảnh động như vậy. 844 00:37:25,410 --> 00:37:28,800 Vì vậy, chúng ta hãy nhìn vào một cái gì đó như thế này đây, 845 00:37:28,800 --> 00:37:33,550 và chúng ta hãy chọn một màu nền trước của màu xanh lá cây, mà cảm thấy loại thân thiện. 846 00:37:33,550 --> 00:37:34,545 Tôi có thể bấm vào đây? 847 00:37:34,545 --> 00:37:35,500 Hãy đến một. 848 00:37:35,500 --> 00:37:36,000 ĐƯỢC. 849 00:37:36,000 --> 00:37:38,930 Chúng tôi sẽ chỉ đi với màu đỏ vì đó là những gì chúng tôi đang nhận được. 850 00:37:38,930 --> 00:37:40,250 Vì vậy, ở đây chúng tôi có nó. 851 00:37:40,250 --> 00:37:43,940 >> Vì vậy, nếu bạn đã từng nhìn thấy điều này trên một màn hình, theo đó đột nhiên nó xuất hiện và sau đó 852 00:37:43,940 --> 00:37:47,550 đột nhiên biến mất, những gì là nó đó là thực hiện điều đó? 853 00:37:47,550 --> 00:37:48,970 Vâng, đây chỉ là một GIF. 854 00:37:48,970 --> 00:37:52,850 G-I-F. Và đây là một phim hoạt hình nộp, mà chỉ có nghĩa là 855 00:37:52,850 --> 00:37:54,327 nó giống như một cuốn sách truyện tranh trường học cũ. 856 00:37:54,327 --> 00:37:57,160 Không chỉ là một bó khác nhau khung rằng sẽ [nói lắp] 857 00:37:57,160 --> 00:37:58,085 và chỉ lặp đi lặp lại. 858 00:37:58,085 --> 00:38:00,090 Và nó tạo ảo tưởng của phong trào. 859 00:38:00,090 --> 00:38:03,070 >> Vì vậy, ngay sau khi một trang được thực hiện tải hoặc làm một cái gì đó, 860 00:38:03,070 --> 00:38:04,610 những gì hiện một lập trình viên làm gì? 861 00:38:04,610 --> 00:38:07,500 Vâng, anh ấy hoặc cô ấy chỉ ẩn hình ảnh này. 862 00:38:07,500 --> 00:38:11,536 Vì vậy, tất cả một thanh tiến trình đang được loại của giống như một bộ phim mà bạn đang xem. 863 00:38:11,536 --> 00:38:14,660 Bạn đang loại không biết gì về thực tế rằng nó không thực sự làm bất cứ điều gì, 864 00:38:14,660 --> 00:38:15,940 nó chỉ di chuyển. 865 00:38:15,940 --> 00:38:19,150 >> Và sau đó, khi nó được thực hiện tiến bộ, họ chỉ ẩn nó hoặc tắt nó đi. 866 00:38:19,150 --> 00:38:21,115 Và đó là tất cả sự kỳ diệu đang xảy ra ở đó. 867 00:38:21,115 --> 00:38:22,770 Bootstrap cung cấp cho bạn một chút gì đó fancier, 868 00:38:22,770 --> 00:38:25,030 nhờ đó mà bạn có thể thực sự thấy một tỷ lệ như nó đi, 869 00:38:25,030 --> 00:38:27,840 nhưng nó cũng chỉ là loại của một hình ảnh động đơn giản. 870 00:38:27,840 --> 00:38:32,250 >> Hãy nhìn vào một số thức ví dụ phức tạp hơn ở đây. 871 00:38:32,250 --> 00:38:35,526 Một cái gì đó giống như một phương thức. 872 00:38:35,526 --> 00:38:36,900 Có ai biết những gì một phương thức là? 873 00:38:36,900 --> 00:38:39,880 874 00:38:39,880 --> 00:38:42,550 Một cửa sổ phương thức chung là một trong đó là nghĩa vụ 875 00:38:42,550 --> 00:38:46,880 để kiểm soát tiền cảnh và ngăn cản bạn làm bất cứ điều gì khác. 876 00:38:46,880 --> 00:38:50,290 Nó loại buộc của người sử dụng chú ý đến điểm giữa của màn hình, 877 00:38:50,290 --> 00:38:52,290 khóa chúng, thông thường, mọi thứ khác. 878 00:38:52,290 --> 00:38:55,830 >> Vì vậy, nếu tôi khởi động demo này, các màn hình thường sẽ trở thành màu xám. 879 00:38:55,830 --> 00:38:57,060 Vâng, làm thế nào để chúng tôi làm cho nó màu xám? 880 00:38:57,060 --> 00:38:59,080 Vâng, có lẽ chúng ta chỉ thay đổi màu nền 881 00:38:59,080 --> 00:39:01,060 như chúng ta đã làm ngày hôm qua hay đại loại thế. 882 00:39:01,060 --> 00:39:03,490 Có thể đó là một lớp phủ mà bán trong suốt. 883 00:39:03,490 --> 00:39:06,320 Và bây giờ nhận thấy bạn có thể làm điều lạ mắt như thế này. 884 00:39:06,320 --> 00:39:09,930 Vì vậy, nếu bạn đã bao giờ nhấp chuột vào một nút và muốn có một chút pop ra để xuất hiện, 885 00:39:09,930 --> 00:39:10,710 bạn có thể làm điều đó. 886 00:39:10,710 --> 00:39:12,340 Và do đó, những người quan tâm về all-- yeah? 887 00:39:12,340 --> 00:39:15,791 >> KHÁN GIẢ: với Bootstrap, để có được nó kết hợp, 888 00:39:15,791 --> 00:39:21,002 là nó đơn giản như như ngày hôm qua chúng tôi đã trang phong cách CSS? 889 00:39:21,002 --> 00:39:21,960 DAVID J. Malan: Thật vậy. 890 00:39:21,960 --> 00:39:22,835 Thực sự tốt câu hỏi. 891 00:39:22,835 --> 00:39:24,480 Hãy để tôi đi để Bắt đầu. 892 00:39:24,480 --> 00:39:26,090 Và vâng. 893 00:39:26,090 --> 00:39:30,920 Tất cả bạn phải làm để sử dụng Bootstrap là về cơ bản sao chép 894 00:39:30,920 --> 00:39:35,910 và dán ba đường dài mã vào đầu page-- web của riêng bạn 895 00:39:35,910 --> 00:39:38,892 người đứng đầu page-- của bạn và bạn đang lên và chạy. 896 00:39:38,892 --> 00:39:41,850 Và có những cách khác nhau để làm nó, nhưng điều này sẽ là đơn giản nhất. 897 00:39:41,850 --> 00:39:45,190 >> Vì vậy, những gì là hữu ích về tất cả những điều này? 898 00:39:45,190 --> 00:39:47,524 Vâng, nếu bạn không quá nhiều người thực hiện của một trang web 899 00:39:47,524 --> 00:39:50,106 nhưng bạn đang cố gắng để thiết kế nó, hoặc bạn muốn cung cấp cho một người nào đó 900 00:39:50,106 --> 00:39:53,220 với sơ đồ khung dây, có thể nói, hoặc lồng vào cốt chỉ nghệ sĩ của những gì 901 00:39:53,220 --> 00:39:56,080 bạn muốn làm, tôi, để điều này ngày, thường sẽ đi đến một trang web 902 00:39:56,080 --> 00:39:58,660 như Bootstrap, mà nếu tôi muốn thực hiện một cái gì đó-- 903 00:39:58,660 --> 00:40:02,290 như thời gian gần đây trong khuôn viên trường chúng tôi muốn thực hiện 904 00:40:02,290 --> 00:40:06,170 một trang web dựa trên công cụ để điều hướng Danh mục Tất nhiên Harvard, 905 00:40:06,170 --> 00:40:08,770 làm cho nó dễ dàng hơn cho sinh viên duyệt qua các khóa học 906 00:40:08,770 --> 00:40:10,930 và thêm các khóa học để danh sách mua sắm, có thể nói, 907 00:40:10,930 --> 00:40:13,070 để loại quyết định những gì họ muốn có. 908 00:40:13,070 --> 00:40:16,252 >> Tôi đã cố gắng để tưởng tượng cho bản thân mình, những thành phần sẽ 909 00:40:16,252 --> 00:40:17,460 chúng tôi muốn sử dụng để xây dựng này? 910 00:40:17,460 --> 00:40:19,050 Điều gì sẽ giao diện người dùng như thế nào? 911 00:40:19,050 --> 00:40:22,800 Và chỉ cần nhìn qua một trang web như này hoặc những trang thư viện khác như vậy, 912 00:40:22,800 --> 00:40:26,560 bạn có thể có được cảm hứng, vì wow, Tôi có thể sử dụng tiện ích này, và widget này, 913 00:40:26,560 --> 00:40:27,330 và widget này. 914 00:40:27,330 --> 00:40:29,080 Và sau đó thực sự những gì các lập trình viên bắt đầu 915 00:40:29,080 --> 00:40:32,800 để làm, đặc biệt là trong những ngày này ở đây hơn thế giới hiện đại của lập trình web, 916 00:40:32,800 --> 00:40:35,827 là chương trình ngày càng về hệ thống dây điện điều với nhau. 917 00:40:35,827 --> 00:40:38,910 Sắp xếp chụp này ra khỏi kệ, này ra khỏi kệ, điều này ra khỏi kệ, 918 00:40:38,910 --> 00:40:41,954 và bạn là một thông minh để kết nối tất cả những dấu chấm, 919 00:40:41,954 --> 00:40:45,120 nhưng cuối cùng xây dựng một cái gì đó bởi một lần nữa đứng trên vai của những người khác, 920 00:40:45,120 --> 00:40:49,370 do đó bạn không dành một tháng thực hiện giảm ngu ngốc down menu, 921 00:40:49,370 --> 00:40:52,080 mà thực sự là khó có thể làm gì nếu bạn muốn nó hoạt động trên Chrome, 922 00:40:52,080 --> 00:40:55,220 và IE, Firefox, và bất kỳ số trình duyệt khác. 923 00:40:55,220 --> 00:40:59,060 Đây là lý do tại sao có sự phong phú này phần mềm mã nguồn mở và thương mại 924 00:40:59,060 --> 00:41:01,220 ngành công nghiệp là tốt. 925 00:41:01,220 --> 00:41:06,810 >> KHÁN GIẢ: không Bootstrap được cập nhật và bạn có để sau đó cập nhật các liên kết của bạn? 926 00:41:06,810 --> 00:41:07,820 >> DAVID J. Malan: Nó không. 927 00:41:07,820 --> 00:41:09,090 Vâng, vâng, nó. 928 00:41:09,090 --> 00:41:12,540 Bootstrap hiện đang ở phiên bản 3.3.6. 929 00:41:12,540 --> 00:41:16,720 Và nói chung những gì bạn sẽ do-- đây thực sự là điều đáng nói. 930 00:41:16,720 --> 00:41:19,200 Có gì là nói chung được biết đến như một versioning ngữ nghĩa 931 00:41:19,200 --> 00:41:20,160 hệ thống trên thế giới. 932 00:41:20,160 --> 00:41:21,320 Không phải ai cũng thực hiện điều này. 933 00:41:21,320 --> 00:41:26,410 >> Nhưng nếu bạn đã nhìn thấy số phiên bản mà có dạng x.y.z-- 934 00:41:26,410 --> 00:41:30,240 vậy ví dụ, phiên bản đầu tiên của một chương trình có thể là 1.0.0. 935 00:41:30,240 --> 00:41:34,970 Hoặc nếu nó rất, rất beta, hoặc thậm chí tình trạng alpha, có nghĩa là sử dụng 936 00:41:34,970 --> 00:41:37,620 nguy cơ của riêng của bạn, nó không thực sự sẵn sàng cho thời gian đầu, 937 00:41:37,620 --> 00:41:42,080 thậm chí bạn có thể bắt đầu 0.0.1 hoặc một số chỉ định như vậy. 938 00:41:42,080 --> 00:41:47,260 Nhưng nếu phần mềm bắt đầu từ phiên bản 1.0 hoặc tương đương 1.0.0, 939 00:41:47,260 --> 00:41:50,530 thường, những gì là phổ biến những days-- mặc dù không phải là omnipresent-- 940 00:41:50,530 --> 00:41:53,520 nếu một công ty hoặc một sửa trình cá nhân 941 00:41:53,520 --> 00:41:56,140 một số lỗi trong một số mảnh của phần mềm đó thực sự 942 00:41:56,140 --> 00:42:01,620 là một lỗi, mà chỉnh nên không tác động bạn tại all-- nó không thay đổi 943 00:42:01,620 --> 00:42:03,940 hành vi của chương trình, nó chỉ sửa chữa một cái gì đó 944 00:42:03,940 --> 00:42:06,580 mà không được làm việc properly-- bạn sẽ thường 945 00:42:06,580 --> 00:42:08,890 cập nhật các giá trị z đó. 946 00:42:08,890 --> 00:42:12,900 Có nghĩa là một người như Kareem chỉ đơn giản là có thể đi vào trang web của mình, 947 00:42:12,900 --> 00:42:19,470 một cách mù quáng thay đổi số phiên bản từ 1.0.0 đến 1.0.1, lưu nó, tàu nó, 948 00:42:19,470 --> 00:42:21,880 và trong lý thuyết, không phải lo lắng rằng anh ấy chỉ bị phá vỡ 949 00:42:21,880 --> 00:42:24,430 trang web của mình vì một số thiếu chức năng, 950 00:42:24,430 --> 00:42:25,870 vì cái gì khác đã phá vỡ. 951 00:42:25,870 --> 00:42:28,740 >> Trong khi đó, nếu tôi là lập trình viên hoặc một số công ty 952 00:42:28,740 --> 00:42:35,500 đã làm cho một số đáng kể thay đổi thêm chức năng, 953 00:42:35,500 --> 00:42:40,320 Tôi có thể cập nhật chúng tôi 1.1.0 bởi vì tôi thực sự 954 00:42:40,320 --> 00:42:42,200 thay đổi hành vi của thư viện. 955 00:42:42,200 --> 00:42:44,470 Tôi đang cho bạn các chức năng có thể nhiều hơn. 956 00:42:44,470 --> 00:42:48,490 Cuối cùng, nếu tôi đã thực sự thay đổi cơ bản các phần mềm như vậy 957 00:42:48,490 --> 00:42:54,380 nhiều mà nó sẽ phá vỡ nhiều người sử dụng các trang web hoặc các ứng dụng, 958 00:42:54,380 --> 00:42:59,550 sau đó tôi có nghĩa vụ, trong mô hình này, để nâng cấp các số phiên bản lớn quá, 959 00:42:59,550 --> 00:43:01,059 đó là một thay đổi phá vỡ. 960 00:43:01,059 --> 00:43:03,725 Nói cách khác, tôi có thể có hỗ trợ ngưng cho những giọt 961 00:43:03,725 --> 00:43:04,350 down menu. 962 00:43:04,350 --> 00:43:07,790 Vì vậy, nếu bạn nâng cấp lên 2.0, một nửa trang web của bạn có thể ngừng làm việc. 963 00:43:07,790 --> 00:43:10,950 Và đây là sắp xếp của một tín hiệu cho cộng đồng như những gì 964 00:43:10,950 --> 00:43:13,223 tham gia vào việc nâng cấp. 965 00:43:13,223 --> 00:43:16,710 966 00:43:16,710 --> 00:43:18,020 Một cơ hội tốt để nâng cao. 967 00:43:18,020 --> 00:43:18,718 Câu hỏi khác? 968 00:43:18,718 --> 00:43:21,761 969 00:43:21,761 --> 00:43:22,260 Tất cả các quyền. 970 00:43:22,260 --> 00:43:26,945 Vâng chúng ta hãy có một cái nhìn tại một thức chủ đề trong phân khúc này của chương trình 971 00:43:26,945 --> 00:43:30,640 của ngăn xếp công nghệ, cụ thể là liên quan đến điện thoại di động. 972 00:43:30,640 --> 00:43:36,232 >> Vì vậy, trong thế giới của điện thoại di động ngày nay bạn có-- và iPad, và các bề mặt, 973 00:43:36,232 --> 00:43:37,940 và tất cả những loại của devices-- bạn có 974 00:43:37,940 --> 00:43:40,950 rất nhiều sự lựa chọn khi nói đến việc thực hiện 975 00:43:40,950 --> 00:43:47,270 một ứng dụng hoặc một trang web cho thiết bị di động của khách hàng. 976 00:43:47,270 --> 00:43:51,570 Vì vậy, chỉ với nhà nước rõ ràng, có lẽ những ngày này, 977 00:43:51,570 --> 00:43:54,960 những nền tảng để là gì phát triển cho trong không gian di động? 978 00:43:54,960 --> 00:43:59,650 Những thiết bị mà bạn có thể muốn hỗ trợ với ứng dụng hoặc trang web của bạn? 979 00:43:59,650 --> 00:44:00,317 >> Đung Apple. 980 00:44:00,317 --> 00:44:01,108 DAVID J. Malan: OK. 981 00:44:01,108 --> 00:44:01,820 Vì vậy, các thiết bị của Apple. 982 00:44:01,820 --> 00:44:06,740 Vì vậy, đó có nghĩa là iPhone, và rằng có nghĩa là iPad, và thậm chí có thể iPod. 983 00:44:06,740 --> 00:44:07,627 Những gì người khác? 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 >> Đung Android. 987 00:44:11,970 --> 00:44:13,111 >> DAVID J. Malan: Android. 988 00:44:13,111 --> 00:44:13,610 ĐƯỢC. 989 00:44:13,610 --> 00:44:17,335 điện thoại Vì vậy, Android, Android máy tính bảng, thị trường Android 990 00:44:17,335 --> 00:44:21,240 thậm chí còn Messier because-- và thậm chí cả Apple đang trở thành lộn xộn. 991 00:44:21,240 --> 00:44:23,960 Trong khi đó, một lần khi một thời gian iPhone là một kích thước nhất định, 992 00:44:23,960 --> 00:44:26,560 và iPad là một kích thước nhất định, và iPod là một kích thước nhất định, bây giờ 993 00:44:26,560 --> 00:44:33,420 chúng tôi có iPad Mini, và mỏng những người thân, và iPhone 6 Plus và 6. 994 00:44:33,420 --> 00:44:34,407 Nó trở thành một mớ hỗn độn. 995 00:44:34,407 --> 00:44:35,740 Nó trở thành thế giới Android. 996 00:44:35,740 --> 00:44:39,030 >> Và tôi nói điều này với loại cán đôi mắt của tôi, vì từ một nhà phát triển 997 00:44:39,030 --> 00:44:41,680 quan điểm, nó là một đau ở cổ khi 998 00:44:41,680 --> 00:44:45,686 bạn không có Steve Jobs tầm nhìn của kiểm soát tuyệt đối 999 00:44:45,686 --> 00:44:47,060 trên tất cả các chi tiết kỹ thuật. 1000 00:44:47,060 --> 00:44:49,726 Apple vẫn làm vì họ những người xây dựng phần cứng. 1001 00:44:49,726 --> 00:44:52,690 Nhưng đó là một điều tốt đẹp, nếu Tôi là một nhà phát triển phần mềm, 1002 00:44:52,690 --> 00:44:54,520 chỉ biết rằng tôi iPhone là luôn luôn đi 1003 00:44:54,520 --> 00:44:56,850 được điều này bởi vì lớn có nghĩa là tôi luôn biết 1004 00:44:56,850 --> 00:44:58,847 bao nhiêu màn hình bất động sản tôi có. 1005 00:44:58,847 --> 00:45:01,180 Vì vậy, nếu tôi muốn đặt một biểu tượng ở góc trên bên trái, 1006 00:45:01,180 --> 00:45:04,530 nó sẽ được chính xác giống nhau đặt trên thiết bị của mỗi khách hàng duy nhất. 1007 00:45:04,530 --> 00:45:07,140 >> Nhưng trong thế giới của iPhone 6s và iPhone 6 Điểm cộng 1008 00:45:07,140 --> 00:45:10,570 và trong thế giới Android điện thoại, tất cả đã qua bản đồ. 1009 00:45:10,570 --> 00:45:13,580 Và do đó, nó làm cho nó khó khăn hơn cho chương trình mọi thứ, đặc biệt là giao diện người dùng, 1010 00:45:13,580 --> 00:45:18,270 bởi vì bây giờ bạn phải bắt đầu sắp xếp giao diện người dùng của bạn tương đối, không 1011 00:45:18,270 --> 00:45:19,730 chắc chắn rồi. 1012 00:45:19,730 --> 00:45:23,524 Và cùng đã được thực sự trên các trình duyệt, và máy tính để bàn, máy tính xách tay và trong nhiều năm 1013 00:45:23,524 --> 00:45:25,690 bởi vì bạn, tất nhiên, có kích thước màn hình khác nhau. 1014 00:45:25,690 --> 00:45:26,189 >> Những gì người khác? 1015 00:45:26,189 --> 00:45:30,170 Bạn có thể có các bề mặt, như từ Microsoft. 1016 00:45:30,170 --> 00:45:31,270 Bạn có thể có-- 1017 00:45:31,270 --> 00:45:32,270 Đung Windows phone. 1018 00:45:32,270 --> 00:45:32,816 DAVID J. Malan: Đó là gì? 1019 00:45:32,816 --> 00:45:33,570 Đung Windows phone. 1020 00:45:33,570 --> 00:45:34,403 DAVID J. Malan: Có. 1021 00:45:34,403 --> 00:45:37,570 Vì vậy, điện thoại cửa sổ vẫn có thể được tìm thấy. 1022 00:45:37,570 --> 00:45:41,840 Loại loại BlackBerry, nhưng họ tiếp tục cố gắng. 1023 00:45:41,840 --> 00:45:43,900 Và sau đó các chùm các thiết bị khác. 1024 00:45:43,900 --> 00:45:48,020 Vì vậy, đối với hầu hết các phần, chúng ta hãy nói đó là những cái 1025 00:45:48,020 --> 00:45:49,520 quan tâm vào lúc này. 1026 00:45:49,520 --> 00:45:51,890 Chắc chắn những thứ Apple, chắc chắn các công cụ Android, 1027 00:45:51,890 --> 00:45:55,640 và trong Windows, như viên nén bề mặt dường như được đánh bắt trên khá tốt. 1028 00:45:55,640 --> 00:45:58,030 >> Và do đó, trong số những thiết bị, nếu bạn muốn lăn ra, 1029 00:45:58,030 --> 00:46:02,677 hãy nói, sự hiện diện của điện thoại di động cho bạn công ty, những loại quyết định thiết kế 1030 00:46:02,677 --> 00:46:03,510 Bạn phải thực hiện? 1031 00:46:03,510 --> 00:46:06,350 Vâng, chúng tôi đã nói trong thế giới của Apple, 1032 00:46:06,350 --> 00:46:08,790 có ít nhất hai ngôn ngữ thường được sử dụng. 1033 00:46:08,790 --> 00:46:10,260 Một được gọi là gì? 1034 00:46:10,260 --> 00:46:11,260 >> Đung Objective-C. 1035 00:46:11,260 --> 00:46:11,560 >> DAVID J. Malan: Yeah. 1036 00:46:11,560 --> 00:46:13,600 Vì vậy, Objective-C, đó là đứa lớn chỉ. 1037 00:46:13,600 --> 00:46:17,720 Đó cũng là ngôn ngữ mà nhiều Mac ứng dụng vẫn còn được viết. 1038 00:46:17,720 --> 00:46:18,964 Sau đó, một trong những khác mới hơn là? 1039 00:46:18,964 --> 00:46:19,630 Đung Swift. 1040 00:46:19,630 --> 00:46:20,590 DAVID J. Malan: Swift. 1041 00:46:20,590 --> 00:46:23,900 Và đó là những loại hai biết để gây ấn tượng với folks. 1042 00:46:23,900 --> 00:46:28,238 Sau đó, trong thế giới Android, bằng ngôn ngữ nào Android sử dụng không? 1043 00:46:28,238 --> 00:46:30,618 >> Đung C #? 1044 00:46:30,618 --> 00:46:31,570 >> Đung Java. 1045 00:46:31,570 --> 00:46:34,230 >> DAVID J. Malan: Java là ngôn ngữ của "du jour". 1046 00:46:34,230 --> 00:46:37,950 Trong thế giới Windows, chắc chắn, chúng tôi sẽ nói C # trong trường hợp đó. 1047 00:46:37,950 --> 00:46:40,590 Vì vậy, đã là loại khó chịu, bởi vì những gì 1048 00:46:40,590 --> 00:46:43,070 các takeaway cho một doanh nghiệp chủ sở hữu hoặc người chỉ 1049 00:46:43,070 --> 00:46:44,570 muốn tung ra một sự hiện diện điện thoại di động? 1050 00:46:44,570 --> 00:46:45,220 Giống như, chết tiệt? 1051 00:46:45,220 --> 00:46:48,590 Giống như, nếu tôi muốn hỗ trợ một cơ sở người dùng khá rộng, 1052 00:46:48,590 --> 00:46:52,180 Tôi phải viết, nó sẽ có vẻ, ba ứng dụng riêng biệt. 1053 00:46:52,180 --> 00:46:55,630 Một trong một trong các thứ tiếng, một trong Java, một trong C #. 1054 00:46:55,630 --> 00:46:59,620 Và thậm chí nếu tôi muốn các chức năng để được giống hệt nhau, nó không quan trọng. 1055 00:46:59,620 --> 00:47:02,940 Tôi vẫn cần phải sử dụng khác nhau ngôn ngữ bởi vì Apple và Microsoft, 1056 00:47:02,940 --> 00:47:06,084 và Google tất cả các hỗ trợ môi trường khác nhau. 1057 00:47:06,084 --> 00:47:07,750 Và đây là một thách thức trong nhiều năm. 1058 00:47:07,750 --> 00:47:10,100 Quay lại trong ngày, khi người sử dụng để mua các phần mềm 1059 00:47:10,100 --> 00:47:12,230 tại một cửa hàng máy tính ở co hộp bọc, 1060 00:47:12,230 --> 00:47:14,470 bạn sẽ có thể sở để tiếp cận với các kệ Mac, 1061 00:47:14,470 --> 00:47:19,040 hoặc tôi-- có lẽ điều này Mac rất nhỏ shelf-- hoặc kệ của Windows lớn hơn 1062 00:47:19,040 --> 00:47:19,980 và mua một số phần mềm. 1063 00:47:19,980 --> 00:47:22,813 Và rất thường xuyên, không có ở đó, ngay cả bất cứ điều gì cho bạn trên các kệ Mac. 1064 00:47:22,813 --> 00:47:23,430 Tại sao? 1065 00:47:23,430 --> 00:47:26,900 Vâng, công ty đã quyết định nếu 90% của thế giới, 95% của thế giới 1066 00:47:26,900 --> 00:47:31,180 có máy tính, tại sao bận tâm thậm chí thực hiện những điều trên Mac OS? 1067 00:47:31,180 --> 00:47:34,370 >> Là một tổng aside-- digression-- tại sao nó 1068 00:47:34,370 --> 00:47:40,960 Mạc dường như không thấm nước để virus, và sâu, và các mối đe dọa an ninh? 1069 00:47:40,960 --> 00:47:44,040 Apple tốt hơn lúc này? 1070 00:47:44,040 --> 00:47:45,934 Tốt hơn trong việc giữ máy tính an toàn? 1071 00:47:45,934 --> 00:47:47,750 >> Đung khán giả nhỏ hơn? 1072 00:47:47,750 --> 00:47:50,720 >> DAVID J. Malan: Đó là có lẽ là hơi lớn hơn để nó. 1073 00:47:50,720 --> 00:47:54,740 Vì vậy, nhiều người sử dụng máy Mac có lâu tuyên bố, oh, sử dụng một máy Mac, 1074 00:47:54,740 --> 00:47:57,630 bạn sẽ được miễn dịch với virus, và sâu, và tất cả những điều 1075 00:47:57,630 --> 00:47:59,180 mà từ lâu đã cản máy tính. 1076 00:47:59,180 --> 00:48:02,050 Đó có thể là bởi vì Apple có lập trình viên tốt hơn 1077 00:48:02,050 --> 00:48:05,250 và họ viết phần mềm tốt hơn, hoặc hệ điều hành được thiết kế tốt hơn. 1078 00:48:05,250 --> 00:48:06,870 Có thể, nhưng có lẽ không. 1079 00:48:06,870 --> 00:48:10,840 >> Có thể nói rằng khi bạn đang 12 tuổi, hoặc 30 gì đó 1080 00:48:10,840 --> 00:48:13,510 loại ngồi tại văn bản nhà phần mềm độc hại để tiếp nhận 1081 00:48:13,510 --> 00:48:17,480 thế giới, bạn sẽ đi sau các đối tượng mục tiêu lớn hơn nhiều. 1082 00:48:17,480 --> 00:48:20,590 95% của thế giới những người có thể chạy Windows hoặc một số 1083 00:48:20,590 --> 00:48:21,740 các biến thể của nó. 1084 00:48:21,740 --> 00:48:23,800 Vì vậy, có một chút của cả hai bên. 1085 00:48:23,800 --> 00:48:25,710 Tuy nhiên, để tín dụng của họ, Apple, để kiến ​​thức của tôi, 1086 00:48:25,710 --> 00:48:28,270 chưa thực sự chào mình là an toàn hơn, 1087 00:48:28,270 --> 00:48:32,110 kể từ khi bạn tôi chỉ mời phim truyền hình nếu bạn làm cho tuyên bố rằng, tôi sẽ suy nghĩ. 1088 00:48:32,110 --> 00:48:32,610 >> Tất cả các quyền. 1089 00:48:32,610 --> 00:48:36,490 Nếu không đi quá xa xuống rằng, làm thế nào để chúng tôi giải quyết này? 1090 00:48:36,490 --> 00:48:39,670 Bạn phải mua hoặc làm bạn phải trả ba người khác nhau để phát triển 1091 00:48:39,670 --> 00:48:41,540 ứng dụng của bạn? 1092 00:48:41,540 --> 00:48:42,870 Bạn chọn một trong khác không? 1093 00:48:42,870 --> 00:48:45,460 Gì nên hướng dẫn của bạn suy nghĩ ở đây bạn nghĩ sao? 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 Nope. 1098 00:48:51,500 --> 00:48:54,190 Một người nào khác. 1099 00:48:54,190 --> 00:48:56,885 >> Đung Chỉ cần đi kèm với phần cứng. 1100 00:48:56,885 --> 00:48:58,510 DAVID J. Malan: Hãy đến với phần cứng? 1101 00:48:58,510 --> 00:48:59,533 Ý anh là gì? 1102 00:48:59,533 --> 00:49:01,282 >> Đung Đối với các môi trường. [IM LẶNG] 1103 00:49:01,282 --> 00:49:04,867 1104 00:49:04,867 --> 00:49:06,200 DAVID J. Malan: Vì vậy, đó là sự thật. 1105 00:49:06,200 --> 00:49:09,280 Nhưng khách hàng của bạn, Trong khi đó, có thể có iPhone, 1106 00:49:09,280 --> 00:49:13,530 họ có thể có điện thoại Android, họ có thể có viên thực hiện bởi Microsoft. 1107 00:49:13,530 --> 00:49:19,040 Vì vậy, làm thế nào để bạn có một chiến lược di động cho tất cả các người dùng khác nhau? 1108 00:49:19,040 --> 00:49:23,320 Có vẻ như nếu nó chi phí, hãy nói rằng 1.000 $ để làm cho một chiếc iPhone 1109 00:49:23,320 --> 00:49:25,940 ứng dụng, nó sẽ chi phí bạn 2.000 $ để làm 1110 00:49:25,940 --> 00:49:29,250 một ứng dụng iPhone và một ứng dụng Android, hoặc $ 3,000 1111 00:49:29,250 --> 00:49:31,407 cũng hỗ trợ các thiết bị Windows. 1112 00:49:31,407 --> 00:49:33,990 Đó có thể là khá một cách nói, và nó có thể thậm chí không 1113 00:49:33,990 --> 00:49:36,050 có một mối quan hệ tuyến tính như thế. 1114 00:49:36,050 --> 00:49:41,065 >> Đung Nếu bạn muốn có một ứng dụng hoặc không, bạn có thể có trang web đáp ứng. 1115 00:49:41,065 --> 00:49:41,940 DAVID J. Malan: Tốt. 1116 00:49:41,940 --> 00:49:46,255 Đung Hoặc bạn có thể có một ứng dụng bản địa. 1117 00:49:46,255 --> 00:49:47,130 DAVID J. Malan: Yeah. 1118 00:49:47,130 --> 00:49:50,260 Vì vậy, trong tất cả các bối cảnh này đây, chúng tôi đã nói về những gì 1119 00:49:50,260 --> 00:49:53,190 mọi người sẽ gọi các ứng dụng bản địa. 1120 00:49:53,190 --> 00:49:58,040 Đó là các ứng dụng được viết trong ngôn ngữ mẹ đẻ của thiết bị đó. 1121 00:49:58,040 --> 00:50:02,190 Vì vậy, nguồn gốc Objective-C hoặc Swift mã, hoặc trong Java, hoặc trong C #. 1122 00:50:02,190 --> 00:50:06,900 Có nghĩa là khi bạn tải về, hãy nói Snapchat, ứng dụng phổ biến, 1123 00:50:06,900 --> 00:50:10,060 hoặc khi bạn tải về Facebook cho điện thoại, 1124 00:50:10,060 --> 00:50:13,270 bạn đang tải một trong hai phiên bản bằng văn bản cho iPhone của bạn, 1125 00:50:13,270 --> 00:50:16,830 hoặc bằng văn bản cho điện thoại Android của bạn, hay viết cho bề mặt của bạn. 1126 00:50:16,830 --> 00:50:18,500 >> Nhưng có một sự thay thế. 1127 00:50:18,500 --> 00:50:26,020 Như Olivier đã được ám chỉ, bạn thực sự có thể sử dụng HTML 5 1128 00:50:26,020 --> 00:50:33,440 thay vào đó, sử dụng những gì được gọi là một trang web ứng dụng, nhờ đó mà bạn chỉ đơn giản 1129 00:50:33,440 --> 00:50:35,940 thực hiện sự hiện diện của điện thoại di động của bạn và bất kỳ chức năng. 1130 00:50:35,940 --> 00:50:37,030 Tôi có ý nghĩa gì bởi sự hiện diện của điện thoại di động? 1131 00:50:37,030 --> 00:50:39,800 Giống như trang web của bạn mà có bạn thông tin liên lạc, một danh sách của tất cả các 1132 00:50:39,800 --> 00:50:43,049 sản phẩm của bạn, có thể nó có một khu mua sắm giỏ hàng, có thể bạn bán những thứ thông qua nó. 1133 00:50:43,049 --> 00:50:46,850 Dù ứng dụng của bạn, bạn thực hiện nó, không phải trong Objective-C, 1134 00:50:46,850 --> 00:50:51,200 hoặc Swift, hoặc Java hoặc C #, nhưng trong HTML 5, đó là ngôn ngữ chúng ta nhìn 1135 00:50:51,200 --> 00:50:55,470 tại ngày hôm qua, với JavaScript và CSS. 1136 00:50:55,470 --> 00:50:58,700 >> Và những gì tốt đẹp về những ba là để chạy chúng, 1137 00:50:58,700 --> 00:51:01,981 bạn cần chỉ là những gì phần của phần mềm? 1138 00:51:01,981 --> 00:51:02,980 Đung Một trình duyệt web. 1139 00:51:02,980 --> 00:51:04,229 DAVID J. Malan: Một trình duyệt web. 1140 00:51:04,229 --> 00:51:07,610 Và tốt nhất mà tôi biết, tất cả các các thiết bị đi kèm với các trình duyệt web, 1141 00:51:07,610 --> 00:51:10,480 vì vậy người dùng không phải cài đặt một cái gì đó đặc biệt. 1142 00:51:10,480 --> 00:51:12,920 Vì vậy, bạn chỉ có thể nói với bạn khán giả, khách hàng của bạn, 1143 00:51:12,920 --> 00:51:16,590 đi đến acme.com tại của bạn trình duyệt và bạn sẽ chỉ 1144 00:51:16,590 --> 00:51:19,730 có một kinh nghiệm dựa trên web mà vẫn đầy màn hình, 1145 00:51:19,730 --> 00:51:25,100 nhưng bạn không cần phải lo lắng về tất cả các chi phí và tất cả sự phức tạp này. 1146 00:51:25,100 --> 00:51:28,600 Nhưng chắc chắn đó là có là một đánh bắt ở đây, phải không? 1147 00:51:28,600 --> 00:51:31,740 Đặc biệt là nếu tôi chỉ ra mà một vài năm trước đây, 1148 00:51:31,740 --> 00:51:35,700 phiên bản đầu tiên của ứng dụng di động của Facebook 1149 00:51:35,700 --> 00:51:38,810 chủ yếu là một ứng dụng HTML 5. 1150 00:51:38,810 --> 00:51:42,490 Và họ có, nhiều hơn Gần đây, thực hiện lại nó 1151 00:51:42,490 --> 00:51:44,700 trong các ứng dụng khác của họ. 1152 00:51:44,700 --> 00:51:46,990 >> Vì vậy, tại sao bạn không ngay lập tức muốn nói, 1153 00:51:46,990 --> 00:51:49,190 tốt, rõ ràng là chúng ta sẽ làm điều này? 1154 00:51:49,190 --> 00:51:51,560 các chi phí ẩn có thể là gì? 1155 00:51:51,560 --> 00:51:52,477 >> Đung Performance. 1156 00:51:52,477 --> 00:51:53,643 DAVID J. Malan: Hiệu suất? 1157 00:51:53,643 --> 00:51:54,567 Làm thế nào để bạn có nghĩa là gì? 1158 00:51:54,567 --> 00:52:01,040 >> Đung Các ứng dụng bản địa có hiệu suất hơn. 1159 00:52:01,040 --> 00:52:03,850 >> DAVID J. Malan: Vì vậy, đó là đúng, cho một vài lý do. 1160 00:52:03,850 --> 00:52:05,270 Chúng ta có thể đơn giản hóa các câu trả lời. 1161 00:52:05,270 --> 00:52:08,061 Và nhớ lại cuộc thảo luận của chúng ta về giải so với ngôn ngữ biên dịch. 1162 00:52:08,061 --> 00:52:12,030 Đây là HTML 5 và cùng với nó, chỉ để được rõ ràng, JavaScript-- thường bằng văn bản 1163 00:52:12,030 --> 00:52:15,880 JS-- và CSS là tất cả ngôn ngữ thông dịch, 1164 00:52:15,880 --> 00:52:21,020 mặc dù chỉ JavaScript là một ngôn ngữ lập trình. 1165 00:52:21,020 --> 00:52:25,820 >> Và như vậy so với những, mà một số trong những được biên dịch, ít nhất là những three-- 1166 00:52:25,820 --> 00:52:29,990 Objective-C, Java và C # - những, trong lý thuyết, chỉ cần được nhanh hơn. 1167 00:52:29,990 --> 00:52:31,670 Nhưng có một thực tại khác tôi-- 1168 00:52:31,670 --> 00:52:32,440 >> Đung Các chức năng? 1169 00:52:32,440 --> 00:52:32,830 >> DAVID J. Malan: Đó là gì? 1170 00:52:32,830 --> 00:52:34,060 >> Đung Các chức năng. 1171 00:52:34,060 --> 00:52:34,570 >> DAVID J. Malan: Chức năng? 1172 00:52:34,570 --> 00:52:35,070 Làm thế nào vậy? 1173 00:52:35,070 --> 00:52:37,305 Đung Sử dụng camera tắt điện thoại hoặc một cái gì đó của bạn. 1174 00:52:37,305 --> 00:52:41,471 Bạn có thể sử dụng những người có trình duyệt. 1175 00:52:41,471 --> 00:52:42,470 DAVID J. Malan: Chính xác. 1176 00:52:42,470 --> 00:52:43,011 Họ đang sec-- 1177 00:52:43,011 --> 00:52:45,034 Đung [IM LẶNG] 1178 00:52:45,034 --> 00:52:46,700 DAVID J. Malan: Đó là một trong những tốt. 1179 00:52:46,700 --> 00:52:49,230 Có tính năng đi kèm với điện thoại di động ngày nay 1180 00:52:49,230 --> 00:52:53,840 mà không phải là, theo thiết kế, để bảo mật lý do, tiếp cận với các trình duyệt web. 1181 00:52:53,840 --> 00:52:56,410 Bởi vì nó sẽ là loại một điều đáng sợ nếu chỉ khi 1182 00:52:56,410 --> 00:53:00,710 bạn truy cập google.com, hoặc cnn.com, hoặc bất kỳ website.com, 1183 00:53:00,710 --> 00:53:04,490 rằng trang web mà có sức mạnh để biến trên máy ảnh của bạn, có một hình ảnh của bạn, 1184 00:53:04,490 --> 00:53:06,010 và sau đó sử dụng nó. 1185 00:53:06,010 --> 00:53:09,280 Nhưng bạn sẽ không muốn có một website ngẫu nhiên mà bạn truy cập lần đầu tiên 1186 00:53:09,280 --> 00:53:10,690 có khả năng đó. 1187 00:53:10,690 --> 00:53:13,460 >> Và vì vậy những gì điện thoại các nhà sản xuất thường làm 1188 00:53:13,460 --> 00:53:17,230 là họ chỉ từ chối truy cập với loại thông tin 1189 00:53:17,230 --> 00:53:20,650 để trình duyệt, có nghĩa là bạn không thể thực hiện các máy ảnh. 1190 00:53:20,650 --> 00:53:24,180 Bạn không thể thực hiện thông báo đẩy, những tiếng bíp mà bạn nhận được trên màn hình của bạn 1191 00:53:24,180 --> 00:53:26,120 với thông điệp ngắn. 1192 00:53:26,120 --> 00:53:31,350 Và trên thực tế, thậm chí GPS là chỉ loại các loại có sẵn cho các trình duyệt web. 1193 00:53:31,350 --> 00:53:34,140 Nếu bạn đã bao giờ, trên một máy tính xách tay hoặc trên một thiết bị di động, 1194 00:53:34,140 --> 00:53:38,770 kéo lên một cái gì đó giống như có lẽ cnn.com, mà còn các đài tin tức địa phương 1195 00:53:38,770 --> 00:53:43,890 có xu hướng để làm điều này, bạn được nhắc thường với một message-- foxnews.com 1196 00:53:43,890 --> 00:53:45,170 muốn biết vị trí của bạn. 1197 00:53:45,170 --> 00:53:46,610 Phê duyệt hoặc từ chối. 1198 00:53:46,610 --> 00:53:52,070 >> Vâng, trình duyệt đang cố gắng truy cập thông tin GPS từ điện thoại của bạn. 1199 00:53:52,070 --> 00:53:54,740 Nhưng may mắn Microsoft, và Apple và Google 1200 00:53:54,740 --> 00:53:57,330 đã quyết định rằng cảm thấy như đó là một tình hình hữu ích, 1201 00:53:57,330 --> 00:53:59,461 chúng tôi muốn Google Maps và các công cụ khác để làm việc, 1202 00:53:59,461 --> 00:54:02,710 nhưng chúng tôi không muốn chui ra khỏi người bằng cách chỉ cho phép bất kỳ trang web để làm điều này. 1203 00:54:02,710 --> 00:54:05,934 Vì vậy, hãy loại đáp ứng nửa chừng và nhắc nhở người dùng. 1204 00:54:05,934 --> 00:54:08,850 Nhưng đó không nhất thiết phải là trường hợp với tất cả các phần cứng, giống như các máy ảnh 1205 00:54:08,850 --> 00:54:10,680 và với push thông báo và như thế, 1206 00:54:10,680 --> 00:54:13,650 vì vậy bạn có thể phải hy sinh tính năng nhất định. 1207 00:54:13,650 --> 00:54:15,100 Nhưng hiệu suất quá. 1208 00:54:15,100 --> 00:54:18,020 Nó đang trở nên ít đáng chú ý hiện nay, có lẽ 1209 00:54:18,020 --> 00:54:22,400 LTE bắt trên và nhanh hơn tốc độ internet trên điện thoại, 1210 00:54:22,400 --> 00:54:24,110 nhưng bạn có thể loại cảm thấy sự khác biệt. 1211 00:54:24,110 --> 00:54:28,190 Giống như một ứng dụng dựa trên web chỉ cảm thấy chậm, thông thường, 1212 00:54:28,190 --> 00:54:31,100 hơn một ứng dụng bản địa, một phần vì một ứng dụng dựa trên web 1213 00:54:31,100 --> 00:54:32,680 theo định nghĩa là trên internet. 1214 00:54:32,680 --> 00:54:35,610 Nó nói đến các máy chủ trên web. 1215 00:54:35,610 --> 00:54:39,590 Và nếu kết nối mạng của bạn chậm, thậm chí di chuyển có thể được làm chậm. 1216 00:54:39,590 --> 00:54:43,710 >> Nhưng một ứng dụng bản địa, bạn có đã được tiền downloaded-- lẽ 1217 00:54:43,710 --> 00:54:45,680 khi bạn đang ở nhà từ cửa hàng ứng dụng, 1218 00:54:45,680 --> 00:54:47,900 hoặc ít nhất bạn sẵn tải về nó trong toàn bộ 1219 00:54:47,900 --> 00:54:49,640 trước đó, bất cứ điều gì của bạn speed-- kết nối 1220 00:54:49,640 --> 00:54:52,530 và vì vậy bây giờ bạn có tất cả các bit mà bạn thường cần. 1221 00:54:52,530 --> 00:54:55,090 Ngoại trừ một số dữ liệu mà đến từ một máy chủ. 1222 00:54:55,090 --> 00:54:57,130 >> Vì vậy, đây là những đánh đổi ở đây. 1223 00:54:57,130 --> 00:54:59,980 Có loại giữa một thỏa hiệp, trong thực tế. 1224 00:54:59,980 --> 00:55:00,907 Và tôi nghĩ rằng bạn-- 1225 00:55:00,907 --> 00:55:02,895 >> Đung Sử dụng các dữ liệu ẩn. 1226 00:55:02,895 --> 00:55:06,355 Trong các ứng dụng bản địa, bạn có thể [IM LẶNG] 1227 00:55:06,355 --> 00:55:07,480 DAVID J. Malan: Tuyệt đối. 1228 00:55:07,480 --> 00:55:09,730 Vì vậy, có những vấn đề ẩn, mà thực sự là khó chịu 1229 00:55:09,730 --> 00:55:13,120 nếu bạn không thể chơi một số trò chơi hay sử dụng một số phần mềm chỉ vì bạn 1230 00:55:13,120 --> 00:55:15,110 trong tầng hầm, hoặc trong thang máy. 1231 00:55:15,110 --> 00:55:18,700 Một ứng dụng có nguồn gốc là đàn hồi với xác suất cao hơn so với, 1232 00:55:18,700 --> 00:55:20,990 giả sử bạn có tất cả các dữ liệu bạn cần tại địa phương. 1233 00:55:20,990 --> 00:55:22,900 >> Vì vậy, có một lựa chọn thứ ba ở đây. 1234 00:55:22,900 --> 00:55:30,270 Và chúng ta hãy rút ra quang phổ là ứng dụng bản địa ở đây và ứng dụng web ở đây. 1235 00:55:30,270 --> 00:55:32,460 Và những gì ở giữa là một cái gì đó called-- 1236 00:55:32,460 --> 00:55:35,410 và tôi nghĩ rằng bạn có thể có sử dụng từ trước, có lẽ? 1237 00:55:35,410 --> 00:55:37,170 Lai ứng dụng. 1238 00:55:37,170 --> 00:55:40,980 Và như chữ nghĩa, nó là một cái gì đó ở giữa. 1239 00:55:40,980 --> 00:55:46,230 Đó là loại một ứng dụng web và nó là loại một ứng dụng bản địa. 1240 00:55:46,230 --> 00:55:47,690 >> Và điều này có nghĩa là gì? 1241 00:55:47,690 --> 00:55:51,750 Hóa ra có frameworks-- để sử dụng với thời hạn từ phần mềm earlier-- 1242 00:55:51,750 --> 00:55:55,860 mà người khác đã viết cho mỗi một trong những nền tảng này. 1243 00:55:55,860 --> 00:55:57,500 Những nhưng các thiết bị khác. 1244 00:55:57,500 --> 00:56:02,390 Trong thực tế, cho tôi đi đến PhoneGap, đó là một khuôn khổ như vậy mà tôi 1245 00:56:02,390 --> 00:56:04,520 tin Adobe sở hữu bây giờ. 1246 00:56:04,520 --> 00:56:07,830 Hãy để tôi đi để Bắt đầu. 1247 00:56:07,830 --> 00:56:09,430 Hãy xem. 1248 00:56:09,430 --> 00:56:12,450 Xem nếu tôi có thể nhìn thấy một danh sách các công cụ. 1249 00:56:12,450 --> 00:56:13,150 Phần cứng. 1250 00:56:13,150 --> 00:56:15,845 Bắt đầu. 1251 00:56:15,845 --> 00:56:17,570 PhoneGap phần cứng. 1252 00:56:17,570 --> 00:56:18,672 >> Hãy xem. 1253 00:56:18,672 --> 00:56:23,459 PhoneGap truy cập phần cứng. 1254 00:56:23,459 --> 00:56:26,125 Hãy cho tôi thấy nếu chúng ta có thể tìm thấy một chút bảng xếp hạng mà họ đã từng có. 1255 00:56:26,125 --> 00:56:29,170 1256 00:56:29,170 --> 00:56:31,640 Đây là một trang web khác. 1257 00:56:31,640 --> 00:56:32,525 Đây có phải là hữu ích? 1258 00:56:32,525 --> 00:56:33,030 Không. 1259 00:56:33,030 --> 00:56:36,330 Đó là sẽ lãng phí thời gian của chúng tôi ở đó. 1260 00:56:36,330 --> 00:56:40,185 PhoneGap phần cứng. 1261 00:56:40,185 --> 00:56:40,685 Thiết bị. 1262 00:56:40,685 --> 00:56:45,190 1263 00:56:45,190 --> 00:56:48,030 API thiết bị. 1264 00:56:48,030 --> 00:56:49,270 Không, họ đã di chuyển nó. 1265 00:56:49,270 --> 00:56:50,070 >> PhoneGap. 1266 00:56:50,070 --> 00:56:54,964 Hãy đi một cái nhìn cuối cùng tại đây và xem nếu tôi có thể cho bạn. 1267 00:56:54,964 --> 00:56:55,630 Bắt đầu. 1268 00:56:55,630 --> 00:56:58,160 1269 00:56:58,160 --> 00:56:59,020 Cài đặt PhoneGap. 1270 00:56:59,020 --> 00:57:02,310 1271 00:57:02,310 --> 00:57:03,270 Cài đặt ứng dụng di động. 1272 00:57:03,270 --> 00:57:04,320 Thôi nào. 1273 00:57:04,320 --> 00:57:07,220 1274 00:57:07,220 --> 00:57:08,580 Họ đã tổ chức lại tất cả mọi thứ. 1275 00:57:08,580 --> 00:57:09,750 Tất cả các quyền. 1276 00:57:09,750 --> 00:57:11,370 Oh, đúng rồi. 1277 00:57:11,370 --> 00:57:12,550 Vâng, ở đây chúng tôi đi. 1278 00:57:12,550 --> 00:57:16,130 Đây không phải là tất cả những gì làm sáng tỏ, nhưng đây là những gì tôi đã được loại tìm kiếm. 1279 00:57:16,130 --> 00:57:20,940 >> Vì vậy, PhoneGap là một khuôn khổ mà bạn có thể tải về miễn phí cung cấp cho bạn 1280 00:57:20,940 --> 00:57:22,750 một số mã khởi động, về cơ bản. 1281 00:57:22,750 --> 00:57:26,600 Vì vậy, một số mã mà họ đã viết mà không làm được gì nhiều về bất cứ điều gì. 1282 00:57:26,600 --> 00:57:29,610 Nhưng những gì nó mang lại cho bạn về cơ bản là tương đương 1283 00:57:29,610 --> 00:57:34,910 của một ứng dụng mà chỉ cần đặt một hình chữ nhật lớn trên màn hình của người dùng. 1284 00:57:34,910 --> 00:57:38,040 Nó không đặt một thanh URL, giống như một trình duyệt, không đặt một địa chỉ. 1285 00:57:38,040 --> 00:57:39,650 Nó chỉ đặt một hình chữ nhật lớn. 1286 00:57:39,650 --> 00:57:43,230 Và bạn cấu hình này lớn hình chữ nhật, bên dưới mui xe, 1287 00:57:43,230 --> 00:57:50,780 để thực sự đi đến acme.com, hoặc có thể m.acme.com, cho mobile.acme.com, 1288 00:57:50,780 --> 00:57:52,910 nhưng người dùng không biết họ đang ở địa chỉ đó. 1289 00:57:52,910 --> 00:57:55,520 Tất cả họ thấy là nội dung của trang web. 1290 00:57:55,520 --> 00:57:59,822 >> Nhưng những gì là tốt đẹp về con người này một ứng dụng hybrid là gì PhoneGap 1291 00:57:59,822 --> 00:58:03,030 và các công ty khác đang đem lại cho bạn là chúng tôi đem lại cho bạn một chút mã 1292 00:58:03,030 --> 00:58:05,760 Objective-C hoặc Swift, hoặc một chút mã trong Java, 1293 00:58:05,760 --> 00:58:08,320 hoặc một chút mã trong C #, và về cơ bản, 1294 00:58:08,320 --> 00:58:12,990 tất cả các bạn phải cung cấp là tối thiểu các địa chỉ của ứng dụng dựa trên web của bạn. 1295 00:58:12,990 --> 00:58:15,750 Và sau đó bạn bó này tất cả với nhau và bạn 1296 00:58:15,750 --> 00:58:20,670 có nó hoặc truy cập của bạn trang web thông qua internet, 1297 00:58:20,670 --> 00:58:24,060 hoặc thậm chí bạn cache một địa phương sao chép bên trong ứng dụng, 1298 00:58:24,060 --> 00:58:28,690 và sau đó bạn lưu ứng dụng của bạn ở định dạng iPhone, điện thoại Android 1299 00:58:28,690 --> 00:58:32,030 định dạng, định dạng bề mặt, hoặc bất kỳ số lượng các thiết bị khác. 1300 00:58:32,030 --> 00:58:34,960 >> Bạn tải lên mỗi của những phiên bản Cửa hàng Google Play, 1301 00:58:34,960 --> 00:58:37,690 App Store, với Windows Store, và vv. 1302 00:58:37,690 --> 00:58:41,570 Và bây giờ, bạn có thể có tất cả các bạn khán giả tải về thực sự là một ứng dụng bản địa, 1303 00:58:41,570 --> 00:58:44,250 mặc dù hầu hết các mã đã được viết bởi một người nào khác, 1304 00:58:44,250 --> 00:58:49,090 nhưng các nội dung của ứng dụng bản địa tất cả đến từ, thông thường, trang web của riêng bạn. 1305 00:58:49,090 --> 00:58:53,950 Vì vậy, bạn tiếp tục viết trang web của bạn trong HTML, JavaScript và CSS. 1306 00:58:53,950 --> 00:58:56,400 >> Vì vậy, tại sao làm mờ những dòng này? 1307 00:58:56,400 --> 00:59:00,240 Tại sao có một ứng dụng lai đó là loại bản địa, nhưng cũng 1308 00:59:00,240 --> 00:59:02,569 loại dựa trên web? 1309 00:59:02,569 --> 00:59:04,610 toàn bộ các điểm là gì thêm phức tạp này? 1310 00:59:04,610 --> 00:59:07,180 Ý tôi là, thậm chí vẫn còn, chỉ từ liếc qua trang này, 1311 00:59:07,180 --> 00:59:11,790 hướng dẫn Bắt đầu cảm thấy như nó có một toàn bộ rất nhiều bước cho tôi 1312 00:59:11,790 --> 00:59:13,514 làm trước khi tôi can-- 1313 00:59:13,514 --> 00:59:14,430 Đung thể dùng lại? 1314 00:59:14,430 --> 00:59:14,960 DAVID J. Malan: Có thể dùng lại? 1315 00:59:14,960 --> 00:59:15,618 Ý anh là gì? 1316 00:59:15,618 --> 00:59:16,826 >> Đung Trong số các mã nguồn. 1317 00:59:16,826 --> 00:59:19,438 Vì vậy, cùng một mã sẽ chạy trên tất cả các nền tảng khác nhau. 1318 00:59:19,438 --> 00:59:20,313 DAVID J. Malan: Yeah. 1319 00:59:20,313 --> 00:59:21,188 Đung [IM LẶNG] 1320 00:59:21,188 --> 00:59:23,200 1321 00:59:23,200 --> 00:59:24,200 DAVID J. Malan: Hoàn hảo. 1322 00:59:24,200 --> 00:59:26,930 Nếu thời gian là chặt chẽ và nếu bạn không có mà nhiều developers-- 1323 00:59:26,930 --> 00:59:28,900 có thể bạn có một nhà phát triển và anh ta hoặc cô ấy chắc chắn 1324 00:59:28,900 --> 00:59:31,050 không biết tất cả các environments-- chắc chắn không tốt, 1325 00:59:31,050 --> 00:59:33,341 và chắc chắn không thể lập trình trong cả ba cùng một lúc 1326 00:59:33,341 --> 00:59:35,970 và tàu ba sản phẩm trong thời gian cho phép cho một, 1327 00:59:35,970 --> 00:59:40,360 bạn có thể có anh hoặc cô xây dựng mọi thứ trong HTML và JavaScript và CSS, 1328 00:59:40,360 --> 00:59:43,260 và sau đó tìm hiểu một chút nhỏ chút về ứng dụng bản địa, 1329 00:59:43,260 --> 00:59:45,930 chỉ đủ để tải về một khuôn khổ như thế này, 1330 00:59:45,930 --> 00:59:48,750 để sau đó tải lên sản phẩm của bạn để tất cả các cửa hàng ứng dụng khác nhau 1331 00:59:48,750 --> 00:59:51,700 vì vậy mà bây giờ bạn có một ứng dụng bản địa. 1332 00:59:51,700 --> 00:59:54,090 >> Vì vậy mà có vẻ như một win-win, nhưng một lần nữa, để được rõ ràng, 1333 00:59:54,090 --> 00:59:56,540 những tiềm năng là chi phí hoặc gotchas? 1334 00:59:56,540 --> 01:00:00,292 1335 01:00:00,292 --> 01:00:01,209 >> Đung Hiệu suất? 1336 01:00:01,209 --> 01:00:02,083 DAVID J. Malan: Yeah. 1337 01:00:02,083 --> 01:00:02,959 Hiệu suất. 1338 01:00:02,959 --> 01:00:04,250 Thật khó để diễn tả bằng lời nói. 1339 01:00:04,250 --> 01:00:07,590 Vì vậy, nếu bạn chỉ cần lấy trên đức tin là một ứng dụng di động, 1340 01:00:07,590 --> 01:00:11,430 một ứng dụng web sẽ thường thực hiện chậm hơn. 1341 01:00:11,430 --> 01:00:16,500 Nó có thể không nhìn hoàn toàn đúng, bởi vì trong iPhone, và trong các điện thoại Android, 1342 01:00:16,500 --> 01:00:19,210 và các thiết bị Windows, có luôn luôn là một loại giao diện mặc định 1343 01:00:19,210 --> 01:00:21,780 và cảm thấy tất cả các nút và các menu. 1344 01:00:21,780 --> 01:00:25,160 >> Và các công ty trong các trang web, có thể thử để gần những thẩm mỹ 1345 01:00:25,160 --> 01:00:28,329 với các thư viện như Bootstrap, nhưng user-- một user-- sắc sảo 1346 01:00:28,329 --> 01:00:30,620 sẽ biết rằng một cái gì đó không hoàn toàn đúng ở đây. 1347 01:00:30,620 --> 01:00:32,510 Và đó là tốt, có thể đó không phải là một việc lớn. 1348 01:00:32,510 --> 01:00:35,500 Nhưng các vấn đề hiệu suất hoàn toàn là một vấn đề lớn. 1349 01:00:35,500 --> 01:00:39,400 các ứng dụng bản địa sẽ có xu hướng chỉ được nhiều hơn nữa đáp ứng và do đó 1350 01:00:39,400 --> 01:00:39,946 tốt hơn. 1351 01:00:39,946 --> 01:00:42,070 Và như vậy, những gì sau đó có thể là tốt nhất của cả hai thế giới? 1352 01:00:42,070 --> 01:00:44,584 Nếu bạn đặc biệt một nhỏ công ty hoặc một nhóm nhỏ, 1353 01:00:44,584 --> 01:00:47,000 bạn không có các nguồn lực để phát triển một ứng dụng song song 1354 01:00:47,000 --> 01:00:50,480 trên cả ba nền tảng, và thẳng thắn, cảm thấy như đó là một ý tưởng xấu anyway 1355 01:00:50,480 --> 01:00:53,526 bởi vì nếu bạn cuộn nó ra và vào cả ba đồng thời nhận ra, 1356 01:00:53,526 --> 01:00:56,400 chúng ta nên có thêm một số tính năng hoặc làm điều gì đó khác nhau, bây giờ 1357 01:00:56,400 --> 01:00:59,530 bạn phải sửa nó trong ba nơi, không phải một. 1358 01:00:59,530 --> 01:01:02,390 Có gì có thể tối ưu chiến lược ở đây nói chung, 1359 01:01:02,390 --> 01:01:04,130 nếu nguồn lực và thời gian là chặt chẽ? 1360 01:01:04,130 --> 01:01:06,420 >> Đung Chỉ cần làm điều đó trên iOS. 1361 01:01:06,420 --> 01:01:08,390 >> DAVID J. Malan: Đó không phải là không hợp lý. 1362 01:01:08,390 --> 01:01:10,670 iPhone, ít nhất là trong Mỹ, siêu phổ biến. 1363 01:01:10,670 --> 01:01:13,820 Android vẫn có sức chi phối thị phần, trên toàn cầu, tổng thể. 1364 01:01:13,820 --> 01:01:16,740 Vì vậy, bạn không nhất thiết phải đại diện 1365 01:01:16,740 --> 01:01:19,210 của toàn bộ thế giới trong tuần này. 1366 01:01:19,210 --> 01:01:21,180 Nhưng điều đó hoàn toàn là một quyết định. 1367 01:01:21,180 --> 01:01:23,620 Tôi có nghĩa là, trong khuôn viên trường ở đây tôi nghĩ rằng một số số tàn bạo 1368 01:01:23,620 --> 01:01:26,600 hoặc tỷ lệ phần trăm của các sinh viên đại học có iPhone và các điện thoại không Android. 1369 01:01:26,600 --> 01:01:28,490 Nhưng ở nước ngoài, đó là loại ngược lại. 1370 01:01:28,490 --> 01:01:30,040 Vì vậy, bạn quyết định dựa trên các khán giả của bạn. 1371 01:01:30,040 --> 01:01:31,990 Làm thế nào để bạn biết những gì khán giả của bạn có? 1372 01:01:31,990 --> 01:01:34,080 >> Vâng, chúng tôi học được một trick ngày hôm qua. 1373 01:01:34,080 --> 01:01:35,060 Bạn có thể yêu cầu họ. 1374 01:01:35,060 --> 01:01:37,910 Nếu bạn có một đối tượng nuôi nhốt bạn có thể gửi cho họ một mẫu khảo sát. 1375 01:01:37,910 --> 01:01:39,172 Hoặc bạn chỉ có thể làm những gì? 1376 01:01:39,172 --> 01:01:40,076 >> Đung Google Analytics? 1377 01:01:40,076 --> 01:01:40,680 >> DAVID J. Malan: Đó là gì? 1378 01:01:40,680 --> 01:01:41,876 >> Đung 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 Yeah. 1381 01:01:43,750 --> 01:01:46,970 Hoặc thậm chí loại hơn về mặt kỹ thuật, chỉ nhìn vào máy chủ web của các bản ghi của bạn. 1382 01:01:46,970 --> 01:01:49,100 Bởi vì những gì xảy ra mỗi lần một trình duyệt, 1383 01:01:49,100 --> 01:01:51,880 cho dù máy tính xách tay, máy tính để bàn hoặc điện thoại truy cập trang web của bạn? 1384 01:01:51,880 --> 01:01:56,847 Họ gửi cho rằng tiêu đề HTTP show bạn biết những gì trình duyệt và hệ điều hành mà họ đang sử dụng. 1385 01:01:56,847 --> 01:02:00,180 Vì vậy, bạn có thể suy ra, với xác suất cao, những gì cá nhân của bạn được sử dụng theo cách đó 1386 01:02:00,180 --> 01:02:01,410 và sau đó điều chỉnh. 1387 01:02:01,410 --> 01:02:03,030 >> Vì vậy, cho rằng đó là không thể chấp nhận. 1388 01:02:03,030 --> 01:02:07,760 Đó là loại xấu cho doanh nghiệp nếu Android người dùng không thể mua các vật dụng của chúng tôi. 1389 01:02:07,760 --> 01:02:10,942 >> Đung Cho dù bạn là sẽ tính phí hay không? 1390 01:02:10,942 --> 01:02:12,900 DAVID J. Malan: Cho dù bạn sẽ tính phí? 1391 01:02:12,900 --> 01:02:14,900 Vì vậy, OK, bạn sẽ có được những gì bạn phải trả cho. 1392 01:02:14,900 --> 01:02:18,400 >> Đung Cho dù ứng dụng của bạn là gonna được miễn phí hoặc cho dù đó là gonna-- 1393 01:02:18,400 --> 01:02:19,530 >> DAVID J. Malan: OK. 1394 01:02:19,530 --> 01:02:21,920 Vì vậy, có thể bạn có thể bù đắp chi phí theo cách đó, or--? 1395 01:02:21,920 --> 01:02:26,195 >> KHÁN GIẢ: Tôi đọc một nghiên cứu một lần mà nói nhiều người dùng Apple trả cho các ứng dụng versus-- 1396 01:02:26,195 --> 01:02:28,320 DAVID J. Malan: Đó là sự thật bởi vì họ đã 1397 01:02:28,320 --> 01:02:29,640 trả tiền nhiều hơn cho các thiết bị của họ. 1398 01:02:29,640 --> 01:02:31,295 Vì vậy, không hợp lý một giả định. 1399 01:02:31,295 --> 01:02:32,170 >> Đung [IM LẶNG] 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 Vì vậy, nếu họ sẵn sàng chi tiền, sau đó xuống địa ngục với những người sử dụng Android. 1403 01:02:38,667 --> 01:02:40,500 Họ sẽ không để trả cho chúng tôi bất cứ điều gì anyway. 1404 01:02:40,500 --> 01:02:43,499 Chúng tôi cũng có thể tập trung ưu tiên của chúng tôi, ít nhất là trong vài tháng đầu tiên 1405 01:02:43,499 --> 01:02:44,810 hoặc một năm, trên iOS. 1406 01:02:44,810 --> 01:02:46,240 Hoàn toàn hợp lý. 1407 01:02:46,240 --> 01:02:48,558 Có gì một toàn diện hơn chiến lược hơn? 1408 01:02:48,558 --> 01:02:53,740 1409 01:02:53,740 --> 01:02:54,960 Maybe-- là gì vậy? 1410 01:02:54,960 --> 01:02:57,040 >> Đung [IM LẶNG] 1411 01:02:57,040 --> 01:03:00,142 >> DAVID J. Malan: Một expensive-- hơn như vậy có lẽ đầu tư nhiều hơn in-- đi trước. 1412 01:03:00,142 --> 01:03:00,767 Đung Yeah. 1413 01:03:00,767 --> 01:03:02,050 Chỉ cần một trang web di động. 1414 01:03:02,050 --> 01:03:03,966 >> DAVID J. Malan: Vì vậy, làm một trang web di động và không 1415 01:03:03,966 --> 01:03:05,440 thậm chí lo lắng về sự phức tạp này. 1416 01:03:05,440 --> 01:03:07,970 Hoặc có thể là một chiến lược hợp lý, mà thậm chí cả Facebook mất, 1417 01:03:07,970 --> 01:03:10,890 được bắt đầu với một lai ứng dụng vì nó không 1418 01:03:10,890 --> 01:03:13,582 nên khó khăn hơn để làm điều này hơn này. 1419 01:03:13,582 --> 01:03:16,040 Bạn chỉ cần đọc một số tài liệu và tìm ra cách 1420 01:03:16,040 --> 01:03:17,480 upload thứ cho App Store. 1421 01:03:17,480 --> 01:03:19,670 Vì vậy, có thể bạn bắt đầu với này, vì vậy mà vào một ngày, 1422 01:03:19,670 --> 01:03:21,112 bạn có thể hỗ trợ tất cả người dùng của bạn. 1423 01:03:21,112 --> 01:03:23,570 Và sau đó, giống như Facebook và các công ty khác đã làm, 1424 01:03:23,570 --> 01:03:25,330 khi bạn có các nguồn lực, bạn có những người, 1425 01:03:25,330 --> 01:03:27,660 tại sao bạn không tái thực hiện chỉ các ứng dụng iOS. 1426 01:03:27,660 --> 01:03:31,460 Bạn vẫn có một cái gì đó cho tất cả mọi người, mặc dù nó là một kinh nghiệm kém 1427 01:03:31,460 --> 01:03:33,330 có lẽ, với các ứng dụng lai. 1428 01:03:33,330 --> 01:03:36,770 Nhưng dần dần bạn có thể cuộn ra và thay thế ngắn hạn của bạn 1429 01:03:36,770 --> 01:03:40,280 các biện pháp của các ứng dụng lai với các ứng dụng bản địa của bạn. 1430 01:03:40,280 --> 01:03:44,090 >> Đung Nhưng với một ứng dụng lai bạn sẽ có quyền truy cập vào các tính năng điện thoại di động? 1431 01:03:44,090 --> 01:03:45,440 >> DAVID J. Malan: Không nhất thiết. 1432 01:03:45,440 --> 01:03:47,810 Vì vậy, có thể bạn làm cho một ý thức quyết định sớm, 1433 01:03:47,810 --> 01:03:51,930 bạn chỉ có thể tải lên hình ảnh trên ứng dụng iPhone bản địa cho Facebook, 1434 01:03:51,930 --> 01:03:56,060 nhưng không phải trên các ứng dụng Android, ban đầu, ví dụ. 1435 01:03:56,060 --> 01:04:00,600 Và đó là một chút của một lời nói dối trắng vì các ứng dụng web có nhiều hạn chế 1436 01:04:00,600 --> 01:04:03,620 hơn các ứng dụng lai nó quay ra, và nếu chúng ta đọc các tài liệu hướng dẫn 1437 01:04:03,620 --> 01:04:07,260 cho PhoneGap và những thứ như nó, người đã đưa ra cách 1438 01:04:07,260 --> 01:04:11,110 để cung cấp cho các ứng dụng dựa trên web truy cập vào các máy ảnh, 1439 01:04:11,110 --> 01:04:13,310 miễn là bạn đang sử dụng một ứng dụng lai. 1440 01:04:13,310 --> 01:04:14,214 >> Làm thế nào mà làm việc? 1441 01:04:14,214 --> 01:04:16,130 Bởi vì lai ứng dụng, theo định nghĩa, 1442 01:04:16,130 --> 01:04:19,600 có một chút mã Objective-C, và Swift, và Java, hoặc trong C #, 1443 01:04:19,600 --> 01:04:20,920 nó có thể truy cập vào phần cứng. 1444 01:04:20,920 --> 01:04:24,590 Không nhất thiết tất cả mọi thứ, nhưng nó có thể rất tốt 1445 01:04:24,590 --> 01:04:27,310 là trường hợp mà bạn có đủ quyền truy cập để có được máy ảnh, 1446 01:04:27,310 --> 01:04:32,960 ngay cả đối với các nền tảng Android, cho Chẳng hạn, trong đó ví dụ tạo. 1447 01:04:32,960 --> 01:04:35,515 >> Bất kỳ câu hỏi khác? 1448 01:04:35,515 --> 01:04:36,279 Tất cả các quyền. 1449 01:04:36,279 --> 01:04:38,070 Tại sao chúng ta không lấy của chúng tôi 15 phút nghỉ ngơi ở đây. 1450 01:04:38,070 --> 01:04:44,060 Chúng tôi sẽ tiếp tục tại ba với một trận chung kết nhìn vào lập trình web, cơ sở dữ liệu, 1451 01:04:44,060 --> 01:04:45,910 và Javascript. 1452 01:04:45,910 --> 01:04:48,877