Blink Intents nedir?

Mühendisler Blink oluşturma motorunda değişiklik yapmak istediklerinde devam etmek için onay almak üzere blink-dev posta listesine gönderi paylaşır. Bu posta listesi yayınlarına Blink Amaçları adı verilir.

Chromium tabanlı web tarayıcıları, kodu ve kaynakları görüntüleyip etkileşimde bulunabileceğiniz web sayfalarına dönüştürmek için Blink oluşturma motorunu kullanır.

blink-dev posta listesi.

Blink Amaçlarının nasıl çalıştığını, neden önemli olduğunu ve yeni özelliklerin Blink'e nasıl eklendiğini öğrenin.

Chromium, Chrome'un ve diğer bazı tarayıcılar ile çerçevelerin geliştirildiği açık kaynaklı tarayıcı projesidir. Blink, Chromium tarafından kullanılan oluşturma motorudur.

Yeni bir özelliğin Blink'e eklenmesi için Chromium projesinin açık geliştirme sürecinden geçmesi gerekir. "Yeni özellik", tarayıcı kodunda veya mimarisinde yapılan herhangi bir değişiklik ya da ekleme anlamına gelir. Bu, yeni bir JavaScript API'si, Blink kodunda önemli bir performans iyileştirmesi veya tarayıcının görünümünü ya da işlevini etkileyen başka bir değişiklik olabilir.

Açık ve işbirliğine dayalı bir süreç

Chromium, binlerce katılımcısı olan büyük ve karmaşık bir projedir. Chromium'da değişiklikler olduğunda her aşama, daha geniş web ekosistemini tasarım ve uygulama hakkında yorum yapmaya davet etmek için bir fırsattır.

Mümkün olduğunda yeni özellikler web platformunda birlikte çalışabilir olmalı ve yalnızca bir tarayıcıda uygulanmamalıdır. Web geliştiriciler sürprizlerle karşılaşmak istemez: Tarayıcılar beklendiği gibi çalışmadığında veya farklı tarayıcılar ve platformlar için farklı kodlar yazmak zorunda kaldığınızda. Blink Intents, değişiklik sürecini yapılandırmaya ve düzenlemeye yardımcı olarak değişiklikleri daha öngörülebilir ve daha az sürprizli hale getirir. Bu da web geliştiricileri için faydalıdır.

Tarayıcı satıcıları, kullanıcılar için değişikliklerin web sitelerinin çalışmayı durdurmasına neden olmamasına dikkat etmelidir. Site sahipleri genellikle web sitelerini güncellemeyi bırakır. Bazı siteler onlarca yıldır güncellenmiyor. Tarayıcı sağlayıcılar, bozulmaya neden olabilecek değişiklikler yaparken bunu göz önünde bulundurmalıdır.

Fikirden teklife

Web platformunda yapılacak değişiklik ve güncellemelerle ilgili öneriler, kullanıcılar, işletmeler, tarayıcı mühendisleri, web geliştiriciler ve diğer paydaşlarla yapılan araştırmalara ve görüşmelere dayanır. Bu araştırma, Chrome ekibinin platformda nelerin eksik olduğunu veya nelerin değiştirilmesi gerektiğini belirlemesine olanak tanır. Başlangıçta, web platformundaki bir değişiklik veya yeni özellik önerisi yalnızca bir sayfadaki kelimelerden ibarettir. Mühendisler, meslektaşlarından geri bildirim almak ve onlarla tartışmak için doküman paylaşır.

Örnek: FedCM

GitHub'daki FedCM açıklayıcı belgesi.

Birleşik Kimlik Bilgisi Yönetimi (FedCM), birleşik kimlik olarak bilinen, kullanıcı kaydı ve girişine gizlilik odaklı ve kullanıcı dostu bir yaklaşım sunan bir API'dir. Örneğin, bu durum Google ile oturum açma ve diğer sosyal oturum açma işlemleri için geçerlidir.

Tarayıcı API'si oluşturmak için ilk adım, herkese açık tartışmaya sunulacak bir teklif hazırlamaktır. FedCM'nin önerisi, GitHub'da açıklayıcı olarak yayınlandı. Herkes, açıklayıcı veri deposunda GitHub sorunu oluşturarak özellik tasarımları hakkında soru sorabilir veya yorum yapabilir. Geri bildirimde geliştiricinin ek kullanım alanları, kısıtlamalar, iyileştirme fikirleri veya destek sözüyle ilgili açıklamaları yer alabilir.

