Understanding Storage Quota | Workbox — ⭐
Jeff Posnick menulis, wrt to Workbox
A common source of unexpectedly high quota usage is due to runtime caching of opaque responses, which is to say, cross-origin responses to requests made without CORS enabled.
Browsers automatically inflate the quota impact of those opaque responses as a security consideration. In Chrome, for instance, even an opaque response of a few kilobytes will end up contributing around 7 megabytes towards your quota usage.
Pekerja Layanan adalah bagian yang luar biasa dan integral dari ekosistem web, tetapi masih ada beberapa gotchas - dan ini adalah salah satu dari mereka yang dapat menggigit Anda jika Anda tidak mengetahui hal ini sebelumnya.
Sangat menyenangkan melihat alat seperti Workbox dapat menangani ini dan memberi tahu Anda sehingga Anda tahu apa yang terjadi.
Emscripten's compiled Web Assembly, used minimally — ⭐
Sam Thorogood di Dev.to menulis,
Why did I write this post? Emscripten is a wonderful tool, but it has a long history (for asm.js), and isn’t perfect. I think it errs too much on the side of “magic”, and many posts rave about how it’s so easy to EMASM or use binding-fu, but this all comes at a cost, and can introduce huge amounts of inadvertent overhead—think copying huge memory buffers around because we’re trying to make them immutable or easily exposed.
Every language that is being compiled to Web Assembly needs a runtime—whether it be Go, or Rust, or C/C++ as we have here. I don’t believe that we’ll ever really be able to directly import Web Assembly via ES2015 modules, at least not without changes on the JS side. But it behooves us to write the smallest one we possibly can.
Saya pikir kita semua melihat potensi wasm, sedikit bagi banyak dari kita banyak platform lain yang sekarang dapat datang ke web benar-benar asing bagi kita, dan kita benar-benar perlu mempelajari alat-alat itu, meningkatkan pengalaman pengembang wasm dan imo menawarkan pustaka prebuilt yang ‘web devs tradisional’ dapat digunakan.
Designing with the Gestalt principles — ⭐
Mustafa untuk Google Chrome, di Dev-Channel menulis,
The Gestalt principles are a series of laws that are used to explain why human beings naturally find organized patterns in objects they see around them. The goal with the principles was to explain why we group objects in some ways but not others.
There are many different principles, but here I am going to look at the ones that effect grouping, these are; proximity, similarity, common fate, continuity, closure, and prägnanz.
Web Share Target API
Share Target API is now in Chrome breaking down one of the last silos of native platforms
onappinstalled - for when an app is installed.
Use onappinstalled to detect when a progressive web app is installed.
Bookmarklet: Chrome DevTools trace page
A simple bookmarklet that will performance trace the current page and open in an hosted devtools instance
Hosting Puppeteer in a Docker container
A simple docker container that can host an instance of puppeteer and a custom app.
domcurl: curl + JavaScript
A curl-like utitly that runs JavaScript
Using CSP Nonces effectively with service worker
CSP nonce values can help you securely run inline content on you site. But it can be hard to get it working with Service Workers... until now.
Breaking down silos by sharing more on the web
Artikel ini lebih dari satu tahun terlambat. Itu terjebak dalam draf saya untuk waktu yang lama, namun saya pikir idenya adalah sesuatu yang perlu kita selesaikan pada 2018. Juga ternyata masalah lain muncul pada tahun lalu yang membuatnya sedikit lebih relevan. Saya berada di Indonesia pada awal 2016 dengan iseng mengobrol dengan pengembang dan muncul dalam percakapan bahwa web kacau (mereka adalah kata-kata harfiah). Inti permasalahannya adalah pengguna hari ini, dan khususnya pengguna yang baru datang online untuk pertama kalinya, menciptakan konten di dalam silo.
The Web is my API
Michael Mahemoff mengajari saya banyak tentang kemungkinan web. Sebelum bekerja dengan Mike yang saya buat di web dan saya memahami manfaatnya seperti keterkaitan dan penemuan, tetapi saya tidak pernah benar-benar memiliki gambaran lengkap tentang apa yang mungkin terjadi. Satu hal yang Mike katakan adalah “Web adalah API saya”, di mana dia berbicara tentang kemampuan untuk mengekspos situs Anda dan data Anda di suatu halaman melalui mikroformat dan data terstruktur lainnya dan dapat mengaksesnya secara langsung dari konteks browser lain, menggunakan XMLHttpRequest sederhana dan API CORS:
Reinventing Web Intents
Saya tidak pernah melupakan kematian Web Intents. Saya selalu merasa bahwa masih ada masalah serius di web, kami membangun silo yang mengunci pengguna ke satu situs web dan kami tidak menghubungkan aplikasi kami bersama untuk membangun pengalaman yang lebih kaya. Kami memiliki tautan yang memungkinkan kami menavigasi ke situs lain, tetapi kami tidak menghubungkan aplikasi kami dengan fungsi yang dapat kami gunakan di situs kami. Baik itu memilih gambar dari layanan cloud untuk digunakan di aplikasi Anda, atau mengedit gambar di editor pilihan pengguna; kami hanya tidak menghubungkan layanan kami dengan cara kami menautkan halaman kami.
Web sites as unintended silos: The problem with getting data in and out of the web client
It's nearly impossible to get consistent get data in and out of a web app on the client
Progressive Progressive Web Apps
Building Progressive Web Apps progressively is possible. This is how I did it.
Building a simple PubSub system in JavaScript
Dalam proyek baru-baru ini, membangun layanan web push Saya ingin UI saya menanggapi acara tingkat aplikasi (secara semantis jika Anda mau) karena ada beberapa komponen yang memerlukan informasi dari sistem tetapi tidak tergantung satu sama lain dan saya ingin mereka dapat mengelola diri mereka sendiri terlepas dari ‘logika bisnis’. Saya melihat ke banyak alat yang berbeda untuk membantu saya, tetapi karena saya sering memiliki kasus sindrom NIH yang berat dan fakta bahwa saya pikir orang dapat menerapkan elemen infrastruktur mereka sendiri dengan cukup cepat, saya memutuskan untuk dengan cepat melumpuhkan klien-sederhana layanan PubSub samping & mdash; itu bekerja cukup baik untuk kebutuhan saya.
Barcode detection using Shape Detection API
Minggu yang lain saya berbicara tentang Deteksi Wajah melalui API Bentuk yang ada di saluran Canary di Chrome. Sekarang deteksi barcode ada di Chrome Canary juga (Miguel adalah pahlawan saya;) Barcode sangat besar! mereka berada di hampir setiap produk yang kami beli. Bahkan yang banyak difitnah QRCode sangat besar di luar AS dan Eropa. Barcode dan QRcode menyediakan cara sederhana bagi Anda untuk menjembatani dunia fisik dan dunia digital dengan mentransfer sejumlah kecil data antara media dan Anda.
Ideas for web apps with FFMPEG and ffmpeg.js
Saya baru-baru ini membangun Progressive Web App yang mengambil screencast dari perangkat Android Anda dan kemudian membungkus video dalam bingkai perangkat menggunakan FFMPEG.js seperti: Saya juga berhasil memilah membangun ffmpeg.js sehingga dengan relatif mudah, buat build yang dioptimalkan khusus dari ffmpeg dan jalankan di browser. Dua hal bersama-sama saya pikir menghadirkan banyak peluang untuk membangun beberapa Progressive Web Apps kecil baru yang mendorong apa yang menurut kami web mampu berkenaan dengan memanipulasi audio dan video.
Building ffmpeg.js for Ubuntu
FFMPEG.js adalah proyek luar biasa dan membantu saya membangun salah satu proyek terbaru saya: Kerangka Perangkat. Ini pada dasarnya membangun ffmpeg (dengan set default yang bagus untuk menjaga ukuran kecil & mdash; sekecil mungkin). Jika build default tidak mendukung filter dan pembuat enkode yang Anda butuhkan, maka Anda harus membuatnya sendiri. Ini lebih merupakan catatan untuk saya di masa depan, tetapi inilah yang saya lakukan untuk membuatnya bekerja. (Catatan: Saya mencoba di macOS sierra dan mendapatkan kesalahan kompilasi).
SLICE: The Web
What are the properties that make the web the web? How can we keep differentiating from native to stay relevant in a mobile world?
Goodbye Jekyll, Hello Hugo
Ruby frustrations and performance have frustrated me for a long time. Experimented with Hugo and ported blog in about 3 hours