Hızlı WordPress Geliştirme

Roket Hızında Geliştirme
Roket Hızında Geliştirme

WordPress geliştirmede hızımıza hız katan araçları bir araya getirdik. Günümüzde kod geliştirmeden kod geliştirmeye büyük farklılıklar var. Özellikle son beş yılda gelişen geliştirme araçlarının kattığı hız inanılmaz.

1960’larda ortaya çıkan komut satırı kültürü ve 2005’te aslında bügünkü tüm bu gelişmelerin öncüsü olan GIT’i bir kenara koyarsak, 2011’den sonraki 5 yıl içinde gelişen teknolojiler, yazılım geliştirme ortamlarını kökünden değiştirdi.

WordPress’i efektif bir şekilde kullanabilmek için gerekli araçları ve hangi konularda işimize yaradığını özetleyen bir makale hazırladık:

WordPress Arka Yüz Araçları:

WP-CLI (WordPress Command Line Interface – Türkçesi: WordPress Komut Satırı Arayüzü ) 2011

WordPress geliştirirken çok uzun yollardan yapabildiğiniz bir çok işlemi komut satırından hızlıca gerçekleştirmenizi sağlayan WordPress command line interface, geliştiricinin işe odaklanabilmesi için müthiş bir araç. Örneğin, biz WordPress projelerimizin geliştirme ortamındaki sunucularında hayali alan adı uzantılarımızla kullanıyoruz.

Örneğin, 34wp.com geliştirilirken staging ortamında 34wp.fflocal, developer ortamında ise 34wp.ffdev gibi alt alan adlarına bürünüyor. Tipik bir WordPress projesinde alan adına atıflar yüzlerce database kaydına ulaşıyor.

Wp-cli olmadan önce bunu DB dump alıp editörde ya da komut satırındaki sed gibi komutlarla 34wp.com u arayıp 34wp.fflocal ile değiştirerek yapabiliyor fakat serialize olan alanlardan dolayı tüm kayıtları tek tek gözden geçirmeden bu değişikliği yapamıyorduk. Otomatik yaptığımızda ise serialize olan datalar bütünlüğünü kaybettiğinden ötürü özellikle tema ve eklenti ayarları yok olabiliyordu.

Wp-cli güvenli bir şekilde ilgili değişiklikleri tek satırdan yapabiliyor ve değişenleri de ekranda raporlayarak bize hangi tablolarda alan adı bilgilerinin tutulduğunu da verebiliyor. Dikkatli bir geliştirici bu bilgileri kullanarak WordPress ortamındaki farkındalığını arttırabiliyor.

Tabii ki bu wp-cli‘nin kullanım yollarından sadece biri. Daha birçok özelliği ile WP-CLI, çevik bir WordPress geliştiricisi için olmazsa olmaz.

Versiyon Kontrolü ve Tabii ki GIT 2005

Kod versiyonlamanın önemine hiç girmiyorum. Yıl 2017 olmuşken 30 yıl öncesinin pratikleri ile kodları yönetmek mümkün değil. Her kod değişikliği GIT’e commit ediliyor ve böylece bir kod parçasını başka bir projede kullanmak istediğimizde aylar, yıllar sonra bulup tekrar kullanabiliyoruz. Herhangi bir olumsuz durumda eski kodlara dönebiliyoruz. Hem illa olumsuz bir durumdan dolayı geri dönülecek diye bir kaide de yok.

İlk kez deneyeceğinizi bir eklenti olur, alır denersiniz. Beğenmediyseniz projenin bir önceki durumuna checkout yapıp devam edebilirsiniz. Bir nevi checkpoint görevi de üstlenebiliyor.

ATOM – 21. Yüzyılın Düzenlenebilir Yazı Editörü 2014

Linux ve GIT ile aynı felsefeden gelmesi ile önemli bir editör haline geldi. Eklenti desteği, komut satırı entegrasyonu çok önemli. İlgili projenin kök klasöründe atom . komutu ile WordPress projeniz, atom üzerinde de proje olarak açılabiliyor. Kodların da proje olarak açılması önemli. Proje için arama işlemleri gibi durumlar için editörün çalışma ortamını proje klasörü olarak kısıtlamış oluyorsunuz.

GIT ile aynı aileden gelmesi sebebiyle, GIT entegrasyonu da var. Arayüzdeki dosya listesinde değişen dosyalar rahatça görülebiliyor.

Eklentilerde WordPress, PHP, Bootstrap vb. geliştirme odaklı tamamlayıcılar ya da yardımcı eklentiler var.

