Hội nghị Chrome Dev – Tóm tắt về nền tảng web mở

Tác giả: Greg Simon và Eric Seidel

Blink là công cụ kết xuất hình ảnh nguồn mở của Chrome. Nhóm Blink đang phát triển web và giải quyết các vấn đề mà các nhà phát triển gặp phải.

Kể từ khi chúng tôi ra mắt vào tháng 4, chúng tôi đã bắt đầu một số điểm cải tiến ngầm.

Điều đầu tiên chúng tôi làm là xoá một nửa nguồn dữ liệu dù không thực sự cần thiết. Chúng tôi vẫn chưa hoàn tất! Và chúng tôi không làm điều này: việc xóa mã dựa trên số liệu thống kê tổng hợp được báo cáo ẩn danh từ những người dùng Chrome chọn nhận báo cáo.

Cứ mỗi sáu tuần, chúng tôi lại phát hành một API mới dành cho nhà phát triển: giống như lịch trình vận chuyển của Chrome.

Một thay đổi lớn mà chúng tôi đã thực hiện khi phát triển từ Blink là thêm hệ thống ý định: mỗi lần trước khi thay đổi nền tảng web, chúng tôi đều gửi thông báo công khai cho nhà phát triển Blink để công bố ý định thêm hoặc xoá một tính năng của chúng tôi. Sau đó, chúng ta lập trình để lập trình! Và ngay ngày hôm sau sau khi xác nhận sử dụng tính năng, tính năng đã có sẵn trong các bản dựng Canary của chúng tôi. Tính năng này tắt theo mặc định nhưng bạn có thể bật bằng about:flags.

Sau đó, trong danh sách gửi thư công khai, chúng tôi công bố ý định vận chuyển.

Tại chromestatus.com, bạn có thể xem các tính năng mà chúng tôi đã phát triển, các tính năng chúng tôi đã phát hành và những tính năng chúng tôi dự định ngừng sử dụng. Bạn cũng có thể kiểm tra blog về Bản phát hành Chromium. Blog này có đường liên kết đến lỗi và trang tổng quan về trình theo dõi của chúng tôi.

Một thay đổi quan trọng khác là chúng tôi sẽ xoá các tiền tố STDEV. Mục đích không phải là sử dụng tiền tố Blink, mà để gắn cờ thời gian chạy (chứ không chỉ cờ thời gian biên dịch).

WebView trên Android là một thách thức lớn, nhưng HTML5Test cho thấy mọi thứ đang trở nên tốt hơn. Chúng tôi gần hơn với máy tính để bàn vì việc có một bộ API nền tảng web ở mọi nơi (Âm thanh web là một ví dụ tuyệt vời về điều này!)

Nhưng máy xúc xích hoạt động như thế nào? Mỗi thay đổi chúng tôi thực hiện với Blink sẽ được chạy ngay lập tức qua hơn 30.000 thử nghiệm, chưa kể tất cả các thử nghiệm Chromium được chạy bổ sung sau đó. Chúng tôi sử dụng tính năng cảnh sát trong 24 giờ, với hàng nghìn bot, hàng nghìn phép đo điểm chuẩn và các hệ thống gửi hàng triệu trang web bị hỏng vào công cụ của chúng tôi để đảm bảo trang web đó hoạt động. Chúng tôi biết rằng tốc độ của thiết bị di động chậm hơn đáng kể và đây là điều mà chúng tôi đang nỗ lực cải thiện.

Vậy có gì mới?

  • Thành phần web: xem bài nói chuyện của Eric Bidelman!
  • Ảnh động trên web: ảnh động phức tạp, được đồng bộ hoá, có hiệu suất cao sử dụng GPU bất cứ khi nào có thể
  • Bố cục một phần: chỉ tính toán những gì bạn cần!
  • Lưới CSS
  • Hình ảnh thích ứng: srcset hoặc srcN hoặc ?
  • Tự động định cỡ văn bản nhanh hơn và phông chữ pixel phụ nhất quán
  • Skia, hệ thống đồ hoạ được Blink sử dụng, sẽ chuyển từ GDI sang DirectWrite trên Windows

Chúng tôi muốn biết những gì bạn muốn nói!

Nếu bạn cảm thấy C++ trong máu và muốn viết C++ bằng chúng tôi, thì tất cả mã của chúng tôi đều mở. Bạn không cần phải báo cho bất cứ ai hoặc truyền bá thông điệp cho chúng tôi. Bạn có thể chỉ cần đăng bản vá hoặc báo cáo lỗi!

Trang trình bày: Nhấp nháy

Bảo mật

Tác giả: Parisa Tabriz

Ngày nay, nhiều người kết nối với web hơn bao giờ hết và từ nhiều nơi hơn.

