1 puan yazan GN⁺ 2024-05-29 | 1 yorum | WhatsApp'ta paylaş
  • WordPress, Matt Mullenweg ve Mike Little'ın b2/cafélog'u fork edip ilk sürümü yayımlamasının üzerinden 21 yıl geçti; gelecekteki geliştirmelerde de ilk başarısını mümkün kılan koşulları yeniden yakalamalı
  • Ürün yönü, kolay işleri sezgisel kılarken karmaşık işleri de mümkün hale getirme ilkesine göre şekilleniyor
  • Blog yazma, yorumlar ve pingback gibi dinamik web özellikleri web sitelerini daha eğlenceli kılar; statik web sitelerine kıyasla dinamik web sitelerine daha büyük değer atfediliyor
  • Eklenti ve tema ekosistemi, WordPress çekirdeği düzeyinde geliştirme altyapısına sahip olmalı; 2024'te ZIP yüklemelerine bağımlı bir yöntem uygun değil
  • Kullanıcıya yakın geri bildirim döngüleri, topluluk odaklı forumlar, iyi tema önizlemeleri ve Playground, gelecekteki WordPress deneyimini belirleyecek

WordPress'in 21. yılı ve ürün ilkeleri

  • WordPress, Matt Mullenweg ve Mike Little'ın Michel'in b2/cafélog çalışmasını fork edip ilk sürümü yayımlamasının üzerinden 21 yıl geçti
  • Gelecekteki geliştirmelerde de WordPress'in ilk başarısına katkıda bulunan unsurlar akılda tutulmalı
  • Temel ürün ilkesi, basit olanın kolay ve sezgisel olması, karmaşık olanın da mümkün kılınması gerektiği üzerine kurulu

Blog, dokümantasyon ve topluluk özellikleri

  • Blog yazma, yorumlar ve pingback eğlenceli olmalı
    • Statik web siteleri de iyidir, ancak dinamik web sitelerinin daha iyi olduğu görüşü benimseniyor
    • Neredeyse her site, harika bir bloga sahip olursa daha iyi hale gelebilir
  • Dokümantasyon wiki gibi kolayca düzenlenebilir olmalı
    • Wiki'ler “şaşırtıcı” araçlar olarak değerlendiriliyor
  • Toplulukta forumlar merkezde olmalı

Eklenti ve tema ekosistemi

  • Tüm eklenti ve temalar, WordPress'in kendisini oluştururken kullanılan düzeyde geliştirme altyapısına sahip olmalı
    • Sürüm kontrolü
    • Hata takip sistemi
    • Forumlar
    • Dokümantasyon
    • Uluslararasılaştırma
    • Sohbet odası
    • P2
    • Katkıya ve topluluğa uzanan kolay bir yol
  • 2024'te eklenti ve temaları ZIP yükleme yöntemiyle ele almak uygun değil
  • Tema önizlemeleri mükemmel olmalı
  • Çeşitli estetik anlayışlara ve işlevlere sahip ticari olmayan tema koleksiyonları önemli

Kurallardan çok geri bildirim döngüleri ve şeffaflık

  • Yönergeler ve gereksinimlere aşırı yaslanılmamalı
  • İyi pazar yeri dinamikleri, otomatik geri bildirim döngüleri ve kullanıcılara yönelik şeffaflık tasarlamak daha iyi
  • Özelliklerin ve tasarımın sınırları daha da zorlanmalı
  • Spam ve spam benzeri davranışlara karşı sıfır tolerans gerekli
  • Geri bildirim döngüleri, gatekeeper'lara dayanmak yerine kullanım ve tüm toplulukla birlikte ölçeklenmeli

Çekirdeğin karakteri ve kullanıcı temas noktaları

  • WordPress çekirdeği görüş sahibi ve kendine özgü olmalı
    • Easter egg
    • Çevirisi zor olsa bile karakteri olan bir dil
    • Caz gibi bir kişilik
  • Yazılımı geliştiren ve kararlarını alan herkes o yazılımı kullanmalı
  • Geliştiriciler ve karar vericiler; destek çalışmaları, meetup'lar, etkinlikler gibi mümkün olan faaliyetler aracılığıyla sıradan son kullanıcılara yakın durmalı

