WordPress Rest API: Geçmişi yansıtır ve geleceğe bakar

WordCamp’e gidip geliştiricinin etrafında zaman geçirirseniz, yeni WordPress Restaurant Fire çevresindeki heyecana dikkat etmemek zordur. Geri kalan API ekibi, WordPress’in çekirdeğine birleştirmek amacıyla geliştirmeye devam ettikleri 1.2 eklenti sürümünü yayınladı. Bu, Ryan McCue’den çok daha büyük bir proje – Yang, Rachel Baker ile birlikte projeye liderlik etti – asla düşünmedi. Son zamanlarda Ryan ile, her WordPress sitesi için “evrensel ateş” yaratmada bu kadar büyük ve karmaşık bir sürecin zorlukları ve çekirdek birleştirme planları hakkında konuştum.
Sürüm 1.2 ve Para Çekme Uyumluluğu Eklentinin 1.2 sürümü, API’nın geri kalanından eklenti olarak planlanan son büyük sürümdür. Ekip şimdi sürüm 2’ye odaklanmıştır. Sürüm 1’in yayınlanmasından bu yana, Ryan bunu desteklemeye ve hala onun taahhüdünü ve API ekibi ekibi olan bir şey olan uyumluluğun geri çekilmesini sağlamaya kararlıdır. Sürüm 2, WordPress Core’da birleştirilecek kod, sürüm 1 ile tam olarak uyumlu olmayacaktır, ancak eklenti bir uyumluluk katmanı olarak geriye doğru devam edecektir. Bu şekilde, eklenti sürümü kullanılarak geliştirilen her şey, eklenti etkin olduğu sürece, yangın isteği çekirdeğinden sonra çalışacaktır.
Ryan bir röportajda, “İçeri girmeyeceğiz ve bunu en baştan yeniden yapmayacağız ve bunu yapmamız gerekmedikçe kesinlikle bir şeye zarar vermeyeceğiz, bu nedenle sürüm 1’den 2’ye doğru her şeyi hareket ettirme basit olacak.” Dedi. Sürüm 2’de tüm yollar şimdi başlayacak. Core “WP” önekini kullanacak ve tüm özel yolların kendi önekleri olacaktır. Buna ek olarak, şu anda tüm rotalar için kullanılan “WP-JSON” öneki tamamen kaybolabilir. Eklentileri kullanan siteler, eski WP-JSON rotasını çekirdekte olduktan sonra yeni bir rotaya yönlendirir. Sürüm 1.2. Sürüm 1.2 bu durumda bir tür sabit nokta, “dedi Ryan …” ama dahili olarak, sürüm 2 ve çekirdek altyapıyı gerçekten kullanacak … böylece sürüm 1 için yazılan kod otomatik olarak hata onarımından yararlanabilir Çıkıyor … ve hala güvenlik bakımı var … ve iki versiyonu desteklememiz gerekmiyor. ” Çekirdek birleştirme: Belki iki aşamada Ryan, “gelecek ay veya daha fazla” da beta olarak piyasaya sürülecek olan sürüm 2’ye sahip olmayı umuyor. Sürüm 2 beta, çekirdek için birleşme için bir teklif olarak kullanılacak ve ideal olarak 2015 yılında çekirdeğe birleştirilecektir.
Yangın dinlenme kodunun temeli temel olarak iki bölüme ayrılmıştır: ilki, yangını dinlendiren altyapıdır. Başka bir kısım, sağladığı varsayılan bitiş noktasıdır. Altyapının önce çekirdeğe girme olasılığı vardır ve daha sonra bitiş noktası daha sonra eklenecektir. Bu olursa, altyapı başlangıçta deneysel bir yangın olarak etiketlenecektir. Bu, kalp atışı API’sının birden fazla versiyona yavaşça nasıl tanıtıldığını taklit edecektir. Evrensel Ateş Ryan’a birçok siteye dahil edilmesini “evrensel ateş” yapmanın zorluklarını sordum. En büyük zorluğun tüm farklı endişeleri dengelemek olduğunu söyledi. Çekirdeğe varsayılan bitiş noktasının eklenmesi, doğru verilerin olmasını sağlamada çok fazla karmaşıklığa sahiptir ve bazen birbirleriyle rekabet eden çeşitli problemlerin büyük bir zorluktur. Bu yüzden sabitlemek beklenenden daha uzun sürer.
Ana çekirdeğin yangın için iki kullanım vakası gördü – her ikisinin de çelişkili ihtiyaçları vardı. İlk kullanım durumu “hizmet geliştiricisi” olarak adlandırdığı şeydir. Bu tür bir kullanıcının bir örneği, web sitelerine dayalı olarak API verilerini uygulama için hizmet olarak sağlayan bir uygulama oluşturmak isteyen bir haber kuruluşudur. Bu kullanıcıların özel bir bitiş noktası kullanma olasılığı daha yüksektir. Yani, onlar için altyapı varsayılan bitiş noktasının kendisinden daha önemlidir. İyi bir örnek Wired Magazine. Wired, kısa süre önce birkaç WordPress kurulumunu, API dinlenme yoluyla birkaç ön ucuna bağlı olan bir kurulumla değiştirdi. Ryan’ın bu projenin en sevdiği kısmı, geri kalan yangının geliştiricilerin WordPress ile çalışmak için kendi yollarını seçmelerine izin vermesidir. Geliştiriciler artık temayı geleneksel şekilde kullanmak zorunda değiller. JSON verilerini istedikleri gibi kullanabilirler. “Bu gerçekten sevdiğim kullanım durumlarından biri,” dedi Ryan. “WordPress’e çok aşina olmayan birinin gidip bununla bir ön uç web sitesi oluşturmaya başlayabileceği gerçeği … Bu, WordPress kullanabilecek ve geliştirebilen insan sayısını genişletiyor.”
Ryan’ın öngördüğü bir başka kullanım durumu WordPress hücresel uygulamasıdır. Bu durumda amaç, yangının “sürekli olarak her sitede” çalışmasını sağlamaktır. Bu kullanım, her siteden sağlanan aynı verilerden imkansız beklentilere yol açar. Ryan, “Bu sorunların bazıları denememizi ve idare etmemizi istemiyor çünkü orada çok fazla şey var.” Dedi. “Tüm bunların tersi, sitenin aynı verilere sahip olduğunu bilsek de, aynı alana sahip olmayabilirler … Eklenti geliştiricileri için ihtiyacımız olan esneklik ile sıkılık arasında en iyi bakiyeyi bulmaya çalışıyoruz. Müşteri tarafından ihtiyaç duydu. Size ne kadar sürdüğünün bir resmini vermek için, başladığında WordPress 3.6’ya dahil edilebileceğini düşündü. Bu proje için daha önce beklediğinden daha uzun zaman çerçevesi, iş sayısını hafife aldığı için, ancak projenin kapsamı çok gelişmişti.
Başlangıçta API’nin “WordPress hakkında temel veriler almanın bir yolu ve bundan başka bir şey yok” olarak dinlendiğini gördü. Çok minimalist olan ilk sürümden bazı kodlar ve bugün hala orada çok daha küçük veri miktarını ele alıyor.

