Chrome Geliştirici Zirvesi 2014 - Polimer - Birliğin durumu

Polymer ve Web Bileşenleri son zamanlarda çok popüler konular. Bu ekosistem hızla geliştiğinden, geliştiricilerin en son değişikliklerden haberdar olması genellikle zor olabilir.

Polymer ekibinin mühendislik yöneticisi Matt McNulty, Chrome Dev Summit'te yaptığı konuşmada Polymer'in ne olduğunu açıkladı ve Polymer 1.0'a giden yol haritasını özetledi.

Polymer nedir?

Öncelikle, Polymer tam olarak nedir?

Polymer, web bileşenlerinden öğe ve uygulamalar oluşturmanıza yardımcı olan bir kitaplıktır. Web bileşenleri, geliştiricilerin HTML kelime hazinesini kendi özel öğeleriyle genişletmesine olanak tanıyan son teknoloji bir yeni standartlar grubudur.

Polymer, geliştiricilerin daha hızlı uygulama oluşturmasına yardımcı olur

Web bileşenleri, tarayıcı için yeni bir ilkel öğe olarak tasarlandığından çok güçlü ancak aynı zamanda çok düşük düzeydedir ve bunlarla çalışmak için oldukça fazla kod gerekir.

Polymer, Web Bileşenlerini daha da kullanışlı hale getiriyor

Polymer, söz dizimi için "şekerleme" yaparak Web Bileşenleri ile çalışmayı kolaylaştırır. Yazmanız gereken standart kod miktarını azaltır ve Web bileşenleri oluşturmayı HTML yazmak kadar kolay hale getiren açıklayıcı bir stil ekler.

The Polymer Experiment

Polymer, Web bileşeni standartlarını polyfill ile doldurup dolduramayacağımızı görmek ve bu teknolojiler tüm tarayıcılara dağıtılmadan önce geliştiricilerden geri bildirim almak için bir deneme olarak başladı. Daha fazla geliştirici Polymer'i kullanmaya başladıkça, Polymer yalnızca polyfill olmaktan çıkıp üretkenlik özellikleriyle (veri bağlama, özellik değişikliği izleyicileri, otomatik düğüm bulma vb.) dolu gerçek bir kitaplığa dönüştü. Ancak tüm denemelerin sonuçları vardır. Peki, bu deneme nasıl sonuçlandı?

Polimer rapor kartının iyileştirilmesi gerekiyor

Birçok geliştirici, Polymer'da Web Bileşenleri ile çalışmanın ifade gücünden ve üretkenlik kazanımlarından memnun olduğunu belirtirken performans ve genel karmaşıklıkla ilgili endişelerini de dile getirdi.

Bu, Polymer'in başından beri yaşadığı doğal bir gerginliği vurgular: Web platformunu ileriye taşımak için bir deneme olmakla birlikte, geliştiricilerin güvenebileceği üretime uygun bir şey oluşturmak.

Yapılacak Değişiklikler

Polymer ekibi, geliştiricilerin güvenle kullanabileceği daha basit ve üretime hazır bir sürüm oluşturmak amacıyla kitaplığın her özelliğini ayrıntılı bir şekilde inceledi.

Katmanlar

Polymer, bir dizi katmana yeniden yapılandırıldı. Temel özellikler hızlı ve basittir. Daha gelişmiş özellikler ise etkinleştirilmelidir. Çoğu kullanım alanında, temel özellikler geliştiricilerin ihtiyaçlarını karşılamalıdır.

Polymer, katmanlara göre yeniden yapılandırıldı

Basitleştirilmiş Veri Bağlama

Polymer'in veri bağlama sistemi de performans açısından önemli ölçüde optimize edilmiştir. Katmanlı yaklaşımı takiben, iki yönlü bağlama artık etkinleştirilmesi gereken bir özelliktir. Varsayılan olarak tek yönlü bağlamalar kullanılır. Ayrıca, yayınlanan mülk türleri açık hale getirildi ve mülk değişikliği artık farklı kitaplıklardaki öğelerin daha kolay iletişim kurmasına yardımcı olmak için bir etkinlik tetikler.