Bir teklif, W3C gibi bir standardizasyon kuruluşu tarafından kabul edildikten sonra paydaşlar, W3C Çalışma Grupları gibi web standartları gruplarındaki tartışmalara katılabilir ve sunuları izleyebilir.

Mühendisler yeni bir özellik veya Blink oluşturma motorunda bir değişiklik üzerinde çalışırken her kilometre taşı için blink-dev tartışma grubunda bir gönderi yayınlayarak bir özelliği uygulama yolunda bir sonraki aşamaya geçmeyi planladıklarını açıklarlar. Bu gönderilere "amaçlar" denir. Blink'teki yeni özelliklerle ilgili gelişmelerden haberdar olmak için herkes blink-dev grubuna abone olabilir veya güncellemeler için tek bir özelliğe abone olabilir.

Prototip oluşturma niyeti

Bu noktada Chromium mühendisleri bir özelliği uygulamaya başlayabilir. Bu, özelliğin prototip işlevinin, geliştiricilerin test etmesi için özellik işareti arkasında kullanıma sunulabileceği anlamına gelir. Bu işlev, ilk olarak Chrome Canary'de, ardından diğer yayın kanallarında kullanılabilir. Herhangi bir kullanıcı, tarayıcısında bir özelliği etkinleştirmek ve test etmek için chrome://flags sayfasından bir işaret ayarlayabilir.

Ancak tüm işaretler chrome://flags sayfasından ayarlanamaz. Daha ayrıntılı kontrol için Chrome'u komut satırı işaretlerini kullanarak bir terminalden çalıştırabilirsiniz. Bazı yeni özelliklerin, Chrome Canary'de test için kullanıma sunulana kadar kullanılamayacağını unutmayın. Ancak bu durum oldukça nadirdir. Bazı özelliklerin kendi işareti yoktur ancak experimental-web-platform-features işareti etkinleştirilirse bu özellikler kullanılabilir. Bu durum genellikle en fazla üç ila altı ayda uygulanabilen "küçük" özellikler için geçerlidir.

Prototip hakkında geri bildirim toplama

Yeni bir özelliğin prototipi oluşturulmaya başlandıktan sonra Chromium mühendisleri tartışmaya ve erken denemeye davet eder. Bu noktada geri bildirim almak, teklifleri doğrulamak ve yinelemek için çok önemlidir. Chrome'daki uygulamayla ilgili yorumlarınızı Chromium hataları sayfasında paylaşabilirsiniz.

Chromium Sorun İzleyici'de sorun oluşturun.

Deneme Amacı: Gerçek dünyada test etme

Chrome mühendisleri bir kaynak denemesi çalıştırmak için istekte bulunmak isterse blink-dev'deki bir deneme niyeti gönderisi isteğe bağlı bir sonraki adımdır.

FedCM için deneme yapma amacı.

Kaynak denemeleri, yeni veya deneysel bir web platformu özelliğini test etmenin bir yoludur. Bir özelliğin kaynak denemesine kaydolur ve deneme için bir jeton alırsınız. Bu özellik, jeton sağlayan tüm sayfalarda etkinleştirilir.

Kullanılabilir Chrome kaynak denemelerinin listesi.

Bir özelliğin uygulanmasıyla ilgili ilerleme kaydedilmesi için Blink API sahiplerinin, niyet e-postasına "looks good to me" (bana göre iyi) mesajıyla yanıt vererek onaylaması gerekir. Bu mesaj, LGTM olarak bilinir.

Blink API Sahipleri, web platformu ve API'leri konusunda son derece deneyimli, Blink topluluğu tarafından iyi durumda olduğu kabul edilen ve Blink'in misyon ve değerlerine bağlı olan küçük bir Chromium katkıda bulunanlar grubudur. API sahipleri, özelliklerin uygulamaya geçirilmesi için onay vermenin (veya vermemenin!) yanı sıra Blink Intent sürecini de yönetir.

Deneme isteği, API sahiplerinden en az bir "LGTM" (Looks Good To Me - Bana Göre İyi) onayı almalıdır.

FedCM deneme amaçlı yayını ile ilgili LGTM'ler.

Kaynak denemelerinin değeri

