WordPress Muhafazakârlığı: En İyi En İyi Şeyler
Geçen haftanın sonunda, WP (JSON) REST API’sının önünde küçük bir eylem vardı ve nihayet ve tamamen WordPress’in çekirdeğine geldi, böylece ek eklentiler yüklemeye gerek kalmadan eklenti ve proje tarafından evrensel olarak kullanılabilecek . Özet: 4.5’te gerçekleşmeyebilir ve hatta 4.6’dan daha yavaş olabilir. (İşte Adam Silverstein’ın make.wordpress.org’daki toplantısının bir özeti olan Tavern’deki Sarah Gooding’in hikayesi.) Bu konuda bir fikrim var, ama bu onlar hakkında bir makale değil. Tersine, bu neden bunun beni gerçekten şaşırtmadığı ve sürpriz eksikliğimin nereden geldiği hakkında bir makale. Bu konu uzun zamandır fikirler listemdeydi ve bu etkinlik beni nihayet yayınlamaya teşvik etti.
Mesele şu ki: WordPress çok muhafazakar bir proje. Bu, başlığımın önerdiği gibi, benim için oldukça olumlu ve oldukça olumsuz bir şey. Kısacası çok çelişkiyim. Umudum, muhafazakar ile ne demek istediğimi ve benim için çatışma kaynağını açıklamak, projeyi, geleceğini, geçmişini ve proje hakkında düşünmenin ne anlama geldiğini daha iyi anlamanıza yardımcı olabilirim. Kullanabileceğiniz diğer teknolojilerle karşılaştırıldığında. Muhafazakârlık ile kastettiğim, küçük C anlamında muhafazakar demek istiyorum: değişime karşı çıkma, ılımlı olma, dikkatli olma veya kısıtlama eğilimindedir.
Bence bu, muhafazakarlık ile ne demek istediğimi oldukça açık bir şekilde yararlı. WordPress’in Torries, Cumhuriyetçiler ya da sahip olduğunuz her şey tarafından yönetildiği anlamına gelmiyorum. Biraz muhafazakar demek istiyorum C küçük: değişime karşı çıkma, ılımlı, dikkatli veya kontrol edilme eğilimindedir. Pratik olarak, bu projelerin sert değişikliklerden daha yavaş evrimi tercih ettiği anlamına gelir. Bu, modası geçmiş düzenlemeleri, teknik uzmanlık eksikliğini karşılamak için ciddi çaba sarf etmeyi ve hiçbir nedenden dolayı kimseyi bırakmama derin bir arzusuna sahip olmayı tercih ediyor. Bu proje, 2,7’den 4.4’e güncellenmenin temelde çoğu insan için neredeyse her zaman sorunsuz bir teklif olduğunu gösterebilir ve gururla gösterebilir. Projenin artık özellikleri kullanma eğilimi vardır (kullanımını engelleme, ancak yine de çalışmasını sağlar), ancak onu silmez; Eğilim aynı zamanda bir utanç kaynağı değil, bir gurur noktasıdır.
Pratik olarak, bu projelerin sert değişikliklerden daha yavaş evrimi tercih ettiği anlamına gelir. Daha spesifik olarak, 2003’te Young WordPress Project: My-hacks.php’e yeni bir yeni özellik eklendi. Matt Mullenweg’in duyuru gönderisinden kısa bir süre alıntı yapacağım: Geçmişte bir filtre veya hack eklemek istiyorsanız, mevcut WP dosyalarından birini değiştirmelisiniz ve yeni sürüme yükseldiğinizde değişikliklerinizin üzerine yazılacaktır. Artık. Hacking dosyasını etkinleştirebileceğiniz veya devre dışı bırakabileceğiniz yeni bir seçenek ekleyen kodu kontrol ettim. Bu seçenek etkinleştirildiğinde, WordPress kökünüzde my-hacks.php adlı dosyayı kontrol eder ve dosya varsa, dosyadan kodu içerir. Bu, beklediğiniz gibi, bu ilk adım tarafından atılan ilk adımdır Yumuşak bir cihaz oluşturma projesi, mevcut eklenti ve tema ile mümkün olacak şekilde genişletilebilir. Sadece düzgün olduğu için değil, sadece geçen yıl bu özellik nihayet WordPress’in çekirdeğinden silindi. Bu değişikliği açıklayan gönderi. Tekrar ediyorum, benim hacks adı olarak adlandırılan bir şey girdikten sadece on iki yıl sonra silindi. Özellikle? Uyumluluğu korumak için bu özellik tekrar eklenir. Tekrar eklerken Aaron Jorbin şöyle yazdı:
MyHacks desteğini korumak, insanların sitelerine zarar vermemesi için ödenmesi gereken küçük bir fiyattır. Çok az site olsa bile, siteyi kırmak teşvik edilecek bir şey değildir. 10 yıllık fesih bildirimi ile bile. İnsan yıllarında on iki yıl. My-Hacks.php için desteğe girdiğinde doğan bir bebek, o zaman (geçici olarak) liseye girerdi. 2003, Amerikan istilasının Irak’a ilk yılında George W. Bush’un ilk döneminde geri döndü. (Eminim Amerikan olmayan bağlamın da devam eden bir olayı vardır …) On iki yıl normal yıllarda uzun bir süre, yazılım dünyasında sonsuzluktur. 2003 yılında Facebook yoktu. Pencere XP yeni bir sıcaklıktır. Tirani Slow Internet Explorer’dan (veya Netscape/Mozilla) kaçan ve Web’i Mozilla Firebird adında harika bir yeni tarayıcı ile keşfeden çok havalı bir nerd web olabilirsiniz. (Bir süre bir firebird olan Phoenix olarak doğdu, daha sonra 2004’te Firefox adına yerleşti.) Mac için Safari yeni çıkmıştı. (Bugün “En İyi Dört” tarayıcımızın sonuncusu Google Chrome 2008’e kadar çıkmadı.)
İnsanlar benim-hacks.php’nin bir sapma olduğunu iddia edebilirler, ancak bu daha geniş bir trendin belirtisidir. WordPress hala PHP 5.2’de yürümekten gurur duyuyor, birçoğu diğer PHP topluluklarından hayal kırıklığına uğradı. WordPress hala kullanıcıların siteye güç sağlamak için kullanılan arabirim dosyalarından düzenlemelerine olanak tanır (böylece büyük olasılıkla Siteye “zarar veren” kullanıcının çok daha büyük olduğu için), çünkü özellik o sırada harika görünüyor. WordPress hala çok fazla küresel var … WordPress’in neden sinir bozucu uyumluluğa olan bağlılığı? Programcılar dünyasında, özellikle WordPress ve genel olarak PHP (Rodney Dangerfield’den alıntı) “saygı duymuyor”. PHP pragmatik ve özel bir dil olarak başlar ve hala acıyı hissedersiniz. (İşlevsel PHP için son tanıtımımda birkaç örnek verdim; yönetici özeti, sadece “standart kütüphanenin” çok standartlaştırılmamasıydı.) WordPress, bu dilde ve dil versiyonunda bugünden daha erken, olduğu zaman başladı. Zorunlu güç, bugün ihtiyaç duyulandan daha gelişigüzel.
Drupal burada WordPress için klasik bir maç. Drupal, tarihsel olarak, evrim yerine bir devrim yaptı. WordPress gerçekten geriye dönük uyumluluğa zarar vermeyi reddettiği için, semantik versiyon ekosistemde büyük ölçüde anlamsızdır. WordPress 2.7 ila 4.4, Drupal 7’den Drupal 8’e kadar çok acı verici olmayan bir değişiklik olacaktır. Ancak bu aynı zamanda WordPress 4.4’e karşı kod yazan birinin hala 2.7’den önce verilen kötü bir tasarım kararına karşı olduğu anlamına gelir. Global WordPress’in kullanımı, garip dosya yapısı ve WordPress temasının klasörü, bir yangın ortamı olan tuhaflık … Devam edebilirim, ancak WordPress ile çalışan çoğu insanın en az bir veya iki kişi olduğuna şüphe yok sahip oldukları şeyler. D yazılı taşı temizlemek ve değiştirmek istiyorum. Ancak projenin nasıl yürütülmesi göz önüne alındığında, bunun gibi şeyler çok, çok, çok kademeli veya (daha olası) olmaz. Bu, Fred tarafından düzenli olarak istenen ön uç içeriği düzenlemenin yavaş yavaş geldiği veya büyük olasılıkla asla olmayacağı anlamına gelir. Bu, yangın dinlenmesinin, neredeyse yarım on yıl boyunca WordPress hayranları tarafından hayal ettiği gibi dünyayı yakmaya yavaşça yaklaştığı anlamına gelir. Bu, gelecekteki düzenlemelerin yangından şikayet ettiğimi hala duyabileceğimiz anlamına geliyor. WordPress’in neden 2007’den beri WordPress’i kullandım … O zaman, asla atmadım ve tüm siteleri sıfırdan yeniden başlatmadım.Hiç düşünmedim.2007’den beri küçük yazı hobilerinden büyük şirketler için sitelere kadar uzanan her şey için WordPress kullanıyorum.Ve o zaman, hiç atmadım ve tüm siteyi sıfırdan yeniden başlatmadım.Hiç düşünmedim.Aşırı bir sayaç örneği seçmek için, WordPress olmadan başladığım yan proje, Laravel’in her ana sürümü için bir kez, üç kez atıldı ve yeniden inşa edildi (3, 4 ve
5) Son yıllarda dışarıda olanlar. Kişisel ve sınırlı fıkralarım sadece bir veri noktasıdır, ancak çoğu insanın geniş deneyimiyle eşleşir. Teknik olmayan insanlar için, WordPress’e sahip olmak, ele aldıkları en karmaşık teknolojilerden biridir. Sorunlar var, özellikle güvenlikten korkuyorlar, teknik insanlar yukarıda tartışılan şekilde geriye dönük teknoloji türünü buluyorlar, ancak pencerelerden Python OSS projesine kadar neredeyse her şeyden daha az sorundur. WordPress ticari ekosistemlerinin boyutu ve kapsamı, WordPress 3.3’te işlev gören temanın WordPress 4.5’te de işlev gördüğü basit bir gerçektir, ancak bu şüphesiz yardımcı değildir. Argümanımda, WordPress’in Web’in (veya daha genel bir web çalışmasının) gelişiminde olabilecek en iyi köprü olduğunu iddia ettim, ancak bu uyumluluğa olan bağlılık, sahiplik maliyetlerini azaltmaktan daha fazlasıdır. Bu aynı zamanda ekosistemin çok büyük ve çeşitli olmasını sağlar. Ticari temalar ve eklentiler (veya eşdeğeri) diğer büyük CM’lerde denenmiştir, ancak sadece WordPress ekosisteminde birçok sürdürülebilir işletme inşa etmeyi başardılar. Bu, WordPress 3.3’te işlev gören temanın WordPress 4.5’te de işlev gördüğü basit bir gerçektir, ancak bu hiç şüphesiz yardımcı olur. Muhafazakarlık ayrıca daha güncel öğrenme kaynaklarının korunmasına yardımcı olur: Bugünün basit tweak arayüzünde bir şeyler yapmak için WordPress arabirimleri hakkında iki yıllık bilgiyi kullanmayı kolaylaştırın (örneğin, WordPress blogunuzun birkaç yıl önce ölmesine izin verdikten sonra yeni bir WordPress çalışması aldığınızda). Düşük mülkiyet maliyetleri, sayısız öğrenme kaynağı ve oldukça yüksek bir kendine güvene sahip olma yeteneği Fortune 500’den. Uyumluluk ve muhafazakarlık buna izin verir. Her şey, WordPress tarihinin ödünleşmelerine bağlıdır, insanlar için yeni teknoloji ve tekniklerin en güzel veya en hızlı benimseme kodlarını sunmaktan daha güvenilir ve yararlı olma taahhütleri gösterir. Bu tezahür eden muhafazakarlıktır. API dinlenmesinin tartışılması, birçok geliştiricinin parlak olan yeni şeyleri sevmesiyle uğraşan geleneksel bir WordPress muhafazakarlığından daha fazlasıdır. Ama bu büyük bir parçası. Teknoloji dünyası çoğunlukla döngüdür. Yeni Heat One Day belirsiz bir çözüm ve önümüzdeki on yılı reddetti. XML-RPC asla “sıcak” hakkında bir kod üreticisi fikri olamaz
Ancak bu, WordPress’e girerken endüstriyel standartlara oldukça yakın. Şu anda, XML beğenilmiyor ve geliştirici JSON REST API’sını istiyor. Orada devam eden konuşmanın, yalnızca geleneksel WordPress muhafazakarlığının dinamikleriyle oluştuğuna inanmıyorum, bu da birçok geliştiricinin parlak olan yeni şeyleri sevmesinin aksine. Ama bunun bununla bir ilgisi var. Sahipler, yayıncılar ve kullanıcılar olarak – WordPress peynirimi değiştirmedi. Bu temelde ara sıra girdiğim ve güncellememi çalıştırdığım ve her şeyin nerede olduğunu hatırladığımdan emin olun. Sitemi en baştan yeniden inşa etmem gerekmiyor ve asla basit ama zaman ayırıcı bir rutinden geçmek zorunda kalmadım. Küçük bir şey gibi geliyor, ancak daha hızlı hareket eden bir proje veya ekosistemde zaman ayırın – şu anda JavaScript bunlardan biri – böylece daha yavaş hızın ne kadar harika olduğunu fark edersiniz. Ancak radikal bir kod alabileceğimi ve insanların Kuk’u PHP ve WordPress tarihinden serbest bırakmalarına yardımcı olabileceğimi uman bir kişi olarak, proje muhafazakarlığı bir hayal kırıklığı noktasıdır. Gerçekten çalışmadan önce belirli garip büyüler gerektiren Bad adlı bazı WordPress işlevleri tarafından kaç kez engelleneceğim? JavaScript çağrıları için geçici bir özel son noktası yapmam gerektiğinden ne kadar önce yapmam gerekiyor, çünkü WordPress hala çekirdekte yangın isteği yok?