Chrome Dev Summit - Buka ringkasan platform web

oleh Greg Simon & Erik Seidel

Blink adalah mesin rendering open source Chrome. Tim Blink mengembangkan web dan menangani masalah yang dihadapi oleh developer.

Ada sejumlah peningkatan di balik layar yang dimulai sejak peluncuran pada bulan April.

Hal pertama yang kami lakukan adalah menghapus separuh sumber, yang sebenarnya tidak diperlukan. Kita masih belum selesai! Dan kami tidak menerapkan hal ini: penghapusan kode didasarkan pada statistik gabungan yang dilaporkan secara anonim dari pengguna Chrome yang memilih untuk ikut serta dalam pelaporan.

Kami memublikasikan API developer baru setiap enam minggu: sama seperti jadwal pengiriman Chrome.

Satu perubahan besar yang kami buat saat beralih dari Blink adalah menambahkan sistem intent: setiap kali sebelum kami akan mengubah platform web, kami mengirim pengumuman publik ke Blink dev yang mengumumkan niat kami untuk menambahkan atau menghapus fitur. Lalu kita mulai, dan kita membuat kodenya. Dan keesokan harinya setelah fitur tersebut diperiksa, sudah ada pengiriman di build Canary kami. Fitur ini dinonaktifkan secara default, tetapi Anda dapat mengaktifkannya menggunakan about:flags.

Kemudian, di milis publik, kami mengumumkan niat untuk mengirim.

Di chromestatus.com, Anda dapat melihat fitur yang telah kami kerjakan, fitur yang telah kami kirimkan, dan fitur yang akan kami hentikan penggunaannya. Anda juga dapat memeriksa blog Chromium Release, yang memiliki link ke bug dan ke dasbor pelacak kami.

Perubahan besar lainnya adalah kami menghapus awalan WebKit. Tujuannya bukan untuk menggunakan awalan Blink, tetapi untuk memiliki flag run-time (dan bukan hanya flag waktu kompilasi).

Android WebView telah menjadi tantangan besar – tetapi HTML5Test menunjukkan bahwa segala sesuatunya menjadi lebih baik. Kami jauh lebih dekat dengan desktop dalam hal memiliki satu set API platform web di mana saja (Audio Web adalah contoh yang bagus dari hal ini!)

Tapi bagaimana cara kerja mesin sosis? Setiap perubahan yang kami buat pada Blink langsung dijalankan lebih dari 30.000 pengujian, belum lagi semua pengujian Chromium yang dijalankan setelahnya. Kami menggunakan sistem informasi 24 jam, dengan ribuan bot, ribuan tolok ukur, dan sistem yang menampilkan jutaan halaman web rusak ke mesin kami untuk memastikan bahwa hal ini tidak terjadi. Kami menyadari bahwa layanan seluler lebih lambat secara signifikan, dan ini adalah sesuatu yang sedang kami upayakan untuk terus ditingkatkan.

Jadi, apa yang baru?

  • Komponen Web: lihat pembahasan Eric Bidelman!
  • Animasi Web: animasi berperforma tinggi yang kompleks, disinkronkan, dan menggunakan GPU jika memungkinkan
  • Tata Letak Sebagian: hanya hitung apa yang Anda butuhkan.
  • Petak CSS
  • Gambar responsif: srcset atau srcN atau ?
  • Pengubahan ukuran teks otomatis yang lebih cepat, dan font sub-piksel yang konsisten
  • Skia, sistem grafis yang digunakan Blink, beralih dari GDI ke DirectWrite di Windows

Kami ingin tahu pendapat Anda!

Jika Anda merasa C++ dalam darah Anda dan ingin menulis C++ bersama kami, semua kode kami terbuka. Anda tidak perlu memberi tahu siapa pun atau menginjil kepada kami. Anda cukup memposting patch atau melaporkan bug.

Slide: Berkedip

Keamanan

oleh Parisa Tabriz

