Vue.js Creator Evan, WordPress JavaScript Çerçevesi Tartışmasına Ağırlık Veriyor
Yayınlanan: 2017-06-06
Geçen hafta, WordPress ana katkıda bulunanlar, yeni bir JavaScript çerçevesi için düşüncelerini React ve Vue olarak daralttı. Çekirdek ekip, React ile çalışma konusunda daha fazla toplu bilgiye sahip olduğundan, WordPress bağlamında diğer çerçeveleri kullanma konusunda farklı deneyimlere sahip geliştiricilere ulaştılar.
Katkıda bulunanların Vue ile ilgili başlıca endişelerinden biri, projenin uzun ömürlülüğüdür. Vue yaratıcısı Evan You'dan WordPress katkıda bulunanlara projeyi daha iyi anlamalarını sağlamak için konuya ağırlık verip vermeyeceğini, özellikle de bakım yükünü paylaşmaya yardımcı olmak için ek bakıcılar yetiştirme çabalarıyla ilgili olarak sordum.
"Bence geçmişe bakmanın önemli olduğunu düşünüyorum - Vue yaklaşık 4 yıldır piyasada ve herkesin gidip bakım geçmişini kontrol edebilmesi için tüm çalışmalar GitHub'da halka açık olarak yapıldı" dedi. "Büyük ölçüde benim tarafımdan geliştirilmiş olsa da, mevcut bakım çok daha fazla topluluk odaklı. Sorunların çoğunu önceliklendiren aktif çekirdek ekip üyelerimiz ve topluluk PR'leri tarafından düzeltilen sorunların daha büyük ve daha büyük bir yüzdesi var. Yani – evet, zaten ek bakımcılar yetiştirmek için çalışıyordum ve bunu yapmaya devam edeceğim.”
Şu anda Vue üzerinde çalışan tam zamanlı çabalarını finanse eden yinelenen Patreon bağışlarından ayda 10 bin ABD doları alıyorsunuz. Bundan önce de Google ve Meteor'da çalıştı. Google'da geçirdiği süre boyunca, üzerinde çalıştığınız bazı projeler, o zamanlar kullanım durumları için çok ağır bulduğunu söylediği Angular'ı kullandı. Vue.js'yi, Angular hakkında beğendiği kavramların daha hafif bir uygulaması olacak şekilde oluşturdu.
Ayrıca yakın zamanda, Vue 2'deki bazı teknik kararlarını etkileyen React topluluğundan oldukça fazla şey öğrendiğini söylediniz.
React topluluğundan hem kod hem de insanlar hakkında çok şey öğrendim. Umarım herkes @dan_abramov gibi olabilir. Barış.
- Evan You (@youyuxi) 29 Mayıs 2017
“İlk olarak, Vue 2, ilk olarak React tarafından öncülük edilen, altında aynı Sanal DOM tabanlı işleme modelini kullanıyor” dedi. “Sanal bir DOM'nin tanıtılması, Vue'nin yaklaşılabilirliği korurken vdom kompozisyonunun gücünü ortaya çıkarmasına izin verdi.
“React topluluğu, keşfedilmekte olan yeni sorun alanları olduğunda da çok aktiftir – örneğin durum yönetimi ve CSS yönetimi. Vue için resmi çözümleri uygularken birçok rakip çözüm ve birçok ilham kaynağı var.”
Evan You, WordPress Temel Katkıda Bulunanların Vue.js Hakkındaki Yanılgılarını Ele Aldı
WordPress katkıda bulunanların React vs Vue hakkındaki tartışmalarını takip ettiğini ancak proje için hangisinin daha iyi bir seçim olduğu konusunda bir fikir sunmayacağını söylediniz.
"Cevabım açıkça önyargılı olacak ve dürüst olmak gerekirse, ben WP çekirdek ekibinin yerinde değilim, bu yüzden bir seçim yapmak için yeterli perspektife sahip değilim," dedin. "Ancak, daha bilinçli bir karar vermelerine yardımcı olma umuduyla tartışılan bazı konular hakkında geri bildirim sağlayabilirim."
En son Javascript toplantı notlarına, Vue.js ile ilgili birkaç yanlış anlaşılma hakkında açıklamalar içeren bir yorum bıraktınız. Bazı katkıda bulunanlar Vue'nun şablonlama dilinin temeldeki JavaScript'i gizlediğini düşündüğünden, “dili JavaScript'i benimseme” ile ilgili noktaya değindiniz.
Andrew Duthie son toplantıda, “Bence 'dili JavaScript'i benimsemek', Vue'da görmediğimiz bir başka ilkel React'tir” dedi.