Playground ve ilk deneyim

  • Playground'un her şeyi değiştirmesi bekleniyor
  • 27 Mayıs 2003'te, ilk WordPress sürümünün yayımlandığı gün, Matt Mullenweg ailesinin evinin verandasında yazdığı 953 kelimelik blog yazısına “WordPress'i yayımladım ve iyi hissettim” cümlesini bıraktı
  • O gece arkadaşı Ramie Speight için WP'yi kurdu ve yerel blog yazarları buluşmasında tanıştığı Mike Tremoulet'ye telefonla teknik destek verdi
  • Liseden arkadaşları WordPress'i kendi alan adlarında kullandı ve bu geri bildirim döngüsü yazılımın şekillenmesinde büyük rol oynadı

1 yorum

 
GN⁺ 2024-05-29
Hacker News yorumları
  • WordPress’in geliştirme standartlarına uymak bir yana, onları aktif biçimde bozmak istiyor gibi görünmesi üzücü.
    Her yerde global değişkenler kullanıp klasik temalarla spagetti kodu teşvik ettikten sonra, yeni temalarda JSON’u HTML yorumlarının içine koyduruyor; editör desteği yok, hata yapmak çok kolay ve tasarım baştan aşağı tuhaf.
    Ciddi ciddi kıdemli mühendislerin JSON şablonlarını HTML yorumlarının içine koyma kararı mı aldığını merak ediyorum; komplo teorisi gibi bakınca da freelance çalışanları ya da dijital ajans pazarını öldürüp insanları WP.com’un WYSIWYG site oluşturucusuna itmeye çalışıyor gibi de görünüyor.

    • WordPress gerçekten çok fazla kötü pratiği teşvik ediyor. Sadece varsayılan tema yapısına bakınca bile tema metadata’sını CSS dosyasındaki yorumlarla açıklıyor; bileşim yerine her yerde string birleştirme kullanarak HTML parçalarının yeniden kullanımını zorlaştırıyor.
      PHP içindeki HTML içindeki JS içindeki CSS gibi; ayrıca tam sayfayı oluşturmak için hangi dosyanın hangi sırayla okunacağına dair örtük bir yapıya dayanıyor.
      Başta kolay görünüyor ama HTML öğelerini aynı dosyada düzgün kapatmayıp başka dosyada bitirterek yeniden kullanılmalarını da engelliyor.
      Acemi hatası gibi görünüyor ama binlerce tema buna bağımlı olduğu için artık herkes bağlanmış durumda; bu da Jinja2 şablonlarında blok ve makroların render edilme biçimiyle tezat oluşturuyor.
    • Freelance çalışanları öldürmek mi? Son 15 yıldır düşük bütçeli potansiyel müşterilere en sık söylediğim şey, sitelerini WordPress ile yapmaları ve bir WordPress “uzmanı” bulmalarıydı.
      WordPress, basit bir web sitesine ihtiyaçları olduğu yanılgısındaki bütçesiz müşteriler ve düşük ücretli müşteriler için var; bence zaten o basit site kavramının kendisi de artık ölmüş bir hikâye.
    • WP ile çalışmam gerekiyorsa blok/klasik sürümler yerine her zaman Timber framework kullanıyorum.
      https://timber.github.io/docs/v2/
    • WordPress uzmanı hiç değilim ama arada müşteri sitelerini taşımam gerekti; veritabanındaki serileştirilmiş PHP’nin içine gömülmüş hardcoded mutlak dosya sistemi yollarını çok net hatırlıyorum.
      Kurulum yolu birazcık farklı olan yeni bir sunucuya taşımaya çalışınca hemen bozuluyordu.
    • Geliştirme standartlarına uyarsanız kullanıcılar platforma kilitlenmez. Daha iyi çalışan ve yönetmesi daha kolay bir CMS’ye geçebilir ya da mecburen birine para ödemek yerine barındırma çözümüne yönelebilirler.
      Ne yazık ki bu, “platformumuz tüm web sitelerinin %43,4’ünü çalıştırıyor” pazarlama söylemine olumsuz etki edebilir.
  • Hızlı yargıların ve güçlü fikirlerin topluluğun bir parçası hâline gelmiş olması üzücü.
    Son 2-3 ayda epey WordPress geliştirmesi yaptım; blokların (Gutenberg) sağladığı kod izolasyonunun harika olduğunu söylemek isterim.
    Bağımsız eklenti olarak ya da Advanced Custom Fields ile birlikte kullanıldığında, HTML’e kadar %100 doğrudan kontrol edilen, tam modüler bir web sitesi ve geliştirme akışı, yani bir tasarım sistemi kurabilirsiniz.
    WordPress’i düzgünce anlamayı ve öğrenmeyi herkese öneririm. WordPress ile hiçbir ilgim ya da bağlantım yok.

    • Şu anda tam da bu öneriye göre çalışıyorum ve production’da ilginç 500 hataları yaşıyorum.
      Bugün birden Gutenberg ile ACF Blocks, iç içe medya alanlarının içeriğini parse etme konusunda bir yerlerde çakışmaya başladı.
      Sebep “kullanıcının koymaması gereken bir görsel açıklaması koyması” da olabilir, “eklentinin global nesnesinin acf_register_block_type()’a aktarılan başka bir global nesneyi kirletmesi” de olabilir.
      Zaten öfkeli olan müşteriyi arayıp hızlı yargılardan ve güçlü fikirlerden kaçınmasını söylemem gerekebilir.
    • Çoğu yargının 21 yıl içinde oluştuğunu düşünüyorum. WordPress başta web sitesi yapmanın hızlı ve kolay bir yolu olarak ün kazandı, sonrasında ise güvenlik kâbusu şeklinde bir itibar edindi.
      Şu anda öyle olmayabilir ama şüpheci olmak doğal. Her hafta kontrol ettiğim güncellemelerde epey CVE görüyorum; gerçi hepsi düşük riskli ya da neredeyse hiç kullanılmayan eklentilerle ilgili olabilir.
    • Çocukken ilk programlama deneyimlerimden biri, WordPress’in index.php dosyasını safça açıp nasıl çalıştığını anlamaya çalışmaktı.
      Dosyanın en üstündeki “code is poetry” yorumundan başka hiçbir şeyi anlayamadığımı hatırlıyorum.
      Bu, koda bakış açımı değiştirdi ve programlamaya daha çok kapılmamı sağladı.
    • Biraz daha derine inince WordPress’in ne kadar karmaşık bir bataklık olduğu hemen ortaya çıkıyor.
      Yazılara metadata gerekiyorsa ACF kuruyorsunuz; o metadata ile filtreleme yapmaya çalışınca birkaç filtre aynı anda devreye girse bile SQL sorgusu zaman aşımına uğruyor. WP’nin tuhaf şemasına bakınca nedeni anlaşılıyor.
      Gutenberg, WYSIWYG olarak düzenlenebilir React bileşenleri vaat ediyor; ama nitelikleri HTML’in içine kaydetmek, veritabanına render edilmiş HTML koymak ve bileşen geliştiricisine bir şey değiştirdiği her seferinde deprecated değişiklik dizileri tutturmak gibi tuhaf kararlar alıyor.
      WordPress’i refactor edip Laravel ekleyerek çözmeye yönelik girişimler de var[1], ancak her katman ayrı bir kâbus ve farklı parçaların yazarları da rastgele neden bozulduğunu doğru düzgün değerlendiremiyor gibi görünüyor.
      Eklenti ekosistemi çekici olabilir ama eklenti implementasyonları birbirinden çok farklı; bunun kullanıcıya şişkin CSS ve JS yığınları itme ihtimali yüksek.
      Ben Directus ve Astro’ya geçtim; daha genel bir PHP dağıtımı olsaydı October ya da Statamic gibi Laravel tabanlı CMS’ler kullanırdım.
      [1]: https://roots.io/
    • WordPress’i düzgünce anlayıp öğrenmek için daha iyi bir yol önerebilir misin, merak ediyorum.
      2009-2011 arasında eklenti yazma ve düzenleme dahil epey uğraştım ama hiçbir zaman gerçekten anladığımı hissetmedim; daha çok kabaca anlıyor ya da kabulleniyordum.
  • WordPress’i seviyorum. İnsanlar kendileri kuruyor, onlarca işe yaramaz, güvensiz ve bol hatalı eklenti yüklüyor; zamanla site bozulduğunda da daha güvenli ve sağlam bir çözüm için ücret talep edebiliyorsunuz

    • 2011’de eklenti sıralamasında 2. olan sociable eklentisine bakma fırsatım olmuştu; gördüğüm kodlar arasında en kırılgan ve en şişkin olanlardan biriydi
      Bitmeyen bir hafta sonu projesinin fazla uzayıp sonunda yayımlanmış hâli gibiydi; devasa bir global değişkenin etrafında dönen, 5 ekran uzunluğunda yinelenmiş for döngüleriyle bir şeyler işliyordu
    • Eklenti yükleme isteği uyandırma konusunda kesinlikle başarılıydı. Özellikle o arayüzü öne çıkarması tek başına bile yeterliydi; ayrıca görseller varsayılan olarak sıkıştırılmadığı için görselleri sıkıştırmanızı isteyen çeşitli SEO analiz araçlarıyla da mükemmel bir ittifak kuruyordu
  • WordPress, “mükemmel olması gerekmez, çalışması yeter” yaklaşımının en sevdiğim örneği
    Pek çok harika proje, ilk adımı aşırı karmaşıklaştırdığı için ölüyor. İnsanlar kullanmaya başladıktan sonra daha sonra her zaman iyileştirebilirsiniz; ama önce yayımlamak gerekir

    • Bence tam tersini kanıtlıyor. WordPress fiilen tüm kod tabanını herkese açık API’ye dönüştürdü; bu yüzden mevcut duruma bağımlı eklentiler nedeniyle sonsuza kadar legacy code’a bağlı kaldı ve anlamlı iyileştirmeler yapmak zorlaştı
      Durum o kadar kötü ki PHP dili geliştiricileri bile bazı özellikleri ya da düzeltmeleri uygulayamıyor. Çünkü WordPress ekibi kodu migrate etmek istemiyor ve WordPress, PHP kullanımının büyük bir bölümünü oluşturuyor
    • İnsanların yaklaşık 25 yıl önce WP kullanmaya başlamış olması, “daha sonra her zaman iyileştirebilirsin” fikrine karşı bir örnek değil mi diye düşünüyorum
  • WP, işlerin %95’i için mükemmel bir araç; ama son %5’i ayarlamak inanılmaz derecede sinir bozucu
    Çok kullandım ve bu kadar uzun süre hayatta kalmasını faydalılığının kanıtı olarak görüyorum. Umarım 21 yıl daha devam eder

  • Açıkçası WordPress’i hiçbir zaman kullanımı kolay bulmadım. İyi tema ve eklentiler bulabildiğiniz sürece her şey tozpembe; ama çok küçük bir özelleştirme değişikliği gerektiği anda işler sarpa sarmaya başlıyor

    • Kendimi ortalamanın üzerinde bir web geliştiricisi sanırdım; arkadaşlarım WordPress sitelerinde birkaç şeyi düzeltmemi istediğinde hiç tereddüt etmeden kolayca değiştirebileceğimi söylerdim
      Ama siteyi ve eklenti/tema kodunu, CSS dosyalarını açınca istediğim etkiyi elde etmek için saatlerce uğraşırdım; başarsam bile sitenin başka bir yerini bozardım
      Aşağılayıcı anekdot bir yana, Matt iyi iş çıkarmış ve sondaki hikâye de güzeldi
    • WordPress’in ilk kurulumu çok kolaydır, ancak zaman geçtikçe bakımı çok zorlaşır
      Güncellemeler manuel müdahale gerektirir, temaların düzeltilmesi gerekir, eklentiler terk edilir. Bu yükü kabul etmek istemediğim için 2017 civarından itibaren tüm siteleri Hugo/Jekyll/MkDocs vb. sistemlere taşıdım
    • Ghost’a geçtim; başta biraz pürüzlüydü ama global CLI geldikten sonra epey iyi hâle geldi
      Blog için WP yerine Ghost kullanmak isterim; ayrıca PHP yerine JS’yi tercih ediyorum
  • Birçok kişinin “Ben WordPress geliştiricisiyim” dediğinde aslında tamamen farklı deneyim ve beceri kümelerini kastetmesi ilginç
    Kimisi için bu, WordPress yönetim panelinde tema ve eklenti kurup sayfa içerikleri yazmak demek
    Başkası için PHP şablonlarıyla HTML yazıp WordPress davranışını özelleştiren eski usul PHP kodu, yani klasik tema demek
    Bir başkası içinse Docker, CI/CD ile birlikte JS+React yazılan yeni blok tema demek

    • Müşteri kitlenizi yeterince çeşitli seçtiyseniz, bazıları için bunların hepsini birden ifade ediyor olabilir
  • Daha fazla şirketin Automattic’in ücretli izin/sabbatical politikasını benimsemesini isterdim
    https://automattic.com/benefits/sabbatical/

    • ABD’de yıllık izin 2 hafta olduğu için, 3 aylık sabbatical olsa bile Avrupa’dan daha az olduğunu hesaba katmak gerekir
  • Yaşlandığınızı hissettiren şey, “WP”yi görünce WordPress değil WordPerfect’i (https://en.wikipedia.org/wiki/WordPerfect) düşünmenizdir
    WordPress artık en muhafazakâr ülkelerde bile yetişkin sayılacak yaşa geldi; WordPerfect ise artık orta yaş krizine girecek yaşa yaklaşıyor

    • WordPerfect’i hâlâ özlüyorum. MS Word’den daha çok severdim; ama son kullanışımın üzerinden 25 yıl geçti
  • WordPress’te etkileyici olan şey, web meraklılarının onun doğal olarak kolay olmasını bekleyip öyle olmayınca sinirlenmesi
    Diğer her şey gibi WordPress de öğrenilmeli; kendine özgü bir bakış açısı var
    Tuhaf bir geçmişi de var; özellikle medya öğelerini ele alma şeklinden gerçekten hoşlanmıyorum, ama yine de bir metodolojisi var
    Go, JS, Perl, Java, Ruby, C bildiğimi söyleyip Rust’ı öğrenmek zor diye sinirlenirsem elbette karşı çıkılır
    WordPress basit işler yapıyormuş gibi görünür ama aslında oldukça geniş bir platformdur. Biraz dokümantasyon okumanız gerekebilir
    Elementor kullanan bir site devraldıysanız, basit değişiklikleri nasıl yapacağınızı siteyi yapan kişiye sorarsanız yardımcı olabilir
    Visual Composer ya da Divi kullanan bir site devraldıysanız, yapanları vurmak isteyecek hâle gelirsiniz
    Gutenberg’in kötü olduğunu düşünüyorsanız, artık hiç de öyle değil. Divi dönemini hatırlayınca gerçekten berbattı

    • Genel stil için Divi kullanılan bir web sitesi devraldım; şimdiye kadar gördüğüm ticari yazılımlar arasında en kötülerinden biri
      WordPress’in üstüne bindirilmiş korkunç JavaScript arayüz çalışmasında en ufak bir zaman aşımı bile, yalnızca bir blog yazısını kaydetmekle tüm web sitesini kurtarılamaz hâle getirebilir
      İtalyanca ve Fransızca yerelleştirmeleri 90’ların Japon oyunları seviyesinde berbat; responsive seçenekleri de belirli breakpoint’lerde içeriği gizleyip göstermeye responsive demiyorsanız fiilen çalışmıyor
      Ön uç “teması” jQuery dönemi JavaScript’inin okunamaz bir dökümüne yakın olduğu için her şey aşırı kırılgan
      Elegant Themes reklama inanılmaz para harcamamış olsaydı kimsenin kullanmayacağından %100 eminim
    • O tuhaf geçmişin ne olduğunu merak ediyorum