Saat ini, makin banyak orang yang terhubung ke web dibandingkan sebelumnya – dan dari lebih banyak tempat.

Kita terhubung dengan laptop, ponsel, dan tablet, dan mungkin tidak lama lagi dengan perangkat dan aksesori pribadi. Kita mengakses internet dari jaringan yang tidak tepercaya dan kadang-kadang bahkan berbahaya. Dengan begitu banyaknya kehidupan yang digunakan online, penting bagi kami untuk mengambil langkah-langkah untuk melindungi data kami dan keamanan layanan otomatis dan data skalabel.

Yang terpenting, sebagai developer, kita perlu memahami kebutuhan dan kepraktisan SSL.

Apa itu SSL? Singkatan dari Secure Socket Layer, dan ini adalah protokol kriptografi yang dirancang untuk memberikan keamanan komunikasi melalui internet. Layanan ini menjamin privasi, melalui enkripsi dan integritas, untuk mencegah pengintaian atau gangguan koneksi internet Anda. SSL memiliki kekurangan, tetapi ini adalah cara terdepan – dan benar-benar satu-satunya cara – untuk memastikan segala jenis keamanan komunikasi data di internet.

Menurut SSL Pulse, setahun yang lalu, kami mendapatkan sekitar 15% penggunaan SSL; kini kami telah mengadopsi lebih dari 50%.

Dua akronim:

  • TLS: untuk sebagian besar intent dan tujuan sama seperti SSL. Tepatnya, SSL 3.1 diganti namanya menjadi TLS, dan TLS adalah nama Standar IETF. Tapi keduanya dapat dipertukarkan.

  • HTTPS: ini adalah HTTP melalui SSL, yang hanya memberikan lapisan kemampuan keamanan SSL dan HTTP standar. Pertama, handshake klien-server, yang menggunakan kriptografi kunci publik/pribadi untuk membuat kunci bersama – yang digunakan oleh bagian kedua protokol SSL untuk mengenkripsi komunikasi.

Jaringan di internet mungkin terasa aman, seketika, dan cepat. Rasanya seperti kami berbicara langsung dengan situs tersebut. Namun pada kenyataannya, ini bukan koneksi langsung. Komunikasi kita dilakukan melalui router wifi, ISP, dan kemungkinan proxy perantara lainnya antara perangkat Anda dan situs. Tanpa HTTPS, semua komunikasi kita dalam bentuk teks biasa.

Masalahnya, pengguna jarang mengetik URL lengkap yang mencantumkan HTTPS – atau mereka mengklik link menggunakan HTTP. Selain itu, Anda dapat memasang serangan (wo)man-in-the-middle dan mengganti HTTPS dengan HTTP. Alat yang disebut SSLstrip yang diperkenalkan pada 2009 melakukan hal itu. Firesheep, sejak 2010, baru saja mendengarkan jaringan Wi-Fi terbuka untuk cookie yang dikirim secara jelas: itu berarti Anda dapat mendengarkan melalui obrolan, atau masuk ke akun Facebook seseorang.

Namun SSL (relatif) murah, cepat, dan mudah di-deploy (lihat ssllabs.com dan buku Ilya Grigorik dalam bukunya High Performance Browser Networking). Penyematan Kunci Publik dirancang untuk membantu operator situs membatasi certificate authority yang dapat menerbitkan sertifikat bagi situs mereka.

"Pada bulan Januari tahun ini (2010), Gmail beralih menggunakan HTTPS untuk semuanya secara default. Untuk melakukannya, kita tidak perlu men-deploy komputer tambahan dan hardware khusus. Di mesin frontend produksi kami, SSL akun untuk < 1% dari beban CPU, < Memori 10 KB per koneksi, dan < 2% dari overhead jaringan...

Jika Anda berhenti membaca sekarang, Anda hanya perlu mengingat satu hal: SSL tidak lagi mahal secara komputasi.”

