DAVID J. Malan: Vì vậy, chúng tôi đã trở lại. Vì vậy, các cấp cao chủ đề tại thời điểm hiện nay 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, 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ệ mà bạn có thể sử dụng để giải quyết vấn đề. Và có lẽ nhiều nhất cách phù hợp để bắt đầu sẽ được xem xét ở ngôn ngữ từ Tôi cứ tuôn ra cả một bó và hầu hết mọi người trong phòng có có thể nghe nói ít nhất một. 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 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ọ loại cơ bản khác nhau, và đặc biệt là khi bạn đang trò chuyện với các kỹ sư, hoặc cố gắng để quyết định ai thuê, hoặc những gì thực hiện đề nghị để Greenlight, làm thế nào bạn thực sự sẽ làm những loại quyết định. Vì vậy, chúng ta hãy chỉ rattle một số vật tắt. Trong ngôn ngữ người có nghe nói về, những gì đến với tâm? C. OK. OK, C ++. đó là những gì? Đung Python. DAVID J. Malan: Python. Xuất sắc. Những gì người khác? Ngôn ngữ lập trình. Tôi nghe nói Java. Hình ảnh Basic-- a.k.a. VB. Java. 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ữ trong câu hỏi. Và hãy để tôi đề cập đến đó. Vì vậy, chúng tôi sẽ quay trở lại đó. Tôi xin lôi? Lấy làm tiếc? Đung SQL. DAVID J. Malan: Scratch? Đung SQL. DAVID J. Malan: Oh, SQL. ĐƯỢC. SQL. Vì vậy, chúng tôi sẽ quay trở lại để mà-- thực sự, nó good-- sau giờ nghỉ là tốt. Những gì người khác? Đung Oracle. DAVID J. Malan: Vậy Oracle, không phải là một ngôn ngữ. Trên thực tế họ sẽ sử dụng SQL là tốt. Vì vậy, chúng ta hãy đặt sau giờ nghỉ là tốt. Và xin lỗi, một cái gì đó ở đây? Đung Mathematica. DAVID J. Malan: Mathematica? OK chắc chắn. Và MATLAB là loại trên đó đôi khi. Đung R. DAVID J. Malan: R. Hãy đi qua đây. Fortran. Chắc chắn rồi. trường cũ. Fortran. COBOL. Tôi sẽ quăng ra BASIC. CĂN BẢN. Bất kì-- Đung MATLAB? DAVID J. Malan: MATLAB. Oh, đánh bạn với nó. Bất cứ điều gì? Tôi có thể nghĩ đến một vài người khác. Tôi có thể nghĩ đến một vài người khác. Và những gì là người cuối cùng? Đung ASP. DAVID J. Malan: ASP? Yeah. trang máy chủ hoạt động. Điều đó nói chung sẽ giảm xuống dưới các ngôn ngữ khác, đôi khi C #, vì vậy hãy để lại mà đi. Nhưng chúng tôi sẽ quay trở lại mà cho các khuôn khổ và như vậy. Còn gì nữa không? PHP là phổ biến. Ruby là một. JavaScript, không nên nhầm lẫn với Java, là một. Đó là loại rất nhiều. 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ó, chỉ để bắt đầu biết nơi bạn bắt đầu. Và do đó, may mắn thay, chúng ta hãy tiếp cận này từ một vài góc độ. Đầ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ữ vào hai xô rộng, gợi nhớ cuộc trò chuyện, chúng tôi đã có trước giờ nghỉ, 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, bởi vì đó không phải là cách tất cả các ngôn ngữ làm việc. 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 đó. Và sau đó, tại sao chúng ta không nói về các ứng dụng rằng các thứ tiếng thường được sử dụng cho. Và thẳng thắn, mặc dù đây là một danh sách khá dài, 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 để giải quyết vấn đề. Một số ngôn ngữ mới hơn những người khác. Một số ngôn ngữ là phổ biến hơn những người khác. 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 khi quyết định số những ngôn ngữ khác nhau. Vì vậy, hãy làm điều này. Chúng tôi đã có trước đó, mã nguồn, và sau đó chúng tôi đã có mã máy. Lỗi chính. Viết từ sai. mã máy. Và chúng tôi đã có một số quá trình trong trung called-- yeah, trình biên dịch. Vì vậy, các trình biên dịch. Và những gì các mã máy thực sự chạy trên cuối cùng sẽ được CPU thực tế của bạn. 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 rằng một CPU thực sự hiểu. Cộng, trừ, di chuyển, tiết kiệm, và hoạt động như thế. Và do đó, đây là mô hình cho những gì thường được gọi là ngôn ngữ biên dịch. Có lẽ không đáng ngạc nhiên. Vì vậy, đây là mô hình cho ngôn ngữ biên dịch. Nhưng hóa ra có của một lớp học của ngôn ngữ gọi là giải languages-- giải thích languages-- đó là hơi khác nhau. Bạn viết trong mã nguồn, chạy chúng thông qua một thông dịch viên, và thông dịch đó là những gì chạy trên CPU. Nói cách khác, những gì bạn làm không sinh ra các là gì, rõ ràng? mã máy. Các số không và những người thân mà CPU bản thân cuối cùng hiểu. 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, bạn viết trong mã nguồn đó là một phức tạp chút, nhưng ít nhất nó là loại tiếng Anh giống như và nó ít nhất có thể đọc được một khi bạn đã quen với nó. 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. Đó là một sự đơn giản hóa. Có một số bước khác trong đó. Trong thực tế, nếu bạn đã từng nghe nói thuật ngữ "ngôn ngữ lắp ráp," đó là một bước trước khi các số không và những người thân. Đó là một chút dễ đọc hơn, nhưng vẫn còn khá phức tạp. Và do đó, có các bước trung gian được, trên thực tế, xảy ra ở đây. Nhưng đầu ra, cuối cùng, là những số không và những người thân. Nhưng trong các giải thế giới, nơi bạn có ngôn ngữ được giải thích ngôn ngữ, bạn thực sự bỏ qua bước này. 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ó. Bạn không biên dịch nó và sau đó chạy nó, như tôi đã làm trước đây. Bạn chỉ cần viết nó và chạy nó. 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ó. Vì vậy, không có bước trung ở đây. 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", có lẽ bạn hợp lý wonder-- hoặc có thể hợp lý 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. Nó dường như đã thực hiện nó như thế. Và có đồ họa các phiên bản của trình biên dịch. 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 và đó thực sự sẽ làm các biên dịch cho bạn. 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. Và nó ra ở bên trái đó, "Xin chào!" Điều đó dường như không phải tất cả những lựa chọn hợp lý. Nhưng khi chương trình của bạn là nhiều hơn chỉ là một, hai, ba, dài bốn, năm dòng, nó có thể mất nhiều giây để biên dịch. Đôi khi ngay phút hoặc khá một chút thời gian để biên dịch. Sau khi tất cả, một số các sản phẩm lớn nhất thế giới là những thứ như hệ điều hành, Microsoft Word, Microsoft Excel, mà có thể là hàng trăm ngàn hoặc thậm chí hàng triệu dòng mã dài, và những người không chỉ lập tức thi hành. Hơn nữa, trên web, nó trở thành thời trang sử dụng ngôn ngữ đơn giản giải thích, một phần vì bạn 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 trang trình duyệt và thấy ngay kết quả. Và do đó, HTML, trong khi không một ngôn ngữ lập trình, là một ngôn ngữ này được hiểu. Và chúng ta đã thấy rằng tác dụng tương tự ngày hôm qua. Bạn chỉ cần tải lại trang sau khi làm một sự thay đổi trong Cloud9 và- voila-- bạn nhìn thấy một kết quả mới. Vì vậy, sự khác biệt ở đây là gì? Trong HTML, thu hồi, chúng tôi đã có HTML mở, đầu mở, tiêu đề mở, danh hiệu gần gũi, đầu gần, mở cơ thể, và vv. 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ì. Hey trình duyệt, ở đây có một trang HTML. Hey trình duyệt, ở đây có tiêu đề. Hey trình duyệt, ở đây có một số văn bản cần được in đậm. Và sau đó bạn nói điều ngược lại. Hey trình duyệt, đó là nó cho văn bản in đậm. Hey trình duyệt, đó là nó cho cơ thể. Và kể từ đó trở đi. Và do đó, một trình duyệt là gì? Một trình duyệt chỉ là một thông dịch viên. Nó là một chương trình mà một người như Microsoft hay Google, đã viết, mục đích mà trong cuộc sống là để đọc một ngôn ngữ, được biết đến như HTML, và giải thích nó. Trên xuống dưới, từ trái sang phải. Và bất cứ khi nào trình duyệt thấy mở khung, tiêu đề, dấu đóng ngoặc, cần giải thích điều đó như ý nghĩa, oh, mà 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. Vì vậy, nó chỉ làm những gì các mã HTML cho biết. Nhưng không có số không và những người thân. Không có biên dịch. Bạn đã không làm điều đó. Trình duyệt không làm điều đó. Nó chỉ là không liên quan. 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, mà có vẻ là một tính năng tuyệt vời. 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ó. Không có bước trung gian. Chắc chắn có một chi phí? Không thể được tất cả các mặt tích cực. Vì vậy, những gì có thể chi phí đó được? Đung Space. DAVID J. Malan: Space. Chắc chắn. Trong thế giới biên soạn, bạn có không chỉ mã nguồn gốc, bạn cũng đang tạo ra và sau đó lưu có lẽ máy code-- sự số không và ones-- và đó là đã để mất một số lượng không gian. Chắc chắn rồi. Vì vậy, nó chi phí cho bạn nhiều không gian hơn. Yeah? Đung trình duyệt có thể giải thích khác nhau. DAVID J. Malan: trình duyệt có thể giải thích nó một cách khác nhau. Điều đó đúng. Nhưng tôi không chắc chắn tôi thoải mái tuyên bố đó là bởi vì nó giải thích. Đó chỉ là nhiều hơn bởi vì nó một thực hiện của một ngôn ngữ mà chính nó có sự mơ hồ. 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. Những gì người khác có thể được giá thanh toán? Andrew? Đung Bạn đang kết hợp hai bước, vì vậy bạn do đó có ngày càng phức tạp là tốt. DAVID J. Malan: Các complex-- sự gia tăng phức tạp đâu? Đối với ai? Đ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 và trình biên dịch chỉ dẫn đối với: DAVID J. Malan: Ah, OK. 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, 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. Vì vậy, có thể đúng. Nhưng nó loại phụ thuộc, tôi có thể nói, về ngôn ngữ và làm thế nào họ đã đi về việc thực hiện nó. 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, chỉ vì bạn phải đi từ Cao cấp một cái gì đó để cho một cái gì đó nên ở mức độ thấp. Nhưng một ý nghĩ tốt. 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, kết thúc trong ngôn ngữ mà CPU nói, trong khi đó ở phía bên này của thế giới, các chương trình mà bạn đã viết, mã bạn đã viết, không bao giờ thực sự được chuyển đổi thành ngôn ngữ thực tế máy tính nói. Các số không và những người thân. 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. Vì vậy, những gì có thể hàm ý ở đó, nếu bạn không thực sự bận tâm của bạn chuyển đổi Chương trình với ngôn ngữ rất rằng các máy tính cơ bản nói? Đung Might không hiểu điều gì đó? DAVID J. Malan: Might không hiểu điều gì đó. Và đó có thể claim-- nếu nó đã không hiểu 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. Vì vậy mà có được nhiều hơn một sai lầm hơn chi phí. Đung Bạn có thể truy cập vào mã nguồn? DAVID J. Malan: Có một tốt nhất. Vì vậy, một nhược điểm ở đây là bạn dường như có quyền truy cập. Bạn, người dùng cuối, dường như có quyền truy cập vào mã nguồn. Và đó không phải luôn luôn đúng. Nhưng đó là sự thật trong trường hợp của JavaScript, mà chúng ta sẽ xem xét sau nghỉ ngày hôm nay, mà là một ngôn ngữ lập trình thông dịch mà bạn viết trong mã nguồn. Nhưng mà mã nguồn được chuyển giao từ máy chủ của bạn để trình duyệt và chạy trong trình duyệt của con người. Vì vậy, ở đây cô chỉ có thể mở cửa sổ, giống như tôi đã làm trong Chrome, và nhìn vào nó, như chúng mình liếc nhìn ngày hôm qua với Google. Nó có thể nhìn một chút không thể hiểu nổi nhưng nó là có. Vì vậy, điều đó hoàn toàn một giá phải trả. Đung Performance hit? DAVID J. Malan: Yeah. Và đó là Biggie khác. Có một hiệu suất hit. Bởi vì bạn có điều này người đàn ông trung niên, mà bản thân nó là một chương trình, giữa bạn và CPU, như trái ngược để chỉ cho ăn những liệu số không và những người thân vào CPU, có một màn trình diễn hit mà bạn mang theo một ngôn ngữ giải thích. Như vậy mà, tùy tiện, một chương trình mà có thể mất một giây để 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, có thể mất 10 giây hoặc 10 phút để chạy trên một máy tính ở đây. Nó thường sẽ không thể là nhiều của một yếu tố difference-- của 10-- bởi vì có tối ưu bạn có thể làm. Nhưng nó gần như luôn luôn chậm hơn. Bây giờ, bên flip để lo ngại rằng là, cũng máy tính, cứ 12 18 months-- theo định luật Moore, do đó, để speak-- chỉ nhận được nhanh hơn và nhanh hơn. Tôi có nhiều và nhiều không gian đĩa. Tôi có ngày càng nhiều RAM. Ai quan tâm chứ? Và đó là loại một lập luận hợp lý. 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 giải thích ngôn ngữ được vì con người chúng ta không thực sự nhận thấy. Các máy tính có nhận được chỉ như vậy darn nhanh. 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, bạn có ít hơn của tất cả mọi thứ, nó là đắt hơn nhiều nên mọi chi phí nhiều hơn, cũng sau đó bạn thực sự muốn bóp nhiều hiệu suất như bạn có thể. 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, với một ngôn ngữ biên dịch. Vì vậy, bạn làm mất hiệu suất hit này. 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. Vâng, ngoại trừ vấn đề sở hữu trí tuệ. Đó là loại dễ đọc của mã này, chúng tôi sẽ trở lại khi chúng ta nhìn vào JavaScript. Vì vậy, hãy cố gắng phân loại ít nhất là một vài trong số này. 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, 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. C # sẽ được vào danh sách này. Chúng tôi sẽ xem xét hơn, ở mức các ngôn ngữ hiện đại hơn. Tất cả các quyền. Và điều đó có vẻ như rất nhiều đó. Trong khi đó ở phía bên này hàng rào, chúng ta có thể có JavaScript, và Python, và PHP, và Ruby. Và đó là đủ cho những người gần đây? Đó là cảm giác như rất nhiều cho bây giờ. ĐƯỢC. Và sau đó chấm chấm chấm, kể từ khi danh sách là vô cùng tận. 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, ngôn ngữ biên dịch. Tôi đoán chúng ta có thể có được một danh xa đầy đủ hơn. Vì vậy, ở đây chúng tôi đi. Vì vậy, đây là một danh sách đầy đủ hơn nhiều. 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, nhưng họ dừng lại ở D nó sẽ có vẻ. Mặc dù có thực sự có thể là một E. Oh, thực sự, điều này cần được vào danh sách những ngày này. Swift thực sự là một ngôn ngữ mà Apple phát minh mà bây giờ được sử dụng, ngày càng vì vậy, trong phát triển iPhone. 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 điện thoại di động chỉ trong một chút là tốt. Vì vậy, Swift là tốt. Và sau đó nếu chúng ta đi giải thích language-- giải thích language-- thì đây là một danh sách thậm chí còn là tốt. Vì vậy, nếu bạn chỉ cần google và tìm trên Wikipedia cho các, bạn sẽ thấy tất cả các loại ngôn ngữ. Nhưng mục đích là, cho ngày hôm nay thực sự, chỉ nắm để có thể đây vấn đề sở hữu trí tuệ 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. 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 chỉ một số mẫu của ngôn ngữ. Chúng tôi không muốn đi qua tất cả các ngôn ngữ vô tận. Đã bao giờ bạn tự hỏi những gì một ngôn ngữ nào đó trông như thế nào? Chúng tôi đã thấy lúc nãy. Tại sao chúng ta không mất một vài các yêu cầu tính năng. Ai muốn xem những gì ngôn ngữ khác trông như thế nào? Yeah. Đung Java. DAVID J. Malan: Java. Tất cả các quyền. Vì vậy, chúng ta hãy đi đến Java. 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, nhưng nó sẽ nhanh hơn chỉ để nhìn vào mẫu mã của người khác. Tất cả các quyền. Vì vậy, đây là một ví dụ tốt? Lỗi chính. ĐƯỢC. 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." Vì vậy, Java, bạn sẽ thường xuyên xem các "lớp". từ khóa Sau đó, bạn sẽ thấy một số tên sau đó. Bạn sẽ nhìn thấy dấu ngoặc nhọn như chúng ta đã thấy trước đây, và đôi khi họ đi trên cùng một dòng, dòng đôi khi khác, nó là loại một quyết định cá nhân. Bạn sẽ thấy các từ khóa như "Công cộng", "tĩnh", "khoảng trống". Nhưng chúng tôi đã nhìn thấy "chính". "Main" nói chung là 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ã được chạy trong một chương trình. "Chuỗi." chúng tôi đã có ý nghĩa gì bởi chuỗi trước đó? Tôi sử dụng nó loại cờ. Một chuỗi là gì? Một từ. Nó giống như một chuỗi các ký tự. ký tự đặc biệt, trở lại trở lại trở lại, thường là trong một mảng, như chúng ta đã thảo luận. Và trên thực tế, xem cú pháp này ở đây, hai dấu ngoặc vuông? Điều đó có nghĩa, hey máy tính, ở đây đến một mảng của chuỗi. Các ký hiệu khung vuông là thường được sử dụng để biểu thị rằng. Và sau đó bạn có thể có lẽ mất một guess-- gì không nổi bật này đoạn mã có thể làm gì? Đung Các đầu ra? DAVID J. Malan: Yeah. Nó in cái gì đó ra màn hình. 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. "Out" có nghĩa là máy tính của bạn của đầu ra hoặc màn hình. Vì vậy, "system.out.print ln" có thể có nghĩa? "Ln". dòng in mà các lập trình viên như để rõ ràng chính tả một số từ ra trong toàn bộ của họ và mất các phím tắt với các từ khác. Nhưng "ln" là đường, vì vậy dòng in. Vì vậy, nó in ra "Hello World! "Theo sau là một dòng mới. À chính nó đấy. Nhưng Java là những gì họ sẽ cuộc gọi hướng đối tượng. Và quả thực, chỉ để cho một vài định nghĩa khác ở đó mà có lẽ bạn thấy, nói chung, có rất nhiều loại khác nhau ngôn ngữ, nhưng phổ biến nhất là ngôn ngữ thủ tục hoặc bắt buộc. Có chức năng ngôn ngữ, mà không làm có nghĩa là những người khác không có chức năng. Và sau đó có hướng đối tượng ngôn ngữ. 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ữ 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. Đây sẽ là quá nhiều, Tôi nghĩ rằng, các lỗ của chuột đi xuống, cố gắng giải thích những khác biệt khác nhau. Nhưng các ngôn ngữ chúng tôi đã nhìn thấy vậy far-- C là một thủ tục hoặc một ngôn ngữ bắt buộc. Gần đây phát minh ngôn ngữ có xu hướng được, xin lỗi, hướng đối tượng, có nghĩa là họ có các tính năng khác cho họ. Tôi có thể giải thích nó theo cách này? Hãy thậm chí không đi xuống đó. phương hướng đối tượng bạn có thể implement-- bạn có thể mô hình thế giới thực một chút hiệu quả hơn. Nhân loại, theo thời gian, đã tìm ra, wow, 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. Và đó là lý do tại sao chúng tôi có rất nhiều ngôn ngữ trên thế giới. người hợp lý, thông minh người, đồng ý hay không đồng ý 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. Trường hợp tại điểm. Apple phát minh Swift trong hy vọng có lẽ hạ thanh để phát triển iPhone, vì language-- trước gọi là Objective-C, có thể cũng có trong danh sách của chúng tôi đây-- đã đượ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. Và như lập trình đang trở cho là dễ tiếp cận hơn và rộng hơn được thông qua bởi những người thậm chí ít kỹ thuật, các goal-- đó 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 các ngôn ngữ tự dễ dàng hơn để bắt đầu với, nhưng không kém phần mạnh mẽ nhất thiết. Và một trong những ngôn ngữ khác. 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, mà là rất nhiều thịnh hành trong những ngày này. Python. chương trình mẫu. Hãy xem. "Hello World" ngôn ngữ. Làm thôi nào. "Chào thế giới." Hãy xem nếu điều này mang lại cho chúng ta một ví dụ tốt đẹp. ĐƯỢC. Vì vậy, đây thực sự là loại thú vị. Vì vậy, nếu bạn đã bao giờ google "Xin chào thế giới", mà 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, 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. Một số các ngôn ngữ Tôi thậm chí đã không nghe nói về. 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. Đây là một ngôn ngữ thú vị vì bạn phải, như các lập trình viên, số tất cả các đường dây của bạn. Không giống như những gì tôi đã làm khi tôi đang viết giả trên các tài liệu màu vàng trước đó cho tìm kiếm nhị phân, để tìm kiếm một cuốn sách điện thoại. Và như vậy, nếu bạn muốn để đi đến dòng khác, bạn có nghĩa là sẽ gõ, đi đến 10, hoặc đến 20. Và nếu bạn đang viết dòng, ước là để làm, đây là dòng 10, đây là đường 20, đây là dòng 30, 40, không có gì ở giữa, từ đó tạo cho mình một số phòng nếu bạn quyết định, chờ một phút, Tôi có nên thêm một số nhiều mã ở đâu đó. 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 trước khi bạn phải tự ghi số lại tất cả mọi thứ. 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 với một tính năng mới. 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. Đây chỉ là việc tạo ra làm việc cho các lập trình viên. 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 đó do đó bạn không phải lo lắng về những gì số dòng code của bạn là thực sự trên. Vì vậy, khi bạn có thể chọn một ngôn ngữ hay cách khác? Vâng, mà trong số này ngôn ngữ nào bạn có xu hướng nghe về nhiều nhất trong thế giới riêng của mình những ngày này? Hãy thả xuống Objective-C quá. Đung C #. DAVID J. Malan: C #. Vì vậy, hãy để tôi màu. Chúng ta có màu sắc khác của chúng tôi ở đâu đó? Vì vậy, C #. Và những gì bạn biết về C #? Bất cứ điều gì mùa xuân với tâm? Đung Đó là một ngôn ngữ lập trình. DAVID J. Malan: Đó là một ngôn ngữ lập trình. ĐƯỢC. Điều đó đúng. Vì vậy, chúng ta đang nói về C #. C # có xu hướng được sử dụng trong môi trường Windows, 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, 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, nếu bạn đã có những người, hoặc trên web thậm chí quá. Và trong thực tế, có Kareem đề cập ASP trước đó? Vì vậy, đó cũng là những điều được gọi là khuôn khổ, mà chúng tôi có thể giới thiệu bằng cách mở rộng. Khung, như ASP. Giá cho trang máy hoạt động. Và đây là mã và cách lập trình mà thường làm cho nó dễ dàng hơn để viết các ứng dụng dựa trên web. 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 trong ngôn ngữ C chúng ta đã thấy trước đây, bởi vì bạn sẽ phải sử dụng in + F, bạn sẽ phải sử dụng từ khoá đó "Chính" và các dấu ngoặc nhọn. Rất nhiều cú pháp phức tạp và cách tiếp cận để thực hiện cái gì đó khá phức tạp. Một trang web. 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. 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ụ 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. Vì vậy, ví dụ, để làm cho bê tông này nhiều hơn nữa, hãy để tôi mở ra chỉ một file văn bản cho một thời điểm. Và bạn có thể nhớ lại ngày hôm qua mà chúng tôi đã nói điều gì đó như thế, đây là một trang web. HTML. Đóng HTML. Hãy để tôi bỏ qua phần đầu và chỉ làm cho cơ thể ở đây. Giả sử rằng tôi muốn viết không phải là "Hello World" nhưng "Hello David", nơi mà David là tên hiện đang đăng nhập người dùng. Gì gì đó như ASP sẽ làm, hoặc JSP-- đó là máy chủ Java pages-- hoặc bất kỳ số lượng các khuôn khổ khác là họ không phải là ngôn ngữ, mỗi se. Họ giống như phần mềm bổ sung mà bạn 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. Vì vậy, ví dụ, thay vì phải làm một cái gì đó giống như "hello, printf (" David ")" hoặc một cái gì đó loại đồng mingling-- 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, như "name%". Và do đó, những khuôn khổ, như ASP-- và tôi không nhớ nếu tôi nhận được cú pháp chỉ phù hợp với ASP. JSP là một little-- là quyền này? Vì vậy, với ASP, đây là sắp xếp của một cú pháp đặc biệt 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. Và tôi có thể diễn tả ngắn gọn hơn giữ chỗ, ví dụ. 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, nó là một số giá trị được lưu trữ trong đó. Vì vậy, "tên", trong bối cảnh này, chúng tôi sẽ gọi cho một biến. Đại số có biến như x và y, và z. 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, thường. 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ư 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. Và do đó, đây là loại tiện lợi bạn nhận được với môi trường nhất định. 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, liệu cho máy tính để bàn của mình phần mềm hoặc máy chủ web, đặc biệt là nếu máy chủ của bạn lần lượt chạy Microsoft Windows và Microsoft IIS-- hoặc Internet Information Server, nếu tôi nhận được từ viết tắt right-- đó là máy chủ web của Microsoft. Vì vậy, những gì các ngôn ngữ khác folks quen thuộc với, hoặc bạn đã nghe nói về thường xuyên hơn không? KHÁN GIẢ: Tôi biết rằng Python loại một phổ biến [IM LẶNG]. DAVID J. Malan: Rất phổ biến. 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 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 và bạn muốn sử dụng một ngôn ngữ lập trình cho nó. 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ê. Nhưng Python có rất nhiều tính năng được xây dựng trong. Vì vậy, nhiều thêm thư viện, như mọi người nói. Thư viện chỉ là bộ sưu tập mã mà những người khác 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. 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. Nhưng nó cũng rất thường được sử dụng trong các ứng dụng web. Bạn có thể thực hiện một động website sử dụng Python. Và bởi trang web năng động, tôi có nghĩa là nội dung không chỉ tĩnh 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 và những thứ khác như vậy, mà là khả năng để đăng nhập, khả năng để mua một cái gì đó, khả năng để kiểm tra với giỏ mua hàng của bạn, hoặc tương tự. 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. KHÁN GIẢ: không Python có riêng của mình mở rộng, tương tự như [IM LẶNG] DAVID J. Malan: Nó không. Vì vậy, trong thế giới của Python, Django là một khuôn khổ rất phổ biến cho Python. WSGI là một cơ chế khác đó là loại khác nhau từ này nhưng tinh thần tương tự. Đó là một add-on cho phép bạn để chạy mã Python trên một máy chủ. Có other-- yeah. Vì vậy, những chúng ta sẽ gọi các khuôn khổ. Và đó là một chút của một sự lạm dụng. Đây là chi tiết của một công nghệ máy chủ web. Nhưng chúng tôi sẽ giữ nó đơn giản và đặt nó trong cột này dù sao. ĐƯỢC. WSGI. WSGI. 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, bởi vì tôi sẽ la mắng bản thân mình đặt chúng trong xô cùng. Hãy đặt điều này vào máy chủ tính năng, chúng ta hãy nói. Đó không phải là một thuật ngữ kỹ thuật. Vì vậy, ở đây chúng ta có thể là WSGI. Có CGI, mà là một cũ kỹ thuật để phục vụ lên tiếng như Perl hoặc PHP, hoặc một số người khác. 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, nhưng cho rằng nếu bạn thấy chúng nó là cái gì bạn chỉ cần google để đọc thêm. Không có nước ép thực một số những điều này. Nhưng chúng ta hãy quay trở lại với các ngôn ngữ. Chúng tôi nói về C #, Python. Có gì khác bạn có thể sử dụng cho lập trình web những ngày này? Hãy tập trung vào điều đó vẫn còn. Đung PHP. DAVID J. Malan: PHP. Và chúng ta hãy trở lại với một trong đó. Vì vậy, PHP được sử dụng rất phổ biến. PHP có xu hướng để có được một rap xấu. 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 các nhà thiết kế ngôn ngữ tốt nhất. 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à. Và thật không may, đây là một biểu hiện, một phần, chỉ các cuộc tranh luận tôn giáo mà mọc giữa các lập trình. Và đây là cái gì giá trị lưu giữ trong tâm trí, từ góc độ kinh doanh, mà nó rất dễ dàng cho người dân kỹ thuật để có được tất cả làm việc với họ ý kiến ​​về một số thứ. 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 hoặc với các mạnh nhất, Theo angriest là đúng. Rất nhiều lần, nó thực sự chỉ không quan trọng. 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. Và do đó, bạn nên giữ ý nghĩ đó khi thực hiện một quyết định, đó chỉ vì ai đó nói đây là ngôn ngữ phù hợp với công việc, đó có thể là sự thật, nhưng nó cũng chỉ có thể là nó là ngôn ngữ ngay trong kỹ năng của mình thiết lập hoặc vùng thoải mái. 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 đó. Có một số quan báo cáo sai, như C là ngôn ngữ sử dụng sai những ngày này để thực hiện các trang web gần như luôn luôn. Nhưng nó không phải là không hợp lý để nói rằng bất kỳ những là sai mà chúng tôi đã đi vòng quanh cho đến nay. PHP đã trải qua nhiều phiên bản. Vì vậy, ngôn ngữ có xu hướng có phiên bản số liên kết với chúng. 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. 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. 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 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, hoặc có thể bạn đã thuê ngoài sự phát triển của mã của bạn cho người khác và họ gửi nó cho bạn hoặc gửi nó cho bạn và họ nói, ở đây, đặt này trên máy chủ web của bạn, nếu máy chủ web của bạn là một vài năm outdated-- cho dù đó là 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. Vì vậy, đó là những loại của những điều mà một người nào đó cần phải được lưu tâm khi nâng cấp một trang web hoặc thực hiện nó lần đầu tiên. Tôi nghe JavaScript trước đó. Vì vậy, JavaScript là một thú vị một ở chỗ nó thường là phía khách hàng, như chúng ta sẽ thấy sau giờ nghỉ, mà có nghĩa là nó chạy trong trình duyệt của người dùng. Nhưng bạn cũng có thể chạy JavaScript những ngày này sử dụng một cái gì đó gọi là Node.js, nơi Node.js là một cơ chế để chạy mã JavaScript phía máy chủ, thay vì sử dụng Python, hoặc PHP, hoặc các ngôn ngữ khác như vậy. JavaScript là đặc biệt thích hợp cho các ứng dụng chat và thời gian thực 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ì đó 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. 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ả, 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ờ. 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. 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? Đung jQuery sẽ là một khuôn khổ? DAVID J. Malan: Câu hỏi hay. Cũng không. 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ã mà người khác có bằng văn bản, nói chung giải quyết một số vấn đề mà làm cho nó, hy vọng, dễ dàng hơn để bạn có thể làm công việc của bạn. Và hãy để tôi làm một ví dụ về này trong bối cảnh của web. Trong bối cảnh các web có ngôn ngữ này, JavaScript, rằng chúng ta sẽ thấy sau này, nhờ đó mà bạn có thể nói như thế này-- "Document.getElementById." Và tôi đã gọi nó là ngày hôm qua những gì? Đầ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. "P id =" đầu tiên ">" và sau đó chúng tôi đã có như "ipsum lorem", vân vân. 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, thay đổi các trang web mà chúng tôi đang chơi với ngày hôm qua, Tôi sẽ sử dụng này dòng được đánh dấu mã để 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ể, như chúng ta sẽ gọi nó. Tuy nhiên, trong jQuery, thay vì viết này, đó là nguyên code-- JavaScript chỉ ra khỏi hộp, đó là cách bạn viết it-- bạn sẽ thay vì chỉ nói, "#Đầu tiên." Đó là tương đương. Và do đó, chỉ dựa trên rất này ví dụ phức tạp, những gì có lẽ là tham số cho việc sử dụng jQuery? 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, có lẽ? Đung Ít mã. DAVID J. Malan: Yeah. Đó là mã ít hơn. Nó chỉ là nhanh hơn để loại. Các đối âm là nó trông đáng sợ. Bạn có thể không thực sự đọc nó trái sang phải. 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ừ, Tôi loại có thể suy ra rằng "Document.getElementById" được một phần tử từ các tài liệu bằng ID của nó. Tôi thực sự có thể sử dụng không có như vậy dễ nhớ từ điều này ở đây. Vì vậy, nó là một thương mại giảm. Có một sự tinh tế mà đến thường bằng cách sử dụng thư viện, đặc biệt như jQuery. 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, vì vậy mà hầu như bất cứ những ngày người viết mã JavaScript sử dụng jQuery hoặc một cái gì đó thích nó, và không còn viết 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 đã học được, wow, đó là sắp xếp của một cơ hội bỏ lỡ để làm cho cuộc sống của chúng tôi dễ dàng hơn. Vì vậy, con người làm cho cuộc sống của họ dễ dàng hơn. Câu hỏi hay. Các ngôn ngữ khác để xem xét. Tôi sẽ nói trong này danh sách Ruby là khá phổ biến. Và như vậy trong thế giới của Ruby, có một khuôn khổ gọi là Rails, mà là rất phổ biến. Vì vậy, Ruby on Rails là một thường được sử dụng biểu thức. Cũng trong thế giới này, cho tôi vòng tròn Java cho các công cụ web, nơi trong thế giới của Java bạn có thể có JSP, hoặc Java Servlets, mà là một công nghệ phổ biến. 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ủ. Vì vậy, điều này có nghĩa là gì? Nếu bạn đã có một thể chất máy chủ, bạn sẽ theo nghĩa đen tải về phần mềm máy chủ web và cài đặt nó theo cách như vậy mà bạn có hỗ trợ cho một trong những khung, với đó bạn có thể, lần lượt, sử dụng một hoặc nhiều ngôn ngữ. 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 dịch vụ chúng tôi đã nói chuyện về ngày hôm qua, thường những thứ chỉ đến với cấu hình máy của bạn. Bạn không cần phải thiết lập này lên tay. 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, đến chơi. Anh ta hoặc cô ấy thực sự sẽ làm gì loại công cụ này cho bạn, 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. Tất cả các quyền. Mọi thắc mắc về một số ở đây? Hoặc bất kỳ cơ hội tại tất cả các yêu cầu về ngôn ngữ? Khuôn khổ? Sau đó, hãy để tôi giới thiệu chỉ là một thư viện khác mà cũng rất phổ biến những ngày này. Danh sách này có thể đi vào vô hạn. Và thư viện này là loại bắt đầu rơi ra khỏi lợi. Nó được xung quanh. Nó được phổ biến bởi Twitter một thời gian. 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ó. Nhưng những điều mới đang đến ra và đến cùng. 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. Vì vậy, một lần nữa, JavaScript một ngôn ngữ rất phổ biến. CSS, hay Cascading Style Sheets, chúng tôi nói chuyện về ngày hôm qua. Đó cũng là mặt ở khắp nơi. 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. Nhưng nó không phải luôn luôn dễ dàng để làm những việc nhất định. Và vì vậy cho tôi đi đến getbootstrap.com. Lỗi chính. Đó không phải là cách chúng ta đánh vần. Getbootstrap.com, mà sẽ dẫn tôi để trang đích cho thư viện này. Vì vậy, họ hào phóng gọi mình một khuôn khổ, mà là loại loại công bằng, nhưng tôi vẫn sẽ gọi nó nhiều hơn một thư viện hơn một khuôn khổ. Nhưng đây là những ngữ nghĩa chỉ đáng tranh cãi. 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. 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? Nó là khá xấu xí. nút trường cũ. 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ự định dạng khá cẩu thả. 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. Và bằng đẹp hơn tôi thực sự chỉ có nghĩa là thẩm mỹ rất nitpicky. 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ó. Vì vậy, nó là một chút bụi đó. Chú ý rằng các email từ là có cho đến khi tôi bắt đầu gõ và sau đó nó đi xa. Vì vậy, đó là một tính năng tốt đẹp chút. Chú ý cách điều là loại phát sáng độc đáo, mà một số bạn này 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, mã mà người khác có bằng văn bản mà cung cấp cho bạn điều này. Một cái gì đó như thế này mang lại cho tôi mật khẩu của tôi. 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ờ. Kể từ khi iOS 7 hay như vậy, thế giới đã nhận được rất bằng phẳng, trong khi thế giới trước khi có nhiều bóng thả, rất nhiều phản xạ trên biểu tượng. Cũng giống như trong thế giới quần áo, có xu hướng thời trang mà đến và đi. Bây giờ tất cả mọi thứ bằng phẳng trên điện thoại của bạn. 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. Có không phải thường xuyên thậm chí nút tròn. Vì vậy, đây chỉ là những thứ mà đi vào và ra 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. Nút. Vì vậy Bootstrap đã có rất nhiều các nút khá. 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, đỏ. Bootstrap làm cho nó dễ dàng hơn để làm những việc này. Đây là những loại vật mà bạn có thể hoàn toàn đã 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ổ. 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. 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-- và bạn muốn nó trông như nút màu xanh lá cây này, 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, của "btn btn-thành công." Tại sao những lời đó? Twitter, các tác giả của Bootstrap, đã đưa ra những lời đó. Họ có thể gọi họ bất cứ điều gì họ muốn. 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, đã 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. Họ đóng gói lên chức năng trong một lớp CSS, được gọi là "btn" 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ề nó. 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 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. 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. Nếu chúng ta di chuyển xuống đây. Thông báo lỗi trên màn hình. Đô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. 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, nhưng tại sao bạn sẽ bận tâm? Đó thật là một nhàm chán chi tiết thẩm mỹ. Hãy đứng trên vai của Bootstrap 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 đỏ, chỉ cần có để làm một đoạn thẻ với một lớp lượng-- xin lỗi. "Bg-nguy hiểm" sẽ cung cấp cho chúng tôi hộp màu đỏ này thay thế. Bây giờ chúng ta hãy đi đến điều thú vị hơn. Nếu tôi trở về đầu Trang này và đi đến thành phần, giờ đây thế giới sẽ thú vị hơn. Ví dụ, rất phổ biến là trình đơn thả xuống như thế này. Đây sẽ là một tuyệt đối đau để thực hiện. Và đó không phải là dài trước đây mà chúng tôi lập trình sẽ phải thực hiện các các loại menu từ đầu. Nhưng đó là một mô hình phổ biến như rằng các thư viện như Bootstrap 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. Không có một cách để làm điều đó, nhưng nếu tôi đọc tài liệu 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 mà cư xử như thế. Tương tự như vậy, chúng ta hãy đi đến nút thả xuống. Vì vậy, điều này thậm chí fancier. 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ỏ Tôi cần click vào nó và nhận được đơn này, điều này là sử dụng một ngôn ngữ được gọi là JavaScript. Và tất cả chúng ta có thể thực hiện này trong JavaScript. 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. Bạn chỉ muốn cởi nó ra thư viện kệ cho việc này. Hãy đi đến một cái gì đó như tiến quán bar. Vì vậy, một cái gì đó như thế này là loại mát mẻ. 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, thực hiện thường chỉ là một biểu tượng quay tròn. 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ì? Thông tin Ajax? Lỗi chính. Ajaxinfo. Hãy để tôi nhớ địa chỉ. Hiện chúng tôi đi. 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ĩ, 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. Vì vậy, chúng ta hãy nhìn vào một cái gì đó như thế này đây, 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. Tôi có thể bấm vào đây? Hãy đến một. ĐƯỢC. Chúng tôi sẽ chỉ đi với màu đỏ vì đó là những gì chúng tôi đang nhận được. Vì vậy, ở đây chúng tôi có nó. 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 đó đột nhiên biến mất, những gì là nó đó là thực hiện điều đó? Vâng, đây chỉ là một GIF. G-I-F. Và đây là một phim hoạt hình nộp, mà chỉ có nghĩa là nó giống như một cuốn sách truyện tranh trường học cũ. Không chỉ là một bó khác nhau khung rằng sẽ [nói lắp] và chỉ lặp đi lặp lại. Và nó tạo ảo tưởng của phong trào. 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ì đó, những gì hiện một lập trình viên làm gì? Vâng, anh ấy hoặc cô ấy chỉ ẩn hình ảnh này. 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. 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ì, nó chỉ di chuyển. Và sau đó, khi nó được thực hiện tiến bộ, họ chỉ ẩn nó hoặc tắt nó đi. Và đó là tất cả sự kỳ diệu đang xảy ra ở đó. Bootstrap cung cấp cho bạn một chút gì đó fancier, nhờ đó mà bạn có thể thực sự thấy một tỷ lệ như nó đi, nhưng nó cũng chỉ là loại của một hình ảnh động đơn giản. Hãy nhìn vào một số thức ví dụ phức tạp hơn ở đây. Một cái gì đó giống như một phương thức. Có ai biết những gì một phương thức là? Một cửa sổ phương thức chung là một trong đó là nghĩa vụ để 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. Nó loại buộc của người sử dụng chú ý đến điểm giữa của màn hình, khóa chúng, thông thường, mọi thứ khác. 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. Vâng, làm thế nào để chúng tôi làm cho nó màu xám? Vâng, có lẽ chúng ta chỉ thay đổi màu nền như chúng ta đã làm ngày hôm qua hay đại loại thế. Có thể đó là một lớp phủ mà bán trong suốt. Và bây giờ nhận thấy bạn có thể làm điều lạ mắt như thế này. 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, bạn có thể làm điều đó. Và do đó, những người quan tâm về all-- yeah? KHÁN GIẢ: với Bootstrap, để có được nó kết hợp, là nó đơn giản như như ngày hôm qua chúng tôi đã trang phong cách CSS? DAVID J. Malan: Thật vậy. Thực sự tốt câu hỏi. Hãy để tôi đi để Bắt đầu. Và vâng. Tất cả bạn phải làm để sử dụng Bootstrap là về cơ bản sao chép và dán ba đường dài mã vào đầu page-- web của riêng bạn người đứng đầu page-- của bạn và bạn đang lên và chạy. 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. Vì vậy, những gì là hữu ích về tất cả những điều này? Vâng, nếu bạn không quá nhiều người thực hiện của một trang web 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 đó 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ì bạn muốn làm, tôi, để điều này ngày, thường sẽ đi đến một trang web như Bootstrap, mà nếu tôi muốn thực hiện một cái gì đó-- như thời gian gần đây trong khuôn viên trường chúng tôi muốn thực hiện một trang web dựa trên công cụ để điều hướng Danh mục Tất nhiên Harvard, làm cho nó dễ dàng hơn cho sinh viên duyệt qua các khóa học và thêm các khóa học để danh sách mua sắm, có thể nói, để loại quyết định những gì họ muốn có. Tôi đã cố gắng để tưởng tượng cho bản thân mình, những thành phần sẽ chúng tôi muốn sử dụng để xây dựng này? Điều gì sẽ giao diện người dùng như thế nào? 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, 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, và widget này. Và sau đó thực sự những gì các lập trình viên bắt đầu để 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, là chương trình ngày càng về hệ thống dây điện điều với nhau. 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ệ, và bạn là một thông minh để kết nối tất cả những dấu chấm, 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, do đó bạn không dành một tháng thực hiện giảm ngu ngốc down menu, mà thực sự là khó có thể làm gì nếu bạn muốn nó hoạt động trên Chrome, và IE, Firefox, và bất kỳ số trình duyệt khác. Đâ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 ngành công nghiệp là tốt. 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? DAVID J. Malan: Nó không. Vâng, vâng, nó. Bootstrap hiện đang ở phiên bản 3.3.6. Và nói chung những gì bạn sẽ do-- đây thực sự là điều đáng nói. Có gì là nói chung được biết đến như một versioning ngữ nghĩa hệ thống trên thế giới. Không phải ai cũng thực hiện điều này. Nhưng nếu bạn đã nhìn thấy số phiên bản mà có dạng x.y.z-- 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. 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 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, thậm chí bạn có thể bắt đầu 0.0.1 hoặc một số chỉ định như vậy. 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, thường, những gì là phổ biến những days-- mặc dù không phải là omnipresent-- nếu một công ty hoặc một sửa trình cá nhân một số lỗi trong một số mảnh của phần mềm đó thực sự 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 hành vi của chương trình, nó chỉ sửa chữa một cái gì đó mà không được làm việc properly-- bạn sẽ thường cập nhật các giá trị z đó. 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, 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ó, và trong lý thuyết, không phải lo lắng rằng anh ấy chỉ bị phá vỡ trang web của mình vì một số thiếu chức năng, vì cái gì khác đã phá vỡ. Trong khi đó, nếu tôi là lập trình viên hoặc một số công ty đã làm cho một số đáng kể thay đổi thêm chức năng, Tôi có thể cập nhật chúng tôi 1.1.0 bởi vì tôi thực sự thay đổi hành vi của thư viện. Tôi đang cho bạn các chức năng có thể nhiều hơn. 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 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, 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á, đó là một thay đổi phá vỡ. Nói cách khác, tôi có thể có hỗ trợ ngưng cho những giọt down menu. 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. Và đây là sắp xếp của một tín hiệu cho cộng đồng như những gì tham gia vào việc nâng cấp. Một cơ hội tốt để nâng cao. Câu hỏi khác? Tất cả các quyền. 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 của ngăn xếp công nghệ, cụ thể là liên quan đến điện thoại di động. 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, và tất cả những loại của devices-- bạn có rất nhiều sự lựa chọn khi nói đến việc thực hiện một ứng dụng hoặc một trang web cho thiết bị di động của khách hàng. Vì vậy, chỉ với nhà nước rõ ràng, có lẽ những ngày này, những nền tảng để là gì phát triển cho trong không gian di động? 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? Đung Apple. DAVID J. Malan: OK. Vì vậy, các thiết bị của Apple. Vì vậy, đó có nghĩa là iPhone, và rằng có nghĩa là iPad, và thậm chí có thể iPod. Những gì người khác? Olivier? Đung Android. DAVID J. Malan: Android. ĐƯỢC. điện thoại Vì vậy, Android, Android máy tính bảng, thị trường Android thậm chí còn Messier because-- và thậm chí cả Apple đang trở thành lộn xộn. Trong khi đó, một lần khi một thời gian iPhone là một kích thước nhất định, 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ờ chúng tôi có iPad Mini, và mỏng những người thân, và iPhone 6 Plus và 6. Nó trở thành một mớ hỗn độn. Nó trở thành thế giới Android. 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 quan điểm, nó là một đau ở cổ khi bạn không có Steve Jobs tầm nhìn của kiểm soát tuyệt đối trên tất cả các chi tiết kỹ thuật. Apple vẫn làm vì họ những người xây dựng phần cứng. 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, chỉ biết rằng tôi iPhone là luôn luôn đi được điều này bởi vì lớn có nghĩa là tôi luôn biết bao nhiêu màn hình bất động sản tôi có. Vì vậy, nếu tôi muốn đặt một biểu tượng ở góc trên bên trái, 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. Nhưng trong thế giới của iPhone 6s và iPhone 6 Điểm cộng và trong thế giới Android điện thoại, tất cả đã qua bản đồ. 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, 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 chắc chắn rồi. 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 bởi vì bạn, tất nhiên, có kích thước màn hình khác nhau. Những gì người khác? Bạn có thể có các bề mặt, như từ Microsoft. Bạn có thể có-- Đung Windows phone. DAVID J. Malan: Đó là gì? Đung Windows phone. DAVID J. Malan: Có. Vì vậy, điện thoại cửa sổ vẫn có thể được tìm thấy. Loại loại BlackBerry, nhưng họ tiếp tục cố gắng. Và sau đó các chùm các thiết bị khác. 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 quan tâm vào lúc này. Chắc chắn những thứ Apple, chắc chắn các công cụ Android, và trong Windows, như viên nén bề mặt dường như được đánh bắt trên khá tốt. Và do đó, trong số những thiết bị, nếu bạn muốn lăn ra, 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ế Bạn phải thực hiện? Vâng, chúng tôi đã nói trong thế giới của Apple, có ít nhất hai ngôn ngữ thường được sử dụng. Một được gọi là gì? Đung Objective-C. DAVID J. Malan: Yeah. Vì vậy, Objective-C, đó là đứa lớn chỉ. Đó cũng là ngôn ngữ mà nhiều Mac ứng dụng vẫn còn được viết. Sau đó, một trong những khác mới hơn là? Đung Swift. DAVID J. Malan: Swift. Và đó là những loại hai biết để gây ấn tượng với folks. Sau đó, trong thế giới Android, bằng ngôn ngữ nào Android sử dụng không? Đung C #? Đung Java. DAVID J. Malan: Java là ngôn ngữ của "du jour". Trong thế giới Windows, chắc chắn, chúng tôi sẽ nói C # trong trường hợp đó. Vì vậy, đã là loại khó chịu, bởi vì những gì các takeaway cho một doanh nghiệp chủ sở hữu hoặc người chỉ muốn tung ra một sự hiện diện điện thoại di động? Giống như, chết tiệt? Giống như, nếu tôi muốn hỗ trợ một cơ sở người dùng khá rộng, Tôi phải viết, nó sẽ có vẻ, ba ứng dụng riêng biệt. Một trong một trong các thứ tiếng, một trong Java, một trong C #. 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. Tôi vẫn cần phải sử dụng khác nhau ngôn ngữ bởi vì Apple và Microsoft, và Google tất cả các hỗ trợ môi trường khác nhau. Và đây là một thách thức trong nhiều năm. Quay lại trong ngày, khi người sử dụng để mua các phần mềm tại một cửa hàng máy tính ở co hộp bọc, bạn sẽ có thể sở để tiếp cận với các kệ Mac, 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 và mua một số phần mềm. 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. Tại sao? Vâng, công ty đã quyết định nếu 90% của thế giới, 95% của thế giới 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? Là một tổng aside-- digression-- tại sao nó 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? Apple tốt hơn lúc này? Tốt hơn trong việc giữ máy tính an toàn? Đung khán giả nhỏ hơn? DAVID J. Malan: Đó là có lẽ là hơi lớn hơn để nó. 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, bạn sẽ được miễn dịch với virus, và sâu, và tất cả những điều mà từ lâu đã cản máy tính. Đó có thể là bởi vì Apple có lập trình viên tốt hơn 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. Có thể, nhưng có lẽ không. Có thể nói rằng khi bạn đang 12 tuổi, hoặc 30 gì đó loại ngồi tại văn bản nhà phần mềm độc hại để tiếp nhận thế giới, bạn sẽ đi sau các đối tượng mục tiêu lớn hơn nhiều. 95% của thế giới những người có thể chạy Windows hoặc một số các biến thể của nó. Vì vậy, có một chút của cả hai bên. Tuy nhiên, để tín dụng của họ, Apple, để kiến ​​thức của tôi, chưa thực sự chào mình là an toàn hơn, 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ĩ. Tất cả các quyền. 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? Bạn phải mua hoặc làm bạn phải trả ba người khác nhau để phát triển ứng dụng của bạn? Bạn chọn một trong khác không? Gì nên hướng dẫn của bạn suy nghĩ ở đây bạn nghĩ sao? Kareem? Nope. Một người nào khác. Đung Chỉ cần đi kèm với phần cứng. DAVID J. Malan: Hãy đến với phần cứng? Ý anh là gì? Đung Đối với các môi trường. [IM LẶNG] DAVID J. Malan: Vì vậy, đó là sự thật. Nhưng khách hàng của bạn, Trong khi đó, có thể có iPhone, họ có thể có điện thoại Android, họ có thể có viên thực hiện bởi Microsoft. 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? Có vẻ như nếu nó chi phí, hãy nói rằng 1.000 $ để làm cho một chiếc iPhone ứng dụng, nó sẽ chi phí bạn 2.000 $ để làm một ứng dụng iPhone và một ứng dụng Android, hoặc $ 3,000 cũng hỗ trợ các thiết bị Windows. Đó có thể là khá một cách nói, và nó có thể thậm chí không có một mối quan hệ tuyến tính như thế. Đ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. DAVID J. Malan: Tốt. Đung Hoặc bạn có thể có một ứng dụng bản địa. DAVID J. Malan: Yeah. 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ì mọi người sẽ gọi các ứng dụng bản địa. Đó là các ứng dụng được viết trong ngôn ngữ mẹ đẻ của thiết bị đó. Vì vậy, nguồn gốc Objective-C hoặc Swift mã, hoặc trong Java, hoặc trong C #. Có nghĩa là khi bạn tải về, hãy nói Snapchat, ứng dụng phổ biến, hoặc khi bạn tải về Facebook cho điện thoại, 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, 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. Nhưng có một sự thay thế. Như Olivier đã được ám chỉ, bạn thực sự có thể sử dụng HTML 5 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 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. Tôi có ý nghĩa gì bởi sự hiện diện của điện thoại di động? 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 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ó. Dù ứng dụng của bạn, bạn thực hiện nó, không phải trong Objective-C, hoặc Swift, hoặc Java hoặc C #, nhưng trong HTML 5, đó là ngôn ngữ chúng ta nhìn tại ngày hôm qua, với JavaScript và CSS. Và những gì tốt đẹp về những ba là để chạy chúng, bạn cần chỉ là những gì phần của phần mềm? Đung Một trình duyệt web. DAVID J. Malan: Một trình duyệt web. 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, vì vậy người dùng không phải cài đặt một cái gì đó đặc biệt. 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, đi đến acme.com tại của bạn trình duyệt và bạn sẽ chỉ có một kinh nghiệm dựa trên web mà vẫn đầy màn hình, 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. Nhưng chắc chắn đó là có là một đánh bắt ở đây, phải không? Đặc biệt là nếu tôi chỉ ra mà một vài năm trước đây, phiên bản đầu tiên của ứng dụng di động của Facebook chủ yếu là một ứng dụng HTML 5. Và họ có, nhiều hơn Gần đây, thực hiện lại nó trong các ứng dụng khác của họ. Vì vậy, tại sao bạn không ngay lập tức muốn nói, tốt, rõ ràng là chúng ta sẽ làm điều này? các chi phí ẩn có thể là gì? Đung Performance. DAVID J. Malan: Hiệu suất? Làm thế nào để bạn có nghĩa là gì? Đung Các ứng dụng bản địa có hiệu suất hơn. DAVID J. Malan: Vì vậy, đó là đúng, cho một vài lý do. Chúng ta có thể đơn giản hóa các câu trả lời. 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. Đây là HTML 5 và cùng với nó, chỉ để được rõ ràng, JavaScript-- thường bằng văn bản JS-- và CSS là tất cả ngôn ngữ thông dịch, mặc dù chỉ JavaScript là một ngôn ngữ lập trình. 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-- Objective-C, Java và C # - những, trong lý thuyết, chỉ cần được nhanh hơn. Nhưng có một thực tại khác tôi-- Đung Các chức năng? DAVID J. Malan: Đó là gì? Đung Các chức năng. DAVID J. Malan: Chức năng? Làm thế nào vậy? Đung Sử dụng camera tắt điện thoại hoặc một cái gì đó của bạn. Bạn có thể sử dụng những người có trình duyệt. DAVID J. Malan: Chính xác. Họ đang sec-- Đung [IM LẶNG] DAVID J. Malan: Đó là một trong những tốt. Có tính năng đi kèm với điện thoại di động ngày nay 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. Bởi vì nó sẽ là loại một điều đáng sợ nếu chỉ khi bạn truy cập google.com, hoặc cnn.com, hoặc bất kỳ website.com, 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, và sau đó sử dụng nó. 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 có khả năng đó. Và vì vậy những gì điện thoại các nhà sản xuất thường làm là họ chỉ từ chối truy cập với loại thông tin để trình duyệt, có nghĩa là bạn không thể thực hiện các máy ảnh. 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 với thông điệp ngắn. 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. 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, 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 có xu hướng để làm điều này, bạn được nhắc thường với một message-- foxnews.com muốn biết vị trí của bạn. Phê duyệt hoặc từ chối. 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. Nhưng may mắn Microsoft, và Apple và Google đã quyết định rằng cảm thấy như đó là một tình hình hữu ích, chúng tôi muốn Google Maps và các công cụ khác để làm việc, 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. Vì vậy, hãy loại đáp ứng nửa chừng và nhắc nhở người dùng. 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 và với push thông báo và như thế, vì vậy bạn có thể phải hy sinh tính năng nhất định. Nhưng hiệu suất quá. Nó đang trở nên ít đáng chú ý hiện nay, có lẽ LTE bắt trên và nhanh hơn tốc độ internet trên điện thoại, nhưng bạn có thể loại cảm thấy sự khác biệt. Giống như một ứng dụng dựa trên web chỉ cảm thấy chậm, thông thường, 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 theo định nghĩa là trên internet. Nó nói đến các máy chủ trên web. 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. Nhưng một ứng dụng bản địa, bạn có đã được tiền downloaded-- lẽ khi bạn đang ở nhà từ cửa hàng ứng dụng, hoặc ít nhất bạn sẵn tải về nó trong toàn bộ trước đó, bất cứ điều gì của bạn speed-- kết nối và vì vậy bây giờ bạn có tất cả các bit mà bạn thường cần. Ngoại trừ một số dữ liệu mà đến từ một máy chủ. Vì vậy, đây là những đánh đổi ở đây. Có loại giữa một thỏa hiệp, trong thực tế. Và tôi nghĩ rằng bạn-- Đung Sử dụng các dữ liệu ẩn. Trong các ứng dụng bản địa, bạn có thể [IM LẶNG] DAVID J. Malan: Tuyệt đối. Vì vậy, có những vấn đề ẩn, mà thực sự là khó chịu 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 trong tầng hầm, hoặc trong thang máy. 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, giả sử bạn có tất cả các dữ liệu bạn cần tại địa phương. Vì vậy, có một lựa chọn thứ ba ở đây. 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. Và những gì ở giữa là một cái gì đó called-- và tôi nghĩ rằng bạn có thể có sử dụng từ trước, có lẽ? Lai ứng dụng. Và như chữ nghĩa, nó là một cái gì đó ở giữa. Đó là loại một ứng dụng web và nó là loại một ứng dụng bản địa. Và điều này có nghĩa là gì? Hóa ra có frameworks-- để sử dụng với thời hạn từ phần mềm earlier-- mà người khác đã viết cho mỗi một trong những nền tảng này. Những nhưng các thiết bị khác. Trong thực tế, cho tôi đi đến PhoneGap, đó là một khuôn khổ như vậy mà tôi tin Adobe sở hữu bây giờ. Hãy để tôi đi để Bắt đầu. Hãy xem. Xem nếu tôi có thể nhìn thấy một danh sách các công cụ. Phần cứng. Bắt đầu. PhoneGap phần cứng. Hãy xem. PhoneGap truy cập phần cứng. 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ó. Đây là một trang web khác. Đây có phải là hữu ích? Không. Đó là sẽ lãng phí thời gian của chúng tôi ở đó. PhoneGap phần cứng. Thiết bị. API thiết bị. Không, họ đã di chuyển nó. PhoneGap. 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. Bắt đầu. Cài đặt PhoneGap. Cài đặt ứng dụng di động. Thôi nào. Họ đã tổ chức lại tất cả mọi thứ. Tất cả các quyền. Oh, đúng rồi. Vâng, ở đây chúng tôi đi. Đâ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. 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 một số mã khởi động, về cơ bản. 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ì. Nhưng những gì nó mang lại cho bạn về cơ bản là tương đương 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. Nó không đặt một thanh URL, giống như một trình duyệt, không đặt một địa chỉ. Nó chỉ đặt một hình chữ nhật lớn. Và bạn cấu hình này lớn hình chữ nhật, bên dưới mui xe, để thực sự đi đến acme.com, hoặc có thể m.acme.com, cho mobile.acme.com, nhưng người dùng không biết họ đang ở địa chỉ đó. Tất cả họ thấy là nội dung của trang web. Nhưng những gì là tốt đẹp về con người này một ứng dụng hybrid là gì PhoneGap 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ã Objective-C hoặc Swift, hoặc một chút mã trong Java, hoặc một chút mã trong C #, và về cơ bản, 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. Và sau đó bạn bó này tất cả với nhau và bạn có nó hoặc truy cập của bạn trang web thông qua internet, hoặc thậm chí bạn cache một địa phương sao chép bên trong ứng dụng, và sau đó bạn lưu ứng dụng của bạn ở định dạng iPhone, điện thoại Android định dạng, định dạng bề mặt, hoặc bất kỳ số lượng các thiết bị khác. Bạn tải lên mỗi của những phiên bản Cửa hàng Google Play, App Store, với Windows Store, và vv. 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, mặc dù hầu hết các mã đã được viết bởi một người nào khác, 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. Vì vậy, bạn tiếp tục viết trang web của bạn trong HTML, JavaScript và CSS. Vì vậy, tại sao làm mờ những dòng này? Tại sao có một ứng dụng lai đó là loại bản địa, nhưng cũng loại dựa trên web? toàn bộ các điểm là gì thêm phức tạp này? Ý tôi là, thậm chí vẫn còn, chỉ từ liếc qua trang này, 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 làm trước khi tôi can-- Đung thể dùng lại? DAVID J. Malan: Có thể dùng lại? Ý anh là gì? Đung Trong số các mã nguồn. 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. DAVID J. Malan: Yeah. Đung [IM LẶNG] DAVID J. Malan: Hoàn hảo. Nếu thời gian là chặt chẽ và nếu bạn không có mà nhiều developers-- có thể bạn có một nhà phát triển và anh ta hoặc cô ấy chắc chắn không biết tất cả các environments-- chắc chắn không tốt, và chắc chắn không thể lập trình trong cả ba cùng một lúc và tàu ba sản phẩm trong thời gian cho phép cho một, bạn có thể có anh hoặc cô xây dựng mọi thứ trong HTML và JavaScript và CSS, và sau đó tìm hiểu một chút nhỏ chút về ứng dụng bản địa, chỉ đủ để tải về một khuôn khổ như thế này, để 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 vì vậy mà bây giờ bạn có một ứng dụng bản địa. Vì vậy mà có vẻ như một win-win, nhưng một lần nữa, để được rõ ràng, những tiềm năng là chi phí hoặc gotchas? Đung Hiệu suất? DAVID J. Malan: Yeah. Hiệu suất. Thật khó để diễn tả bằng lời nói. Vì vậy, nếu bạn chỉ cần lấy trên đức tin là một ứng dụng di động, một ứng dụng web sẽ thường thực hiện chậm hơn. 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, và các thiết bị Windows, có luôn luôn là một loại giao diện mặc định và cảm thấy tất cả các nút và các menu. Và các công ty trong các trang web, có thể thử để gần những thẩm mỹ với các thư viện như Bootstrap, nhưng user-- một user-- sắc sảo sẽ biết rằng một cái gì đó không hoàn toàn đúng ở đây. Và đó là tốt, có thể đó không phải là một việc lớn. Nhưng các vấn đề hiệu suất hoàn toàn là một vấn đề lớn. 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 đó tốt hơn. Và như vậy, những gì sau đó có thể là tốt nhất của cả hai thế giới? Nếu bạn đặc biệt một nhỏ công ty hoặc một nhóm nhỏ, bạn không có các nguồn lực để phát triển một ứng dụng song song 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 bởi vì nếu bạn cuộn nó ra và vào cả ba đồng thời nhận ra, 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ờ bạn phải sửa nó trong ba nơi, không phải một. Có gì có thể tối ưu chiến lược ở đây nói chung, nếu nguồn lực và thời gian là chặt chẽ? Đung Chỉ cần làm điều đó trên iOS. DAVID J. Malan: Đó không phải là không hợp lý. iPhone, ít nhất là trong Mỹ, siêu phổ biến. Android vẫn có sức chi phối thị phần, trên toàn cầu, tổng thể. Vì vậy, bạn không nhất thiết phải đại diện của toàn bộ thế giới trong tuần này. Nhưng điều đó hoàn toàn là một quyết định. 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 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. Nhưng ở nước ngoài, đó là loại ngược lại. Vì vậy, bạn quyết định dựa trên các khán giả của bạn. Làm thế nào để bạn biết những gì khán giả của bạn có? Vâng, chúng tôi học được một trick ngày hôm qua. Bạn có thể yêu cầu họ. 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. Hoặc bạn chỉ có thể làm những gì? Đung Google Analytics? DAVID J. Malan: Đó là gì? Đung Google Analytics. DAVID J. Malan: Google Analytics. Yeah. 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. Bởi vì những gì xảy ra mỗi lần một trình duyệt, 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? 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. 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 đó và sau đó điều chỉnh. Vì vậy, cho rằng đó là không thể chấp nhận. Đó 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. Đung Cho dù bạn là sẽ tính phí hay không? DAVID J. Malan: Cho dù bạn sẽ tính phí? Vì vậy, OK, bạn sẽ có được những gì bạn phải trả cho. Đung Cho dù ứng dụng của bạn là gonna được miễn phí hoặc cho dù đó là gonna-- DAVID J. Malan: OK. Vì vậy, có thể bạn có thể bù đắp chi phí theo cách đó, or--? 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-- DAVID J. Malan: Đó là sự thật bởi vì họ đã trả tiền nhiều hơn cho các thiết bị của họ. Vì vậy, không hợp lý một giả định. Đung [IM LẶNG] DAVID J. Malan: OK. 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. Họ sẽ không để trả cho chúng tôi bất cứ điều gì anyway. 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 hoặc một năm, trên iOS. Hoàn toàn hợp lý. Có gì một toàn diện hơn chiến lược hơn? Maybe-- là gì vậy? Đung [IM LẶNG] DAVID J. Malan: Một expensive-- hơn như vậy có lẽ đầu tư nhiều hơn in-- đi trước. Đung Yeah. Chỉ cần một trang web di động. DAVID J. Malan: Vì vậy, làm một trang web di động và không thậm chí lo lắng về sự phức tạp này. Hoặc có thể là một chiến lược hợp lý, mà thậm chí cả Facebook mất, được bắt đầu với một lai ứng dụng vì nó không nên khó khăn hơn để làm điều này hơn này. Bạn chỉ cần đọc một số tài liệu và tìm ra cách upload thứ cho App Store. Vì vậy, có thể bạn bắt đầu với này, vì vậy mà vào một ngày, bạn có thể hỗ trợ tất cả người dùng của bạn. Và sau đó, giống như Facebook và các công ty khác đã làm, khi bạn có các nguồn lực, bạn có những người, tại sao bạn không tái thực hiện chỉ các ứng dụng iOS. 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 có lẽ, với các ứng dụng lai. Nhưng dần dần bạn có thể cuộn ra và thay thế ngắn hạn của bạn 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. Đ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? DAVID J. Malan: Không nhất thiết. Vì vậy, có thể bạn làm cho một ý thức quyết định sớm, bạn chỉ có thể tải lên hình ảnh trên ứng dụng iPhone bản địa cho Facebook, nhưng không phải trên các ứng dụng Android, ban đầu, ví dụ. 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ế 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 cho PhoneGap và những thứ như nó, người đã đưa ra cách để cung cấp cho các ứng dụng dựa trên web truy cập vào các máy ảnh, miễn là bạn đang sử dụng một ứng dụng lai. Làm thế nào mà làm việc? Bởi vì lai ứng dụng, theo định nghĩa, có một chút mã Objective-C, và Swift, và Java, hoặc trong C #, nó có thể truy cập vào phần cứng. Không nhất thiết tất cả mọi thứ, nhưng nó có thể rất tốt là trường hợp mà bạn có đủ quyền truy cập để có được máy ảnh, ngay cả đối với các nền tảng Android, cho Chẳng hạn, trong đó ví dụ tạo. Bất kỳ câu hỏi khác? Tất cả các quyền. Tại sao chúng ta không lấy của chúng tôi 15 phút nghỉ ngơi ở đây. 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, và Javascript.