Chúng ta kết nối với máy tính xách tay, điện thoại và máy tính bảng và có thể sẽ sớm kết nối với các thiết bị và phụ kiện cá nhân. Chúng ta truy cập Internet từ các mạng không đáng tin cậy và thậm chí đôi khi qua các mạng có tính thù địch. Khi có rất nhiều hoạt động chuyển đổi trên mạng, chúng ta bắt buộc phải có biện pháp để bảo vệ dữ liệu của mình và dữ liệu của người dùng.

Trên hết, là các nhà phát triển, chúng tôi cần hiểu sự cần thiết và tính thực tế của SSL.

SSL là gì? Đây là viết tắt của Secure Sockets Layer (Lớp cổng bảo mật) và là một giao thức mã hoá được thiết kế để bảo mật hoạt động giao tiếp qua Internet. Tính năng này đảm bảo quyền riêng tư, thông qua việc mã hoá và tính toàn vẹn, để ngăn chặn hành vi xem trộm hoặc can thiệp vào kết nối Internet của bạn. SSL có một vài thiếu sót, nhưng đó là cách thức hàng đầu – và thực sự là cách duy nhất – để đảm bảo bất kỳ loại bảo mật giao tiếp dữ liệu nào trên Internet.

Theo SSL Pulse, một năm trước, chúng tôi chỉ mới có khoảng 15% sử dụng SSL; hiện nay, chúng tôi đã sử dụng hơn 50%.

Hai từ viết tắt:

  • TLS: dành cho hầu hết các ý định và mục đích đều giống như SSL. Nói một cách chính xác, SSL 3.1 đã được đổi tên thành TLS và TLS là tên tiêu chuẩn của IETF. Nhưng chúng có thể thay thế cho nhau!

  • HTTPS:Đây là HTTP trên SSL, chỉ là lớp về khả năng bảo mật của SSL và HTTP tiêu chuẩn. Trước tiên là giao thức bắt tay máy khách–máy chủ, sử dụng tiêu chuẩn mã hoá khoá công khai/riêng tư để tạo khoá dùng chung – được phần thứ hai của giao thức SSL sử dụng để mã hoá giao tiếp.

Kết nối Internet có thể mang lại cảm giác an toàn, tức thì và nhanh chóng. Cảm giác như chúng ta đang nói chuyện trực tiếp với trang web. Nhưng trên thực tế, đó không phải là kết nối trực tiếp. Hoạt động giao tiếp của chúng tôi đi qua bộ định tuyến wifi, nhà cung cấp dịch vụ Internet (ISP) và có thể là các proxy trung gian khác giữa thiết bị của bạn và trang web. Nếu không có HTTPS, mọi hoạt động trao đổi thông tin của chúng ta đều ở dạng văn bản thuần tuý.

Vấn đề là người dùng hiếm khi nhập URL đầy đủ có chỉ định HTTPS – hoặc họ nhấp vào một đường liên kết bằng HTTP. Tệ hơn, bạn có thể tạo ra một cuộc tấn công xen giữa và thay thế HTTPS bằng HTTP. Công cụ có tên SSLstrip được giới thiệu vào năm 2009 đã thực hiện được điều đó. Firesheep, từ năm 2010, chỉ mới mở mạng Wi-Fi để gửi cookie một cách rõ ràng, nghĩa là người dùng có thể nghe cuộc trò chuyện hoặc đăng nhập vào tài khoản Facebook của ai đó.

Nhưng SSL (tương đối) rẻ, nhanh chóng và dễ dàng triển khai (hãy xem ssllabs.com và sách của Ilya Grigorik về Mạng trình duyệt hiệu suất cao). Tính năng Ghim khoá công khai được thiết kế nhằm cung cấp cho các nhà điều hành trang web một phương thức để hạn chế những tổ chức phát hành chứng chỉ thực sự có thể cấp chứng chỉ cho trang web của họ.

"Vào tháng 1 năm nay (2010), Gmail đã chuyển sang sử dụng HTTPS cho mọi thứ theo mặc định. Để làm được điều này, chúng tôi không phải triển khai máy móc nào khác cũng như không triển khai phần cứng đặc biệt nào. Trên các máy giao diện người dùng sản xuất của chúng tôi, SSL chiếm <1% tải CPU, <10 KB bộ nhớ cho mỗi kết nối và <2% hao tổn mạng...

Nếu bây giờ bạn dừng đọc thì bạn chỉ cần nhớ một điều: SSL không còn tốn kém nhiều năng lực tính toán nữa.”

Công nghệ ép xung SSL, Adam Langley (Google)