Veri bağlama basitleştirildi

Daha az yer kaplayan gölge DOM

Gölge DOM polyfill'i, mühendislik açısından inanılmaz bir başarıdır. Kapsamlı ve spesifikasyonlara uygun olacak şekilde tasarlanmıştır. Bu, platform ilkelini kapsamlı bir şekilde test etmek için önemlidir ancak maalesef Polymer'in kullanmadığı özelliklerde bir dizi performans darboğazı oluşturur.

Polymer'in bir sonraki sürümünde, yalnızca Polymer'in ihtiyaç duyduğu polyfill'leri sağlayan bir dolgu katmanı kullanılarak farklı bir yaklaşım benimsenecek.

Shim gölge alanı çok daha hızlıdır

Mevcut polyfill, Polymer olmayan genel web bileşenleri için kullanılmaya devam edecektir.

webcomponents.org'a taşınma

Polifill'lerden bahsetmişken, bunlar da yeni bir eve taşınıyor. Şu anda birçok geliştirici, Polymer ile Web Bileşenleri arasındaki ilişki konusunda kafa karışıklığı yaşıyor. Bazıları, Web Bileşenleri'ni kullanmak için Polymer'in tamamını kullanmanız gerektiğini düşünür. Ancak aslında yalnızca polyfill'lere ihtiyacınız vardır.

Bu ayrımı daha net hale getirmek için polyfill'ler webcomponents.org'a taşınıyor ve webcomponents.js olarak yeniden adlandırılıyor.

Polyfill'ler webcomponents.org'a taşınıyor

Bu değişiklik, diğer kitaplık yazarlarının polyfill'lerden herhangi bir karışıklık yaşamadan yararlanmasına yardımcı olmak için tasarlanmıştır. Polymer ekibi, polyfill'lere katkıda bulunmaya devam edecek. Ancak bu değişikliğin, polyfill'leri topluluk için daha paylaşılan bir kaynak haline getirmesini umuyoruz.

Sonuçlar

Peki tüm bu değişikliklerin sonuçları ne oldu?

Hız

Chrome'da Polymer artık 5 kat daha hızlı, Safari'de ise 8 kat daha hızlı.

Polymer artık Safari'de 8 kat daha hızlı

Dosya Boyutu

Dosya boyutu da 123 KB'tan 15 KB'a (gzip ile sıkıştırılmış 6 KB) düşerek %87 oranında küçültüldü.

Polimer artık% 87 daha küçük

Yol Haritası

Bir sonraki sürümde, yeni sürüm numarasıyla (0,8) gösterilen bazı API'ye zarar veren değişiklikler olacak ancak ekip bunun yeniden yazılmış bir API olmadığını açıkça belirtmek istiyor. Mevcut projenizi Polymer 0.5'ten 0.8'e taşımak oldukça kolaydır.

Polymer ekibi, geliştiricilere yaklaşan sürümler hakkında daha net bilgi vermek için bir yol haritası da hazırladı.

Polimer yol haritası, 1. çeyrekte beta, 2. çeyrekte 1.0

0.8 önizlemesi şu anda GitHub'da bir dal olarak mevcuttur (ancak hâlâ çok etkin bir şekilde geliştirilmektedir ve dokümanları eksiktir). 0,9 resmi beta sürümünün 2015'in 1.çeyreğinde, 1,0 sürümünün ise 2.çeyreğin bir döneminde kullanıma sunulması planlanmaktadır.

Deneme sona erdi

Polymer'daki son değişikliklerle birlikte, arkasındaki ekip Web Bileşenleri'nin her geliştiricinin yığınının ayrılmaz bir parçası haline gelmesi için zemin hazırlıyor. Web bileşenleri konusunda yeniyseniz bu dönüştürücü teknolojilere göz atmanın ve bunlar hakkında bilgi edinmenin tam zamanı. Bileşenlerle (ve Polymer ile) zaten çalışıyorsanız gelecek gerçekten parlak görünüyor. En son güncellemeler için Polymer Blog'u takip edin ve soru veya yorumlarınız için Polymer posta listesine kaydolun. İyi çalışmalar.