Geliştiriciler, bir özelliğin kaynak denemesine kaydolabilir ve ardından özelliği, kullanıcıların etkinleştirilmesi için herhangi bir işlem yapmasına gerek kalmadan gerçek kullanıcılarla gerçek dünya ortamlarında üretimde test edebilir. Geliştiriciler, testlerinin sonuçlarını paylaşabilir. Bu sonuçlar, özelliği yinelemeye ve geliştirmeye yardımcı olacak değerli içgörüler ve veriler sağlar.

Intent to Ship: Son dönüm noktası

Kullanıma Sunma Niyeti, bir özelliğin artık tamamlandığını ve genel kullanıma sunulmaya hazır olduğunu gösterir. Bu özellik, bir işaret veya deneme jetonu gerektirmeden Chrome'un kararlı sürümündeki tüm kullanıcılar tarafından kullanılabilir. Uygulama işlemine devam edilebilmesi için bir gönderim isteğinin API sahiplerinden üç LGTM alması gerekir.

Yeni özellikleri kullanıma sunuyoruz

Onaylanan özellikler, yakında çıkacak bir sürüme eklenir ve ardından Chrome sürüm kanallarında ilerler. Yeni özelliklerin test edilmesi ve uygulanması genellikle özel bir dikkatle yapılır. Bazı özellikler, kullanıcıların artan bir bölümüne kademeli olarak sunulur. Beklenmedik yan etkiler olması durumunda özellikler geri alınabilir ve yeniden düzenlenebilir.

Kullanımdan kaldırma ve kaldırma işlemlerini yönetme

İki tür Blink amacı daha vardır:

  • Kullanımdan Kaldırma Amacı
  • Kaldırma Amacı

Bunlar biraz üzücü gibi görünse de aslında Blink geliştirmenin başarısı için kritik öneme sahiptir.

Mühendisler, bir özelliğin desteğinin sonlandırılacağını geliştiricilere bildirmeye başlamak istediklerinde Desteği Sonlandırma Niyetini yayınlar. Örneğin, Chrome Geliştirici Araçları konsolunda desteği sonlandırma hakkında destek ve bilgi sağlayarak.

Mühendisler, kodun varsayılan olarak devre dışı bırakılmasını istediğinde Kaldırma Niyeti (Intent to Remove) yayınlanır.

blink.dev'deki kullanımdan kaldırma amaçları için LGTM'ler.

Desteği sonlandırma ve kaldırma işlemlerinin önemi

Desteğin sonlandırılması ve kaldırma, web platformunun sağlığı için kritik öneme sahiptir. Bu sayede Chrome, son kullanıcılar veya web geliştiriciler için iyi çalışmayan özellikleri kaldırabilir ve kod tabanının karmaşıklığını azaltabilir. Örneğin, AppCache'in tasarımındaki sorunlar kararlı tarayıcılarda üretim sitelerinde kullanıldıktan sonra keşfedildi ve API sonunda kaldırıldı. Destek sonlandırmaları ve kaldırmalar, olası saldırı vektörlerini azaltarak Chrome'un güvenli ve emniyetli kalmasına da yardımcı olur.

Tüm Blink amaçlarında olduğu gibi, Chrome ekibi de kararlara dikkatli bir şekilde yaklaşmak için elinden geleni yapar. Devam etmeden önce özellik kullanım oranlarını ve diğer verileri incelerler. Özelliklerin kaldırılması için gereken şartlar aslında çok ağırdır. Bir özellik yalnızca kullanıcıların çok küçük bir kısmı tarafından kullanılıyorsa ve daha iyi alternatifler varsa kaldırılır.

Chrome Status'ta özelliklerin ilerleme durumunu takip edebilir, güncellemeler için abone olabilir, hataları bildirebilir ve diğer kaynakları bulabilirsiniz.

chromestatus.com adresindeki Chrome özelliklerinin yol haritası.

Yeni özellikleri takip etmek için Chromium Blog'u takip edin ve blink-dev tartışma grubuna katılın. Grup, çok sayıda e-postaya neden olabilir. Bu nedenle, tek bir amaca abone olmayı tercih edebilirsiniz. Blink amaçlarının e-tablosunu görüntüleyebilirsiniz.

Blink Intents'i gerçekten beğeniyorsanız otomatik Blink Intent Tracker hizmetlerini de kullanabilirsiniz.

Sonraki adımlar

Chrome sürüm kanalları nedir? başlıklı makaleyi inceleyin.