Cuối cùng, một số lỗi chúng ta thường gặp nhất:

  • Nội dung hỗn hợp:những trang web sử dụng HTTP cũng như HTTPS. Người dùng của bạn sẽ thấy khó chịu vì họ phải nhấp vào nút quyền để tải nội dung. (Chrome và Firefox thực sự chặn nội dung hỗn hợp từ iframe.) Đảm bảo rằng tất cả các tài nguyên của bạn trên trang HTTPS đều được tải qua HTTPS, bằng cách sử dụng URL tương đối hoặc URL tương đối theo lược đồ, ví dụ: <style src="//foo.com/style.css">
  • Cookie không an toàn: được gửi trong dữ liệu rõ ràng thông qua kết nối HTTP. Hãy tránh điều này bằng cách đặt thuộc tính bảo mật trên tiêu đề cookie. Bạn cũng có thể sử dụng tiêu đề "Bảo mật truyền tải nghiêm ngặt" mới để yêu cầu Bảo mật truyền tải SSL (HSTS).

Cướp lại bóng

  • Nếu quan tâm đến quyền riêng tư và tính toàn vẹn của dữ liệu người dùng, bạn cần sử dụng SSL. Dịch vụ này nhanh hơn, dễ dàng hơn và rẻ hơn bao giờ hết.
  • Hãy tránh các lỗi triển khai phổ biến, chẳng hạn như lỗi nội dung hỗn hợp hoặc không đặt đúng bit tiêu đề HTTP.
  • Sử dụng URL tương đối hoặc lược đồ tương đối.
  • Hãy xem một số tính năng mới thú vị như HSTS và ghim chứng chỉ

Trang trình bày: Bạn đã có SSL chưa?

Media API cho Web nhiều thiết bị

Tác giả: Sam Dutton và Jan Linden

Cùng với sự gia tăng nhanh chóng của các thiết bị và nền tảng mới trên web, chúng ta cũng nhận thấy sự gia tăng đáng kể về âm thanh, video và hoạt động giao tiếp theo thời gian thực. Truyền thông trực tuyến đang làm thay đổi cách chúng ta thưởng thức tất cả các loại nội dung nghe nhìn.

Một nghiên cứu của chính phủ Vương quốc Anh cho thấy 53% người lớn "làm nội dung đa phương tiện" trong khi xem TV: sử dụng thiết bị di động để chia sẻ và xem nội dung đa phương tiện. Ở nhiều quốc gia, hoạt động xem truyền hình giảm xuống và hoạt động xem trực tuyến đang tăng lên. Ví dụ: ở Trung Quốc, năm 2012 chỉ có 30% hộ gia đình ở Bắc Kinh xem TV, giảm so với 70% vào năm 2009. Theo Sự kiện nổi bật của W3C 2013, "Trong năm qua, việc xem video trên thiết bị di động đã tăng gấp đôi. Năm nay ở Hoa Kỳ, thời gian trung bình dành cho truyền thông kỹ thuật số mỗi ngày sẽ vượt quá thời gian xem truyền hình. Việc xem không còn là một hoạt động thụ động nữa. Ở Hoa Kỳ, 87% người tiêu dùng dịch vụ giải trí cho biết họ sử dụng ít nhất một thiết bị màn hình thứ hai trong khi xem TV." Theo Cisco ' video ... sẽ nằm trong khoảng từ 80 đến 90 phần trăm lưu lượng truy cập của người tiêu dùng toàn cầu vào năm 2017'. Con số này tương đương với gần một triệu phút video mỗi giây.

Vậy chúng tôi có những gì cho nhà phát triển web? Hệ sinh thái các API nội dung nghe nhìn dành cho Web mở: các công nghệ được chuẩn hoá, có khả năng tương tác, hoạt động trên nhiều nền tảng.

Cướp lại bóng

  • WebRTC cung cấp giao tiếp theo thời gian thực trong trình duyệt và hiện được hỗ trợ rộng rãi trên thiết bị di động và máy tính để bàn. Tổng cộng đã có hơn 1,2 tỷ điểm cuối WebRTC.
  • Web Audio cung cấp các công cụ tinh vi để tổng hợp và xử lý âm thanh.
  • Web MIDI, được tích hợp với Web Audio, cho phép tương tác với các thiết bị MIDI.
  • Hơn 85% trình duyệt dành cho thiết bị di động và máy tính hiện hỗ trợ các thành phần âm thanh và video.
  • Bạn có thể sử dụng Tiện ích nguồn phương tiện để phát trực tuyến thích ứng và chuyển dịch thời gian.
  • EME cho phép phát nội dung được bảo vệ.
  • Bản chép lời và thành phần bản nhạc cho phép bật phụ đề, phụ đề, siêu dữ liệu được tính thời gian, liên kết sâu và tìm kiếm sâu.

Trang trình bày: API Nội dung nghe nhìn cho Web đa thiết bị