Dosya listesindeki bir dosyası bir kısayol ile MacOS’taki Spotlight ile benzer işleyen arayüzle bulmak çok hızlı olabiliyor.

Docker – DevOPS Kültürünün Başrol Oyuncusu 2013

Sunucu ortamı, test ortamı ve geliştirme ortamlarını eşdeğer kılan; sistemle uğraşmayı minimize eden konteyner teknolojisi de WordPress için olmazsa olmaz bir ortam sağlıyor. Saatlerce ortam ayarları ile uğraşmak yerine Basit bir docker-compose yapısı ile projeyi hem serverda hem developer ortamında ayağa kaldırmak bir satır komuta indirgenebiliyor.

Composer 2012

PHP ortamındaki kütüphaneleri yönetebilen Composer da önemli bir araç. WordPress’in kendisini, eklentilerini, arayüzlerini hatta projede kullanmak istediğiniz diğer PHP kütüphanelerini composer ile yönetebiliyorsunuz. Composer konfigürasyonuna eklenecek bir kaç satır gereksinim ile belki megabytelarca boyuttaki eklentileri projede bulundurmadan kurabiliyorsunuz.

WordPress Ön Yüz Araçları:

Bootstrap 2011

Günümüzde mobil kullanım bu kadar artmışken, web sitesinin cihaza duyarlı şekilde hazırlanması gerekiyor. Cihaza duyarlı siteler aslında medya sorguları adı verilen CSS özelliği üzerine bina edilmiş olmasına rağmen düzgün bir mimari için arka ciddi bir matematiksel yapı kurulması gerekiyor.

Özetle, matematik ve geometri ile aranız kötü ise hiç bir zaman cihaza duyarlı bir site yapamazsınız. Yapsanız bile yazacağınız kod ve harcayacağınız efor olması gerekenden çok daha fazla olacaktır.

Bu yüzden arayüz mühendisliği pratikleri uygulanmış bir CSS çerçevesi ile çalışmanız çok önemli. Bu noktada da Bootstrap olmazsa olmazlardan biri.

Gulp.js 2014

Konu arayüz mühendisliğinden açılmışken, her yerde olduğu gibi CSS kodlarını da modüler ve tekrar kullanılabilir kılmak önemli. Böylece her projede aynı kodları tekrar tekrar yazmak zorunda da kalmıyorsunuz. Bu modülleri birleştirmede ve dahası optimize etmede gulp çok önemli bir ön işleyici araç.

 

Ortak Araçlar:

Komut Satırı 1960’lar

Her canlının topraktan gelip yine toprağa döneceği gibi; yazılım geliştirme de komut satırından geldi komut satırına doğru gidiyor. Yukarıda anlattığımız araçların hepsini düzgün ve çevik kullanmak için yegane araç komut satırı. Grafik arayüzler güzel ama kullanılan aracın tüm özelliklerine sahip olmak istediğinizde – ki başka türlü WordPress’i efektif bir geliştirme ortamı olarak kullanamazsınız – komut satırı da hayati bir önem arz ediyor.

Sonuç

Artık efektif kod geliştirebilmek için sadece bir programlama diline değil, uygun bir geliştirme ortamına da sahip olmak, bu ortamın hakkını vererek kullanmak gerekiyor.

Bu konuda her ne kadar WordPress’i hedeflemiş olsak da modern uygulama geliştirmede konsept aynı sadece kullanılan araçların adları ve işlevleri ilgili dile göre değişkenlik gösteriyor.

Biz 34WP’de WordPress’e tamamen hakim olmamızın yanı sıra; bu araçları kullanarak WordPress’in getirdiği avantajları, çok daha etkin bir şekilde kullanıyor ve etkin sonuçlar alıyoruz. Böylece dünya standartlarında WordPress geliştirme servisi sunabiliyoruz.

Eğer siz de bu araçları kullanarak PHP ve/veya WordPress geliştiriyorsanız 34wp ekibinde yer alabilirsiniz.

PHP’ye ve WordPress’e hakimim bu araçları da kullanıyor ya da kullanarak geliştirme yapmak istiyorsanız WordPress Geliştiricisi olarak sizi de aramızda görmek isteriz.

WordPress’in gücüne inanan ve bu alanda kendisini geliştirmek isteyen, dünyanın dört bir yanındaki projelerde çalışmayı hedefliyorsanız stajyer WordPress Geliştiricisi olarak da sizi aramızda görmek isteriz.