Cevabınız, Vue'nun şablonları "HTML'nin üstünde görünüm gösterimi için sözdizimi şekeri" olarak kullanmasını, JavaScript'in üstünde görünüm gösterimi olarak JSX durumunda benzer bir kullanım olduğuna inandığı şeyle karşılaştırır:
Kullanıcı arayüzünün artan zenginliği, her şeyi JavaScript'e koymayı GEREKTİRMEZ. Öte yandan, Vue'nun varsayılan olarak şablonları kullanması, insanların JavaScript'i düzgün bir şekilde öğrenmeden geçinmesine izin verdiği anlamına gelmez.
Vue'nun şablonları, başlık altında JavaScript oluşturma işlevlerine derlenmiştir ve aslında geleneksel dize şablonlamadan ziyade JavaScript'e daha yakındırlar. Altta yatan Sanal DOM temsilinin üstünde yalnızca bir sözdizimi şekeri katmanıdır. JS'nin üstündeki görünüm gösterimi için JSX'i sözdizimi şekeri olarak düşünün; Vue şablonları, HTML'nin üstünde görünüm gösterimi için sözdizimi şekeridir.
JSX/Raw JS, Sanal DOM düğümlerinin doğrudan manipülasyonunu uygulamanız gerektiğinde daha fazla esneklik sağlar, bu nedenle Vue ayrıca işleme işlevlerini de destekler. Ancak bu, iki karşıt paradigmayı aynı çadırın altına koymak değildir - sadece kullanıcının daha fazla kontrol için sözdizimi şeker katmanını atlamasına izin verir.
Oluşturma işlevlerinin üstünde şablon oluşturmanın ardındaki fikrin, Vue'yu benimseyen diğer birçok WordPress savunucusu tarafından paylaşılan bir endişe olan "daha iyi ulaşılabilirlik" sağlamak olduğunu söylediniz.
"HTML konusunda daha rahat olan ve daha basit kullanım durumlarına sahip kullanıcılar şablonu kullanabilirken, JSX/render işlevlerine zaten aşina olan kullanıcılar JS'nin tüm gücünden yararlanabilir" dedi. "Bu, WP çekirdeğinin kullanımı için oldukça uygun olacaktır: Ulaşılabilirliği önemseyen topluluk kullanıcıları, başlamak için daha kolay bir zamana sahipken, çekirdek ekip, gelişmiş kullanım durumları için JSX/render işlevlerine erişebilir."
Ayrıca Vue'nun geliştirme süreçleri hakkında daha fazla bilgi sunarak uzun ömür endişesini de ele aldınız. Mevcut kod tabanının büyük ölçüde kendisi tarafından geliştirildiğini doğruladı, ancak bakım, dünyanın her yerinden üyelerle çekirdek bir ekibe yayılıyor.
“Diğer katkıda bulunanların taahhüt sayıları daha düşük çünkü katkılarının tümü PR şeklinde gönderiliyor ve GitHub'da 'Squash and commit' özelliğini kullanıyoruz, böylece her PR katkıda bulunan için yalnızca bir taahhütle sonuçlanıyor” dedin. “Yalnızca çekirdek depoda 500'e yakın PR'ı ve kuruluş genelinde daha fazlasını birleştirdik. vuejs organizasyonu altındaki diğer depolar, örneğin vuex, vue-router, vuejs.org da büyük ölçüde özel ekip üyeleri tarafından korunur.”
Ayrıca, WordPress katkıda bulunanlar Vue 2.0'daki şablonlama dilindeki son değişikliklerle ilgili endişelerini dile getirdiklerinden, kararlılık ve gelecekteki uyumluluk sorularına da açıklık getirdiniz.
"Bu biraz açıklama gerektiriyor: Vue sürüm oluşturma kesinlikle semver'i takip ediyor" dedin. "1.0'dan sonra API değişikliklerinin kırıldığı tek zaman 2.0 artışıydı. Şablon sözdizimi API'nin bir parçasıdır, bu nedenle [kırılmaz] ve ana sürüm çarpmaları arasında %100 API geriye dönük uyumluluğu taahhüt ederiz. Biz istikrarı çok ciddiye alıyoruz, topluluğumuz ve GitLab, Vice ve Çin'deki en büyük internet şirketlerinden bazıları dahil üretimdeki kullanıcılarımız da öyle.”
Birçok WordPress ana katılımcısı yıllardır React üzerinde geliştirdiği için, Siz'in girdisi, katkıda bulunanların çeşitli geri bildirim turları sırasında istediği Vue'ya daha ayrıntılı ve derinlemesine bir bakış sunuyor. Tartışma önümüzdeki birkaç hafta boyunca devam edecek ve katkıda bulunanlar konuyu WordCamp Europe'un katkıda bulunanlar zirvesine dahil etmeyi planlıyor.
