Chrome Dev Summit - Buka ringkasan platform web

oleh Greg Simon & Eric Seidel

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

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

Hal pertama yang kita lakukan adalah menghapus separuh sumber, yang sebenarnya tidak kita perlukan. Kami masih belum selesai! Dan kami tidak akan buta ini: penghapusan kode didasarkan pada statistik gabungan yang dilaporkan secara anonim dari pengguna Chrome yang memilih ikut serta dalam pelaporan.

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

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

Kemudian, di milis publik kami, kami mengumumkan niat pengiriman.

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 melihat blog Chromium Releases, 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 runtime (dan bukan hanya flag waktu kompilasi).

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

Tapi bagaimana cara kerja mesin sosis? Setiap perubahan yang kami lakukan pada Blink akan langsung dijalankan dengan lebih dari 30.000 pengujian, belum lagi semua pengujian Chromium yang berjalan di lain waktu. Kami menggunakan pelaporan 24 jam, dengan ribuan bot, ribuan tolok ukur, dan sistem yang melempar jutaan halaman web yang rusak ke mesin kami untuk memastikan halaman tersebut tidak terjatuh. Kami tahu bahwa perangkat seluler jauh lebih lambat, dan kami sedang berupaya untuk meningkatkannya.

Jadi, apa yang baru?

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

Kami ingin tahu apa yang kamu katakan!

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

Slide: Berkedip

Keamanan

oleh Parisa Tabriz

Sekarang ini semakin banyak orang yang terhubung ke web daripada sebelumnya – dan dari lebih banyak tempat.

Kita akan terhubung dengan laptop, ponsel, dan tablet, dan mungkin tak lama lagi kita akan terhubung dengan perangkat dan aksesori pribadi. Kita mengakses internet dari jaringan yang tidak terpercaya dan terkadang bahkan jaringan yang berbahaya. Dengan semakin banyaknya kehidupan yang beralih ke online, penting bagi kami untuk mengambil langkah-langkah untuk melindungi data dan data pengguna kami.

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

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

Menurut SSL Pulse, setahun yang lalu kami memiliki hampir 15% adopsi SSL; sekarang kami memiliki lebih dari 50% adopsi.

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 alat-alat ini dapat dipertukarkan!

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

Jaringan di internet dapat terasa aman, seketika, dan cepat. Rasanya seperti kita berbicara langsung ke situs web. Namun pada kenyataannya, itu bukan hubungan langsung. Komunikasi kita dilakukan melalui router Wi-Fi, ISP, dan kemungkinan proxy perantara lainnya antara perangkat dan situs. Tanpa HTTPS, semua komunikasi kita akan berupa teks biasa.

Masalahnya, pengguna jarang mengetik URL lengkap yang mencantumkan HTTPS – atau mereka mengklik link menggunakan HTTP. Lebih buruk lagi, adalah mungkin untuk memasang serangan (wo) man-in-the-middle dan mengganti HTTPS dengan HTTP. Alat bernama SSLstrip yang diperkenalkan pada 2009 dapat melakukan hal itu. Sejak tahun 2010, Firesheep hanya mendengarkan jaringan Wi-Fi terbuka untuk cookie yang dikirim secara jelas: itu berarti Anda dapat mendengarkan di obrolan, atau masuk ke akun Facebook seseorang.

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

"Pada bulan Januari tahun ini (2010), Gmail beralih menggunakan HTTPS untuk semuanya secara default. Untuk melakukan ini, kami tidak perlu memasang komputer tambahan dan tidak ada perangkat keras khusus. Di mesin frontend produksi kami, SSL menyumbang < 1% beban CPU, < 10 KB memori per koneksi, dan < 2% overhead jaringan...

Jika 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 kita temui:

  • Konten campuran: situs yang menggunakan HTTP dan 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 oleh HTTPS, dengan menggunakan URL relatif atau relatif skema, misalnya <style src="//foo.com/style.css">
  • Cookie tidak aman: dikirim secara transparan melalui koneksi HTTP. Hindari hal ini dengan menetapkan atribut aman di header cookie. Anda juga dapat menggunakan header "Strict Transport Security" baru untuk mewajibkan SSL Transport Security (HSTS).

Takeaway

  • Jika Anda peduli dengan privasi dan integritas data pengguna, Anda harus menggunakan SSL. Kini lebih cepat, lebih mudah, dan lebih murah dari sebelumnya.
  • Hindari kesalahan implementasi umum, seperti bug konten campuran atau tidak menyetel bit header HTTP yang tepat.
  • Gunakan URL relatif atau relatif skema.
  • Lihat beberapa hal keren baru, seperti HSTS dan penyematan sertifikat

Slide: Sudah memiliki SSL?

API Media untuk Web multiperangkat

oleh Sam Dutton & Jan Linden

Seiring dengan banyaknya perangkat dan platform baru di web, kami melihat perkembangan pesat 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 melakukan 'multi-tasking' 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 meningkat dua kali lipat. Tahun ini di AS, waktu rata-rata yang dihabiskan dengan media digital per hari akan melampaui menonton TV. Melihat bukan lagi tindakan pasif. Di AS, 87% konsumen hiburan mengatakan bahwa mereka menggunakan minimal satu perangkat layar kedua saat menonton televisi.' Menurut Cisco, 'video ... akan mencakup 80 hingga 90 persen traffic konsumen global pada tahun 2017'. Itu setara dengan hampir satu juta menit video setiap detik.

Jadi, apa yang kita miliki untuk pengembang web? Ekosistem API media untuk Web terbuka: teknologi terstandardisasi dan memiliki interoperabilitas yang berfungsi di berbagai platform.

Takeaway

  • 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 Web Audio, 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 terjadwal, deep linking, dan penelusuran mendalam.

Slide: Media API untuk Web multiperangkat