1 00:00:00,000 --> 00:00:01,291 >> DAVID J. MALAN:所以我們又回來了。 2 00:00:01,291 --> 00:00:03,050 這樣的高級別 此刻的話題,現在 3 00:00:03,050 --> 00:00:06,440 是技術堆棧,這是不 一個特別的技術術語, 4 00:00:06,440 --> 00:00:09,960 它更多的是捕獲所有的任何 技術的組合數 5 00:00:09,960 --> 00:00:11,840 你可以使用來解決問題。 6 00:00:11,840 --> 00:00:14,850 也許是最 合適的方式來啟動 7 00:00:14,850 --> 00:00:18,110 會看,因為語言 我一直劍拔弩張了一大堆 8 00:00:18,110 --> 00:00:21,000 和大多數人在房間裡有 可能聽說過的至少一種。 9 00:00:21,000 --> 00:00:25,730 >> 所以我們為什麼不嘗試區分 what--區分這些語言 10 00:00:25,730 --> 00:00:28,932 並簡要談談你們什麼時候 選擇一個比其他,他們是怎麼樣 11 00:00:28,932 --> 00:00:30,890 諸如此類的根本 不同,特別是 12 00:00:30,890 --> 00:00:34,830 當你與工程師聊天, 或試圖決定誰聘用, 13 00:00:34,830 --> 00:00:37,652 或者執行什麼 建議綠燈, 14 00:00:37,652 --> 00:00:39,860 你將如何實際上使 這些類型的決定。 15 00:00:39,860 --> 00:00:41,890 >> 所以我們就滔滔不絕一些事情了。 16 00:00:41,890 --> 00:00:45,300 語言的人有 聽說過,想到什麼? 17 00:00:45,300 --> 00:00:48,030 C.確定。 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 那是什麼? 21 00:00:51,990 --> 00:00:52,390 >> 聽眾:Python的。 22 00:00:52,390 --> 00:00:53,348 >> DAVID J. MALAN:Python的。 23 00:00:53,348 --> 00:00:55,330 優秀。 24 00:00:55,330 --> 00:00:57,000 還有什麼? 25 00:00:57,000 --> 00:00:58,810 Visual Basic中。 26 00:00:58,810 --> 00:01:01,100 我聽說的Java。 27 00:01:01,100 --> 00:01:02,610 視覺Basic--又名 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,這更是一個捕獲所有 對於平時有什麼C#作為語言 32 00:01:12,810 --> 00:01:13,770 有問題。 33 00:01:13,770 --> 00:01:14,770 讓我提及。 34 00:01:14,770 --> 00:01:15,900 因此,我們會回來這一點。 35 00:01:15,900 --> 00:01:17,560 對不起? 36 00:01:17,560 --> 00:01:18,170 抱歉? 37 00:01:18,170 --> 00:01:19,877 >> 聽眾:SQL。 38 00:01:19,877 --> 00:01:20,876 DAVID J. MALAN:划痕? 39 00:01:20,876 --> 00:01:21,610 聽眾:SQL。 40 00:01:21,610 --> 00:01:22,610 DAVID J. MALAN:哦,SQL。 41 00:01:22,610 --> 00:01:23,110 好。 42 00:01:23,110 --> 00:01:23,750 SQL。 43 00:01:23,750 --> 00:01:29,510 因此,我們會回來的居然that--, 這是突破後good--為好。 44 00:01:29,510 --> 00:01:30,572 還有什麼? 45 00:01:30,572 --> 00:01:32,530 >> 聽眾:甲骨文。 46 00:01:32,530 --> 00:01:34,670 >> DAVID J. MALAN:所以 甲骨文,不是一種語言。 47 00:01:34,670 --> 00:01:36,560 其實,他們將使用SQL為好。 48 00:01:36,560 --> 00:01:38,360 因此,讓我們把那個後 休息為好。 49 00:01:38,360 --> 00:01:39,744 很遺憾,這裡有什麼事? 50 00:01:39,744 --> 00:01:40,660 聽眾:數學。 51 00:01:40,660 --> 00:01:41,390 DAVID J. MALAN:數學? 52 00:01:41,390 --> 00:01:42,303 可以,當然。 53 00:01:42,303 --> 00:01:46,150 54 00:01:46,150 --> 00:01:49,180 和MATLAB是一種 在那裡的時候。 55 00:01:49,180 --> 00:01:50,060 >> 聽眾:R. 56 00:01:50,060 --> 00:01:51,755 >> DAVID J. MALAN:R.讓我們在這裡。 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 當然。 60 00:01:55,880 --> 00:01:57,910 較早的學校。 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 我就折騰了BASIC。 64 00:02:02,410 --> 00:02:05,990 65 00:02:05,990 --> 00:02:08,539 BASIC。 66 00:02:08,539 --> 00:02:09,390 任何 - 67 00:02:09,390 --> 00:02:10,352 >> 聽眾:MATLAB? 68 00:02:10,352 --> 00:02:11,310 DAVID J. MALAN:MATLAB。 69 00:02:11,310 --> 00:02:12,248 呵呵,打你給它。 70 00:02:12,248 --> 00:02:15,370 71 00:02:15,370 --> 00:02:15,870 什麼? 72 00:02:15,870 --> 00:02:18,700 我能想到的一對夫婦別人的。 73 00:02:18,700 --> 00:02:21,876 我能想到的其他幾個人的。 74 00:02:21,876 --> 00:02:22,792 什麼是最後? 75 00:02:22,792 --> 00:02:23,970 >> 聽眾:ASP。 76 00:02:23,970 --> 00:02:25,030 >> DAVID J. MALAN:ASP? 77 00:02:25,030 --> 00:02:26,100 是啊。 78 00:02:26,100 --> 00:02:27,100 活動服務器網頁。 79 00:02:27,100 --> 00:02:30,270 這通常會落在下 其他語言,有時是C#, 80 00:02:30,270 --> 00:02:32,040 讓我們留給了。 81 00:02:32,040 --> 00:02:35,510 但是,我們會回來給 對於框架和這樣的。 82 00:02:35,510 --> 00:02:36,290 還要別的嗎? 83 00:02:36,290 --> 00:02:39,020 PHP是受歡迎的。 84 00:02:39,020 --> 00:02:41,710 Ruby是另一回事。 85 00:02:41,710 --> 00:02:48,230 JavaScript,以便不混淆 與Java,是另一回事。 86 00:02:48,230 --> 00:02:49,570 這是怎樣的一個地段。 87 00:02:49,570 --> 00:02:53,590 >> 所以可以肯定鋪天蓋地, 如如果列表尚未, 88 00:02:53,590 --> 00:02:55,650 剛開始知道你在哪裡開始。 89 00:02:55,650 --> 00:02:58,130 所以幸運的是,我們 從幾個角度接近這一點。 90 00:02:58,130 --> 00:03:03,520 首先,讓我們嘗試分類 至少有一些語言 91 00:03:03,520 --> 00:03:06,790 分為兩大桶,讓人聯想到的 我們打破之前的談話中, 92 00:03:06,790 --> 00:03:09,630 在這裡我們談到了編譯, 和源代碼和機器代碼, 93 00:03:09,630 --> 00:03:11,440 因為這不是如何 所有的語言。 94 00:03:11,440 --> 00:03:15,640 因此,我們將挖出的幾個例子of-- 或反examples--該模型。 95 00:03:15,640 --> 00:03:18,490 >> 然後,我們為什麼不 談談應用程序 96 00:03:18,490 --> 00:03:20,390 這些語言 一般用於。 97 00:03:20,390 --> 00:03:22,840 坦率地說,即使 這是一個相當長的名單, 98 00:03:22,840 --> 00:03:26,320 這只是該列表的一個子集 您通常會從這些天畫 99 00:03:26,320 --> 00:03:27,220 解決問題。 100 00:03:27,220 --> 00:03:29,150 某些語言比其他更新。 101 00:03:29,150 --> 00:03:31,170 某些語言 比其他人更受歡迎。 102 00:03:31,170 --> 00:03:34,370 所以它不喜歡你有這​​樣的 在你面前一項艱鉅的任務 103 00:03:34,370 --> 00:03:36,970 中決定何時 這些不同的語言。 104 00:03:36,970 --> 00:03:40,110 >> 因此,讓我們做到這一點。 105 00:03:40,110 --> 00:03:45,870 我們之前,源代碼, 然後我們有機器代碼。 106 00:03:45,870 --> 00:03:48,590 107 00:03:48,590 --> 00:03:49,400 哎呦。 108 00:03:49,400 --> 00:03:50,910 寫打錯字。 109 00:03:50,910 --> 00:03:52,740 機器代碼。 110 00:03:52,740 --> 00:03:57,549 我們曾在一些工藝 中間called--是啊,編譯器。 111 00:03:57,549 --> 00:03:58,215 所以編譯器。 112 00:03:58,215 --> 00:04:00,760 113 00:04:00,760 --> 00:04:03,910 >> 什麼機器代碼 實際上到底運行在 114 00:04:03,910 --> 00:04:05,680 將是你實際的CPU。 115 00:04:05,680 --> 00:04:09,660 換句話說,由機器碼,我 平均最低級別的指令 116 00:04:09,660 --> 00:04:11,330 一個CPU實際上理解。 117 00:04:11,330 --> 00:04:15,100 加法,減法,移動, 保存和類似的操作。 118 00:04:15,100 --> 00:04:19,700 所以,這是什麼模型 一般被稱為編譯語言。 119 00:04:19,700 --> 00:04:21,000 這也許並不奇怪。 120 00:04:21,000 --> 00:04:23,550 >> 因此,這是模型 對於編譯語言。 121 00:04:23,550 --> 00:04:25,970 但事實證明,那裡的 另一個類的語言 122 00:04:25,970 --> 00:04:32,650 所謂的解釋languages​​-- 解釋languages​​-- 123 00:04:32,650 --> 00:04:34,030 是稍微不同的。 124 00:04:34,030 --> 00:04:41,660 你寫的源代碼,運行 他們通過翻譯, 125 00:04:41,660 --> 00:04:45,440 而解釋器 什麼在CPU上運行。 126 00:04:45,440 --> 00:04:50,120 換句話說,你做了什麼不 EMIT是什麼,很明顯? 127 00:04:50,120 --> 00:04:50,980 機器代碼。 128 00:04:50,980 --> 00:04:54,290 在CPU的零和一 最終自己明白。 129 00:04:54,290 --> 00:04:59,780 >> 因此,在這個第一版本和 如C語言,就像我們看到的, 130 00:04:59,780 --> 00:05:02,040 你在源代碼中寫 這是一個有點神秘, 131 00:05:02,040 --> 00:05:05,300 但至少它是一種類似英語的 和它的至少可讀 132 00:05:05,300 --> 00:05:06,780 一旦你習慣了它。 133 00:05:06,780 --> 00:05:10,100 您可以通過一個編譯器和跑得過它 你得到的,最終,零和的。 134 00:05:10,100 --> 00:05:11,340 >> 這種過於簡單化。 135 00:05:11,340 --> 00:05:12,839 還有在有其他步驟。 136 00:05:12,839 --> 00:05:15,530 事實上,如果你曾經聽說過 術語“彙編語言” 137 00:05:15,530 --> 00:05:17,990 這是前一步 在零和一。 138 00:05:17,990 --> 00:05:20,949 這一點更可讀, 但仍然相當神秘。 139 00:05:20,949 --> 00:05:23,740 所以有中間步驟 這是,事實上,這裡發生了。 140 00:05:23,740 --> 00:05:26,360 但輸出,最終 是這些零和一。 141 00:05:26,360 --> 00:05:28,990 >> 但在解釋 世界,在這裡你有 142 00:05:28,990 --> 00:05:32,680 這是解釋型語言 語言,你居然跳過這一步。 143 00:05:32,680 --> 00:05:36,010 換句話說,當你寫一個 程序,您只需立即運行。 144 00:05:36,010 --> 00:05:38,960 你不編譯它 然後運行它,就像我以前那樣。 145 00:05:38,960 --> 00:05:41,132 你只寫並運行它。 146 00:05:41,132 --> 00:05:44,340 如果你想快速的變化, 你做一個快速變化和重新運行它。 147 00:05:44,340 --> 00:05:46,640 所以這裡沒有中間的一步。 148 00:05:46,640 --> 00:05:50,840 >> 現在,該計劃我之前寫的, 這是這個“Hello World”程序, 149 00:05:50,840 --> 00:05:53,660 你很可能會 wonder--或可合理 150 00:05:53,660 --> 00:05:58,570 state--這不是那個時候 耗時編譯我的程序。 151 00:05:58,570 --> 00:06:00,337 它似乎已經做到了就這樣。 152 00:06:00,337 --> 00:06:02,170 還有的圖形 編譯器版本。 153 00:06:02,170 --> 00:06:05,270 我使用的是一個非常神秘的版本, 但你可以打一個播放按鈕 154 00:06:05,270 --> 00:06:07,887 這將真正做到 編輯為您服務。 155 00:06:07,887 --> 00:06:10,720 我編譯的程序,然後 再次,運行它,我只是做到這一點。 156 00:06:10,720 --> 00:06:13,820 它在左邊輸出那裡,“你好!” 157 00:06:13,820 --> 00:06:15,530 這似乎並沒有那麼繁重。 158 00:06:15,530 --> 00:06:19,920 但是,當你的程序 不僅僅是一個,兩個,三個, 159 00:06:19,920 --> 00:06:25,470 四,五線較長,可以 採取更為秒編譯。 160 00:06:25,470 --> 00:06:28,310 有時甚至分鐘 相當多的時間進行編譯。 161 00:06:28,310 --> 00:06:30,480 畢竟,一些 世界上最大的產品 162 00:06:30,480 --> 00:06:35,040 事情像操作系統, 微軟的Word,Microsoft Excel中, 163 00:06:35,040 --> 00:06:39,070 這可能是數以十萬計 甚至上百萬的長行的代碼, 164 00:06:39,070 --> 00:06:41,300 而那些不只是 立即執行。 165 00:06:41,300 --> 00:06:44,560 >> 此外,在網絡上,它的 成為時尚使用 166 00:06:44,560 --> 00:06:47,600 簡單理解的語言, 部分原因是因為你 167 00:06:47,600 --> 00:06:50,570 可以做出改變作為顯影劑 然後就馬上重裝 168 00:06:50,570 --> 00:06:52,570 瀏覽器頁面和 馬上看到結果。 169 00:06:52,570 --> 00:06:56,160 等的HTML,而不是 一種編程語言, 170 00:06:56,160 --> 00:06:58,860 是的解釋的語言。 171 00:06:58,860 --> 00:07:00,770 而我們昨天看到了同樣的效果。 172 00:07:00,770 --> 00:07:04,070 你只需做後重新加載頁面 在Cloud9的變化還有 - voila-- 173 00:07:04,070 --> 00:07:05,560 你看到一個新的結果。 174 00:07:05,560 --> 00:07:07,090 >> 那麼,有什麼區別嗎? 175 00:07:07,090 --> 00:07:13,190 在HTML中,回想一下,我們不得不打開HTML, 開目,開題,緊密稱號, 176 00:07:13,190 --> 00:07:15,250 接近頭部,開身,等等。 177 00:07:15,250 --> 00:07:19,149 我們有所有這些標籤,我們很 不多說了,告訴瀏覽器該怎麼做。 178 00:07:19,149 --> 00:07:20,690 嘿瀏覽器,來了一個HTML頁面。 179 00:07:20,690 --> 00:07:22,170 嘿瀏覽器,來這裡的冠軍。 180 00:07:22,170 --> 00:07:24,429 嘿瀏覽器,來了一些 文本應該大膽。 181 00:07:24,429 --> 00:07:25,720 然後你告訴相反。 182 00:07:25,720 --> 00:07:27,330 嘿瀏覽器,這是它 為粗體文字。 183 00:07:27,330 --> 00:07:28,830 嘿瀏覽器,這是它的身體。 184 00:07:28,830 --> 00:07:29,740 等等。 185 00:07:29,740 --> 00:07:31,130 >> 還等什麼是瀏覽器? 186 00:07:31,130 --> 00:07:33,170 瀏覽器只是一個解釋。 187 00:07:33,170 --> 00:07:36,090 這是一個程序,有人喜歡 微軟或谷歌已經寫的, 188 00:07:36,090 --> 00:07:39,160 他們的生活目的就是 讀語言,被稱為HTML, 189 00:07:39,160 --> 00:07:39,890 和解釋。 190 00:07:39,890 --> 00:07:41,290 從上到下,從左到右。 191 00:07:41,290 --> 00:07:46,880 並隨時瀏覽器看到開放 支架,標題,緊密支架, 192 00:07:46,880 --> 00:07:48,960 它應該是解釋 為意,呵呵,那 193 00:07:48,960 --> 00:07:52,490 意味著我應該把這些詞的方式 這裡在瀏覽器的頂部。 194 00:07:52,490 --> 00:07:55,700 >> 因此,它只是做HTML代碼的話。 195 00:07:55,700 --> 00:07:57,240 但沒有零和一。 196 00:07:57,240 --> 00:07:58,250 有沒有編譯。 197 00:07:58,250 --> 00:07:58,890 你沒有做到這一點。 198 00:07:58,890 --> 00:07:59,931 瀏覽器並沒有這樣做。 199 00:07:59,931 --> 00:08:01,710 它只是沒有涉及。 200 00:08:01,710 --> 00:08:05,890 >> 因此,在這些持續的精神 話題,今天和昨天, 201 00:08:05,890 --> 00:08:08,400 這似乎是一個奇妙的功能。 202 00:08:08,400 --> 00:08:11,410 您保存代碼,然後 只要運行它或解釋。 203 00:08:11,410 --> 00:08:13,790 有沒有中間步驟。 204 00:08:13,790 --> 00:08:15,690 當然,也存在著成本? 205 00:08:15,690 --> 00:08:16,810 不能全部上升空間。 206 00:08:16,810 --> 00:08:19,964 所以,可能是成本是什麼? 207 00:08:19,964 --> 00:08:20,940 >> 聽眾:太空。 208 00:08:20,940 --> 00:08:22,370 >> DAVID J. MALAN:太空。 209 00:08:22,370 --> 00:08:23,370 所以,肯定。 210 00:08:23,370 --> 00:08:26,920 在編譯的世界裡,你有 不僅原始源代碼, 211 00:08:26,920 --> 00:08:29,657 您還要創建和 然後大概節約 212 00:08:29,657 --> 00:08:31,740 本機代碼 - 中 零和ones--,這就是 213 00:08:31,740 --> 00:08:33,870 得佔用空間量。 214 00:08:33,870 --> 00:08:34,429 絕對。 215 00:08:34,429 --> 00:08:35,765 因此它花費你更多的空間。 216 00:08:35,765 --> 00:08:39,289 217 00:08:39,289 --> 00:08:39,789 是嗎? 218 00:08:39,789 --> 00:08:43,280 >> 聽眾:瀏覽器可能 不同的解釋。 219 00:08:43,280 --> 00:08:46,770 >> DAVID J. MALAN:瀏覽器可能 不同的解釋。 220 00:08:46,770 --> 00:08:48,622 那是真實的。 221 00:08:48,622 --> 00:08:50,330 但我不相信我 自稱舒適 222 00:08:50,330 --> 00:08:51,840 這是因為它的解釋。 223 00:08:51,840 --> 00:08:56,340 這更多的只是因為它是 一語言的實現 224 00:08:56,340 --> 00:08:58,050 這本身就具有模糊性。 225 00:08:58,050 --> 00:09:01,570 因此,讓我們不是很確定 那一個,但好的預感。 226 00:09:01,570 --> 00:09:03,103 還有什麼可能付出的代價? 227 00:09:03,103 --> 00:09:03,602 安德魯? 228 00:09:03,602 --> 00:09:05,912 >> 聽眾:你結合 兩個步驟,讓你因此 229 00:09:05,912 --> 00:09:08,300 有越來越多的複雜性,以及。 230 00:09:08,300 --> 00:09:11,040 >> DAVID J. MALAN:本complex-- 增加的複雜性在哪裡? 231 00:09:11,040 --> 00:09:12,270 為了誰? 232 00:09:12,270 --> 00:09:16,748 >> 聽眾:所以,在解釋 一步,你相結合的解釋 233 00:09:16,748 --> 00:09:19,120 和編譯器只是領先了中場休息 234 00:09:19,120 --> 00:09:21,100 >> DAVID J. MALAN:啊,OK。 235 00:09:21,100 --> 00:09:25,240 諷刺的是,它可能是一個小 容易實現的解釋, 236 00:09:25,240 --> 00:09:29,530 即使它似乎 這種便利的收益率上升空間。 237 00:09:29,530 --> 00:09:30,550 所以可能如此。 238 00:09:30,550 --> 00:09:32,716 但是,那種依賴,我 會說的語言 239 00:09:32,716 --> 00:09:35,720 以及他們如何去 其實現。 240 00:09:35,720 --> 00:09:38,535 可以有很多的複雜性, 實際上,在編譯, 241 00:09:38,535 --> 00:09:41,410 只是因為你有從去 東西這麼高層次的東西 242 00:09:41,410 --> 00:09:42,560 如此低的水平。 243 00:09:42,560 --> 00:09:45,340 但是,一個好的想法。 244 00:09:45,340 --> 00:09:50,770 >> 所以換句話說,已編譯的程序, 當變成這些0和1 245 00:09:50,770 --> 00:09:54,470 在語言結束 在CPU講, 246 00:09:54,470 --> 00:09:57,850 而在的這一邊 世界上,程序,你已經寫了, 247 00:09:57,850 --> 00:10:02,527 你的代碼已經寫了,從來沒有真正 被轉換成實際的語言 248 00:10:02,527 --> 00:10:03,360 計算機說話。 249 00:10:03,360 --> 00:10:04,190 在零和一。 250 00:10:04,190 --> 00:10:08,480 它停留在原來的,更加人性化 友好,更可讀的語言。 251 00:10:08,480 --> 00:10:11,720 所以,可能是什麼含義 還有,如果你不實際 252 00:10:11,720 --> 00:10:15,020 打擾您的轉換 計劃到非常語言 253 00:10:15,020 --> 00:10:18,013 底層計算機說話? 254 00:10:18,013 --> 00:10:19,780 >> 聽眾:可能並非 明白了點什麼? 255 00:10:19,780 --> 00:10:21,170 >> DAVID J. MALAN:可能 不明白的地方。 256 00:10:21,170 --> 00:10:23,297 而這可能claim-- 如果不明白 257 00:10:23,297 --> 00:10:25,880 什麼東西,這是一個錯誤或不足 的功能在解釋器。 258 00:10:25,880 --> 00:10:28,544 因此,這將是多的 一個錯誤比成本。 259 00:10:28,544 --> 00:10:30,419 >> 聽眾:您可以訪問 源代碼? 260 00:10:30,419 --> 00:10:31,877 DAVID J. MALAN:有一個很好的一個。 261 00:10:31,877 --> 00:10:34,140 所以這裡一個缺點就是你 似乎有訪問。 262 00:10:34,140 --> 00:10:37,006 你的最終用戶,可能看起來 存取源代碼。 263 00:10:37,006 --> 00:10:38,130 而這並非總是如此。 264 00:10:38,130 --> 00:10:39,660 但它是在真 JavaScript的情況下, 265 00:10:39,660 --> 00:10:41,660 我們將著眼於後 破發的今天,這 266 00:10:41,660 --> 00:10:45,720 是一種解釋型的編程語言 您在源代碼中編寫。 267 00:10:45,720 --> 00:10:48,890 >> 但是,源代碼被轉移 從服務器到瀏覽器 268 00:10:48,890 --> 00:10:51,392 並運行在人的瀏覽器。 269 00:10:51,392 --> 00:10:54,350 所以在這裡,她可以只打開 窗口,就像我在Chrome一直在做, 270 00:10:54,350 --> 00:10:57,740 看看它,因為我們自己 瞥了一眼昨天與谷歌。 271 00:10:57,740 --> 00:11:00,420 它看起來有點 不可理解的,但它的存在。 272 00:11:00,420 --> 00:11:03,482 所以,這絕對是一個價格支付。 273 00:11:03,482 --> 00:11:04,565 聽眾:性能損失? 274 00:11:04,565 --> 00:11:05,020 戴維·馬蘭:是的。 275 00:11:05,020 --> 00:11:06,260 而這正是其他大不了的。 276 00:11:06,260 --> 00:11:07,380 有一個性能命中。 277 00:11:07,380 --> 00:11:10,100 因為你有這 中間人,這本身 278 00:11:10,100 --> 00:11:13,740 是一個程序,你們之間 和CPU,而不是 279 00:11:13,740 --> 00:11:17,880 只餵這些原始 零和一到CPU, 280 00:11:17,880 --> 00:11:21,060 有一個性能命中,你 採取與解釋型語言。 281 00:11:21,060 --> 00:11:24,240 這樣,任意地,程序 這可能耗時1秒 282 00:11:24,240 --> 00:11:27,840 到一台計算機或一個在運行 分鐘到這裡的計算機上運行, 283 00:11:27,840 --> 00:11:32,059 可能需要10秒或10 分鐘到這裡的計算機上運行。 284 00:11:32,059 --> 00:11:35,100 它一般不會是 太大的difference--因素10-- 285 00:11:35,100 --> 00:11:36,808 因為有 優化你可以做。 286 00:11:36,808 --> 00:11:38,680 但它幾乎總是慢。 287 00:11:38,680 --> 00:11:43,070 現在,另一面這一關切 是這樣的,還有電腦,每12 288 00:11:43,070 --> 00:11:45,970 18 months--根據 摩爾定律,所以speak-- 289 00:11:45,970 --> 00:11:47,600 只是越來越快。 290 00:11:47,600 --> 00:11:48,750 我有越來越多的磁盤空間。 291 00:11:48,750 --> 00:11:49,791 我有越來越多的RAM。 292 00:11:49,791 --> 00:11:50,620 誰真正在乎呢? 293 00:11:50,620 --> 00:11:52,328 >> 而這類型的 合理的說法。 294 00:11:52,328 --> 00:11:55,740 實際上,的原因之一 為什麼我們能容忍慢 295 00:11:55,740 --> 00:11:58,480 解釋型語言,是因為 我們人類真的不注意到。 296 00:11:58,480 --> 00:12:00,690 該計算機有 剛剛得到織補這麼快。 297 00:12:00,690 --> 00:12:04,520 而早在一天,尤其是 當硬件被更多的限制, 298 00:12:04,520 --> 00:12:06,860 你有較少的一切, 這是更昂貴的 299 00:12:06,860 --> 00:12:10,570 所以一切成本較高,以及再 你真的想要擠走 300 00:12:10,570 --> 00:12:12,590 盡可能多的性能,你可以。 301 00:12:12,590 --> 00:12:16,400 但是,這需要在編寫 較低的水平,如果你願意, 302 00:12:16,400 --> 00:12:18,090 用編譯語言。 303 00:12:18,090 --> 00:12:20,830 >> 這樣你就採取這種性能損失。 304 00:12:20,830 --> 00:12:24,780 但是總體來說,有利的一面 似乎是值得的,這些天。 305 00:12:24,780 --> 00:12:26,850 那麼,除了 知識產權問題。 306 00:12:26,850 --> 00:12:28,641 那種可讀性 代碼中,我們將 307 00:12:28,641 --> 00:12:30,640 回來的時候,我們看的JavaScript。 308 00:12:30,640 --> 00:12:33,140 >> 所以,讓我們嘗試分類 至少其中的一些。 309 00:12:33,140 --> 00:12:41,650 因此,編譯語言之中,我們 將有C,C ++,有點兒,八九不離十,爪哇, 310 00:12:41,650 --> 00:12:48,120 雖然這是一個有點異常,對於 原因我會告訴你在短短的時刻。 311 00:12:48,120 --> 00:12:51,540 C#是這個名單上。 312 00:12:51,540 --> 00:12:54,930 我們將看到更多的只是在 更現代的語言。 313 00:12:54,930 --> 00:12:55,430 好吧。 314 00:12:55,430 --> 00:12:56,804 這似乎是很多在那裡。 315 00:12:56,804 --> 00:13:03,500 而在柵欄的這一邊, 可能我們的JavaScript和Python, 316 00:13:03,500 --> 00:13:08,040 和PHP和Ruby。 317 00:13:08,040 --> 00:13:13,640 並且是足夠 更近的嗎? 318 00:13:13,640 --> 00:13:15,410 那感覺就像很多現在。 319 00:13:15,410 --> 00:13:16,330 好。 320 00:13:16,330 --> 00:13:18,760 然後點點點, 因為名單是無止境的。 321 00:13:18,760 --> 00:13:22,300 >> 而事實上,如果我們只想 獲得this--維基百科的感覺, 322 00:13:22,300 --> 00:13:24,130 編譯語言。 323 00:13:24,130 --> 00:13:27,150 我猜我們可以得到一個 更為詳盡的列表。 324 00:13:27,150 --> 00:13:27,910 所以在這裡我們去。 325 00:13:27,910 --> 00:13:30,620 因此,這裡是一個更詳盡的清單。 326 00:13:30,620 --> 00:13:34,150 我希望有人猜ð 作為一種語言,因為,太多的存在, 327 00:13:34,150 --> 00:13:37,747 但他們停止為D這似乎。 328 00:13:37,747 --> 00:13:39,330 雖然有可能實際上是一個E. 329 00:13:39,330 --> 00:13:41,496 >> 呵呵,其實,這應該 在列表中的這些日子。 330 00:13:41,496 --> 00:13:47,460 斯威夫特居然是 語言,蘋果發明 331 00:13:47,460 --> 00:13:50,302 即現在使用,越來越 因此,在iPhone開發。 332 00:13:50,302 --> 00:13:52,260 但是,我們會回來的 隨著我們的討論 333 00:13:52,260 --> 00:13:54,090 在短短的一點點移動為好。 334 00:13:54,090 --> 00:13:55,260 如此迅速也是如此。 335 00:13:55,260 --> 00:13:57,540 >> 然後,如果我們去 解釋language-- 336 00:13:57,540 --> 00:14:05,010 解釋language--那麼這裡 甚至更長的名單也是如此。 337 00:14:05,010 --> 00:14:07,260 所以,如果你只是谷歌和 看看維基百科上對於這些, 338 00:14:07,260 --> 00:14:09,231 你會看到各種各樣的語言。 339 00:14:09,231 --> 00:14:10,980 但是其目的是, 今天真的,只是 340 00:14:10,980 --> 00:14:13,680 歸結起來,也許這 知識產權問題 341 00:14:13,680 --> 00:14:18,200 性和可讀性由最終用戶和 性能,是另一個大問題為好。 342 00:14:18,200 --> 00:14:21,080 >> 因此,這些語言中, 讓我看看,如果我們可以給你 343 00:14:21,080 --> 00:14:24,487 只是語言的一些示例。 344 00:14:24,487 --> 00:14:26,820 我們不想去通過 所有語言不休。 345 00:14:26,820 --> 00:14:29,720 你有沒有想過什麼 某些語言樣子? 346 00:14:29,720 --> 00:14:31,562 我們確實看到了剛才。 347 00:14:31,562 --> 00:14:33,520 我們為什麼不拿一對夫婦 的功能要求。 348 00:14:33,520 --> 00:14:35,380 誰願意看什麼 其他語言的樣子? 349 00:14:35,380 --> 00:14:35,620 是啊。 350 00:14:35,620 --> 00:14:36,150 >> 聽眾:Java的。 351 00:14:36,150 --> 00:14:36,540 >> DAVID J. MALAN:Java的。 352 00:14:36,540 --> 00:14:37,040 好吧。 353 00:14:37,040 --> 00:14:38,504 所以,讓我們去渣。 354 00:14:38,504 --> 00:14:42,300 355 00:14:42,300 --> 00:14:44,900 而只是給你一個sample-- 我們可以寫這些了, 356 00:14:44,900 --> 00:14:47,670 但它會更快只是 看著別人的示例代碼。 357 00:14:47,670 --> 00:14:48,170 好吧。 358 00:14:48,170 --> 00:14:50,330 所以這是一個很好的例子嗎? 359 00:14:50,330 --> 00:14:52,040 哎呦。 360 00:14:52,040 --> 00:14:52,540 好。 361 00:14:52,540 --> 00:14:58,810 因此,這裡是的Java版本 節目我之前寫的,的“Hello World”。 362 00:14:58,810 --> 00:15:01,900 >> 所以Java中,你經常會 看到關鍵字“類”。 363 00:15:01,900 --> 00:15:03,779 然後你就會看到後,一些名字。 364 00:15:03,779 --> 00:15:05,570 你會看到大括號 像我們以前看到的, 365 00:15:05,570 --> 00:15:08,153 有時他們去了 同一行,有時其他線路, 366 00:15:08,153 --> 00:15:09,734 它是一種個人的決定。 367 00:15:09,734 --> 00:15:11,900 你會看到類似於關鍵字 “公”,“靜”,“無效”。 368 00:15:11,900 --> 00:15:13,790 但是,我們也看到“主”。 “主”一般 369 00:15:13,790 --> 00:15:17,220 缺省功能的名稱 或代碼的默認存儲塊,它 370 00:15:17,220 --> 00:15:18,760 獲取程序運行。 371 00:15:18,760 --> 00:15:19,330 >> “串。” 372 00:15:19,330 --> 00:15:20,850 什麼我們通過串前面是什麼意思? 373 00:15:20,850 --> 00:15:23,480 我用它那種隨隨便便。 374 00:15:23,480 --> 00:15:25,100 字符串是什麼? 375 00:15:25,100 --> 00:15:25,601 一個字。 376 00:15:25,601 --> 00:15:27,058 這就像一個字符序列。 377 00:15:27,058 --> 00:15:29,810 單個字符,回 背靠背,通常在一個數組, 378 00:15:29,810 --> 00:15:30,690 正如我們已經討論過。 379 00:15:30,690 --> 00:15:34,700 而事實上,看到這個語法 這裡,這兩個方括號? 380 00:15:34,700 --> 00:15:39,210 這意味著,哎電腦,在這裡 附帶的字符串的數組。 381 00:15:39,210 --> 00:15:42,636 在方括號是 常用來表示。 382 00:15:42,636 --> 00:15:44,510 然後,你可能 採取什麼guess-- 383 00:15:44,510 --> 00:15:46,580 這也凸顯 代碼塊可能嗎? 384 00:15:46,580 --> 00:15:49,737 385 00:15:49,737 --> 00:15:50,639 >> 聽眾:輸出? 386 00:15:50,639 --> 00:15:51,090 >> 戴維·馬蘭:是的。 387 00:15:51,090 --> 00:15:52,506 它打印一些東西到屏幕上。 388 00:15:52,506 --> 00:15:57,070 因此,“系統”是一種的 參考到您的計算機。 389 00:15:57,070 --> 00:15:59,620 “出”是指您的計算機 輸出或屏幕。 390 00:15:59,620 --> 00:16:04,450 因此,“system.out.print LN”大概意思? 391 00:16:04,450 --> 00:16:05,570 “LN”。 392 00:16:05,570 --> 00:16:09,570 打印線,程序員喜歡 顯然到一些拼寫出單詞 393 00:16:09,570 --> 00:16:11,820 以其整體並採取 快捷鍵與其他詞。 394 00:16:11,820 --> 00:16:13,260 但是,“LN”為線,所以打印線。 395 00:16:13,260 --> 00:16:17,370 所以它打印出“你好 世界!“後跟一個新行。 396 00:16:17,370 --> 00:16:18,300 >> 所以這是它。 397 00:16:18,300 --> 00:16:21,150 但是,Java是什麼,他們會 通話面向對象的。 398 00:16:21,150 --> 00:16:23,440 事實上,只給一 其他幾個定義 399 00:16:23,440 --> 00:16:26,420 那裡,你可能 看到,在一般情況下,有 400 00:16:26,420 --> 00:16:30,600 有許多不同類型的 語言文字,但最常見的 401 00:16:30,600 --> 00:16:37,830 是程序或命令式語言。 402 00:16:37,830 --> 00:16:41,600 有功能 語言,這不 403 00:16:41,600 --> 00:16:43,790 意味著別人都不起作用。 404 00:16:43,790 --> 00:16:47,740 然後還有 面向對象的語言。 405 00:16:47,740 --> 00:16:51,170 這也許是最好的 大多數語言的分類 406 00:16:51,170 --> 00:16:56,445 那你會不會選擇排序 典型的商業項目。 407 00:16:56,445 --> 00:16:58,910 >> 這將是太多的, 我認為,老鼠的洞, 408 00:16:58,910 --> 00:17:01,620 往下走,嘗試解釋 不同的差異。 409 00:17:01,620 --> 00:17:04,599 但語言 我們已經看到了這樣far--Ç 410 00:17:04,599 --> 00:17:07,680 是程序或 命令式語言。 411 00:17:07,680 --> 00:17:11,200 最近發明了 語言往往是,對不起, 412 00:17:11,200 --> 00:17:14,430 面向對象的,這意味著 他們有其他的功能給他們。 413 00:17:14,430 --> 00:17:18,130 414 00:17:18,130 --> 00:17:19,430 我可以解釋它以這種方式? 415 00:17:19,430 --> 00:17:20,950 我們甚至沒有去那裡。 416 00:17:20,950 --> 00:17:25,200 >> 面向對象的方法 你可以implement-- 417 00:17:25,200 --> 00:17:27,930 你可以模擬真實的世界 稍微更有效。 418 00:17:27,930 --> 00:17:29,722 人性化,隨著時間的推移, 已經想通了,哇, 419 00:17:29,722 --> 00:17:32,430 這將是,如果我的語言不錯 有這個功能或特性。 420 00:17:32,430 --> 00:17:34,830 這就是為什麼我們有這麼 許多語言在世界上。 421 00:17:34,830 --> 00:17:37,670 理智的人,聰明 人,同意或不同意 422 00:17:37,670 --> 00:17:41,000 和總是那種走到一起 開發新的語言都在一起。 423 00:17:41,000 --> 00:17:41,660 >> 典型的例子。 424 00:17:41,660 --> 00:17:45,260 蘋果發明Swift在 想必希望降低 425 00:17:45,260 --> 00:17:47,950 酒吧到iPhone的發展, 因為以前language-- 426 00:17:47,950 --> 00:17:51,080 所謂的Objective-C,這可能 也是我們榜單上這裡 - 427 00:17:51,080 --> 00:17:54,190 是更加神秘和多 更難迴繞胸臆。 428 00:17:54,190 --> 00:17:57,690 而作為編程無疑成為 更方便和更廣泛 429 00:17:57,690 --> 00:18:00,580 人們甚至通過 少技術,該goal-- 430 00:18:00,580 --> 00:18:04,160 這是一個非常勇敢的目標嘗試 通過降低准入門檻 431 00:18:04,160 --> 00:18:07,400 語言本身 容易上手, 432 00:18:07,400 --> 00:18:09,430 但同樣強大的必然。 433 00:18:09,430 --> 00:18:10,560 >> 而另外一門語言。 434 00:18:10,560 --> 00:18:14,110 我們為什麼不來看看 在類似的Python, 435 00:18:14,110 --> 00:18:18,090 這是非常流行的這些日子。 436 00:18:18,090 --> 00:18:19,570 蟒蛇。 437 00:18:19,570 --> 00:18:20,464 樣本程序。 438 00:18:20,464 --> 00:18:24,600 439 00:18:24,600 --> 00:18:26,700 讓我們來看看。 440 00:18:26,700 --> 00:18:28,790 “Hello World”的語言。 441 00:18:28,790 --> 00:18:30,180 我們開工吧。 442 00:18:30,180 --> 00:18:33,625 “你好,世界。” 443 00:18:33,625 --> 00:18:35,375 讓我們看看這給 我們一個很好的例子。 444 00:18:35,375 --> 00:18:39,450 445 00:18:39,450 --> 00:18:39,950 好。 446 00:18:39,950 --> 00:18:41,283 所以,這其實是一種樂趣。 447 00:18:41,283 --> 00:18:43,330 所以,如果你曾經谷歌 的“Hello World”,這 448 00:18:43,330 --> 00:18:47,000 恰好是在第一方案中的一個 寫過在現代語言, 449 00:18:47,000 --> 00:18:51,830 正如概念證明,你可以看到 種種此實現。 450 00:18:51,830 --> 00:18:54,240 >> 一些語言 我甚至沒有聽說過。 451 00:18:54,240 --> 00:18:59,770 但是你可以see--讓我們去基礎, 一個我多年前了解到,在部分。 452 00:18:59,770 --> 00:19:02,720 這是一個有趣的語言,因為你 不得不,作為編程,數 453 00:19:02,720 --> 00:19:03,710 所有的線。 454 00:19:03,710 --> 00:19:05,626 不是不像我是什麼 當我在寫做 455 00:19:05,626 --> 00:19:08,380 偽上的黃色文件 之前為二進制搜索, 456 00:19:08,380 --> 00:19:09,580 用於搜索電話簿。 457 00:19:09,580 --> 00:19:11,810 >> 所以,如果你想 去到另一行, 458 00:19:11,810 --> 00:19:15,780 你會從字面上鍵入, 到10,或者去20。 459 00:19:15,780 --> 00:19:19,110 如果你正在寫的線條, 公約是做的,這是10號線, 460 00:19:19,110 --> 00:19:22,545 這是第20行,這是行 30,40,與沒有在兩者之間, 461 00:19:22,545 --> 00:19:25,170 從而給自己一​​些空間 如果你決定了,等一會兒, 462 00:19:25,170 --> 00:19:27,230 我應該補充一些 更多的代碼的某個地方。 463 00:19:27,230 --> 00:19:30,960 你仍然有那種九個機會 擠在你的程序之間 464 00:19:30,960 --> 00:19:33,020 你不得不手動前 重新編排的一切。 465 00:19:33,020 --> 00:19:35,470 >> 因此,這是什麼樣的我的意思 當我說這個世界上來 466 00:19:35,470 --> 00:19:36,303 用一個新的功能。 467 00:19:36,303 --> 00:19:39,364 某處有人方式 實現的,這小子是愚蠢的。 468 00:19:39,364 --> 00:19:41,280 這僅僅是創建 為程序員工作。 469 00:19:41,280 --> 00:19:44,200 於是,他或她只是一種建 最重要的是一個新的圖層 470 00:19:44,200 --> 00:19:46,910 這樣你就不必擔心 什麼行號代碼 471 00:19:46,910 --> 00:19:48,570 其實上。 472 00:19:48,570 --> 00:19:54,940 >> 你什麼時候可以選擇 一種語言或其他? 473 00:19:54,940 --> 00:19:56,690 那麼,其中哪些 語言你傾向於 474 00:19:56,690 --> 00:20:00,960 聽到的最 你自己的世界,這些天? 475 00:20:00,960 --> 00:20:02,680 讓我們下拉的Objective-C了。 476 00:20:02,680 --> 00:20:06,416 477 00:20:06,416 --> 00:20:07,739 >> 聽眾:C#。 478 00:20:07,739 --> 00:20:08,530 DAVID J. MALAN:C#。 479 00:20:08,530 --> 00:20:10,310 因此,讓我的顏色。 480 00:20:10,310 --> 00:20:13,190 難道我們有其他顏色的地方? 481 00:20:13,190 --> 00:20:14,550 因此,C#。 482 00:20:14,550 --> 00:20:16,390 那麼,你知道C#? 483 00:20:16,390 --> 00:20:18,940 什麼春天介意嗎? 484 00:20:18,940 --> 00:20:20,707 >> 聽眾:這是一種編程語言。 485 00:20:20,707 --> 00:20:22,540 DAVID J. MALAN:這是一個 編程語言。 486 00:20:22,540 --> 00:20:23,200 好。 487 00:20:23,200 --> 00:20:24,690 那是真實的。 488 00:20:24,690 --> 00:20:26,440 因此,我們在談論C#。 489 00:20:26,440 --> 00:20:29,230 C#趨於中所用 Windows環境中, 490 00:20:29,230 --> 00:20:33,550 所以,如果你正在寫的微軟軟件 適用於Windows,C#是很常用的, 491 00:20:33,550 --> 00:20:38,560 無論是桌面軟件,或 在Windows手機甚至手機軟件, 492 00:20:38,560 --> 00:20:41,820 如果你已經擁有了這些, 或在網絡上甚至過於。 493 00:20:41,820 --> 00:20:44,642 而事實上,也許卡里姆 上述ASP早些時候? 494 00:20:44,642 --> 00:20:46,600 因此,有這些還 東西叫做框架, 495 00:20:46,600 --> 00:20:51,040 我們可以通過擴展引入。 496 00:20:51,040 --> 00:20:53,280 框架,如ASP。 497 00:20:53,280 --> 00:20:55,740 代表活動服務器網頁。 498 00:20:55,740 --> 00:20:59,880 這是代碼, 編程的一種方法 499 00:20:59,880 --> 00:21:03,490 其通常可以更容易 編寫基於Web應用程序。 500 00:21:03,490 --> 00:21:07,530 換句話說,這將是超級, 超級討厭寫網站 501 00:21:07,530 --> 00:21:09,469 在C語言的 我們以前見過, 502 00:21:09,469 --> 00:21:12,510 因為你將不得不使用打印+ F, 你將不得不使用關鍵字 503 00:21:12,510 --> 00:21:13,940 “主”和大括號內。 504 00:21:13,940 --> 00:21:16,720 很多神秘的語法 和方法來實現 505 00:21:16,720 --> 00:21:19,195 東西是相當複雜的。 506 00:21:19,195 --> 00:21:20,240 一個網頁。 507 00:21:20,240 --> 00:21:23,800 >> 等其他語言的演變 做出那種事情更容易。 508 00:21:23,800 --> 00:21:26,890 反過來,人們紛紛拿出 與框架,排序工具 509 00:21:26,890 --> 00:21:30,520 您可以使用,使它 更容易編寫網頁。 510 00:21:30,520 --> 00:21:33,070 因此,例如,為了使 這更具體, 511 00:21:33,070 --> 00:21:36,390 讓我打開一個剛 一會兒文本文件。 512 00:21:36,390 --> 00:21:39,380 >> 你可能還記得昨天 我們說了些什麼 513 00:21:39,380 --> 00:21:41,210 像,這是一個網頁。 514 00:21:41,210 --> 00:21:42,300 HTML。 515 00:21:42,300 --> 00:21:45,340 關閉HTML。 516 00:21:45,340 --> 00:21:48,500 讓我跳過頭 只是做身體在這裡。 517 00:21:48,500 --> 00:21:52,810 假設我想 不寫的“Hello World” 518 00:21:52,810 --> 00:21:57,020 但“你好大衛,”大衛是 當前登錄的用戶的名稱。 519 00:21:57,020 --> 00:22:00,270 什麼樣的東西 ASP會做,或JSP-- 520 00:22:00,270 --> 00:22:04,060 這是Java服務器pages--或 任何數量的其他框架 521 00:22:04,060 --> 00:22:05,435 是他們沒有語言本身。 522 00:22:05,435 --> 00:22:07,351 他們就像 額外的軟件,您 523 00:22:07,351 --> 00:22:10,490 將其安裝到您的環境 只是使其更易於編程。 524 00:22:10,490 --> 00:22:15,670 >> 因此,例如,而不是必須做 像“你好,的printf(”大衛“)” 525 00:22:15,670 --> 00:22:17,510 或東西是 一種共同mingling-- 526 00:22:17,510 --> 00:22:20,840 什麼樣的代碼中,我們已經看到before-- 你會做一些簡單得多, 527 00:22:20,840 --> 00:22:26,190 如“名字%。” 528 00:22:26,190 --> 00:22:28,660 所以這些框架, 像ASP--和我 529 00:22:28,660 --> 00:22:31,212 不記得,如果我得到 語法正好適合ASP。 530 00:22:31,212 --> 00:22:33,100 JSP是little--這是正確的? 531 00:22:33,100 --> 00:22:36,500 >> 因此,與ASP,這是 那種特殊的語法 532 00:22:36,500 --> 00:22:39,830 一些開發商已經決定 這可能幫助人們走出。 533 00:22:39,830 --> 00:22:43,000 我可以表達更簡潔 佔位符,例如。 534 00:22:43,000 --> 00:22:47,187 喜歡這裡,這裡放一個值 這個值的名字不是N-A-M-E, 535 00:22:47,187 --> 00:22:48,520 它存儲在那裡一定的價值。 536 00:22:48,520 --> 00:22:50,728 因此,“名稱”,在這種情況下, 我們所說的變量。 537 00:22:50,728 --> 00:22:52,760 代數有變數 像x和y和z。 538 00:22:52,760 --> 00:22:56,021 程序員使用的是變量 比的x,y和z更具描述, 539 00:22:56,021 --> 00:22:56,520 典型。 540 00:22:56,520 --> 00:23:01,020 因此,“名”會從字面上是某種 對於像存儲容器 541 00:23:01,020 --> 00:23:05,440 D-A-V-I-D,為我的名,或誰 其他人登錄到該網站。 542 00:23:05,440 --> 00:23:09,300 >> 所以這是一種方便 你會得到一定的環境。 543 00:23:09,300 --> 00:23:14,220 因此,C#和ASP一樣的東西會很 在Windows世界通常被使用, 544 00:23:14,220 --> 00:23:16,460 無論是其台式機 軟件或Web服務器, 545 00:23:16,460 --> 00:23:21,490 特別是如果你的服務器是反過來 運行Microsoft Windows和Microsoft 546 00:23:21,490 --> 00:23:25,810 IIS--或Internet Information 服務器,如果我得到的縮寫right-- 547 00:23:25,810 --> 00:23:27,800 這是微軟的Web服務器。 548 00:23:27,800 --> 00:23:30,820 >> 那麼,什麼其他語言 熟悉的人, 549 00:23:30,820 --> 00:23:35,228 或者你聽說過的 往往不是? 550 00:23:35,228 --> 00:23:38,262 >> 聽眾:我知道,Python的 一種流行的[聽不清]的。 551 00:23:38,262 --> 00:23:39,470 戴維·馬蘭:非常受歡迎。 552 00:23:39,470 --> 00:23:45,490 因此,這裡的Python很經常使用 科學應用程序或數據 553 00:23:45,490 --> 00:23:48,330 科學,在那裡你有很多 數據要分析 554 00:23:48,330 --> 00:23:50,413 並且要使用 編程語言了。 555 00:23:50,413 --> 00:23:53,640 ř可能通常被用於 同時,在統計範圍內。 556 00:23:53,640 --> 00:23:56,400 但是Python有這麼多 內置的功能。 557 00:23:56,400 --> 00:23:58,850 因此,許多附加 庫,人說。 558 00:23:58,850 --> 00:24:01,260 >> 圖書館是收藏品剛 代碼的其他人 559 00:24:01,260 --> 00:24:04,218 寫道,您可以使用,這樣你 不必重新發明輪子的那些。 560 00:24:04,218 --> 00:24:07,430 所以Python是非常普遍 數據的科學應用。 561 00:24:07,430 --> 00:24:09,930 但它也很普遍 在Web應用程序中使用。 562 00:24:09,930 --> 00:24:12,780 您可以實現動態 網站使用Python。 563 00:24:12,780 --> 00:24:15,210 >> 並通過動態的網站,我 意味著不只是靜態內容 564 00:24:15,210 --> 00:24:19,530 就像我們昨天創建,由 只是在拉丁文本硬編碼 565 00:24:19,530 --> 00:24:21,820 等這樣的事情, 而是能力 566 00:24:21,820 --> 00:24:25,367 登錄,能夠買 東西,能否退房 567 00:24:25,367 --> 00:24:26,950 與您購物車,或類似物。 568 00:24:26,950 --> 00:24:30,590 所有這些都需要活力和你 需要像其中的一個部分語言。 569 00:24:30,590 --> 00:24:35,060 >> 聽眾:這是否Python中有自己的 延伸,類似像[聽不清] 570 00:24:35,060 --> 00:24:36,060 DAVID J. MALAN:它。 571 00:24:36,060 --> 00:24:42,250 所以在Python的世界裡,Django是 一個非常流行的Python框架。 572 00:24:42,250 --> 00:24:46,520 WSGI是另一種機制,這是 排序從這個不同 573 00:24:46,520 --> 00:24:47,640 但在精神上相似。 574 00:24:47,640 --> 00:24:52,200 這是一個插件,可以讓你 向在服務器上運行Python代碼。 575 00:24:52,200 --> 00:24:53,950 有other--呀。 576 00:24:53,950 --> 00:24:57,250 因此,這些我們稱之為框架。 577 00:24:57,250 --> 00:24:58,870 而且這是一個濫用的一點點。 578 00:24:58,870 --> 00:25:00,920 這更多的是一種Web服務器技術。 579 00:25:00,920 --> 00:25:04,610 但我們會保持它的簡單,並把 它在此列仍然。 580 00:25:04,610 --> 00:25:05,780 >> 好。 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 另一件事 - 實際上,讓 我謹以自己的列, 584 00:25:12,100 --> 00:25:17,000 因為我將在自己喊 將它們放在同一個桶。 585 00:25:17,000 --> 00:25:24,910 讓我們把這個變成服務器 的功能,讓我們說。 586 00:25:24,910 --> 00:25:26,710 這不是一個技術術語。 587 00:25:26,710 --> 00:25:29,180 >> 所以在這裡,我們可能會WSGI。 588 00:25:29,180 --> 00:25:32,580 有CGI,這是一個較舊的 技術服務了語言 589 00:25:32,580 --> 00:25:35,890 像Perl或PHP,或者其他人。 590 00:25:35,890 --> 00:25:39,000 再次,我已經提到這些條款 與其說是那種根深蒂固他們, 591 00:25:39,000 --> 00:25:40,749 但是,這樣如果你看到 他們這件事情 592 00:25:40,749 --> 00:25:42,130 您只需谷歌閱讀更多。 593 00:25:42,130 --> 00:25:46,110 有沒有真正的果汁 對其中的一些東西。 594 00:25:46,110 --> 00:25:47,850 >> 但是,讓我們回到語言。 595 00:25:47,850 --> 00:25:50,499 我們談到了C#,Python的。 596 00:25:50,499 --> 00:25:52,790 還有什麼可能用於 Web編程可好? 597 00:25:52,790 --> 00:25:54,302 讓我們關注仍然。 598 00:25:54,302 --> 00:25:55,247 >> 聽眾:PHP。 599 00:25:55,247 --> 00:25:56,080 DAVID J. MALAN:PHP。 600 00:25:56,080 --> 00:25:57,413 讓我們回到那一個。 601 00:25:57,413 --> 00:25:59,310 所以很常用的PHP。 602 00:25:59,310 --> 00:26:01,560 PHP往往得到一個壞名聲。 603 00:26:01,560 --> 00:26:05,790 它開始作為一個語言實現 鄉親誰也許不一定 604 00:26:05,790 --> 00:26:06,960 最好的語言設計者。 605 00:26:06,960 --> 00:26:11,290 所以你可以閱讀各種 網上的文章關於PHP是多麼糟糕。 606 00:26:11,290 --> 00:26:13,660 不幸的是,這是 體現,部分地 607 00:26:13,660 --> 00:26:18,727 只是宗教辯論 程序員中的爆發。 608 00:26:18,727 --> 00:26:20,560 這是值得 值得銘記, 609 00:26:20,560 --> 00:26:24,410 從商業的角度來看, 這對技術人員很容易 610 00:26:24,410 --> 00:26:26,900 讓所有使用過他們的 對某些事物的看法。 611 00:26:26,900 --> 00:26:29,566 它並不意味著 這一個叫喊最響 612 00:26:29,566 --> 00:26:31,870 或具有最強, angriest的意見是正確的。 613 00:26:31,870 --> 00:26:34,100 很多時候,它真的 只是無所謂。 614 00:26:34,100 --> 00:26:37,970 >> 所以人們只是吵什麼 自己的偏見或舒適區是。 615 00:26:37,970 --> 00:26:40,760 所以,你應該保持 考慮到這一點的時候做 616 00:26:40,760 --> 00:26:42,622 一個決定,這只是 因為有人說 617 00:26:42,622 --> 00:26:45,080 這是正確的語言 這項工作,這可能是真實的, 618 00:26:45,080 --> 00:26:48,350 但它也只可能是它是 自己的技術範圍內的正確的語言 619 00:26:48,350 --> 00:26:49,267 設置或安樂窩。 620 00:26:49,267 --> 00:26:52,600 這是不壞,但你應該明白 可能有一些背景存在。 621 00:26:52,600 --> 00:26:54,440 有一些客觀 錯誤的語句, 622 00:26:54,440 --> 00:26:59,080 像C是用錯誤的語言 這些天來實現網站 623 00:26:59,080 --> 00:27:00,520 幾乎總是。 624 00:27:00,520 --> 00:27:03,370 但是,這不是沒有道理 地說,任何這些 625 00:27:03,370 --> 00:27:05,700 錯了,我們已經迄今為止盤旋。 626 00:27:05,700 --> 00:27:08,180 >> PHP經歷了許多版本了。 627 00:27:08,180 --> 00:27:11,310 所以語言往往有版本 與它們相關聯的數字。 628 00:27:11,310 --> 00:27:15,390 PHP是提出來,我覺得,第7版現在, 所以它的存在了相當一段時間。 629 00:27:15,390 --> 00:27:18,270 而作為語言得到更新, 他們經常獲得新功能。 630 00:27:18,270 --> 00:27:22,510 但你必須要留意這一點 因為如果你的網站已經 631 00:27:22,510 --> 00:27:27,539 在PHP中的7版本中實現,但 你想運行自己的網站, 632 00:27:27,539 --> 00:27:29,830 或者也許你已經外包 你的代碼的開發 633 00:27:29,830 --> 00:27:31,960 給別人,他們郵寄 它給你或將其發送給你 634 00:27:31,960 --> 00:27:33,960 他們說,在這裡,把 這是你的Web服務器上, 635 00:27:33,960 --> 00:27:36,610 如果你的Web服務器是幾 年outdated--它是否 636 00:27:36,610 --> 00:27:39,465 在自己的服務器或Web host-- 它可能不會實際運行。 637 00:27:39,465 --> 00:27:41,340 所以這些都是該種 的東西,別人 638 00:27:41,340 --> 00:27:44,067 需要謹記 升級站點時 639 00:27:44,067 --> 00:27:45,650 或執行它的第一次。 640 00:27:45,650 --> 00:27:46,900 >> 我聽說JavaScript的早。 641 00:27:46,900 --> 00:27:50,570 因此,JavaScript是一種有趣 之一,它通常是 642 00:27:50,570 --> 00:27:53,030 客戶端,因為我們將看到 中場休息時,後 643 00:27:53,030 --> 00:27:55,000 意味著它在用戶的瀏覽器中運行。 644 00:27:55,000 --> 00:27:58,400 但是你也可以運行 JavaScript的這些天 645 00:27:58,400 --> 00:28:03,450 使用一種叫 Node.js的,其中的Node.js 646 00:28:03,450 --> 00:28:08,000 適用於運行機制 JavaScript代碼的服務器端, 647 00:28:08,000 --> 00:28:12,430 而不是使用Python或 PHP或其他語言。 648 00:28:12,430 --> 00:28:17,820 >> JavaScript是特別適合 聊天應用和實時 649 00:28:17,820 --> 00:28:22,050 應用程序,而PHP是不是一個偉大的 語言實現的東西 650 00:28:22,050 --> 00:28:25,050 就像一個聊天服務器,用戶 保持聯繫,它不斷。 651 00:28:25,050 --> 00:28:28,760 PHP是更訪問我的 一次,回來的結果, 652 00:28:28,760 --> 00:28:31,790 然後點擊另一個鏈接一些 從現在幾秒鐘或幾分鐘。 653 00:28:31,790 --> 00:28:36,020 而Node.js的和JavaScript可以 更多用於永久連接。 654 00:28:36,020 --> 00:28:40,840 您懷疑其他語言 通常用於Web的東西? 655 00:28:40,840 --> 00:28:42,800 >> 聽眾:請問jQuery的是一個框架? 656 00:28:42,800 --> 00:28:44,050 >> DAVID J. MALAN:好問題。 657 00:28:44,050 --> 00:28:44,700 都不是。 658 00:28:44,700 --> 00:28:51,210 我會打電話jQuery的圖書館,在那裡 再一個圖書館僅僅是一串代碼 659 00:28:51,210 --> 00:28:53,250 別人有 撰文指出,一般 660 00:28:53,250 --> 00:28:56,390 解決了一些問題, 使得它,希望更方便 661 00:28:56,390 --> 00:28:57,760 為你做你的工作。 662 00:28:57,760 --> 00:29:00,820 讓我做的一個例子 這在紙幅的情況下。 663 00:29:00,820 --> 00:29:03,910 >> 在幅材的上下文有 這種語言,JavaScript中, 664 00:29:03,910 --> 00:29:06,690 我們將在後​​面看到,這樣你 可以這樣說this-- 665 00:29:06,690 --> 00:29:10,060 “的document.getElementById”。 666 00:29:10,060 --> 00:29:11,490 而我怎麼叫它昨天? 667 00:29:11,490 --> 00:29:16,800 首先,我認為,是唯一的ID我給 到這個樣子的元素。 668 00:29:16,800 --> 00:29:23,110 “P ID =”第一個“>”,然後我們有 像“Lorem存有”,等等。 669 00:29:23,110 --> 00:29:28,210 所以,如果我在寫一個程序 JavaScript來操縱不知何故, 670 00:29:28,210 --> 00:29:30,830 改變的網頁,我們 昨天被打, 671 00:29:30,830 --> 00:29:33,010 我會用這 代碼高亮顯示的行 672 00:29:33,010 --> 00:29:38,700 獲得HTML的特定片段 從我的網頁,特定節點, 673 00:29:38,700 --> 00:29:39,680 正如我們將調用它。 674 00:29:39,680 --> 00:29:44,540 >> 然而,在jQuery的,而不是寫作 這一點,這是原始的JavaScript代碼 - 675 00:29:44,540 --> 00:29:48,870 剛剛開箱,這就是你如何 寫它 - 你不是剛才說, 676 00:29:48,870 --> 00:29:50,260 “#第一。” 677 00:29:50,260 --> 00:29:52,330 這是等價的。 678 00:29:52,330 --> 00:29:56,040 只有如此,在此基礎上很 神秘的例子,也許什麼 679 00:29:56,040 --> 00:29:57,870 是使用jQuery的說法? 680 00:29:57,870 --> 00:30:01,390 681 00:30:01,390 --> 00:30:05,111 為什麼要開發利用就像一個圖書館 jQuery的,在此基礎上孤立的例子, 682 00:30:05,111 --> 00:30:05,610 也許? 683 00:30:05,610 --> 00:30:06,335 >> 聽眾:更少的代碼。 684 00:30:06,335 --> 00:30:06,780 >> 戴維·馬蘭:是的。 685 00:30:06,780 --> 00:30:07,530 這是更少的代碼。 686 00:30:07,530 --> 00:30:09,070 這只是更快的輸入。 687 00:30:09,070 --> 00:30:11,690 對位是 它看起來可怕。 688 00:30:11,690 --> 00:30:13,540 你不能真正讀懂它從左到右。 689 00:30:13,540 --> 00:30:16,730 事實上,因為它主要是 現在標點符號,而不是實際的話, 690 00:30:16,730 --> 00:30:20,950 我可以種推斷 “的document.getElementById”變 691 00:30:20,950 --> 00:30:23,640 從由它的ID的文檔的元素。 692 00:30:23,640 --> 00:30:26,750 我真的可以用沒有這樣的 從這裡這個東西助記符。 693 00:30:26,750 --> 00:30:27,680 >> 所以這是一個權衡。 694 00:30:27,680 --> 00:30:30,763 有自帶一個複雜 經常使用圖書館,特別是 695 00:30:30,763 --> 00:30:31,440 像jQuery。 696 00:30:31,440 --> 00:30:34,700 但現實是jQuery有樣 中成為一個事實上的標準, 697 00:30:34,700 --> 00:30:38,110 使幾乎任何人這些 天誰寫的JavaScript代碼 698 00:30:38,110 --> 00:30:41,520 使用jQuery或某事 喜歡它,而不再寫入 699 00:30:41,520 --> 00:30:45,200 這樣一個冗長的表達式為 這一點,因為再次,人性化 700 00:30:45,200 --> 00:30:47,850 了解到,哇,這是 那種一個錯失的機會 701 00:30:47,850 --> 00:30:49,030 讓我們的生活更輕鬆。 702 00:30:49,030 --> 00:30:51,140 所以,人類使他們的生活更輕鬆。 703 00:30:51,140 --> 00:30:53,310 好問題。 704 00:30:53,310 --> 00:30:55,870 >> 其他語言來考慮。 705 00:30:55,870 --> 00:30:58,660 我想這中間說 名單Ruby是相當流行。 706 00:30:58,660 --> 00:31:01,310 因此在世界 紅寶石,有一個框架 707 00:31:01,310 --> 00:31:03,590 所謂Rails的,這是非常受歡迎的。 708 00:31:03,590 --> 00:31:06,880 因此,Ruby on Rails是一個 常用的表達。 709 00:31:06,880 --> 00:31:10,330 此外,在這個世界上,讓我 圓形的Java的Web的東西, 710 00:31:10,330 --> 00:31:14,160 凡在Java世界 你可能有JSP或Java 711 00:31:14,160 --> 00:31:18,450 小服務程序,這是一種常見的技術。 712 00:31:18,450 --> 00:31:22,560 而這僅僅是再次使用方式 在服務器環境中該語言。 713 00:31:22,560 --> 00:31:23,520 >> 所以,這是什麼意思? 714 00:31:23,520 --> 00:31:25,770 如果你有一個物理 服務器,你會從字面上 715 00:31:25,770 --> 00:31:30,510 下載的Web服務器軟件 並以這樣的方式安裝 716 00:31:30,510 --> 00:31:33,510 你有一個支持 這些框架,與您 717 00:31:33,510 --> 00:31:37,260 可以反過來,使用一個或 更多的這些語言。 718 00:31:37,260 --> 00:31:40,260 而在現實中,如果您註冊 就像一個虛擬主機或某些雲 719 00:31:40,260 --> 00:31:41,968 服務我們談 昨天,常 720 00:31:41,968 --> 00:31:44,885 的東西只是自帶的 機器對你的配置。 721 00:31:44,885 --> 00:31:46,510 你並不需要手動設置起來。 722 00:31:46,510 --> 00:31:51,040 但是,如果你做到了,這是哪裡的作用 系統管理員,可以這麼說, 723 00:31:51,040 --> 00:31:51,860 進場。 724 00:31:51,860 --> 00:31:54,151 他或她居然會做 這種東西對你來說, 725 00:31:54,151 --> 00:31:58,510 或所謂的管理員 往往會為你做這個。 726 00:31:58,510 --> 00:31:59,010 好吧。 727 00:31:59,010 --> 00:32:03,300 對其中一些在這裡有問題嗎? 728 00:32:03,300 --> 00:32:06,690 或者在任何機會 所有詢問的語言嗎? 729 00:32:06,690 --> 00:32:09,500 構架? 730 00:32:09,500 --> 00:32:11,530 那就讓我來介紹 只是另一個庫 731 00:32:11,530 --> 00:32:13,150 這也是很常見的這些天。 732 00:32:13,150 --> 00:32:15,340 這個名單可以無限地繼續下去。 733 00:32:15,340 --> 00:32:19,140 >> 而這個庫是怎麼樣的 開始失寵。 734 00:32:19,140 --> 00:32:19,850 它的存在了。 735 00:32:19,850 --> 00:32:22,040 它是由推廣 Twitter的一段時間。 736 00:32:22,040 --> 00:32:24,470 而現在很多的網站, 許多開發人員使用它。 737 00:32:24,470 --> 00:32:26,629 但新的東西來了 一起出來,來了。 738 00:32:26,629 --> 00:32:29,420 但是,讓我給你一個感覺 意味著什麼使用圖書館。 739 00:32:29,420 --> 00:32:32,250 如此反复,JavaScript是 一個非常流行的語言。 740 00:32:32,250 --> 00:32:35,340 CSS或級聯樣式表, 我們談到了昨天。 741 00:32:35,340 --> 00:32:36,600 這同樣是無所不在的。 742 00:32:36,600 --> 00:32:40,130 沒有人讓今天的網頁 不使用HTML和CSS最低限度。 743 00:32:40,130 --> 00:32:42,510 但它並不總是那麼容易 做某些事情。 744 00:32:42,510 --> 00:32:46,281 >> 因此,讓我去getbootstrap.com。 745 00:32:46,281 --> 00:32:46,780 哎呦。 746 00:32:46,780 --> 00:32:48,280 這不是我們如何拼寫。 747 00:32:48,280 --> 00:32:52,410 Getbootstrap.com,這 是要帶領我 748 00:32:52,410 --> 00:32:56,140 對於這個庫的登錄頁面。 749 00:32:56,140 --> 00:32:59,720 因此,他們呼籲慷慨 本身的框架,其 750 00:32:59,720 --> 00:33:02,032 是一種形式的公平, 但我還是會稱它為 751 00:33:02,032 --> 00:33:03,490 不止一個框架庫。 752 00:33:03,490 --> 00:33:05,760 但這些都只是值得商榷的語義。 753 00:33:05,760 --> 00:33:12,360 讓我去他們的CSS標籤, 讓我去這樣的事情。 754 00:33:12,360 --> 00:33:15,450 >> 因此,回顧一下我們的表格看起來 像昨天Cloud9? 755 00:33:15,450 --> 00:33:16,370 這是相當難看。 756 00:33:16,370 --> 00:33:17,320 老同學的按鈕。 757 00:33:17,320 --> 00:33:20,420 我認為,按鈕是灰色的通過 默認。所有的一切都真的 758 00:33:20,420 --> 00:33:22,420 格式化相當亂七八糟。 759 00:33:22,420 --> 00:33:26,940 所以,如果你希望你的Web形式看 有點nicer--讓我放大這裡。 760 00:33:26,940 --> 00:33:30,050 >> 並通過更好的我真的只是 意思是很挑剔的美學。 761 00:33:30,050 --> 00:33:35,390 所以注意郵箱有怎麼了 圓角的矩形角到它。 762 00:33:35,390 --> 00:33:37,010 所以這是一個少許清潔劑存在。 763 00:33:37,010 --> 00:33:40,770 注意,詞的電子郵件 在那裡,直到我開始輸入 764 00:33:40,770 --> 00:33:41,797 然後消失。 765 00:33:41,797 --> 00:33:43,130 所以這是一個不錯的小功能。 766 00:33:43,130 --> 00:33:46,046 注意怎麼回事是怎麼樣的 泛著很好,其中一些這個你 767 00:33:46,046 --> 00:33:49,069 獲得從瀏覽器免費的, 但一些這也是庫 768 00:33:49,069 --> 00:33:51,360 碼,其他人都 寫了給你這個。 769 00:33:51,360 --> 00:33:53,480 >> 像這樣的事情 給我我的密碼。 770 00:33:53,480 --> 00:33:58,480 這個按鈕是不是更性感一點 默認。非常流行現在。 771 00:33:58,480 --> 00:34:03,570 自從iOS的7左右, 世界已經變得非常平坦, 772 00:34:03,570 --> 00:34:09,000 而世界面前 許多陰影,大量的 773 00:34:09,000 --> 00:34:11,040 對圖標的思考。 774 00:34:11,040 --> 00:34:14,170 很像在服裝世界 有來來去去的流行趨勢。 775 00:34:14,170 --> 00:34:16,190 現在一切都平坦您的手機上。 776 00:34:16,190 --> 00:34:19,159 >> 實際上,按鈕上的 iPhone現在只是藍色的鏈接。 777 00:34:19,159 --> 00:34:21,000 這裡沒有甚至經常圓形按鈕。 778 00:34:21,000 --> 00:34:22,791 所以這些都只是事 這進出 779 00:34:22,791 --> 00:34:26,659 時尚的,​​所以你這是怎麼可能 做一個更現代的外觀的Web表單。 780 00:34:26,659 --> 00:34:27,159 鈕扣。 781 00:34:27,159 --> 00:34:29,190 因此,引導有很多漂亮的按鈕。 782 00:34:29,190 --> 00:34:33,639 所以,如果你想藍色的按鈕, 綠色按鈕,藍,橙,紅。 783 00:34:33,639 --> 00:34:35,840 引導使得它更容易 做這些事情。 784 00:34:35,840 --> 00:34:38,131 這些是各​​種事情 你絕對可以 785 00:34:38,131 --> 00:34:41,840 昨天已經用CSS和做 HTML,但它只是在頸部疼痛。 786 00:34:41,840 --> 00:34:44,840 所以相反,什麼引導會 有你要做的就是這樣的事情。 787 00:34:44,840 --> 00:34:48,960 >> 如果你想要一個button--原來這 是我們沒有使用yesterday-- HTML標記 788 00:34:48,960 --> 00:34:53,070 你希望它看起來 像這樣的綠色按鈕, 789 00:34:53,070 --> 00:34:57,380 你從字面上只是給它一個類, 我們確實談論昨天, 790 00:34:57,380 --> 00:34:59,710 的“BTN BTN-的成功。” 791 00:34:59,710 --> 00:35:00,971 >> 為什麼這些話? 792 00:35:00,971 --> 00:35:03,470 Twitter的,引導的作者, 想出了這些話。 793 00:35:03,470 --> 00:35:05,428 他們可以被稱為 他們希望他們任何東西。 794 00:35:05,428 --> 00:35:08,480 但是,你現在越來越是 他人在微博在這種情況下, 795 00:35:08,480 --> 00:35:12,360 已經想通了,你怎麼做 按鈕看上去非常乾淨和綠色。 796 00:35:12,360 --> 00:35:15,580 他們打包該功能 在CSS類,叫做“BTN”。 797 00:35:15,580 --> 00:35:19,790 和“BTN-成功”,讓我們任何人都可以 現在使用它,甚至沒有考慮 798 00:35:19,790 --> 00:35:20,290 它。 799 00:35:20,290 --> 00:35:22,880 因此,他們都抽象化了 一個綠色按鈕的概念 800 00:35:22,880 --> 00:35:25,320 因此,我們不必在意 實現它自己。 801 00:35:25,320 --> 00:35:28,520 事實上,我們可以專注於實現 我們感興趣的東西。 802 00:35:28,520 --> 00:35:30,902 >> 如果我們在這裡向下滾動。 803 00:35:30,902 --> 00:35:32,110 在屏幕上的錯誤信息。 804 00:35:32,110 --> 00:35:35,440 有時候你需要一點消息 出現在瀏覽器的頂部。 805 00:35:35,440 --> 00:35:39,729 我們任何人可以做一些該做的 努力,昨天的教訓後, 806 00:35:39,729 --> 00:35:40,770 但你為什麼要這麼做呢? 807 00:35:40,770 --> 00:35:42,540 這是這樣的無趣 審美細節。 808 00:35:42,540 --> 00:35:44,248 讓我們站在 自舉的肩膀上 809 00:35:44,248 --> 00:35:49,440 並讓他們給我們這樣的事情, 我們從字面上看,得到一個紅色的框, 810 00:35:49,440 --> 00:35:53,220 只需要做一個段落 標籤與類of--遺憾。 811 00:35:53,220 --> 00:35:57,307 “BG-危險”將會給我們 這微紅方塊。 812 00:35:57,307 --> 00:35:59,140 現在,讓我們去 更有趣的事情。 813 00:35:59,140 --> 00:36:02,950 如果我回到頂部 這個頁面並轉到組件, 814 00:36:02,950 --> 00:36:05,380 現在世界變得更有趣。 815 00:36:05,380 --> 00:36:08,826 例如,很常見的是 下拉這樣的菜單。 816 00:36:08,826 --> 00:36:11,560 這將是一個絕對的 疼痛實現。 817 00:36:11,560 --> 00:36:13,610 它不是很久 以前,我們的程序員 818 00:36:13,610 --> 00:36:16,490 必須實施這些 種從頭開始菜單。 819 00:36:16,490 --> 00:36:20,800 >> 但它是這樣一個共同的模式 ,圖書館像引導 820 00:36:20,800 --> 00:36:25,230 只是給大家做一個能力 遠的下拉菜單,更輕鬆。 821 00:36:25,230 --> 00:36:27,850 有沒有人做到這一點的方式, 但如果我閱讀文檔 822 00:36:27,850 --> 00:36:32,100 我也看到,OK,我應該使用 這個HTML,如果我想要一個下拉菜單 823 00:36:32,100 --> 00:36:34,030 其行為這樣。 824 00:36:34,030 --> 00:36:36,690 >> 同樣,讓我們去按鈕下拉。 825 00:36:36,690 --> 00:36:38,470 因此,這是更炫。 826 00:36:38,470 --> 00:36:41,800 如果我想這看起來像一個按鈕 但小三角指 827 00:36:41,800 --> 00:36:44,080 我一下就可以了 而得到這個菜單,這 828 00:36:44,080 --> 00:36:45,760 是使用一種稱為JavaScript語言。 829 00:36:45,760 --> 00:36:47,470 而我們都可以實現 這在JavaScript中。 830 00:36:47,470 --> 00:36:49,720 但是再次,這是一個輪 你不想重塑。 831 00:36:49,720 --> 00:36:52,700 你只想把它關閉 貨架庫這一點。 832 00:36:52,700 --> 00:36:58,145 >> 讓我們去的東西 像進度條。 833 00:36:58,145 --> 00:36:59,770 所以,這樣的事情是挺酷的。 834 00:36:59,770 --> 00:37:02,910 如果你見過一個進度 酒吧在屏幕上移動, 835 00:37:02,910 --> 00:37:06,380 實施經常 僅僅是一個旋轉圖標。 836 00:37:06,380 --> 00:37:10,200 事實上,正如順便說一句,讓 我去Ajax--是什麼呢? 837 00:37:10,200 --> 00:37:10,710 Ajax的信息? 838 00:37:10,710 --> 00:37:11,720 哎呦。 839 00:37:11,720 --> 00:37:13,035 Ajaxinfo。 840 00:37:13,035 --> 00:37:14,800 讓我記住地址。 841 00:37:14,800 --> 00:37:15,820 在那裡,我們走了。 842 00:37:15,820 --> 00:37:19,850 >> 所以,如果你見過一些動畫 而加載頁面時,或思考, 843 00:37:19,850 --> 00:37:25,410 或保存,或創造的東西,你 可能會看到這樣的動畫,因為這些。 844 00:37:25,410 --> 00:37:28,800 因此,讓我們看的東西 像這樣一個在這裡, 845 00:37:28,800 --> 00:37:33,550 而我們選擇的前景色 綠色,感覺一種友好。 846 00:37:33,550 --> 00:37:34,545 我可以點擊這個? 847 00:37:34,545 --> 00:37:35,500 再來一個。 848 00:37:35,500 --> 00:37:36,000 好。 849 00:37:36,000 --> 00:37:38,930 我們就一起去紅色的,因為 這就是我們在說什麼。 850 00:37:38,930 --> 00:37:40,250 所以在這裡我們有它。 851 00:37:40,250 --> 00:37:43,940 >> 所以,如果你見過這樣的屏幕上, 由此突然出現,然後 852 00:37:43,940 --> 00:37:47,550 突然消失,是什麼 它是實現的呢? 853 00:37:47,550 --> 00:37:48,970 好吧,這只是一個GIF。 854 00:37:48,970 --> 00:37:52,850 G-I-F。這是一個動畫 文件,它只是意味著 855 00:37:52,850 --> 00:37:54,327 它就像一個老同學的漫畫書。 856 00:37:54,327 --> 00:37:57,160 這裡還有一堆不同 那些即將幀[STUTTERING] 857 00:37:57,160 --> 00:37:58,085 而只是在重複。 858 00:37:58,085 --> 00:38:00,090 和它的創建 運動的錯覺。 859 00:38:00,090 --> 00:38:03,070 >> 因此,一旦一個頁面完成 加載或做一些事情, 860 00:38:03,070 --> 00:38:04,610 什麼程序員嗎? 861 00:38:04,610 --> 00:38:07,500 那麼,他或她只是隱藏這個形象。 862 00:38:07,500 --> 00:38:11,536 因此,所有的進度條是一種被 像一個電影你看。 863 00:38:11,536 --> 00:38:14,660 你是那種無視這一事實, 它實際上沒有做任何事情, 864 00:38:14,660 --> 00:38:15,940 它只是感動。 865 00:38:15,940 --> 00:38:19,150 >> 然後,當它完成進步, 他們只是隱藏或關閉它。 866 00:38:19,150 --> 00:38:21,115 而這所有的魔法 這是有事情。 867 00:38:21,115 --> 00:38:22,770 引導給你 票友的東西一點點, 868 00:38:22,770 --> 00:38:25,030 讓你可以真正 看到一個百分比,因為它去, 869 00:38:25,030 --> 00:38:27,840 但它也只是排序 一個簡單的動畫。 870 00:38:27,840 --> 00:38:32,250 >> 讓我們來看看一些最後的 這裡更複雜的例子。 871 00:38:32,250 --> 00:38:35,526 就像一個模態。 872 00:38:35,526 --> 00:38:36,900 有誰知道一個模式是什麼? 873 00:38:36,900 --> 00:38:39,880 874 00:38:39,880 --> 00:38:42,550 模態窗口通常是 一個被認為 875 00:38:42,550 --> 00:38:46,880 採取前景控制 阻止你做其他事情。 876 00:38:46,880 --> 00:38:50,290 它那種迫使用戶 注意在屏幕的中間, 877 00:38:50,290 --> 00:38:52,290 鎖定他們,通常情況下, 的一切。 878 00:38:52,290 --> 00:38:55,830 >> 所以,如果我推出這個演示中, 屏幕通常會變成灰色。 879 00:38:55,830 --> 00:38:57,060 那麼,我們如何讓它灰色的? 880 00:38:57,060 --> 00:38:59,080 那麼,我們可能只是 改變的背景顏色 881 00:38:59,080 --> 00:39:01,060 像我們昨天做 或類似的東西。 882 00:39:01,060 --> 00:39:03,490 也許這是一個覆蓋 該半透明。 883 00:39:03,490 --> 00:39:06,320 現在發現,你可以做 花哨的東西是這樣的。 884 00:39:06,320 --> 00:39:09,930 所以,如果你點擊一個按鈕 並希望一點點蹦出出現, 885 00:39:09,930 --> 00:39:10,710 你可以做到這一點。 886 00:39:10,710 --> 00:39:12,340 所以誰在乎all--是嗎? 887 00:39:12,340 --> 00:39:15,791 >> 聽眾:因此,與引導, 得到它的成立, 888 00:39:15,791 --> 00:39:21,002 是不是像昨天一樣簡單 我們做的CSS樣式的網頁? 889 00:39:21,002 --> 00:39:21,960 DAVID J. MALAN:確實是這樣。 890 00:39:21,960 --> 00:39:22,835 非常好的問題。 891 00:39:22,835 --> 00:39:24,480 讓我去入門。 892 00:39:24,480 --> 00:39:26,090 是的。 893 00:39:26,090 --> 00:39:30,920 所有你必須為了做 使用引導程序基本上是複製 894 00:39:30,920 --> 00:39:35,910 並粘貼這三個排長隊 碼到你自己的網站page--頂部 895 00:39:35,910 --> 00:39:38,892 您page--頭 而你啟動和運行。 896 00:39:38,892 --> 00:39:41,850 還有的做不同的方式 它,但是這將是最簡單的。 897 00:39:41,850 --> 00:39:45,190 >> 那麼,什麼是對所有的有幫助嗎? 898 00:39:45,190 --> 00:39:47,524 好吧,如果你沒有那麼多 一個網站的實施者 899 00:39:47,524 --> 00:39:50,106 但你要設計它, 或者你想別人提供 900 00:39:50,106 --> 00:39:53,220 用線框圖,可以這麼說, 或者只是藝術家的引渡什麼 901 00:39:53,220 --> 00:39:56,080 你想做的事,我,這個 一天,會經常去的網站 902 00:39:56,080 --> 00:39:58,660 像引導,在那裡,如果我 要實現something-- 903 00:39:58,660 --> 00:40:02,290 像最近在校園 我們希望實施 904 00:40:02,290 --> 00:40:06,170 用於導航基於Web的工具 哈佛大學的課程目錄, 905 00:40:06,170 --> 00:40:08,770 使學生更容易 通過課程瀏覽 906 00:40:08,770 --> 00:40:10,930 並添加課程 購物清單,可以這麼說, 907 00:40:10,930 --> 00:40:13,070 來樣決定什麼 他們希望採取。 908 00:40:13,070 --> 00:40:16,252 >> 我試圖想像 我自己,什麼成分會 909 00:40:16,252 --> 00:40:17,460 我們要用來建立這個? 910 00:40:17,460 --> 00:40:19,050 將用戶界面是什麼樣的? 911 00:40:19,050 --> 00:40:22,800 而就翻翻喜歡的網站 這或其他類似網站的庫, 912 00:40:22,800 --> 00:40:26,560 你可以得到的靈感,因為哇, 我可以用這個小工具,這個小工具, 913 00:40:26,560 --> 00:40:27,330 而這個小部件。 914 00:40:27,330 --> 00:40:29,080 然後真的什麼 程序員開始 915 00:40:29,080 --> 00:40:32,800 做的,尤其是這幾天在這 Web編程的更現代的世界裡, 916 00:40:32,800 --> 00:40:35,827 是編程越來越 有關佈線的東西放在一起。 917 00:40:35,827 --> 00:40:38,910 排序採取這一現成的, 這個現成的,這個現成的, 918 00:40:38,910 --> 00:40:41,954 而你作為聰明的 連接所有這些點, 919 00:40:41,954 --> 00:40:45,120 但最終再次建立的東西 站在別人的肩膀上, 920 00:40:45,120 --> 00:40:49,370 讓你不花一個月 實施一個愚蠢的下拉菜單中, 921 00:40:49,370 --> 00:40:52,080 這實際上是很難做到的,如果 你想讓它在Chrome工作, 922 00:40:52,080 --> 00:40:55,220 而IE和Firefox,以及任何 其他瀏覽器數量。 923 00:40:55,220 --> 00:40:59,060 這就是為什麼有這種豐富 商業和開源軟件 924 00:40:59,060 --> 00:41:01,220 行業也是如此。 925 00:41:01,220 --> 00:41:06,810 >> 聽眾:這是否引導得到更新 你必須然後更新您的聯繫? 926 00:41:06,810 --> 00:41:07,820 >> DAVID J. MALAN:它。 927 00:41:07,820 --> 00:41:09,090 嗯,是的,它的作用。 928 00:41:09,090 --> 00:41:12,540 引導目前是3.3.6版本。 929 00:41:12,540 --> 00:41:16,720 你會do--一般什麼 其實這是值得一提。 930 00:41:16,720 --> 00:41:19,200 還有就是一般的 被稱為語義版本 931 00:41:19,200 --> 00:41:20,160 系統在世界上。 932 00:41:20,160 --> 00:41:21,320 不是每個人都這樣做了。 933 00:41:21,320 --> 00:41:26,410 >> 但是,如果你看過版本號 屬於形式的x.y.z-- 934 00:41:26,410 --> 00:41:30,240 因此,例如,第一個版本 方案可能是1.0.0。 935 00:41:30,240 --> 00:41:34,970 或者如果它是非常,非常公測,或 即使阿爾法狀態,這意味著使用 936 00:41:34,970 --> 00:41:37,620 在您自己的風險,它不 真的準備好黃金時間, 937 00:41:37,620 --> 00:41:42,080 你甚至可能開始0.0.1 或一些這樣的稱號。 938 00:41:42,080 --> 00:41:47,260 但是,如果軟件開始於版本 1.0,或等價1.0.0, 939 00:41:47,260 --> 00:41:50,530 通常情況下,什麼是共同的,這些 days--雖不omnipresent--是 940 00:41:50,530 --> 00:41:53,520 如果一個公司或 個人程序員修復 941 00:41:53,520 --> 00:41:56,140 在一些片的一些bug 軟件真的 942 00:41:56,140 --> 00:42:01,620 是一個錯誤,其更正不應該 在all--它不會改變你的影響 943 00:42:01,620 --> 00:42:03,940 該程序的行為, 它只是修復了的東西 944 00:42:03,940 --> 00:42:06,580 這是行不通的 properly--您通常會 945 00:42:06,580 --> 00:42:08,890 更新z值存在。 946 00:42:08,890 --> 00:42:12,900 這意味著有人喜歡賈巴爾 可以簡單地進入他的網站, 947 00:42:12,900 --> 00:42:19,470 盲目地更改版本號 從1.0.0到1.0.1,保存,出貨, 948 00:42:19,470 --> 00:42:21,880 並且在理論上,不必 擔心他剛剛打破 949 00:42:21,880 --> 00:42:24,430 他的網站是因為 有些欠缺的功能, 950 00:42:24,430 --> 00:42:25,870 因為別的東西打破。 951 00:42:25,870 --> 00:42:28,740 >> 同時,如果我的 程序員或公司的一些 952 00:42:28,740 --> 00:42:35,500 為使一些顯著 變化,增加了功能, 953 00:42:35,500 --> 00:42:40,320 我可能會更新我們 1.1.0,因為我其實是 954 00:42:40,320 --> 00:42:42,200 改變庫的行為。 955 00:42:42,200 --> 00:42:44,470 我給你,也許更多的功能。 956 00:42:44,470 --> 00:42:48,490 最後,如果我是實際 從根本上改變軟件, 957 00:42:48,490 --> 00:42:54,380 多,這將打破許多 用戶網站或應用程序, 958 00:42:54,380 --> 00:42:59,550 那麼我不得不在這個模型中,以 升級主版本號也一樣, 959 00:42:59,550 --> 00:43:01,059 這是一個重大更改。 960 00:43:01,059 --> 00:43:03,725 換句話說,我可能有 對於那些跌落不再支持 961 00:43:03,725 --> 00:43:04,350 下拉菜單。 962 00:43:04,350 --> 00:43:07,790 所以,如果您升級到2.0,一半 您的網站可能會停止工作。 963 00:43:07,790 --> 00:43:10,950 這是一類信號 給社會以什麼 964 00:43:10,950 --> 00:43:13,223 參與製作的升級。 965 00:43:13,223 --> 00:43:16,710 966 00:43:16,710 --> 00:43:18,020 一個很好的機會來提高。 967 00:43:18,020 --> 00:43:18,718 其他問題? 968 00:43:18,718 --> 00:43:21,761 969 00:43:21,761 --> 00:43:22,260 好吧。 970 00:43:22,260 --> 00:43:26,945 那麼讓我們來看看最後一個 在這一領域的編程話題 971 00:43:26,945 --> 00:43:30,640 的技術堆棧, 即與移動。 972 00:43:30,640 --> 00:43:36,232 >> 因此,在手機的當今世界 你have--和iPad,和面, 973 00:43:36,232 --> 00:43:37,940 和所有這些類型 的devices--你有 974 00:43:37,940 --> 00:43:40,950 有很多選擇,當 談到實施 975 00:43:40,950 --> 00:43:47,270 一個應用程序或網站 客戶的移動設備。 976 00:43:47,270 --> 00:43:51,570 所以剛才陳述 很明顯,也許這些天, 977 00:43:51,570 --> 00:43:54,960 什麼是平台 開發用於在移動領域? 978 00:43:54,960 --> 00:43:59,650 你可能想什麼設備 您的應用或網站支持? 979 00:43:59,650 --> 00:44:00,317 >> 聽眾:蘋果。 980 00:44:00,317 --> 00:44:01,108 DAVID J. MALAN:OK。 981 00:44:01,108 --> 00:44:01,820 因此,蘋果的設備。 982 00:44:01,820 --> 00:44:06,740 因此,這意味著iPhone和那 意味著iPad和甚至iPod的。 983 00:44:06,740 --> 00:44:07,627 還有什麼? 984 00:44:07,627 --> 00:44:11,006 985 00:44:11,006 --> 00:44:11,505 奧利維爾? 986 00:44:11,505 --> 00:44:11,970 >> 聽眾:Android系統。 987 00:44:11,970 --> 00:44:13,111 >> DAVID J. MALAN:Android系統。 988 00:44:13,111 --> 00:44:13,610 好。 989 00:44:13,610 --> 00:44:17,335 所以Android手機,Android的 平板電腦,Android市場 990 00:44:17,335 --> 00:44:21,240 甚至混亂因為 - 和 即使蘋果正變得凌亂。 991 00:44:21,240 --> 00:44:23,960 而曾幾何時 iPhone是具有一定規模, 992 00:44:23,960 --> 00:44:26,560 和iPad是具有一定規模, 和iPod是具有一定規模,現在 993 00:44:26,560 --> 00:44:33,420 我們有iPad的扭蛋,和薄 的人,和iPhone 6 Plus和6。 994 00:44:33,420 --> 00:44:34,407 這已經成為一個爛攤子。 995 00:44:34,407 --> 00:44:35,740 這已經成為了Android的世界。 996 00:44:35,740 --> 00:44:39,030 >> 我說這跟那種軋 我的眼睛,因為從開發者 997 00:44:39,030 --> 00:44:41,680 的角度看,它是一 頸項強痛時 998 00:44:41,680 --> 00:44:45,686 你沒有史蒂夫·喬布斯“ 絕對控股的願景 999 00:44:45,686 --> 00:44:47,060 在所有這些規範。 1000 00:44:47,060 --> 00:44:49,726 蘋果仍然沒有因為他們是 的那些構建硬件。 1001 00:44:49,726 --> 00:44:52,690 但它是一個很好的事情,如果 我是一個軟件開發人員, 1002 00:44:52,690 --> 00:44:54,520 只知道我的 iPhone總是會 1003 00:44:54,520 --> 00:44:56,850 是這樣的,因為大 這意味著我總是知道 1004 00:44:56,850 --> 00:44:58,847 我是多麼的屏幕房地產有。 1005 00:44:58,847 --> 00:45:01,180 所以,如果我想提出一個圖標 在頂部左上角, 1006 00:45:01,180 --> 00:45:04,530 這將是完全一樣的 把每一個客戶的設備上。 1007 00:45:04,530 --> 00:45:07,140 >> 但在iPhone的世界 6S和iPhone 6加號 1008 00:45:07,140 --> 00:45:10,570 在Android的世界 手機,這一切都在地圖上。 1009 00:45:10,570 --> 00:45:13,580 因此,這使得它更難程序 東西,尤其是用戶界面, 1010 00:45:13,580 --> 00:45:18,270 因為現在你必須開始安排 你的用戶界面比較,不 1011 00:45:18,270 --> 00:45:19,730 絕對。 1012 00:45:19,730 --> 00:45:23,524 而同樣一直在瀏覽器真實的, 和台式機和筆記本電腦的年 1013 00:45:23,524 --> 00:45:25,690 因為你,當然, 有不同的屏幕尺寸。 1014 00:45:25,690 --> 00:45:26,189 >> 還有什麼? 1015 00:45:26,189 --> 00:45:30,170 你可能有面, 像微軟。 1016 00:45:30,170 --> 00:45:31,270 你可能有 - 1017 00:45:31,270 --> 00:45:32,270 聽眾:Windows phone的。 1018 00:45:32,270 --> 00:45:32,816 DAVID J. MALAN:那是什麼? 1019 00:45:32,816 --> 00:45:33,570 聽眾:Windows phone的。 1020 00:45:33,570 --> 00:45:34,403 戴維·馬蘭:是的。 1021 00:45:34,403 --> 00:45:37,570 所以Windows手機仍然可以發現。 1022 00:45:37,570 --> 00:45:41,840 排序黑莓手機的種類, 但他們繼續努力。 1023 00:45:41,840 --> 00:45:43,900 然後蕉等設備。 1024 00:45:43,900 --> 00:45:48,020 所以在大多數情況下,讓我們 說這些是那些 1025 00:45:48,020 --> 00:45:49,520 此刻關心。 1026 00:45:49,520 --> 00:45:51,890 當然,蘋果的東西, 當然Android的東西, 1027 00:45:51,890 --> 00:45:55,640 和Windows之間,像面片 似乎流行起來相當不錯。 1028 00:45:55,640 --> 00:45:58,030 >> 所以這些設備中, 如果要推出, 1029 00:45:58,030 --> 00:46:02,677 比方說,對於移動你的存在 公司,什麼樣的設計決策 1030 00:46:02,677 --> 00:46:03,510 你有沒有做什麼呢? 1031 00:46:03,510 --> 00:46:06,350 好了,我們已經說了 在蘋果世界 1032 00:46:06,350 --> 00:46:08,790 有至少兩種語言 這通常使用。 1033 00:46:08,790 --> 00:46:10,260 一個是叫什麼? 1034 00:46:10,260 --> 00:46:11,260 >> 聽眾:Objective-C的。 1035 00:46:11,260 --> 00:46:11,560 >> 戴維·馬蘭:是的。 1036 00:46:11,560 --> 00:46:13,600 所以目標C,這是上了年紀的。 1037 00:46:13,600 --> 00:46:17,720 這也是語言,許多Mac 應用程序仍然寫入了數據。 1038 00:46:17,720 --> 00:46:18,964 那麼其他較新的一個是? 1039 00:46:18,964 --> 00:46:19,630 聽眾:斯威夫特。 1040 00:46:19,630 --> 00:46:20,590 DAVID J. MALAN:斯威夫特。 1041 00:46:20,590 --> 00:46:23,900 而那些是什麼樣的 兩到知道打動人。 1042 00:46:23,900 --> 00:46:28,238 然後在Android的世界, Android版確實使用什麼語言? 1043 00:46:28,238 --> 00:46:30,618 >> 聽眾:C#? 1044 00:46:30,618 --> 00:46:31,570 >> 聽眾:Java的。 1045 00:46:31,570 --> 00:46:34,230 >> DAVID J. MALAN:Java是 語言“大談特談”。 1046 00:46:34,230 --> 00:46:37,950 在Windows世界,當然, 我們會說在這種情況下C#。 1047 00:46:37,950 --> 00:46:40,590 所以,這已經是一種 惱人的,因為什麼 1048 00:46:40,590 --> 00:46:43,070 外賣的生意 業主或某人誰只是 1049 00:46:43,070 --> 00:46:44,570 要推出一個移動的存在? 1050 00:46:44,570 --> 00:46:45,220 像,該死? 1051 00:46:45,220 --> 00:46:48,590 就像,如果我想支持 一個相當廣泛的用戶基礎, 1052 00:46:48,590 --> 00:46:52,180 我必須寫,這似乎 三個獨立的應用程序。 1053 00:46:52,180 --> 00:46:55,630 其中在這些語言中的一種, 之一的Java,一個在C#。 1054 00:46:55,630 --> 00:46:59,620 即使我想要的功能 是相同的,也沒關係。 1055 00:46:59,620 --> 00:47:02,940 我還需要使用不同 語言,因為蘋果和微軟, 1056 00:47:02,940 --> 00:47:06,084 和谷歌都支持 不同的環境。 1057 00:47:06,084 --> 00:47:07,750 和這個多年來一直是一種挑戰。 1058 00:47:07,750 --> 00:47:10,100 早在一天, 人們習慣購買軟件 1059 00:47:10,100 --> 00:47:12,230 在電腦店 收縮包裝盒, 1060 00:47:12,230 --> 00:47:14,470 你要么必須 端起架子的Mac, 1061 00:47:14,470 --> 00:47:19,040 或for--這也許非常小的Mac shelf--漲幅較大的Windows貨架 1062 00:47:19,040 --> 00:47:19,980 買一些軟件。 1063 00:47:19,980 --> 00:47:22,813 而很多時候,甚至沒有 什麼東西可以在Mac貨架上。 1064 00:47:22,813 --> 00:47:23,430 為什麼? 1065 00:47:23,430 --> 00:47:26,900 那麼,公司決定,如果90% 世界,世界的95% 1066 00:47:26,900 --> 00:47:31,180 有電腦,何苦連 實現在Mac OS上的東西呢? 1067 00:47:31,180 --> 00:47:34,370 >> 作為aside--共 digression--為什麼會 1068 00:47:34,370 --> 00:47:40,960 該MAC似乎很不受病毒, 和蠕蟲和安全威脅? 1069 00:47:40,960 --> 00:47:44,040 是蘋果在這更好的? 1070 00:47:44,040 --> 00:47:45,934 在保持電腦安全的更好嗎? 1071 00:47:45,934 --> 00:47:47,750 >> 聽眾:小觀眾? 1072 00:47:47,750 --> 00:47:50,720 >> DAVID J. MALAN:這是 可能更大一點吧。 1073 00:47:50,720 --> 00:47:54,740 所以蘋果電腦的許多用戶 早就聲稱,哦,使用的是Mac, 1074 00:47:54,740 --> 00:47:57,630 你會倖免於病毒和 蠕蟲和所有的這些事 1075 00:47:57,630 --> 00:47:59,180 長期困擾電腦。 1076 00:47:59,180 --> 00:48:02,050 這可能是因為蘋果 具有更好的程序員 1077 00:48:02,050 --> 00:48:05,250 他們編寫更好的軟件,或 操作系統是較好的設計。 1078 00:48:05,250 --> 00:48:06,870 也許吧,但可能不會。 1079 00:48:06,870 --> 00:48:10,840 >> 這也可能是,當你 一個12歲或30什麼 1080 00:48:10,840 --> 00:48:13,510 那種坐在家裡寫作 惡意軟件接管 1081 00:48:13,510 --> 00:48:17,480 這個世界,你會去後 在更大的目標受眾。 1082 00:48:17,480 --> 00:48:20,590 世界上95%誰可能 運行Windows或某些 1083 00:48:20,590 --> 00:48:21,740 變體。 1084 00:48:21,740 --> 00:48:23,800 所以這是雙方一點點。 1085 00:48:23,800 --> 00:48:25,710 但是,他們的信用, 蘋果,據我所知, 1086 00:48:25,710 --> 00:48:28,270 還沒有真正吹捧自​​己 作為是更安全的, 1087 00:48:28,270 --> 00:48:32,110 因為你只是邀請戲劇,如果 你提出這樣的觀點,我想。 1088 00:48:32,110 --> 00:48:32,610 >> 好吧。 1089 00:48:32,610 --> 00:48:36,490 沒有得到太多的遠了 即,我們如何解決這個問題? 1090 00:48:36,490 --> 00:48:39,670 你有買或做你有 支付三個不同的人來開發 1091 00:48:39,670 --> 00:48:41,540 您的應用程序? 1092 00:48:41,540 --> 00:48:42,870 你挑一個比其他? 1093 00:48:42,870 --> 00:48:45,460 應該怎麼引導你 想在這裡你覺得呢? 1094 00:48:45,460 --> 00:48:47,960 1095 00:48:47,960 --> 00:48:48,460 卡里姆? 1096 00:48:48,460 --> 00:48:51,001 1097 00:48:51,001 --> 00:48:51,500 不。 1098 00:48:51,500 --> 00:48:54,190 其他人。 1099 00:48:54,190 --> 00:48:56,885 >> 聽眾:剛才來與硬件。 1100 00:48:56,885 --> 00:48:58,510 DAVID J. MALAN:來與硬件? 1101 00:48:58,510 --> 00:48:59,533 你什麼意思? 1102 00:48:59,533 --> 00:49:01,282 >> 聽眾:對於 環境。 [聽不清] 1103 00:49:01,282 --> 00:49:04,867 1104 00:49:04,867 --> 00:49:06,200 DAVID J. MALAN:所以這是真的。 1105 00:49:06,200 --> 00:49:09,280 但是你的客戶, 同時,可能有iPhone手機, 1106 00:49:09,280 --> 00:49:13,530 他們可能有Android手機,他們 可能必須通過微軟提出平板電腦。 1107 00:49:13,530 --> 00:49:19,040 那麼,你如何擁有移動戰略 所有這些不同的用戶? 1108 00:49:19,040 --> 00:49:23,320 這似乎是,如果它的成本, 假設$ 1,000作出iPhone 1109 00:49:23,320 --> 00:49:25,940 應用程序,這是怎麼回事 花費您$ 2,000,使 1110 00:49:25,940 --> 00:49:29,250 iPhone應用程序和 Android應用程序,或者$ 3000名 1111 00:49:29,250 --> 00:49:31,407 也支持Windows設備為好。 1112 00:49:31,407 --> 00:49:33,990 這可能是一個相當 輕描淡寫,它甚至可能沒有 1113 00:49:33,990 --> 00:49:36,050 是這樣的線性關係。 1114 00:49:36,050 --> 00:49:41,065 >> 聽眾:如果你想有一個應用程序或 不是,你可以回應的網站。 1115 00:49:41,065 --> 00:49:41,940 DAVID J. MALAN:好。 1116 00:49:41,940 --> 00:49:46,255 聽眾:或者你可以有一個本機應用程序。 1117 00:49:46,255 --> 00:49:47,130 戴維·馬蘭:是的。 1118 00:49:47,130 --> 00:49:50,260 因此,在這裡所有這樣的背景下, 我們一直在談論什麼 1119 00:49:50,260 --> 00:49:53,190 人會說本地應用程序。 1120 00:49:53,190 --> 00:49:58,040 即正在編寫的應用程序 在該裝置的本機語言。 1121 00:49:58,040 --> 00:50:02,190 因此,原生的Objective-C或斯威夫特 代碼,或者在Java或C#。 1122 00:50:02,190 --> 00:50:06,900 這意味著當你下載,讓我們 說Snapchat,一個流行的應用, 1123 00:50:06,900 --> 00:50:10,060 或者當你下載 Facebook的一個電話, 1124 00:50:10,060 --> 00:50:13,270 您正在下載要么 版本為iPhone寫的, 1125 00:50:13,270 --> 00:50:16,830 或者您的Andr​​oid手機編寫的, 或者你寫的表面。 1126 00:50:16,830 --> 00:50:18,500 >> 但有一個替代方案。 1127 00:50:18,500 --> 00:50:26,020 由於奧利弗被影射, 可以實際使用的HTML 5 1128 00:50:26,020 --> 00:50:33,440 相反,使用什麼叫做網絡 應用程序,因此你只需 1129 00:50:33,440 --> 00:50:35,940 實現你的手機存在 和任何功能。 1130 00:50:35,940 --> 00:50:37,030 我是什麼手機的存在呢? 1131 00:50:37,030 --> 00:50:39,800 喜歡你的網站中有您 聯繫信息,所有的列表 1132 00:50:39,800 --> 00:50:43,049 你的產品,也許它有一個購物 購物車,也許你通過它賣的東西。 1133 00:50:43,049 --> 00:50:46,850 無論您的應用程序,你 實現它,而不是在Objective-C, 1134 00:50:46,850 --> 00:50:51,200 或夫特或Java或C#,但在HTML中 5,這是我們看到的語言 1135 00:50:51,200 --> 00:50:55,470 昨天,用JavaScript和CSS。 1136 00:50:55,470 --> 00:50:58,700 >> 什麼是關於那些漂亮 三是,要運行它們, 1137 00:50:58,700 --> 00:51:01,981 正是您所需要的軟件? 1138 00:51:01,981 --> 00:51:02,980 聽眾:Web瀏覽器。 1139 00:51:02,980 --> 00:51:04,229 DAVID J. MALAN:Web瀏覽器。 1140 00:51:04,229 --> 00:51:07,610 而最好的,我知道,所有這些 設備配有網絡瀏覽器, 1141 00:51:07,610 --> 00:51:10,480 所以用戶不必 安裝一些特別的東西。 1142 00:51:10,480 --> 00:51:12,920 所以,你可以告訴你的 觀眾,你的客戶, 1143 00:51:12,920 --> 00:51:16,590 進去acme.com的你 瀏覽器,你只 1144 00:51:16,590 --> 00:51:19,730 有一個基於Web體驗 仍然充滿屏幕, 1145 00:51:19,730 --> 00:51:25,100 但你不必擔心所有的 這些費用和所有這種複雜性。 1146 00:51:25,100 --> 00:51:28,600 但肯定有是怎麼回事 是一個catch這裡,對不對? 1147 00:51:28,600 --> 00:51:31,740 特別是,如果我想指出 一對夫婦幾年前, 1148 00:51:31,740 --> 00:51:35,700 的第一個版本 Facebook的移動應用程序 1149 00:51:35,700 --> 00:51:38,810 主要是一個HTML 5應用程序。 1150 00:51:38,810 --> 00:51:42,490 他們有更 最近,它重新實現 1151 00:51:42,490 --> 00:51:44,700 在他們的其他應用程序。 1152 00:51:44,700 --> 00:51:46,990 >> 那麼,為什麼你會不 馬上要說, 1153 00:51:46,990 --> 00:51:49,190 嗯,很明顯,我們要做到這一點? 1154 00:51:49,190 --> 00:51:51,560 什麼可能的隱性成本是什麼? 1155 00:51:51,560 --> 00:51:52,477 >> 聽眾:性能。 1156 00:51:52,477 --> 00:51:53,643 DAVID J. MALAN:性能? 1157 00:51:53,643 --> 00:51:54,567 你是什​​麼意思? 1158 00:51:54,567 --> 00:52:01,040 >> 聽眾:本機應用程序 有更多的表現。 1159 00:52:01,040 --> 00:52:03,850 >> DAVID J. MALAN:所以這是 真的,因為有兩個原因。 1160 00:52:03,850 --> 00:52:05,270 我們可以簡單化的答案。 1161 00:52:05,270 --> 00:52:08,061 和召回我們的討論 解釋與編譯語言。 1162 00:52:08,061 --> 00:52:12,030 這是HTML 5與它,只是為了 清晰,JavaScript--常用寫 1163 00:52:12,030 --> 00:52:15,880 JS--和CSS都 解釋型語言, 1164 00:52:15,880 --> 00:52:21,020 即使只有JavaScript 是一種編程語言。 1165 00:52:21,020 --> 00:52:25,820 >> 等與這些,其中一些這些 被編譯,至少這些three-- 1166 00:52:25,820 --> 00:52:29,990 Objective-C中,Java和C# - 這些, 從理論上講,應該只是速度更快。 1167 00:52:29,990 --> 00:52:31,670 但還有另一種現實for-- 1168 00:52:31,670 --> 00:52:32,440 >> 聽眾:功能? 1169 00:52:32,440 --> 00:52:32,830 >> DAVID J. MALAN:那是什麼? 1170 00:52:32,830 --> 00:52:34,060 >> 聽眾:功能。 1171 00:52:34,060 --> 00:52:34,570 >> DAVID J. MALAN:功能? 1172 00:52:34,570 --> 00:52:35,070 怎麼會這樣? 1173 00:52:35,070 --> 00:52:37,305 聽眾:使用相機 關閉手機或東西。 1174 00:52:37,305 --> 00:52:41,471 您可以使用那些瀏覽器。 1175 00:52:41,471 --> 00:52:42,470 DAVID J. MALAN:沒錯。 1176 00:52:42,470 --> 00:52:43,011 他們sec-- 1177 00:52:43,011 --> 00:52:45,034 聽眾:[聽不清] 1178 00:52:45,034 --> 00:52:46,700 DAVID J. MALAN:這是個不錯的選擇。 1179 00:52:46,700 --> 00:52:49,230 有附帶功能 與移動電話今天 1180 00:52:49,230 --> 00:52:53,840 都沒有,在設計上,為安全 原因,Web瀏覽器訪問。 1181 00:52:53,840 --> 00:52:56,410 因為這將是一種 一個令人毛骨悚然的事情,如果只是當 1182 00:52:56,410 --> 00:53:00,710 您訪問google.com,或 cnn.com,或者任何website.com, 1183 00:53:00,710 --> 00:53:04,490 即該網站已關閉電源 你的相機,拿你的照片, 1184 00:53:04,490 --> 00:53:06,010 然後使用它。 1185 00:53:06,010 --> 00:53:09,280 但是,你不會想隨機網站 您訪問的第一次 1186 00:53:09,280 --> 00:53:10,690 有這種能力。 1187 00:53:10,690 --> 00:53:13,460 >> 還等什麼手機 製造商通常做 1188 00:53:13,460 --> 00:53:17,230 是他們剛剛拒絕訪問 該類型的信息 1189 00:53:17,230 --> 00:53:20,650 給瀏覽器,這意味著你 無法實現的攝像頭。 1190 00:53:20,650 --> 00:53:24,180 你無法實現推送通知, 你得到你的屏幕上發出嗶嗶聲 1191 00:53:24,180 --> 00:53:26,120 與短消息。 1192 00:53:26,120 --> 00:53:31,350 而事實上,即使GPS是唯一的一種 排序提供給Web瀏覽器。 1193 00:53:31,350 --> 00:53:34,140 如果你曾經,在筆記本電腦上 或在移動設備上, 1194 00:53:34,140 --> 00:53:38,770 拉升像或許真的 cnn.com,也是當​​地新聞台 1195 00:53:38,770 --> 00:53:43,890 往往要做到這一點,系統會提示您 經常用message-- foxnews.com 1196 00:53:43,890 --> 00:53:45,170 想知道你的位置。 1197 00:53:45,170 --> 00:53:46,610 批准或拒絕。 1198 00:53:46,610 --> 00:53:52,070 >> 那麼,瀏覽器正試圖訪問 從您的手機GPS信息。 1199 00:53:52,070 --> 00:53:54,740 但幸運的是微軟, 與蘋果和谷歌 1200 00:53:54,740 --> 00:53:57,330 已經決定,感覺就像 這是一個很有用的情況下, 1201 00:53:57,330 --> 00:53:59,461 我們希望谷歌地圖和 其他工具工作, 1202 00:53:59,461 --> 00:54:02,710 但我們不希望人們爬出來 只需使任何網站做到這一點。 1203 00:54:02,710 --> 00:54:05,934 因此,讓我們有點相遇 中途並提示用戶。 1204 00:54:05,934 --> 00:54:08,850 但是,這並不一定如此 與所有的硬件​​,象照相機 1205 00:54:08,850 --> 00:54:10,680 和推 通知等, 1206 00:54:10,680 --> 00:54:13,650 所以你可能需要 犧牲某些功能。 1207 00:54:13,650 --> 00:54:15,100 但性能也。 1208 00:54:15,100 --> 00:54:18,020 它是越來越少 時下明顯,或許 1209 00:54:18,020 --> 00:54:22,400 作為LTE抓住並更快 在手機上網的速度, 1210 00:54:22,400 --> 00:54:24,110 不過您可以感覺的差異。 1211 00:54:24,110 --> 00:54:28,190 就像一個基於Web的應用程序 只是感覺速度較慢,通常情況下, 1212 00:54:28,190 --> 00:54:31,100 比本機應用程序,部分 因為一個基於網絡的應用程序 1213 00:54:31,100 --> 00:54:32,680 顧名思義就是在互聯網上。 1214 00:54:32,680 --> 00:54:35,610 它的談話在網絡上的服務器。 1215 00:54:35,610 --> 00:54:39,590 如果你的網絡連接 慢,甚至滾動速度可能很緩慢。 1216 00:54:39,590 --> 00:54:43,710 >> 但是本機應用程序,你必須 已經預先downloaded--可能 1217 00:54:43,710 --> 00:54:45,680 當你在家裡 從App Store, 1218 00:54:45,680 --> 00:54:47,900 或者你至少預先下載 它在其全部 1219 00:54:47,900 --> 00:54:49,640 此前,無論你 連接speed-- 1220 00:54:49,640 --> 00:54:52,530 所以現在你把所有的 比特一般需要。 1221 00:54:52,530 --> 00:54:55,090 也許除了一些數據 來自一個服務器。 1222 00:54:55,090 --> 00:54:57,130 >> 因此,這些都是權衡這裡。 1223 00:54:57,130 --> 00:54:59,980 有一種中間的 折衷,事實上。 1224 00:54:59,980 --> 00:55:00,907 而且我覺得你 - 1225 00:55:00,907 --> 00:55:02,895 >> 聽眾:使用離線數據。 1226 00:55:02,895 --> 00:55:06,355 在本機應用程序,你可以[聽不清] 1227 00:55:06,355 --> 00:55:07,480 DAVID J. MALAN:當然。 1228 00:55:07,480 --> 00:55:09,730 因此,有離線的問題, 這實在是煩人 1229 00:55:09,730 --> 00:55:13,120 如果你不能玩一些遊戲或使用 一些軟件僅僅是因為你 1230 00:55:13,120 --> 00:55:15,110 在一個地下室的地方 或在電梯。 1231 00:55:15,110 --> 00:55:18,700 原生應用程序是有彈性 與針對概率較高, 1232 00:55:18,700 --> 00:55:20,990 假設你擁有所有的 數據在本地需要。 1233 00:55:20,990 --> 00:55:22,900 >> 所以這裡有一個第三個選項。 1234 00:55:22,900 --> 00:55:30,270 讓我們繪製頻譜 這裡這裡本機應用程序和Web應用程序。 1235 00:55:30,270 --> 00:55:32,460 什麼是中間 東西called-- 1236 00:55:32,460 --> 00:55:35,410 我想你可能有 用這個詞之前,也許? 1237 00:55:35,410 --> 00:55:37,170 混合應用程序。 1238 00:55:37,170 --> 00:55:40,980 和作為字所暗示的, 這件事情在中間。 1239 00:55:40,980 --> 00:55:46,230 這是一種Web應用程序和 它是一種原生應用。 1240 00:55:46,230 --> 00:55:47,690 >> 而這是什麼意思? 1241 00:55:47,690 --> 00:55:51,750 原來有frameworks-- 使用從先前已經軟件術語 1242 00:55:51,750 --> 00:55:55,860 其他人都寫 對這些平台的每一個。 1243 00:55:55,860 --> 00:55:57,500 這些和另外的其它設備。 1244 00:55:57,500 --> 00:56:02,390 事實上,讓我去的PhoneGap, 這是一種這樣的框架,我 1245 00:56:02,390 --> 00:56:04,520 相信現在的Adobe擁有。 1246 00:56:04,520 --> 00:56:07,830 讓我去入門。 1247 00:56:07,830 --> 00:56:09,430 讓我們來看看。 1248 00:56:09,430 --> 00:56:12,450 看看我能看到的工具列表。 1249 00:56:12,450 --> 00:56:13,150 硬件。 1250 00:56:13,150 --> 00:56:15,845 入門。 1251 00:56:15,845 --> 00:56:17,570 PhoneGap的硬件。 1252 00:56:17,570 --> 00:56:18,672 >> 讓我們來看看。 1253 00:56:18,672 --> 00:56:23,459 PhoneGap的硬件訪問。 1254 00:56:23,459 --> 00:56:26,125 讓我看看,如果我們可以找到一點 圖表,他們曾經有過。 1255 00:56:26,125 --> 00:56:29,170 1256 00:56:29,170 --> 00:56:31,640 這是在其他網站上。 1257 00:56:31,640 --> 00:56:32,525 這是有用的? 1258 00:56:32,525 --> 00:56:33,030 沒有。 1259 00:56:33,030 --> 00:56:36,330 這是要去那裡浪費時間了。 1260 00:56:36,330 --> 00:56:40,185 PhoneGap的硬件。 1261 00:56:40,185 --> 00:56:40,685 設備。 1262 00:56:40,685 --> 00:56:45,190 1263 00:56:45,190 --> 00:56:48,030 設備API。 1264 00:56:48,030 --> 00:56:49,270 不,他們已經感動了。 1265 00:56:49,270 --> 00:56:50,070 >> PhoneGap的。 1266 00:56:50,070 --> 00:56:54,964 讓我們在這最後一眼 看看我可以告訴你。 1267 00:56:54,964 --> 00:56:55,630 入門。 1268 00:56:55,630 --> 00:56:58,160 1269 00:56:58,160 --> 00:56:59,020 安裝的PhoneGap。 1270 00:56:59,020 --> 00:57:02,310 1271 00:57:02,310 --> 00:57:03,270 安裝移動應用程序。 1272 00:57:03,270 --> 00:57:04,320 來吧。 1273 00:57:04,320 --> 00:57:07,220 1274 00:57:07,220 --> 00:57:08,580 他們已經重組了一切。 1275 00:57:08,580 --> 00:57:09,750 好吧。 1276 00:57:09,750 --> 00:57:11,370 哦,沒事。 1277 00:57:11,370 --> 00:57:12,550 好了,我們開始吧。 1278 00:57:12,550 --> 00:57:16,130 這是不是所有的啟發,但 這就是我是那種尋找。 1279 00:57:16,130 --> 00:57:20,940 >> 所以PhoneGap的是一個框架,你 可以免費下載,讓你 1280 00:57:20,940 --> 00:57:22,750 一些啟動代碼,從根本上。 1281 00:57:22,750 --> 00:57:26,600 所以一些代碼,他們寫 這並沒有做太多的事情。 1282 00:57:26,600 --> 00:57:29,610 但它給你 本質上是等效 1283 00:57:29,610 --> 00:57:34,910 那樣只會把一個應用程序 在用戶的屏幕上大的矩形。 1284 00:57:34,910 --> 00:57:38,040 它沒有把地址欄,像 瀏覽器中,並沒有把一個地址。 1285 00:57:38,040 --> 00:57:39,650 它只是把一個大的矩形。 1286 00:57:39,650 --> 00:57:43,230 而在配置這個大 矩形,罩下方, 1287 00:57:43,230 --> 00:57:50,780 實際上去acme.com,或者 m.acme.com,對於mobile.acme.com, 1288 00:57:50,780 --> 00:57:52,910 但用戶不知道 他們在該地址。 1289 00:57:52,910 --> 00:57:55,520 他們所看到的是 網頁的內容。 1290 00:57:55,520 --> 00:57:59,822 >> 但是,什麼是這個美好幸福 混合應用程序是什麼的PhoneGap 1291 00:57:59,822 --> 00:58:03,030 和其他公司給你的 他們給你的代碼一點點 1292 00:58:03,030 --> 00:58:05,760 在Objective-C或斯威夫特,或 代碼Java中的一點點, 1293 00:58:05,760 --> 00:58:08,320 或代碼一點點 在C#中,而且基本上, 1294 00:58:08,320 --> 00:58:12,990 你必須提供最低限度是的 您的基於Web的應用程序的地址。 1295 00:58:12,990 --> 00:58:15,750 然後你這個捆綁 一起和你 1296 00:58:15,750 --> 00:58:20,670 有它要么訪問 通過互聯網的網站, 1297 00:58:20,670 --> 00:58:24,060 或者你甚至緩存在本地 複製應用程序中, 1298 00:58:24,060 --> 00:58:28,690 然後保存您的應用程序 在iPhone格式,Android手機 1299 00:58:28,690 --> 00:58:32,030 格式,表面格式,或 任何數量的其它設備。 1300 00:58:32,030 --> 00:58:34,960 >> 您上傳的每個版本 對谷歌Play商店, 1301 00:58:34,960 --> 00:58:37,690 到App Store,以 Windows應用商店,等等。 1302 00:58:37,690 --> 00:58:41,570 而現在,你可以有你的所有 觀眾下載一個真正的本機應用程序, 1303 00:58:41,570 --> 00:58:44,250 儘管大部分的代碼是 別人寫的, 1304 00:58:44,250 --> 00:58:49,090 但本機應用程序的所有內容 從何而來,通常情況下,您自己的網站。 1305 00:58:49,090 --> 00:58:53,950 所以,你繼續編寫網站 在HTML,JavaScript和CSS。 1306 00:58:53,950 --> 00:58:56,400 >> 那麼,為什麼這些模糊行? 1307 00:58:56,400 --> 00:59:00,240 為什麼混合應用程序 這就是那種人,而且還 1308 00:59:00,240 --> 00:59:02,569 一種網絡為基礎? 1309 00:59:02,569 --> 00:59:04,610 什麼是整點 添加這種複雜性? 1310 00:59:04,610 --> 00:59:07,180 我的意思是,即使還在,剛剛從 通過這個頁面一瞧, 1311 00:59:07,180 --> 00:59:11,790 入門指南感覺 它有一大堆的步驟我 1312 00:59:11,790 --> 00:59:13,514 做我can--前 1313 00:59:13,514 --> 00:59:14,430 聽眾:可重用性? 1314 00:59:14,430 --> 00:59:14,960 DAVID J. MALAN:可重用性? 1315 00:59:14,960 --> 00:59:15,618 你什麼意思? 1316 00:59:15,618 --> 00:59:16,826 >> 聽眾:源代碼。 1317 00:59:16,826 --> 00:59:19,438 所以相同的代碼將運行在 所有不同的平台。 1318 00:59:19,438 --> 00:59:20,313 戴維·馬蘭:是的。 1319 00:59:20,313 --> 00:59:21,188 聽眾:[聽不清] 1320 00:59:21,188 --> 00:59:23,200 1321 00:59:23,200 --> 00:59:24,200 DAVID J. MALAN:完美。 1322 00:59:24,200 --> 00:59:26,930 如果時間很緊,如果你 沒有很多developers-- 1323 00:59:26,930 --> 00:59:28,900 也許你有一個開發人員 他或她肯定 1324 00:59:28,900 --> 00:59:31,050 不知道所有這些 environments--肯定不會好, 1325 00:59:31,050 --> 00:59:33,341 當然更不能計劃 同時在所有三個 1326 00:59:33,341 --> 00:59:35,970 和船舶三款產品 時間允許的, 1327 00:59:35,970 --> 00:59:40,360 能不能讓他(她)的一切建設 在HTML和JavaScript和CSS, 1328 00:59:40,360 --> 00:59:43,260 然後學習一個小小的 有關本機應用程序位, 1329 00:59:43,260 --> 00:59:45,930 剛夠下載 這樣的框架下, 1330 00:59:45,930 --> 00:59:48,750 然後到你的產品上傳到 所有的各種應用商店 1331 00:59:48,750 --> 00:59:51,700 所以,你現在有 本機應用程序。 1332 00:59:51,700 --> 00:59:54,090 >> 所以這似乎是一個雙贏的, 但同樣,要清楚, 1333 00:59:54,090 --> 00:59:56,540 是什麼的電位 成本還是陷阱? 1334 00:59:56,540 --> 01:00:00,292 1335 01:00:00,292 --> 01:00:01,209 >> 聽眾:性能? 1336 01:00:01,209 --> 01:00:02,083 戴維·馬蘭:是的。 1337 01:00:02,083 --> 01:00:02,959 性能。 1338 01:00:02,959 --> 01:00:04,250 很難口頭描述。 1339 01:00:04,250 --> 01:00:07,590 所以,如果你只是把上 信仰一個移動應用程序, 1340 01:00:07,590 --> 01:00:11,430 一個Web應用程序將 通常執行更慢。 1341 01:00:11,430 --> 01:00:16,500 它可能看起來不完全正確的,因為 在iPhone和Android手機, 1342 01:00:16,500 --> 01:00:19,210 和Windows設備,有 總是一種默認的樣子 1343 01:00:19,210 --> 01:00:21,780 感覺所有的 按鈕和菜單。 1344 01:00:21,780 --> 01:00:25,160 >> 而公司在網絡,可以試試 近似​​的美學 1345 01:00:25,160 --> 01:00:28,329 像引導庫, 但user--精明user-- 1346 01:00:28,329 --> 01:00:30,620 是要知道 有什麼地方不太對勁在這裡。 1347 01:00:30,620 --> 01:00:32,510 這很好,也許 這不是什麼大不了的事。 1348 01:00:32,510 --> 01:00:35,500 但是性能問題 絕對是一個大問題。 1349 01:00:35,500 --> 01:00:39,400 本機應用程序將趨向於剛 更加敏感,因此 1350 01:00:39,400 --> 01:00:39,946 更好。 1351 01:00:39,946 --> 01:00:42,070 所以,什麼話可能是 兩全其美的? 1352 01:00:42,070 --> 01:00:44,584 如果你是一個特別小 公司還是一個小團體, 1353 01:00:44,584 --> 01:00:47,000 你沒有的資源 並行開發的應用程序 1354 01:00:47,000 --> 01:00:50,480 在所有三個平台,並坦率地說, 感覺這是一個不好的想法 1355 01:00:50,480 --> 01:00:53,526 因為如果你滾出去,上 所有這三個同時實現, 1356 01:00:53,526 --> 01:00:56,400 我們應該增加了一些功能 或者做一些不同的東西,現在 1357 01:00:56,400 --> 01:00:59,530 你要修復它在 三個地方,沒有之一。 1358 01:00:59,530 --> 01:01:02,390 什麼是可能的最佳 這裡的戰略整體, 1359 01:01:02,390 --> 01:01:04,130 如果資源和時間是緊? 1360 01:01:04,130 --> 01:01:06,420 >> 聽眾:只要做到這一點在iOS。 1361 01:01:06,420 --> 01:01:08,390 >> DAVID J. MALAN:這是沒有道理的。 1362 01:01:08,390 --> 01:01:10,670 的iPhone,至少在 美國,是超人氣。 1363 01:01:10,670 --> 01:01:13,820 Android的似乎仍有優勢 的市場份額,全球的整體。 1364 01:01:13,820 --> 01:01:16,740 所以,你是不是 一定代表 1365 01:01:16,740 --> 01:01:19,210 本週全球的整體。 1366 01:01:19,210 --> 01:01:21,180 但是,這絕對是一項決定。 1367 01:01:21,180 --> 01:01:23,620 我的意思是,在校園裡我在這裡 覺得有些殘酷的數 1368 01:01:23,620 --> 01:01:26,600 或者本科生的比例 擁有iPhone手機,而不是Android手機。 1369 01:01:26,600 --> 01:01:28,490 但在國外,它是一種相反的。 1370 01:01:28,490 --> 01:01:30,040 所以你決定根據你的聽眾。 1371 01:01:30,040 --> 01:01:31,990 你怎麼知道你的觀眾了? 1372 01:01:31,990 --> 01:01:34,080 >> 好了,我們昨天學了一招。 1373 01:01:34,080 --> 01:01:35,060 你可以問問他們。 1374 01:01:35,060 --> 01:01:37,910 如果你有一個俘虜觀眾 你可以向他們發送調查表。 1375 01:01:37,910 --> 01:01:39,172 或者你可以做什麼呢? 1376 01:01:39,172 --> 01:01:40,076 >> 聽眾:谷歌Analytics(分析)? 1377 01:01:40,076 --> 01:01:40,680 >> DAVID J. MALAN:那是什麼? 1378 01:01:40,680 --> 01:01:41,876 >> 聽眾:谷歌分析。 1379 01:01:41,876 --> 01:01:43,250 DAVID J. MALAN:谷歌分析。 1380 01:01:43,250 --> 01:01:43,750 是啊。 1381 01:01:43,750 --> 01:01:46,970 甚至更多樣的技術,只是 看看你自己的Web服務器日誌。 1382 01:01:46,970 --> 01:01:49,100 由於發生了什麼 每次瀏覽器, 1383 01:01:49,100 --> 01:01:51,880 無論是筆記本電腦,台式機或 手機訪問您的網站? 1384 01:01:51,880 --> 01:01:56,847 他們發送的HTTP標頭節目 你他們使用的是什麼瀏覽器和操作系統。 1385 01:01:56,847 --> 01:02:00,180 因此可以推斷,以高概率, 你的人口正在使用的方式 1386 01:02:00,180 --> 01:02:01,410 再調整。 1387 01:02:01,410 --> 01:02:03,030 >> 因此,假設這是不可接受的。 1388 01:02:03,030 --> 01:02:07,760 這就是那種不好的業務,如果 Android用戶可以不買我們的小部件。 1389 01:02:07,760 --> 01:02:10,942 >> 聽眾:無論你是 要充電或不? 1390 01:02:10,942 --> 01:02:12,900 DAVID J. MALAN:是否 你要收費嗎? 1391 01:02:12,900 --> 01:02:14,900 那麼OK,你得到你所支付的。 1392 01:02:14,900 --> 01:02:18,400 >> 聽眾:無論你的應用是要去 是免費的還是它的gonna-- 1393 01:02:18,400 --> 01:02:19,530 >> DAVID J. MALAN:OK。 1394 01:02:19,530 --> 01:02:21,920 因此,也許你可以收回 成本的方式,or--? 1395 01:02:21,920 --> 01:02:26,195 >> 聽眾:我讀了研究一旦說 更多蘋果用戶付費應用versus-- 1396 01:02:26,195 --> 01:02:28,320 DAVID J. MALAN:這是真的 因為他們已經 1397 01:02:28,320 --> 01:02:29,640 付出更多的他們的設備。 1398 01:02:29,640 --> 01:02:31,295 所以,不是沒有道理的假設。 1399 01:02:31,295 --> 01:02:32,170 >> 聽眾:[聽不清] 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 所以,如果他們更願意付出, 然後與Android用戶地獄。 1403 01:02:38,667 --> 01:02:40,500 他們不打算 反正付錢給我們任何東西。 1404 01:02:40,500 --> 01:02:43,499 我們不妨關注我們的優先事項, 至少在最初的幾個月 1405 01:02:43,499 --> 01:02:44,810 或一年,在iOS。 1406 01:02:44,810 --> 01:02:46,240 完全合理的。 1407 01:02:46,240 --> 01:02:48,558 什麼是更具包容性 戰略比? 1408 01:02:48,558 --> 01:02:53,740 1409 01:02:53,740 --> 01:02:54,960 Maybe--那是什麼? 1410 01:02:54,960 --> 01:02:57,040 >> 聽眾:[聽不清] 1411 01:02:57,040 --> 01:03:00,142 >> DAVID J. MALAN:更expensive-- 所以也許投入更多in--下去。 1412 01:03:00,142 --> 01:03:00,767 聽眾:是的。 1413 01:03:00,767 --> 01:03:02,050 只是一個移動網站。 1414 01:03:02,050 --> 01:03:03,966 >> DAVID J. MALAN:所以,做一個 移動網站,而不是 1415 01:03:03,966 --> 01:03:05,440 甚至擔心這種複雜性。 1416 01:03:05,440 --> 01:03:07,970 或者,也許一個合理的策略, 甚至Facebook的了, 1417 01:03:07,970 --> 01:03:10,890 開始是與混合動力 應用程序,因為它不是 1418 01:03:10,890 --> 01:03:13,582 更難以做到這一點比此。 1419 01:03:13,582 --> 01:03:16,040 你只需要讀一些 文件,並找出如何 1420 01:03:16,040 --> 01:03:17,480 的東西上傳到App Store。 1421 01:03:17,480 --> 01:03:19,670 因此,也許你開始 此,這樣,在第一天, 1422 01:03:19,670 --> 01:03:21,112 可以支持所有的用戶。 1423 01:03:21,112 --> 01:03:23,570 然後,就像Facebook的 和其他公司都做了, 1424 01:03:23,570 --> 01:03:25,330 當你有足夠的資源, 你能找到人, 1425 01:03:25,330 --> 01:03:27,660 你為什麼不重新實現 就在iPhone應用程序。 1426 01:03:27,660 --> 01:03:31,460 你還有每個人的東西, 即使它是一個劣質的經驗 1427 01:03:31,460 --> 01:03:33,330 或許,與混合應用。 1428 01:03:33,330 --> 01:03:36,770 但是你可以逐漸鋪開 更換你的短期 1429 01:03:36,770 --> 01:03:40,280 與混合應用的措施 您更多的本地應用程序。 1430 01:03:40,280 --> 01:03:44,090 >> 聽眾:但隨著混合應用程序,你 將有機會獲得移動功能? 1431 01:03:44,090 --> 01:03:45,440 >> DAVID J. MALAN:不一定。 1432 01:03:45,440 --> 01:03:47,810 因此,也許你做一個 有意識的早期決定, 1433 01:03:47,810 --> 01:03:51,930 你只能在上傳照片 對於Facebook原生iPhone應用程序, 1434 01:03:51,930 --> 01:03:56,060 但不能在Android應用程序, 最初,例如。 1435 01:03:56,060 --> 01:04:00,600 這是一個有點善意的謊言,因為 Web應用程序有更多的限制 1436 01:04:00,600 --> 01:04:03,620 比混合應用事實 出,如果我們閱讀文檔 1437 01:04:03,620 --> 01:04:07,260 為PhoneGap的事情就是這樣吧, 人們已經想出了各種辦法 1438 01:04:07,260 --> 01:04:11,110 給基於Web的應用 訪問攝像頭, 1439 01:04:11,110 --> 01:04:13,310 只要你使用 混合應用程序。 1440 01:04:13,310 --> 01:04:14,214 >> 這是如何工作的? 1441 01:04:14,214 --> 01:04:16,130 因為混合 應用,根據定義, 1442 01:04:16,130 --> 01:04:19,600 有一點在Objective-C代碼, 和斯威夫特,以及Java或C#, 1443 01:04:19,600 --> 01:04:20,920 它可以訪問硬件。 1444 01:04:20,920 --> 01:04:24,590 不一定一切, 但它很可能會 1445 01:04:24,590 --> 01:04:27,310 是你有情況 足夠的訪問讓相機, 1446 01:04:27,310 --> 01:04:32,960 即使是針對Android平台上, 例如,在人為的例子。 1447 01:04:32,960 --> 01:04:35,515 >> 其他問題嗎? 1448 01:04:35,515 --> 01:04:36,279 好吧。 1449 01:04:36,279 --> 01:04:38,070 我們為什麼不把我們的 休息15分鐘在​​這裡。 1450 01:04:38,070 --> 01:04:44,060 我們將在三個恢復與最後的 看看網絡編程,數據庫, 1451 01:04:44,060 --> 01:04:45,910 和Javascript。 1452 01:04:45,910 --> 01:04:48,877