Chrome Dev Summit - Buka ringkasan platform web

oleh Greg Simon & Eric Seidel

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

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

Hal pertama yang kami lakukan adalah menghapus setengah sumber, yang tidak terlalu diperlukan. Kita belum selesai. Kami tidak melakukannya secara membabi buta: 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.

Salah satu perubahan besar yang kami buat saat melakukan fork dari Blink adalah menambahkan sistem intent: setiap kali sebelum mengubah platform web, kami mengirimkan pengumuman publik ke developer Blink yang mengumumkan niat kami untuk menambahkan atau menghapus fitur. Kemudian, kita akan mulai membuat kodenya. Kemudian, keesokan harinya setelah fitur diperiksa, fitur tersebut sudah dikirim dalam build Canary kami. Fitur ini dinonaktifkan secara default, tetapi Anda dapat mengaktifkannya menggunakan about:flags.

Kemudian, di daftar mailing publik, kami mengumumkan niat untuk mengirimkan.

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

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

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

Namun, bagaimana cara kerja mesin sosis? Setiap perubahan yang kami buat pada Blink akan segera dijalankan melalui lebih dari 30.000 pengujian, belum lagi semua pengujian Chromium yang dijalankan secara terpisah nanti. Kami menggunakan pengawasan 24 jam, dengan ribuan bot, ribuan benchmark, dan sistem yang mengirimkan jutaan halaman web yang rusak ke mesin kami untuk memastikannya tidak mengalami error. Kami tahu bahwa perangkat seluler jauh lebih lambat, dan kami berupaya keras untuk meningkatkannya.

Jadi, apa yang baru?

  • Komponen Web: lihat presentasi Eric Bidelman.
  • Animasi Web: animasi kompleks, sinkron, dan berperforma tinggi yang menggunakan GPU jika memungkinkan
  • Tata Letak Sebagian: hanya komputasi yang Anda butuhkan.
  • Petak CSS
  • Gambar responsif: srcset atau srcN atau ?
  • Pengukuran otomatis 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 pendapat Anda.

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

Slide: Blink

Keamanan

oleh Parisa Tabriz

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

Kita terhubung dengan laptop, ponsel, dan tablet, dan mungkin dalam waktu dekat dengan perangkat dan aksesori pribadi. Kita mengakses internet dari jaringan yang tidak tepercaya dan terkadang bahkan jaringan yang tidak bersahabat. Dengan banyaknya aspek kehidupan kita yang dikelola secara online, kita harus mengambil langkah-langkah untuk melindungi data kita dan data pengguna.

Di atas segalanya, sebagai developer, kita perlu memahami perlunya dan kepraktisan SSL.

Apa itu SSL? SSL adalah singkatan dari Secure Sockets Layer, dan merupakan protokol kriptografis yang dirancang untuk memberikan keamanan komunikasi melalui internet. Fitur ini menjamin privasi, melalui enkripsi dan integritas, untuk mencegah penyadapan atau gangguan pada koneksi internet Anda. SSL memiliki kekurangan, tetapi ini adalah cara utama – dan benar-benar satu-satunya cara – untuk memastikan keamanan komunikasi data apa pun di internet.

Menurut SSL Pulse, setahun yang lalu kami memiliki adopsi SSL sekitar 15%. Sekarang, adopsi SSL kami sudah lebih dari 50%.

Dua akronim:

  • TLS: untuk sebagian besar tujuan dan maksud sama dengan SSL. Secara tepatnya, SSL 3.1 diganti namanya menjadi TLS, dan TLS adalah nama Standar IETF. Namun, keduanya 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.

Berjaringan di internet mungkin terasa aman, langsung, dan cepat. Rasanya seperti kita berbicara langsung ke situs. Namun, pada kenyataannya, koneksi ini tidak langsung. Komunikasi kami dilakukan melalui router Wi-Fi, ISP, dan kemungkinan proxy perantara lainnya antara perangkat Anda dan situs. Tanpa HTTPS, semua komunikasi kita akan berupa teks biasa.

Masalahnya, pengguna jarang mengetik URL lengkap yang menentukan HTTPS – atau mereka mengklik link menggunakan HTTP. Lebih buruk lagi, serangan man-in-the-middle dapat dilakukan dan HTTPS dapat diganti dengan HTTP. Alat yang disebut SSLstrip yang diperkenalkan pada tahun 2009 melakukan hal tersebut. Firesheep, sejak tahun 2010, hanya mendengarkan jaringan Wi-Fi yang terbuka untuk cookie yang dikirim secara jelas: artinya Anda dapat mendengarkan chat, atau login ke akun Facebook seseorang.

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

"Pada Januari tahun ini (2010), Gmail beralih untuk menggunakan HTTPS untuk semua hal secara default. Untuk melakukannya, kita tidak perlu men-deploy mesin tambahan dan hardware khusus. Di mesin frontend produksi kami, SSL menyumbang < 1% beban CPU, < 10 KB memori per koneksi, dan < 2% 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 dan HTTPS. Pengguna akan merasa 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 jelas melalui koneksi HTTP. Hindari hal ini dengan menetapkan atribut aman pada header cookie. Anda juga dapat menggunakan header "Strict Transport Security" baru untuk mewajibkan SSL Transport Security (HSTS).

Poin-poin penting

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

Slide: Memiliki SSL?

Media API untuk Web multiperangkat

oleh Sam Dutton & Jan Linden

Seiring dengan proliferasi perangkat dan platform baru di web, kami melihat pertumbuhan yang sangat besar dalam komunikasi audio, video, dan real-time. Media online mengubah cara kita mengonsumsi berbagai jenis media.

Studi pemerintah Inggris Raya menemukan bahwa 53% orang dewasa 'melakukan multitasking media' saat menonton TV: menggunakan perangkat seluler untuk berbagi dan menikmati 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 Sorotan W3C 2013, 'Dalam setahun terakhir, penontonan video di perangkat seluler telah meningkat dua kali lipat. Tahun ini di Amerika Serikat, waktu rata-rata yang dihabiskan untuk media digital per hari akan melampaui waktu menonton TV. Menonton tidak lagi menjadi tindakan pasif. Di Amerika Serikat, 87% konsumen hiburan mengatakan bahwa mereka menggunakan setidaknya satu perangkat layar kedua saat menonton televisi.' Menurut Cisco, 'video ... akan berada dalam rentang 80 hingga 90 persen traffic konsumen global pada tahun 2017'. Jumlah ini setara dengan hampir satu juta menit video setiap detik.

Jadi, apa yang kami miliki untuk developer web? Ekosistem API media untuk Web terbuka: teknologi standar yang interoperabilitas dan berfungsi di beberapa platform.

Poin-poin penting

  • WebRTC menyediakan komunikasi real-time di browser, dan kini didukung secara luas di perangkat seluler dan desktop. Secara total, sudah ada lebih dari 1,2 miliar endpoint WebRTC.
  • Web Audio 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 berwaktu, deep linking, dan penelusuran mendalam.

Slide: Media API untuk Web multiperangkat