Overclocking SSL, Adam Langley (Google)

Terakhir, beberapa bug yang paling sering kami lihat:

  • Konten campuran: situs yang menggunakan HTTP serta HTTPS. Pengguna Anda akan kesal karena mereka harus mengklik tombol izin untuk memuat konten. (Chrome dan Firefox sebenarnya melarang konten campuran dari iframe.) Pastikan semua resource Anda di halaman HTTPS dimuat dengan HTTPS, dengan menggunakan URL relatif atau URL relatif skema misalnya <style src="//foo.com/style.css">
  • Cookie tidak aman: dikirim di clear melalui koneksi HTTP. Hindari masalah ini dengan menyetel atribut aman di header cookie. Anda juga dapat menggunakan "Strict Transport Security" yang baru header untuk mewajibkan SSL Transport Security (ICANN).

Poin-poin penting

  • Jika Anda mementingkan privasi dan integritas pengguna data, Anda harus menggunakan SSL. Lebih cepat, lebih mudah, dan lebih murah daripada sebelumnya.
  • Hindari masalah implementasi umum, seperti bug konten campuran atau tidak menetapkan bit header HTTP yang benar.
  • Gunakan URL relatif atau URL relatif skema.
  • Lihat beberapa fitur baru yang keren, seperti {/7} dan penyematan sertifikat

Slide: Sudah mengerti SSL?

Media API untuk Web multiperangkat

oleh Sam Dutton & Jan Linden

Seiring dengan banyaknya perangkat dan platform baru di web, kami melihat pertumbuhan besar dalam komunikasi audio, video, dan realtime. Media online mengubah cara kita mengonsumsi semua jenis media.

Sebuah studi pemerintah Inggris Raya menemukan bahwa 53% orang dewasa 'media multi-task' saat menonton TV: menggunakan perangkat seluler untuk berbagi dan mengonsumsi media. Di banyak negara, penayangan TV menurun dan penayangan online meningkat. Di China, misalnya, pada tahun 2012 hanya 30% rumah tangga di Beijing yang menonton TV, turun dari 70% pada tahun 2009. Menurut W3C Highlights 2013, 'Dalam setahun terakhir, menonton video di perangkat seluler telah meningkat dua kali lipat. Tahun ini di Amerika Serikat, waktu rata-rata yang dihabiskan untuk mengakses media digital per hari akan melebihi jumlah menonton TV. Melihat tidak lagi merupakan tindakan pasif. Di Amerika Serikat, 87% konsumen hiburan mengatakan bahwa mereka menggunakan minimal satu perangkat layar kedua saat menonton televisi.' Menurut Cisco 'video ... akan berada di kisaran 80 hingga 90 persen traffic konsumen global pada tahun 2017'. Itu setara dengan hampir satu juta menit video setiap detiknya.

Jadi, apa yang kami miliki untuk pengembang web? Ekosistem API media untuk Web terbuka: teknologi terstandarisasi dengan interoperabilitas yang bekerja di berbagai platform.

Poin-poin penting

  • WebRTC menyediakan komunikasi realtime di browser, dan kini didukung secara luas di perangkat seluler dan desktop. Secara total, sudah ada lebih dari 1,2 miliar endpoint WebRTC.
  • Audio Web menyediakan alat canggih untuk sintesis dan pemrosesan audio.
  • Web MIDI, yang terintegrasi dengan Audio Web, memungkinkan interaksi dengan perangkat MIDI.
  • Elemen audio dan video kini didukung di lebih dari 85% browser seluler dan desktop.
  • Ekstensi Sumber Media dapat digunakan untuk streaming adaptif dan pergeseran waktu.
  • EME memungkinkan pemutaran konten yang dilindungi.
  • Transkrip, teks, dan elemen trek memungkinkan subtitel, teks, metadata berwaktu, deep linking, dan penelusuran mendalam.

Slide: API Media untuk Web multiperangkat