Proje gelişiyor, sınır sadece dört temel nesnede – gönderme, kullanıcılar, taksonomi ve meta veriler – en başından beri karar veriyor. Sınırlar, ancak çekirdekte bulunduktan sonra seçenekleri ve diğer veri türlerini içerecek şekilde bir yangın dinlenmesi hazırlar. Tüm WordPress gibi, dinlenme yangınları da genişletilecek şekilde tasarlanmıştır. Diğer veri türlerini işlemek veya bir geliştirici olarak istediğiniz her şeyi yapmak için altyapı. “Yangın altyapısının kendisi, temelde kullanabileceğiniz her şeyi destekler. Temel bitiş noktasını ortadan kaldırırsanız, bu temelde ateş oluşturmak için bir çerçevedir ve bunu istediğiniz gibi inşa edebilirsiniz, “dedi Ryan. Aklında, API Rest projesi hakkında en büyük yanlış anlaşılma, insanların” bunu göreceğidir. Tüm sorunları çözen sihirli bir mermi. ” Örneğin, jenerik yanıtların kullanılması. Hücresel uygulamalar, herhangi bir WordPress sitesi tarafından kendilerine gönderilebilecek herhangi bir yanıtı otomatik olarak işleyemez. Genel ateş probleminin çözülmesi çözülmedi ve WordPress API dinlenmesi sorunu çözmeyecek. “Bu esnekliği eklenti geliştiricileri için sağlamak istiyoruz,” dedi Ryan, “eklenti geliştiricileri de verilen esneklikle, bunun gibi şeyleri düşünmeleri gerektiğini ve özellikle hizmetler için bunu iletmek zor. Site … Son noktayı silebilecekleri insanlara aktarmaya çalışın, ancak bunun birçok şeye zarar vereceğini fark etmeleri gerekir. Yanıt için veri eklemek daha kolay olacaktır, çünkü bu müşteri için büyük bir sorun değildir, ancak müşteri tarafından beklenen verileri silmek daha zor olacaktır. ”

admin

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir